Неоригинальность кода в современном ПО — серьезная проблема, считают специалисты компании Veracode. Действительно, далеко не весь код в современных продуктах пишется с нуля, чаще программисты заимствуют целые куски из различных источников. Veracode вовсе не обвиняет программистов в воровстве, код может быть честно куплен у другой фирмы или позаимствован из open source. Не обвиняют программистов и в лени, они не ленивы — они эффективны. Проблема заключается в том, что, по утверждениям некоторых экспертов, современное ПО состоит из подобных заимствований на 80-90%. А вместе с заимствованиями «по наследству» передаются и уязвимости.
Пожалуй, лучше всего о размахе проблемы говорит то, что Veracode и другие подобные ей компании сумели построить на этом успешный бизнес. Глава и основатель компании Veracode Крис Уайсопал (Chris Wysopal) рассказал изданию Cnet, что за прошлый год его сотрудники обнаружили 6,9 млн уязвимостей, в ходе проведения 200 000 проверок кода у клиентов, которыми выступают предприятия крупного и среднего бизнеса. Клиенты исправили 4,7 млн найденных багов. Уайсопал объясняет, что программисты клиентов Veracode несут ответственность далеко не за все обнаруженные в коде ошибки, чаще всего выясняется, что код вообще написан не ими, а взят из каких-то внешних источников. К сожалению, проверять «одолженный» код на предмет багов мало кто утруждается. «Повторное использование кода — настоящий тренд. И все бы ничего, если бы вместе с кодом не наследовались и все его уязвимости», — рассказал Уайсопал.
Фото: electronicfrontierfoundation@flickr