Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Zabezpieczenie krytycznej infrastruktury informacyjnej: godna zaufania baza komputerowa

Tagi:

Puszka Pandory

Robak Stuxnet stał się pierwszą powszechnie znaną cyberbronią. Celowo bądź nie, osoby stojące za Stuxnetem otworzyły puszkę Pandory – pokazując światu, jak skuteczny może być atak na obiekt przemysłowy. Nietrudno wyobrazić sobie, jak destrukcyjne mogą być skutki potencjalnego ataku na instalacje w branży energetycznej, przemysłowej, finansowej i innych.

Po odkryciu Stuxneta pojawiło się kilku jego bliskich „krewnych”: Duqu, Flame oraz Gauss. Programy te mają kilka cech wspólnych, jednak ich cele, funkcjonalność i czas powstania różnią się. Niestety, nie jest to pełna lista znanych szkodliwych programów potrafiących szpiegować i/lub przeprowadzać sabotaż – ponura rzeczywistość jest taka, że cyberbroń znajduje się obecnie w arsenale kilku państw. W przeszłości państwa sięgały po środki dyplomatyczne, ekonomiczne i militarne w celu podtrzymania swoich interesów geopolitycznych; teraz zamiast samolotów bojowych, rakiet, czołgów czy okrętów wojennych stosują do osiągnięcia swoich celów wyspecjalizowane szkodliwe oprogramowanie. W przypadku skutecznej instalacji, cyberbroń przynosi pożądany skutek i co więcej – można ją nabyć za ułamek kosztów tradycyjnej broni i robi minimalny hałas, co jest idealne, jeżeli chce się zachować anonimowość. Przykładem może być niedawny incydent związany ze szkodnikiem o nazwie Wiper, który po raz kolejny udowodnił, jak skuteczne może być takie podejście.

Największe potęgi światowe już teraz otwarcie dyskutują o potrzebie obrony przed wrogą aktywnością w cyberprzestrzeni jak również o swoich planach rozwoju zdolności cyberwojennych. To z kolei zmusza inne państwa, aby poszły za ich przykładem i posiadały własne wysoce wyspecjalizowane zespoły programistów i hakerów potrafiących rozwijać wyspecjalizowane cyberzasoby – zarówno w celach obronnych jak i ofensywnych. Cybernetyczny wyścig zbrojeń trwa na dobre.

Obecnie w celu obrony suwerenności państwo nie tylko musi chronić swoje interesy socjoekonomiczne i polityczne, ale również skutecznie bronić swojej cyberprzestrzeni. Ochrona kluczowej infrastruktury informacyjnej krytycznych obiektów służących podtrzymaniu życia to kwestia, którą państwa ze zrozumiałych względów uważają za najwyższy priorytet.

Anatomia ataku

Cyberataki stanowią największe zagrożenie dla państw i ich mieszkańców, w przypadku gdy ich celem jest kluczowa infrastruktura informacyjna służąca do kontrolowania i zarządzania instalacjami o krytycznym znaczeniu, takich jak elektrownie, sieci energetyczne, rurociągi, sieci transportowe i telekomunikacyjne itd. Awaria takiej infrastruktury może wywołać chaos i katastrofę. W ten czy inny sposób jesteśmy uzależnieni od takich systemów w naszym codziennym życiu. Ogrzewają nasze domy, dostarczają do nich wodę i prąd i kontrolują wydobycie zasobów naturalnych jak również procesy produkcyjne w fabrykach.

Jednak potencjalny cel cyberataków stanowią nie tylko obiekty przemysłowe i infrastruktura. Każdy nieautoryzowany dostęp do danych może spowodować poważne problemy dla różnego typu organizacji, łącznie z bankami, ośrodkami medycznymi i wojskowymi, instytucjami badawczymi i większością firm. Jednak w tym artykule ograniczymy się do omówienia ochrony obiektów przemysłowych/infrastrukturalnych.

Niestety, oprogramowanie służące do zarządzania kluczową infrastrukturą informacyjną nie jest pozbawione błędów i luk w zabezpieczeniach. Według badania przeprowadzonego przez Carnegie Mellon University, oprogramowanie wojskowe i przemysłowe zawiera od pięciu do 10 wad na każde tysiąc linijek kodu. Dotyczy to oprogramowania oferowanego użytkownikom końcowym, które przeszło już testy. A zatem wiedząc, że jądro systemu operacyjnego Windowsa posiada ponad pięć milinów linijek kodu, a Linuksa – 3,5 milionów, nietrudno obliczyć liczbę teoretycznie możliwych luk, które mogłyby zostać wykorzystane do przeprowadzenia cyberataku.

Mimo to, aby cyberatak spełnił swój cel, napastnicy muszą mieć doskonałe rozeznanie w wewnętrznych mechanizmach atakowanego celu. Z tego powodu ataki te zwykle składają się z kilku etapów.

Pierwszy etap to rekonesans mający na celu zebranie informacji o schemacie sieci atakowanego obiektu oraz konkretnych funkcjach i cechach wykorzystywanego sprzętu i oprogramowania. Na tym etapie, zamiast badać sam cel, często analizuje się jego kontrahentów, np. integratorów systemów. Wynika to z tego, że często są oni mniej ostrożni w kwestii bezpieczeństwa, a jednocześnie posiadają cenne dane dotyczące atakowanego celu. Co więcej, kontrahenci posiadają autoryzowany dostęp do atakowanej sieci, który agresorzy mogą wykorzystać na następnym etapie ataku. Ten pierwszy etap rekonesansu może również obejmować szpiegowanie firm usługowych, partnerów i dostawców sprzętu.

Na drugim etapie zebrane dane są szczegółowo analizowane, a następnie wybierany jest najskuteczniejszy wektor ataku. Determinuje to lukę w kodzie programu, jakiej należy użyć w celu przeniknięcia do systemu, oraz funkcjonalność, jaką musi posiadać szkodliwe oprogramowanie, aby osiągnęło swój cel. Następnie tworzony jest szkodliwy program z wymaganą „głowicą”.

Następnie, w miarę możliwości, szkodliwe oprogramowanie jest testowane na tych samych ustawieniach oprogramowania/sprzętu, które są wykorzystywane przez cel ataku.

Na koniec pozostaje kwestia metody, jakiej należy użyć w celu dostarczenia szkodliwego programu do ofiary. Tutaj możliwości obejmują od stosunkowo prostych metod socjotechnicznych po zaawansowane metody penetracji poprzez bezpieczne kanały komunikacji. Jak pokazał atak szkodnika Flame, tam gdzie jest wola, upór i wystarczająca moc obliczeniowa, zaawansowane metody mogą zdziałać wiele.

Przemysłowe systemy kontroli

Jeżeli chodzi o ochronę kluczowej infrastruktury, istnieją dwa szczególnie poważne problemy: niedostatki modeli bezpieczeństwa przeznaczonych dla krytycznych/przemysłowych systemów oraz niedociągnięcia w środowiskach, w których modele te są implementowane.

Do niedawna panowała powszechnie opinia, że w przypadku tworzenia modeli bezpieczeństwa informacyjnego dla krytycznie istotnych instalacji przemysłowych/infrastrukturalnych, fizyczne odizolowanie instalacji zapewnia jej wystarczającą ochronę – na zasadzie „bezpieczeństwo poprzez ukrycie”. Jednak Stuxnet pokazał, że zasada ta już nie działa (jego cel był fizycznie odizolowany), oraz że takie podejście do bezpieczeństwa jest przestarzałe.

Kluczowa infrastruktura informacyjna w krytycznych/przemysłowych obiektach składa się z przemysłowych systemów kontroli (ang. ICS) oraz przemysłowych systemów bezpieczeństwa. Bezpieczeństwo całego obiektu zależy od bezproblemowego i poprawnego funkcjonowania monitoringu tych systemów.

Pod względem oprogramowania i sprzętu systemy ICS są heterogeniczne. Typowa sieć operacji/procesów w przedsiębiorstwie obejmuje serwery SCADA zarządzane przez Windowsa lub Linuksa, serwery baz danych (serwer SQL lub Oracle), programowalne sterowniki logiczne (ang. PLC) różnych producentów, interfejsy odpowiedzialne za interakcję między człowiekiem a maszyną (HMI), inteligentne sensory oraz korporacyjne systemy ERP. Najnowsze badania Amerykańskiego Departamentu Bezpieczeństwa Narodowego sugerują, że średnio istnieje 11 bezpośrednich połączeń pomiędzy siecią operacji/procesów oraz siecią korporacyjną.

Funkcje, jakie można znaleźć w systemach ICS, zależą od wielu czynników, takich jak doświadczenie integratorów systemów, ich pojęcie na temat opłacalności danej metody ochrony, obecne trendy w automatyce i wiele innych.

W ogromnej większości przypadków, ochrona systemów ICS nie zajmuje wysokiej pozycji na liście priorytetów integratorów systemów. Naturalnie tego rodzaju systemy programowo-sprzętowe podlegają certyfikacji, zwykle jednak jest to jedynie procedura biurokratyczna.

Problem luk

Aby zrozumieć, jak podatny na ataki może być system ICS, wystarczy uświadomić sobie, jak długo taki system pozostaje zwykle w użyciu - dekady. Ponadto, do połowy XX wieku pojęcie „luki w oprogramowaniu” w ogóle nie istniało, a jeżeli podczas rozwoju systemów luki te przyczyniły się do powstania jakichś problemów związanych z bezpieczeństwem, po prostu nie zwracano na nie uwagi. A zatem, większość zautomatyzowanych systemów kontroli wykorzystywanych obecnie w przemysłowych/infrastrukturalnych sieciach operacji/procesów zostało stworzonych bez uwzględnienia możliwości przeprowadzenia na nie cyberataków. Na przykład, większość protokołów służących do wymiany informacji wykorzystywanych w serwerach SCADA i sterownikach PLC nie wymaga żadnej identyfikacji ani autoryzacji użytkownika. Oznacza to, że każde urządzenie, które łączy się z przemysłową/infrastrukturalną siecią operacji/procesów, potrafi otrzymywać i wysyłać polecenia kontroli do dowolnego urządzenia w tej sieci.

Kolejny problem związany jest ze statusem quo systemów ICS: przy tak długim cyklu życia uaktualnienie lub zainstalowanie nowego oprogramowania w systemie zwykle albo jest zabronione przez przepisy danej organizacji, albo wiąże się ze znacznymi trudnościami biurokratycznymi i technicznymi. Przez wiele lat systemy ICS zasadniczo nie były w ogóle aktualizowane. Jednocześnie przez cały czas w internecie były i nadal są publikowane szczegółowe informacje na temat luk w zabezpieczeniach sterowników oraz systemów SCADA, systemów operacyjnych, systemów zarządzania bazami danych, a nawet inteligentnych sensorów.

Nie można również zapominać o firmach produkujących serwery SCADA i sterowniki PLC – one też prawie wcale nie pomagają poprawić poziomu cyberbezpieczeństwa poprzez swoje produkty. Archiwum wiadomości ICS-CERT stanowi dowód na to, że producenci zwracają niewielką uwagę na kwestie bezpieczeństwa, zarówno oprogramowania jak i sprzętu. Niezmieniane loginy i hasła do sterowników PLC, klucze SSH i SSL, możliwość ataków na systemy na skutek przepełnienia buforu oraz możliwość zastąpienia komponentów systemu szkodliwymi oraz przeprowadzenia ataków DoS i XSS. To jedynie najbardziej powszechne luki.

Ponadto, większość producentów instaluje na swoich systemach sprzętowo-programowych zdalne programy administracyjne, pozostawiając ich konfigurację integratorom systemów. Jednak integratorzy często nie przywiązują dużej wagi do ustawień, przez co dostęp do systemów ICS jest nierzadko uzyskiwany za pośrednictwem Internetu przy użyciu domyślnego loginu i hasła. W internecie istnieją specjalnie stworzone wyszukiwarki potrafiące zlokalizować urządzenia, do których dostęp jest możliwy przy użyciu domyślnego loginu i hasła lub w ogóle bez jakiejkolwiek autoryzacji. A zatem każdy, kto chce, może bez trudu sprawować zdalną kontrolę nad krytycznym systemem – nawet znajdując się po drugiej stronie planety.

Opisane powyżej luki prowadzą do sytuacji, w której możliwe jest włamanie się do komponentów systemów ICS, zainfekowanie ich, sprawienie, aby działały niepoprawnie lub zupełnie błędnie, oraz aby te same komponenty ICS generowały inżynierom fałszywe raporty i zachęcały ich do podjęcia niewłaściwych działań, które, z kolei, mogą wywołać poważne awarie.

Naturalnie, w każdym obiekcie przemysłowym/infrastrukturalnym istnieją systemy bezpieczeństwa. Jednak ich celem jest jedynie wyłączenie sprzętu w razie gdyby coś poszło nie tak. Zupełnie nie nadają się, i nie są wykorzystywane, do ochrony przed precyzyjnie przygotowanymi ukierunkowanymi cyberatakami.

Ponadto, przemysłowe systemy bezpieczeństwa są produkowane przez wiele różnych firm. Każda z nich – gdyby zdecydowała się zagrać nieczysto – może wbudować w takie systemy ukrytą funkcjonalność na różnych poziomach – od oprogramowania do zarządzania procesami po mikroprocesor.

W przeszłości firmy produkujące sprzęt i oprogramowanie przemysłowe skupiały się na stabilności i odporności na błędy swoich produktów. Do niedawna takie podejście było z pewnością uzasadnione; pora jednak, aby firmy te zaczęły poważnie zwracać uwagę na kwestie bezpieczeństwa – poprzez współpracę z wyspecjalizowanymi firmami w celu uzyskania specjalistycznej wiedzy na temat bezpieczeństwa.

W ostatnim czasie świat znalazł się w sytuacji, gdy, z jednej strony, kilka państw posiada już cyberbroń, z drugiej jednak, kluczowe systemy informacyjne państw są podatne na ataki. Ogólny poziom rozwoju IT w danym państwie oraz stopień automatyzacji w określonym obiekcie przemysłowym z pewnością będzie miał wpływ na to, jak podatny na ataki będzie obiekt, jednak nigdy nie można wykluczyć cyberataku.

Godne zaufania informacje

Już teraz potrzebne są rozwiązania zapewniające efektywną ochronę krytycznych obiektów przemysłowych/infrastrukturalnych oraz organizacji, które są najbardziej narażone na włamania i wyciek danych. Jednak niezależnie od tego, jak dobrze zostały rozwinięte takie rozwiązania, zastosowanie dziurawych systemów operacyjnych oraz oprogramowania w systemach ICS uniemożliwia producentom rozwiązań bezpieczeństwa gwarantowanie integralności systemów, które mają chronić. A przecież dla krytycznych instalacji/organizacji takie gwarancje są niezbędne.

Oczekiwanie, że wszystkie firmy zajmujące się rozwojem systemów ICS przeprowadzą nagle pełne kontrole i aktualizacje wszystkich wykorzystywanych przez siebie programów, a inżynierowie/menadżerowie niezwłocznie uaktualnią zainstalowane już aplikacje, jest bardzo nierealistyczne. Co więcej, trwający dekady cykl życia takich rozwiązań sugerowałby, że wprowadzenie nowych, bezpiecznych systemów ICS będzie trwało prawdopodobnie całe dziesięciolecia.

Jednak globalne rozwiązanie kwestii luk w zabezpieczeniach nie jest, jak zostanie wykazane poniżej, jedynym możliwym rozwiązaniem umożliwiającym zapewnienie bezpiecznego działania obiektów przemysłowych/infrastrukturalnych.

Czym dokładnie są luki i co jest tak niebezpiecznego w dziurawym oprogramowaniu? Luki to błędy w kodzie komputerowym, które mogą zostać wykorzystane przez szkodliwy program w celu przedostania się do systemu. Zainfekowany może zostać każdy komponent systemu ICS, z kolei zainfekowany komponent może wykonać szkodliwe działanie w przemysłowej sieci operacji/procesów, co może prowadzić do poważnej dysfunkcji a jednocześnie wprowadzenia w błąd inżynierów nadzorujących. W takiej sytuacji inżynierowie nie będą mieli żadnej gwarancji, że otrzymywane z systemów raporty są dokładne, co stanowi jeden z głównych problemów bezpieczeństwa systemów – zwłaszcza że cena pomyłki w tego rodzaju infrastrukturze jest niezwykle wysoka.

Aby przemysłowe/infrastrukturalne instalacje działały bezpiecznie, ważne jest, aby inżynier otrzymywał wiarygodne informacje z systemu zarządzania operacjami/procesami – aby mógł kontrolować procesy operacyjne w oparciu o te informacje. Pozwala to uniknąć błędów w kontroli procesów i pomaga – tam, gdzie to konieczne – zamknąć je na czas i zażegnać katastrofę.

Dzisiaj nie istnieją ani systemy operacyjne, ani oprogramowanie, które mogłyby być stosowane w środowiskach przemysłowych/infrastrukturalnych i zapewniały całkowicie godne zaufania dane dotyczące procesów. W tej sytuacji nie mieliśmy innej opcji niż rozpocząć prace na własnym systemem.

Podstawowym sposobem zapewnienia bezpieczeństwa jest system operacyjny. W celu kontrolowania informacji krążących w sieciach procesów przemysłowych/infrastrukturalnych niezbędne jest stosowanie właśnie takiego systemu operacyjnego. Daje on gwarancję, że informacje są dokładne i wiarygodne i nie zawierają szkodliwych elementów.

Bezpieczny system operacyjny

Jakie są zatem wymagania jeżeli chodzi o maksymalnie bezpieczne środowisko kontrolowania infrastruktury informacyjnej?

  • System operacyjny nie może opierać się na istniejącym kodzie komputerowym; dlatego musi zostać napisany od zera.
  • Aby uzyskać gwarancję bezpieczeństwa, system nie może zawierać żadnych błędów ani luk w zabezpieczeniach w jądrze, które kontroluje pozostałe moduły. W efekcie, jądro musi być w 100% potwierdzone jako niezezwalające na luki w zabezpieczeniach lub kod o podwójnym celu.
  • Z tego samego powodu jądro musi zawierać minimum kodu, a to oznacza, że maksymalna możliwa ilość kodu, łącznie ze sterownikami, musi być kontrolowana przez jądro i być wykonywana z prawami dostępu na niskim poziomie.
  • W takim środowisku musi istnieć potężny i niezawodny system ochrony, który obsługuje różne modele bezpieczeństwa.

W oparciu o powyższe kluczowe wymogi tworzymy nasz własny system operacyjny, którego główną cechą jest to, że kategorycznie nie można uruchomić w nim niezgłoszonej funkcji.

Tylko na podstawie takiego systemu operacyjnego możliwe jest stworzenie rozwiązania, które pozwoli inżynierowi nie tylko widzieć, co naprawdę dzieje się w systemie operacji/procesów, ale również kontrolować i zarządzać nim. A to wszystko niezależne od tego, jacy producenci wytworzyli inne systemy operacyjne wykorzystywane gdzie indziej w systemie procesów lub wyprodukowali systemy ICS, DBMS lub sterowniki PLC oraz niezależnie od ich poziomu bezpieczeństwa lub liczby luk, jakie mogą posiadać; co więcej, niezależnie od poziomu ich potencjalnego skażenia.

Zasadniczo, jest to system bezpieczeństwa przemysłowego nowej generacji. System, który uwzględnia całą złożoność współczynników efektywności operacji/procesów przemysłowych lub całego systemu przemysłowego i zapobiega wystąpieniu poważnych nieprawidłowości działania w wyniku niewłaściwych czynności inżyniera, błędów w oprogramowaniu systemów ICS lub cyberataków. Ponadto, taki system może stanowić uzupełnienie tradycyjnych systemów bezpieczeństwa przemysłowego, dając możliwość monitorowania bardziej złożonych incydentów.

Takie rozwiązanie musi być wbudowane w istniejące oprogramowanie ICS, aby chronić je i zapewniać niezawodny monitoring, jak również musi zostać uwzględnione podczas projektowania nowego oprogramowania systemów ICS. W każdym z tych przypadków, rozwiązanie musi spełniać cały wachlarz najnowszych zasad bezpieczeństwa.

Wnioski

Świat zmienił się. Rządy aktywnie nabywają cyberbronie, co oznacza, że niezbędne są odpowiednie środki ochrony. Jednak mimo ogromnego znaczenia, jakie posiada kluczowa infrastruktura informacyjna, nie istnieją obecnie żadne sposoby właściwego zabezpieczenia jej.

Nowe, w pełni efektywne środki ochrony kluczowej infrastruktury informacyjnej nie są osiągalne w oparciu o istniejące systemy operacyjne. Jednocześnie, stworzenie nowego bezpiecznego systemu operacyjnego dla wszystkich komponentów systemów ICS jest zadaniem bardzo trudnym i pochłaniającym mnóstwo czasu. Niezależnie od tego problem bezpieczeństwa obiektów przemysłowych i infrastrukturalnych wymaga rozwiązania.

Dlatego zanim to nastąpi, należy przede wszystkim zidentyfikować kluczowe problemy bezpieczeństwa informacyjnego i rozwiązać je. Jeden z takich kluczowych problemów polega na tym, że systemy bezpieczeństwa informacyjnego dla obiektów przemysłowych/infrastrukturalnych polegają na niewiarygodnych źródłach danych. Do czasu, gdy do przemysłowej sieci procesów/operacji zostanie podpięty całkowicie godny zaufania, w 100% niezawodny komponent – na którym inżynier lub zestaw programów kontrolujących mogą całkowicie polegać – możliwość stworzenia skutecznych systemów bezpieczeństwa pozostanie całkowicie w sferze fantazji. Potrzebna jest zaufana baza komputerowa, na której można zbudować system bezpieczeństwa spełniający najwyższe standardy. Taka zaufana baza wymaga co najmniej stosowania całkowicie bezpiecznego, godnego zaufania systemu operacyjnego.

Właśnie taki w pełni bezpieczny, godny zaufania system operacyjny tworzymy. Będzie to podstawa, dzięki której komponenty systemu bezpieczeństwa będą mogły dostarczać dokładne informacje z wszystkich systemów ICS. Ten system operacyjny jest zgodny z całym wachlarzem podstawowych zasad bezpieczeństwa, których przestrzeganie zagwarantuje to, że w każdym czasie będzie on działał w sposób zgodny z założeniami jego twórców i nigdy w żaden inny. Architektonicznie, system operacyjny jest skonstruowany w taki sposób, że nawet włamanie się do któregokolwiek z jego komponentów lub zainstalowanych na nim aplikacji nie pozwoli intruzowi uzyskać nad nim kontroli czy uruchomić szkodliwego kodu. Przyjmując takie podejście, mamy pewność, że nasz system operacyjny będzie całkowicie niezawodny i że będzie mógł być wykorzystywany jako całkowicie wiarygodne źródło informacji, które z kolei stanowi solidną podstawę do stworzenia systemu bezpieczeństwa o znacznie większej skuteczności.

Źródło:
Kaspersky Lab