Niedościgniona natura

Rozmowa z Lee Badgerem, szefem projektu Self-Regenerative Systems amerykańskiej agencji DARPA.

Rozmowa z Lee Badgerem, szefem projektu Self-Regenerative Systems amerykańskiej agencji DARPA.

Czy obserwacja procesów biologicznych może być źródłem jedynie pożytecznych metafor i porównań, czy też specjaliści i naukowcy do spraw bezpieczeństwa teleinformatycznego mogą się na tej podstawie czegoś nowego dowiedzieć?

Odpowiedź na takie pytanie ma przynieść właśnie finansowane przez nas badanie. Będziemy przyglądać się naturalnym systemom biologicznym, starając się później symulować pewne strategie przydatne w przetrwaniu w zmiennym środowisku.

Na przykład?

Systemy naturalne są bardzo różnorodne. Zagrożenie, które zniszczy jeden z nich, nie stanowi śmiertelnego niebezpieczeństwa dla drugiego. Tymczasem w informatyce wcale nie ma takiej różnorodności - ekonomia skali sprawia, że sensowne jest użytkowanie tego samego oprogramowania w wielu identycznych kopiach. Można więc przypuszczać, że powinniśmy wprowadzić większą różnorodność do software'u, żeby uniknąć powszechnych dziś zagrożeń.

W jaki sposób?

Można do tego podejść na różne sposoby. Na przykład przetworzyć istniejące aplikacje, to jest, mówiąc w dużym skrócie, przepuścić ją przez pewien rodzaj specyficznego filtra, który będzie tworzył specjalizowane wersje tejże aplikacji. Można również posłużyć się algorytmami genetycznymi, pozwalając na pewne dryfowanie kodu poprzez mutacje, które są dopuszczalne w ramach specyfikacji funkcjonalnej programu.

Trochę to się rozmywa z założeniami o pożytkach, jakie mają płynąć ze standaryzacji.

Dlatego jest to duże wyzwanie.

To dlaczego nie lepiej skupić się na tworzeniu lepszego kodu, pozbawionego błędów?

Cała nasza dotychczasowa strategia sprowadzała się do tego, by lokalizować i usuwać błędy w oprogramowaniu. Jednak wraz ze wzrostem długości kodów źródłowych i idącą za tym multiplikacją złożoności nasze szanse, że uda nam się te błędy dobrze lokalizować, stale maleją.

Co możemy jeszcze wykorzystać, czerpiąc z nauk biologicznych?

Mamy nadzieję, że z czasem uda nam się stworzyć aplikacje, które będą w stanie poznawać otaczające je środowisko - podobnie jak naturalny system immunologiczny uczy się dzięki wystawieniu go na działanie elementów patogennych. Chodzi o to, by stworzyć system informatyczny, który będzie zdolny do budowy własnego systemu immunologicznego właśnie poprzez obcowanie z wrogimi elementami otaczającego go środowiska. W efekcie wraz z upływem czasu będzie spadać prawdopodobieństwo, że system w swoim działaniu będzie wrażliwy na błędy.

Rozumiem, że programy tak jak dzieci będą w przedszkolu przechodzić wiele infekcji, po to by później już tak często nie chorować? Dlaczego tak trudno stworzyć nam takie systemy informatyczne?

Najtrudniej radzą sobie one z takimi atakami, które są nowe - i dla nich, i dla nas. Dzisiaj jedyną techniką, jaką możemy stosować w przypadku nowych typów ataków, jest detekcja anomalii, czyli stwierdzenie, że dzieje się coś nietypowego, coś innego niż zawsze. Problem tylko, że to, co wygląda na zachowanie nienormalne, wcale takie być nie musi. Ważne, ale zarazem trudne, jest ustawienie właściwego progu czułości przy wykrywaniu anomalii - zbyt wysoki wywoła wiele fałszywych alarmów, zaś zbyt niski doprowadzi do przeoczenia rzeczywistych ataków. Przydałaby się nam choć mała część sprawności naturalnych systemów obronnych.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200