Однажды
Эндрю Таненбаум пришёл к
Брюсу Шнайеру и спросил его:
- Скажи мне, о гуру, как я могу обеспечить безопасность
моей операционной системы?
- Для этого тебе надо сделать три вещи:
Во-первых, гарантировать, что все задачи выполняются с
минимальными привилегиями, ибо скверно, если недостойный процесс может совершать всё, что угодно;
Во-вторых, осуществлять повсеместно
проверку корректности входных данных, ибо достойный процесс не выполнит необдуманно, всё, что ему предложит первый встречный. Также должно
проверять выходные данные, ибо неразумно бросать слова необдуманно.
В третьих,
запретить процессам посылать друг другу сетевые пакеты, ибо только так можно избежать их обмана злоумышленником, подделавшим послание.
- Хорошо, первые принципы разумны и реализуемы. Но гуру, у меня же
микроядерная операционная система, как же мне отказаться от сетевого обмена?..
Шнайер не ответил, и тогда Таненбаум достиг просветления.