'
Беспалова Н.В., Гречуха Н.В.
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СЕТЕВОГО ФИЛЬТРА ДЛЯ ОС ANDROID *
Аннотация:
статья посвящена описанию методов и принципов разработки сетевого фильтра для ОС Android, предназначенной для защиты устройств под управлением ОС Android от сетевых атак. Разработанный авторами программный продукт ставит своей целью фильтрацию нежелательного трафика и ограничение доступа заданным приложениям в интернет
Ключевые слова:
программное обеспечение, алгоритм, информационные технологии
OS Android относительно новая и набирающая популярность открытая операционная система, обладающая высокой степенью уязвимости, потому что это «открытая» система, набравшая популярность и используемая на многих устройствах. Android, молодая и еще не утвердившаяся платформа, способна проявить себя на обоих концах спектра мобильных телефонов и, возможно, даже стать мостом через пропасть между работой и игрой. Так как Android является наиболее «лакомой» мобильной ОС для злоумышленников, то нет ничего удивительного в том, что всё чаще в данной платформе обнаруживаются различные уязвимости, которые позволяют получать доступ к различным аппаратным компонентам устройства, а также обходить встроенные в Android механизмы защиты. Одна из самых главных уязвимостей системы Android (в отличие от той же iOS) возможность устанавливать не только рекомендуемые производителем ОС (например, Google Play) приложения, но и любые другие, только лишь предупреждая пользователя, к каким именно ресурсам будет иметь доступ устанавливаемая программа. Пользователи и на эти сообщения, в общем-то, мало обращают внимания, а, если и их не будет – всё для кибер-преступников станет на порядок проще. Сегодня многие сетевые или поддерживающие сеть устройства работают на том или ином варианте ядра Linux. Это солидная платформа: недорогая в развертывании и поддержке и хорошо принимаемая благодаря удобному подходу к развертыванию. Пользовательский интерфейс таких устройств зачастую основан на HTML и может просматриваться с помощью браузера для РС или Mac. Но не всяким устройством нужно управлять посредством компьютера. Целью данной работы является разработка программного обеспечения сетевого фильтра для OS Android. Разработанный программное обеспечение, работает под ОС Android 4.0 и выше. Преимуществом предложенного программного обеспечения является простота и наглядность в использовании, удобство интерфейса. Данное приложение позволяет выборочно заблокировать доступ приложений к интернету, что существенно экономит мобильный трафик и зарядку. Приложение построено для OS Android с обращением к стандартным средствам ядра Iptables/Netfilter. Мобильное приложение состоит из нескольких файлов описания пользовательского интерфейса в формате XML и нескольких программных модулей Java. Во время выполнения ПО файлы описания загружаются и на их основе происходит построение пользовательского интерфейса. На рисунке 1 изображены модули программы и XML файлы, загружаемые модулями. При запуске активность указывает, в каком XML файле описан ее интерфейс, после чего он будет отображен. На рисунке отображена взаимосвязь между активностями и файлами описания пользовательского интерфейса, предназначенными для использования соответствующей активностью Модуль MainActivity является точкой входа в программу. С него начинается её выполнение. Активность отображает интерфейс, с помощью которого можно выбрать, к какому пункту перейти. Модуль RulesDialog предоставляет пользователю создание, выбор из созданных и и удаление правил приложения. Модуль UserSettings предназначен для отображения настроек приложения и взаимодействия с ними. Модуль NfloService реализовывает функцию журналирования и ее отображение. Модуль PassDialog нужен для реализации функции защиты приложения паролем Разработанное программное обеспечение это GUI-оболочка над IPTables. А IPTables - это утилита командной строки, которая даёт возможность управлять работой межсетевого экрана NetFilter для ядер Linux. Иногда брандмауэром называют и IPTables, но это не так. Для использования утилиты IPTables необходимы права суперпользователя; отсюда проистекают и требования к рутованности Android-устройства. Приложение формирует скрипт со специальными командами, и далее этот скрипт запускается с помощью IPTables с правами суперпользователя. При отсутствии root скрипт не будет выполнен. Обращается ПО к IPTables первый раз при загрузке Android , а затем при добавлении или удалении приложений или при изменении правил. В экосистеме Linux iptables является широко используемым инструментом брандмауэра, который взаимодействует с инфраструктурой фильтрации пакетов ядра netfilter. Базовое программное обеспечение брандмауэра, наиболее часто используемое в Linux, называется iptables. Брандмауэр iptables работает, взаимодействуя с хуками фильтрации пакетов в сетевом стеке ядра Linux. Эти хуки ядра известны как инфраструктура netfilter. Каждый пакет, который входит в сетевую систему (входящий или исходящий), будет вызывать эти перехватчики по мере прохождения через стек, позволяя программам, которые регистрируются с этими перехватчиками, взаимодействовать с трафиком в ключевых точках. Модули ядра, связанные с iptables, регистрируются на этих хуках, чтобы гарантировать, что трафик соответствует условиям, изложенным правилами брандмауэра. Алгоритм работы Netfilter/iptables показан на рисунке 2
Номер журнала Вестник науки №6 (39) том 4
Ссылка для цитирования:
Беспалова Н.В., Гречуха Н.В. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СЕТЕВОГО ФИЛЬТРА ДЛЯ ОС ANDROID // Вестник науки №6 (39) том 4. С. 89 - 98. 2021 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/4671 (дата обращения: 05.12.2024 г.)
Вестник науки СМИ ЭЛ № ФС 77 - 84401 © 2021. 16+
*