Каким образом человек в середине атаки может быть инициирован?
Я создаю программу службы чата, которая следует парадигме сервер / клиент. Эта программа чата существует как сервер чата и клиент чата, и пользователь может либо разместить чат (и он подключит свой клиент к этому серверу), либо он может присоединиться к существующему.
Клиенты подключаются через прямой IP-адрес, который ему скажет другой пользователь, например, полученный с whatismyip.com, и указанный номер порта.
В любое время в этой программе чата один пользователь может отправить файл другому пользователю. Это инициируется тем, что сервер запрашивает установление рукопожатия между двумя пользователями, когда пользователь A передает свой IP через сервер пользователю B, а пользователь B вызывает новую услугу, которую пользователь A создал для передачи файлов. Это исключает исходный чат-сервер, и пользователи подключаются через прямой IP-протокол по протоколу nettcp.
Во время этой передачи файлов файлы зашифровываются с помощью AES после первоначальной отправки секретного ключа AES с использованием шифрования RSA.
Я хочу знать, каким образом кто-то может инициировать человека в середине атаки здесь. Очевидно, я вижу недостаток в передаче IP-адреса через сервер другому пользователю, но сейчас я не вижу другого пути, поскольку сервер не может получить IPV4 отправителя.
Работает ли человек в средней атаке, может ли он видеть, что эти два пользователя передают файлы, и каким-то образом извлекать поток данных к себе с обоих концов? Может ли он сделать это на уже продолжающемся сеансе передачи файлов?
Я пытаюсь понять, как работают атаки MITM, чтобы понять, могу ли я защитить свою программу от таких атак... но если единственный надежный способ сделать это - использовать центр сертификации (о котором я все еще учусь) о), пожалуйста, скажи мне это.
2 ответа
Работает ли человек в средней атаке, может ли он видеть, что эти два пользователя передают файлы, и каким-то образом извлекать поток данных к себе с обоих концов? Может ли он сделать это на уже продолжающемся сеансе передачи файлов?
Вам необходимо определить модель угрозы. Обычными подозреваемыми являются вставка, удаление, подделка и изменение порядка сообщений. Иногда злоумышленнику нужно лишь подделать сообщение, чтобы вы поступили неправильно. Например, ему / ей может понадобиться немного перевернуть, поэтому "перевод 100 долларов с А на В" изменится на "перевод 900 долларов с А на В". В этом случае злоумышленнику не нужно было находиться посередине или расшифровывать сообщение.
Я пытаюсь понять, как работают атаки MITM, чтобы понять, могу ли я защитить свою программу от таких атак... но если единственный надежный способ сделать это - использовать центр сертификации (о котором я все еще учусь) о), пожалуйста, скажи мне это.
Вместо того чтобы пытаться разработать защищенный протокол, возможно, вы могли бы использовать уже существующий протокол, который решает ваши проблемы.
Этот протокол будет Z-протоколом реального времени (ZRTP). Протокол указан в RFC 6189, ZRTP: Соглашение о ключе пути мультимедиа для одноадресной защищенной RTP.
ZRTP - это протокол обмена ключами, который включает короткие строки аутентификации (SAS) для защиты MitM. По сути, SAS является голосовой аутентификацией, которую необходимо выполнить только один раз. Вы можете пропустить проверку SAS, хотя это не рекомендуется. Если вы пропустите проверку, и плохой парень не атакует, тогда все в порядке для текущих и будущих сессий.
После того, как вы установили свой первый защищенный канал без состязательного вмешательства, все будущие сеансы будут безопасными, поскольку согласование ключей для текущего сеанса зависит от предыдущих сеансов. И самый ранний сеанс (первый сеанс), как известно, является безопасным.
ZRTP также обеспечивает прямую секретность, поэтому компрометация текущего сеанса не влияет на безопасность предыдущих сеансов.
ZRTP не требует сертификационных органов или других (не) доверенных третьих сторон.
Д-р Мэтью Грин ведет блог о ZRTP на своем сайте по разработке криптографии в " Давайте поговорим о ZRTP".
Чтобы ответить на ваш вопрос о MitM, слишком много ответов для переполнения стека. Отличная бесплатная книга - " Безопасность инженеров Питера Гутмана". MitM иногда является целью атакующего, но это не единственный его вектор. Книга Гутмана рассматривает ряд угроз, то, как люди действуют и реагируют, почему злоумышленники добиваются успеха и как решить многие проблемы.
После более продолжительного поиска я нашел эту замечательную ссылку, объясняющую различные типы MITM-атак, а также то, как они работают и выполняются в мельчайших деталях.
http://www.windowsecurity.com/articles/Understanding-Man-in-the-Middle-Attacks-ARP-Part1.html
Всего четыре части.