Сложность обучения в кибербезопасности

1. Введение

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

Несмотря на весь интерес кибербезопасности, это был трудный путь до сих пор. Ожидается, что к 2017 году глобальные расходы на ИТ-безопасность достигнут 120 миллиардов долларов (4), и это одна из областей, в которой бюджет на ИТ для большинства компаний оставался стабильным или незначительно увеличивался даже в последние финансовые кризисы ( 5). Однако это существенно не уменьшило количество уязвимостей программного обеспечения или атак преступных групп.

Правительство США готовится к атаке Cyber ​​Pearl Harbor (18), которая может парализовать основные услуги и даже нанести физический ущерб имуществу и жизни. Ожидается, что он будет организован из преступного подполья таких стран, как Китай, Россия и Северная Корея.

Только в Соединенных Штатах влияние киберпреступности на экономику достигает 100 миллиардов долларов в год (4).

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

2. Сложные системы — введение

Прежде чем мы перейдем к мотивации рассмотрения кибернетической системы как сложной системы, вот краткий обзор того, что такое сложная система. Обратите внимание на крайний срок «Система» это может быть любая комбинация людей, процессов или технологий, которая соответствует определенной цели. Часы, которые вы носите, океанские рифы или экономика страны — все это примеры «Система»,

Очень простыми словами: Сложная система означает любую систему, в которой части системы и их взаимодействия вместе представляют определенное поведение, так что анализ всех ее компонентов не может объяснить это поведение. В таких системах причина и следствие не обязательно связаны друг с другом, а отношения нелинейны — небольшое изменение может оказать непропорциональное влияние. Другими словами, как сказал Аристотель, «целое больше, чем сумма его частей». Одним из наиболее популярных примеров, используемых в этом контексте, является система городского движения и появление пробок; Анализ отдельных автомобилей и водителей не может помочь объяснить закономерности и пробки.

Хотя сложный адаптивный Система (CAS) также имеет характеристики самообразования, появления и развития среди участников сложной системы. Участники или агенты в CAS демонстрируют неоднородное поведение. Их поведение и взаимодействие с другими агентами постоянно развиваются. Ключевые особенности системы, которые должны быть охарактеризованы как комплексные адаптивные:

  • Поведение или результаты не могут быть предсказаны просто путем анализа частей системы и ввода

  • Поведение системы возникает и меняется со временем. Один и тот же вход и условия окружающей среды не всегда гарантируют одинаковую производительность.

  • Участники или системные агенты (в данном случае люди) изучают себя и изменяют свое поведение на основе результатов предыдущих экспериментов.

Сложные процессы часто путаются "Complicated" процессы Сложный процесс — это то, что имеет непредсказуемые результаты, какими бы простыми они ни казались. Сложный процесс состоит из множества сложных шагов и предварительных условий, которые трудно достичь, но с предсказуемым результатом. Часто используемый пример: приготовление чая — это сложно (по крайней мере, для меня … я никогда не смогу получить чашку, которая на вкус такая же, как и предыдущая), построить машину сложно. Каркас Дэвида Сноудена Cynefin дает более формальное описание условий (7).

Сложность как область исследований не нова, ее корни восходят к работе Аристотеля Метафизика (8). Теория сложности во многом основана на биологических системах и некоторое время использовалась в социальных, эпидемиологических и естественных исследованиях. Он использовался при изучении экономических систем и свободных рынков, а также получил признание для анализа финансовых рисков (см. Мою статью о сложности анализа финансовых рисков здесь (19)). Пока что это не очень популярно в кибербезопасности, но растущее признание сложности мышления в прикладных науках и информатике растет.

3. Мотивация использовать сложность в кибербезопасности

В настоящее время ИТ-системы разрабатываются и создаются нами (как в сообществе ИТ-сотрудников организации и поставщиков), и вместе мы обладаем всеми знаниями об этих системах. Так почему же мы каждый день видим новые атаки на ИТ-системы, которых мы никогда не ожидали, атакующие уязвимости, о которых мы не знали, что они существуют? Одна из причин заключается в том, что каждая ИТ-система разработана тысячами людей по всему технологическому стеку, от бизнес-приложения до базовых сетевых компонентов и оборудования. Это вносит сильный человеческий элемент в разработку кибернетических систем, и становятся повсеместными возможности для выявления недостатков, которые могут стать уязвимыми (9).

Большинство организаций имеют несколько уровней защиты для своих критических систем (уровни брандмауэра, IDS, улучшенная операционная система, строгая аутентификация и т. Д.), Но атаки все еще происходят. Зачастую взлом компьютера — это стечение обстоятельств, а не отдельная уязвимость, используемая для запуска кибератаки. Другими словами, именно «целые» обстоятельства и действия злоумышленников наносят ущерб.

3.1 Редукционизм и холизимский подход

Редукционизм и холизм — это два противоречивых философских подхода к анализу и проектированию любого объекта или системы. Редукторы говорят, что любая система может быть сведена к ее частям и проанализирована с использованием «Уменьшение» к компонентам; в то время как Холисты утверждают, что целое больше, чем сумма, система не может быть проанализирована исключительно путем понимания ее части (10).

Редукторы говорят, что все системы и машины можно понять, посмотрев на их компоненты. Большинство современных методов науки и анализа основаны на редукционистском подходе и, честно говоря, они хорошо нам послужили. Понимая, что на самом деле делает каждая часть, вы можете проанализировать, что будут делать наручные часы, разработав каждую деталь по отдельности, вы можете реально заставить автомобиль вести себя так, как вам хочется, или, проанализировав положение небесных тел, мы сможем точно предсказать следующее солнечное затмение. Редукционизм придает большое значение причинно-следственной связи — есть причина аффекта.

Но в этом смысле редукционистская точка зрения может помочь объяснить поведение системы. Когда речь идет о новых системах, таких как поведение человека, социально-экономические системы, биологические системы или социально-кибер-системы, редукционистский подход имеет свои ограничения. Простые примеры, такие как человеческое тело, реакция толпы на политические стимулы, реакция финансового рынка на новости о слияниях и даже пробки на дорогах — предсказать невозможно, даже после тщательного изучения поведения членов всех этих групп. «Система»,

Традиционно мы рассматривали кибербезопасность с помощью объектива сокращения с конкретными точечными решениями для отдельных проблем и пытались предсказать атаки киберпреступника на известные уязвимости. Настало время, когда мы начали смотреть на кибербезопасность с альтернативным подходом к холизму.

3.2 Компьютерные взломы — это как патогенные инфекции

Компьютерные взломы напоминают больше вирусных или бактериальных инфекций, чем взлом вашего дома или автомобиля (9). Взломщик, врывающийся в дом, не может использовать его в качестве стартовой платформы для проникновения в соседей. Во всем мире уязвимость не может использоваться одновременно в одной системе блокировки автомобиля. Они больше похожи на микробные инфекции в организме человека, они могут распространять инфекцию, как люди; они могут влиять на большую часть популяции видов, если они «связаны» друг с другом, а в случае серьезных инфекций системы, как правило, «изолированы»; похож на людей, помещенных в «карантин» для ограничения дальнейшего распространения (9). Даже лексикон кибернетических систем использует биологические метафоры — вирусы, черви, инфекции и т. Д. Он имеет много общего в эпидемиологии, но принципы проектирования, часто используемые в кибернетических системах, не адаптированы к принципам естественного отбора. Кибернетические системы в значительной степени зависят от объединения процессов и технологических компонентов по сравнению с разнообразием генов в организмах видов, что делает этот вид более устойчивым к эпидемическим атакам (11).

Пандемия гриппа 1918 года унесла жизни около 50 миллионов человек, больше, чем сама Великая война. Почти все человечество заражено, но почему это затронуло людей в возрасте 20-40 лет больше, чем других? Возможно, разница в структуре тела, которая вызывает различную реакцию на атаку?

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

4. Подход к снижению угроз безопасности

Традиционно, есть два различных и взаимодополняющих подхода к снижению угроз безопасности для кибернетических систем, которые в настоящее время используются в большинстве практических систем (11):

4.1 Формальная проверка и тестирование

Этот подход опирается, прежде всего, на команду тестирования любой ИТ-системы, которая выявляет любые недостатки в системе, которые могут выявить уязвимость и могут быть использованы злоумышленниками. Это могут быть функциональные тесты для проверки правильности работы системы, как и ожидалось, тесты на проникновение для проверки ее устойчивости к определенным атакам и тесты доступности / устойчивости. Объем этих тестов в основном охватывает саму систему, а не защиту первой линии вокруг нее.

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

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

4.2 Инкапсуляция и пределы защиты

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

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

Подходы, использующие науки о сложности, могут быть очень полезны для дополнения более традиционных способов. Универсальность компьютерных систем делает их непредсказуемыми или способными к поведению, которое невозможно предсказать без «запуска» (11). Запуск его изолированно в тестовой среде — это не то же самое, что запуск системы в реальной среде, в которой он должен находиться, потому что столкновение многих событий вызывает очевидное поведение (напоминающее холизм!).

4.3 Разнообразие над однородностью

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

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

Избыточные копии критических систем встречаются в организациях довольно часто, но они представляют собой единообразные, а не разнородные реализации, что делает их такими же уязвимыми для всех ошибок и уязвимостей, как и основные. Если реализация избыточных систем отличается от базовой — другой операционной системы, другого контейнера приложений или версии базы данных — оба варианта будут иметь разные уровни устойчивости к некоторым атакам. Даже изменение последовательности доступа к стеку памяти может изменить ответ на атаку переполнения буфера на варианты (12), что подчеркивает центральную систему голосования, что что-то не так. Пока бизнес-функция ввода и реализации одинакова, любое отклонение в ответе на реализацию является признаком потенциальной атаки. Если реализована истинная основанная на сервисах архитектура, каждая «услуга» может иметь много (но небольшое количество) разнородных реализаций, и общая бизнес-функция может случайным образом выбирать, какую реализацию сервиса она использует с каждым новым запросом пользователя. Используя этот подход, можно получить довольно большое количество различных путей выполнения, что повышает устойчивость системы (13).

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

Аналогичным образом, используя концепцию программирования в версии N (14); Мичиганский университет разработал антивирус N-версии, который имел гетерогенные реализации, проверяя наличие новых файлов на наличие соответствующих сигнатур вирусов. В результате была создана более устойчивая антивирусная система, менее подверженная атакам на себя и улучшенная на 35% дальность обнаружения по всему объекту (15).

4.4 Агентное моделирование (ПРО)

Одним из ключевых направлений исследований в науке о сложности является агентное моделирование, метод имитационного моделирования.

Агентное моделирование — это метод имитационного моделирования, используемый для понимания и анализа поведения сложных систем, в частности сложных адаптивных систем. Люди или группы, взаимодействующие друг с другом в сложной системе, представлены искусственными «агентами» и действуют в соответствии с заранее определенным набором правил. Агенты могут изменить свое поведение и адаптироваться к обстоятельствам. В отличие от дедуктивного мышления (†), которое чаще всего использовалось для объяснения поведения социальных и экономических систем, моделирование не пытается обобщить поведение системы и агентов.

ПРО очень популярны в таких исследованиях, как поведение толпы при эвакуации пожара, распространение эпидемии, для объяснения поведения рынка и недавнего анализа финансовых рисков. Это метод восходящего моделирования, в котором поведение каждого агента программируется отдельно и может отличаться от всех других агентов. Эволюционное и самообучающееся поведение агентов может быть реализовано с использованием различных методов, одной из которых является популярная реализация генетического алгоритма (16).

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

Одним из ключевых направлений в агентском моделировании является "самостоятельное обучение" агенты процесса. В реальном мире поведение злоумышленника будет развиваться с опытом. Этот аспект поведения агента реализуется через процесс обучения агента, причем генетический алгоритм является одним из самых популярных методов. Генетические алгоритмы использовались для проектирования автомобильной и авиационной техники, оптимизации производительности автомобилей Формулы 1 (17) и моделирования поведения инвесторов в обучении на имитированных фондовых рынках (реализованных с использованием агентных моделей).

Интересная визуализация генетического алгоритма — или процесса самообучения в действии — представляет собой демонстрацию простого процесса проектирования автомобиля 2D, который начинается с нуля с набором простых правил и заканчивается в жизнеспособной машине с каплями разных частей: http://rednuht.org/genetic_cars_2/

Агент самообразования основан на «Мутация» и «кроссоверы» — два основных оператора в реализации генетического алгоритма. Они имитируют скрещивание ДНК и мутации в биологической эволюции форм жизни. Через обучение и мутации агенты учатся на собственном опыте и ошибках. Их можно использовать для моделирования образовательного поведения потенциальных злоумышленников без необходимости вручную представлять все случаи использования и перемещения пользователей, с которыми злоумышленник может попытаться сломать кибернетическую систему.

5. Применение

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

Однако коммерчески доступные продукты или услуги, использующие методы, основанные на сложности, займут некоторое время, чтобы войти в крупные коммерческие организации.

библиография

(1) Дж. А. Льюис и С. Бейкер, «Экономическое влияние киберпреступности и кибершпионажа», 22 июля 2013 г. (онлайн)

(2) Л. Кугель, «Терроризм и глобальная экономика», Студенты электронных международных отношений, 31 августа 2011 г. (онлайн).

(3) "Кибербезопасность — факты и цифры", Международный союз электросвязи (онлайн).

(4) «Интересные факты о кибербезопасности», Интернет-университет Флориды, онлайн.

(5) «Глобальные расходы на безопасность достигнут 86 миллиардов долларов США в 2016 году», 14 сентября 2012 года (онлайн).

(6) С. Форрест, С. Хофмейр и Б. Эдвардс, «Комплексная наука о киберзащите», 24 июня 2013 г. (онлайн).

(7) "Cynefin Framework (Дэвид Сноуден) — Википедия" (онлайн).

(8) «Метафизика (Аристотель) — Википедия» (онлайн).

(9) Р. Армстронг, "Мотивация для изучения и моделирования кибербезопасности как сложной системы", 2008.

(10) С. А. Маклеод, Редукционизм и Холизм, 2008.

(11) Р. С. Армстронг, Дж. Р. Мейо и Ф. Зибенлист, «Проблемы науки о сложности в кибербезопасности», март 2009 г.

(12) Б. Саламат, Т. Джексон, А. Гал и М. Франц, «Оркестр: обнаружение вторжений с использованием параллельной работы и мониторинг вариантов программы в пространстве пользователя», Материалы 4-й Европейской конференции ACM по компьютерным системам, с. , 33–46, апрель 2009 г.

(13) Р. С. Армстронг и Дж. Р. Майо, «Использование сложности в программном обеспечении для кибербезопасности (Аннотация)», Ассоциация вычислительной техники, стр. 978-1-60558-518-5, 2009.

(14) К. Лиминг и А. Авизиенис, «ПРОГРАММА N-VERSION: ПОДХОД К НАДЕЖНОСТИ ТОЛЕРАНТНОСТИ К НАДЕЖНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ», Computing Tolerant Computing, p. 113, June 1995.

(15) Дж. Оберхайде, Э. Кук и Ф. Джаханян, «CloudAV: антивирус N-версии в сетевом облаке», Университет Мичигана, Энн Арбор, MI 48109, 2008.

(16) Дж. Х. Холланд, Адаптация в естественных и искусственных системах: предварительный анализ с приложениями к биологии, управлению и искусственному интеллекту, Мичиган: издательство Мичиганского университета, 1975.

(17) К. И. Б. П. Влох, «Оптимизация характеристик автомобиля Формулы 1 с использованием генетического алгоритма», «Параллельное решение проблем от Nature-PPSN VIII», с. 702-711, январь 2004 г.

(18) П. Э. (О. О. Леон, «Стенограмма прессы», Министерство обороны США, 11 октября 2012 г. (онлайн).

(19) Ганди, Гаган; «Анализ финансового риска с использованием агентского моделирования», (онлайн): http://www.researchgate.net/publication/262731281_Financial_Risk_Analysis_using_Agent_Based_Modelling

(*) Алан Тьюринг — математик, который прославился тем, что сломал машины Enigma, используемые для шифрования коммуникационных сообщений во время Второй мировой войны, — доказал, что общий алгоритм, независимо от того, закончится ли программа (или будет работать вечно) для всех пар ввод программы не может существовать,

(†) Дедуктивное мышление — это «нисходящий» подход, начинающийся с гипотезы и точек данных, используемых для обоснования утверждения. С другой стороны, индуктивное рассуждение — это подход снизу вверх, который начинается с конкретных наблюдений, которые затем обобщаются для формирования общей теории.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *