Es gibt zwei Hauptkategorien, wie ein Virus ein System infizieren kann:
Bugs ausnutzen
Eine Möglichkeit, wie ein Virus ein System infizieren kann, besteht darin, Fehler auszunutzen. Angenommen, ein System verfügt über alle Arten von Sicherheit. Wenn Sie jedoch x, y und z nacheinander ausführen (eine Sequenz, die unvorhergesehen als problematisch gilt), können Sie einen Teil des Codes als root ausführen.
Diese Art von Virus kann eine ernsthafte Behandlung sein. Es kann jedoch niemals eine dauerhafte Antwort auf Ihre diesbezügliche Frage geben. Jede Antwort auf diese Art von Virus auf Ihre Frage würde einen ausnutzbaren Fehler beschreiben, der schnell behoben, gepatcht und unausnutzbar gemacht wird.
Wir sehen diese Art von Viren unter Linux hauptsächlich aus zwei Gründen nicht:
- Hacker bemühen sich, einen Fehler in einem System zu finden, und fühlen sich dabei großartig. Im Falle von Windows gibt es nicht viel zu tun, außer den Fehler auszunutzen und einen Virus zu schreiben. Im Falle von Linux können sie einen Patch senden, um den Fehler zu beheben und zusätzlich mit Ruhm belohnt zu werden. Wenn Sie den Nachrichten folgen, hören Sie gelegentlich von einem Forscherteam, das einen Exploit in einer freien Software (nicht nur Linux, z. B. Heartbleed ) findet und repariert, aber Sie hören nie von einem Hacker, der einen Exploit in Windows findet, obwohl das Scher Anzahl von Windows-Viren zeigen, dass diese Fehler zahlreich sind.
- GNU / Linux-Distributionen haben im Allgemeinen ausgezeichnete Paketmanager. Die gesamte Software wird häufig aktualisiert und Fehler werden schnell behoben. Unter Windows können viele technisch nicht versierte Benutzer Aktualisierungen deaktivieren, weil sie ärgerlich sind. (Wurden Sie noch neu gestartet? Wurden Sie noch neu gestartet? Wurden Sie noch neu gestartet? Fahren Sie herunter, warten Sie bitte auf unbestimmte Zeit.) t, Updates kommen nur für den Kern von Windows und sonst nichts. Jeder Virus, der diese Art von Fehler ausnutzt, hat eine höhere Chance, lange auf Windows zu leben und sich so weiter auszubreiten.
Benutzer ausnutzen
Eine andere Möglichkeit, wie ein Virus ein System infizieren kann, besteht darin, einen Benutzer dazu zu verleiten, dies zu tun. Laden Sie eine Anwendung aus dem Internet herunter, führen Sie sie aus und bringen Sie den Virus auf sich. GNU / Linux-Distributionen verwenden Paketmanager, die sicherstellen, dass es sich bei den ausführbaren Dateien um solche handelt, die von vertrauenswürdigen Paketmanagern aus dem Quellcode erstellt wurden. Wenn ein Paketmanager nicht böswillig ist, kann kein Virus eindringen. Unter Windows müssen Sie jede Anwendung von einer anderen Website herunterladen Davon bieten weder HTTPS noch ein Hash der ausführbaren Datei an. Es gibt so viele Möglichkeiten, wie ein Virus über diesen Weg gelangen kann, und wir wissen, dass dies der Fall ist.
Dies wäre jedoch an sich nicht so problematisch, wenn der Benutzer keinen Root-Zugriff hätte. Unter Windows ist dies im Allgemeinen die Standardeinstellung: Der erste (und normalerweise einzige) Benutzer verfügt über Administratorrechte. Es ist so, als würde man sich unter Linux als root anmelden. Unter Linux werden Sie jedoch aufgefordert, Root-Kennwörter für alle Elemente einzugeben, die Ihre Anwendungen berühren (z. B. in /usr/bin
), sodass sich kein Virus wirklich ohne Ihre Benachrichtigung "einschleichen" kann.
Bei dieser Art von Virus besteht die Antwort auf Ihre Frage darin, einen Virus zu schreiben, der nicht Open Source ist, unter dem Vorwand, etwas anderes zu tun, um Root-Berechtigung zu bitten und dann eine große Anzahl von Personen davon zu überzeugen, dass diese Anwendung nur verfügbar ist in binär und geben Sie es root-Berechtigung.
Das ist im Grunde kein Virus mehr. Es hätte auch "Anweisungen zum Formatieren Ihrer Festplatte" für Personen sein können, die nichts wissen.
Die erfolgreichsten Fehler sind diejenigen, die sowohl die Fehler als auch die Benutzer ausnutzen. Stellen Sie sich vor, wie einfach das mit Windows ist:
- Nehmen Sie Anwendung X, die Dateien des Typs Y öffnet. Vergewissern Sie sich, dass die Anwendung sich nicht selbst aktualisieren kann (da Softwareupdates unter Windows nur unzureichend unterstützt werden (nicht), ist es sehr einfach, Anwendungen zu finden, die keinen Updater enthalten). Sie können es sogar einfacher machen und Open Source verwenden, beispielsweise inkscape.
- Suchen Sie in der Anwendung einen Fehler, mit dem Sie Code ausführen können. Zum Beispiel ein Pufferüberlauf, der es sogar ermöglicht, eine nicht ausführbare Datei wie ein Image zu öffnen und trotzdem die Kontrolle über die Software zu übernehmen.
- Verbreiten Sie Ihren Virus auf alles, was Sie können, da Sie wahrscheinlich root-Zugriff auf alles haben. Dies schließt die Buggy-Software selbst ein, so dass sie zukünftige Dateien automatisch infizieren oder sogar sicherstellen kann, dass die Software niemals in der Lage ist, sich selbst zu aktualisieren.
- Der Virus würde irgendwann entdeckt werden, aber da die fehlerhafte Software niemals aktualisiert wird, wandert er weiter.
Vergleichen Sie nun die Situation mit Linux. Der Fehler, den Sie finden, lebt möglicherweise nicht so lange, wie die fehlerhafte Software gepatcht und aktualisiert wird, sobald der Virus gefunden wird. Selbst wenn Sie die Software in den Griff bekommen, können Sie am meisten Schaden anrichten, indem Sie die Benutzerdateien und nicht die Systemdateien infizieren. In dem Beispiel von Viren, die an Bilder angehängt sind, könnte die Software selbst nicht infiziert werden, und die einzige Übertragungsmethode wäre das Bild selbst durch den Benutzer. Dies bedeutet nicht, dass das Virus nicht existieren kann, aber dass es erheblich schwach und langweilig wäre. Niemand würde sich rühmen, einen langweiligen Virus geschrieben zu haben.