Nadzorca kodu

Jak wynika z raportu opracowanego przez firmę Symantec, naprawienie typowego błędu w oprogramowaniu zajmuje średnio aż miesiąc. Aby temu zaradzić (przynajmniej częściowo), firma Determina podjęła próbę stworzenia "nieśmiertelnego, nienaruszalnego programu".

Program firmy Determina ma automatycznie korygować błędy w kodzie innych aplikacji fot. Rodolfo Clix
Program firmy Determina ma automatycznie korygować błędy w kodzie innych aplikacji fot. Rodolfo Clixstock.xchng

Narzędzie stworzona przez zespół Rinarda, program nazwany ClearView, działa na poziomie kodu binarnego, czyli zestawu instrukcji docierających bezpośrednio do poszczególnych podzespołów komputera. Pozwala to na uniknięcie konieczności ingerowania w kod źródłowy, a więc zestaw poleceń zapisanych bezpośrednio przez człowieka. Jest to ważne, gdyż kod źródłowy bardzo często jest tajny, zaś wytworzony na jego bazie kod binarny można z łatwością monitorować.

Zadaniem ClearView jest obserwowanie danych przepływających pomiędzy poszczególnymi komponentami komputera i wychwytywanie ich potencjalnie niebezpiecznych cech. Po "namierzeniu" podejrzanej porcji danych problem jest analizowany, po czym stosowana jest jedna z kilku zaprogramowanych korekt, uznana przez program za optymalną. Jeżeli wykorzystane rozwiązanie zawiedzie, aplikuje się kolejne tak długo, aż osiągnie się bezpieczne wyjście z sytuacji zagrożenia.

Program opracowany przez badaczy z MIT radzi sobie szczególnie dobrze wtedy, gdy obserwuje równocześnie wiele kopii tego samego programu uruchomionych na różnych komputerach. Kopie ClearView uruchomione na poszczególnych maszynach mogą się bowiem ze sobą komunikować, a każda z nich może dostosować własne działanie do wyników zastosowanych wcześniej rozwiązań.

Jeden z pierwszych testów nowej technologii przeprowadzono z wykorzystaniem przeglądarki Firefox. Przedstawiciele Determina zatrudnili niezależną grupę hakerów, których zadaniem było podjęcie 10 prób wstrzyknięcia szkodliwego kodu do przeglądarki. W siedmiu przypadkach ClearView wprowadził łatki zabezpieczające przeglądarkę, a we wszystkich dziesięciu udało się co najmniej odrzucić rozwiązania, które nie rokowały naprawieniem błędu.

Co jest jednak najważniejsze, za każdym razem udało się uniknąć bardziej szkodliwych konsekwencji, takich jak wyciek poufnych informacji z komputera ofiary, zaś jedyną konsekwencją niedoszłego ataku było wyłączenie przeglądarki oraz zablokowanie jego działania na kilka minut, w czasie których ClearView próbował odnaleźć i zastosować optymalną łatkę.

Jak twierdzi Rinard, program rozwijany przez jego zespół mógłby posłużyć do nawiązania aktywnej współpracy pomiędzy użytkownikami i twórcami oprogramowania, której efektem mogłoby być szybsze korygowanie błędów w stosowanych przez nas aplikcjach. Ponieważ do działania ClearView wystarcza analiza jawnego kodu binarnego, na rozwiązanie takie mogliby przystać nawet liderzy branży IT, często bardzo sceptyczni wobec ujawniania choćby fragmentów kodu źródłowego własnych programów.

Wojciech Grzeszkowiak

kopalniawiedzy.pl
Masz sugestie, uwagi albo widzisz błąd?
Dołącz do nas