https://www.win.tue.nl/~aeb/linux/hh/thompson/trust.html
The paper's a pretty entertaining read:
> First we compile the modified source with the normal C compiler to produce a bugged binary. We install this binary as the official C. We can now remove the bugs from the source of the compiler and the new binary will reinsert the bugs whenever it is compiled. Of course, the login command will remain bugged with no trace in source anywhere.
[0]: https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_Ref...
Ken Thompson, Reflections on Trusting Trust.
EDIT: I don't think I've seen 5 nearly simultaneous replies sharing the same link before.
LOL I was searching for a non-PDF link and delayed the reply. It would have been 6 simultaneous answer.
How do you prove your stack is secure?
[1]: https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_Ref...