Процессы легко автоматизируются, когда они однозначны и повторяемы. Вспомните благословенные антивирусы — их надо было только установить, остальное они делали сами: скачивали обновления баз данных, определяли и блокировали вирусы, иногда запрашивая подтверждение (скажем честно, не из-за того, что сомневались, удалять вирус или нет, а чтобы напомнить: мы есть, мы бдим, не забудь вовремя заплатить за продление подписки).
Определения вирусов, сигнатуры атак и другие простые методы защиты работали безотказно до тех пор, пока атаки не стали персонифицированными. Иначе говоря, злоумышленники стали учитывать особенности конкретного объекта защиты и саму систему защиты. Выявлять вирусы и атаки с помощью уже известных образцов теперь удавалось не всегда, что вынудило прибегнуть к гораздо менее точному способу — поведенческому анализу: ни на один известный вирус это не похоже, но ведет оно себя как вирус. Первые системы такого рода вызвали протесты пользователей: количество ложных срабатываний по сравнению со старыми технологиями было неприемлемым, пользователю приходилось постоянно отвлекаться от работы, чтобы разбираться с сообщениями антивируса.
Постепенно все сошлись на том, что ради защиты придется смириться с ложными срабатываниями, но отличить ложную тревогу от реальной атаки может не каждый. Так появились профессиональные операторы систем защиты, которые анализировали сообщения систем безопасности и разрешали коллизии. «Системы защиты» — устоявшийся, но неправильный термин, ведь по сути речь идет о системах мониторинга, поскольку такая система лишь сообщает оператору о подозрительной активности, а те или иные меры принимает человек, от квалификации которого во многом зависит их эффективность.
Защита еще более осложнилась с повсеместным внедрением методологий гибкой (agile) разработки, для которой характерны частые, многочисленные и небольшие изменения защищаемой системы, а также замена подробной документации на приложение с использованием поверхностных «userstories». Каждое изменение порождает поведенческие аномалии, о которых система защиты сообщает как о подозрительной активности. Их очень много, без знания особенностей (документации) защищаемой системы справиться с ними невозможно и остается только наращивать штат операторов. Дефицит таких специалистов привел к процветанию аутсорсинга по обработке подозрительных аномалий (это называется «обработка инцидентов», однако реальными инцидентами оказываются менее 5% из них, все остальное — ложные срабатывания).
Автоматизация бизнес-процессов — отличный способ сэкономить, поэтому банки, розничные торговцы, телеком-операторы и даже государственные органы стараются как можно быстрее внедрить такие решения. Очевидно, что при росте количества и сложности автоматизированных бизнес-систем потребность в операторах с опытом использования средств мониторинга активности растет даже быстрее, чем потребность в собственно «автоматизаторах». Поэтому идея автоматизировать труд операторов систем мониторинга не могла не найти отклика в душе тех, кто оплачивает все это, с болью наблюдая, как растет сложность защиты.
Попытки заменить человека в непростой роли оператора, где приходится не просто реагировать на аномальную активность, а разбираться в запутанных процессах бизнес-приложений и инфраструктуры, на которой они развернуты, предпринимались постоянно, но в большинстве случаев удавалось лишь сделать более удобным для оператора процесс анализа аномалий. Поручить машине принимать окончательное решение, как было с антивирусами в старые добрые времена, никто не решался.
В последние годы произошло сразу два прорыва: выросла вычислительная мощность и появились алгоритмы машинного обучения, — благодаря чему для некоторых процессов удалось радикально повысить точность определения атак, причем настолько, что достигнутая точность превысила показатели человека. Снова стало возможно делегировать принятие решений машине. Уже появились автоматизированные системы, способные работать в режиме не мониторинга, а именно блокирования атак, что позволяет сократить нагрузку на людей, для чего изначально и создавались вычислительные системы.
Не стоит сегодня преувеличивать возможности искусственного интеллекта, особенно в области систем защиты. Точность его выводов пока недостаточна для большинства процессов защиты, однако, например, защиту Web-приложения уже можно смело доверять машине, справляющейся с работой лучше, чем средней руки специалист, и, уж конечно, более выносливой и неутомимой. По мере накопления данных об атаках, совершенствования алгоритмов обучения и роста вычислительной мощности будут автоматизироваться и другие системы защиты. Человек станет заниматься творческой деятельностью: обучать искусственный интеллект, изучать новые алгоритмы атак, вести расследования и выполнять другие интересные задачи, где интеллект важнее скорости, производительности и безошибочности.