20-letnia luka w protokole SMB v1, v2 i v3, której Microsoft nie załata

Co tu dużo mówić. Microsoft pojechał po całości i twierdzi, że nie załata zaprezentowanej luki podczas konferencji Defcon, ponieważ dotyczy ona bezpośrednio portu 445, dla którego połączenia przychodzące powinno zostać zablokowane. Według Microsoftu to wystarczy, aby rozwiązać problem. Odmienne zdanie ma Hector Martin "marcan”. Badacz opublikował krótkie PoC i twierdzi, że pomimo wyłączenia wszystkich wersji protokołu SMB, Windows 10 ciągle jest podatny na atak rozszerzonej odmowy dostępu do usługi (DDoS).

Luka zyskała nawet własną nazwę – SMBLoris. Jest to atak typu DDoS, który może być uruchomiony od Windows 2000 do Windows 10, nawet wówczas, kiedy wszystkie wersje protokołów SMB są wyłączone. Podatny jest także Linux ze swoją Sambą oraz protokół NetBIOS na porcie 139. W przypadku Linuksa wystarczy ograniczyć ilość użytkowników łączących się z serwerem w jednym czasie np. do 1000. Można to zrobić edytując plik konfiguracyjny w /etc/samba/smb.conf (ilość użytkowników jaką może obsłużyć serwer w jedynym czasie ograniczona jest przez pamięć RAM):

max smbd processes = 1000

Na czym polega atak?

Standardowo NetBIOS Session Service alokuje dla każdego połączenia TCP 128 KB pamięci, która zwalniania jest dopiero po jego zakończeniu lub po 30 sekundach, jeśli nie wykonano żadnego polecenia. Jeśli w momencie nawiązywania połączenia klienta z serwerem wykorzystamy 65535 portów dla IPv4, to możliwe jest zarezerwowanie do 8GB RAM pamięci operacyjnej. Jeśli wykorzystamy IPv4 oraz IPv6, to możliwe jest zarezerwowanie do 16GB pamięci przy wykorzystaniu wszystkich dostępnych portów (131 070). Jeżeli wykorzystamy 10 adresów IPv4 w jednym czasie, to możemy zarezerwować 655 535 portów oraz do 80GB RAM pamięci.

Scenario Socket Attack Cost Memory Impact
Baseline 1 4B 128KB
Single IPv4 65 535 256KB 8GB
Single IPv6 65 535 256KB 8GB
Dual IPv4 & IPv6 131 070 512KB 16GB
10 IPs 655 535 2.5MB 80GB

Atak rozproszonej odmowy dostępu do usługi (DDoS) czyni podatną maszynę całkowicie bezużyteczną. Microsoft nie udostępni łatki. Zamiast tego proponuje administratorom zablokowanie połączeń przychodzących dla portu 445. Na razie nie przygotowano żadnego exploita, który dałby atakującym możliwość zdalnego wykonania kodu.




Dodaj komentarz