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