[Seminar] [Verteidigung Hinter dem Gerät: Mobile Application Sicherheit] [Chris Wysopal] [Harvard University] [Dies ist CS50.] [CS50.TV] Guten Tag. Mein Name ist Chris Wysopal. Ich bin der CTO und Mitbegründer von Veracode. Veracode ist eine Anwendung, Sicherheitsunternehmen. Wir testen alle Arten von verschiedenen Anwendungen, und was ich heute sprechen ist mobil Anwendungssicherheit. Mein Hintergrund ist ich habe die Sicherheitsforschung zu tun für eine sehr lange Zeit, wahrscheinlich etwa so lang wie jeder. Ich begann in der Mitte der 90er Jahre, und es war eine Zeit, die sehr interessant war, weil hatten wir einen Paradigmenwechsel in der Mitte der 90er Jahre. Ganz plötzlich jeden Computer wurde an das Internet angeschlossen, und dann hatten wir die Anfänge der Web-Anwendungen, und das ist, was ich konzentrierte sich auf eine Menge dann. Es ist interessant. Jetzt haben wir einen weiteren Paradigmenwechsel passiert mit Computer-, Das ist die Umstellung auf mobile Anwendungen. Ich glaube, es ist irgendwie eine ähnliche Zeit dann in den späten 90er Jahren war es als wir untersuchen Web-Anwendungen und die Suche Defekte wie Session-Management-Fehler und SQL-Injection was wirklich vorher nicht gab, und plötzlich waren sie überall in Web-Anwendungen, und jetzt ein großer Teil der Zeit verbringe ich bei mobilen Anwendungen suchen und schauen, was los ist da draußen in der Wildnis. Mobile Anwendungen sind wirklich die dominierende Computing-Plattform zu sein, so müssen wir wirklich viel Zeit verbringen, wenn Sie in der Sicherheitsbranche sind mit Schwerpunkt auf Web-Anwendungen. Es gab 29 Milliarden mobile Apps im Jahr 2011 heruntergeladen. Es wird vorausgesagt, um 76 Milliarden Apps 2014. Es gibt 686 Millionen Geräte, die gehen in diesem Jahr gekauft werden, so das ist, wo die Menschen gehen, zu tun  die Mehrheit ihrer Client-Computing für die Zukunft. Ich wurde zu einem Vice President bei Fidelity Investments sprechen vor ein paar Monaten, und er sagte, sie sah nur mehr Verkehr Dabei Finanztransaktionen aus ihren Kundenstamm auf ihren mobilen Anwendung als auf ihrer Website, so dass eine gemeinsame Nutzung des Web in der Vergangenheit hat Überprüfung Ihrer Aktienkurse, die Verwaltung Ihres Portfolios, und wir tatsächlich sehen, dass im Jahr 2012 über Schalter dominanter auf der mobilen Plattform sein. Sicherlich, wenn es geht um jede kriminelle Aktivitäten sein, jede bösartige Aktivitäten, es wird beginnen, sich auf der mobilen Plattform fokussiert werden im Laufe der Zeit als Menschen schalten Sie auf, dass. Wenn Sie an der mobilen Plattform aussehen, auf die Risiken der Plattform ist es sinnvoll, es nach unten in den verschiedenen Schichten brechen suchen, so wie Sie es auf einem Desktop-Computer tun würden, und Sie über die verschiedenen Schichten, Software, Betriebssystem, denken Netzwerkschicht, Hardware-Schicht, und natürlich gibt es Schwachstellen auf allen diesen Ebenen. Das gleiche passiert auf dem Handy. Aber Handy, scheint es, dass einige dieser Schichten sind schlechter dran. Zum einen ist die Netzwerkschicht problematischer mobile weil eine Menge Leute haben in ihrem Büro oder zu Hause verkabelte Verbindungen oder sie sichere Wi-Fi-Verbindungen zu haben, und mit einer Menge von mobilen Geräten, die Sie außerhalb des Hauses sind natürlich oder außerhalb des Büros viel, und wenn man über Wi-Fi sind es Sie könnten mit einem unsicheren WLAN-Verbindung, etwas, das eine öffentliche Wi-Fi-Verbindung ist, so, wenn wir über mobile Apps denke, wir haben zu berücksichtigen, dass die Netzwerkumgebung riskanter für Anwendungen wenn Wi-Fi wird verwendet. Und wenn ich in mehreren der mobilen Anwendung kommen Risiken Sie werden sehen, warum das ist wichtiger. Es gibt Risiken, auf Hardware-Ebene auf mobilen Geräten. Dies ist ein Bereich der laufenden Forschung. Die Leute nennen diese Angriffe Breitband-oder Basisband Angriffe wo man angreifen sind die Firmware, die auf dem Radio hören ist. Das sind wirklich beängstigend, weil Angriffe der Benutzer muss nicht alles tun. Sie können viele Geräte im HF-Bereich getroffen auf einmal, und es scheint, als wenn diese Forschung sprudelt es schnell wird eingestuft, wenn Menschen stürzen in sich um und sagen: "Hier, teilen Sie uns das, und bitte aufhören, darüber zu reden." Es gibt einige Forschung geht im Breitbandbereich, aber es scheint sehr Hush Hush sein. Ich denke, es ist mehr ein Nationalstaat Art von Forschung, die vor sich geht. Ein Gebiet der aktiven Forschung, allerdings ist der Betriebssystemschicht, wieder anders als in der Desktop-Computerwelt ist diese denn in den mobilen Raum haben diese Teams von Menschen genannt jailbreakers, und jailbreakers sind anders als normale Anfälligkeit Forscher. Sie versuchen, Schwachstellen im Betriebssystem zu finden, aber der Grund, sie versuchen, die Schwachstellen zu finden, ist nicht auf brechen in Maschine jemand anderen und es Kompromisse. Es ist in ihrem eigenen Computer zu brechen. Sie wollen in die eigenen Mobil brechen, zu modifizieren Betriebssystem ihre eigenen Mobiltelefons so dass sie die Anwendungen ihrer Wahl laufen kann und die Dinge ändern sich mit Administratorberechtigungen und sie wollen nicht, den Verkäufer davon zu erzählen. Sie sind nicht wie ein Sicherheitsexperte, der einen weißen Hut Sicherheitsforscher ist die gehen, um verantwortungsvolle Offenlegung tun und sagen, der Verkäufer über sie. Sie wollen, um diese Forschung zu tun, und sie tatsächlich veröffentlichen wollen in ein Exploit oder ein Rootkit oder ein Jailbreak-Code, und sie strategisch zu tun, wie direkt nach wollen die Lieferanten Schiffe das neue Betriebssystem. Sie haben diese kontradiktorischen Beziehung mit OS-Level-Sicherheitslücken auf dem Handy, Ich denke, das ist ganz interessant, und einem Ort sehen wir es ist es es so, dass es gut ist Exploit-Code veröffentlicht draußen für Kernel-Level-Sicherheitslücken und wir die tatsächlich von Malware-Autoren verwendet werden, gesehen habe. Es ist ein bisschen anders als der PC-Welt. Und dann wird die letzte Schicht die oberste Schicht, die Anwendungsschicht. Das ist, was ich zu erzählen heute. Die anderen Schichten vorhanden sind, und die anderen Schichten in sie zu spielen, aber ich werde meist über das, was los ist auf der Anwendungsschicht zu sprechen wenn der Code in der Sandbox ausgeführt wird. Es muss nicht über Administratorrechte verfügen. Es hat die APIs des Geräts zu verwenden, aber immer noch, kann eine Menge bösartigen Aktivitäten und eine Menge Risiken auf dieser Schicht passieren denn das ist die Schicht, in der alle Informationen. Apps können alle Informationen auf dem Gerät zugreifen wenn sie die richtigen Berechtigungen verfügen, und sie haben die verschiedenen Sensoren an der Vorrichtung zugreifen kann, GPS-Sensor, Mikrofon, Kamera, was Sie haben. Auch wenn wir nur auf der Anwendungsschicht reden wir haben eine Menge von Risiken gibt. Die andere Sache, die anders ist, über die mobile Umgebung wird alle Betriebssystem-Spieler, sei es Blackberry-oder Android- oder iOS oder Windows Mobile, sie alle haben eine feinkörnige Berechtigungsmodell, und dies ist eine der Möglichkeiten, die sie in das Betriebssystem eingebaut die Idee, dass es nicht so riskant, wie Sie denken. Auch wenn Sie alle Ihre Kontakte auf dort haben, alle Ihre persönlichen Informationen, Sie Fotos haben, müssen Sie Ihren Standort auf dort Sie die Speicherung Ihrer Bank Stift für Autologin auf gibt, ist es sicher, da Apps müssen bestimmte Berechtigungen müssen an bestimmten Stellen zu bekommen die Informationen über das Gerät und den Benutzer mit vorgestellt hat diese Berechtigungen und sagen, okay. Das Problem mit ihm ist der Benutzer immer sagt, okay. Als Sicherheits Person, ich weiß, Sie können den Benutzer auffordern, sagen, etwas wirklich Schlimmes passieren wird, wollen Sie es geschehen? Und wenn sie in Eile sind, oder es ist etwas wirklich verlockend auf der anderen Seite, dass, wie ein Spiel wird installiert werden, dass sie gewartet haben, sie gehen zu klicken okay. Das ist, warum ich sagen, auf meinem Schlitten hier lass mich werfen Vögel auf Schweine bereits, und Sie auf der Folie sehen können, hier gibt es Beispiele für eine Blackberry-Erlaubnis-Box. Er sagt: "Bitte legen Sie die Blackberry Travel Anwendungsberechtigungen nach dem Klicken auf Button ", und im Grunde wird der Benutzer nur sagen legen Sie die Berechtigungen und sparen. Hier ist ein Android-Eingabeaufforderung, wo es zeigt, Dinge, und es tatsächlich bringt etwas, das sieht fast aus wie eine Warnung. Es hat eine Art von Ertrag Zeichen da und sagte Netzwerk-Kommunikation, Telefonanruf, aber der Benutzer wird zu klicken installieren, richtig? Und dann das Apple ein völlig harmlos. Es gibt nicht jede Art von Warnung. Es ist nur Apple würde gerne Ihren aktuellen Standort verwenden. Natürlich wirst du auf okay. Es gibt diese feinkörnige Berechtigungsmodell, und Anwendungen müssen eine Manifest-Datei, wo sie erklären müssen die Berechtigungen, die sie benötigen, und das wird dem Benutzer angezeigt zu bekommen, und der Benutzer muss sagen, dass ich diese Berechtigungen erteilen. Aber lassen Sie uns ehrlich sein. Benutzer werden nur gehen, um immer in Ordnung zu sagen. Werfen wir einen kurzen Blick auf die Berechtigungen, die diese Anwendungen sind für die Nachfrage und einige von den Berechtigungen, die es gibt. Diese Firma Praetorian eine Umfrage im vergangenen Jahr 53.000 Anwendungen im Android Markt-und 3rd-Party-Märkte analysiert, so ist das alles Android. Und die durchschnittliche App angefordert 3-Berechtigungen. Einige Anwendungen angeforderten Berechtigungen 117, so offensichtlich sind sehr feinkörnig und viel zu komplex für einen Benutzer zu verstehen wenn sie mit dieser App, die diese 117-Berechtigungen braucht vorgestellt. Es ist wie die Endbenutzer-Lizenzvereinbarung, die 45 Seiten lang ist. Vielleicht bald werden sie eine Option, wo es ist, haben drucken die Berechtigungen und senden Sie mir eine E-Mail. Aber wenn man sich einige der Top-Berechtigungen interessant aussehen 24% der Apps, die sie aus dem 53.000 heruntergeladen angeforderten Informationen von dem GPS-Gerät. 8% lesen die Kontakte. 4% gesendeten SMS und 3% empfangenen SMS. 2% aufgezeichneten Audio. 1% verarbeitet ausgehende Anrufe. Ich weiß nicht. Ich glaube nicht, dass 4% der Apps im App Store wirklich brauchen, um SMS-Nachrichten zu senden, so dass ich denke, das ist ein Hinweis, dass etwas Unerfreuliches passiert. 8% der Apps benötigen, um Ihre Kontaktliste zu lesen. Es ist wohl nicht nötig. Einer der andere interessante Dinge zu Berechtigungen ist wenn Sie einen Link in gemeinsamen Bibliotheken in Ihre Anwendung diejenigen erben die Berechtigungen der Anwendung, Wenn Ihre App braucht die Kontaktliste oder die GPS-Position benötigt um zu funktionieren und Verknüpfen in einer Werbe Bibliothek, z. B. Ad-Bibliothek, dass auch in der Lage, um die Kontakte zugreifen und auch in der Lage, um die GPS-Position zugreifen zu können, und der Entwickler der App weiß nichts über den Code, der in der Ad-Bibliothek läuft. Sie sind nur die Verknüpfung, dass, weil sie ihre App zu monetarisieren möchten. Hier-und ich werde über einige Beispiele dafür sprechen mit eine Anwendung namens Pandora, wo ein Anwendungsentwickler vielleicht unwissentlich werden Ergabe von Informationen von ihren Nutzern, weil sie sich von Bibliotheken verknüpft haben Vermessung der Landschaft draußen, mit Blick auf all die verschiedenen Apps , die in den Nachrichten als schädlich oder etwas zu tun Nutzern wollte nicht gemeldet wurden und dann die Kontrolle eine Menge Apps, wir tun eine Menge von statischen binären Analyse auf mobilen Apps, so dass wir sie überprüft haben, und sah den Code selbst- kamen wir auf das, was wir unsere Top-10-Liste der riskanten Verhaltensweisen in Anwendungen aufrufen. Und es ist nach unten in 2 Abschnitte, bösartigen Code gebrochen, so sind schlechte Dinge, dass die Apps tun könnte, dass sind wahrscheinlich etwas, das eine böswillige Person sein wurde speziell in der Anwendung setzen, aber es ist ein wenig unscharf. Es könnte etwas, das ein Entwickler denkt, ist gut, aber es endet als der als bösartig durch den Benutzer gedacht. Und dann der zweite Abschnitt ist, was wir Codierung Schwachstellen, und das sind Dinge, wo der Entwickler im Grunde ist, Fehler zu machen oder einfach nicht verstehen, wie man die App sicher schreiben,  und das ist die App Benutzer setzen in Gefahr. Ich werde durch diese im Detail zu gehen und geben einige Beispiele. Zum Vergleich, ich wollte zu setzen, die OWASP Top 10 Liste mobil. Dies sind die 10 Fragen, die eine Gruppe an OWASP, das Open Web Application Security Project, eine Arbeitsgruppe haben sie Arbeit auf einem mobilen Top-10-Liste. Sie haben eine sehr berühmte Web-Top-10-Liste, die die Top-10 sind riskantesten Dinge, die Sie in einer Web-Anwendung haben kann. Sie tun das Gleiche für die mobile, und ihre Liste ist ein wenig anders als unsere. 6 der 10 sind die gleichen. Sie haben vier, die anders sind. Ich denke, sie haben ein bisschen eine andere Sicht auf Risiko in mobilen Anwendungen, wo viele ihre Probleme wirklich, wie die Anwendung auf einem Back-End-Server kommuniziert oder was ist los auf dem Back-End-Server, nicht so sehr, Apps, die riskantes Verhalten, das nur einfache Client-Anwendungen sind zu haben. Die, die in Rot sind hier die Unterschiede zwischen den zwei Listen. Und einige meiner Forschungsteam hat eigentlich zu diesem Projekt beigetragen, so werden wir sehen, was im Laufe der Zeit passiert, aber ich denke, das hier ist zum Mitnehmen wir nicht wirklich wissen, was die Top-10-Liste ist in mobilen Anwendungen, weil sie haben wirklich erst seit jetzt 2 oder 3 Jahren, und es war nicht genug Zeit, um die Betriebssysteme wirklich Forschung gewesen und was sie in der Lage ist, und es gibt nicht genug Zeit gewesen für die bösartige Gemeinde, wenn man so will, um genügend Zeit damit verbracht haben, versuchen, Nutzer über mobile Anwendungen anzugreifen, so erwarte ich, dass diese Listen, um ein wenig zu ändern. Aber jetzt sind die Top 10 Dinge zu kümmern. Sie können auf dem mobilen Seite frage mich, wo funktioniert das Malicious Mobile Code- wie geht es wild auf das Gerät? North Carolina State hat ein Projekt mit dem Namen Mobile-Malware-Genom-Projekt wo sie sammeln, wie viele Handy-Viren, wie sie können und analysieren, und sie sich die Injektion Vektoren, die die mobile Malware nutzt gebrochen haben, und 86% verwenden eine Technik namens Neuverpackung, und das ist nur auf der Android-Plattform kann man wirklich dieses Umpacken zu tun. Der Grund ist Android-Code wird mit eingebauter ein Java-Byte-Code aufgerufen Dalvik, die leicht rückübersetzbar ist. Was der Bösewicht tun können, ist nehmen Sie eine Android-Anwendung, dekompilieren, ihre bösartigen Code einzufügen, es neu kompilieren und dann stellen Sie sie in den App Store, die angeblich eine neue Version der Anwendung sein, oder nur vielleicht die Änderung des Namens der Anwendung. Wenn es eine Art von Spiel, ändern Sie den Namen leicht, und so ist dieses Umpacken ist, wie 86% der mobilen Malware wird verteilt. Es gibt eine andere Technik namens Update, das ist sehr ähnlich, Umpacken, aber Sie wirklich nicht setzen den Schadcode einge Was Sie tun, ist, dass Sie in einem kleinen Update-Mechanismus setzen. Sie dekompilieren, setzen Sie sich in einem Update-Mechanismus, und Sie können es neu zu kompilieren, und dann, wenn die App läuft, es zieht die Malware auf dem Gerät. Bei weitem die Mehrheit sind die zwei Techniken. Es gibt nicht wirklich viel Drive-bys Download oder Drive-by-Downloads auf dem Handy, die wie ein Phishing-Angriff sein könnte. Hey, schau dir diese wirklich coole Website, oder Sie müssen auf diese Webseite gehen und füllen Sie dieses Formular zu halten weiterhin etwas zu tun. Diese sind Phishing-Attacken. Das gleiche kann auf der mobilen Plattform, wo sie vorkommen, weisen auf eine mobile App für den Download, sagen Sie "Hallo, hier ist die Bank of America." "Wir sehen Sie mit dieser Anwendung sind." "Sie sollten diese andere Anwendung herunterladen." Theoretisch, das könnte funktionieren. Vielleicht es ist einfach nicht genug verwendet, um festzustellen, ob es erfolgreich ist oder nicht, doch fanden sie, dass weniger als 1% der Zeit, dass die Technik verwendet wird. Die Mehrheit der Zeit, es ist wirklich eine umgepackt Code. Es gibt eine andere Kategorie namens Standalone- wo jemand baut gerade eine brandneue Anwendung. Sie bauen eine Anwendung, die vorgibt, etwas zu sein. Es ist nicht ein Umpacken von etwas anderem, und das hat den Schadcode. Das wird verwendet, 14% der Zeit. Jetzt möchte ich über das, was der Schadcode zu tun zu sprechen? Einer der ersten, Malware draußen Sie könnten eine Spyware prüfen. Es spioniert grundsätzlich auf den Benutzer. Es sammelt E-Mails, SMS-Nachrichten. Es schaltet das Mikrofon. Es erntet den Kontakt Buch, und es sendet es an jemand anderen. Diese Art von Spyware auf dem PC vorhanden ist, so macht es durchaus Sinn, für die Menschen zu versuchen, diese auf mobilen Geräten zu tun. Eines der ersten Beispiele dafür war ein Programm namens geheime SMS Replicator. Es war im Android Marketplace ein paar Jahren, und die Idee war, wenn Sie Zugang zu jemand Android-Handy hatte Sie wollte ausspionieren, vielleicht ist es Ihr Ehepartner oder Ihrem Lebensgefährten und Sie müssen auf ihre SMS-Nachrichten ausspionieren möchten, Sie könnten diese App herunterladen und installieren und konfigurieren Sie es , eine SMS-Textnachricht an Sie mit einer Kopie senden jeder SMS-Nachricht, die sie bekam. Dies ist offensichtlich in Verletzungen der App-Store-Nutzungsbedingungen, und das wurde aus dem Android Marketplace innerhalb von 18 Stunden, dass es da entfernt, so dass eine sehr kleine Anzahl von Personen gefährdet waren, weil dieser. Nun, ich denke, wenn das Programm aufgerufen wurde etwas vielleicht etwas weniger provokativ wie geheime SMS Replicator wäre es wahrscheinlich viel besser gearbeitet haben. Aber es war ziemlich offensichtlich. Eines der Dinge, die wir tun können, um festzustellen, ob dieses Verhalten Anwendungen haben, die wir nicht wollen, ist, um den Code zu überprüfen. Das ist eigentlich wirklich einfach, auf Android zu tun, denn wir können die Apps dekompilieren. Unter iOS können Sie einen Disassembler IDA Pro verwenden wie APIs an, was die App anruft und was es tut aussehen. Wir schrieben unsere eigenen binären statische Analysator für unseren Code und wir tun das, und so, was Sie tun können, ist, man könnte sagen funktioniert das Gerät alles, was im Grunde Spionage auf mich oder Tracking mir zu tun? Und ich habe hier einige Beispiele auf dem iPhone. Dieses erste Beispiel ist, wie die UUID am Telefon zuzugreifen. Das ist eigentlich etwas, das Apple hat soeben für neue Anwendungen verboten, aber alte Anwendungen, die Sie auf Ihrem Telefon laufen haben, können immer noch das tun, und so, dass eindeutige Kennung verwendet werden, um Sie zu verfolgen über viele verschiedene Anwendungen. Auf der Android, ich habe hier ein Beispiel, sich den Standort des Geräts. Sie können sehen, dass, wenn das API-Aufruf ist dort, dass App-Tracking, und Sie können sehen, ob es immer schöne Lage oder groben Lage. Und dann auf dem Boden hier, habe ich ein Beispiel, wie auf dem Blackberry könnte eine Anwendung die E-Mails in Ihrem Posteingang zugreifen. Dies sind die Art von Dingen die Sie überprüfen können, um zu sehen wenn die app tut diese Dinge. Die zweite große Kategorie der bösartiges Verhalten, und das ist wohl heute die größte Kategorie, ist unberechtigten Wahl, unerlaubte Premium-SMS-Textnachrichten oder unberechtigte Zahlungen. Eine andere Sache, die einzigartig ist über das Telefon wird die Vorrichtung mit einem Abrechnungskonto eingehakt ist, und wenn Aktivitäten geschehen auf dem Handy es kann Kosten erstellen. Sie können Dinge über das Telefon zu kaufen, und wenn Sie eine Premium-SMS-Textnachricht zu senden Sie tatsächlich Geld geben dem Kontoinhaber der Telefonnummer auf der anderen Seite. Diese wurden eingerichtet, um Aktienkurse zu bekommen oder sich Ihr Tageshoroskop oder andere Dinge, aber sie können bis zu einen Artikel, indem Sie eine SMS-Text bestellen eingestellt werden. Die Leute geben Geld an das Rote Kreuz durch Senden einer SMS-Nachricht. Sie können $ 10 geben, so. Die Angreifer, was sie getan haben, ist, setzen sie Konten im Ausland, und sie sind in der Malware einbetten , dass das Telefon eine Premium-SMS-Textnachricht zu senden, sagen, ein paar Mal am Tag, und am Ende des Monats, Sie merken, Sie ausgegeben haben Dutzende oder vielleicht sogar Hunderte von Dollar, und sie gehen weg mit dem Geld. Dies wurde so schlimm, dass dies die erste Sache, dass die Android- Marktplatz oder die Google-Ort-es war der Android Marketplace an der Zeit, und es ist jetzt Google Play-die erste Sache, dass Google begonnen Überprüfung auf. Wenn Google begann Verteilung Android Apps in ihrem App Store sie sagten, sie würden nicht auf alles zu überprüfen. Wir werden Apps, sobald wir sie haben mitgeteilt wurde unsere Nutzungsbedingungen gebrochen zu ziehen, aber wir gehen nicht, um etwas zu überprüfen. Nun, vor etwa einem Jahr ist es so schlimm mit diesem Premium-SMS-Malware dass dies das erste, was sie begonnen Überprüfung auf. Wenn eine App können SMS-Textnachrichten zu senden sie manuell weiter zu prüfen, dass die Anwendung. Sie sehen für die APIs, die diese aufrufen, und jetzt, da dann Google erweitert hat, aber das war das erste, was sie auf die Suche nach. Einige andere Apps, die einige SMS-Nachrichten haben, diese Android Qicsomos, ich denke, es heißt. Da war dieses aktuelle Ereignis auf dem Handy, wo diese CarrierIQ kam Spyware auf dem Gerät durch die Träger setzen, so dass die Leute wollten wissen, ob ihr Telefon war anfällig für diese, und das war eine kostenlose App, dass getestet. Nun, natürlich, was diese App tat, war es Premium-SMS-Textnachrichten gesendet, so durch die Prüfung, um zu sehen, wenn Sie mit Spyware infiziert sind Sie auf Ihr Gerät geladen Malware. Wir sahen die gleiche Sache in der letzten Super Bowl passieren. Es war eine falsche Version der Madden Football-Spiel , die Premium-SMS-Textnachrichten gesendet. Es ist tatsächlich versucht, ein Bot-Netz auch auf dem Gerät zu erstellen. Hier habe ich einige Beispiele. Interessanterweise wurde von Apple ziemlich smart, und sie nicht zulassen, Anwendungen, SMS-Textnachrichten an alle senden. Keine App kann es tun. Das ist eine gute Möglichkeit, sich von einer ganzen Klasse von Schwachstellen zu befreien, aber auf Android können Sie es tun, und natürlich auf Blackberry du es auch tun. Es ist interessant, dass auf dem Blackberry brauchen Sie nur Internet-Berechtigungen , eine SMS-Textnachricht zu senden. Die andere Sache wirklich, dass wir uns für wenn wir schauen, um zu sehen, ob etwas schädlich ist ist nur jede Art von unberechtigten Netzwerkaktivität, wie in der Netzwerkaktivität sehen die App haben soll, um seine Funktionalität zu haben, und schauen Sie sich diese anderen Netzwerkaktivität. Vielleicht eine App, um zu arbeiten, hat über HTTP auf Daten zu erhalten, aber wenn es Dinge zu tun, über E-Mail oder SMS oder Bluetooth oder so ähnlich App jetzt, dass möglicherweise bösartig sein, so ist dies eine andere Sache, die Sie für inspizieren können. Und auf dieser Folie habe ich hier einige Beispiele. Eine weitere interessante Sache, die wir mit Malware sah, geschah im Jahr 2009, und es geschah in einem großen Weg. Ich weiß nicht, ob es so viel seitdem passiert ist, aber es war eine App imitierten, dass eine andere Anwendung. Es gab eine Reihe von Anwendungen, und es wurde die 09Droid Angriff genannt, und jemand beschlossen, dass es eine Menge von kleinen, regionalen, mittelständischen Banken , die nicht über Online-Banking-Anwendungen, so, was sie tat, war sie etwa 50 Online-Banking-Anwendungen, die dass alles, was sie tat, war den Benutzernamen und das Passwort und leiten Sie auf der Website. Und so setzten sie diese ganz oben in der Google-Marketplace, im Android Marketplace, und wenn jemand gesucht, um zu sehen, ob ihre Bank hatte eine Anwendung sie die falsche Anwendung finden würden, die ihre Anmeldeinformationen gesammelt und dann weitergeleitet sie auf ihrer Website. Die Art und Weise, dass dies tatsächlich wurde-die Apps waren dort für ein paar Wochen, und es waren Tausende und Tausende von Downloads. Die Art und Weise dies ans Licht kam, war jemand hatte ein Problem mit eine der Anwendungen, und sie ihre Bank genannt, und sie Kundendienst-Hotline ihrer Bank angerufen und gesagt, "Ich habe ein Problem mit der Mobile-Banking-Anwendung." "Können Sie mir helfen?" Und sie sagten: "Wir wollen nicht eine Mobile-Banking-Anwendung." Das begann die Untersuchung. Diese Bank namens Google, und dann sah und sagte Google, "Wow, der gleiche Autor hat 50 Bankanwendungen geschrieben," und nahm sie alle nach unten. Aber sicherlich könnte dies wieder geschehen. Es ist die Liste all der verschiedenen Banken hier dass waren Teil dieser Betrug. Die andere Sache, eine App tun können, ist derzeit die UI von einer anderen Anwendung. Während es läuft könnte es öffnet sich die Facebook-UI. Er sagt, die Sie in Ihrem Benutzernamen und Passwort haben, weiterhin oder Aufmachungen einen beliebigen Benutzernamen und das Passwort für eine Website UI dass vielleicht die Benutzer verwendet einfach um zu versuchen, um den Benutzer zu betrügen setzen ihre Anmeldeinformationen in in. Das ist wirklich eine Gerade parallel der E-Mail-Phishing-Angriffe wo jemand sendet Ihnen eine E-Mail und im Grunde gibt Ihnen eine gefälschte UI für eine Website dass Sie Zugriff haben. Die andere Sache, die wir bei bösartigen Code ist Systemmodifikation. Sie können für alle API-Aufrufe, die Root-Rechte erfordern aussehen korrekt auszuführen. Ändern Web-Proxy des Geräts wäre etwas, was eine Anwendung sein sollten nicht in der Lage sein zu tun. Aber wenn die Anwendung Code in es, das zu tun Sie wissen, dass es wahrscheinlich eine bösartige Anwendung oder sehr hoher Wahrscheinlichkeit eine bösartige Anwendung sein, und so was passieren würde, ist, dass app in gewisser Weise der eskalierenden Berechtigung haben. Es müssten einige Privilegieneskalation ausnutzen in der Anwendung, und dann, sobald es erweiterte Rechte wäre es, diese Veränderungen im System zu tun. Sie können Malware, die Privilegieneskalation hat zu finden in ihm, auch ohne zu wissen, wie das Privileg Eskalation nutzen wird passieren, und das ist eine schöne, einfache Möglichkeit auf Malware zu suchen. DroidDream war der wohl berühmteste Stück des Android-Malware. Ich denke, dass es über ein paar Tage rund 250.000 Nutzer betroffen bevor es gefunden wurde. Sie verpackt 50 gefälschte Anwendungen legte sie in den Android App Store, und wesentlich früher Android Jailbreak Code Rechte ausweiten und installieren Sie dann einen Befehl und Kontrolle, und schalten alle Opfer in ein Bot-Netz, aber man konnte dies festgestellt haben ob Sie die Anwendung und scannen nur nach API-Aufrufe, die erforderliche Stamm Erlaubnis, korrekt auszuführen. Und es ist ein Beispiel, hier habe ich das verändert den Proxy, und dies ist eigentlich auf dem Android verfügbar. Sie können sehen, gebe ich Ihnen eine Menge von Beispielen auf Android weil das ist, wo die aktivste Malware-Ökosystem weil es für einen Angreifer einfach, um bösartigen Code zu bekommen in den Android Marketplace. Es ist nicht so einfach, dass in den Apple App Store zu tun weil Apple-Entwickler benötigt, um sich zu identifizieren und unterschreiben Sie den Code. Sie haben tatsächlich überprüfen, wer Sie sind, und Apple ist tatsächlich der Prüfung der Anträge. Wir sehen nicht viel wahr, Malware, wo das Gerät wird immer gefährdet ist. Ich werde über einige Beispiele, wo es wirklich Privatsphäre, die immer gefährdet ist zu sprechen, und das ist, was wirklich passiert auf dem Apple-Gerät. Eine andere Sache, bösartigen Code suchen, riskante Code in Geräten logisch oder Zeitbomben, Zeitbomben und sind wahrscheinlich viel einfacher, als für logische Bomben zu suchen. Aber mit Zeitbomben, was Sie tun können, ist, die Sie suchen können Stellen in dem Code, der die Zeit getestet oder eine absolute Zeit wird gesucht vor bestimmte Funktionen in der App passiert. Und das könnte getan werden, um diese Tätigkeit vor dem Benutzer versteckt werden, so ist es spät in der Nacht passiert. DroidDream tat alles, seine Tätigkeit von 11.00 Uhr bis 08.00 Uhr Ortszeit um zu versuchen, es zu tun, während der Benutzer möglicherweise nicht mit ihrem Gerät werden. Ein weiterer Grund, dies zu tun ist, wenn die Menschen mit Verhaltensanalyse einer Anwendung, läuft die App in einem Sandkasten, um zu sehen, was das Verhalten der Anwendung ist, sie zeitbasierte Logik verwenden können, um die Aktivität zu tun wenn die App nicht in den Sandkasten. Zum Beispiel kann ein App-Store wie Apple führt die Anwendung aus, aber sie sind wahrscheinlich nicht für jede Anwendung laufen, sagen wir, 30 Tage es vor der Genehmigung, so dass Sie setzen können Logik in Ihrer Anwendung, sagte, okay, nur die schlechte Sache zu tun nach 30 Tagen wurde von oder nach 30 Tagen nach dem Veröffentlichungsdatum der Anmeldung gegangen, und die den Schadcode verbergen von Menschen, für die Kontrolle es kann helfen. Wenn Anti-Virus-Unternehmen laufen die Dinge in Sandkästen oder die App-Stores selbst sind dabei helfen können verbergen, dass aus dieser Inspektion. Nun, das ist die Kehrseite, dass es einfach ist, mit statischen Analyse zu finden, so eigentlich Inspektion der Code, den Sie für alle Stellen suchen können wo die Anwendung testet die Zeit und überprüfen diese Weise. Und hier habe ich einige Beispiele auf dieser 3 verschiedenen Plattformen wie die Zeit kann durch die App-Hersteller überprüft werden so dass Sie wissen, was für, wenn Sie die App statisch Inspektion zu suchen. Ich habe gerade durch eine ganze Reihe von verschiedenen bösartigen Aktivitäten ging dass wir in der freien Wildbahn gesehen habe, aber welche sind die häufigsten? Das gleiche Studie der North Carolina State Mobile-Genom-Projekt einige Daten veröffentlicht, und es gab im Grunde 4 Bereiche daß sie sahen, wo es eine Menge von Aktivitäten. 37% der Apps hat Privilegieneskalation, so hatten sie eine Art von Jailbreak-Code in es wo sie versuchten, ihre Rechte zu erweitern, so dass sie konnten Sie API-Befehle ausgeführt, wie das Betriebssystem. 45% der Apps gibt, hat Premium-SMS, so ist das ein großer Prozentsatz, der versucht, direkt zu monetarisieren ist. 93% taten Fernbedienung, so dass sie versuchte, die Einrichtung eines Bot-Net, eine mobile Bot-Netz. Und 45% geerntet identifizierende Informationen wie Telefonnummern, UUIDs, GPS-Ortung, Benutzerkonten, und dies summiert sich auf mehr als 100, weil die meisten Malware versucht, einige dieser Dinge zu tun. Ich werde auf die zweite Hälfte schalten und sprechen über die Code-Schwachstellen. Dies ist die zweite Hälfte des riskante Tätigkeit. Dies ist, wo im wesentlichen der Entwickler, Fehler zu machen. Ein berechtigtes Entwickler Schreiben eines legitimen App macht Fehler oder ist nichts von den Risiken der mobilen Plattform. Sie wissen einfach nicht, wie man eine sichere mobile App zu machen, oder manchmal auch der Entwickler kümmert sich nicht um die Gefährdung des Benutzers in Gefahr. Manchmal Teil ihres Geschäftsmodells sein könnte , die persönliche Informationen des Benutzers. Das ist eine Art der anderen Kategorie, und das ist, warum einige von dieser Schad gegenüber legitimen beginnt zu bluten, weil es über Meinungsverschiedenheiten zwischen dem, was der Nutzer will und was der Benutzer riskant hält und was die Anwendungsentwickler hält riskant. Natürlich, es ist nicht die Daten des Anwendungsentwicklers in den meisten Fällen. Und schließlich ist eine weitere Möglichkeit in diesem Fall könnte ein Entwickler in Verknüpfung eine gemeinsame Bibliothek, die Schwachstellen dieses riskante Verhalten in sich hat ohne es zu wissen. Die erste Kategorie ist empfindlich Datenverlust, und das ist, wenn die App sammelt Informationen wie Lage, Adressbuch Informationen Besitzerinformationen und sendet, dass Sie das Gerät aus. Und wenn es vom Gerät ab, wissen wir nicht, was mit diesen Informationen geschieht. Es könnte unsicher vom Anwendungsentwickler gespeichert werden. Wir haben gesehen, Anwendungsentwickler bekommen gefährdet ist, und die Daten, die sie speichern wird übernommen. Dies geschah vor ein paar Monaten zu einem Entwickler in Florida wo eine riesige Anzahl von iPad-es war UUIDs und Gerätenamen zugespielt wurden, weil jemand, ich glaube es war anonym, behauptet, dies zu tun, brach in diesem Entwickler-Servern und stahlen Millionen iPad UUIDs und Computernamen. Nicht der risikoreichsten Informationen aber was, wenn das war die Speicherung von Benutzernamen und Passwörtern und Home-Adressen? Es gibt viele Apps, die diese Art von Informationen zu speichern. Die Gefahr ist da. Das andere, was passieren kann, ist, wenn der Entwickler nicht kümmern Um den Datenkanal zu sichern, und das ist ein weiterer großer Schwachstelle werde ich darüber zu sprechen, dass Daten in Klartext gesendet. Wenn der Benutzer auf einem öffentlichen Wi-Fi-Netzwerk oder jemand schnüffelt im Internet irgendwo entlang dem Pfad an, dass Daten ausgesetzt. Ein sehr berühmter Fall dieser Informationslecks passiert mit Pandora, und das ist etwas, was wir in Veracode erforscht. Wir haben gehört, dass es eine, ich glaube, es ist ein Federal Trade Kommission Untersuchung los mit Pandora. Wir sagten: "Was ist da los? Beginnen wir graben in die Pandora-Anwendung." Und was wir festgestellt, war die Pandora-Anwendung gesammelt Ihr Geschlecht und Ihr Alter, und es wird auch Ihre GPS-Position und die Pandora-Anwendung zugegriffen tat das, was sie sagte, waren legitime Gründe. Die Musik, die sie spielten, Pandora ist ein Musik-Streaming-App- die Musik, die sie spielten, wurde nur in den Vereinigten Staaten zugelassen, so hatten sie, um zu überprüfen, um mit ihren Lizenzvereinbarungen, die sie hatten entsprechen für die Musik, die der Benutzer in den Vereinigten Staaten. Sie wollten auch mit der Elternberatungs entsprechen um Erwachsenensprache in der Musik, und so ist es ein freiwilliges Programm, aber sie wollten, dass mit entsprechen und nicht die explizite Texte spielen für Kinder unter 13 Jahren. Sie hatten berechtigte Gründe für die Erhebung dieser Daten. Die App hatte die Berechtigungen, es zu tun. Benutzer dachte, das war legitim. Aber was ist passiert? Sie in 3 oder 4 verschiedene Ad-Bibliotheken gelinkt. Jetzt ganz plötzlich all diese Anzeige Bibliotheken werden immer Zugriff auf die gleichen Informationen. Die Ad-Bibliotheken, wenn Sie in der Anzeigen Bibliotheken Blick auf den Code was sie tun, ist jeder Anzeige sagt Bibliothek "Ist meine App die Berechtigung zum GPS-Standort zu bekommen?" "Oh, es ist Okay, sag mir, die GPS-Position." Jede einzelne Anzeige Bibliothek tut, und wenn die App nicht über GPS-Erlaubnis es wird nicht in der Lage, es zu bekommen, aber wenn es funktioniert, wird es es zu bekommen. Dies ist, wo das Geschäftsmodell der Ad-Bibliotheken ist mit der Privatsphäre des Benutzers gegenüber. Und es ist schon Studien gibt, die sagen werden, wenn Sie das Alter wissen von einer Person, und Sie wissen, ihren Standort wo sie schlafen in der Nacht, weil Sie ihre GPS-Koordinaten während sie vielleicht schlafen, wissen Sie genau, wer diese Person ist da kann man bestimmen, welche Mitglied dieses Haushalts ist, dass Person. Wirklich ist dies für die Werbe Identifizierung genau, wer du bist, und es sieht aus wie es legitim war. Ich will einfach nur meine Musik-Streaming, und das ist der einzige Weg, um es zu bekommen. Nun, wir diese ausgesetzt. Wir schrieben dies in mehreren Blog-Posts, und es stellte sich heraus, dass jemand vom Rolling Stone Magazin Lesen einer unserer Blog-Posts und schrieb seinen eigenen Blog im Rolling Stone über sie, und schon am nächsten Tag Pandora dachte, es war eine gute Idee , um die Anzeige Bibliotheken aus ihrer Anwendung zu entfernen. Soweit ich weiß, sie sind die einzige-sie gelobt werden sollte. Ich denke, sie sind die einzige Art von Freemium-App, die das getan hat. Alle anderen Freemium-Apps haben diese gleiche Verhalten, so mußt du über welche Art von Daten gibst du denken Freemium diese Anwendungen, da es ist alles für die Werbe gehen. Praetorian hat auch eine Studie über die gemeinsam genutzte Bibliotheken und sagte: "Schauen wir uns an, was gemeinsam genutzte Bibliotheken sind die Top-Shared Libraries", und das war die Daten. Sie analysierten 53.000 Apps, und die Nummer 1 gemeinsam genutzte Bibliothek war Admob. Es war eigentlich in 38% der Anwendungen gibt, so 38% der Anwendungen, die Sie verwenden sind wahrscheinlich Ernte Ihrer persönlichen Informationen und Senden an den Ad-Netzwerke. Apache und Android wurden 8% und 6%, und dann diese andere, die sich an der Unterseite, Google Ads, Flurry, Mob City und Millennial Media, diese sind alle Werbeagenturen, und, interessanterweise, 4% in der Facebook-Bibliothek verknüpft wahrscheinlich, um die Authentifizierung über Facebook tun so könnte das die Facebook-App authentifizieren. Aber das bedeutet auch, die Gesellschaft Facebook steuert Code das ist in 4% der Android-Apps laufen da draußen, und sie haben Zugang zu allen Daten, dass die App die Erlaubnis hat, auf zu bekommen. Facebook im Wesentlichen versucht, Werbeflächen zu verkaufen. Das ist ihr Geschäftsmodell. Wenn Sie an dieser gesamte Ökosystem mit diesen Berechtigungen aussehen und gemeinsam genutzte Bibliotheken Sie beginnen zu sehen, dass Sie haben eine Menge Risiko in einer vermeintlich legitimen Anwendung. Die gleiche Sache, die mit ähnlichen Pandora passiert passiert mit einer Anwendung namens Path, Pfad und dachte, sie waren hilfsbereit, freundlich Entwickler sein. Sie wurden nur versuchen, Ihnen ein großartiges Benutzererlebnis zu geben, und es stellte sich heraus, dass ohne den Benutzer oder dem Benutzer erklären, nichts- und das passiert auf dem iPhone und auf Android, der Pandora App war auf dem iPhone und Android- dass der Pfad-Anwendung wurde Grabbing Ihre gesamte Adressbuch und Hochladen auf Pfad nur, wenn Sie installiert und lief die Anwendung, und sie nicht darüber sagen. Sie dachte, es war wirklich hilfreich für Sie der Lage sein, mit all den Menschen in Ihrem Adressbuch zu teilen dass Sie den Pfad Anwendung sind. Nun, offensichtlich Pfad dachte, das war toll für ihr Unternehmen. Nicht so toll für den Benutzer. Sie müssen denken, dass es eine Sache ist, ob vielleicht ein Teenager wird mit dieser Anwendung und deren Dutzende Freunde sind dort, aber was, wenn es der CEO einer Firma, die Pfad installiert und dann ganz plötzlich ihr ganzes Adressbuch ist da oben? Du wirst eine Menge potenziell wertvolle Kontaktinformationen zu erhalten für eine Menge Leute. Ein Reporter der New York Times, könnte man in der Lage, die Telefonnummer zu bekommen für Ex-Präsidenten aus ihrem Adressbuch, so offensichtlich eine Menge von sensiblen Informationen wird mit so etwas übergeben. Es gab so eine große Klappe um das, dass Pfad entschuldigt. Sie änderten ihre Anwendung, und es beeinflusst auch von Apple. Apple sagte, "Wir werden App-Anbieter zwingen die Benutzer aufgefordert wenn sie gehen, um ihre gesamte Adressbuch zu sammeln. " Es sieht aus wie das, was hier geschieht, ist wenn es eine große Verletzung der Privatsphäre, und es macht die Presse wir sehen eine Veränderung gibt. Aber natürlich gibt es andere Dinge gibt. Die LinkedIn-Anwendung erntet Ihre Kalendereinträge, aber Apple macht nicht den Benutzer darüber aufgefordert. Kalendereinträge können vertrauliche Informationen in ihnen zu haben. Wo wollen Sie die Grenze ziehen? Das ist wirklich eine Art von sich entwickelnden Ort wo gibt es wirklich keine guten Standard gibt, für die Benutzer zu verstehen, wenn ihre Informationen wird sich in Gefahr sein und wenn sie gehen zu wissen, dass es getroffen werden. Wir schrieben eine App bei Veracode genannt Adios, und im Wesentlichen erlaubt es Ihnen, die App im iTunes-Verzeichnis zeigen und schauen Sie sich alle Anwendungen, die Ihre volle Adressbuch Ernte wurden. Und wie Sie hier auf dieser Liste sehen können, Angry Birds, AIM, AroundMe. Warum Angry Birds müssen Ihrem Adressbuch? Ich weiß nicht, aber es irgendwie nicht. Das ist etwas, das viele, viele Anwendungen zu tun. Sie können den Code für diese zu inspizieren. Es gibt klar definierte APIs für iPhone, Android und Blackberry auf das Adressbuch zu bekommen. Man kann wirklich leicht für diese zu inspizieren, und dies ist, was wir in unserer Anwendung Adios taten. Die nächste Kategorie, Unsichere Sensitive Data Storage, ist etwas, wo die Entwickler nehmen so etwas wie ein Stift oder eine Kontonummer oder ein Passwort und speichern sie in der klaren auf dem Gerät. Noch schlimmer ist, sie in einem Bereich gespeichert werden kann unter der Telefon die global zugänglich ist, wie der SD-Karte. Sie sehen dies öfter auf, weil Android Android ermöglicht eine SD-Karte. IPhone-Geräte nicht. Aber wir sahen auch in einem CitiGroup Anwendung dies geschieht. Ihre Online-Banking-Anwendung gespeichert die Kontonummern unsicher, nur in der klaren, also, wenn Sie Ihr Gerät verloren geht, Wesentlichen Sie Ihr Bankkonto verloren. Das ist, warum ich persönlich glaube nicht, Banking auf meinem iPhone zu tun. Ich denke, es ist zu riskant, gerade jetzt, diese Art von Aktivitäten. Skype hat die gleiche Sache. Skype, hat natürlich einen Kontostand, einen Benutzernamen und ein Passwort , die dieses Gleichgewicht zu gelangen. Speichern Sie wurden alle diese Informationen im Klar auf dem mobilen Gerät. Ich habe hier einige Beispiele, Dateien zu erzeugen dass nicht über die richtigen Berechtigungen oder Schreiben auf Disc und nicht mit einem Verschlüsselungs passieren dafür. Das nächste Gebiet, Sensitive Unsichere Datenübertragung, Ich habe mit ein paar Mal wegen der öffentlichen Wi-Fi angedeutet, und das ist etwas, das zu tun, unbedingt brauchen Apps, und das ist wahrscheinlich das, was wir sehen, schief gehen am meisten. Ich würde sagen, eigentlich, ich glaube, ich habe die aktuellen Daten, aber es ist fast die Hälfte der mobilen Anwendungen vermasseln tun SSL. Sie haben einfach nicht die APIs korrekt verwenden. Ich meine, das ist alles, was Sie zu tun haben, folgen Sie den Anweisungen und verwenden Sie die APIs, aber sie haben Dinge wie nicht, ob es einen ungültigen Zertifikat am anderen Ende, nicht, ob das andere Ende versucht, ein Protokoll Herabstufung Angriff zu tun. Die Entwickler wollen sie ihre Kontrollkästchen, nicht wahr? Ihre Forderung ist, diese zu verwenden, zu verkaufen. Sie haben diese verwendet werden, um zu verkaufen. Die Forderung ist nicht, diese zu verwenden, um sicher zu verkaufen, und so das ist, warum alle Anwendungen, die SSL verwenden, um Daten zu sichern wie es ist ausgeschaltet übermittelt das Gerät wirklich brauchen, um überprüft werden sicherstellen, dass korrekt umgesetzt wurde. Und hier habe ich einige Beispiele, bei denen Sie eine Anwendung sehen können könnten mit HTTP statt HTTPS. In einigen Fällen wird auf HTTP-Apps zurück fallen wenn die HTTPS funktioniert nicht. Ich habe hier einen weiteren Anruf auf Android, wo sie haben die Zertifikatsprüfung deaktiviert, so ein Mann-in-the-Middle-Angriff geschehen kann. Ein ungültiges Zertifikat akzeptiert. Das sind alles Fälle, in denen die Angreifer sind in der Lage zu bekommen, auf sein die gleiche Wi-Fi-Verbindung wie der Benutzer und Zugriff auf alle Daten das ist, die über das Internet gesendet. Und schließlich die letzte Kategorie habe ich hier vergessen ist hartcodiert und Schlüssel. Wir haben tatsächlich sehen viele Entwickler verwenden die gleiche Codierungsstil dass sie, wenn sie Web-Server-Anwendungen bauen, so dass sie den Aufbau einer Java-Server-Anwendung, und sie sind hartzucodieren die Taste. Nun, wenn Sie den Aufbau einer Server-Anwendung sind, ja, hartzucodieren den Schlüssel ist nicht eine gute Idee. Das macht es schwer zu ändern. Aber es ist nicht so schlimm, auf der Serverseite, weil der Zugriff auf die Server-Seite hat? Nur die Administratoren. Aber wenn Sie den gleichen Code zu nehmen und Sie goss es über zu einer mobilen Anwendung Jetzt hat jeder, dass mobile Anwendung hat Zugriff auf die hartcodierte Schlüssel, und wir sehen dies eine Menge Zeit, und ich habe einige Statistiken wie oft wir sehen dies geschieht. Es ist tatsächlich in Beispiel-Code veröffentlicht, die Mastercard war wie sie ihre Service zu nutzen. Der Beispielcode zeigt, wie Sie würden nur das Passwort zu nehmen und steckte es in eine hartcodierte Zeichenfolge genau dort, und wir wissen, wie Entwickler lieben, zu kopieren und Code-Snippets wenn sie versuchen, etwas zu tun, so dass Sie das Code-Snippet kopieren und einfügen dass sie gab als Beispiel-Code, und Sie eine unsichere Anwendung haben. Und hier haben wir einige Beispiele. Das erste ist, was wir sehen, eine Menge, wo sie codieren die Daten direkt in eine URL, die gesendet wird. Manchmal sehen wir string password = Passwort. Das ist ziemlich leicht zu erkennen, oder String-Passwort auf Blackberry und Android. Es ist eigentlich ziemlich einfach, für, weil fast immer überprüfen die Entwicklernamen die Variable, die hält das Passwort einige Variation Passwort. Ich erwähnte, dass wir tun, statische Analyse bei Veracode, so haben wir mehrere hundert Android und iOS-Anwendungen analysiert. Wir haben volle Modelle von ihnen gebaut, und wir sind in der Lage, sie zu scannen für verschiedene Schwachstellen, vor allem die Schwachstellen ich rede, und ich habe einige Daten hier. 68,5% der Android-Apps haben wir uns in hatte Verschlüsselungscodes, was für uns, können wir nicht erkennen, wenn Sie Ihre eigenen Krypto-Routine gemacht, nicht, dass das eine gute Idee, aber das ist eigentlich mit den veröffentlichten APIs , die auf der Plattform sind, aber sie tun so dass die Krypto wäre gefährdet, 68,5. Und das ist für Menschen, die uns senden, ihre Anwendungen tatsächlich da sie denken, es ist eine gute Idee, um Sicherheitsüberprüfung. Das sind schon Leute, die wahrscheinlich sicher denken, so ist es wahrscheinlich noch schlimmer. Ich sprach nicht über Steuerleitung Feed Injektion. Es ist etwas, schauen wir nach, aber es ist nicht so riskant ein Problem. Informationslecks, das ist, wo sensible Daten wird das Gerät aus gesendet. Wir fanden, dass in 40% der Anwendungen. Zeit und Staat, das sind Rennen Konditionsart Fragen, in der Regel ziemlich schwer zu nutzen, so dass ich nicht darüber reden, aber wir sahen es. 23% hatten SQL-Injection-Fragen. Viele Menschen wissen nicht, dass eine Vielzahl von Anwendungen mit einem kleinen wenig SQL-Datenbank auf ihre Back-End-Daten zu speichern. Nun, wenn die Daten, die Sie über das Netzwerk zu greifen sind hat SQL-Injection-Angriff Saiten in ihm jemand kann das Gerät durch die Kompromisse, und so denke ich, finden wir etwa 40% der Web-Anwendungen dieses Problem haben, Das ist eine riesige Epidemie Problem. Wir finden es 23% der Zeit in mobilen Anwendungen und das ist wahrscheinlich, weil viele Web-Anwendungen verwenden SQL als mobil. Und dann sehen wir noch einige Cross-Site Scripting, Genehmigungsfragen, und Credential-Management, das ist, wo Sie Ihre hartcodierte Passwort haben. In 5% der Anwendungen sehen wir, dass. Und dann haben wir einige Daten über iOS. 81% hatten Fehlerbehandlungsfragen. Dies ist eher eine Codequalitätsproblem, aber 67% hatten kryptografischen Themen, also nicht ganz so schlimm wie Android. Vielleicht sind die APIs sind ein bisschen leichter, die beispielsweise Codes ein wenig besser auf iOS. Aber immer noch ein sehr hoher Prozentsatz. Wir hatten 54% mit Informationslecks, etwa 30% mit Puffermanagementfehler. Das ist dort, wo es möglicherweise ein Speicherfehler sein. Es stellt sich heraus, dass das nicht so viel von einem Problem für die Ausbeutung auf iOS, weil der gesamte Code muss unterzeichnet werden, so ist es schwer für einen Angreifer, beliebigen Code auf iOS auszuführen. Code-Qualität, Directory Traversal, aber dann Anmeldeinformationen Management hier bei 14,6%, so schlimmer, als auf dem Android. Wir haben die Menschen nicht den richtigen Umgang mit Passwörtern. Und dann die numerische Fehler und Pufferüberlauf, das sind mehr gehen, um Code-Qualität Probleme auf iOS sein. Das war es für meine Präsentation. Ich weiß nicht, ob uns die Zeit oder nicht. Ich weiß nicht, ob es irgendwelche Fragen. [Männlich] Eine kurze Frage um Fragmentierung und dem Android-Markt. Apple-zumindest besitzt Patchen. Sie machen einen guten Job zu bekommen es gibt während weniger so in die Android-Raum. Sie müssen fast auf Ihr Handy jailbreak Laufenden zu bleiben mit der aktuellen Version von Android. Ja, das ist ein riesiges Problem, und so, wenn Sie über-denken [Männlich] Warum kann man es wiederholen? Oh, richtig, so dass die Frage war, was zu Fragmentierung des Betriebssystems auf der Android-Plattform? Wie sieht das die Gefährlichkeit dieser Geräte auswirken? Und es ist eigentlich ein sehr großes Problem, denn was passiert, ist, die älteren Geräte, wenn jemand kommt mit einem Jailbreak für das Gerät, Wesentlichen das ist, Privilegieneskalation, und bis das Betriebssystem aktualisiert keine Malware können dann die Schwachstelle, um das Gerät vollständig kompromittieren, und was wir auf dem Android zu sehen ist, um ein neues Betriebssystem zu bekommen Google hat, löschte das Betriebssystem, und dann die Hardware-Hersteller hat, um sie anzupassen, und dann der Träger, um es zu personalisieren und ausliefern. Sie haben grundsätzlich drei beweglichen Teile hier, und es erweist sich, dass die Träger sich nicht, und die Hardware-Hersteller sich nicht, und Google ist ihnen nicht genug Drängen etwas so wesentlich mehr als die Hälfte der Geräte gibt, zu tun, Betriebssysteme haben, die diese Privilege-Escalation-Schwachstellen in sich haben, und so, wenn Sie auf Ihrem Android-Gerät zu bekommen Malware, es ist viel mehr ein Problem. Okay, ich danke Ihnen sehr. [Applaus] [CS50.TV]