Trusting-Trust-aanval op een volledige Linux-distributie via binaire manipulatie
Samenvatting
De 'trusting-trust'-aanval van Ken Thompson, waarbij een gecompromileerde compiler backdoors plaatst in de programma's die hij bouwt en deze backdoor reproduceert in opeenvolgende herbouwversies van zichzelf, wordt algemeen beschouwd als een dreiging die specifiek is voor compilers. Wij tonen aan dat dit niet het geval is.
Wij hebben een volledige 'trusting-trust'-aanval geconstrueerd rond GNU strip, een gewoon build-hulpprogramma dat geen broncode inspecteert of genereert, uitsluitend door middel van manipulaties van voltooide ELF-bestanden.
In de bootstrap van de NixOS Linux-distributie plaatst één aangepaste 'strip' in de binaire seed een payload die zich verspreidt van de ene generatie 'strip' naar de volgende en overleeft in de uiteindelijke standaardomgeving nadat de seed de dependency closure verlaat. Bij een echte nixpkgs-revisie bouwt de aanval een volledige grafische installer zonder fouten en plaatst backdoors in bijna al zijn binaire bestanden, wat willekeurig kwaadaardig gedrag van de gesubverteerde pakketten mogelijk maakt.
Groetjes,