Zespół Laboratorium Cyberbezpieczeństwa (CyberLAB) Narodowego Centrum Badań Jądrowych stosując tzw. fuzz testing wykrył lukę w powszechnie używanych sterownikach PLC. Producent zastosował już rozwiązania eliminujące wykryte zagrożenie.
Zespół CyberLAB odkrył lukę w oprogramowaniu układowym sterowników PLC M241 i M251 firmy Schneider Electric. Odnaleziona podatność pozwalała na przepełnienie bufora w sterowniku za pomocą specjalnie przygotowanego zapytania HTTP, a w konsekwencji zawieszenie pracy sterownika. W celu przywrócenia działania wymagane było ponowne uruchomienie urządzenia. W przypadku sterowników odpowiedzialnych za krytyczne operacje produkcyjne taka nagła, nieplanowana przerwa w działaniu mogła mieć poważne konsekwencje zarówno finansowe jak i pod kątem bezpieczeństwa. Ze względu na relatywnie łatwe wykorzystanie luki w przypadku dostępu do sterownika wykluczenie tej podatności istotnie wpływało na bezpieczeństwo tych urządzeń.
Zgodnie z dobrą praktyką odpowiedzialnego ujawniania błędów, zespół CyberLAB, zgłaszając podatność do zespołu bezpieczeństwa Schneider Electric, zapewnił pełną dokumentację błędu, a z publiczną informacją na temat znaleziska wstrzymał się do czasu udostępnienia poprawki przez producenta. Podatności został nadany numer CVE-2021-22699, a szczegóły oraz odpowiednie zalecenia opublikowano pod adresem: https://download.schneider-electric.com/files?p_Doc_Ref=SEVD-2021-130-05. Producent wyraził swoje uznanie dla pracowników NCBJ za pomoc w zidentyfikowaniu podatności oraz w koordynacji działań w celu jej usunięcia.
„W laboratorium CyberLAB do wyszukiwania podatności stosuje się technikę nazywaną fuzz testing lub fuzzing polegającą na wysyłaniu do urządzenia znacznej liczby odpowiednio zmodyfikowanych pakietów danych zgodnych z wybranych protokołem komunikacyjnym i obserwowaniu czy występują nieoczekiwane zachowania.” – wyjaśnia inż. Jakub Suchorab. Dodaje też: „To nie pierwszy duży sukces naszego zespołu. W 2018 roku wykryliśmy inną podatność w sterowniku powszechnie wykorzystywanym między innymi w instalacjach nuklearnych. Nasza praca wzmacnia cyberbezpieczeństwo w każdej dziedzinie przemysłu i nauki”.
Laboratorium CyberLAB powstało w ramach udziału Narodowego Centrum Badań Jądrowych w programie „Enhancing Computer Security Incident Analysis at Nuclear Facilities” prowadzonego przez Międzynarodową Agencją Energii Atomowej. Celem laboratorium jest testowanie urządzeń przemysłowych, w tym wyszukiwanie podatności cybernetycznych w programowalnych sterownikach logicznych (PLC) powszechnie wykorzystywanych we wszelkich instalacjach automatyki przemysłowej.
Zespół CyberLAB cały czas zajmuje się testowaniem kolejnych urządzeń przemysłowych. Ponadto laboratorium rozwijane jest o odpowiednie urządzenia i kompetencje, w wyniku których zespół CyberLAB ogłasza gotowość świadczenia indywidualnych usług z zakresu cyberbezpieczeństwa, a w szczególności:
- wyszukiwanie podatności w dostarczonych przez klienta urządzeniach metodą fuzz testing – oferta obejmuje szeroki zakres protokołów komunikacyjnych (w tym przemysłowych) oraz techniczną analizę znalezionych podatności. Przykładowe urządzenia do przebadania to: sterowniki PLC, zapory i urządzenia sieciowe, urządzenia przemysłowego internetu rzeczy (IIoT);
- testowanie skuteczności rozwiązań bezpieczeństwa takich jak systemy detekcji anomalii w sieciach przemysłowych – dzięki doświadczeniu laboratorium w znajdowaniu podatności możliwe jest testowanie reakcji na nie systemów bezpieczeństwa. Zarówno w scenariuszach pojedynczego wykorzystania podatności jak i złożonych ataków. Rozbudowana infrastruktura laboratoryjna zapewnia możliwość symulacji złożonego środowiska przemysłowego jak i korporacyjnego.