DEF CON 29: temat bezpieczeństwa sprzętu rolniczego

Podczas wydarzenia DEF CON 29 pewien badacz wyjaśnił, dlaczego maszyny rolnicze powinny być uważane za infrastrukturę krytyczną, i wskazał luki w zabezpieczeniach sprzętu największych producentów.

Jedna z najbardziej niezwykłych prezentacji, jaką mogliśmy zobaczyć na konferencji DEF CON 29 na początku sierpnia, dotyczyła luk w zabezpieczeniach sprzętu rolniczego. Zostały one wykryte przez australijskiego badacza działającego pod pseudonimem Sick Codes.

Luki w zabezpieczeniach dotyczyły firm John Deere i Case IH produkujących ciągniki i kombajny zbożowe. Wykryto je w serwisach internetowych; dzięki nim można było uzyskać bezpośrednią kontrolę nad wielotonowym i bardzo drogim sprzętem, co stanowi szczególne zagrożenie.

Nowoczesne maszyny rolnicze

Cena takich ciągników i kombajnów jest astronomiczna, a w swojej prezentacji Sick Codes wyjaśnił, dlaczego tak właśnie jest. Najlepsze nowoczesne maszyny rolnicze są mocno skomputeryzowane i zautomatyzowane. Ilustruje to przykład sieczkarni polowej John Deere serii 9000, która jest reklamowana w następujący sposób:

Najważniejsze nie są tu ani 24-litrowy silnik V12, ani sześciocyfrowa cena — ta konkretna reklama wylicza możliwości techniczne maszyny: system orientacji przestrzennej, automatyczny zbiór wg rzędów, czujniki lokalizacji oraz synchronizacja z pojazdem, który odbiera cięte ziarno. Do tych możliwości Sick Codes dodaje zdalne sterowanie i możliwość automatycznego bezpośredniego łączenia się pomocy technicznej z kombajnem w celu rozwiązywania problemów. W tym miejscu prezenter odważnie stwierdza, że nowoczesne rolnictwo jest całkowicie zależne od internetu.

Model zagrożeń dla maszyn rolniczych

Nic dziwnego, że dzisiejsze maszyny są pełne nowoczesnych technologii, od konwencjonalnych systemów pozycjonowania i komunikacji GPS i 3G/4G/LTE po dość egzotyczne inercyjne metody nawigacji służące do określania lokalizacji z dokładnością do centymetra. Opracowany przez Sick Codes model zagrożeń opiera się na koncepcjach IT i brzmi raczej groźnie, gdyby się ziścił.

Jak wygląda atak DoS w terenie? Załóżmy, że możemy zmodyfikować kilka zmiennych w oprogramowaniu do opryskiwania gleby nawozem i wielokrotnie zwiększamy dawkę. W ten sposób moglibyśmy z łatwością sprawić, że pole nie nadawałoby się do upraw przez wiele lat, a nawet dziesięcioleci.

Prostszy wariant teoretyczny: przejmujemy kontrolę nad kombajnem zbożowym i używamy go na przykład do uszkodzenia linii energetycznej. Albo hakujemy sam kombajn i zakłócamy zbiory, powodując ogromne straty dla rolnika. W skali kraju takie „eksperymenty” mogą ostatecznie zagrozić bezpieczeństwu żywnościowemu, zatem połączony z internetem sprzęt rolniczy naprawdę stanowi infrastrukturę krytyczną.

Jak stwierdził Sick Codes, ochrona wprowadzona przez dostawców tej właśnie technologii i infrastruktury pozostawia wiele do życzenia. Co udało się znaleźć jemu i jego zespołowi?

Łamanie metodą siłową nazwy użytkownika, hasła itp.

Część luk w zabezpieczeniach infrastruktury pojazdów John Deer, które zostały ujawnione na konferencji, została również opisana w artykule na stronie internetowej badacza. Sick Codes zaczął od założenia legalnego konta programisty na stronie internetowej firmy. Jak opisuje mężczyzna, później zapomniał nazwy, której używał. Próbując sobie ją przypomnieć, natknął się na niespodziankę: za każdym razem, gdy wpisywał znak, interfejs API wyszukiwał nazwy użytkowników. Okazało się, że nazwy osób już zarejestrowanych w systemie można złamać metodą siłową.

Łamanie nazw użytkowników metodą siłową. Źródło.

W takich systemach tradycyjny limit liczby żądań z jednego adresu IP nie został narzucony. Dlatego w ciągu zaledwie kilku minut Sick Codes zdołał wysłać 1000 zapytań, sprawdzając nazwy użytkowników pasujące do nazw firm z listy Fortune 1000. Trafił 192 razy.

Kolejna luka została wykryta w wewnętrznej usłudze umożliwiającej klientom przechowywanie informacji o zakupionym sprzęcie. Jak dowiedział się Sick Codes, każdy, kto ma dostęp do tego narzędzia, może przeglądać informacje o dowolnym ciągniku lub kombajnie zbożowym w bazie danych. Uprawnienia dostępowe do takich danych nie są sprawdzane. Co więcej, informacje te są dość poufne i obejmują np. właściciela pojazdu, lokalizację itp.

Podczas konferencji DEF CON 29 Sick Codes ujawnił nieco więcej informacji, niż napisał na swojej stronie internetowej. Na przykład udało mu się również uzyskać dostęp do usługi zarządzania sprzętem demonstracyjnym, zawierającej pełną historię prezentacji i dane osobowe pracowników firmy. Jego koledzy wykryli lukę w zabezpieczeniach usługi korporacyjnej Pega Chat Access Group, w postaci zakodowanego hasła administratora. Dzięki temu udało mu się uzyskać klucze dostępowe do konta klienta marki John Deere. Chociaż Sick Codes nie powiedział, co dokładnie otwiera ten klucz, wydaje się, że chodzi o kolejny zestaw usług wewnętrznych.

Dla równowagi Sick Codes przedstawił również pewne luki w zabezpieczeniach dotyczące europejskiego konkurenta firmy John Deere — producenta o nazwie Case IH. Mężczyźnie udało się uzyskać dostęp do niezabezpieczonego serwera Java Melody monitorującego wybrane usługi, który ujawnił szczegółowe informacje o użytkownikach i pokazał teoretyczną możliwość przejęcia dowolnego konta.

Kontaktowanie się z firmami

Należy uczciwie przyznać, że Sick Codes nie ma bezpośredniego związku między wyżej wymienionymi zagrożeniami a wykrytymi przez niego lukami. Być może nie chciał zagrażać zwykłym rolnikom, a może nie znalazł takiej możliwości. Ale na podstawie przedstawionych trywialnych wad w zabezpieczeniach doszedł do wniosku, że kultura bezpieczeństwa w tych firmach jest na niskim poziomie, co pozwala nam założyć, że podobnie jest w przypadku bezpośredniej kontroli nad kombajnami. Jednak to tylko nasze domysły.

Wszystkie luki w zabezpieczeniach usług marki John Deere zostały zamknięte, chociaż mamy tu pewne zastrzeżenia. Producent nie miał specjalnego kanału umożliwiającego zgłaszanie luk w zabezpieczeniach. Sick Codes porozmawiał z menedżerem mediów społecznościowych pracującym dla firmy John Deere, po czym został poproszony o zgłoszenie tych luk za pośrednictwem programu bug-bounty dostępnym w usłudze HackerOne. Okazało się jednak, że taka usługa nie istniała. Ostatecznie firma wprowadziła program nagród za zgłaszanie luk w zabezpieczeniach, ale jego uczestnicy są zobowiązani do podpisania umowy o zachowaniu poufności.

Porady