Poważny błąd w wielu modelach ruterów D-Link

dodał 2 listopada 2014 o 23:12 w kategorii Top  z tagami:
Poważny błąd w wielu modelach ruterów D-Link

Dawno nie pisaliśmy o bezpieczeństwie domowych ruterów WiFi – najwyższy czas opisać kolejną kompromitującą wpadkę producentów tych urządzeń. Tym razem problem dotyczy kodu PIN usługi WPS w licznych ruterach D-Linka.

Bohater wielu naszych artykułów, Craig z serwisu /dev/ttys0, spędza swój wolny czas analizując oprogramowanie wbudowane w domowe urządzenia sieciowe. Tym razem spojrzał w kod rutera D-Link 810L i znalazł tam interesujący i niepokojący fragment oprogramowania.

PIN dla wszystkich

Ładnych kilka lat temu producenci sprzętu WiFi wymyślili łatwiejszy sposób konfiguracji urządzeń dla mniej technicznie rozwiniętych klientów. Zamiast wybierać sposób szyfrowania i podawać długie hasła, w nowej technologii, nazwanej WiFi Protected Setup (WPS) wystarczy podać kod PIN, najczęściej wydrukowany na obudowie urządzenia. Oczywiście technologia ta po pewnym czasie została skutecznie zaatakowana na skutek błędów w implementacji.

Odgadywanie PINu o długości 8 cyfr może być dość żmudnym zajęciem. Okazało się jednak, że ostatnia cyfra to suma kontrola, a pierwsze 4 i kolejne 3 sprawdzane są niezależnie, co zamiast 99 999 999 dało jedynie 11 000 kodów PIN do sprawdzenia, co zajmowało ok. 3h. Producenci odpowiedzieli – dość skutecznie – wprowadzeniem ograniczeń w ilości prób odgadnięcia kodu PIN. Ataki na kod PIN w ruterach D-Link okazują się jednak dużo prostsze – w wielu modelach kod ten obliczany jest na podstawie adresu MAC urządzenia.

Losowy kod PIN nie jest losowy

Craig znalazł w kodzie oprogramowania rutera fragment odpowiedzialny za obliczanie prawidłowego domyślnego kodu PIN usługi WPS. Craig szukał metody wstrzyknięcia swojego polecenia, jednak natrafił na inny problem. Okazuje się, że kod PIN, zamiast być odczytany z pamięci NVRAM, jest generowany dynamicznie. Podstawą do obliczeń jest adres MAC interfejsu WAN (różny o 1 od interfejsu WiFi). Następnie po serii mnożeń, operacji XOR i przesunięć powstaje wartość, która staje się – po obliczeniu sumy kontrolnej – kodem PIN usługi WPS urządzenia. Craig oczywiście stworzył odpowiednie narzędzie, generujące ów PIN, atak został również zaimplementowany w Reaverze Pro i wygląda tak:

Przebieg ataku

Przebieg ataku

Czy mój ruter jest podatny?

Craig informuje, że podatne są modele:

  1. DIR-810L
  2. DIR-826L
  3. DIR-632
  4. DHP-1320
  5. DIR-835
  6. DIR-615 revs: B2, C1, E1, E3
  7. DIR-657
  8. DIR-827
  9. DIR-857
  10. DIR-451
  11. DIR-655 revs: A3, A4, B1
  12. DIR-825 revs: A1, B1
  13. DIR-651
  14. DIR-855
  15. DIR-628
  16. DGL-4500
  17. DIR-601 revs: A1, B1
  18. DIR-836L
  19. DIR-808L
  20. DIR-636L
  21. DAP-1350
  22. DAP-1555

Z kolei odporne są modele:

  1. DIR-815
  2. DIR-505L
  3. DIR-300
  4. DIR-850L
  5. DIR-412
  6. DIR-600
  7. DIR-685
  8. DIR-817LW
  9. DIR-818LW
  10. DIR-803
  11. DIR-845L
  12. DIR-816L
  13. DIR-860L
  14. DIR-645
  15. DIR-685
  16. DAP-1522

Pozostałe możecie sami przetestować. Jeśli Wasz ruter znajduje się na pierwszej liście, to rekomendujemy wyłączenie usługi WPS oraz zmianę hasła WiFi.

Za podesłanie linka dziękujemy Radziowi.