Оценка защищенности приложений от хакерских атак
студент 3 курса, напр. «Информационная безопасность», профиль спец. «Организация технологии защиты информации»
В.Р. Омаргаджиев
Аннотация: в наше время существует множество хакерских атак, и это связано прежде всего с развитием информационных технологий. Общедоступные приложения являются мишенью для злоумышленников. Но не стоит на месте и информационная безопасность, разрабатывая новые методы борьбы с хакерскими атаками на приложения.
Ключевые слова: веб- приложение, нативное приложение, мобильное приложение, гибридное приложение, приложение, пентест.
Актуальность связана прежде всего с тем, что рост числа небезопасных устройств Интернета- вещей увеличился. Атаки на приложения- атаки, которые проводятся легко, т.к. вход в систему производится без особых усилий.
Цель работы: сравнить мобильные приложения на количество уязвимостей и составить рекомендации по защите от атак, выявить самое защищенное приложение.
Мобильные телефоны — самый популярный способ подключения к сети. В 2023 году при использовании сетей 2G, 3G и 4G использовалось 84,5 экзабайта мобильных данных в месяц. Статистика использования мобильных устройств для выхода в сеть «Интернет» составляет 65.65 % по сравнению с другими устройствами, что изображено на Рисунок 1
Рисунок 1- Используемый мобильный трафик на разных устройствах
Существует множество классификаций приложений. Но есть одна классификация, которая точно описывает приложения. По особенностям работы мобильные приложения делятся на три типа:
Нативные приложения: используются для работы наiOS и Android и предназначены исключительно для работы на мобильных устройствах. Написаны они на разных языках программирования. Например, для Android этим языком является Java или Kotlin, а для iOS-objective-C или Swift. Доступ к приложениям осуществляется просто: достаточно на мобильном устройстве нажать на соответствующую приложению иконку. Они устанавливаются с помощью встроенного магазина мобильных приложений (GooglePlayMarket на Android,AppStore на iOS). Приложения разработаны для конкретной операционной системы и могут использовать все возможности устройства но при наличии разрешения. В зависимости от предназначения нативное приложение может полностью в режиме онлайн или офлайн.
Веб- приложения: на самом деле не являются приложениями как таковыми. В сущности, они представляют собой сайты, которые адаптированы и оптимизированы под любой смартфон и похожи на нативное приложение. Для того, чтобы использовать его надо использовать браузер. Запуская веб-приложение, пользователь выполняет все те действия, которые он выполняет при переходе на любой веб-сайт, а также получает возможность «установить» их на свой рабочий стол, создав закладку страницы веб-сайта. Веб- приложения способны функционировать на любой платформе. Главным недостатком является то, что такие приложения нельзя использовать без интернета. Еще одним недостатком является то, что их производительность находится на среднем уровне по сравнению с другими. Но веб-приложения не могут получить доступ к функциям системы и самого устройства.
Гибридные приложения: это веб-приложение в обертке нативного приложения, что служит контейнером для отображения веб-приложения через встроенный упрощенный браузер (webview в Android (Chrome webview в последней версии) и WKWebView в iOS). Нативная сторона приложения дает преимущества нативного приложения: доступ к функциям устройства, иконка на рабочем столе и т.д., а сторона веб- приложения- кроссплатформенность и простоту обновления контента.
Самые популярные уязвимости приложений являются небезопасное хранение пользовательских данных и данных приложения. Для их возникновения разработчику даже не нужно ничего делать — достаточно просто сохранять конфиденциальную информацию в незашифрованном виде. Некоторые разработчики, думая о безопасности, сохраняют такие данные во внутренней директории приложения — так называемой песочнице. Но в ряде случаев этого оказывается недостаточно. Для того, чтобы обезопаситься, надо разработчику зашифровать данные.Еще один, не менее интересный тип уязвимостей — отсутствие контроля целостности исполняемых файлов и защиты от модификации. Здесь разработчику тоже достаточно ничего не делать и, соответственно, никакой защиты не будет. Это позволит злоумышленникам модифицировать исходное приложение и распространять его под видом оригинального. Для того, чтобы защититься от этих модификаций можно попробовать написать механизмы защиты самостоятельно, но для этого потребуются особые знания.
Общедоступные веб- приложения являются легкой мишенью для злоумышленников и выгодной, т.к. эти приложения менее защищены чем нативные приложения, ведь эти приложения могут хранить в себе важные данные компании, в том числе и конфиденциальную информацию. И тому подтверждением, что веб- приложения являются легкой мишенью является проведение пентеста на веб- приложенияPositiveTechologies. Статистика изображена на Рисунок 2.
Рисунок 2- Попытки проникновения в веб- приложения(пентест)
Атаки можно разделить на те, которые направлены на клиентскую сторону, и те, которые направлены на серверную. Но это распределение условно, ведь есть атаки, которые направлены и на клиент, и на сервер. А некоторые атаки направлены на сервер, но реализуются на клиенте. Например, взлом базы данных, когда злоумышленник через поля ввода добирается до информации о базе данных.
MITM — группа атак с участием посредника, когда злоумышленник тайно вмешивается в обмен данными, чтобы получить или изменить информацию. К таким атакам относятся XSS-атаки и SQL-инъекции.
XSS-атаки — попытка захвата данных, когда злоумышленник внедряет собственный JavaScript-код в веб-приложение и затем использует в личных целях. Такую атаку используют, чтобы захватить учётные записи, украсть личные данные, выдать себя за пользователей или получить доступ к информации.
SQL-атака — атака на базу данных веб-приложения. При работе с базой разработчики используют SQL-запрос. Когда хакер добавляет к таким запросам вредоносный код, происходит SQL-атака, или SQL-инъекция.
CSRF-атака — подделка межсайтовых запросов. При атаке пользователя обманом заставляют делать в веб-приложении то, что он не хотел. Например, пользователя переводят на поддельный сайт, чтобы он перевёл деньги киберпреступнику или ввёл логин и пароль.
DoS и DDoS-атаки — попытка вывести веб-приложение из строя. Такие атаки происходят через настолько большой поток трафика, что веб-приложение не может его обработать и выходит из строя. DoS-атака организовывается с одного источника, а DDoS — с двух и более.
Атаки с загрузкой файлов — попытка получить информацию или нарушить работу веб-приложения, когда злоумышленник отправляет файл с вредоносным кодом через поле для загрузки.
Манипуляция URL — изменение URL в адресной строке браузера. Если веб-приложение не защищено, то злоумышленник добирается до приватной информации, например, личных данных или сведений о заказанных товарах. Ещё к этой атаке относится поиск страниц, скрытых от пользователей.
Для того, чтобы защитить веб-приложение нужно:
Защищать и валидировать поля ввода.
Создавать системы с авторизацией.
Подключите WAF — брандмауэры веб-приложений.
Защищать cookies.
Защищать файлы при загрузке.
Гибридные приложения объединяют в себе уязвимости нативных и веб- приложений. Но при этом из- за того, что у них есть нативный «фундамент», то они по уровню безопасности находятся ниже, чем нативные приложения, но выше, чем веб- приложения. Для гибридного приложения также подходят меры безопасности, что и при нативных и веб- приложениях
Таким образом, проанализировав мобильные приложения, можно сделать вывод о том, что наибольшее количество уязвимостей имеет веб- приложение, т.к. оно состоит из клиентской и серверной части. Также были подобраны меры безопасности для мобильных приложений.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
AppSec-Services-BB-rus. Сервисы PositiveTechnologies по оценке защищенности приложений [Электронный ресурс] URL: https://www.ptsecurity.com/upload/corporate/ru-ru/solutions/application-security/AppSec-Services-BB-rus.pdf
Html-academy. Как защитить приложение от хакеров [Электронный ресурс] URL: https://htmlacademy.ru/blog/soft/web-security
Web-Applications-Attacks-rus. Атаки на веб- приложение[Электронный ресурс] URL:https://www.ptsecurity.com/upload/corporate/ru-ru/analytics/Web-Applications-Attacks-rus.pdf
App-master. Виды приложений [Электронный ресурс]URL: https://appmaster.io/university/ru/course-library/crash-course-101/vidy-prilozhenij
Adalo. Какой тип приложений следует создавать: Прогрессивные веб-приложения против нативных приложений [Электронный ресурс] URL: https://ru.adalo.com/posts/what-type-of-app-should-i-build-progressive-web-apps-vs-native-apps
QA_Bible. Типы мобильных приложений [Электронный ресурс] URL: https://vladislaveremeev.gitbook.io/qa_bible/mobilnoe-testirovanie/tipy-mobilnykh-prilozhenii
Demandsage.69 Mobile Internet Traffic Statistics For 2024 (Worldwide Usage) [Электронныйресурс] URL: https://www.demandsage.com/mobile-internet-traffic/
Similarweb. Доля рынка трафика с мобильных устройств в сравнении с настольными компьютерами и планшетами [Электронный ресурс] URL:https://www.similarweb.com/ru/platforms/
Хабр. Как эволюционировали уязвимости в приложениях для Android [Электронный ресурс] URL: https://habr.com/ru/companies/pt/articles/743232/