cymix - система обнаружения вторжений
| |
afq | Дата: Вторник, 01 Октября 2019, 08:00 | Сообщение # 1 |
Разработчик
Сейчас нет на сайте
| Платформа - линукс. Потом может быть windows. Но так windows у меня не установлен, то будет не скоро. Язык программирования - си. IDE - текстовый редактор vim. Описание - cymix система обнаружения вторжений. Использует свои правила и правила snort. Пока что делаю парсер своих правил, тех, которых нет в snort. Единственное что пока реализовал, так это одно правило, которое пишет что меня пингуют. Занялся этим проектом, когда меня не устроили существующие системы обнаружения вторжений. Как это работает - в линукс есть функции очереди, когда поступает пакет в компьютер, этот пакет отправляется в очередь. На другом конце работает четыре потока, каждый ждёт пакета из очереди. Кто первый получил, тот и обрабатывает. Затем пакет сравнивается с правилами и если есть совпадения, то отправляется в журналирование. Одним из журналирования есть unix сокет. Это сделано для локального пользования. С помощью unix сокета моя другая программа получает доступ к журналу и оповещает меня, когда появляются новые сообщения. Подробности на видео.
|
|
| |
afq | Дата: Вторник, 01 Октября 2019, 11:18 | Сообщение # 2 |
Разработчик
Сейчас нет на сайте
| Как видно, справа вверху в углу видно уведомление о том что меня кто-то пингует.
|
|
| |
afq | Дата: Вторник, 01 Октября 2019, 11:52 | Сообщение # 3 |
Разработчик
Сейчас нет на сайте
| Я сделал диаграмму, на которой видно, что поступает пакет и он сразу отправляется в очередь и отлавливается уже следующий пакет. Четырем потокам доступна одна очередь. Какой то поток извлекает пакет из очереди, проверяет правила и отправляет в другую очередь, которая доступна четырем потокам, но принимающая сторона всего один поток, он отвечает за журналирование.
|
|
| |
afq | Дата: Вторник, 01 Октября 2019, 11:54 | Сообщение # 4 |
Разработчик
Сейчас нет на сайте
| всё гениально и просто. Только я не тестировал, я не знаю как себя поведёт очередь, если скорость загрузки будет 100 мбит в секунду или больше, но думаю что четыре потока сумеют разгрузить очередь.
|
|
| |
drcrack | Дата: Среда, 02 Октября 2019, 11:29 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| какую конкретно проблему решает это приложение?
|
|
| |
8it2d | Дата: Среда, 02 Октября 2019, 11:41 | Сообщение # 6 |
был не раз
Сейчас нет на сайте
| Интересно. Но я нуб. И не совсем понимаю практическую область применения.
Т.е. ваша программа может определять тип пакетов. Пропускать правильные, а остальные блокировать? Занося при этом информацию о зловредах в лог?
Ну вот допустим у меня есть простенькая сетевая игрушка на SFML(С++) с сервером тоже на SFML-Network под Ubuntu 16.04 на VPS KVM. Весь диапазон портов у меня заблокирован через iptables. Открыт только 1 порт для сокетов с обменом под TCP.
Т.е. ваша программа может проверять пакеты, пропуская только трафик от игры?
Сообщение отредактировал 8it2d - Среда, 02 Октября 2019, 11:41 |
|
| |
afq | Дата: Среда, 02 Октября 2019, 12:25 | Сообщение # 7 |
Разработчик
Сейчас нет на сайте
| drcrack, пока что только определяет сетевую атаку без её предотвращения. О предотвращении я даже и не думал пока. 8it2d, нет, моя программ не является firewall. Пока она только детектирует атаки и уведомляет. Чтобы не пропускать сетевой трафик, надо писать драйвер. Либо моя программа должна взаимодействовать с iptables. Ну мне пока нужно решить задачу с тем, чтобы определяла все атаки. А дальше буду думать что делать.
|
|
| |
drcrack | Дата: Среда, 02 Октября 2019, 13:14 | Сообщение # 8 |
старожил
Сейчас нет на сайте
| Цитата drcrack, пока что только определяет сетевую атаку без её предотвращения. О предотвращении я даже и не думал пока. это просто автоматическое сканирование, ему подвержены абсолютно все белые айпи в инете никакого практического смысла в этом "определении" нет предотвратить это и вовсе невозможно, разве что комп отключить от сети
Цитата Т.е. ваша программа может проверять пакеты, пропуская только трафик от игры? программа для этой задачи уже установлена на твоем сервере — это собственно сервер твоей игры (он разбирает трафик на конкретном порту и отбрасывает то, что не имеет отношения к игре) — ваш К.О.
Сообщение отредактировал drcrack - Среда, 02 Октября 2019, 13:15 |
|
| |
afq | Дата: Среда, 02 Октября 2019, 13:50 | Сообщение # 9 |
Разработчик
Сейчас нет на сайте
| Цитата это просто автоматическое сканирование, ему подвержены абсолютно все белые айпи в инете никакого практического смысла в этом "определении" нет drcrack, вот это предложение я совсем не понял. Есть системы обнаружения и предотвращения вторжений - snort и suricata. У snort есть правила, в которых написаны виды атак, от эксплойтов до дос атак. suricata тоже использует эти правила. Моя программа тоже будет использовать правила snort, но пока умеет только мои правила определять. Да и то, только icmp пакеты. Но прикол в том, что эти системы snort и suricata умеют предотвращать вторжение, а моя программа нет. Например я обдумал как можно определить arp спуфинг. Когда я делал arp спуфинг, то жертва не видела мой комп в таблице arp адресов, так как не контачила в локальной сети. В этом случае сравнение мак адресов и arp таблицы отпадает. И вот что я подумал можно сделать, сравнивать время при получении arp пакета, если часто шлётся пакет, то это атака. Есть возможность определить ip адрес атакующего. Послать пакет с ttl 2, в итоге пакет пройдёт через роутер и попадёт на хакера, и комп хакера отправить информацию о своём ip, что ttl пакета закончилось. Но если хакер в firewall запретит ( если так можно ) отправлять о информацию о смерти пакета, то будет только известно что есть атака, но атакующего не вычислить. Ну это я опять же об определении атаки думаю, а не о предотвращении. Но в чём прикол, предотвратить атаку можно вроде только в tcp пакете, послав флаг об окончании сессии. В других случаях других пакетов можно блокировать порты для ip. Я вот думаю как сделать так, чтобы можно было и для windows и для linux нормально сделать, ну в windows вроде возможно сделать как сервис, и что вроде сервис может слать уведомления, но я не проверял. А в linux блин ( она многопользовательская ), программу надо запустать из сеанса скорее всего, чтобы программа вывела уведомление. Я пока прорабатываю этот вопрос. Надо всё грамотно сделать.
|
|
| |
drcrack | Дата: Среда, 02 Октября 2019, 14:10 | Сообщение # 10 |
старожил
Сейчас нет на сайте
| Цитата А в linux блин (она многопользовательская) А windows и другие системы нет?
|
|
| |
afq | Дата: Среда, 02 Октября 2019, 14:30 | Сообщение # 11 |
Разработчик
Сейчас нет на сайте
| Цитата А windows и другие системы нет? drcrack, да вроде windows однопользовательская. Она не разрешает нескольким пользователям подключиться к ней и запустить свой рабочил стол или хотя бы консоль от другого пользователя. В линукс я могу подключиться от другого пользователя в консоли, а в windows нельзя. вроде так.
|
|
| |
afq | Дата: Среда, 02 Октября 2019, 14:31 | Сообщение # 12 |
Разработчик
Сейчас нет на сайте
| я имею ввиду подключиться к windows по сети с другим именем пользователя и делать какие нибудь действия, - это запрещено.
|
|
| |
8it2d | Дата: Среда, 02 Октября 2019, 16:02 | Сообщение # 13 |
был не раз
Сейчас нет на сайте
| afq спасибо за ответ.
Цитата drcrack ( ) программа для этой задачи уже установлена на твоем сервере — это собственно сервер твоей игры (он разбирает трафик на конкретном порту и отбрасывает то, что не имеет отношения к игре) — ваш К.О. Это я понимаю. Сервер будет работать только с теми байтами (id и порядок байт) на прием которых я его запрограммирую.
Но подключиться на прослушку сможет же любой. Забить канал или дать нагрузку. Или как там можно навредить. Правильно? Без злого умысла спрашиваю, я еще только учусь.
Тема для меня новая.
Каюсь, нужно было погуглить что такое snort.
Но после ответов afq, стало более-менее понятно.
Если cymix сможет определять запрос-зловред (сканирование или дудос например) от других запросов. Например, запросов игры.
И изолировать атакующего, например через iptables по ip или мак-адресу (в видео говорится про мак-адрес) это-ж хорошо.
Сообщение отредактировал 8it2d - Среда, 02 Октября 2019, 16:08 |
|
| |
drcrack | Дата: Среда, 02 Октября 2019, 19:55 | Сообщение # 14 |
старожил
Сейчас нет на сайте
| Цитата я имею ввиду подключиться к windows по сети с другим именем пользователя и делать какие нибудь действия, - это запрещено. если речь об удаленном рабочем столе, то это чисто лицензионное ограничение для домашних версий (и есть способы ее от этого вылечить) также никто не мешает поставить какой-нибудь ssh сервер и работай в консоли хоть в 100 юзеров одновременно
Цитата Но подключиться на прослушку сможет же любой. что это вообще значит?
Цитата И изолировать атакующего, например через iptables по ip или мак-адресу (в видео говорится про мак-адрес) это-ж хорошо. хороший план, но если у тебя простой впс, при серьезном дудосе тебе просто хостер его отключит чтобы другим не мешал и все, добро пожаловать в реальный мир
Сообщение отредактировал drcrack - Среда, 02 Октября 2019, 19:58 |
|
| |
8it2d | Дата: Среда, 02 Октября 2019, 21:57 | Сообщение # 15 |
был не раз
Сейчас нет на сайте
| Цитата drcrack ( ) что это вообще значит? afq пишет свою систему обнаружения вторжения.
Т.е. программу которая будет анализировать трафик (целостность пакетов), на предмет например эксплойтов, и выполнять определенные действия в зависимости от обнаруженной угрозы.
Я правильно понимаю?
ARP спуфинг это перехват трафика прикинувшись звеном атакуемой сети. Т.е. свой велосипед с блэкджеком исходя из личного опыта (проблема обнаружить адрес атакующего)
Т.е. Хакеры используют связанные с протоколами уязвимости. Т.е. для этого между ним и атакуемой машиной должно быть установлено соединение(слушать/отправлять туды сюды). Верно?
Т.е. спам пакетами, snort не про это. Не про дудос. Хотя afq пишет что на этот случай меры тоже есть. Или я опять что-то путаю.
Сообщение отредактировал 8it2d - Среда, 02 Октября 2019, 22:48 |
|
| |
drcrack | Дата: Четверг, 03 Октября 2019, 00:22 | Сообщение # 16 |
старожил
Сейчас нет на сайте
| Цитата ARP спуфинг это перехват трафика прикинувшись звеном атакуемой сети. каким образом это вообще является угрозой для игрового сервера в интернете?
Цитата Т.е. для этого между ним и атакуемой машиной должно быть установлено соединение(слушать/отправлять туды сюды). Верно? неверно, есть куча протоколов без концепции "соединения" (тот же udp)
Сообщение отредактировал drcrack - Четверг, 03 Октября 2019, 00:22 |
|
| |
afq | Дата: Четверг, 03 Октября 2019, 08:38 | Сообщение # 17 |
Разработчик
Сейчас нет на сайте
| Цитата Т.е. Хакеры используют связанные с протоколами уязвимости. Т.е. для этого между ним и атакуемой машиной должно быть установлено соединение(слушать/отправлять туды сюды). Верно? 8it2d, в случае с arp устанавливать соединение не требуется. Надо лишь слать arp пакет, что твой хост это роутер, а роутеру слать arp пакет, что твой хост это жертва. И тогда отравляется таблица mac адресов и пакеты гуляют туда сюда. Но это работает только в локальной сети. Будешь в интернет кафе например, можешь чувствовать себя в безопасности. Антивирус вряд-ли в чём то поможет. Я например обдумывал кое что и это реально сделать и об этом я читал в книге. Можно перехватывать данные, и когда жертва захочет скачать программу из интернета, то она скачает не эту программу, а вирус хакера. Это делается так. В tcp пакете есть seq вроде называется, это счётчик, номер пакета, то есть он увеличивается на один при каждом получении и отправлении. Если я успею подделать пакет от отправителя ( что не сложно ), то могу и seq выставить в нужное число, и тогда реальное соединение отброситься, а пакеты хакера будут приниматься. И так ты можешь получить что угодно.
|
|
| |
afq | Дата: Четверг, 03 Октября 2019, 08:43 | Сообщение # 18 |
Разработчик
Сейчас нет на сайте
| Цитата какую конкретно проблему решает это приложение?
drcrack, знаешь, я что-то подумал, а какую проблему решает твоя игра? хахаха
|
|
| |
drcrack | Дата: Четверг, 03 Октября 2019, 10:32 | Сообщение # 19 |
старожил
Сейчас нет на сайте
| Цитата drcrack, знаешь, я что-то подумал ты не очень быстро думаешь, да?
Сообщение отредактировал drcrack - Четверг, 03 Октября 2019, 10:32 |
|
| |
afq | Дата: Четверг, 03 Октября 2019, 10:49 | Сообщение # 20 |
Разработчик
Сейчас нет на сайте
| Цитата ты не очень быстро думаешь, да?
drcrack, да. Временами, ну редко, быстро получается думать только из опыта, если есть опыт уже в чём то, то думается быстро. А так приходится обдумывать подолгу. Я даже где-то слышал что те кто долго думают, не особо умные, типа те кто быстро выбирают решение, те умные. Но блин. Мне лучше всё взвесить и обдумать хорошенько если нет в этом опыта, чем выбрать то, не обдумав. Но ты наверное не об этом спросил да?
|
|
| |
|