Skip to content
Encyklopedia protokołów | | 6 min czytania

PROFINET - protokół warstwy 2 w ekosystemie Siemens. Bezpieczeństwo i segmentacja

PROFINET - komunikacja przemysłowa warstwy 2 (EtherType), tryby RT i IRT, ekosystem Siemens. Dlaczego firewalle IP nie wystarczą i jak projektować segmentację.

PROFINETSiemensLayer 2
PROFINET - protokół warstwy 2 w ekosystemie Siemens. Bezpieczeństwo i segmentacja

PROFINET (Process Field Network) to protokół komunikacji przemysłowej opracowany przez organizację PROFIBUS & PROFINET International (PI) i stanowiący fundament ekosystemu automatyki Siemens. W odróżnieniu od wielu protokołów przemysłowych, PROFINET w swoich trybach czasu rzeczywistego (RT i IRT) nie korzysta ze stosu TCP/IP - ramki przesyłane są bezpośrednio w warstwie 2 modelu OSI z dedykowanym EtherType 0x8892. Ta cecha daje PROFINET wyjątkową wydajność, ale jednocześnie sprawia, że tradycyjne firewalle IP są wobec niego bezradne.

Architektura i tryby komunikacji

PROFINET definiuje trzy klasy komunikacji, różniące się wymaganiami czasowymi i mechanizmem transportu:

PROFINET NRT (Non-Real-Time)

Komunikacja niekrytyczna czasowo - diagnostyka, konfiguracja, przesyłanie plików firmware. Wykorzystuje standardowy stos TCP/IP i UDP. Ten tryb jest “widoczny” dla firewalli IP i może być filtrowany jak każdy inny ruch sieciowy.

PROFINET RT (Real-Time)

Podstawowy tryb wymiany danych I/O w czasie rzeczywistym. Ramki RT pomijają stos TCP/IP i są przesyłane bezpośrednio jako ramki Ethernet z EtherType 0x8892. Priorytet ramek jest zarządzany przez mechanizm VLAN tagging (IEEE 802.1Q) z wysokim priorytetem CoS. Typowy cykl komunikacji: 1-10 ms.

PROFINET IRT (Isochronous Real-Time)

Tryb deterministyczny dla aplikacji wymagających synchronizacji poniżej 1 ms - typowo napędy serwo, systemy motion control. IRT rezerwuje dedykowane sloty czasowe w cyklu komunikacji (podobnie do TDMA). Wymaga przełączników z obsługą IRT (np. Siemens SCALANCE z chipem ERTEC).

Parametry techniczne

ParametrWartość
Warstwa modelu OSI2 (RT/IRT) / 4-7 (NRT)
EtherType0x8892
Porty TCP/UDP (tryb NRT)UDP 34964 (DCP), TCP 102 (S7comm), UDP 161 (SNMP)
Cykl komunikacji RT1-10 ms
Cykl komunikacji IRT< 1 ms (deterministyczny)
UwierzytelnianieBrak
SzyfrowanieBrak
Główny ekosystemSiemens (S7-1500, S7-1200, ET 200, SCALANCE)
Organizacja standaryzującaPI (PROFIBUS & PROFINET International)

Ocena bezpieczeństwa

PROFINET nie posiada wbudowanych mechanizmów uwierzytelniania ani szyfrowania - w żadnym z trybów komunikacji. Oznacza to, że:

  • Każde urządzenie podłączone do segmentu sieciowego z PROFINET RT/IRT może odczytywać i wstrzykiwać ramki
  • Protokół DCP (Discovery and Configuration Protocol) pozwala na zmianę nazwy i adresu IP urządzeń PROFINET bez uwierzytelniania - znany wektor ataków DoS
  • Komunikacja S7comm (TCP 102) używana przez stacje inżynierskie TIA Portal do programowania sterowników S7 nie wymaga uwierzytelniania w domyślnej konfiguracji

Problem z firewallami IP

To kluczowa różnica wobec protokołów takich jak EtherNet/IP czy Modbus TCP. Ruch PROFINET RT i IRT nie ma nagłówków IP - firewall warstwy 3 po prostu go nie widzi. Ramki przechodzą przez przełączniki jak każdy inny ruch L2, a standardowe ACL oparte na adresach IP i portach nie mają zastosowania.

TIP

Jeśli w sieci OT działają urządzenia PROFINET, przetestuj, czy Twój firewall faktycznie widzi ruch RT/IRT. Wiele organizacji dowiaduje się o tej luce dopiero podczas audytu. Sprawdź, czy przełączniki w strefie PROFINET mają włączone filtrowanie na poziomie MAC i VLAN.

Siemens S7 - dodatkowy kontekst

PROFINET jest ściśle powiązany z protokołem S7comm/S7comm-plus, używanym do programowania i konfiguracji sterowników Siemens S7. W starszych modelach (S7-300, S7-400) protokół S7comm nie oferuje uwierzytelniania - każdy klient z dostępem do TCP 102 może odczytać i zapisać program sterownika. Nowsze S7-1500 z firmware v2.0+ wspierają mechanizm Access Protection (hasło na poziom dostępu), ale nie szyfrują komunikacji.

TIP

Narzędzie open-source snap7 (biblioteka C/Python) umożliwia pełną komunikację z PLC Siemens przez S7comm - odczyt/zapis bloków danych, upload/download programu. Służy integratorom, ale jest też regularnie wykorzystywane w scenariuszach ofensywnych. Dostęp do TCP 102 powinien być ściśle ograniczony.

Segmentacja sieci z PROFINET

Segmentacja sieci zawierającej PROFINET wymaga podejścia uwzględniającego specyfikę warstwy 2. Nie wystarczą reguły firewalla IP - potrzebne są mechanizmy działające na poziomie ramek Ethernet.

Zalecenia praktyczne

  1. Dedykowane VLANy dla stref PROFINET - urządzenia PROFINET RT/IRT powinny być izolowane w osobnych VLANach. Ruch między VLANami powinien przechodzić przez firewall L2-aware lub router z inspekcją ramek.

  2. Firewalle L2-aware na granicach stref - stosuj firewalle rozumiejące EtherType 0x8892 i strukturę ramek PROFINET. Przykłady: Siemens SCALANCE S (seria 600), Hirschmann EAGLE, Phoenix Contact mGuard. Te urządzenia potrafią filtrować ruch PROFINET na podstawie nazwy urządzenia, typu ramki i funkcji CIP.

  3. Filtrowanie DCP - protokół DCP (discovery/configuration) powinien być ograniczony do stacji inżynierskich. Blokuj ramki DCP Set na portach przełącznika, do których nie są podłączone stacje TIA Portal.

  4. Separacja ruchu NRT od RT/IRT - ruch diagnostyczny (TCP/IP) powinien przechodzić przez oddzielny interfejs sieciowy lub VLAN. Wiele sterowników S7-1500 obsługuje dwa porty Ethernet - jeden dla PROFINET RT, drugi dla komunikacji IT/diagnostyki.

  5. Kontrola dostępu do TCP 102 - programowanie sterowników (S7comm) powinno być możliwe wyłącznie ze stacji inżynierskich w autoryzowanym segmencie. Firewall powinien blokować TCP 102 z każdego innego źródła.

  6. Port security na przełącznikach - ograniczenie liczby adresów MAC na porcie i blokowanie nieznanych adresów MAC utrudnia podłączenie nieautoryzowanych urządzeń do segmentu PROFINET.

  7. Monitoring specjalizowany - systemy IDS z obsługą PROFINET (Claroty, Nozomi, Rhebo) dekodują ramki L2 i wykrywają anomalie: nieautoryzowane operacje DCP, zmiany topologii, nowe urządzenia w segmencie.

Więcej o projektowaniu stref i korytarzy w środowiskach OT znajdziesz w artykule Segmentacja sieci OT - jak chronić systemy przemysłowe.

Podsumowanie

PROFINET to protokół wyjątkowo wydajny, ale wymagający przemyślanego podejścia do bezpieczeństwa. Działanie w warstwie 2 czyni go niewidocznym dla standardowych firewalli IP - co w wielu instalacjach oznacza, że ruch PROFINET nie podlega żadnej inspekcji. Brak uwierzytelniania i szyfrowania w połączeniu z szerokim wdrożeniem w ekosystemie Siemens sprawia, że segmentacja na poziomie L2 (VLANy, firewalle L2-aware, port security) jest nie opcją, lecz koniecznością.

Narzędzia open source

NarzędzieJęzykOpisLink
zeek-plugin-profinetZeek (NSM)Plugin do Zeek generujący ustrukturyzowane logi z ruchu PROFINET DCP i RPCGitHub
ProfinetTools.NETSkaner urządzeń PROFINET - wykrywanie i identyfikacja w segmencie sieciowymGitHub
WiresharkCWbudowany disektor PROFINET - analiza ramek RT/IRT, DCP i komunikacji S7wireshark.org

TIP

zeek-plugin-profinet generuje ustrukturyzowane logi ruchu PROFINET DCP discovery i RPC - idealne do wykrywania nieautoryzowanych operacji konfiguracyjnych w sieci OT.

Źródła

Omówimy zakres, metodykę i harmonogram.