Atak hakerski na PLC Unitronics. Jak zabezpieczyć swój sterownik?

07.12.2023 How to, Studia przypadków / Sterowanie i akwizycja danych
unitronics
Wizerunek autora
Producent: UNITRONICS

Czy zastanawiałeś się kiedykolwiek, jak bezpieczne są Twoje sterowniki PLC?

Czy kiedykolwiek zdarzyło Ci się, że ktoś za pomocą otwartego portu komunikacyjnego dostał się do Twojego sterownika PLC i tym samym całej maszyny? A co, jeśli nieświadomie zostawiłeś otwartą furtkę dla cyberataków?

W tym artykule przyjrzymy się wspólnie bliżej serii sterowników PLC Unitronics, w tym Vision, Samba pod kątem ich odporności na cyberzagrożenia oraz mechanizmów zabezpieczających zaprojektowanych przez producenta. Omówię to, jak sprawdzić potencjalne luki w zabezpieczeniach, które mogą umożliwić nieautoryzowany dostęp oraz jak skutecznie wykorzystać wbudowane w te urządzenia funkcje ochronne. Dodatkowo, na końcu przedstawię dwa rozwiązania, które zabezpieczą Twoją sieć/sterownik PLC przed nieautoryzowanym dostępem.


Zanim zaczniemy - ważna uwaga!

Ten artykuł ma charakter wyłącznie edukacyjny. Jego celem jest podniesienie świadomości na temat znaczenia cyberbezpieczeństwa w obszarze sterowników PLC Unitronics i wyposażenie programistów w wiedzę niezbędną do skutecznego zabezpieczania ich systemów. Wszelkie informacje zawarte poniżej służą wyłącznie demonstracji potencjalnych zagrożeń i metod ochrony przed nimi. Pod żadnym pozorem nie powinny być wykorzystywane do nielegalnego uzyskiwania dostępu do systemów sterowania czy naruszania prywatności innych osób.

Należy podkreślić, że wszelkie próby nieautoryzowanego dostępu do systemów informatycznych, w tym sterowników PLC, są nielegalne i mogą skutkować poważnymi konsekwencjami prawnymi. Autor niniejszego artykułu oraz wydawca nie ponoszą odpowiedzialności za jakiekolwiek działania podjęte na podstawie informacji zawartych w tekście, które naruszałyby prawo lub etykę zawodową. 


Case Study: ostatni atak hakerski na PLC Unitronics

Niedawny atak hakerski na sterowniki PLC, głównie serii Vision od Unitronics, stanowi istotny przypadek w kontekście cyberbezpieczeństwa w automatyce przemysłowej. Kluczowym punktem, który został wykorzystany przez hakerów, był domyślny port komunikacyjny 20256, który jest standardowo używany do łączenia się z oprogramowaniem Visilogic.

Unitronics Vision Hacked

Incydent rozpoczął się od wykorzystania narzędzia pokroju shodan.io, które umożliwia skanowanie Internetu w poszukiwaniu urządzeń podłączonych do sieci, w tym otwartych portów i innych potencjalnych punktów wejścia, ułatwiając hakerom identyfikację celów.

Narzędzie podaje użytkownikowi na tacy takie dane jak:

  • zewnętrzny adres IP sterownika PLC,

  • otwarte porty (np. 20256),

  • PLC name;

Te 3 dane wystarczą, aby spróbować nawiązać połączenie z takim sterownikiem PLC

Następnie, hakerzy wykorzystując oficjalne oprogramowanie Visilogic, przeprowadzili atak polegający na wgraniu pustego programu do sterownika, co doprowadziło do zatrzymania pracy maszyn/instalacji i skutkowało wyświetleniem powyższego ekranu. W Polsce odnotowano około 25 takich przypadków.

Co ważne, nie odzwierciedla to bezpośredniej podatności czy niedociągnięć w sterownikach Unitronics

Słuszniejsze byłoby stwierdzenie, że uwydatnia znaczenie odpowiedniego zarządzania i konfiguracji systemów sterowania w kontekście cyberbezpieczeństwa. Jest to sygnał do bardziej uważnego podejścia do zarządzania portami komunikacyjnymi oraz wystawiania adresów IP na świat.


Jakie środki ochronne są potrzebne do zabezpieczenia sterowników serii Samba i Vision od Unitronics przed potencjalnymi atakami?

Zanim opowiem o zabezpieczeniach, napiszę krótko jak mógłby wyglądać taki atak. W zasadzie potrzebujemy tylko dwóch rzeczy:

  1. Oprogramowania Visilogic - oficjalne od producenta Unitronics.

  2. Strony shodan.io, z której pobierzesz szukane dane.

Tak jak oprogramowanie Visilogic jest znane każdemu programiście Unitronicsa, tak shodan.io jest raczej używane wyłączonie przez tych bardziej wtajemniczonych specjalistów od bezpieczeństwa sieci IT.

Czym jest shodan.io?

To wyszukiwarka internetowa, która w przeciwieństwie do Google wyszukuje urządzenia podłączone do Internetu, od routerów i serwerów po urządzenia Internetu rzeczy (IoT), takie jak termostaty czy monitory dla niemowląt, a także skomplikowane systemy używane w różnych branżach. Została stworzona w 2003 roku przez Johna Matherly'ego jako projekt badawczy i udostępniona publicznie w 2009 roku. Shodan działa, łącząc się z każdym możliwym adresem IP w Internecie i indeksując informacje z tych połączeń. Może ona ujawnić różne informacje, w tym nazwy urządzeń, adresy IP, używane porty, informacje o organizacji oraz lokalizacji, a nawet domyślne dane logowania​​​​​​.

Shodan.io może stanowić niebezpieczne narzędzie w rękach haktywistów, których działalność jest szczególnie widoczna w dobie ostatnich konfliktów zbrojnych w Ukrainie i w Izraelu. Przykładem może być np. opisany wcześniej atak, którego anatomię chciałbym przedstawić.


Analiza, czyli jakl mógł wyglądać atak?

Zacznijmy od wejścia na darmową stronę shodan.io i wpisaniu w wyszukiwarkę unitronics.
Z wiadomych przyczyn, dane wrażliwe będą zamazane ;)

Pokazało nam się prawie 2 000 sterowników PLC Unitronicsa na świecie, które mogą być potencjalnym obiektem ataku hakerskiego. Możemy zawęzić sobie wynik do konkretnej lokalizacji, modelu sterownika czy providera sieci.

Do celów edukacyjnych zawężę sobie wynik wyszukiwania do sterownika V1040. Spróbuję podejrzeć, co wyświetli sterownik PLC zlokalizowany w Polsce w naszej innej siedzibie (sterownik V1040 jest podpięty do routera z kartą sim o stałym adresie IP, który nie jest mi znany, na routerze zrobiono port forwarding, aby mieć dostęp zdalny do sterownika). Miałem szczęście - nasz sterownik pokazał się pierwszy na liście:

Skorzystam z oprogramowania Remote Access od Unitronics i w Communication Settings wpiszę adres IP oraz PLC Name sterownika. Obie dane wzięte z shodan.io (nieznane mi wcześniej):

 

Po kliknięciu Get OPLC Information, widać, że sterownik zwrócił nam kilka danych (model, wersja oprogramowania):

Następnie, aby mieć pełny dostęp zdalny należy na PC pobrać grafiki ze sterownika PLC:

Po dłuższej chwili mam je już pobrane:

Łączę się teraz poprzez niebieski okulary z lewej strony i widzię pełnoprawną wizualizację (w ramach małego utrudnienia został wybrany inny język na sterowniku):

Co najważniejsze ten dostęp zdalny nie jest w żaden sposób zabezpieczony, to znaczy, że mogę przejść do KAŻDEGO ekranu i zmienić np. ustawienia procesu. Kliknę teraz w przycisk Nustatymai, czyli po polsku Ustawienia. Pojawia się okno do wpisania hasła, ale czy to nam przeszkadza? Bardzo często ten sposób zabezpieczenia jest używany przez programistów.

Można próbować wielu kombinacji, ale można też sprawdzić czy programista umożliwił opcję pobrania projektu z PLC na PC. Próbujemy!

W programie Visilogic wpisujemy parametry do komunikacji, czyli adres IP, port i PLC name i klikamy Upload. Po kilku minutach mamy na swoim komputerze ściągnięty cały plik projektu.... A przecież w prosty sposób można zabezpieczyć upload projektu z PLC na PC hasłem. Wystarczy wejść w Project -> Properties i zaznaczyć opcję zabezpieczenia hasłem:

Mamy projekt ściągnięty, a wiedząc na którym ekranie i po przyciśnięciu, którego przycisku sterownik prosił o hasło, przechodzimy do tego przycisku w projekcie i... odczytujemy hasło "1234". Programista mógł się bardziej postarać... ;)

 

 

W tym momencie uzyskaliśmy hasło do parametryzacji całego procesu, więc mamy pełną kontrolę nad procesem. Czy chciałbyś, aby Twoja kotłownia, oczyszczalnia ścieków, czy inna instalacja automatyki przemysłowej była możliwa do wysterowania przez każdego?

Najważniejsze w tym całym ataku było to, że wcale nie trzeba być specjalistą, ani hakerem, żeby taki atak przeprowadzić. A jeszcze ważniejsze jest to, że wystarczy elementarna wiedza, aby nie być podatnym na takie ataki. 

UWAGA: zawsze zabezpieczaj pobranie projektu hasłem, a jeśli robisz kontrolę dostępu do ustawień, wymyśl bardziej skomplikowane hasło ;) 


Ale przecież można jeszcze szybciej zepsuć komuś dzień.

Nie trzeba tak jak ja dzisiaj łączyć się przez Remote Access, czy pobierać pliku projektu z PLC na swojego PC, bo to przecież czasochłonne (ja zrobiłem to wyłącznie w celach edukacyjnych).

Wystarczy mieć adres IP, port, PLC name, żeby już spróbować przez program Visilogic wgrać do tego sterownika PLC pusty program, który zastopuje pracę całej instalacji. Tak właśnie zrobili hakerzy w ostatnim ataku. Wykorzystali to, że nieświadomi programiści otworzyli im furtkę.

Jak programista mógł temu zapobiec?

  • nie wystawiać portu 20256 (lub innego używanego do komunikacji) na zewnątrz;

  • jeśli musi wystawić na zewnątrz port komunikacyjny, to przynajmniej niech go zmieni (hakerzy zwykle koncentrują się na porcie 20256, czyli defaultowym, jeśli przeprowadzają atak na Unitronicsa);

  • jeśli zależy mu na bezpiecznym dostępnie zdalnym to mógł skonfigurować połączenie VPN lub użyć chmury Unicloud (wtedy nawet shodan.io nie pokazałby sterownika w sieci);

  • jeszcze prostsze wydaje się skonfigurowanie białej listy adresów IP w routerze, aby przepuszczał tylko ruch z komputera programisty;
  • jeśli nie chce zabezpieczać PLC od strony sieci to przynajmniej mógł:
    a. zabezpieczyć hasłem możliwość pobrania projektu z PLC na PC (mimo, że nie chroni to przed wgraniem pustego projektu na PLC);
    b. ustawić wartość SDW10 odpowiednio (patrz w artykule tutaj),
    c. ustawić bit SB140 na 1 (czyli dać read-only w Remote Access -> wtedy można się połączyć, ale nie można sterować wizualizacją);
    d. zrobić backup projektu (w razie czego).

Najważniejsze w tym całym ataku było to, że wcale nie trzeba być specjalistą, ani hakerem, żeby taki atak przeprowadzić. A jeszcze ważniejsze jest to, że wystarczy elementarna wiedza, aby nie być podatnym na takie ataki ;)

W celu zachowania 100% funkcjonalności i bezpieczeństwa zaleca się konfigurację VPN lub skorzystanie z naszej chmury Unicloud od Unitronics.


Potrzebujesz pomocy?

Specjaliści Elmark Automatyka po otrzymaniu informacji o ataku, przeprowadzili dziesiątki rozmów telefonicznych oraz wysłali tysiące maili do klientów z informacją o zagrożeniu oraz prostymi instrukcjami co należy wykonać i jak się zabezpieczyć. Jeśli padłeś ofiarą ataku i nie wiesz jak sobie z tym poradzić, bądź zastanawiasz się, czy Twoje sterowniki są dobrze zabezpieczone, skontaktuj się z nami, a na pewno pomożemy:

sterowniki@elmark.com.pl 


Podsumowanie

Ten incydent dowodzi, że nawet niezłożone narzędzia, dostępne publicznie, mogą posłużyć do przeprowadzenia znaczących ataków, jeśli systemy nie są odpowiednio zabezpieczone.

Przypadki takie jak ten podkreślają, że nie jest to jedynie kwestia zaawansowanego sprzętu czy oprogramowania, lecz przede wszystkim wiedzy i świadomości użytkowników oraz programistów. Odpowiednie zarządzanie portami komunikacyjnymi, skuteczne wykorzystanie dostępnych środków ochrony, takich jak zabezpieczenia hasłem, VPN czy chmura, są kluczowe dla utrzymania bezpieczeństwa.

Ten przypadek stanowi przestrogę, że zaniedbanie nawet najdrobniejszych aspektów bezpieczeństwa może prowadzić do poważnych konsekwencji dla sterownika PLC czy układu sterowania. W erze rosnących cyberzagrożeń, proaktywne i kompleksowe podejście do zabezpieczeń jest nie tylko zalecane, ale staje się niezbędne.

Każdy użytkownik, programista i inżynier powinien być na bieżąco z najlepszymi praktykami i rozwiązaniami w tej dziedzinie, by skutecznie chronić zarówno sprzęt, jak i dane przed nieautoryzowanym dostępem.

Najważniejsze w tym całym ataku było to, że wcale nie trzeba być specjalistą, ani hakerem, żeby taki atak przeprowadzić. Jednocześnie wystarczy elementarna wiedza, aby nie być podatnym na takie ataki ;)

Skontaktuj się ze specjalistą Elmark

Masz pytania? Potrzebujesz porady? Zadzwoń lub napisz do nas!