На западе, откуда пришла к нам теория и лучшие практики тестирования, существует список наиболее распространенных ошибок в программном обеспечении. Этот список является результатом сотрудничества двух организаций, SANS Institute и MITRE, а так же 40 экспертов в области безопасности программного обеспечения. В общем списке было выбрано 25 наиболее распространенных и опасных ошибок. Довольно вольным переводом этих 25 ошибок я и хочу поделиться.
Ошибка #1: Неправильная проверка ввода
Характеристики ошибки:
Степень распространенности: Высокая
Стоимость исправления: Низкая
Частота использования: Высокая
Последствия:
Выполнение кода
DoS-атака
Потеря данных
Сложность обнаружения: Чаще легко обнаружима
Осведомленность атакующего: Высокая
Описание:
Эта ошибка – убийца номер один в программном обеспечении, так что вы просто нарываетесь на проблемы, если не проверяете входные данные на соответствие ожиданиям. Например, в идентификатор, в котором вы ожидаете увидеть число, ни в коем случае не должны попасть буквы. Так же имеет смысл ввести верхнюю границу для высоты или ширины картинки в графическом редакторе. Обычно, приложения имеют более сложные требования к входным данным, чем эти просты примеры. Неверная валидация входных данных может привести к уязвимостям, когда атакующий сможет использовать совершенно неожиданный вами ввод. Многие распространенные сегодня уязвимости могли бы быть устранены благодаря корректной проверке входных данных.
(
Читать дальше
)