Czy luka w zabezpieczeniach Ghost wymaga dostępu (podobnie jak w przypadku zalogowanego użytkownika) do danego systemu operacyjnego? Czy ktoś może wyjaśnić „zdalny atakujący, który może wywołać aplikację”? Wydaje mi się, że znajduję testy do uruchomienia w systemie lokalnym bezpośrednio, ale nie ze zdalnego hosta.
Wszystkie informacje, które do tej pory zebrałem na temat podatności na duchy z wielu źródeł (napisy do tych źródeł) zamieściłem poniżej w odpowiedzi na wypadek, gdyby ktoś był ciekawy.
Edytuj, znalazłem swoją odpowiedź :
Podczas audytu kodu badacze Qualys wykryli przepełnienie bufora w funkcji __nss_hostname_digits_dots () programu glibc. Ten błąd można wywołać zarówno lokalnie, jak i zdalnie za pośrednictwem wszystkich funkcji gethostbyname * (). Aplikacje mają dostęp do usługi rozpoznawania nazw DNS przede wszystkim za pośrednictwem zestawu funkcji gethostbyname * (). Te funkcje konwertują nazwę hosta na adres IP.
źródło
Odpowiedzi:
Odpowiedz na moje pytanie od Qualys :
Moje zebrane badania poniżej dla każdego, kto szuka:
Zrzeczenie się
Pomimo tego, co może powiedzieć wiele innych wątków / blogów, sugeruję, aby nie aktualizować natychmiast każdego systemu operacyjnego na ślepo bez dokładnego przetestowania tych
glibc
aktualizacji. Doniesiono, że aktualizacje glibc spowodowały masowe awarie aplikacji, zmuszając ludzi do wycofania aktualizacji glibc do poprzedniej wersji.Nie można po prostu masowo aktualizować środowiska produkcyjnego bez testowania.
Informacje podstawowe
GHOST to błąd „przepełnienia bufora” wpływający na wywołania funkcji gethostbyname () i gethostbyname2 () w bibliotece glibc. Luka ta umożliwia zdalnemu atakującemu, który jest w stanie wykonać wywołanie aplikacji do którejkolwiek z tych funkcji, w celu wykonania dowolnego kodu z uprawnieniami użytkownika uruchamiającego aplikację.
Wpływ
Wywołania funkcji gethostbyname () są używane do rozwiązywania DNS, co jest bardzo częstym zdarzeniem. Aby wykorzystać tę lukę, osoba atakująca musi wyzwolić przepełnienie bufora, podając niepoprawny argument nazwy hosta do aplikacji wykonującej rozpoznawanie DNS.
Aktualna lista zagrożonych dystrybucji Linuksa
RHEL (Red Hat Enterprise Linux) wersja 5.x, 6.x i 7.x
CentOS Linux w wersji 5.x, 6.x i 7.x
Ubuntu Linux wersja 10.04, 12.04 LTS
Debian Linux wersja 6.x, 7.x
Linux Mint w wersji 13.0
Fedora Linux wersja 19 (lub starsza powinna się zaktualizować)
SUSE Linux Enterprise
openSUSE (wersje starsze niż 11 powinny zostać zaktualizowane)
Jakie pakiety / aplikacje nadal używają usuniętego glibc?
( podziękowania dla Gillesa )
W przypadku CentOS / RHEL / Fedora / Scientific Linux:
W systemie Ubuntu / Debian Linux:
Z jakiej wersji biblioteki C (glibc) korzysta mój system Linux?
Najłatwiejszym sposobem sprawdzenia numeru wersji jest uruchomienie następującego polecenia:
Przykładowe dane wyjściowe z RHEL / CentOS Linux v6.6:
Przykładowe dane wyjściowe z systemu Ubuntu Linux 12.04.5 LTS:
Przykładowe dane wyjściowe z Debian Linux v7.8:
Kontrola podatności GHOST
University of Chicago udostępnia poniższy skrypt do łatwego pobierania:
Skompiluj i uruchom w następujący sposób:
Red Hat Access Lab: narzędzie GHOSTNie używaj tego narzędzia, jego raportowanie jest nieprawidłowe, moduł sprawdzania luk Qualys jest dokładny.Łatanie
CentOS / RHEL / Fedora / Scientific Linux
Teraz uruchom ponownie, aby zastosować:
Alternatywnie, jeśli twoje lustro nie zawiera najnowszych pakietów, po prostu pobierz je ręcznie. * Uwaga: dla bardziej zaawansowanych użytkowników
CentOS 5
CentOS 6
Ubuntu / Debian Linux
Uruchom ponownie:
SUSE Linux Enterprise
Aby zainstalować tę aktualizację zabezpieczeń SUSE, użyj YaST online_update. Lub użyj następujących poleceń zgodnie z wersją:
SUSE Linux Enterprise Software Development Kit 11 SP3
SUSE Linux Enterprise Server 11 SP3 dla VMware
SUSE Linux Enterprise Server 11 SP3
SUSE Linux Enterprise Server 11 SP2 LTSS
SUSE Linux Enterprise Server 11 SP1 LTSS
SUSE Linux Enterprise Desktop 11 SP3
Na koniec uruchom wszystkie wersje SUSE Linux, aby zaktualizować system:
OpenSUSE Linux
Aby zobaczyć listę dostępnych aktualizacji, w tym glibc w systemie OpenSUSE Linux, wpisz:
Aby po prostu zaktualizować zainstalowane pakiety glibc nowszymi dostępnymi wersjami, uruchom:
Prawie każdy program działający na twoim komputerze używa glibc. Musisz ponownie uruchomić każdą usługę lub aplikację korzystającą z glibc, aby upewnić się, że łatka zadziała. Dlatego zalecane jest ponowne uruchomienie komputera.
Jak zrestartować init bez restartowania lub wpływania na system?
Natychmiastowe ograniczenie zagrożenia w ograniczony sposób polega na wyłączeniu wstecznego sprawdzania DNS we wszystkich usługach publicznych. Na przykład możesz wyłączyć sprawdzanie odwrotnego DNS w SSH, ustawiając
UseDNS
nano
w swoim/etc/ssh/sshd_config
.Źródła (i więcej informacji):
źródło