W rozpatrywanym przypadku w procesie uwierzytelnienia mamy do czynienia z weryfikacją tożsamości za pomocą karty inteligentnej (ang. Smart Card). Wszystkie z nich wymagają dodatkowego oprogramowania do pracy z systemem, chyba że posiadają wewnętrzny sterownik. Uwierzytelnienie poprzedza operacja kryptograficzna, która choćby była nie-do-złamania (np. szyfr Vernama), to nie będzie w stanie zabezpieczyć systemu operacyjnego przed uruchomieniem złośliwego kodu, jeżeli sterownik będzie dziurawy.
Badacz Eric Sesterhenn przyjrzał się inteligentnym kartom, które jak najbardziej zapewniają bardzo wysoki poziom zaufania — poziom, który w przypadku niżej wymienionych sterowników do kart leci na łeb na szyję. Ekspertowi udało mu się przeprowadzić atak pozwalający uzyskać m.in. najwyższy poziom uprawnień w systemie Linux po włożeniu karty do czytnika.
Zaprezentowany atak właściwie da się powtórzyć w innych systemach operacyjnych (Windows, macOS, systemach przemysłowych ICS/SCADA). Potrzebne są tylko odpowiednie modyfikacje exploita.
Badacz wykorzystał znaną od 2012-2013 roku technikę „wyszukiwania dziur w całym”, konkretnie w sterownikach kart inteligentnych, które zwykle działają z wysokimi uprawnieniami (np. root w Linuksie). Czyli są łakomym celem dla prawdziwych hakerów.
Erikowi udało mu się znaleźć różne podatności w kilku kartach wykorzystując technikę fuzzingu, czyli przekazywaniu pseudolosowych danych do aplikacji w ramach jej funkcjonowania, które mogą wpłynąć na całkiem losowe zdarzenia (zawieszenie się programu, wycieku danych z pamięci, możliwości uruchomienia kodu, wstrzykiwania złośliwych bibliotek, eskalacji uprawnień, itp.). Generalnie fuzzing podczas testowania ułatwia i przyśpiesza wykonywanie tych samych operacji. W tym przypadku testowanie pomogło znaleźć luki w inteligentnych w sterownikach, które są oparte na PCSC w systemie Linux, a także sterownikach kart inteligentnych, które są oparte na Winscard w systemach Microsoft.
Liczne podatności znaleziono w:
- Yubico Piv (CVE-2018-14779, CVE-2018-14780)
- OpenSC (brak przypisanych CVE)
- pam_pkcs11 (brak przypisanych CVE)
- Yubico libykneomgr (brak przypisanego CVE)
- Apple smartcardservices (CVE-2018-4300)
Najpoważniejsze podatności dotyczyły natychmiastowego zalogowania się jako dowolny użytkownik lub administrator / root. W niektórych przypadkach udawało się doprowadzić do przepełnienia bufora, odczytania danych niedostępnych obszarów pamięci, ataków odmowy usługi (DoS), uwierzytelnienia i innych.
Producenci poszczególnych sterowników zostali poinformowani o lukach. Wszystkie produkty zostały już załatane (poza biblioteką libykneomgr, która nie jest od pewnego czasu używana w kluczach Yubikey). O ile to możliwe zalecamy pilną aktualizację dostępnego firmware dla inteligentnych kart.
Czy ten artykuł był pomocny?
Oceniono: 0 razy