После прочтения этой книги у вас могут остаться некоторые наболевшие вопросы:
• Когда можно говорить о достаточности предпринятых мер по обеспечению безопасности?
• Как привлечь руководство к обеспечению безопасности?
• Как привлечь разработчиков к обеспечению безопасности?
• С чего начать?
• Откуда брать помощь?
Рассмотрим их по очереди, прежде чем отправиться на борьбу с угрозами безопасности приложений.
Если в организации отсутствует программа обеспечения безопасности или имеются очень слабые средства безопасности, любые действия в этом направлении приведут к положительным результатам. Возможностей для прогресса в данной ситуации бесчисленное множество, поэтому выглядеть хорошо в глазах начальства легче легкого.
Что делать, если в организации очень продвинутая и устоявшаяся программа безопасности, с которой все согласны, и обеспечена правильная работа всех процессов? Как понять, когда нужно остановиться?
Наименее удовлетворительный, но наиболее правильный ответ – все зависит от обстоятельств.
СОВЕТ. Приемлемый для организации уровень риска – это показатель того, какой риск она готова принять. Например, небольшой стартап может быть готов пойти на большой риск, в то время как очень крупная или бюрократическая организация, скорее всего, будет избегать рискованных решений.
Все зависит от стоимости защищаемых активов: вероятно, нет смысла тратить миллион долларов на защиту чего бы то ни было стоимостью в сто тысяч.
Все зависит от уровня риска, на который может пойти компания. Вносит ли она большие изменения в технологию одной из первых или ждет основной волны внедрения? Насколько быстро принимаются решения в компании? Они представляют собой сложные процессы с несколькими уровнями утверждения или действует культура доверия? Ответы на эти и другие вопросы помогут понять, насколько компания готова к риску, и определить необходимое количество уровней защиты.
Все зависит также от уровня чувствительности защищаемых данных и систем. Например, содержит ли система ценную интеллектуальную собственность или государственные секреты? Поддерживает ли она жизнь человека (как кардиостимулятор Боба)?
Все зависит от бюджета. Любая компания может написать на своем веб-сайте: «Мы серьезно относимся к вашей безопасности», но крошечный бюджет, выделяемый на ее обеспечение, и отсутствие квалицированных сотрудников позволяют усомниться в данном заявлении.
Все зависит от заинтересованности высшего руководства и ведущих специалистов других отделов. Если высшее руководство хочет совместимость с PCI (англ. Payment Card Industry – стандарт безопасности индустрии платежных карт), значит, именно она станет вашей главной целью. Если оно хочет увидеть план и бюджет для запуска новой программы безопасности, стоит перечитать седьмую главу. Если руководство хочет проверить безопасность нового разработанного компанией телевизора, но практически не выделяет время на тестирование, это также говорит само за себя. О достаточности предпринятых вами мер можно с уверенностью судить только после беседы с высшим руководством о соответствии результатов вашей работы его ожиданиям.
РИСК НЕГАТИВНЫХ ПОСЛЕДСТВИЙ
Когда-то Алиса работала в банке. Банк боялся вносить какие-либо изменения до такой степени, что этот страх фактически приводил к риску возникновения негативных событий. В нем совершенно не торопились обновлять систему и средства контроля безопасности или пробовать внедрять новые технологии, и в результате иногда оказывалось, что вносить какие-либо изменения уже слишком поздно. Для наиболее важных систем все еще имелись мейнфреймы, которые сдерживали модернизацию банковских систем. Все многочисленные аргументы Алисы в пользу изменений игнорировались. В банке слишком боялись перемен.
СПЕЦИАЛЬНОЕ ПРИМЕЧАНИЕ ДЛЯ КОНСУЛЬТАНТОВ
У консультантов, проводящих аудит, оценку или тест на проникновение в системе безопасности, скорее всего, время для завершения работ будет ограничено по контракту. Многие из них говорят, что «сделали все возможное в рамках контракта» – за что клиент заплатил, то он и получил.
В качестве альтернативы в данной ситуации можно составить список всех пунктов, которые необходимо выполнить для обеспечения безопасности систем заказчика, а также определить, какие из них не покрываются условиями контракта. Например, можно порекомендовать провести не вошедшее в контракт тестирование безопасности API, сделать обзор кода для определенных функций безопасности или выполнить стресс-тестирование, поскольку нагрузки представляют собой огромный риск для бизнес-модели заказчика. Возможно, клиенту следует подумать о создании команды безопасности и запуске соответствующей программы. В такой список следует включить даже ту работу, которую невозможно выполнить. Хороший консультант предоставляет клиенту право решать, игнорировать его рекомендации или нет. Необязательно выполнять весь список задач, однако следует хотя бы объяснить, как, по вашему мнению, должен выглядеть «результат выполненных работ». Такое действие часто называют «оценкой упущений» (англ. gap assessment).
При решении того, что необходимо добавить в оценку упущений, обычно используются такие контрольные списки, как ASVS (Стандарт проверки безопасности приложений OWASP), MASVS (мобильная версия ASVS от OWASP), WSTG (Руководство по тестированию веб-безопасности OWASP), MSTG (мобильная версия WSTG). С их помощью можно подтвердить, что были охвачены все пункты, представляющие важность для клиента. Заранее созданный шаблон сделает это занятие не требующим больших усилий и принесет большую пользу клиентам.
Результатом такой работы может стать также увеличение количества контрактов.