Kompilator z Backdoor'em
20 września 2007 o godzinie 02:06:58 w kategoriach: Ciekawostki, OSy, Programowanie, lvl0.
Przeglądając sieć natrafiłem dziś na bardzo ciekawy fragment. Przeczytajcie, wnioski nasuwają się same 
W swoim wystąpieniu z okazji otrzymania nagrody Turinga w 1984 roku, Ken Thompson - jeden z twórców Unix-a - opisał sposób w jaki spowodował niewykrywalną, nawet z dostępnym kodem źródłowym, słabość w zabezpieczeniu w programie narzędziowym.
Thompson opisał, jak zdołał zmodyfikować kompilator języka C we wczesnych wersjach Unix-a tak, aby wykrywał fakt kompilowania programu login(1) i wstawiał kod, który akceptowałby zawsze pewne hasło. Umożliwiało to zarejestrowanie się jako dowolny użytkownik komuś, kto znał to hasło. Następnie zmodyfikował kod źródłowy kompilatora C, aby wykrywał kiedy ten kompilował samego siebie. (wówczas, tak jak i teraz kompilator języka C był sam napisany w C) i wstawiał ów kod (do wykrywania kompilacji programu login i wprowadzania konia trojańskiego) do kompilatora języka C. Potem usunął zmiany, których dokonał w źródle.
Od tego momentu kompilator C w Unix-ie zawsze dołączał jego konia trojańskiego, ilekroć kompilował program login(1). Żadna inspekcja kodu źródłoweg, dokonana dla login lub dla kompilatora C, nie pozoliłaby na wykrycie jekiegokolwiek problemu.
Przykłady takie jak ten pomagają zilustrować, jak dalece współczesny programista ufa dzisiejszemu środowisku komputerowemu. Pokłada się zaufanie w wielu składnikach systemu: kompilatorze, programie ładującym, dynamicznym konsolidatorze, a nawet w dekoderze mikrokodu w CPU - w nadziei, że robią dokładnie to, o co się je prosi.
Każdy z tych składników - zwłaszcza używanych w trakcie wykonywania, taki jak program ładujący, czy dynamiczny konsolidator - może być ze swej strony źródłem słabości w zabezpieczeniach.














mh
20 września 2007
09:41:29
Historia ta chyba jest standardowym elementem wykładów na uczelniach
20 września 2007
11:40:50
Na trzecim roku jeszcze nie jestem, ale jak takie ciekawe będą wykłady to ja tam chce dotrwać :D