Programok automatikus patchelése security hardening céljából

OData támogatás
Konzulens:
Dr. Félegyházi Márk
Hálózati Rendszerek és Szolgáltatások Tanszék

A mai legtöbb, bonyolultabb szoftverben rendszeresen keletkeznek programozói figyelmetlenségből adódó security hibák, emiatt nagyon fontos lenne a szoftverfejlesztés mellett ezeknek a hibáknak a felkutatásával és kijavításával is foglalkozni, azonban ennek kézzel elvégzésére gyakran nem áll elég erőforrás rendelkezésre. Előfordulhat továbbá, hogy olyan szoftverben szeretnénk kijavítani sérülékenységeket, amelynek a forráskódja nem áll rendelkezésünkre, pl. ha egy olyan zárt forráskódú programot szeretnénk használni, aminek a készítője még nem adott ki patch-t egy új sérülékenységre. Jelen szakdolgozat egy olyan segédprogram megtervezésével és implementálásával foglalkozik, amely képes némely gyakori, egyszerűbb sebezhetőségeket automatikusan detektálni és kijavítani egy program binárisában.

A szakdolgozat először ismertet néhány korábbi próbálkozást automatikus sérülékenység-detektálásra és javításra, mint pl. a DARPA Cyber Grand Challenge-re nevező csapatok által használt (és publikált) módszerek és tool-ok. Ezután részletezi a C/C++ kódban leggyakrabban előforduló sérülékenység-típusokat, és azt, hogy egy támadó mire tudná ezeket potenciálisan felhasználni. Ezt követően leírja, hogy néhány ilyen sérülékenységet milyen algoritmusokkal és tool-okkal próbálja a javítóprogram észrevenni és kijavítani, és kitér arra, hogy a használt megoldásoknak milyen limitációi vannak, hogyan lehetne továbbfejleszteni őket.

A dolgozat utolsó szakaszában kitérek a segédprogram határaira és részletezem, hogy milyen további fejlesztési lehetőségek vannak a meglévő sebezhetőség-típusok detektálási hatásfokának növelésére és egyéb, bonyolultabb sebezhetőségek felfedezésére.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.