January 25th, 2009

Как находятся уязвимости в программах

Александр Венедюхин рассуждает о пользе и вреде открытого исходного текста в CMS. Не знаю, как в CMS, а в операционных системах программные уязвимости обычно обнаруживаются либо случайно, либо на основе анализа документированных спецификаций интерфейсов. Читаешь документацию и видишь - здесь вполне может быть дыра. Смотришь - ага, есть. Или нет.

В качестве примера приведу три истории, как я обнаружил три уязвимости в винде.
Collapse )
Общий вывод. На основании своего личного опыта могу сказать, что отсутствие у Windows открытого исходного текста не сильно мешает искать уязвимости в этой ОС. Для специалиста листинг, выдаваемый IDA с участием HexRays, не намного менее информативен, чем оригинальный исходник.

Впрочем, я вполне допускаю, что выводы, сделанные на основе только личного опыта, могут оказаться излишне категоричными.