compiler backdoor
Főnév
compiler backdoor (tsz. compiler backdoors)
- (informatika) A compiler backdoor – magyarul: fordítóprogramba rejtett hátsó ajtó – egy olyan különösen veszélyes és nehezen észlelhető kiberfenyegetés, amikor a fordítóprogram (compiler) van úgy módosítva, hogy:
- bizonyos forráskódok fordításakor automatikusan rosszindulatú (backdoor-os) kódot illeszt a binárisba,
- akkor is, ha a forráskód tiszta, és
- akkor is, ha magát a fordítót újrafordítjuk egy látszólag „tiszta” forrásból.
🧠 Alapgondolat: „Reflections on Trusting Trust”
Ken Thompson (UNIX és C atyja) 1984-es híres előadásában mutatta be ezt a koncepciót:
„Nem elég ellenőrizni a forráskódot, mert a fordító is lehet fertőzött.”
🔄 Hogyan működik egy compiler backdoor?
- Kezdeti trójai:
- A fordító ellenőrzi, hogy mit fordít (pl.
login.c), és ha felismeri, beilleszt egy rejtett backdoort. - A forráskód továbbra is tisztának látszik, de a bináris fertőzött.
- A fordító ellenőrzi, hogy mit fordít (pl.
- Önmagát újrafertőző logika:
- Ha a fertőzött fordító lefordítja a saját forráskódját, akkor újra beépíti a hátsó ajtót a létrehozott új fordítóba.
Így még ha egy új programozó újrafordítaná a „tiszta” forrásból a kompilert, a rosszindulatú logika fennmarad, anélkül hogy azt a forrásban látnánk.
🧪 Kódvázlat (elvi példa, nem futtatható!)
if (source_file == "login.c") {
inject_backdoor_to_binary();
}
if (source_file == "compiler.c") {
inject_backdoor_to_compiler();
}
Ez a logika nem a forráskódban szerepel, hanem a bináris compiler tartalmazza, és rejtetten működik.
🔐 Miért veszélyes ez?
- Forráskód audit sem elég – a bizalom a compilerre is kiterjed.
- Nehezen észlelhető – nincs nyoma a forráskódban, a fertőzés önfenntartó.
- Backdoor öröklődik – új build, új gép, új környezet sem mentesíti.
🛡️ Ellenszerek: hogyan lehet ilyen backdoort észrevenni?
| Módszer | Leírás |
|---|---|
| Diverse Double Compiling (DDC) | Fordító újrafordítása független másik compilerrel, és a binárisok összehasonlítása. |
| Reproducible builds | Garantálják, hogy a forrás ugyanazt a binárist adja vissza mindig. |
| Formálisan verifikált compiler | Pl. CompCert, Coq-alapú, matematikailag bizonyítottan korrekt compiler. |
| Forrás+bináris audit | Nem elég a forrást nézni, a bináris viselkedést is vizsgálni kell. |
🏛️ Történelmi és elméleti jelentőség
A compiler backdoor nemcsak biztonsági kérdés, hanem filozófiai is:
- Kiben és miben bízhatunk a szoftverláncban?
- Lehet-e abszolút biztonságot garantálni, ha az alapok (a fordítók, build toolchain) manipulálhatók?
📌 Összefoglalás
A compiler backdoor az egyik legveszélyesebb és legintelligensebb támadási forma, mert:
- láthatatlan,
- újrafordítás sem semlegesíti,
- mérgezheti az egész szoftver-ökoszisztémát.
Ezért modern rendszerek esetén egyre fontosabb a build lánc teljes átláthatósága, determinista build, ellenőrzött fordítók használata, és szoftverbiztonsági validálás már a compiler szintjén is.
- compiler backdoor - Szótár.net (en-hu)
- compiler backdoor - Sztaki (en-hu)
- compiler backdoor - Merriam–Webster
- compiler backdoor - Cambridge
- compiler backdoor - WordNet
- compiler backdoor - Яндекс (en-ru)
- compiler backdoor - Google (en-hu)
- compiler backdoor - Wikidata
- compiler backdoor - Wikipédia (angol)