Архітектурні рішення мережевого екранування в операційнихсистемах Android та iOS: порівняльний аналіз рівнів ядра,системних розширень та застосунка
Main Article Content
Анотація
Стаття присвячена порівняльному аналізу архітектурних рішень, що лежать в основі мережевого екранування в операційних системах Android та iOS. Актуальність дослідження зумовлена домінуючим становищем цих двох операційних систем на ринку мобільних комунікаційних пристроїв і принциповими відмінностями їх архітектурної організації, що визначають можливості та обмеження сторонніх засобів контролю мережевих з'єднань. Встановлено, що архітектура мережевого екранування операційної системи Android на основі модуля Netfilter/iptables і технології extended Berkeley Packet Filter достатньо детально висвітлена у наукових публікаціях, тоді як архітектура мережевого екранування операційної системи iOS, а саме фреймворк NetworkExtension (разом із системним пакетним фільтром PF ядра XNU та тунельним інтерфейсом utun) розглядаються існуючими дослідженнями лише фрагментарно, у загальному ряду характеристик безпеки, без виділення як самостійного предмета аналізу. Для усунення виявленої прогалини виконано послідовну декомпозицію архітектур обох операційних систем на порівнюємі рівні – ядро, системні служби та розширення, користувацький застосунок. Показано, що мережевий екран операційної системи Android реалізується трьома архітектурними моделями. На основі Netfilter/iptables/eBPF, на основі eBPF у складі платформи Android Open Source Project та на основі непривілейованого програмного інтерфейсу VpnService. Тоді як в операційній системі iOS функції мережевого екрана розподілені між конфігураційними та виконавчими модулями фреймворку NetworkExtension (NEFilterManager, NEFilterProviderConfiguration, NEFilterDataProvider, NEFilterControlProvider), а застосування вердиктів здійснюється через системний тунельний інтерфейс utun. Визначено, що архітектурні відмінності між операційними системами виявляються на трьох рівнях. Відкритості ядра, кількості та спеціалізації точок розширення для сторонніх розробників і моделі ізоляції виконання фільтрувального коду. Спільним для обох операційних систем обмеженням виступає неможливість одночасної роботи декількох незалежних мережевих фільтрів. Запропонована декомпозиційна модель яка симетрично відображає архітектуру мережевого екранування обох операційних систем на порівнюваних рівнях. Отримані результати декомпозиції архітектур формують основу для подальшої розробки єдиної методології та системи критеріїв порівняльного аналізу мережевих екранів операційних систем Android та iOS.

