Gdy jakiś narząd u człowieka przestanie działać, można wszczepić mu organ dawcy. Tę samą metodę wykorzysta MIT do naprawiania wadliwego oprogramowania: niedziałający kod zastąpi w pełni sprawnym, z innego programu
Wykorzystując system CodePhage badacze z MIT byli w stanie naprawić błędy w siedniu popularnych programach open-source bazując wyłącznie na fragmentach kodów zaczerpniętych o dwóch do trzech innych programów.
Dzięki takiemu rozwiązaniu można uczynić oprogramowanie bardziej bezpiecznym i uniemożliwić hackerom skorzystanie ze świeżych luk, których nie udało się załatać wszystkim deweloperom. CodePhage jest w stanie naprawiać proste błędy w kodzie i zautomatyzować proces ich naprawiania. Aby załatać wadliwy program, CodePhage wymaga dwóch próbek: jednej, która wywoła błąd w oprogramowaniu i drugiej, która go nie zainicjuje.
Dzięki temu do kodu wstrzykiwane są rozwiązania wykorzystane przy pisaniu programu-dawcy o podobnej funkcjonalności do tego łatanego. Dzięki temu, że w sieci możemy znaleźć tysiące programów open-source, potencjalnych dawców jest naprawdę wielu. Jednak jak zauważa zespół odpowiedzialny za stworzenie tego narzędzia, będzie ono współpracowało również z zamkniętym oprogramowaniem.
Aby sprawdzić, gdzie w wadliwym programie pojawia się błąd, CodePhage krok po kroku śledzi działanie dawcy. W momencie, w którym w programie ujawni się błąd, CodePhage analizuje, w którym miejscu wykonywane są w obu programach zbliżone funkcje i próbuje zastąpić tę wadliwą fragmentem kodu pobranego od dawcy.
CodePhage sprawdzi się jako narzędzie do skracania czasu potrzebnego na przetestowanie oprogramowania. Narzędzie wyłapie luki bezpieczeństwa i automatycznie je załata, korzystając z rozwiązań skopiowanych od dawcy kodu.
Nie tylko MIT pracuje nad oprogramowaniem, które znacząco przyspieszyłoby proces pisania i łatania nowych programów. Również Qualys, który zajmuje się bezpieczeństwem komputerowym zapowiedział wypuszczenie na rynek podobnego narzędzia.
Zdjęcie: MIT
Dodaj komentarz