Пакетный инжектор
Пакетный инжектор (спуфинг пакетов, подделка пакетов, внедрение пакетов), в области компьютерных сетей — процесс воздействия или вмешательства в существующее установленное сетевое соединение путём создания пакетов данных, которые маскируются под стандартный поток информации. Процесс позволяет неизвестному злоумышленнику перехватывать пакеты, передаваемые между согласованными сторонами, что может привести к ухудшению или блокировке возможности пользователей использовать определённые сетевые сервисы или протоколы передачи данных. Пакетный инжектор, как метод, часто применяется в атаках типа «человек посередине» и «отказ в обслуживании»[1].
Возможности
[править | править код]Сырые сокеты позволяют напрямую управлять сетевыми пакетами, минуя стандартные протоколы ОС. Функции NDIS обеспечивают взаимодействие с сетевыми драйверами. Драйверы режима ядра дают полный контроль над сетевым адаптером. Что позволяет создавать и отправлять в компьютерную сеть произвольные пакеты для различных протоколов передачи данных (например, ICMP, TCP, UDP), контролируя заголовок IP-пакета для точной настройки передачи данных[2].
Общая последовательность действий
[править | править код]Пример[3]:
- Инициализация сырого сокета, который позволяет отправлять пакеты на сетевом уровне без предварительной обработки операционной системой.
- Формирование заголовка Ethernet в памяти, который содержит информацию о MAC-адресах отправителя и получателя, а также типе протокола.
- Генерация заголовка IP в памяти, включающего версию IP-протокола, длину заголовка, тип сервиса, общую длину пакета, идентификатор, флаги, смещение фрагмента, время жизни (TTL), протокол и контрольную сумму.
- Создание заголовка транспортного протокола (TCP или UDP), который включает порты отправителя и получателя, номера последовательности, подтверждения, длину заголовка, флаги, размер окна, контрольную сумму и указатель на срочные данные.
- Подготовка данных, которые будут внедрены в пакет, например, полезная нагрузка или сообщение.
- Сборка заголовков и данных вместе для формирования инъекционного пакета, конкатенация заголовков и данных в единый пакет для инъекции.
- Вычисление правильных контрольных сумм пакетов IP и TCP или UDP, для обеспечения целостности данных при передаче.
- Отправка пакета на сырой сокет, то есть передача сформированного пакета через сырой сокет для отправки в конечную вычислительную сеть.
Использование
[править | править код]Пакетный инжектор используется для[4]:
- Нарушение работы ряда сервисных служб (совместное использование файлов или HTTP) интернет-провайдеров и точек беспроводного доступа[5][6]
- Компрометация точек беспроводного доступа, обход безопасности или взлом
- Использование специфического функционала в онлайн-играх
- Определение наличия интернет-цензуры
- Позволяет разработчикам пользовательских пакетов тестировать свои собственные пакеты, размещая их непосредственно в вычислительной сети
- Моделирование сетевого трафика[англ.]
- Моделирование специфического сетевого трафика и пользовательских сценариев
- Тестирование сетевых межсетевых экранов и систем обнаружения вторжений
- Аудит вычислительной сети и устранение неполадок, связанных с вычислительной сетью
Обнаружение пакетного инжектора
[править | править код]При анализе сетевого трафика с помощью устройств, называемых анализатор трафика или сниффер, на обоих точках доступа сетевых служб, которые пытаются установить связь, можно сравнить результаты. Если в журнале на точке А нет записей об отправке определённых пакетов, которые появляются в журнале на точке В, и наоборот, то несоответствия в журналах пакетов указывают на то, что эти пакеты были подделаны и внедрены посредством промежуточной точки доступа. Обычно для нарушения связи на обе точки доступа отправляется сброс TCP[6][7][8].
Программное обеспечение
[править | править код]- lorcon, часть Airpwn
- KisMAC
- Pcap (Packet Capture)
- Winsock
- CommView для генератора пакетов Wi-Fi
- Scapy
- Предустановленное программное обеспечение в Kali Linux (предшественником был BackTrack)
- NetHunter (Kali Linux для Android)
- HexInject
- Aircrack-ng
См. также
[править | править код]Внешние ссылки
[править | править код]Примечания
[править | править код]- ↑ Qi Alfred Chen, Zhiyun Qian, Yunhan Jack Jia, Yuru Shao, Zhuoqing Morley Mao. Static Detection of Packet Injection Vulnerabilities: A Case for Identifying Attacker-controlled Implicit Information Leaks // Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. — New York, NY, USA: Association for Computing Machinery, 2015-10-12. — С. 388–400. — ISBN 978-1-4503-3832-5. — doi:10.1145/2810103.2813643.
- ↑ Abdullah Soliman Alshra'a, Jochen Seitz. Using INSPECTOR Device to Stop Packet Injection Attack in SDN // IEEE Communications Letters. — 2019-07. — Т. 23, вып. 7. — С. 1174–1177. — ISSN 1089-7798. — doi:10.1109/LCOMM.2019.2896928.
- ↑ M.J Anagha, Rakesh Lepakshi, V Goutham, V Thavish, T G Keerthan Kumar. Packet Injection and Dos Attack Controller Software(PDACS) Module to Handle Attacks in Software Defined Network. — IEEE, 2020-03. — С. 966–970. — ISBN 978-1-7281-4889-2. — doi:10.1109/ICCMC48092.2020.ICCMC-000179.
- ↑ Lilian C. Mutalemwa, Seokjoo Shin. Comprehensive Performance Analysis of Privacy Protection Protocols Utilizing Fake Packet Injection Techniques // IEEE Access. — 2020. — Т. 8. — С. 76935–76950. — ISSN 2169-3536. — doi:10.1109/ACCESS.2020.2989434.
- ↑ Gu, Qijun. Defending against packet injection attacks unreliable ad hoc networks // GLOBECOM '05. IEEE Global Telecommunications Conference, 2005 : [англ.] / Qijun Gu, Peng Liu, Sencun Zhu … [et al.]. — November 2005. — Vol. 3. — P. 5 pp.–. — ISBN 0-7803-9414-3. — doi:10.1109/GLOCOM.2005.1577966.
- ↑ 1 2 Packet Forgery by ISPs: A Report on the Comcast Affair (28 ноября 2007).
- ↑ Detecting packet injection: A guide to observing packet spoofing by ISPs (27 ноября 2007).
- ↑ Weaver, Nicolas; Sommer, Robin; Paxson, Vern (September 2009). Detecting forged TCP reset packets (PDF). Proceedings of the Network and Distributed System Security Symposium, NDSS 2009, 8th February - 11th February 2009. San Diego, California, USA.