Kontakt
ERKO - BPS zgodność z NIS2

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

  1. Zakres

    BPS steruje sterownikiem PLC linii produkcyjnej przez OPC UA, co stawia go w zakresie art. 21 NIS2 dla systemów OT/ICS.

  2. 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.

  3. Priorytety

    Ustalenia krytyczne, wysokie i średnie zebrane w jednym rejestrze ryzyka, by naprawę zacząć od tego, co najważniejsze.

  4. 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.

Technologie
  • 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
Udostępnij to case study

Czy NIS2 obejmuje Twoje systemy produkcyjne?

Umów krótką rozmowę wprowadzającą i powiedz, czego potrzebujesz. Podpowiemy, od czego zacząć.

Umów rozmowę