UKIP – obrona przed USB Rubber Ducky na Linuksie w wykonaniu Google

payload.pl 3 lat temu

Urządzenia takie jak USB Rubber Rucky przez wiele firm są postrzegane jako olbrzymie zagrożenie – nie 10 lat temu i dawniej, gdy użycie sprzętu tej klasy najczęściej wiązało się z aktywnością szpiegowską, ale właśnie dzisiaj, gdy jest to sprzęt dostępny dla wszystkich chętnego, a co za tym idzie, potencjalne szkody, miejsca i sposoby ataku stały się kompletnie nieprzewidywalne.

W 2020 problem dostrzegło również Google, tworząc projekt USB Keystroke Injection Protection.

Jak to działa?

Narzędzie UKIP działa bardzo podobnie do opisywanego we wrześniu narzędzia DuckHunter – z tą różnicą, iż DuckHunter działa pod Windows, a UKIP jest pisany od początku do końca pod Linuxa.

Idea jest jednak niemal identyczna:

  • program rejestruje się w systemie jako odbierający zdarzenia z interfejsu /dev/input/event
  • z odebranych danych odfiltrowuje zdarzenia KEY_DOWN (czyli wciśnięcia klawiszy)
  • per interfejs HID (rozumiany jako para VID i PID, bez ew. podziału na kilka identycznych urządzeń) zlicza szybkość wciśnięć wciśnięć
  • jeśli dla któregoś z interfejsów zostanie wykryta nierealistyczna szybkość pisania, urządzenie jest natychmiastowo wyłączane – w przeciwieństwie do DuckHuntera, system jest przy tym w stanie kontynuować normalne działanie

Efekty uboczne

Podobnie jak w przypadku DuckHuntera, zastosowana metoda ma efekt uboczny w postaci niewielkiego spowolnienia systemu – na tym jednak koniec: ze względu na różnice techniczne pomiędzy Linux i Windows:

  • spowolnienie to jest znacznie mniej odczuwalne niż na Windows i nie zagraża stabilności całego systemu
  • na Linuksie może jednocześnie działać wiele programów, niezależnie przetwarzających zdarzenia z interfejsu /dev/input/event
  • a implementacja samego UKIP jest o tyle lepiej przemyślana, iż np. nie zapisuje on przypadkowo wrażliwych danych na dysk

Podsumowanie

Przewagą UKIP nad DuckHunterem jest też prosty ale przemyślany instalator, nieco lepsza konfiguracja i kooperacja z systemd, dzięki czemu całość jest bardzo łatwo zarządzalna. przez cały czas jest to jednak produkt eksperymentalny, bez żadnego wsparcia ze strony Google.

W połączeniu jednak z wcześniej opisywanym programem USBGuard, daje on bardzo wysoki poziom ochrony przed urządzeniami typu USB Rubber Ducky, Bash Bunny, czy ich tańszymi klonami.

Idź do oryginalnego materiału