Refleksje na temat zaufania – Ken Thompson

Dla wielu programistów i administratorów Linux / UNIX znany jest dokument Kena Thompsona w angielskim oryginalnym tytule p.t. „Reflections on Trusting Trust„. Ten wpis jest dla ciekawskich świata otwartego oprogramowania (ang. Open Source) i faktów na temat mocy idei stwórczych!

Refleksje o zaufaniu do zaufania – streszczenie wykładu Kena Thompsona (1984)

Ken Thompson, jeden z twórców systemu Unix, wygłosił ten wykład z okazji otrzymania Nagrody Turinga. Jego przesłanie jest proste, ale głębokie: nie można bezwarunkowo ufać oprogramowaniu – nawet jeśli jego kod źródłowy wygląda na bezpieczny.

Główne punkty wykładu

1. Samoreprodukujący się program

Thompson zaczyna od pokazania, że można napisać program, który generuje swój własny kod źródłowy. To wprowadzenie do bardziej złożonego eksperymentu z kompilatorami.

2. Złośliwa modyfikacja kompilatora

Następnie opisuje, jak można zmodyfikować kompilator języka C, by dodawał ukryty kod do programu login. Ten kod umożliwia dostęp do systemu bez hasła – czyli klasyczny „koń trojański”.

3. Zaszczepienie złośliwego kodu

Najbardziej niepokojący element: nawet jeśli usuniemy złośliwy kod ze źródła kompilatora, skompilowany kompilator nadal będzie dodawał „konia trojańskiego” – ponieważ sam został wcześniej zainfekowany. To pokazuje, że źródło nie wystarcza do weryfikacji bezpieczeństwa.

4. Zaufanie jako fundament

Thompson podkreśla, że cały system informatyczny opiera się na zaufaniu: do kompilatorów, bibliotek, systemów operacyjnych. Jeśli którykolwiek z tych elementów zostanie zainfekowany, może to pozostać niewykryte przez lata.

Kluczowy cytat

„Morał jest oczywisty. Nie możesz ufać kodowi, którego sam w pełni nie stworzyłeś.”

Znaczenie dla bezpieczeństwa

Ten wykład zapoczątkował nową erę myślenia o bezpieczeństwie oprogramowania. Pokazał, że:

  • Audyt kodu źródłowego nie wystarcza.
  • Narzędzia kompilujące mogą być źródłem zagrożeń.
  • Potrzebne są metody niezależnej weryfikacji – np. kompilacja z wielu źródeł, replikacja binarna, analiza zachowania.
TUX - maskotka systemu Linux

About the author

Autor "BIELI" to zapalony entuzjasta otwartego oprogramowania, który dzieli się swoją pasją na blogu poznajlinuxa.pl. Jego wpisy są skarbnicą wiedzy na temat Linuxa, programowania oraz najnowszych trendów w świecie technologii. Autor "BIELI" wierzy w siłę społeczności Open Source i zawsze stara się inspirować swoich czytelników do eksplorowania i eksperymentowania z kodem.