Мало того, что и раньше объекты защиты — корпоративные приложения — несли в себе рукотворные уязвимости, так теперь они еще и создаются быстро, и живут недолго.
При классическом подходе каждое изменение требует проверки на отсутствие новых уязвимостей, а инфраструктуру и средства защиты необходимо адаптировать к новым требованиям в отношении функциональности и безопасности. Изменения — это не только новые функции с иным программным кодом. Это и добавление товара на витрину электронного магазина, и переработанная форма анкеты-заявления, которую надо скачивать, и изменение формы ввода и т. п. По правилам, при любом изменении системы надо запускать режим сканирования объекта и, в зависимости от обнаруженных изъянов, либо возвращать его на доработку и исправления, либо перенастраивать системы защиты, чтобы закрыть уязвимости настройками или виртуальными патчами.
Но когда объект защиты меняется сотни раз в день (нормальный режим для, например, интернет-банка), эти правила перестают быть эффективными: сканирование и перенастройка длятся дольше, чем интервал между изменениями. Если следовать этим правилам, системы защиты будут постоянно находиться в режиме самообучения и перенастройки и не смогут эффективно обеспечивать безопасность. Как же быть? Бизнесу требуются новый функционал, проверка гипотез и быстрая реакция на внешние условия, а изучение и перенастройка систем защиты занимают все больше времени. Что делать программистам, пока созданные ими новые функции изучают специалисты по безопасности? Отдыхать? За чей счет? Или писать новый код? Тогда зачем «безопасникам» тестировать то, что устареет к окончанию тестирования? А если уязвимости будут найдены? Придется откладывать разработку новых функций и исправлять старые? Что на это скажут представители бизнеса? Как найти компромисс?
Вопросов много. Есть несколько методик выхода из этого замкнутого круга и возврата к сходимости процесса изменений и процесса защиты систем, в которых эти изменения присутствуют.
Первый способ — введение слоя безопасности на всех уровнях разработки и поддержки системы. Иначе говоря, специалисты по безопасности должны привлекаться не на этапе тестирования законченного объекта, а на этапе проектирования очередных изменений. Очевидно, скорость внедрения изменений замедлится, но не настолько, насколько их задерживает текущий процесс.
Второй способ — подключение искусственного интеллекта и машинного обучения, использование самонастраивающихся систем защиты, которые без участия человека в «боевом» режиме тестируют системы на уязвимости, выдают рекомендации по исправлению и сами же защищают обнаруженные уязвимые места при помощи виртуальных патчей или изменения настроек.
Первый способ должен полностью изменить подход к разработке, а второй — к защите.
Сегодня разработка — это «государство в государстве», отдельное подразделение, иногда и за штатом основного производства. Она живет по своим правилам и контактирует с внутренним или внешним заказчиком только тогда, когда получает техническое задание или сдает новую версию. По тому же принципу организована и служба безопасности. Сделать процесс общим, «размазать» разработку и защиту приложения по всем стадиям жизненного цикла — сложный вызов, требующий полного изменения привычных процессов. Поэтому такой подход лучше внедрять при запуске нового проекта с нуля, надежда успешно изменить уже существующие схемы взаимодействия — утопия.
Менять подход к безопасности тоже непросто. Сегодня безопасность — это огромные центры мониторинга, в которых средства защиты только выдают гипотезы об атаках, а решения на основании этих данных принимают люди. Автоматические средства не активируются из опасения ложных срабатываний, в результате которых корпоративные приложения могут оказаться недоступны легальным пользователям. Передать принятие решения системам с искусственным интеллектом — то же самое, что сесть в автомобиль с автопилотом. Это, скорее, не вопрос качества, а вопрос доверия.
Но, так или иначе, выбор придется делать. Традиционные парадигмы построения и защиты больших систем практически исчерпали свои ресурсы. Компании, бизнес которых неотделим от приложений: порталы, соцсети, электронные магазины, онлайн-банки и другие, — уже активно пробуют, а иногда и применяют новые методологии и технологии. Может быть, пора об этом задуматься и тем, кто чересчур привержен традициям?
Рустэм Хайретдинов, генеральный директор компании «Атак Киллер»