Недостаточно
сформулировать техническое задание — надо проверить, что никакая
комбинация элементов будущей системы не оставит лазейки
противнику. Недостаточно иметь готовую к работе команду
программистов — необходимо научить их мыслить в терминах
безопасности и писать не простой и эффективный, а надежный и
проверяющий все, что только можно, код. Недостаточно прогнать
набор основных тестов — в проверке нуждается каждая ветка
каждого алгоритма, во всех возможных режимах. Поэтому вместо
того, чтобы начинать разработку новой системы защиты, иногда
бывает проще провести серьезный анализ существующей коммерческой
системы на предмет выявления ее пригодности к решению
поставленных задач.
Даже если
разработка была проведена целиком внутри компании, это еще не
означает, что нет никакого смысла в проверке качества
Разработчики и программисты тоже люди, а людям свойственно
ошибаться. Поэтому очень полезно иметь еще одну оценку — от
людей, не принимавших прямого участия в разработке. Это позволит
значительно повысить степень уверенности в стойкости защиты.
Очевидно, что иметь в штате команду специалистов по
информационной безопасности, способных быстро и качественно
провести анализ защиты, может позволить себе не каждый. Но для
проведения исследований можно нанять независимых экспертов,
имеющих хорошую репутацию в подобных делах. Как правило, все
результаты подобной экспертизы передаются заказчику и не могут
быть опубликованы без его согласия.
Подобный
анализ "для себя" иногда устраивают и разработчики коммерческих
защит, которые хотят получить независимое подтверждение
надежности разработанного продукта, которое позже может быть
использовано в рекламных целях. Однако "независимость"
полученной таким образом оценки весьма сомнительна. Разработчик
ожидает от экспертизы положительных результатов и, фактически,
платит именно за них. Если же экспертное заключение будет
негативным, то никто не заставит разработчика его публиковать.
Разумеется, в
ходе анализа надежности системы безопасности, которую
планируется использовать для защиты очень важных данных,
недостаточно проверять только устойчивость к простейшим видам
атак, которые противник сам будет пробовать в первую очередь.
Требуется выполнить анализ на максимально доступную глубину. Но
начинать можно и с самых простых атак — если окажется, что
система неустойчива к ним, остальное проверять не обязательно.
Наличие даже одной уязвимости сводит всю защиту к нулю.
(продолжение)
|