Folgendes:
1. Woher soll der Virus kommen?
- Exploits sind auf Linux aus den schon erwähnten Gründen (unzählige Softwareversionen, massenhaft unterschiedlich compilierte Software etc.) bei Linux selten in großem Umfang ausnutzbar und äußerst kompliziert zu schreiben.
- Die meisten Benutzer von *NIX Systemen haben im Moment genug Ahnung nicht jeden Mist auszuführen, den sie per Mail erhalten und selbst wenn sie es tun würden, dann würden sie es nicht mit Rootrechten machen und der Virus müsste erst wieder irgendwas exploiten.
- Viren aus dem Autostart sind für Linux kaum bis garkeine Gefahr, da diese auch nur mit Userrechten ausgeführt werden würden und für sie das selbe wie oben gelten würde, zumal bei eigentlich allen Distributionen Automount != Autostart
- Hauptanlaufstelle für Viren die nicht per Exploit eingefangen werden sind bei Windows Viren aus illegalen Softwarepaketen oder zweifelhaften Internetinhalten. Illegale Software ist auf Linux so gut wie unbekannt und die Quellen für legale Software sind in fast allen fällen vertrauenswürdig (einer der Opensource Vorteile!). Die Browser die zweifelhafte Internetseiten öffnen werden auch nur als User ausgeführt, daher siehe oben.
2. Was soll der Virus machen?
- Der Autostart ist bei Linux nicht so versteckt wie bei Windows, da keine Registry. Man kann wesentlich einfacher überprüfen was sich da startet und es gegebenfalls entfernen (zur Not mit Live-CD und chroot). Des weiteren ist der Autostart nicht einheitlich gelöst. Fast alle Distributionen verwenden unterschiedliche Startscripts und Initstyles, sodass es schon eine Programmiertechnische meisterleistung wäre einen Autostart zu schreiben, der auf allen Distries' funktioniert.
- Der Virus kann ohne Rootrechte auf den meisten Systemen nichteinmal einen festen Port öffnen um sich weiterzuversenden, daher muss er zwangsweise erst Rootrechte erlangen um "produktiv" zu werden. Diese jedoch sind nur per Exploit zu bekommen, da mind. 98% der gefahrbehafteten Anwendungen nicht als Root ausgeführt werden
- Falls er Rootrechte hat ist es ihm so gut wie unmöglich andere Software zu manipulieren, da es für fast jede Software mindestens ein alternatives Programm gibt, jene bei so zimlich jedem Rechner in anderen Verzeichnissen liegt, andere Konfig Dateien hat und es keine zentrale Stelle gibt herauszufinden, was installiert etc. ist (-> keine Registry!)
- Sollte es ein Virus doch schaffen andere Software zu manipulieren, dann wird diese meistens regelmäßig und auf distributionsabhängige Weise geupdated (wodurch wiederum die Änderungen verfallen würden)
- Eigene Serverdienste zu erstellen wird für ihn über dies hinaus meistens schwer werden, da die meisten *NIX Systeme durch Firewalls geschützt werden, die das nicht zulassen und wiederum auch erst manipuliert werden müssten, was wieder nur als Root geht.
3. Kann ein Virus von Windows auf Linux/BSD mutieren?
- Nein. Das hängt mit dem Bytecode zusammen. BSD und Linux benutzten andere Interrupts, andere Binärformate, andere Libraries und einen komplett anderen Systemaufbau im Gegensatz zu Windows.
- Wenn Teile des Kernels übernommen sind, bedeutet das, dass manche Routinen (z.B. die Speicherzuweisung) einen ähnlichen Kernelinternen Quelltext verwenden, was aber nicht heißt, dass sie mit den gleichen Funktionsaufrufen versehen sind oder sonst irgendwie kompatibel sind.
4. Kann ein nicht geöffneter Virus bei *NIX dafür sorgen, dass er weiterverbreitet wird?
- Dazu müsste er erst wieder eine andere Software per Exploit kompromitieren (vom "Hersteller" aus geht wegen OpenSource so gut wie nicht), was aus den oben genannten Gründen unwahrscheinlich ist.
- Der User des Systems könnte den Virus weiterschicken, was er aber wohl kaum mitwissend tun wird und was ohne sein Mitwissen auch unwahrscheinlich ist, da es keine einheitliche zu manipulierende Softwareschnitstelle (wie Outlook) hierfür gibt.
- Der Virus kann sich gar nicht / kaum in Dateien die auf Servern angeboten werden kopieren, da deren Standpunkt für ihn nicht herausfindbar ist [auch hier wieder bedingt durch uneinheitliche Softwareschnitstellen (z.B. von Rechner zu Rechner unterschiedliche Pfade der httpd.conf) ]