|

Source code scanners
Xakep, номер #043, стр. 043-040-2
Маленькое замечание перед тем, как мы окунемся в замечательный мир багов: в статье использованы как собственные впечатления и анализы, так и информация из readme-файлов соответствующих программ, ибо форму подачи материала в стиле «что пишут о проге - и что прога реально делает» считаю в данном случае наилучшей.
ITS4
http://www.cigital.com/services/its4
ITS4 (эта аббревиатура - сокращение от фразы "It's The Software Stupid! Security Scanner", так вот извратились девелоперы) - одна из самых известных утилит для статического анализа исходных сишных текстов на предмет наличия возможных уязвимостей. ITS4 способна идентифицировать потенциально опасные вызовы функций, которые при различных обстоятельствах могут привести к переполнению буфера и, соответственно, предупреждать программиста. Надеюсь, не надо рассказывать, что переполнение буфера - это самый частый результат ошибок программиста, на котором основано большинство уязвимостей сетевого ПО. Некоторые из этих уязвимостей довольно легко обнаружить (например, использование в коде сишной библиотечной функции gets почти всегда влечет за собой проблемы безопасности, всем быстро читать инфу по сишным либам :). Некоторые же функции более «неуловимы» (strcpy, sprintf) и требуют тщательного анализа, наконец некоторые вызовы функций априори безопасны (strncpy, strncat), но, как и все остальные, могут быть неправильно использованы, что повлечет за собой дыру в системе безопасности.
Как и все рассматриваемые здесь программы, сканер ITS4 работает в консольном режиме. Утилита сканирует сорц и анализирует вызовы стандартных функций на потенциальную опасность, представляя программисту информацию о возможных последствиях применения той или иной функции, а также степень риска. Помимо этого, утилита выдает краткое описание проблемы и предположения, как ее можно устранить. Все баги и рекомендуемые решения берутся из базы данных, которая, будучи представлена в виде файла, всегда может быть обновлена или переделана под себя пользователем.
Назад на стр. 043-040-1 Содержание Вперед на стр. 043-040-3
|