Во-первых, я понимаю, что когда я получаю ложные ответы, в конечном счете, мне будет больно, и это не то, что я ищу. При этом, вот основной пункт назначения:
«Мы собираемся смоделировать простую скачкообразную атаку в небольшой корпоративной сети.
Злоумышленник скомпрометирует компьютер в сети и использует его в качестве отправной точки для других
атаки. Наша модель атаки упрощена, так что каждая атака занимает определенное количество времени и
удается с некоторой вероятностью. Периодически злоумышленник и каждая взломанная машина будут
попытка скомпрометировать случайную машину в сети. Атаки, пересекающие вторжение
Система обнаружения будет иметь определенный процент вероятности быть пойманным. Сисадмин будет
реагировать (с некоторой задержкой), чтобы исправить машины со 100% уверенностью.
Топология сети — это дерево. В корне дерева находится IDS, со всеми подключенными
компоненты как дети. IDS также является сетевым шлюзом.
Два коммутатора (не агенты) являются прямыми потомками в IDS.
Остальные компьютеры делятся равномерно как дочерние между двумя коммутаторами.
Каждое событие от атакующего пересекает IDS. Только атаки с компьютеров под одним коммутатором
к компьютерам под другим коммутатором может быть обнаружена IDS
Системный администратор — это агент в симуляции, который не подключен к сети. Может только
получать уведомления о симуляции от системы обнаружения вторжений «.
Существует 3 типа событий: атака, исправление и уведомление. Я знаю, что события должны храниться в очереди, что нормально, но я не уверен, как реализовать эти события. Создать виртуальный класс Event и группу подклассов, определяющих все события? Один класс для всех событий? Кто знает?
Есть также 3 агента, которые отвечают или генерируют события: злоумышленник, компьютеры и IDS. Опять же — я должен реализовать их все в отдельных классах или было бы достаточно использовать один основной класс.
Моя программа должна иметь 3 входа: количество компьютеров, процент успешных атак и процент обнаруженных в IDS.
То, с чем у меня возникают реальные проблемы, это организация всего моделирования, что делает довольно трудным начало проектирования и реализации. Кажется, я не могу обернуть голову вокруг структуры события, и мое кодирование довольно ржавое, я боюсь признаться. Сдвиг в правильном направлении будет принята с благодарностью.
Задача ещё не решена.
Других решений пока нет …