Die Mythen über Malware in Unix / Linux

142

Kann sich meine Linux-Box mit Malware infizieren?

Ich habe noch nie von jemandem gehört, den ich kenne, und ich habe einige Male gehört, dass dies nicht möglich ist. Ist das wahr?

Wenn ja, was ist mit der Linux-Anti-Virus-Software (Sicherheitssoftware) los?

Stefan
quelle
1
Schauen Sie sich diese Quora-Antwort an: goo.gl/UVCsgz Hier werden die Hauptgründe beschrieben, warum Linux / Unix sich in Bezug auf die Wahrscheinlichkeit einer zufälligen Infektion durch Malware von Windows unterscheidet.
Arielf
2
Ein weiterer Artikel, den ich informativ fand, obwohl nicht so gut wie der @arielf verlinkte: linuxmafia.com/~rick/faq/#virus
Wildcard

Antworten:

135

Erstens ist es durchaus möglich, dass unter Unix und Unix-ähnlichen Betriebssystemen wie Linux Viren auftreten. Der Erfinder des Begriffs Computervirus , Fred Cohen, führte seine ersten Experimente unter 4.3BSD durch. Zum Schreiben von Linux-Viren existiert ein How-To-Dokument , obwohl es den Anschein hat, dass es seit 2003 kein Update mehr gab.

Zweitens ist der Quellcode für Sh-Script-Computerviren seit mehr als 20 Jahren im Umlauf. Siehe Tom Duffs Papier von 1988 und Doug McIllroys Papier von 1988 . In jüngerer Zeit wurde für eine Konferenz ein plattformunabhängiger LaTeX-Virus entwickelt. Läuft unter Windows und Linux und * BSD. Natürlich sind seine Auswirkungen unter Windows schlimmer ...

Drittens sind eine Handvoll echter, lebender Computerviren für (mindestens) Linux aufgetaucht, obwohl nicht klar ist, ob mehr als zwei oder drei dieser Viren (RST.a und RST.b) jemals "in the wild" gefunden wurden.

Die eigentliche Frage lautet also: Kann Linux / Unix / BSD keine Computerviren übertragen? Aber warum hat diese Population angesichts der großen Anzahl von Linux-Desktops und -Servern nicht die erstaunliche Virenplage, die Windows anzieht?

Ich vermute, der Grund hat etwas mit dem milden Schutz zu tun, den traditionelle Unix-Benutzer / Gruppen / andere diskretionäre Schutzmechanismen bieten, und mit der zerbrochenen Softwarebasis, die Linux unterstützt. Ich meine, auf meinem Server läuft immer noch Slackware 12.1, aber mit einem speziell kompilierten Kernel und vielen neu kompilierten Paketen. Auf meinem Desktop wird Arch ausgeführt, eine fortlaufende Version. Obwohl sie beide "Linux" ausführen, haben sie nicht viel gemeinsam.

Der Zustand von Viren unter Linux kann tatsächlich das normale Gleichgewicht sein. Die Situation unter Windows könnte der "Drachenkönig" sein, eine wirklich ungewöhnliche Situation. Das Windows - API ist irrsinnig barock, Win32, NT-native API, magische Gerätenamen wie LPT, CON, AUXkann man erkennen, aus einem beliebigen Verzeichnis arbeiten, die ACLs , dass niemand versteht, die Tradition der Single-User, ja einzelne Benutzer root, Maschinen, Markierdateien .exeDies alles kann unter Verwendung eines Teils des Dateinamens ( ) ausgeführt werden und trägt wahrscheinlich zum Status von Malware unter Windows bei.

Bruce Ediger
quelle
35
Ein Problem, das Sie hinter sich gebracht haben, ist, dass Windows ABI seit Jahren stabil ist. (Oder besser gesagt, MS hat sich große Mühe gegeben, all die verschiedenen ABIs, die sie veröffentlicht haben, transparent zu unterstützen. WoW64 zum Beispiel.) Dies bedeutet, dass eine ausführbare Datei, die unter Windows 3.1 ausgeführt wird, möglicherweise unter Windows 7 ausgeführt wird Eine Monokultur in einer Monokultur: Malware-Autoren müssen ihre Programme nicht für jede Windows-Version neu erstellen, wie dies bei Linux häufig der Fall ist.
Warren Young
50
Ich denke, ein weiterer Grund für die geringe Anzahl von Viren in Unix / Linux- und Mac-Systemen ist das Vorhandensein globaler Paketverwaltungssysteme mit standardmäßig konfigurierten vertrauenswürdigen Repositorys. Während Windows online Software von direkten böswilligen Anbietern herunterlädt, die sie beim Googeln finden, durchsuchen Sie auf einem Unix / Linux / Mac mit Ihrer internen Software ein Repository, in dem neue Einträge überprüft und entfernt werden, wenn Probleme festgestellt werden.
Haylem
33
Da Windows das Land des Eigentümers ist (obwohl dies auf anderen Plattformen der Fall ist, schaue ich auf Ihr Mac OS), suchen die Leute in der Regel wesentlich häufiger nach gecrackter Software für diese Plattform als für andere. Und in dunklen Gassen online zu gehen ist nicht anders als in dunklen Gassen im wirklichen Leben: Erwarten Sie Probleme. Wie können Sie darauf vertrauen, dass ein Drogendealer seine Werbung macht? Und in unveränderter Form? Wie können Sie also darauf vertrauen, dass geknackte Softwarehändler für das sorgen, was sie bewerben? Und ohne dass die Software verändert wird?
Haylem
5
Außerdem werden Daten von Code- und Konfigurationsdateien (var & home; bin & usr; etc) getrennt. Suchen Sie in Windows-Programme-Binärdateien, Konfigurationsdateien, Daten (MS SQL). Sie können Verzeichnisse ohne Exec für Daten bereitstellen. Apps führen nicht jede Datei aus, die Sie auf sie werfen (Mail-Client-Textverarbeitungsprogramme). Code zur Überprüfung öffnen. Schnelle Behebung von Problemen (Überprüfen Sie die Antwortzeit für RedHat- und Debian-Leute nach einer im Kernel gefundenen Bedrohung). Wenn ein Problem festgestellt wurde - die Distribution drückt ein Update (mir war zum Beispiel nicht klar - KDE sucht nach dem + x-Flag auf Desktop-Verknüpfungen, um sie auszuführen, welches Feature irgendwann fehlte)
Jet
1
Haylems obiger Kommentar ist richtig, es wäre interessant zu sehen, ob dies "wegweisend" ist, um das "sehr sichere" Image von OSX-Macs ein paar Jahre später zu reduzieren ... Ich sehe fast jeden Tag Fehler unter OSX , weil Benutzer gecrackte Software heruntergeladen und installiert haben (die durchschnittliche Person scheut nicht einmal die Ausführung von 'file.sh', die im Terminal geöffnet wird, und die Eingabe ihres Administratorkennworts!)
forgotstackxpassword
49

Es hilft, die Verbreitung von Viren in Windows zu verhindern


Denken Sie daran, dass Linux auf vielfältige Weise verwendet wird, beispielsweise als Datei- und E-Mail-Server.

Dateien auf diesen Servern (MS Office-Dateien, Outlook-Nachrichten, EXE-Programme) können mit einer Infektion gespeichert werden.

Auch wenn sie sich nicht auf die Server selbst auswirken sollten, kann der Server so konfiguriert werden, dass jede gespeicherte Datei zu dem Zeitpunkt überprüft wird, um sicherzustellen, dass sie sauber ist, und um eine zukünftige Verbreitung zu verhindern, wenn sie zurück auf einen Windows-Computer verschoben werden.

Ich selbst habe es installiert, wenn ein Freund mich fragt, warum sein Windows-Computer nicht funktioniert, oder wenn ich meinen USB-Stick an einen Windows-Computer anschließe.

lamcro
quelle
39
+1 Der eigentliche Grund für das Vorhandensein von AV-Software unter Linux liegt nicht darin, nach Problemen zu suchen, die das System betreffen könnten, sondern nach Problemen, die andere Systeme betreffen könnten (z. B. Windows).
Xenoterracid
1
Dies sollte eine akzeptierte Antwort sein. Der Rest meines Haushalts benutzt Windows. Ich halte es für sicherer, fremde Flash-Laufwerke an meinen Linux-Desktop anzuschließen, sie zu scannen und sie dann für sicher zu erklären, damit sie mit anderen Computern im Haushalt verbunden werden können.
Johan
Das ist eine wirklich coole Sichtweise; Viele Leute benutzen Linux wie dieses (usb), haben aber wahrscheinlich nie wirklich gemerkt, dass es unter Linux auch einen anwendungsbasierten Scan auf Windows-Viren geben könnte.
forgotstackxpassword
1
Ich starte meinen Windows-PC selten von einem Linux-USB-Laufwerk neu, damit ich AV-Scans ausführen kann.
Jesse Chisholm
23

Viren für Linux sind grundsätzlich möglich und es gab einige, in der freien Wildbahn gibt es jedoch keine weit verbreiteten Linux-Viren. Die Linux-Benutzerbasis ist ziemlich klein und unter Linux ist es für einen Virus viel schwieriger, großen Schaden anzurichten, da das Benutzermodell im Gegensatz zu z. B. Windows XP ziemlich restriktiv ist. Daher richten sich Virenautoren normalerweise gegen Windows.

Es gibt Linux Anti-Virus-Software, z. B. von McAfee, aber kein mir bekannter Linux-Benutzer verwendet eine solche Software. Es ist bei weitem wichtiger, nur Software von vertrauenswürdigen Quellen zu installieren und Ihr System stets auf dem neuesten Stand zu halten, indem Sie Sicherheitsupdates rechtzeitig installieren.

fschmitt
quelle
3
Ich möchte nur hinzufügen, dass selbst wenn Sie es schaffen, einen Virus zu bekommen (in meinen 10 Jahren unter Linux habe ich noch nie einen gesehen), das schlimmste Szenario darin besteht, dass Ihr Benutzerordner kompromittiert wird.
Patkos Csaba
37
Nein, das schlimmste Szenario ist ein vollständiger Systemkompromiss. Die Kernel-Leute haben gerade vor ungefähr sechs Wochen eine riesige Lücke im Kernel geschlossen, durch die jedes GUI-Programm ihre Berechtigungen auf die Root-Ebene ausweiten konnte. Wenn Sie ein bisschen googeln, werden Sie andere vergangene Löcher dieser Art finden. Es ist wahr, dass Linux in vielerlei Hinsicht eine bessere Sicherheit bietet als Windows, aber wie bei jeder anderen Codebasis mit Millionen von Codezeilen können Sie sicher sein, dass noch weitere Lücken zu finden sind. Ich würde auch befürworten, dass Systeme gepatcht bleiben und nicht Antivirus, aber Sie sollten auch den Kopf aus dem Sand halten.
Warren Young
6
Ich muss mich mit der "Nutzerbasis ist ziemlich klein" Grund unterscheiden. Der erste wirklich weit verbreitete PC-Virus war "Brain" im Jahr 1988. Sicher hat Linux im Jahr 2010 mehr Desktop-Benutzer als MS-DOS im Jahr 1988. Warum hat Linux nicht mehr Viren? verbreitetes "Gehirn" -Virus?
Bruce Ediger
7
PCs erlangten um 1988 eine klare Plattformdominanz. Der höchste Nagel wird geschlagen, damals wie heute.
Warren Young
6
Echox ist richtig. AV-Software für Linux ist nicht wirklich da, um das Linux-System selbst zu schützen. Es dient zum Scannen von Dateien, die von Linux bereitgestellt werden. Aus diesem Grund betrachten die meisten dieser AVs nur Dateien, die gescannt werden sollen, anstatt Dateien, auf die zugegriffen wird oder die sich auf dem System ändern.
Xenoterracid
21

Historisch gesehen verbreitete sich der erste Internet-Wurm, der Morris Worm , durch Sicherheitslücken in Unix-Dienstprogrammen. Es ist älter als Linux, zeigt jedoch, dass Unix-basierte Systeme infiziert werden können.

KeithB
quelle
2
Der Morris-Wurm war jedoch kein Virus. Ein Virus muss sich an eine andere Software anhängen, während die von Robert Morris geschriebene Software in diesem Sinne unabhängig war. Es war sich selbst replizierend, aber auch selbsttragend und daher eher ein Wurm als ein Virus.
ein
@ MichaelKjörling Malware dann?
Braiam
6

Meiner Meinung nach gibt es neben den in anderen Antworten genannten einen weiteren Grund dafür, dass die Linux-Plattform nicht viele Viren enthält. Der Quellcode fast aller Linux-Komponenten ist frei verfügbar.

Angenommen, ein Team von 5 Mitgliedern entwickelt eine Anwendung. Wir nehmen Tester und einige andere in die Liste auf und höchstens 10 Personen kennen den Code. Von diesen zehn dürften einige nicht genügend detaillierte Kenntnisse des Codes haben. Daher ist die Anzahl der Personen, die den Code gut genug kennen, um auf Fehler und Sicherheitslücken hinzuweisen, sehr gering.

Wenn dieser Code nun als Open-Source-Version freigegeben wird, erhöht sich die Anzahl der Augen, die ihn überprüfen, drastisch. Daher steigt auch die Wahrscheinlichkeit, Sicherheitslücken zu finden.

Diese neuen Mitwirkenden bringen ihre Erfahrungen mit, und oft können neue Augen Schlupflöcher bemerken, die ursprünglich von Entwicklern ignoriert / für selbstverständlich gehalten / übersehen wurden.

Je beliebter die Anwendung ist, desto mehr Mitwirkende hat sie. Ich denke, diese Freiheit / Offenheit trägt zu einer geringeren Anzahl von Schwachstellen der Linux-Plattform bei.

Andrew-Dufresne
quelle
5
Ich hasse es wirklich, das zu sagen, aber die Open- oder Closed-Source-Natur kann nur die Geschwindigkeit beeinflussen, mit der ein bestimmter Fehlerzustand erreicht wird. Siehe: "Milk or Wine" von Andy Ozment ( andyozment.com/papers/… ) und Ross Andersons "Open and Closed Systems are Equivalent" ( cl.cam.ac.uk/~rja14/Papers/toulousebook.pdf )
Bruce Ediger
Vielen Dank, Bruce, dass du die Links geteilt hast. Wird auf jeden Fall durchgehen.
Andrew-Dufresne
3
Welcher Linux-Benutzer überprüft den gesamten Quellcode, bevor er ein ausgibt sudo make install?
Calmarius
5

Es gibt bereits gute Antworten, aber ich möchte trotzdem etwas beitragen.

Einschließlich der einfachen Sicherheitspraktiken, die auch nach all der Zeit noch besser sind als Windows, und all dieser Viren, glaube ich, dass die Probleme größtenteils sozialer Natur sind.

Ich glaube, dass der Hauptfaktor die Vielfalt der Distributionen ist. Dies erhöht den Aufwand, um sicherzustellen, dass ein Virus das hat, was er verbreiten muss. In Kombination mit der Demografie von Linux-Benutzern, die nicht so häufig (imho) auf eine zweifelhafte E-Mail klicken oder sich selbst generell in Gefahr bringen, wird der Erfolg eines Virus weiter gehemmt.

Die Leute sind auch motivierter, Fenster anzugreifen.

Barrymac
quelle
4

Es gibt zwar einige Viren für Linux, aber Sie müssen sich nicht allzu viele Gedanken darüber machen. Sie sind selten genug, um Sie wahrscheinlich ganz zu vermissen.

Worüber Sie sich jedoch Sorgen machen können und sollten, sind Würmer . Diese Programme verbreiten sich im Gegensatz zu Viren, bei denen normalerweise Benutzerinteraktionen erforderlich sind, von selbst auf die Server und nutzen Schwachstellen in Diensten und Plattformen aus. Würmer suchen nach weiteren Servern, um sich zu infizieren, sich auf anfälligen Computern zu installieren und ihr Verhalten häufig zu ändern - z. B. um Windows-Clients mit Viren zu versorgen.

SF.
quelle
3

Die einfache Antwort lautet, dass kein Betriebssystem zu 100% sicher ist, es sei denn, es liest sich beim Start von einem schreibgeschützten Medium und ist zu 100% sicher.

Windows hat jedoch mehr Vektoren für Infektionen, diese Vektoren sind leichter zugänglich, und wenn sie einmal infiziert sind, können sie viel mehr Schaden anrichten. Dies kann leicht durch Lesen des "RootKit Arsenal" oder anderer Bücher gesehen werden.

Die Anzahl der Exploits auf einem Computer ist in etwa proportional zu (Gewinn für das Rooten eines Computers) * Anzahl der Computer / (Kosten für das Erstellen von Root-Malware).

Da die Anzahl der Exploits proportional zur Anzahl der Computer ist, ist es sinnvoll, dass die Menge an Malware unter Windows größer ist.

Aber es ist dumm, den einzigen Grund anzunehmen. Windows hat mehr Viren, weil es mehr Computer gibt, auf denen es ausgeführt wird. Beachten Sie, dass es unter Linux viel billiger ist, sich mit Malware zu infizieren, als unter Windows, da der Schaden stärker eingegrenzt ist. Umgekehrt ist die Menge, die durch eine Wurzelbildung gewonnen wird, kleiner. Beachten Sie auch, dass die Kosten für das Rooten aus den im ersten Absatz genannten Gründen höher sind.

Denken Sie daran, dass dies ab sofort zutrifft. An diesem Punkt ist Linux ein besseres System als Windows. Es gibt jedoch Kräfte, die sagen, dass wir eine schnellere Entwicklung benutzerfreundlicher Funktionen benötigen. Dies kann dazu führen, dass Fehler leichter auftreten und Viren entstehen. Ich finde Ubuntu schon fast so fehlerhaft wie Windows.

HandyGandy
quelle
Das schreibgeschützte Startmedium reduziert nur die Angriffsfläche, verhindert jedoch keine Malware.
Symcbean
re: Windows has more ... computers running it. Nun, mehr Endbenutzercomputer, auf denen es ausgeführt wird. Ich glaube, es gibt mehr Head-less-Server, auf denen eine bestimmte * Nix-Variante (Unix-Variante, Linux-Variante) ausgeführt wird als unter Windows. Die Anfänge von DOS und Windows mit Null-Sicherheit waren ein wichtiger Faktor für die Ausrichtung dieser Plattform.
Jesse Chisholm
1

Andere Antworten haben gute historische Referenzen für Viren unter Unix und Linux geliefert. Weitere aktuelle Beispiele sind die Malware-Kampagnen "Windigo" und "Mayhem" . Diese haben viele tausend Systeme infiziert. Es wurde berichtet, dass Mayhem die Shellshock-Schwachstelle nutzt, um sich auszubreiten.

Für Linux-Malware-Erkennungssoftware stehen sowohl Open Source- als auch kommerzielle Alternativen zur Verfügung. Meiner voreingenommenen Meinung nach ist Second Look am effektivsten . Mithilfe von Speicherforensik und Integritätsprüfung wird Linux-Malware erkannt. Ich bin ein Entwickler von Second Look.

Andrew Tappert
quelle