Хакер #305. Многошаговые SQL-инъекции
Компания Coverity выложила в свободный доступ 61-страничный отчет “Coverity Scan: 2012 Open Source Report” (pdf) с результатами сканирования кода различных проектов Open Source. Такое исследование компания проводит ежегодно по заказу Министерства внутренней безопасности США. Последняя версия программы Coverity Scan для статичного анализа кода позволяет выявить 25 типов дефектов. После анализа можно сравнить качество кода разных программ по количеству ошибок на 1000 строк исходников.
В таблице показаны некоторые типы дефектов, которые выявляет Coverity Scan, количество исправленных дефектов каждого типа в 2012 году, а также оценка опасности для каждого типа дефектов.
Нужно заметить, что программа Coverity Scan пользуется авторитетом среди разработчиков, с этой компанией сотрудничают многие известные проекты, и только за прошлый год Coverity Scan помогла выявить и исправить более 20 тысяч дефектов в Open Source коде разных систем.
В нынешнем году Coverity зарегистрировала заметное улучшение качества Open Source проектов. Среди OSS-программ выделяется операционная система Linux, которую в 2011 году аналитики назвали одним из трех «эталонов качества» программного кода. При помощи Coverity разработчики сумели исправить в 2011 году 5170 ошибок и снизить плотность дефектов с 0,66 до 0,59 на 1000 строк кода (Linux 3.8), так что «эталон качества» стал еще «эталоннее».
В таблице показано количество выявленных и исправленных ошибок в ядрах Linux разных версий, а также количество строк кода, которые проанализировала система Coverity Scan за каждый год.
В следующей таблице показана плотность ошибок в разных компонентах ОС Linux в 2011 и 2012 гг.
Coverity отдельно упоминает о 0day-уязвимостях, которые удается обнаружить с помощью автоматического анализа кода. Компания никогда не публикует в открытом доступе информацию об этих багах до выпуска патчей. Например, в июле 2009 года вышел очередной 0day-эксплойт для Linux, в то время как компания Coverity обнаружила и сообщила разработчикам о соответствующем баге еще 31 марта.