Wie können wir unter iOS und OS X wissen, was eine Anwendung wirklich tut?
Unter OS X können Sie immer Folgendes tun: Klicken Sie mit der rechten Maustaste auf eine .app und "Paket anzeigen". Contents -> MacOS
und doppelklicken Sie auf die ausführbare Unix-Datei. Das Terminal wird geöffnet und sagt Ihnen irgendwie, was die App tut.
Ich weiß nicht, ob Sie davon gehört haben, aber anscheinend hat jemand den Compiler von Xcode modifiziert, um Malware zu Apps hinzuzufügen. Dieser modifizierte Compiler ist, wie die Medien sagen, in China weit verbreitet, so dass viele Apps betroffen sind. Wie auch die Medien sagen, hat ein Unternehmen etwa 400 Apps entdeckt, die anscheinend infiziert sind.
Meine Frage ist nun, wie Sie feststellen können, was eine App unter iOS tut. So stellen Sie fest, ob es Malware oder etwas anderes Schädliches enthält.
Und gibt es eine andere Möglichkeit, festzustellen, was Apps unter OS X tun, als die ausführbare Unix-Datei zu starten, die sich im Paket der App befindet?
Kurze Antwort: Sie können es nicht wissen
Eine etwas längere Antwort: Das einfache Ausführen und Verwenden der Anwendung zeigt Ihnen nicht, was hinter den Kulissen vor sich geht. Um sich damit zu befassen, müssen Sie die Anwendung in einer Debugging-Umgebung ausführen, um Daten und Prozessabläufe zu analysieren, alle erstellten Unterprozesse zu verfolgen, die von der Anwendung initiierte Netzwerkkommunikation zu überwachen usw. usw. Da dies ziemlich umständlich ist und erfordert viel Können und Erfahrung, kommt es am Ende meist auf Vertrauen an.
Sie können nicht wirklich bestimmen, was eine App tut, wenn Sie nicht versuchen, herauszufinden, was ihr Bytecode tut. Aus Netzwerkperspektive können Sie mit so etwas wie LittleSnitch den gesamten ein- und ausgehenden Datenverkehr Ihres Computers anzeigen.
Ich bin mir nicht sicher, ob ich andere Apps auf Malware überprüfen soll, aber Apple hat eine E-Mail mit Informationen verschickt, wie Sie überprüfen können, ob Ihre Version von Xcode Malware enthält. Sie empfehlen, dass Sie es immer aus dem Mac App Store oder ihrer Entwickler-Website herunterladen. Wenn Sie es von einem anderen Ort (USB-Laufwerk) installieren müssen, befolgen Sie diese Schritte.
Um die Identität Ihrer Kopie von Xcode zu überprüfen, führen Sie den folgenden Befehl im Terminal auf einem System mit aktiviertem Gatekeeper aus:
spctl --assess --verbose /Applications/Xcode.app
Dabei ist /Applications/ das Verzeichnis, in dem Xcode installiert ist. Dieses Tool führt die gleichen Prüfungen durch, die Gatekeeper verwendet, um die Codesignaturen von Anwendungen zu validieren. Es kann bis zu mehreren Minuten dauern, bis das Tool die Bewertung für Xcode abgeschlossen hat.
Das Tool sollte das folgende Ergebnis für eine Version von Xcode zurückgeben, die aus dem Mac App Store heruntergeladen wurde:
/Applications/Xcode.app: accepted source=Mac App Store
und für eine Version, die von der Apple Developer-Website heruntergeladen wurde, sollte das Ergebnis entweder lauten
/Applications/Xcode.app: accepted source=Apple
oder
/Applications/Xcode.app: accepted source=Apple System
Jedes andere Ergebnis als „akzeptiert“ oder jede andere Quelle als „Mac App Store“, „Apple System“ oder „Apple“ weist darauf hin, dass die Anwendungssignatur für Xcode nicht gültig ist. Sie sollten eine saubere Kopie von Xcode herunterladen und Ihre Apps neu kompilieren, bevor Sie sie zur Überprüfung einreichen.
Das Problem bei Xcode Ghost ist die Kommunikation zu einem anderen Server. Es wäre also möglich, diese Verbindung zu erkennen, wenn Sie einen Proxy einrichten, wie in dieser Frage hier gefragt , und Wireshark verwenden, um die Verbindungen anzuzeigen. Für HTTP-Verbindungen sollte auch Charles funktionieren. Sie können auch in Xcode im Geräte-Manager das Konsolen-Log sehen, das der Terminal-Ausgabe der Mac-App sehr ähnlich ist. Aber Entwickler können Informationen verbergen, sie müssen nicht jede Prozedur im Terminal/in der Konsole ausdrucken.
Es gibt einige weitere Möglichkeiten, TCP/IP-Verkehr manuell über WireShare zu erkennen oder einige Apps wie ( LitteSnitch , HandsOff , PrivateEye ) zu verwenden. HandsOff ist die einzige App, die auch das Lesen/Schreiben von Dateien und viele andere Dinge verfolgt.
Sie müssen den Entwicklern vertrauen und auch hoffen, dass sie den ursprünglichen Xcode von Apple verwenden. Wir haben nicht genug (automatisierte) Tools, um jede Funktion einer App im Auge zu behalten.
StrohHara
Steve Moser
Benutzer148013
Hamstergen