21/02/2017

7 pytań i odpowiedzi o 11-11

Porady Produkty Projekt specjalny

A teraz, chłopcy i dziewczęta, wielka niespodzianka! Wczoraj był TEN dzień.

Jesteście ciekawi, jaki?

Oficjalnie udostępniliśmy nasz bezpieczny system operacyjny dla urządzeń sieciowych, przemysłowych systemów sterowania oraz Internetu Rzeczy. Początki systemu sięgają 11 listopada, dlatego nadaliśmy mu nazwę kodową 11-11. Był to bardzo długi cykl wdrożeniowy: pracowaliśmy przy tym projekcie przez całe 14 lat, a nawet uruchomiliśmy testy pilotażowe w prawdziwym świecie. Teraz ten system operacyjny jest gotowy do wdrożenia przez wszystkich zainteresowanych w różnych scenariuszach.

Oszczędzę Wam nerdowych szczegółów, a jeśli chcecie uzyskać jakieś informacje techniczne — proszę bardzo. W swoim poście odpowiem na najczęściej zadawane pytania i obalę kilka mitów na temat naszego nowego produktu.

Dlaczego potrzebujemy kolejnego Linuxa?

To jedno z najczęściej zadawanych pytań. Odpowiedź jest zaskakująco prosta i szczera: To nie jest Linux. Dosłownie nie ma w nim ani jednej linijki kodu tego systemu. Przygotowaliśmy ten system od zera, dla różnych celów i zastosowań.

W systemie Linux, Windows, macOS i podobnych najbardziej liczą się kompatybilność i uniwersalność. Ich twórcy dokładają wszelkich starań, aby popularyzować swoje rozwiązania poprzez upraszczanie instalacji aplikacji i zestawów narzędzi. Lecz jeśli chodzi o nasze docelowe grono użytkowników (producentów sprzętu, systemy SCADA, Internet Rzeczy itp.), podejście to nie jest praktyczne: dla nas liczy się tutaj bezpieczeństwo.

Aby utworzyć bezpieczne środowisko, musieliśmy zastosować całkowitą odmowę domyślną na poziomie procesów i zamknąć ją w mikrojądrze. Mówiąc prościej, to system, który wykonuje to, do czego został zaprojektowany, i nie może wykonywać niczego innego. W tradycyjnych systemach operacyjnych jest to niemożliwe do wykonania.

Do działającego już systemu można dodać mechanizmy zabezpieczające. Zasadniczo jest to nasze główne zajęcie: to, co robimy, ma wiele zastosowań. Jednak w niektórych przypadkach nawet najmniejsze ryzyko cyberataku grozi katastrofą. Jeśli bezpieczeństwo ma być zapewnione bezwzględnie, trzeba stworzyć coś całkowicie nowego. Coś, co jest bezpieczne od podstaw.

Daj spokój, system operacyjny to żadna nowość!

Cóż, nie twierdzę, że utworzyliśmy coś, czego jeszcze świat nie widział. Oczywiście istniały już próby utworzenia bezpiecznego systemu operacyjnego. Niektóre projekty były nawet udane, lecz koszt ich implementacji był na równi z implementacją w samolocie (co ciekawe, systemy takie naprawdę były używane w samolotach), zatem projekty takie nigdy nie zostały przeznaczone do szerszej produkcji.

Inne projekty w większości ograniczały się do sfery badań naukowych. Ktoś bystry zbudował mikrojądro, świętował ten fakt szampanem, a nawet udzielił na ten temat wywiadów – i tyle. Żaden projekt nie wszedł w etap wdrażania na szerszą skalę, w tym komercyjną. Lecz funkcjonalny pojazd nie kończy się na silniku – nie może on działać bez kół, zawieszenia i wielu innych ważnych rzeczy.

Zdecydowaliśmy się zaprojektować system, który będzie odpowiedni dla różnych sfer; który będzie można dostosować na poziomie podstawowym, w zależności od potrzeb. Zasadniczo stworzyliśmy trzy produkty: system operacyjny (KOS), samodzielny bezpieczny hipernadzorca (KSH) oraz dedykowany system służący do bezpiecznej interakcji pomiędzy komponentami systemu (KSS). W zależności od wdrożenia, wspólnie mogą rozwiązać wiele problemów.

Na przykład niemiecka firma SYSGO kupiła licencję KSS do użytku we własnym systemie operacyjnym, PikeOS. Niektórych producentów interesuje sam hipernadzorca (KSH), dzięki któremu mogą bezpiecznie uruchamiać istniejące aplikacje bez modyfikowania ich. Z kolei w przypadku switchy Kraftway ten poziom integracji nie był wystarczający, więc firma zdecydowała się na zastosowanie pełnego systemu operacyjnego.

Kluczową zaletą naszego systemu operacyjnego jest jego praktyczność i dostępność: nie jest on projektowany pod różne scenariusze hipotetyczne, lecz jest budowany pod konkretne zapotrzebowanie.

Jak udowodnisz, że system operacyjny umożliwia uruchamianie tylko tych działań, które znajdują się na białej liście?

Tuż po tym, jak poinformowaliśmy publicznie, że nasz system jest bezpieczny z natury, aktywowali się niewierzący, którzy chcą obalić to stwierdzenie. I my nie mamy z tym problemu: w świecie cyberbezpieczeństwa nie wolno brać wszystkiego tak ot.

Architektura naszych systemów operacyjnych opiera się na zasadzie podziału obiektów na maksymalną liczbę wyizolowanych jednostek. Klienci mogą sprawdzić kod źródłowy, aby dowiedzieć się, czy w systemie nie ma nieudokumentowanych działań. Reszta jest konfigurowana wraz z klientem na zasadzie tworzenia różnych polityk bezpieczeństwa, dopuszczających każdą indywidualną rzecz.

System będzie robił tylko to, co chcesz. Dlatego nikt nie będzie w stanie wykorzystać nawet najmniejszej luki w aplikacji, utworzonej specjalnie dla tego systemu. Oczywiście możesz napisać długi kod z wieloma lukami. Lecz aby ten kod zadziałał, musi być zgodny ze ścisłymi zasadami, które określają, co kod może, a czego nie może.

Czy naprawdę uważasz, że w tym systemie wszystko będzie działać?

Tak, ponieważ nasz system jest bardzo elastyczny! Teoretycznie można go dalej zmieniać, aby zrobić z niego produkt na skalę masową, lecz wymagałoby to wiele czasu i zasobów. Nie planujemy tego na chwilę obecną, nasza oferta jest z założenia niszowa.

Należy także pamiętać, że do nowego systemu można także dołączyć kod innych firm. Nasze rozwiązanie zawiera bezpiecznego hipernadzorcę, który umożliwia klientom uruchomienie niemal każdego systemu operacyjnego (jako systemu gościnnego) i niestandardowych aplikacji (tak jak Linux na serwerze Apache).

Tak, jeśli wzięlibyśmy ten serwer, podzielili go na wiele izolowanych instancji i napisali zasady, według których miałyby one ze sobą współpracować, uzyskalibyśmy znacznie wyższy poziom bezpieczeństwa. Ale to wymagałoby obrzydliwie dużo pracy. Z drugiej strony, jeśli masz wystarczająco dużo zasobów, wszystko jest możliwe 🙂

To dlatego włączyliśmy w hipernadzorcy możliwość użycia niestandardowych aplikacji. Oczywiście początkowo będziemy mieć bezpieczny system z niebezpieczną aplikacją. Wszystko, co będzie się z nią działo, będzie niejasne. Ale będziemy mogli kontrolować jej interakcje ze sprzętem, innymi aplikacjami oraz światem zewnętrznym. A to już jest coś. Biorąc pod uwagę taką konfigurację, wydostanie się z piaskownicy jest wysoce nieprawdopodobne.

Daj spokój, i tak będzie gromadzić dane

Jądro nie przesyła niczego nigdzie — można to łatwo sprawdzić, patrząc na kod źródłowy (patrz wyżej). Mikrojądro nie zawiera prawie nic. Wszystkie sterowniki są przechowywane w odosobnieniu. Aby więc przesłać dowolne dane, należy napisać kolejną część kodu. Będzie to oczywiste — nawet nie trzeba patrzeć na kod źródłowy. Wszystko będzie zapisane w politykach bezpieczeństwa, a klient zawsze będzie mógł sprawdzić te zasady, bez względu na kod. Jeśli w zasadach nie znajdują się instrukcje, jak wysłać dane, system tego nie zrobi.

OK, ale to musi kosztować rękę i nogę

Szczerze mówiąc, nie kupowałem nigdy ręki ani nogi, więc nie jestem na bieżąco z cenami rynkowymi. Ale to nie jest dobre porównanie. Nasz system operacyjny nie jest produktem, który jest gotowy do użytku po wyjęciu z pudełka; to oferta projektu.

Nie sprzedajemy rozwiązania w pudełku jako lekarstwa na wszystko dla każdego. Zamiast tego współpracujemy z producentami i programistami tworzącymi na przykład urządzenia sieciowe, systemy automatyki przemysłowej, rozwiązania motoryzacyjne, a nawet inteligentne lodówki. Biorąc pod uwagę konkretne wymagania, dajemy kod i pomagamy w konfiguracji systemu. W konsekwencji koszt rozwiązania zależy od zastosowania i nakładu pracy, którą trzeba włożyć w produkt finalny.

Wszystko można zhakować, a Twój system operacyjny nie jest tu wyjątkiem!

Zgadzam się, nic nie jest doskonałe – poza liczbą 42 🙂 Wszystko może się zdarzyć. Ale to nie jest powód, aby się poddawać! Ideą cyberbezpieczeństwa jest utrudnianie życia cyberprzestępcom i sprawienie, aby cyberataki były tak kosztowne, aby stały się nieopłacalne. W tej kwestii nasz system operacyjny jest o wiele do przodu od konkurencji.

To tyle na dzisiaj. Piszcie swoje pytania w sieciach społecznościowych i wejdźcie na naszą stronę, aby dowiedzieć się więcej.