Zabezpieczenia w sterownikach PLC

Jako automatycy spotykamy się z sytuacjami ochrony kodu, który stworzyliśmy, czyli cennej własność intelektualnej. Większość producentów sterowników PLC umożliwia zabezpieczenie kodu programu przed niepowołanym dostępem. Pozwalają również tworzyć użytkowników o różnych przywilejach. Dzięki temu modyfikacje w programie sterującym będą mogły przeprowadzać tylko osoby do tego upoważnione.

W innych przypadkach jego celem może być zabezpieczanie programu przed niepożądanym dostępem. Jedynie użytkownicy z przywilejem podglądu tych sekcji mogą zobaczyć ich zawartość. Zabezpiecza to program przed kradzieżą lub modyfikacją krytycznych sekcji.

W artykule opisuje sytuację, w której awaria linii produkcyjnej spowodowana była brakiem odpowiedniego hasła serwisowego. Pomimo wielu prób diagnostycznych, problem udało się rozwiązać dopiero po skontaktowaniu się z twórcą systemu dla sterownika. W rzeczywistości, okazało się, że zwarcie elektryczne spowodowało usunięcie hasła aktywacyjnego z pamięci sterownika PLC, co uniemożliwiało normalne działanie maszyny. W każdym przypadku takie usterki są zgłaszane za pomocą systemu CMMS, który jako mobilne narzędzie, ułatwia pracę działów utrzymania ruchu.

Programowanie sterownika

Poniżej wypisałem hasła / kody  na które możemy się natknąć w czasie pracy z naszym sterownikiem PLC. Poniżej podzieliłem je na rodzaje:

Zabezpieczenie sterownika PLC

Podanie hasła jest wymagane przed pobraniem lub załadowaniem programu na sterownik. Tutaj użytkownik może zdefiniować maksymalną liczbę prób wpisania hasła, po przekroczeniu której sterownik PLC zostanie zablokowany. Jedynym sposobem na odblokowanie sterownika jest zresetowanie go do ustawień fabrycznych.

Zabezpieczenie projektu PLC

Hasło projektu służy do zabezpieczania programów w projekcie. Podanie tego hasła jest wymagane przed otwarciem POU (ang. Program Organization Units) znajdującego się w danym projekcie, dodatkowo użytkownik ma możliwość zdefiniowania maksymalnej liczby prób wpisywania hasła. Jeśli liczba ta zostanie przekroczona to projekt zostanie zamknięty.

Pełne zabezpieczenie projektu PLC

Pełne zabezpieczenie projektu PLC jest kluczowe, szczególnie w kontekście przemysłowym, gdzie awarie czy nieautoryzowane działania mogą prowadzić do poważnych konsekwencji, takich jak przerwy w produkcji, uszkodzenie sprzętu, czy nawet zagrożenie dla zdrowia i życia ludzi.

Częściowe zabezpieczenie projektu PLC

Przykładem jest funkcja „Know-how protection” w TIA Portal gdzie nieupoważniony użytkownik nie będzie mógł przeglądać ani modyfikować rzeczywistego kodu czy tagów w bloku bez wprowadzenia hasła. Natomiast użytkownik nieposiadający hasła może odczytać tylko informacje dotyczące bloku z kodem:

  • nazwę bloku, właściwości bloku i ewentualne komentarze,
  • parametrybloku np. INPUT, OUTPUT;
  • globalne zmienne bez informacji gdzie są używane.

Zabezpieczenie kodu PLC Safety

W trybie bezpieczeństwa, dostęp za pomocą hasła CPU nie może być autoryzowany podczas wprowadzania zmian w standardowym programie użytkownika, ponieważ pozwoliłoby to na zmiany w programie bezpieczeństwa. Aby wykluczyć taką możliwość, należy ustawić poziom zabezpieczenia.

Dodatkowo można zabezpieczyć kod sterownika PLC Safety . Zapobieganie nieautoryzowanym modyfikacjom kodu związanego z bezpieczeństwem działającej maszyny.

Mamy w takim przypadku pełny dostęp do standardowego programu użytkownika, nie do bloków bezpieczeństwa, gdyż program bezpieczeństwa i bloki bezpieczeństwa są zabezpieczone hasłem.

Pierwsze uruchomienie maszyny i/lub linii produkcyjnej

Hasła serwisowe aktywacyjne

Hasło podaje się je tylko raz w całym życiu linii produkcyjnej aby producent miał gwarancję, że pierwszą instalację wykonał serwis własny bądź autoryzowany serwis  zewnętrzy.

Zazwyczaj powoduję one zatrzymywanie się linii/ maszyny w sposób:

  • ustalony bez komunikatu o konieczności wprowadzenia hasła serwisowego aktywacyjnego
  • ustalony z komunikatem o konieczności wprowadzenia hasła serwisowego aktywacyjnego
  • nieustalony (wg zegara wewnętrznego) Może to powodować nie załączanie się bądź wyłączanie się linii/maszyny podczas pracy.

W moim doświadczeniu zawodowym spotkałem się z tego typu hasłami kilkukrotnie. Pierwszy raz pracując jako serwisant maszyn procesujących gotówkę. W tamtym okresie miałem okazję pomagać niemieckim serwisantom w instalacji zaawansowanej maszyny do zliczania i niszczenia banknotów: Giesecke & Devrient BPS M5 w dwóch siedzibach NBP w Polsce. Ze względu na bardzo szybką pracę – do 33 banknotów/ sekundę warunkiem koniecznym było  spełnienie wielu czynników m.in. odpowiednia wilgotność powietrza itd. Cała instalacja zajęła około 2-3 tygodni, po tym czasie serwisanci producenta wprowadzili hasło serwisowe aktywacyjne, które gwarantowało, że wszystkie warunki zewnętrzne są spełnione oraz maszyna jest poprawnie ustawiona do bezawaryjnego działania. Po tej czynności  została oddana w ręce lokalnego autoryzowanego serwisu.

maszyna do procesowania gotówki

Rys. 1. Zaawansowana maszyna do procesowania gotówki. Giesecke & Devrient BPS M5

Ostatni raz z tym hasłem spotkałem się podczas wyjazdu serwisowego do dużej fabryki osprzętu elektrycznego w województwie zachodniopomorskim.

Objaw

Maszynę nie da się uruchomić w trybie automatycznym, bądź w czasie pracy się wyłącza. Co jakiś czas pojawia się taki ekran na panelu HMI

Błąd na linii w trybie automatycznym

Rys. 2. Błąd uniemożliwiający dłużą pracę linii w trybie automatycznym.

Prawdopodobna przyczyna:

Zwarcie na czujnikach, które nastąpiło na wieczornej zmianie dnia poprzedniego.

Działanie – sterownik Siemens S7:

Rozmowa z automatykiem i operatorem dotyczącej awarii po której nastąpił błąd, który nigdy wcześniej nie występował.

Prace zaczęły się od podłączenie się do PLC specjalnym kablem, sprawdzenie czy program na sterowniku jest tym samym co na backupie (brak ingerencji osób trzecich). Sprawdzenia wejść na sterowniku i na module, które obsługują czujniki które zrobiły zwarcie. Sprawdzenie elektryczne i sprzętowe. Częściowa praca z dokumentacją elektryczną ze względu na brak oznaczeń (etykiet) na części kabli od czujników. Oprócz uszkodzenia kilku czujników, jeszcze jeden z siłowników był uszkodzony (nietrzymający swojej pozycji – uszkodzenie wewnętrzne). Został on wymieniony na nowy przez automatyka UR.

Po naprawieniu maszyny mogłem zacząć próbować namierzać z jakiego powodu wyskakuje ten komunikat. Niestety nie mając programu do HMI, ciężko było powiązać, który alarm generuje ten błąd.

Ze względu na ogrom tych alarmów zacząłem ustawiać pułapki sygnałowe na kolejne sekcje aby dowiedzieć się co jest przyczyną.

Sterownik PLC Siemens

Rys. 3. Sterownik PLC Siemens S7-400 który był diagnozowany

W między czasie udało się automatykowi skontaktować się z programistą PLC z firmy, która zaprojektowała tą linię. Na szczęście firma jeszcze istniała, choć maszyna miała ponad 15 lat. Połączył się z naszym komputerem podłączonym do sterownika PLC. Na podstawie informacji przekazanych przez telefon twórca tego programu z poziomu PLC wywołał ekran w którym można było wprowadzić hasło które nam przedyktował. Było to typowe hasło aktywacyjne, które powodowało zatrzymanie linii produkcyjnej w sposób nieustalony (wg zegara wewnętrznego). Normalnie podaje się je tylko raz w całym życiu linii produkcyjnej, niestety w tym przypadku zwarcie było tak duże, że prawdopodobnie zaburzyło pracę sterownika, który wykasował je ze swojej pamięci.

ekran hasła serwisowego

Rys. 4. Aktywowany ekran hasła serwisowego

Wnioski

Zabezpieczenia w automatyce są niezbędne dla ochrony własności intelektualnej i zapewnienia bezawaryjnej pracy maszyn. Warto inwestować w renomowanych producentów, którzy zapewnią długoterminowe wsparcie techniczne.

W niektórych przypadkach brak pełnej wiedzy na temat działania programu oraz lokalizacji funkcji aktywującej hasło serwisowe (co jest wiedzą projektanta urządzenia) prowadził do trudnych do zdiagnozowania błędów, których usunięcie było niemożliwe w krótkim czasie.

Podsumowanie

Czy macie podobne doświadczenia z hasłami serwisowymi w sterownikach PLC? Niewątpliwie mogą one przysporzyć sporo problemów, szczególnie w pierwszej fazie i zdecydowanie porada eksperta może być naprawdę cenna.

W przypadku awarii sterowników PLC, firmy sięgają po system CMMS, który ułatwia zgłaszanie usterek do działów utrzymania ruchu. Chcesz dowiedzieć się więcej o bezpieczeństwie w automatyce przemysłowej? Chcesz zobaczyć, jak system CMMS poprawia wydajność działów UR? Skontaktuj się z nami, a pomożemy Ci znaleźć rozwiązanie lub wypróbuj nasz system CMMS bezpośrednio przez 14 dni.

Zapisz się do naszego newslettera, aby otrzymywać najnowsze wiadomości i wskazówki. Ponadto, już 25 września 2024 o godz. 13:00 organizujemy bezpłatny webinar, w którym dowiesz się m.in. jak firmy z branży logistyki dbają o utrzymanie ruchu i automatykę w magazynach. Zarejestruj się na webinar już teraz.

 

Grzegorz Cybula

Grzegorz Cybula

LinkedIn Profile

Absolwent Politechniki Gdańskiej, automatyk z ponad 12-letnim doświadczeniem i licencjonowany programista SIEMENS, zawodowo aktywny jako inżynier projektu i projektant systemów automatyki.


 

FAQ

Odpowiedź: Główne powody implementacji zabezpieczeń hasłem w sterownikach PLC to:

  • Ochrona własności intelektualnej: Aby zabezpieczyć autorski kod i konfigurację opracowane przez programistę PLC lub firmę.
  • Bezpieczeństwo: Aby zapobiec nieautoryzowanemu dostępowi i modyfikacjom, które mogą prowadzić do zakłóceń produkcji, uszkodzenia sprzętu lub zagrożeń dla bezpieczeństwa.
  • Zgodność: Aby spełnić standardy branżowe i przepisy wymagające określonych poziomów bezpieczeństwa dla systemów sterowania przemysłowego.
  • Kontrola konserwacji: Aby zapewnić, że tylko upoważniony personel może wprowadzać zmiany w programie PLC, zapobiegając przypadkowym lub złośliwym modyfikacjom.

Odpowiedź: Istnieje kilka poziomów zabezpieczeń hasłem w sterownikach PLC, w tym:

  • Dostęp do PLC: Ochrona dostępu do całego PLC, zapobiegająca nieautoryzowanym pobieraniu lub ładowaniu.
  • Ochrona projektu: Zabezpieczenie poszczególnych projektów lub części projektu, ograniczając dostęp do określonych POU lub danych.
  • Ochrona kodu: Ochrona rzeczywistego kodu w PLC, zapobiegająca nieautoryzowanemu przeglądaniu lub modyfikacji.
  • Hasła aktywacyjne: Służą do początkowej konfiguracji maszyny lub odblokowania określonych funkcji, często wymagając wprowadzenia przez oryginalnego producenta sprzętu.

Pytania i odpowiedzi dotyczące zabezpieczeń w sterownikach PLC

Pytanie 1: Jakie są główne powody implementacji zabezpieczeń hasłem w sterownikach PLC?

Odpowiedź: Główne powody implementacji zabezpieczeń hasłem w sterownikach PLC to:

  • Ochrona własności intelektualnej: Aby zabezpieczyć autorski kod i konfigurację opracowane przez programistę PLC lub firmę.
  • Bezpieczeństwo: Aby zapobiec nieautoryzowanemu dostępowi i modyfikacjom, które mogą prowadzić do zakłóceń produkcji, uszkodzenia sprzętu lub zagrożeń dla bezpieczeństwa.
  • Zgodność: Aby spełnić standardy branżowe i przepisy wymagające określonych poziomów bezpieczeństwa dla systemów sterowania przemysłowego.
  • Kontrola konserwacji: Aby zapewnić, że tylko upoważniony personel może wprowadzać zmiany w programie PLC, zapobiegając przypadkowym lub złośliwym modyfikacjom.

Pytanie 2: Jakie są różne poziomy zabezpieczeń hasłem w sterownikach PLC i jakie są ich główne funkcje?

Odpowiedź: Istnieje kilka poziomów zabezpieczeń hasłem w sterownikach PLC, w tym:

  • Dostęp do PLC: Ochrona dostępu do całego PLC, zapobiegająca nieautoryzowanym pobieraniu lub ładowaniu.
  • Ochrona projektu: Zabezpieczenie poszczególnych projektów lub części projektu, ograniczając dostęp do określonych POU lub danych.
  • Ochrona kodu: Ochrona rzeczywistego kodu w PLC, zapobiegająca nieautoryzowanemu przeglądaniu lub modyfikacji.
  • Hasła aktywacyjne: Służą do początkowej konfiguracji maszyny lub odblokowania określonych funkcji, często wymagając wprowadzenia przez oryginalnego producenta sprzętu.

Pytanie 3: Jakie są potencjalne wyzwania i zagrożenia związane z zabezpieczeniami hasłem w sterownikach PLC?

Odpowiedź: Chociaż zabezpieczenia hasłem są kluczowe dla sterowników PLC, istnieją potencjalne wyzwania i zagrożenia:

  • Zapomniane hasła: Jeśli hasło zostanie utracone lub zapomniane, może być trudno i czasochłonne odzyskać dostęp.
  • Słabe hasła: Używanie słabych lub łatwo zgadowalnych haseł może narazić na kompromis bezpieczeństwo.
  • Nadmiernie złożone hasła: Ekstremalnie złożone hasła mogą prowadzić do błędów ludzkich i zwiększać ryzyko pomyłek.
  • Jeden punkt awarii: Jeśli jedno hasło zabezpiecza wiele krytycznych systemów, jego kompromis może mieć poważne konsekwencje.
  • Problemy ze zgodnością: Mechanizmy zabezpieczeń hasłem mogą się różnić między różnymi markami i modelami PLC, co utrudnia utrzymanie spójności w heterogenicznym środowisku.

tło

Wypróbuj QRmaint

Bezpłatnie przez 14 dni, bez zobowiązań.