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 każdego 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ą, że 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, że 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 współpraca z systemd, dzięki czemu całość jest bardzo łatwo zarządzalna. Nadal 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.