Хаос-инжиниринг (Chaos engineering) – это своего рода противоречие: он работает против самой системы, которую он защищает, чтобы построить среду, которая будет более устойчивая и безопасная. Как это все работает? Зачем нарочно вводить ошибки и как это помогает обезопасить цифровую среду? Понимание этого предмета может привести к существенным улучшениям.

Что это такое?

Концепция хаос-инжиниринга основана на четырех принципах, определенных Netflix. Эти принципы состоят в определении «стабильного» состояния, создании гипотезы о последующем состоянии, введении переменных, которые отражают события, соответствующие реальности, и попытке «сломать» гипотезу (в таком порядке).

С помощью серии тестов оцениваются характеристики инфраструктуры, такие как доступность, безопасность и производительность. Цель – решить проблемы в этих распределенных системах для улучшения возможностей восстановления всей системы. Это означает, если говорить коротко, получать структуры, которые смогут выдерживать экстремальные условия.

Устойчивость и «антихрупкость»

Понятие хаос-инжиниринга становится понятной в том случае, если мы понимаем термин «антихрупкость» (antifragility), введенный профессором, экономистом и трейдером Нассимом Николасом Талебом. Он является предшественником понятия хаос-инжиниринга и, в свою очередь, основан на устойчивости. Устойчивость определяется как способность «поглощать» дестабилизирующие факторы, которые могут быть вызваны стрессовыми факторами.

Это понятие широко используется в живых организмах (экология, физиология, психология и т.д.) и относится к способности организма активно преодолевать проблемы и адаптироваться к новой ситуации. “Антихрупкость” выходит за рамки устойчивости, т.к. она подразумевает эволюцию системы, способную развиваться в результате стресса, которой она была подвергнута, чтобы приспособиться к новым возможным «сбоям».

Adaptive Defense – это инструмент, который позволяет учитывать принципы антихрупкости и добавить компании устойчивость, улучшая представление о состоянии корпоративной сети.

Simian Army

Учитывая все это, такие крупные компании как Netflix или Amazon видят в хаос-инжиниринге возможность тестирования своих инфраструктур, чтобы сделать свои системы более развитыми и устойчивыми. Т.е. более жизнеспособными. Поскольку проведение анализа и исправление проблемы с помощью постоянно повторяющихся итераций для эскалации стрессового состояния – это очень сложная задача, они используют эвристические стратегии, ориентированные на приоритезацию принятия решений, направленных просто на устранение проблем.

Таким образом, например, Netflix использует свой собственный пакет приложений под названием Simian Army, который тестирует стабильность его сети. Simian Army имеет более десятка стрессоров, которые тестируют системы различным образом. Например, Security Monkey, - это всего лишь один «кусочек» Simian Army. Он реализует стратегию безопасности в облачных вычислительных платформах, основываясь на хаос-инжиниринге.

Как хаос-инжиниринг может помочь компаниям?

Первый вопрос: почему компании следует использовать хаос-инжиниринг?

Внедрение стратегии, основанной на хаос-инжиниринге, помогает работать антихрупкости платформы, в том числе, чтобы цели и требования управления соответствовали PCI-DSS на случай аудита. Таким образом, любая компания может извлечь серьезные преимущества от внедрения в своей стратегии безопасности такого инструмента, как Security Monkey.

Для этого потребуется «хаосификация» платформы контролируемым образом, которая может состоять из действий следующего типа: отключить правила SG (группы безопасности), случайным образом осуществлять изменение файлов и прослушивание портов, внедрять вредоносный трафик в VPC (Virtual Private Cloud), случайно «убивать» процессы во время их работы… список таких сеющих хаос действий можно продолжать долго.

Благодаря этому инструменту (или стратегии), можно добиться более глубокого видения последствий атаки с целью улучшения защиты. Это, в конечном счете, является основой создания более зрелых и надежных систем, способных восстанавливаться после атак и снижать ущерб в случае серьезного инцидента безопасности – это именно то, что должно быть обязательным условием для любого сервиса высокой доступности.