Ругать безопасность Windows и хвалить Linux — это уже как речевой штамп. Никто уже особо и не задумывается, почему это происходит, поскольку классическое «Microsoft suxx» как бы объясняет все и сразу.
Но добрый человек Richard Stiennon подошел к этому более серьезно. На примере одной и той же несложной задачи — отдача веб-сервером HTML-страницы с картинкой — он построил карту системных вызовов.
Согласно его результатам вот так выглядит картина передачи управления, когда работает Apache под Linux:

Решая ту же задачу, IIS под Windows проделывает существенно большую работу:

Аргументация автора звучит разумно: каждый лишний вызов представляет собой дополнительную точку, в которой может возникнуть ошибка. Неправильная передача параметра, недостаточный контоль за диапазоном значений, переполнение стека и т.п. — все это те потенциальные проблемы, которые должны быть подвергнуты тестированию и анализу. И это те проблемы, которые потенциально могут быть использованы при взломе.
При этом, как лично мне кажется, необходимо учитывать и тот факт, что с одной стороны мы имеем софт с открытым кодом — а с другой стороны политику Microsoft по игнорированию дефектов, если они не получили широкой огласки.
P.S. Richard Stiennon опубликовал и несколько более крупные картинки для Apache и IIS — но, IMHO, недостаточно крупные.
Но добрый человек Richard Stiennon подошел к этому более серьезно. На примере одной и той же несложной задачи — отдача веб-сервером HTML-страницы с картинкой — он построил карту системных вызовов.
Согласно его результатам вот так выглядит картина передачи управления, когда работает Apache под Linux:

Решая ту же задачу, IIS под Windows проделывает существенно большую работу:

Аргументация автора звучит разумно: каждый лишний вызов представляет собой дополнительную точку, в которой может возникнуть ошибка. Неправильная передача параметра, недостаточный контоль за диапазоном значений, переполнение стека и т.п. — все это те потенциальные проблемы, которые должны быть подвергнуты тестированию и анализу. И это те проблемы, которые потенциально могут быть использованы при взломе.
При этом, как лично мне кажется, необходимо учитывать и тот факт, что с одной стороны мы имеем софт с открытым кодом — а с другой стороны политику Microsoft по игнорированию дефектов, если они не получили широкой огласки.
P.S. Richard Stiennon опубликовал и несколько более крупные картинки для Apache и IIS — но, IMHO, недостаточно крупные.