Н.Н. Самарин, Н.Д. Кротов
Постановка проблемы. Актуальность данной работы обусловлена растущим количеством сетевых атак, направленных на сетевые интерфейсы. Согласно данным на ноябрь 2021 г., 38,9% всех существующих веб-серверов используют операционные системы (ОС) семейства Linux. Одним из способов выявления уязвимостей на этапе тестирования является фаззинг-тестирование, представляющее собой динамический анализ, в ходе которого для тестируемого компонента производится модификация входных параметров. Современные средства сетевого фаззинг-тестирования показывают удовлетворительные результаты, однако углубленное изучение принципов их работы в совокупности с научным подходом могут в значительной мере повысить их эффективность.
Цель. Представить новый подход к фаззинг-тестированию сетевых интерфейсов ОС семейства Linux с применением технологии аппаратной виртуализации.
Результаты. Проанализированы результаты исследований в области обеспечения безопасности ядра Linux. Рассмотрена архитектура сетевого ядра стека Linux и представлен подход к его фаззинг-тестированию.
Практическая значимость. Полученные результаты могут быть использованы как в качестве основы для проектирования механизмов динамического анализа, так и для проведения исследований киберзащищенности реализации сетевого стека ядра Linux.
Самарин Н.Н., Кротов Н.Д. Подход к фаззинг-тестированию сетевых интерфейсов операционных систем семейства Linux с использованием технологии аппаратной виртуализации // Радиотехника. 2024. Т. 88. № 2. С. 45−52. DOI: https://doi.org/10.18127/j00338486-202402-07
- Актуальные киберугрозы: I квартал 2021 года fuzzer [Электронный ресурс]. URL: https://www.ptsecurity.com/ru-ru/rese-arch/analytics/cybersecurity-threatscape-2021-q1/. (дата обращения: 03.10.2023).
- Seth S., Venkatesulu M.A. TCP/IP architecture, design and implementation in Linux. New York. NY, USA: Wiley. 2008.
- Networking Stack [Электронный ресурс]. URL: https://www.sciencedirect.com/topics/computer-science/networking-stack. (дата обращения: 03.10.2023).
- Linux networking stack from the ground up [Электронный ресурс]. URL: https://www.privateinternetaccess.com/blog/linux-net-working-stack-from-the-ground-up-part-1/. (дата обращения: 03.10.2023).
- Anatomy of the Linux network stack: From socket to device driver [Электронный ресурс]. URL: https://programmer-sought.com/article/80461736380/. (дата обращения: 03.10.2023).
- Krasnyansky M., Yevmenkin M. Universal TUN/TAP device driver //URL: http://www. kernel. org/pub/linux/kernel/, FILE: people/marcelo/linux-2.4/Documentation/networking/tuntap. txt. 2007.
- Lu K., et al. Unleashing Use-Before-Initialization Vulnerabilities in the Linux Kernel Using Targeted Stack Spraying // NDSS. 2017.
- Tan Z., Lu H. A Systemic Review of Kernel Fuzzing //Proceedings of the 2020 International Conference on Cyberspace Innovation of Advanced Technologies. 2020. Р. 283-289.
- Shi H., et al. Industry practice of coverage-guided enterprise linux kernel fuzzing // Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 2019. С. 986-995.
- Kim K., et al. HFL: Hybrid Fuzzing on the Linux Kernel // NDSS. 2020.
- Pailoor S., Aday A., Jana S. Moonshine: Optimizing {OS} fuzzer seed selection with trace distillation //2 7th {USENIX} Security Symposium ({USENIX} Security 18). 2018. Р. 729-743.
- Li D., Chen H. FastSyzkaller: Improving fuzz efficiency for linux kernel fuzzing // Journal of Physics: Conference Series. IOP Publishing. 2019. V. 1176. № 2. Р. 022013.
- Schumilo S., et al. Nyx-Net: Network Fuzzing with Incremental Snapshots //arXiv preprint arXiv:2111.03013. 2021.
- Aschermann C., et al. Ijon: Exploring deep state spaces via fuzzing // 2020 IEEE Symposium on Security and Privacy (SP). IEEE, 2020. Р. 1597-1612.
- Song D., et al. Agamotto: Accelerating kernel driver fuzzing with lightweight virtual machine checkpoints // 29th {USENIX} Security Symposium ({USENIX} Security 20). 2020. Р. 2541-2557.
- Schumilo S., et al. HYPER-CUBE: High-Dimensional Hypervisor Fuzzing // NDSS. 2020.
- Pan J., Yan G., Fan X. Digtool: A virtualization-based framework for detecting kernel vulnerabilities // 26th {USENIX} Security Symposium ({USENIX} Security 17). 2017. Р. 149-165.
- Schumilo S., et al. kafl: Hardware-assisted feedback fuzzing for {OS} kernels //26th {USENIX} Security Symposium ({USENIX} Security 17). 2017. Р. 167-182.
- Carabas C., Carabas M. Fuzzing the Linux kernel // 2017 Computing Conference. IEEE. 2017. Р. 839-843.
- Духан Е.И., Воеводин С.В., Сазонов В.Ю., Звежинский С.С. Обобщенная методика оценки потенциальных характеристик средств обнаружения на основе метода машинного эксперимента // Радиотехника. Т. 86. № 1. 2022. С. 41-48. DOI: https://doi.org/10.18127/j00338486-202201-07.