Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

Malware durch die Hintertür: Windows-Schädling läuft auf dem Mac

Malware für Windows kann auf macOS keinen Schaden anrichten, das galt bislang als Selbstverständlichkeit. Aber durch ein erschreckend simples Verfahren lassen sich auf Apples Desktops und Notebooks Windows-Programme mit Schadcode ausführen. Cupertinos Schutztechnologie namens Gatekeeper bekommt davon nichts mit.


Mono macht Windows-Schädling lauffähig
Zum Einsatz kommt dabei Mono. Diese Software ermöglicht es, auf Macs und Linux-Rechnern Windows-Programme auszuführen, die mit dem .NET-Framework erstellt wurden. Kriminelle haben nun Code, der scheinbar für Microsofts Betriebssystem geschrieben wurde, in gefälschte App-Pakete für macOS integriert. Das hat der japanische Softwarehersteller Trend Micro entdeckt und in seinem Blog veröffentlicht.

Die Windows-Malware kommt mit einem gefälschten Little Snitch.
Screenshot: Trend Micro

Gatekeeper prüft keine EXE-Dateien
Werden die gefälschten Apps auf einem iMac, MacPro oder MacBook installiert, kommt der Windows-Schadcode zur Ausführung. Die Kriminellen machen sich dabei eine Schwachstelle in macOS zunutze: Gatekeeper überprüft keine Software, die für andere als Apples hauseigene Rechner geschrieben wurde. Der Torwächter kümmert sich daher schlicht nicht um die in den App-Paketen enthaltenen EXE-Dateien, weil er sie nicht als auf macOS lauffähige Programme erkennt.

Gefälschtes Paket von "Little Snitch"
Die Sicherheitsforscher von Trend Micro haben die potenzielle Windows-Malware in einem gefälschten Installationspaket der beliebten Firewall-Software "Little Snitch" entdeckt. Dieses enthielt eine ausführbare Datei namens "installer.exe" sowie das Mono-Framework, das die Ausführung des Schadcodes ermöglicht. Nach dem Start sammelte die Windows-Anwendung unverzüglich Informationen über den Rechner und die eingesetzte Version von macOS sowie die installierten Programme und schickte diese an einen entfernten Server. Zusätzlich lud sie Dateien aus dem Internet herunter und speicherte sie auf dem befallenen Mac. Anschließend wurde weitere Malware auf dem Rechner installiert, dabei erschienen auf dem Bildschirm gefälschte Setup-Routinen beispielsweise des Flash-Players oder von Little Snitch.

Malware kann Schadcode nachladen
Bislang richtet die von Trend Micro entdeckte Malware offenbar noch keine Schäden auf den befallenen Mac-Rechnern an. Das könnte sich aber jederzeit ändern, da sie in der Lage ist, entsprechenden Code von den Servern der Kriminellen herunterzuladen und auszuführen. Die Schadsoftware zielt darüber hinaus ausschließlich auf Mac-Nutzer, auf Windows-Rechnern bricht die Installation mit einer Fehlermeldung ab.

Programme aus dem App Store sind sicher
Wer sich vollständig vor derartigen Schädlingen schützen will, muss in den Sicherheitseinstellungen von macOS festlegen, dass Programme ausschließlich aus dem App Store heruntergeladen werden dürfen. Wann Apple die von Trend Micro entdeckte Schwachstelle in Gatekeeper behebt, ist bislang nicht bekannt.

Kommentare

marco m.
marco m.13.02.19 15:30
Ich weiß schon, warum ich nichts, als die integrierte Firewall und Apps aus dem Store nutze.
Chevy Chase: Twenty years ago, we had Steve Jobs, Johnny Cash and Bob Hope. Now we have no jobs, no cash, and no hope. Please, don't let Kevin Bacon die!
-4
TerenceHill
TerenceHill13.02.19 15:56
Wer sich Cracks oder ähnliches (u.a. Torrent Netzwerken) lädt, dem geschieht es nicht anders. Wenn man App’s aus dem App Store oder von vertrauenswürdigen Webseiten kauft, dann ist man fein raus und man unterstützt die Arbeiten der jeweiligen Entwicklern. Die Ideen und der dazugehörige Programmieraufwand muss bezahlt werden. ☺️
+11
Mecki
Mecki13.02.19 16:02
Der Torwächter kümmert sich daher schlicht nicht um die in den App-Paketen enthaltenen EXE-Dateien, weil er sie nicht als auf macOS lauffähige Programme erkennt.
Weil sie auch keine lauffähigen Programme sind. Auch mit Mono ist eine EXE Datei nicht direkt am Mac lauffähig, sondern das Mono Framework öffnet die EXE Datei, lädt Code aus ihr und führt diesen Code dann aus. Und das Mono Framework ist korrekt signiert und deswegen lässt Gatekeeper es auch gewähren. Nur bietet Mono eben keine Sandbox und Mono führt auch keine Signaturprüfung durch (sind EXE Dateien überhaupt signiert?)

Das ist so wie wenn man einen Schädling in Python schreibt. Man muss das Skript nicht ausführbar machen oder ihm die Endung .py geben. Gatekeeper wird das Skript dann garantiert nicht prüfen und Skripte sind sowieso nie signiert. Dennoch lässt sich das Skript ausführen über den Python Interpreter und der ist ja korrekt signiert, sogar von Apple, ergo lässt Gatekeeper den auch gewähren, der lädt dann das Skript und arbeitet dann die Anweisungen ab und das Skript darf dann alles tun, was der Python Interpreter darf.

Davor kann und wird Gatekeeper nie schützen können und das ist der Grund, warum Apple unter iOS verbietet, dass eine App Code nachladen darf, auch dann nicht, wenn dieser nicht direkt ausführbar ist z.B. ein C64 Emulator lädt C64 Code nach - auch das ist verboten, obwohl ja C64 Code nicht direkt lauffähig auf einem iPhone ist, aber eben durch den Emulator lauffähig wird. Und Mono ist sozusagen ein crossplattform .NET Emulator, wenn man so möchte.
+15
sierkb13.02.19 16:45
Patrick Wardle, 13.02.2019
btw, there's no Gatekeeper bypass/issue! 😬

The app's main binary is a standard (machO) binary that Gatekeeper validates & will block if unsigned/cert revoked.

Once user allows it to run, of course can load & execute a Mono/.Net assembly (e.g. Installer.exe) or anything else...
Q:
Patrick Wardle, 12.02.2019
🍎👾🖼️ Added sample(s) of the "Windows Malware that Runs on macOS" to our malware collection. Download: https://objective-see.com/downloads/malware/InstallCap.zip … (password: infect3d)

Based on it's bundle id ('com.installcapital.www') calling it OSX.InstallCap

Details:
https://blog.trendmicro.com/trendlabs-security-intelligence/ windows-app-runs-on-mac-downloads-info-stealer-and-adware/
Q:

Golem (12.02.2019): Schadsoftware: Mac mit .exe-Datei infizieren
Eine Windows-Schadsoftware für den Mac: Durch einen Trick lässt sich eine .exe-Datei auf dem Mac ausführen - und damit die Schutzfunktion Gatekeeper umgehen.

ars technica (11.02.2019): Hackers keep trying to get malicious Windows file onto MacOS
Clever trick may be ham-fisted attempt bypass Gatekeeper protections built into macOS.
ars technica, 11.02.2019
In 2015, macOS security expert Patrick Wardle reported a drop-dead simple way for malware to bypass Gatekeeper . The technique worked by bundling a signed executable with a non-signed executable. Apple fixed the bypass weakness after Wardle reported it. Company representatives didn’t immediately respond to an email seeking comment about the reported ability of EXE files to bypass Gatekeeper.
+2
verstaerker
verstaerker13.02.19 16:52
aber woher bekomme ich denn ein gefälschtes LittleSnitch Paket? Wohl kaum vom Hersteller oder?
+3
rosss13.02.19 17:03
verstaerker

Von Torrent-Seiten, wird im originalen Artikel auf der trendmicro Seite genannt.

Ist es denn prinzipiell möglich den Namen des Mono-Frameworks zu ändern, oder funktioniert die Signatur dann nicht mehr?

Auf jeden Fall kann es nicht schaden, bei einem aus dem Netz geladenen Installer bzw. Programm per Rechtsklick den Paketinhalt zu überprüfen, ob ein Ordner „MonoBundle“ und/oder eine *.exe enthalten ist…
+6
Embrace13.02.19 17:11
Angreifer könnten den legalen Download auf der Herstellerseite manipulieren (bei Handbrake vor einiger Zeit passiert). Außerdem ist es möglich, dass so eine App fälschlicherweise auch für den App Store zugelassen werden könnte.

Mit „Ich kaufe nur legal und nach mir die Sintflut” löst man das Problem. macOS hat hier ganz offensichtlich eine Schwachstelle, die gefixt werden muss. Dass man bei Torrents und Co. natürlich eine wesentlich höhere Gefahr hat, sich sowas ins Haus zu holen, sollte jedem klar sein. Dann braucht es aber auch die Monovariante nicht, da bei manipulierten Apps ganz einfach das Adminpasswort abgefragt wird. Da bringt auch Gatekeeper nichts (also für unsere Piratenfreunde).
+1
TerenceHill
TerenceHill13.02.19 17:12
verstaerker
aber woher bekomme ich denn ein gefälschtes LittleSnitch Paket? Wohl kaum vom Hersteller oder?

Bereits beantwortet. Schau mal oben.... 😉
+1
sierkb13.02.19 17:17
verstaerker
aber woher bekomme ich denn ein gefälschtes LittleSnitch Paket? Wohl kaum vom Hersteller oder?

Doch, zuweilen auch von dort, wenn dessen Website zum Beispiel gehackt und ihm präparierte Software im Download-Bereich untergeschoben wird, die er dann unwissentlich weiterverteilt, so geschehen z.B. 2016 bei Transmission , .

Apple verteilt übrigens ebenfalls die eine oder andere maliziöse App (inzwischen sind's so einige und nicht wenige, die von anderen gefunden worden sind und immer wieder werden) über seinen Mac- oder iOS AppStore bzw. hat immer mal wieder. Trotz angeblicher vorheriger Kontrolle durch sie selbst (eigenartigerweise stoßen immer nur andere von außen kommend drauf, wenn sie es mal genauer überprüfen – Apple leider offenbar nie selbst bzw. regelmäßig nicht selbst).
Apples AppStore-Konzept und die dort und in seinen Betriebssystemen eingezogenen Sicherheitsmechanismen versagen da regelmäßig auf kompletter Linie.
+2
ssb
ssb13.02.19 18:12
Mecki:
Ja, das ist die allgemeine Krux daran, dass man Code einmal für viele Plattformen machen möchte - sonst müsste man zusätzliche Entwickler einstellen, die für diese Plattformen nativen Code entwickeln können. Das Beispiel für Python ist da ganz passend, geht auch mit PERL, Shell Script etc. Noch perfider geht es mit den Install-Skripten eines PKG-Installer. Die werden unter Umständen mit Admin-Rechten ausgeführt und können dann fast alles machen, was sie trotz SIP tun können, falls SIP aktiviert ist. Ein "rm -rf /" im Pre-Install-Skript kann schon vieles löschen, wenn das PKG nur geöffnet wurde.
Das kritische mit .NetCore/Mono ist nur, dass eine Unmenge von mehr oder minder begabten Malware-Entwicklern ihren Code von Windows auf macOS portieren können. Somit ist .NetCore/Mono ein Sicherheitsrisiko, welches Microsoft jetzt auf konkurrierende Plattformen los lässt - so wie früher Adobe das mit ihrem Flash getan hatte.
Übrigens - für Windows gibt es Authenticode, ähnlich zu Codesign bei Apple - und das funktioniert auch für .Net. Zudem hat .Net intern noch ein paar weitere Sicherheitsmechanismen. Die sind nicht perfekt - es wird nie perfekte Lösungen geben. Diese Mechanismen sind aber bei Mono nicht implementiert, teilweise auch, weil damit Urheberrechte von Microsoft verletzt worden wären. Im Übrigen benutzen sehr viele Spiele, die mit dem Unity-Framework gebaut wurden, ebenfalls Mono und bieten daher die gleichen Angriffsflächen. Es wundert da schon, dass Unity-Spiele auf iOS verfügbar sind - aber da wird der Code nicht nachgeladen. Müsste Malware aber auch nicht tun um Schaden anzurichten. Immerhin läuft der Code dann wenigstens in einer Sandbox.
Ich warte dann noch auf die nächste Warnung zu Apps die mit Electron/Node.js o.ä. gebaut wurden. Die funktionieren mit JavaScript via WebKit - und das ist auch nicht ohne Lücken.

Also wenn, dann müsste man nicht nur davor warnen, sich Software aus dubiosen Quellen zu beschaffen - sondern auch vor Software, die nicht mit Xcode entwickelt wurde. Illegale Beschaffung von Software ist ansonsten nicht die Ursache für Malware, nur ein Infektionsweg - wie bereits erwähnt kann man sich auch über legale Kanäle infizieren. So wie ausschweifende Sexualität nicht die Ursache für AIDS ist - mangelnder Schutz aber die Ausbreitung beschleunigt. Kondome schützen - Regierungen nicht. Dieses Bild übertragend kann Apple keinen 100% Schutz bieten, Apple kann nur Hilfsmittel anbieten, Aufklärung leisten, etc. - schützen muss sich der Anwender mit einer Art Kondom für sein Verhalten und seine Gier im Internet selbst. Früher nannte man das Eigenverantwortung, die ist aber manchmal unbequem. Wenn man einen Fehler beging, dann musste man ihn ausbaden und hat hoffentlich was daraus gelernt.
+1
aMacUser
aMacUser13.02.19 18:26
Mecki
Davor kann und wird Gatekeeper nie schützen können und das ist der Grund, warum Apple unter iOS verbietet, dass eine App Code nachladen darf, auch dann nicht, wenn dieser nicht direkt ausführbar ist z.B. ein C64 Emulator lädt C64 Code nach - auch das ist verboten, obwohl ja C64 Code nicht direkt lauffähig auf einem iPhone ist, aber eben durch den Emulator lauffähig wird. Und Mono ist sozusagen ein crossplattform .NET Emulator, wenn man so möchte.
Interessant, dass es im Mac App Store scheinbar nicht verboten ist. Denn mit WinOnX gibt es ja einen Windows-Emulator im Mac App Store.
-2
Mecki
Mecki13.02.19 19:18
aMacUser
Interessant, dass es im Mac App Store scheinbar nicht verboten ist. Denn mit WinOnX gibt es ja einen Windows-Emulator im Mac App Store.
WinOnX lädt keinen Code nach. WinOnX ist nur eine Emulator und den Code musst du ihm selber füttern, wo auch immer du den dann her hast. Emulatoren sind nicht verboten, auch nicht unter iOS, ausführbaren Code aus dem Netz laden ist verboten. Ausnahme ist JavaScript von Webseiten und hier sagt Apple unter iOS, dass du das nur mit WebKit machen darfst, also mit ihrer eigenen JS Engine.
+5
Pixelmeister14.02.19 00:15
sierkb
eigenartigerweise stoßen immer nur andere von außen kommend drauf, wenn sie es mal genauer überprüfen – Apple leider offenbar nie selbst bzw. regelmäßig nicht selbst
Naja, wenn sie selbst auf Malware stoßen (das wird wahrscheinlich täglich sein), werden wir das einfach nicht erfahren. Das ist halt so – die Arbeit vom Verfassungsschutz und BND bekommen wir ja auch nur mit, wenn sie mal Mist bauen.
0

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.