Bezpieczeństwo automatyki dzięki wirtualizacji
Redakcja serwisu print
Wprowadzenie Ethernetu do przemysłu przyniosło wiele nowych możliwości tworzenia struktur sieci przemysłowych i łączenia ze sobą urządzeń, które dotąd mogły wymieniać dane tylko poprzez różnego rodzaju bramki sieciowe i serwery pośrednie. Korzyści płynące z takich rozwiązań okupione są jednak pewnym zagrożeniem. Bezpieczeństwo silnie zintegrowanych systemów przemysłowych nie jest łatwe do zagwarantowania.
Podłączenie urządzeń polowych praktycznie do tej samej sieci, co paneli operatorskich i serwerów odpowiadających za planowanie produkcji lub archiwizowanie danych jest wygodne, gdyż ułatwia stworzenie instalacji i zmniejsza jej koszty. Niestety, dostęp do serwerów z danymi historycznymi najczęściej jest konieczny także z sieci biurowej przedsiębiorstwa, co w praktyce oznacza, że cała sieć przemysłowa staje się w jakiś sposób podłączona do Internetu. W obliczu rosnącej liczby ataków hakerskich na systemy przemysłowe, konieczne jest więc odpowiednie zabezpieczenie instalacji automatyki przed niepowołanym dostępem.
Klasycznie = drogo
Klasycznym i całkiem skutecznym rozwiązaniem jest zastosowanie specjalnych bramek sieciowych i zapór ogniowych, które nie tylko fizycznie rozdzielają sieć przemysłową od biurowej, ale też są wyposażone w zaawansowany i dopracowany system blokujący niepożądane próby dostępu. Urządzenia tego typu zazwyczaj nie są tanie, ale pozwalają zlecić specjalistom od bezpieczeństwa stworzenie sprawnego i wydajnego rozwiązania, bez konieczności ingerencji w budowę lub działanie samego systemu automatyki. Część konfiguracji i oprogramowania odpowiadająca za funkcjonowanie maszyn fabrycznych jest wtedy opracowywana przez inny zespół inżynierski, a ich prace nie zakłócają się wzajemnie. Niestety, dążenie do minimalizacji kosztów sprawia, że coraz więcej firm stara się zrezygnować z kupowania niezależnych urządzeń przeznaczonych do bezpieczeństwa sieciowego. Dosyć powszechną praktyką staje się wykorzystywanie komputerów przemysłowych do jednoczesnego sterowania produkcją, jak i filtrowania ruchu sieciowego. Ułatwia to rosnąca moc obliczeniowa tego typu urządzeń, która w bardzo wielu przypadkach zdecydowanie przekracza zapotrzebowanie na nią. Ta nadmiarowa moc może być więc „bezkarnie” spożytkowana na realizację systemu zabezpieczającego. Problemem jest jednak to, że zgranie funkcji przemysłowych z zabezpieczającymi na w jednym systemie operacyjnym i implementacja ich w tym samym czasie przez dwa zespoły inżynierskie jest problematyczna.
Komputery wirtualne
Rozwiązaniem tego problemu staje się zastosowanie technik wirtualizacji. Pozwala ona na wydzielenie wirtualnych urządzeń i uruchomienie niezależnie działających systemów operacyjnych w oparciu o pojedynczy komputer przemysłowy. Tak skonstruowany system umożliwia minimalizację kosztów. Funkcje sterowania zostają zaimplementowane w jednym z systemów pracujących na wirtualnej maszynie, a nadmiarowa moc może być użyta do realizacji innych zadań, bez obaw o zakłócanie pracy tych pierwszych. Koszt pojedynczego komputera przemysłowego o mocy X jest bowiem znacznie mniejszy niż koszt dwóch komputerów o mocy 0,5 X każdy. Maleją też koszty okablowania, a wydajność komunikacji pomiędzy systemami wirtualnymi zainstalowanymi na tej samej fizycznej maszynie może być wyższa niż pomiędzy niezależnymi urządzeniami.
Koncepcja wirtualizacji
Biorąc pod uwagę fakt, że w omawianym przypadku wirtualizacja stosowana jest by zapewnić odpowiednie bezpieczeństwo, ważne jest stosowne jej zaimplementowanie. Wiele systemów sterowania wymaga bowiem pracy w czasie rzeczywistym. Jednocześnie maksymalne bezpieczeństwo uzyska się dopiero, gdy odetnie się bezpośredni dostęp urządzeń automatyki przemysłowej od sieci zewnętrznej.
Z powyższych powodów realizacji wirtualizacji powinna opierać się o użycie komputera z przynajmniej dwurdzeniowym procesorem i systemu zarządzającego maszynami wirtualnymi w taki sposób, by móc zablokować i zasymulować pewne interfejsy. Optymalne będzie udostępnienie fizycznych portów ethernetowych tylko wirtualnej instancji serwera odpowiadającej za bezpieczeństwo, a dostęp do pozostałych interfejsów wejścia i wyjścia powinien zostać zagwarantowany tylko dla instancji odpowiadającej za funkcje sterowania. ważne jest też rozdzielenie pamięci obu instancji, choć w razie potrzeby możliwe jest dopuszczenie pewnego obszaru pamięci wspólnej, co ułatwiłoby wymianę danych. Podstawowa wymiana informacji pomiędzy instancjami powinna zostać zaimplementowana za pomocą wirtualnego interfejsu ethernetowego, łączącego obie instancje.
Takie rozwiązanie sprawi, że zarówno z Internetu, jak i z wewnętrznej sieci, wybrany komputer przemysłowy będzie widziany jako dwa inne urządzenia.