Budowanie zgodności z NIS2 w maszynie, która nigdy nie była projektowana z myślą o atakach
Dzięki temu projektowi system, który był funkcjonalnie solidny, ale - jak większość oprogramowania przemysłowego - rozwijał się organicznie przez lata, zyskał udokumentowaną, uporządkowaną ścieżkę do zgodności z NIS2. Za tym projektem stoi postawa samego ERKO: świadomość zagrożeń, dojrzałość w podejściu do bezpieczeństwa oraz odpowiedzialność za własny produkt i za klientów, którzy na co dzień pracują na maszynach ERKO. Bliska współpraca zespołów ERKO i 54Soft przyniosła wymierne efekty - podniosła bezpieczeństwo rozwiązania zarówno po stronie sprzętowej, czyli sterownika PLC i jego konfiguracji, jak i po stronie współpracującej z nim aplikacji BPS.
- 24usunięte podatności i luki bezpieczeństwa, zaczynając od krytycznych
- AES-256szyfrowane łącze OPC UA między BPS a PLC, z przypiętym certyfikatem sterownika
- 0zależności ze znanymi podatnościami po aktualizacji pakietów
Przegląd
- Dedykowana i autorska aplikacja ERKO BPS komunikuje się bezpośrednio ze sterownikiem PLC poprzez łącze OPC UA, co stawia ją w centrum wymagań NIS2 dla systemów OT/ICS
- Połączenie analizy statycznej (SAST), dynamicznego fuzzingu czarnoskrzynkowego (DAST) oraz manualnego przeglądu architektury, w oparciu o IEC 62443 uzupełniająco do NIS2
- Wygenerowanie pełnego zestawienia komponentów oprogramowania (SBOM) i weryfikacja każdego z nich względem wielu publicznych baz podatności
- Zidentyfikowano ustalenia o zróżnicowanej wadze - krytyczne, wysokie i średnie - uszeregowane pod kątem ryzyka, by wiedzieć, od czego zacząć naprawę
- Wprowadzenie SAST, analizy zależności, analizy kodu natywnego oraz generowania SBOM do procesu SDLC, uruchamianych przy każdym Pull Requeście
- Przebudowa łącza BPS ↔ PLC na OPC UA z szyfrowaniem AES-256, wzajemnym zaufaniem certyfikatów, przypięciem certyfikatu sterownika i logowaniem
- Rewizja polityki zarządzania dostępami oraz aktualizacja zależności do zera pakietów ze znanymi podatnościami
Aplikacja BPS to autorska aplikacja ERKO - Busbar Processing Software - która nie tylko projektuje i animuje geometrię szyn prądowych, ale też komunikuje się bezpośrednio ze sterownikiem PLC maszyny poprzez łącze OPC UA, sterując procesem gięcia i otworowania szyn Al/Cu. To bezpośrednie połączenie z fizycznym urządzeniem produkcyjnym sprawia, że BPS wprost podlega wymaganiom art. 21 dyrektywy NIS2 dotyczącym bezpieczeństwa OT/ICS: zarządzanie ryzykiem, obsługa incydentów, ciągłość działania, bezpieczeństwo łańcucha dostaw, bezpieczny rozwój oprogramowania, kryptografia, kontrola dostępu oraz bezpieczna komunikacja - wszystko to musi być wykazywalnie wdrożone. 54Soft przeprowadziło pełną analizę bezpieczeństwa BPS, by sprawdzić, jak system wypada względem tych wymagań i co jest potrzebne, by domknąć lukę.
Jak to działa
Zakres
BPS steruje sterownikiem PLC linii produkcyjnej przez OPC UA, co stawia go w zakresie art. 21 NIS2 dla systemów OT/ICS.
Analiza
Analiza statyczna kodu C# i natywnego C/C++, czarnoskrzynkowy fuzzing dynamiczny i manualny przegląd architektury, a do tego pełny SBOM sprawdzony w publicznych bazach podatności.
Priorytety
Ustalenia krytyczne, wysokie i średnie zebrane w jednym rejestrze ryzyka, by naprawę zacząć od tego, co najważniejsze.
Wzmocnienie
Szyfrowane łącze z PLC z przypiętym certyfikatem, bezpieczne przechowywanie danych logowania i zaktualizowane zależności, a do tego kontrole bezpieczeństwa przy każdym wydaniu aplikacji.
- SAST
- DAST / fuzzing
- SBOM
- OPC UA
- open62541 / OpenSSL
- IEC 62443
- NIS2 art. 21

Rozwiązanie i Rezultat
Połączyliśmy trzy podejścia: analizę statyczną kodu C# i natywnego C/C++ względem reguł OWASP Top 10 i CWE Top 25, dynamiczny fuzzing czarnoskrzynkowy w setkach automatycznych uruchomień oraz manualny przegląd architektury i kodu źródłowego bezpośrednio w repozytorium, odniesiony do poziomów bezpieczeństwa IEC 62443 uzupełniająco do NIS2. Równolegle wygenerowaliśmy pełne zestawienie komponentów oprogramowania (SBOM) i zweryfikowaliśmy każdy komponent BPS - bezpośredni i pośredni - względem publicznych baz podatności i rekomendacji bezpieczeństwa. Wszystkie trzy metody razem wykazały ustalenia o zróżnicowanej wadze - krytyczne, wysokie i średnie - które zebraliśmy w jednym rejestrze ryzyka, dając ERKO jasny, uszeregowany pod względem priorytetów obraz tego, co naprawić w pierwszej kolejności, zamiast długiej, niezróżnicowanej listy.
Naprawę zaczęliśmy od ustaleń o najwyższym priorytecie, a największym z nich było samo łącze ze sterownikiem. Natywny klient OPC UA został przebudowany na aktualnych wersjach open62541 i OpenSSL i akceptuje wyłącznie szyfrowany, podpisany kanał (Aes256_Sha256_RsaPss) z logowaniem do sterownika. Każda stacja ma własny certyfikat, któremu sterownik musi jawnie zaufać, a BPS przypina certyfikat sterownika po potwierdzeniu jego odcisku przez serwisanta, więc podmieniony lub podszywający się sterownik zostaje zablokowany. Po awarii łącze wznawia się samo, a każde osłabione ustawienie testowe jest zawsze widoczne na ekranie. W aplikacji przeprowadziliśmy rewizję zarządzania sekretami oraz dostępami, dodaliśmy uwierzytelnione szyfrowanie zapisanych ustawień i danych logowania oraz porównywanie sekretów w stałym czasie. Aktualizacja zależności objęła 38 przestarzałych pakietów i usunęła ostatni pakiet ze znaną podatnością, a zabezpiecza ją 45 nowych testów regresyjnych. SAST, analiza zależności (SCA), analiza kodu natywnego i generowanie SBOM uruchamiają się przy każdym Pull Requeście. Na razie działają w trybie raportującym - kolejnym krokiem jest przejście w tryb blokujący, równolegle z wdrożeniem podpisanego, uwierzytelnionego kanału aktualizacji aplikacji.
Opinia klienta
Z pełnym przekonaniem rekomenduję współpracę z firmą 54Soft, która podczas realizacji powierzonych zadań wykazała się wysokim poziomem profesjonalizmu, zaangażowania oraz elastyczności w działaniu.
Przeczytaj całą rekomendację
W trakcie współpracy wszystkie uzgodnione poprawki i modyfikacje były realizowane terminowo, a reakcja na pojawiające się zmiany oraz nowe potrzeby była szybka i skuteczna.
Zespół firmy wykazywał się dużą otwartością na dialog, proponując jednocześnie rozwiązania wspierające osiągnięcie założonych celów projektu.
Na szczególne uznanie zasługuje sposób dokumentowania prowadzonych prac.
Zakres opracowywanych zmian był przygotowywany w sposób przejrzysty, kompletny i zgodny z ustalonymi wymaganiami, co znacząco ułatwiało kontrolę postępu realizacji oraz podejmowanie decyzji projektowych.
Równie wysoko oceniam kulturę współpracy i komunikacji. Spotkania były prowadzone profesjonalnie, rzeczowo i efektywnie, a wymiana informacji przebiegała sprawnie na każdym etapie projektu.
Dzięki temu współpraca cechowała się wysoką transparentnością oraz wzajemnym zaufaniem.
Firma jest rzetelnym i wiarygodnym partnerem biznesowym, którego mogę z pełnym przekonaniem polecić do realizacji projektów wymagających terminowości, elastyczności, wysokiej jakości dokumentacji oraz profesjonalnego podejścia do klienta.
Sławomir MichalskiKierownik działu konstrukcyjnego, ERKO
