Машиностроение и компьютерные технологии. 2017; : 45-56
Метод перехвата исходящих и входящих сетевых пакетов
Филиппов М. В., Рязанова Н. Ю., Рязанцев Б. И.
https://doi.org/10.24108/1217.0001344Аннотация
В связи с быстрорастущими объемами информации, передаваемой по компьютерным сетям, обеспечение информационной безопасности локальных сетей, связанных с глобальными сетями, становится важнейшей задачей. Одним из аспектов обеспечения информационной безопасности является контроль и фильтрация сетевого трафика путем перехвата исходящих и входящих сетевых пакетов. Эта задача решается с помощью межсетевых экранов. В ядро Linux 2.4.x был включен межсетевой экран Netfilter и утилита iptables, которые позволяют анализировать только заголовки пакетов и принадлежность пакетов к определенным сетевым соединениям. Кроме того практика переписывания кодов ядра Linux усложняет сопровождение программного обеспечения, разработанного под этот межсетевой экран.
В статье предлагается метод перехвата сетевых пакетов, основанный непосредственно на структурах и функциях ядра, поэтому он не имеет ограничений, связанных с функциональностью, присущей Netfilter/iptables. Для перехвата используются структура ядра struct net_device, описывающая сетевое устройство, и структура struct net_device_ops, в которой перечислены возможные на сетевом устройстве операции, и две функции: ndo_start_xmit, используемая для обработки исходящих пакетов, и rx_handler — для обработки входящих пакетов. Эти функции переписываются с целью включения в ядро новой функциональности, удовлетворяющей запросам пользователей. Использование структур и функций ядра обеспечивает нужную стабильность, универсальность и возможность адаптации разработанного программного обеспечения к таким запросам пользователей, как анализ содержания передаваемых в пакетах данных, их шифрование и дешифрирование. Предложенный метод может использоваться для создания межсетевых экранов следующего поколения, реализующих технологии глубокого анализа пакетов, и как дополнение к существующим межсетевым экранам.
Список литературы
1. Чемодуров А.С., Карпутина А.Ю. Защита интернет-шлюза и фильтрация сетевого трафика корпоративной сети // Научно-методический электронный журнал «Концепт». 2015. № 1. С. 96 100.
2. Орлов С. Межсетевые экраны: расширение функционала // Журнал сетевых решений LAN. 2013. № 6. C. 44 49.
3. Lowth Ch. The hidden treasures of iptables. Режим доступа: http://www.linuxjournal.com/article/7180 (дата обращения 31.10.17).
4. Sourceware tracking system. Error Description 16476. Режим доступа: https://sourceware.org/bugzilla/show_bug.cgi?id=16476 (дата обращения 31.10.17).
5. Corbet J., Rubini A., Kroah Hartman G. Linux devices drivers. 3rd ed. Sebastopol: O’Reilly Media Inc., 2005. 615 p.
6. Linux kernel source tree. Режим доступа: https://github.com/torvalds/linux (дата обращения 31.10.17).
7. International standard ISO/IEC 9899:TC3. Programming languages C. Режим доступа: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf (дата обращения 31.10.17).
8. Benvenuti C. Understanding Linux network internals. Sebastopol: O’Reilly Media Inc., 2006. 1035 p.
9. Синицын В. Межсетевой экран Linux. Взгляд изнутри // Системный администратор. 2012. № 12(121). С. 20 27.
10. netif_receive_skb - process receive buffer from network. Driver support. Режим доступа: https://www.kernel.org/doc/htmldocs/networking/API-netif-receive-skb.html (дата обращения 31.10.17).
11. Rosen R. Linux Kernel networking: Implementation and theory. N.Y.: Apress, 2014. 612 с.
Mechanical Engineering and Computer Science. 2017; : 45-56
The Outgoing and Incoming Network Packets Intercepting Method
Filippov M. V., Ryazanova N. Yu., Ryazantsev B. I.
https://doi.org/10.24108/1217.0001344Abstract
In connexion with the rapidly growing computer network information capacities, information security of local networks connected with global networks becomes a critical challenge. One of the information security aspects is to control and filter the network traffic by intercepting the incoming and outgoing network packets. This is accomplished owing to firewalls. The Linux kernel 2.4.x included the Netfilter firewall and the iptables utility, which allow us to analyse only the packets headers and their pertaining to specific network connections. In addition, the practice of rewriting the Linux kernel codes complicates the maintenance of the software targeting for this firewall.
The article proposes a network packet intercepting method based directly on the structures and functions of the kernel, so it has no restrictions associated with the inherent Netfilter/iptables functionality. To provide intercepting, are used the struct net_device structure of the kernel that describes a network device and the struct net_device_ops structure that lists operations possible on the network device and two functions: ndo_start_xmit and rx_handler used to process outgoing and incoming packets, respectively. These functions are rewritten in order to include new functionality into the kernel to meet the users’ requests. The use of the structures and functions of the kernel provides desirable stability, versatility, and adaptive capability of the developed software for users’ requests such as content analysis of data transmitted in packets, their encryption and decryption. The proposed method can be used to create firewalls of the next-generation to implement technology of deep packet inspection, as well as a complement to the available firewalls.
References
1. Chemodurov A.S., Karputina A.Yu. Zashchita internet-shlyuza i fil'tratsiya setevogo trafika korporativnoi seti // Nauchno-metodicheskii elektronnyi zhurnal «Kontsept». 2015. № 1. S. 96 100.
2. Orlov S. Mezhsetevye ekrany: rasshirenie funktsionala // Zhurnal setevykh reshenii LAN. 2013. № 6. C. 44 49.
3. Lowth Ch. The hidden treasures of iptables. Rezhim dostupa: http://www.linuxjournal.com/article/7180 (data obrashcheniya 31.10.17).
4. Sourceware tracking system. Error Description 16476. Rezhim dostupa: https://sourceware.org/bugzilla/show_bug.cgi?id=16476 (data obrashcheniya 31.10.17).
5. Corbet J., Rubini A., Kroah Hartman G. Linux devices drivers. 3rd ed. Sebastopol: O’Reilly Media Inc., 2005. 615 p.
6. Linux kernel source tree. Rezhim dostupa: https://github.com/torvalds/linux (data obrashcheniya 31.10.17).
7. International standard ISO/IEC 9899:TC3. Programming languages C. Rezhim dostupa: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf (data obrashcheniya 31.10.17).
8. Benvenuti C. Understanding Linux network internals. Sebastopol: O’Reilly Media Inc., 2006. 1035 p.
9. Sinitsyn V. Mezhsetevoi ekran Linux. Vzglyad iznutri // Sistemnyi administrator. 2012. № 12(121). S. 20 27.
10. netif_receive_skb - process receive buffer from network. Driver support. Rezhim dostupa: https://www.kernel.org/doc/htmldocs/networking/API-netif-receive-skb.html (data obrashcheniya 31.10.17).
11. Rosen R. Linux Kernel networking: Implementation and theory. N.Y.: Apress, 2014. 612 s.
События
-
К платформе Elpub присоединился журнал «The BRICS Health Journal» >>>
10 июн 2025 | 12:52 -
Журнал «Неотложная кардиология и кардиоваскулярные риски» присоединился к Elpub >>>
6 июн 2025 | 09:45 -
К платформе Elpub присоединился «Медицинский журнал» >>>
5 июн 2025 | 09:41 -
НЭИКОН принял участие в конференции НИИ Организации здравоохранения и медицинского менеджмента >>>
30 мая 2025 | 10:32 -
Журнал «Творчество и современность» присоединился к Elpub! >>>
27 мая 2025 | 12:38