okay, that explains some bits. i read on this site https://securityledger.com/2014/07/old-apache-code-at-root-of-android-fakeid-mess/ the following paragraph:
> Application signatures are the basis of the Android application trust model, linking specific applications with a reputable certificate authority and implicitly trusting and, which tie back to specific certificate authorities and determining what permissions an application has on the device and what local resources it can access. while quouting Elenko's article: > Android solves this problem quite simply: it doesn't care about the actual signing certificate. Thus you do not need to have it issued by a CA (although you could, and most will happily take your money), and virtually all code signing certificates used in Android are self-signed. That means if and only if someone uses a certificate issued by a CA, this app is vulnerable to this type of attack? That means if there is a certificate that looks like it was signed from a CA, the code for validation of the chain is started but is implemented not correctly so every certificate is validated if Issuer = Subject. this would make sense to me. Am Mittwoch, 30. Juli 2014 14:03:28 UTC+2 schrieb Jeffrey Walton: > > On Wed, Jul 30, 2014 at 4:58 AM, reox <[email protected] <javascript:>> > wrote: > > ... > > > > I do not understand what is the problem here? Does anyone have more > > information? > Taking from the 4th paragraph under "How It Works": > > <quote> > The Android package installer makes no attempt to verify the > authenticity of a certificate chain; in other words, an identity can > claim to be issued by another identity, and the Android cryptographic > code will not verify the claim > </quote> > > *If* I am reading the 4th paragraph correctly, it appears (and using > Adobe as an example): > > The app is using a certificate that is *not* self-signed. The app's > certificate has an Issuer Distinguished Name of Adobe. However, the > system does not verify Adobe actually issued the app's certificate The > verification system is just performing a string comparison of the > distinguished names. > > Actually, that is the case. From the 6th paragraph: > > <quote> > ... instead defaulting to simple subjectDN to issuerDN string matching > </quote> > > To summarize, signature verification on the chain is not being > performed. Rather, a simpler [insecure] algorithm is used that > consists of Distinguished Name matching. > > I attached an image that shows the relationship between Issuers and > Subjects. It was ripped from Peter Gutmann's Engineering Security book > (https://www.cs.auckland.ac.nz/~pgut001/pubs/book.pdf). It should help > you visualize what's going on. > > That's another good find by Forristal. > > Jeff > -- You received this message because you are subscribed to the Google Groups "Android Security Discussions" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/android-security-discuss. For more options, visit https://groups.google.com/d/optout.
