You are on page 1of 29

1

МІНІСТЕРСТВО ОСВІТИ І НАУКИ

ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЛЕЛЕКТРОНІКИ

Факультет Комп’ютерної інженерії й управління

Кафедра Безпеки інформаційних технологій

ЗВІТ

з передатестаційної практики у період з

26.04.2021 по 15.05.2021 року

Тема «Розробка автоматизованого комплексу з пошуку SQL вразливостей»

Звіт розробив Керівник практики

Студент гр. КБІКС 17-1 Асистент кафедри БІТ

Кібірєв Д.О. Наконечний М.В.


2

Харків 2020

ЗМІСТ
ВСТУП.......................................................................................................................3

1 МОБІЛЬНИЙ ДОДАТОК. ОГЛЯД..............................................................................5

1.1 Поняття мобільного додатку5


1.2 Реляційна модель 8
2 ТИПИ SQL ІН’ЄКЦІЙ.............................................................................................13

2.1 Внутрішньосмугові SQL ін’єкції 13


2.2 Сліпі SQL ін’єкції 14
2.3 Позасмугові SQL ін’єкції 15
3 ПОЯВА ТА ПОШУК SQL ВРАЗЛИВОСТЕЙ............................................................16

3.1 Причини виникнення вразливостей16


3.1.1 Неправильно оброблені спеціальні символи..................................................17

3.1.2 Неправильно оброблені типи........................................................................17

3.1.3 Неправильно оброблені помилки..................................................................18

3.1.4 Неправильна обробка списків символів.........................................................18

3.1.5 Небезпечна конфігурація бази даних.............................................................19

3.2 Методи пошуку ін’єкцій 21


3.2.1 Ідентифікація введення даних......................................................................21

3.2.2 Інформація о роботі системи........................................................................22

3.2.3 Помилки бази даних....................................................................................23

3.2.4 Загальні помилки.........................................................................................24

3.2.5 Аналіз помилок коду HTTP..........................................................................25


3

3.2.6 АНАЛІЗ РОЗМІРУ ВІДПОВІДІ 26


4

ВСТУП

На сьогоднішній день телефон, планшет, або інший мобільний


пристрій не може працювати без мобільних додатків. За останні роки
мобільні додатки переросли з звичайний ігор та невеличких переваг до
основних та іноді просто необхідних елементів мобільних платформ.
Наприклад калькулятор, календар, Viber, банківський додаток, мобільний
кліент соціальної мережі, тощо.
У зв’язку з тим, що такі додатки поступово впроваджувались у майже
всі сфери діяльності людини, люди, які мають не зовсім або дуже погані
наміри, як і люди, котрі ним протидіють, почали впроваджувати той чи
інший захист від зловмісників. Від мобільних додатків потребують
виконання наступних вимоги:
- додаток не повинно мати доступ до файлів, що знаходяться поза
додатки, без дозволу користувача. Якщо ви використовуєте програму
з'являються запити на дозвіл доступу до камери, галереї, мікрофон,
геолокації і т.д. Користувач сам може вирішувати, дозволяти або забороняти
з додатком доступ до додаткових програм. В iOS такий підхід був
реалізований з самого початку. В Android підтримка була додана, починаючи
з версії ОС 5,
- додаток може оновлюватися тільки через офіційний магазин;
- якщо додаток використовує мережу, воно не користується їй через
сторонні браузери (стосується Apple)
- додаток бути не може використовувати повідомлення без згоди
користувача;
- додаток бути не може розповсюджувати особисті дані користувачів
(наприклад, ID гравця) через Game Center;
- додаток бути не може розсилати спам, поширювати віруси або
використовувати інші платформи Apple (Game Center / Push Notifications,
наприклад) з цим цілями;
5

- механізм вбудованих покупок не може вживатися для придбання


товарів і послуг, що використовуються поза додатки.
Вимоги по функціональності:
- в додатку повинна бути хоч якась функціональність. Воно не може
бути складаючись із однієї сторінки і тексту, бути не може бути просто
піснею, фільмом або книгою - для цього є інші платформи;
- функціональність повинна відповідати опису в магазині додатків;
- додаток повинен прагнути зберігати мінімальну кількість даних в
iCloud. Все, Хранящееся в iCloud, має бути створено користувачем.
Інформація, яку можна завантажити або відновити, бути не повинно
потрапляти в iCloud;
- рекламні банери Повинні ховатися, якщо реклама недоступна.
З всього цього можна зробити висновок, що сучасні сервіси та
послуги , які вже або у самий ближчий час стануть повсякденністю,
неможливі без добрез зробленного та захищеного мобільного додатка,
наприклад, онлайн банкінг, без якого в цілому у наш час не дуже багато що
можна купити або замовити, або додаток соціальної мережі, де розташована
бесіда с колегами та начальством..
Предмет роботи – процес пошуку вразливостей безпеки інформації в
мобільних додатках.
Об’єктом роботи це безпека інформації в мобільних додатках.
Метою роботи є забезпечення безпеки інформації в мобільних додатках
на основі пошуку вразливостей засобів захисту.
У цій роботі задача провести перевірку безпеки інформації в мобільних
додатках, та вироблення методики виявлення вразливостей у подібних
технологіях.
6

1 МОБІЛЬНИЙ ДОДАТОК. ОГЛЯД.

1.1 Поняття мобільного додатку


Мобільний додаток - програмне забезпечення, призначене для роботи
на смартфонах, планшетах та інших мобільних пристроях, розроблене для
конкретної платформи. Багато мобільні додатки встановлені на самому
пристрої або можуть бути завантажені на нього з онлайнових магазинів
додатків, таких як App Store, Google Play, і інших, безкоштовно або за плату.
Спочатку мобільні додатки використовувалися для швидкої перевірки
електронної пошти, але їх високий попит призвів до розширення їх
призначень і в інших областях, таких як ігри для мобільних телефонів та
GPS, спілкування, перегляд відео та користування інтернетом.
1.2 Види мобільних додатків
Основні типи мобільних додатків поділяються на: Мобільний сайт, веб-
додаток та нативний додаток.
1.2.1 Мобільний сайт
Мобільний сайт - сайт, розташований в мережі або на локальному носії
за певною адресою (домену), створений для перегляду на мобільних
пристроях, найчастіше для перегляду за допомогою мобільного браузера. У
поняття «мобільний сайт» вкладають те, що користувач побачить на екрані
мобільного пристрою в результаті використання мобільного браузера, а саме
- завантаження в нього файлу з кодом розмітки документа і подальшої його
інтерпретацією.
Як і всі електронні додатки, у сайтів е своя мова створення.
Використовуються такі мови розмітки як HTML, WML та XHTML.
HTML - стандартизований мову розмітки документів у Всесвітній
павутині. Більшість веб-сторінок містять опис розмітки на мові HTML (або
XHTML). Мова HTML інтерпретується браузерами; отриманий в результаті
інтерпретації форматований текст відображається на екрані монітора
комп'ютера або мобільного пристрою. Мова гіпертекстової розмітки HTML
7

був розроблений британським вченим Тімом Бернерс-Лі приблизно в 1986-


1991 роках в стінах ЦЕРНу в Женеві в Швейцарії [3]. HTML створювався як
мова для обміну науковою і технічною документацією, придатний для
використання людьми, які не є фахівцями в області верстки. HTML успішно
справлявся з проблемою складності SGML шляхом визначення невеликого
набору структурних і семантичних елементів - дескрипторів. Дескриптори
також часто називають «тегами». За допомогою HTML можна легко створити
відносно простий, але красиво оформлений документ. Крім спрощення
структури документа, в HTML внесена підтримка гіпертексту.
Мультимедійні можливості були додані пізніше.
Першим загальнодоступним описом HTML був документ «Теги
HTML», вперше згаданий в Інтернеті Тімом Бернерс-Лі в кінці 1991 року. У
ньому описуються 18 елементів, що становлять початковий, відносно
простий дизайн HTML. За винятком тега гіперпосилання, на них сильно
вплинув SGMLguid, внутрішній формат документації, заснований на
стандартному узагальненому мовою розмітки (SGML), в CERN. Одинадцять
з цих елементів все ще існують в HTML 4.
Спочатку мова HTML був задуманий і створений як засіб
структурування та форматування документів без їх прив'язки до засобів
відтворення (відображення). В ідеалі, текст з розміткою HTML повинен був
без стилістичних та структурних спотворень відтворюватися на обладнанні з
різною технічною оснащеністю (кольоровий екран сучасного комп'ютера,
монохромний екран органайзера, обмежений за розмірами екран мобільного
телефону або пристрою і програми голосового відтворення текстів). Однак
сучасне застосування HTML дуже далеко від його початкової задачі.
Наприклад, тег <table> призначений для створення в документах таблиць, але
іноді використовується і для оформлення розміщення елементів на сторінці.
З плином часу основна ідея платформонезавісимость мови HTML була
принесена в жертву сучасним потребам в мультимедійному і графічному
оформленні
8

WML - мова розмітки документів для використання в стільникових


телефонах і інших мобільних пристроях за стандартом WAP.
За структурою нагадує дещо спрощений HTML, але є і ключові
відмінності, оскільки WML орієнтований на пристрої, що не володіють
можливостями персональних комп'ютерів (невеликий екран, не всі пристрої
можуть відображати графіку, невеликий розмір пам'яті і т. Д.):
вся інформація в WML міститься в так званих «колодах». Колода
( «ДЕК», англ. Deck) - це мінімальний блок даних, який може бути переданий
сервером. У деках знаходяться «картки» (card) (кожна карта обмежена тегами
<card> і </ card>). В одному деці завжди повинна бути хоч одна картка, але
може бути і декілька. При цьому на екрані пристрою в кожен момент часу
відображається тільки одна картка, а користувач може перемикатися між
ними, переходячи по посиланнях - це зроблено для скорочення числа
звернень за інформацією до сервера;
в той же час розмір WML-сторінок не повинен перевищувати 1-4
кілобайт.
Втім, багато мобільні пристрої не розуміють навіть WML в «чистому»
вигляді - їм необхідний WBXML-формат сайту.

XHTML - сімейство мов розмітки веб-сторінок на основі XML, які


повторюють і розширюють можливості HTML 4. Специфікації XHTML 1.0 і
XHTML 1.1 є рекомендаціями консорціуму Всесвітньої павутини. Розвиток
XHTML зупинено; нові версії XHTML не випускаються; рекомендується
використовувати HTML.
Головна відмінність XHTML від HTML полягає в обробці документа.
Документи XHTML обробляються своїм модулем (парсером) аналогічно
документам XML. В процесі цієї обробки помилки, допущені розробниками,
не справляються.
9

XHTML відповідає специфікації SGML, оскільки XML є її


підмножиною. HTML володіє безліччю особливостей в процесі обробки і
фактично перестав ставитися до сімейства SGML, що і закріплено в чернетці
специфікації HTML 5.
1.2.2 Веб-додаток
Веб-додаток - клієнт-серверний додаток, в якому клієнт взаємодіє з
веб-сервером за допомогою браузера. Логіка веб-додатки розподілена між
сервером і клієнтом, зберігання даних здійснюється, переважно, на сервері,
обмін інформацією відбувається по мережі. Одним з переваг такого підходу є
той факт, що клієнти не залежать від конкретної операційної системи
користувача, тому веб-додатки є межплатформенному службами.
ущественное перевага побудови веб-додатків для підтримки стандартних
функцій браузера полягає в тому, що функції повинні виконуватися
незалежно від операційної системи даного клієнта.
Замість того, щоб писати різні версії для Microsoft Windows, Mac OS
X, GNU / Linux та інших операційних систем, додаток створюється один раз
для довільно обраної платформи і на ній розгортається. Однак різна
реалізація, CSS, DOM і інших специфікацій в браузерах може викликати
проблеми при розробці веб-додатків і подальшої підтримки. Крім того,
можливість користувача налаштовувати багато параметрів браузера
(наприклад, розмір шрифту, кольору, відключення підтримки сценаріїв) може
перешкоджати коректної роботи програми.
Інший підхід полягає у використанні Adobe Flash, Silverlight або Java-
аплетів для повної або часткової реалізації призначеного для користувача
інтерфейсу. Оскільки більшість браузерів підтримує ці технології, Flash- або
Java-додатки можуть виконуватися з легкістю. Так як вони надають
програмісту більший контроль над інтерфейсом, вони здатні обходити багато
несумісності в конфігураціях браузерів, хоча несумісність між Java- або
Flash-реалізаціями на стороні клієнта може призводити до різних ускладнень.
10

Використовуються підходи до архітектурного проектування веб -


додатків . Веб-додаток складається з клієнтської і серверної частин, тим
самим реалізуючи технологію «клієнт-сервер».
Клієнтська частина реалізує користувальницький інтерфейс , формує
запити до сервера і обробляє відповіді від нього.
Серверна частина отримує запит від клієнта, виконує обчислення, після
цього формує веб-сторінку і відправляє її клієнту через мережу з
використанням протоколу HTTP.
Саме веб-додаток може виступати в якості клієнта інших служб,
наприклад, бази даних або іншого веб-додатки, розташованого на іншому
сервері. Яскравим прикладом веб-додатки є система управління вмістом
статей Вікіпедії: безліч її учасників можуть брати участь у створенні
мережевої енциклопедії, використовуючи для цього браузери своїх
операційних систем і не завантажуючи додаткових виконуваних модулів для
роботи з базою даних статей.
В даний час набирає популярність новий підхід до розробки веб-
додатків, званий Ajax. При використанні Ajax сторінки веб-додатки не
перезавантажуються цілком, а лише довантажують необхідні дані з сервера,
що робить їх більш інтерактивними і продуктивними.
Також останнім часом набирає велику популярність технологія
WebSocket, яка не вимагає постійних запитів від клієнта до сервера, а
створює двонаправлене з'єднання, при якому сервер може відправляти дані
клієнта без запиту від останнього. Таким чином з'являється можливість
динамічно управляти контентом в режимі реального часу.

Нативні додатки - це прикладні програми, які були розроблені для


використання на певній платформі або на певному пристрої. Як правило, для
таких додатків використовується мова программування Java.
11

2 АНАЛІЗ ЗАГРОЗ БЕЗПЕКИ ІНФОРМАЦІЇ ДЛЯ МОБІЛЬНИХ


ДОДАТКІВ

1.
2.1. Дослідження погроз безпеки і атак у мережі SS7

Ринок вірусів для мобільних пристроїв виріс і ускладнився. Мобільних


пристроїв загрожують вже не тільки відносно нешкідливі трояни-клікери, а й
повноцінні віруси і шпигунські програми. Більшість вірусних дослідницьких
компаній виділяють наступні види загроз:
Adware і клікери. Іноді для даного виду загроз використовується термін
«Madware» (Mobile Adware). Основна мета цього класу ВПО - показ
користувачеві нерелевантною реклами та генерування штучних переходів на
сайти рекламодавців. За допомогою «Madware» зловмисники заробляють
«кліки» і демонструють оплачують їх компаніям ілюзію інтересу
користувачів. Що таке рекламне ПО (Adware)?
Adware або рекламне ПО - це термін, який використовується для опису
небажаного програмного забезпечення, яке відображає рекламні оголошення
на вашому пристрої. Рекламний вірус (adware) вважається потенційно
небажаної програми (ПНП або PUP, potentially unwanted program), тобто
програмою, яка встановлюється без спеціального дозволу користувача. Дана
програма заважає вашій роботі в Інтернеті, показуючи надмірний обсяг
рекламних оголошень, спливаючі вікна, банери, текстові посилання і
автоматичне відтворення рекламних роликів. Мета рекламного ПО -
отримання доходу для свого розробника за рахунок показу реклами.
Типи рекламного ПЗ
Існує два основних типи рекламного ПО в залежності від способу
проникнення на ваш комп'ютер: разом з безкоштовною або умовно-
безкоштовною програмою або через заражені сайти.
12

Разом з безкоштовною або умовно-безкоштовною програмою


Коли ви завантажуєте безкоштовну або умовно-безкоштовну програму,
часто вони містять вбудоване рекламне ПО. Ці безкоштовні програми
використовують рекламне ПО для фінансування розробки і дистрибуції.
Такий тип рекламного ПЗ не має злого умислу, але може серйозно дратувати.
Часто рекламне ПО плутають зі шпигунським ПО. Шпигуни працюють
аналогічним чином, але вони є окремою програмою. Такі програми
викачуються неосозннано (випадково, без відома) і вони відстежують ваші
уподобання з пошуку в Інтернеті, щоб можна було показувати рекламні
оголошення саме «під вас», а також збирають про вас іншу інформацію.
Через заражений сайт
Цей тип рекламного ПЗ, фактично, пов'язаний з «викраденням»
браузера. Зараження відбувається при відвідуванні зараженого сайту, в
результаті чого здійснюється несанкціонована установка рекламного ПЗ.
Потім при перегляді сайтів вам починають активно показувати рекламні
оголошення. Хоча ви думаєте, що ця реклама йде з проглядається сайту,
проте насправді вони показуються в результаті роботи рекламного ПЗ, яке
було встановлено на вашому пристрої.
Spyware - ПО, яке здійснює крадіжку персональних даних або стеження
за своїм носієм. Фактично, мобільний пристрій може перетворитися на
повноцінний «жучок», передаючи зловмисникам дані про мережеву
активність, геолокації, історії переміщень, а також фото та відеоінформацію,
дані про покупки, кредитні картки та ін. Вони поділяються на:

 Трекер (програми стеження).


Трекери, або отслежівателі, передають зловмисникові дані про
місцезнаходження пристрою, що відкриваються веб-сайтах, документах,
списках контактів, маршрут пересування, найбільш часто відвідуваних
місцях і т.п. Трекери поділяються на два види: апаратні і програмні. Апаратні
13

трекери виглядають як мініатюрний пристрій, наприклад брелок. Більшість з


них просто передає дані про поточний стан об'єкта, однак деякі варіанти
мають більш широку функціональність.
Вони можуть бути абсолютно легальними - їх використовують
автомобілісти для отримання інформації про поточний стан своєї машини, з
їх допомогою можна дізнатися місце розташування цінної речі і т.д.
Програмні трекери використовуються для збору будь-яких даних про
користувача активності на пристрої. Вони також можуть бути легальними: їх
застосовують організації, які бажають контролювати співробітників в
робочий час, або батьки, турбуються про свою дитину. Обидві категорії
трекерів можуть використовуватися зловмисниками для несанкціонованого
збору інформації про пересування жертви.
Апаратний трекер може бути непомітно впроваджений в один з
компонентів комп'ютера, а програмний - встановлений під виглядом будь-
якої легальної програми або разом з нею. До легальних трекерам можна
умовно віднести всілякі панелі інструментів для браузерів або цілі інтернет-
оглядачі, що випускаються пошуковими системами і великими інтернет-
порталами, такими як Yahoo, Яндекс або Mail.ru. Такі продукти з дозволу
користувача або по його незнання збирають вичерпну інформацію про
інтернет-серфінгу, яка використовується в розробці сервісів і таргетування
реклами.
 Кейлогер (клавіатурні шпигуни)
Кейлогери - це спеціальні програми або пристрою, які записують
натискання клавіш на клавіатурі пристрою. Як і трекери, кейлогери діляться
на два типи: апаратні і програмні. Програмні кейлогери виконуються у
вигляді додатків, так що для кожної операційної системи є свій набір
подібних засобів. Багато з них можуть зчитувати натискання не тільки
звичайних, але і службових клавіш, таких як Alt або Ctrl, фіксуючи тим
самим віддачу команд через поєднання кнопок.
14

Ряд кейлогерів відправляє зібрані дані шахраям і іншим зловмисникам.


Апаратні кейлогери - це невеликі пристрої, які підключаються до
комп'ютера. Деякі з них можуть використовувати уразливість BadUSB. На
відміну від програмних кейлогерів, апаратні не впливають на жорсткий диск:
всі дані вони зберігають у вбудовану пам'ять або на SD-карту.

Дроппер - ВПО, метою якого є скачування іншого шкідливого ПЗ.


Вірус - ПО, яке завдає явну шкоду, наприклад, виводить з ладу
конкретне додаток або одну з функцій пристрою.
Бот - агент бот-мереж, ВПО, яке по команді C & C-сервера здійснює
необхідну зловмисникові мережеву активність.

Мобільні пристрої також схильні до і традиційним атакам (наприклад,


DNS Hijacking, E-mail Phishing), так як використовують ті ж базові
користувацькі сервіси, що і персональні ПК.
Вірусні епідемії на мобільних пристроях зачіпають від декількох
сотень до мільйонів пристроїв. Статистика дослідників компанії Positive
Technologies зрівнює ризики ОС Android і ОС iOS, незважаючи на сувору
політику Apple в частині забезпечення інформаційної безпеки

2.2 Основні методи зараження


На основі аналізу описаних прикладів мобільного ВПО, а також каналів
проникнення інших зразків ВПО можна виділити наступні основні шляхи
компрометації пристрої:

Установка пакета додатків APK з неофіційних маркетів.

Установка зараженого додатки з офіційного магазину. В даному


випадку, після виявлення зараженого додатки службою безпеки магазину,
15

воно буде оперативно видалено, а встановлене користувачами додаток буде


оновлено на безпечну версію.

Фішинг і соціальна інженерія - SMS, MMS з привабливими для жертви


шкідливим контентом або посиланням. Або дзвінок від помилкового
«оператора зв'язку» або «службовця банку» з вимогою передати облікові
дані. Відомі кілька гучних випадків добровільної установки користувачами
програми віддаленого управління TeamViewer, нібито, на прохання служби
безпеки банку. Після установки програми користувачі передавали
зловмисникам облікові дані для віддаленого управління, що рівнозначно
передачі розблокованого телефону в чужі руки.
Запідозрити зараження «Агентом Смітом» можна по помітного
збільшення показу нерелевантною реклами. Поки це єдиний зафіксований
шкідливий вплив цього ВПО, хоча, технічно, воно має величезний шкідливий
потенціал. Масштаб зараження Агентом Смітом - 25 млн. Пристроїв,
переважно, в Азії. Поведінка ВПО частково нагадує роботу таких вірусів, як
Gooligan, Hummingbad, CopyCat. «Агент Сміт» діє таким чином:
Користувач завантажує дроппер в складі зараженого додатки
(безкоштовної гри або програми з віковий ценз).
Дроппер перевіряє наявність на мобільному пристрої популярних
додатків, таких як WhatsApp, MXplayer, ShareIt.
Дроппер викачує і розпаковує архів, який перетворюється в APK-файл,
при необхідності, оновлює і замінює легітимне популярний додаток на
заражений варіант.
Culprit - ВПО під ОС Android, що представляє собою вбудований в
відеофайл код, який експлуатує уразливість CVE-2019-2107 в ОС Android 7.0
до 9.0 (Nougat, Oreo, Pie). Досить відкрити відеофайл, отриманий в
фішинговому MMS або повідомленні з месенджера, і ВПО отримує повні
права в системі.
16

SockPuppet або Unc0ver - ВПО, що дозволяє отримати зловмисникові


права суперкористувача для систем iOS і MacOS (Jailbreak). ВПО скачується
в складі зараженого додатки, яке певний проміжок часу було доступно навіть
в офіційному магазині Apple. ВПО регулярно оновлюється і експлуатує
уразливість CVE-2019-8605, яка успадковується новими версіями iOS. У
версіях iOS 12.2 і 12.3 вразливість була закрита, після чого знову з'явилася у
версії 12.4 і була пропатчити в версії 12.4.1.
Старий троян Ztorg під ОС Android після установки збирає відомості
про систему і пристрої, відправляє їх на командний сервер, звідки приходять
файли, що дозволяють отримати на пристрої права суперкористувача
(Jailbreak). ВПО поширюється через заражені програми та рекламні банери.
Monokle під ОС Android і iOS - троян, що дозволяє вести повноцінний
шпигунство за жертвою: записувати натиснення клавіатури, фотографії та
відео, отримувати історію інтернет-переміщень, додатків соціальних мереж і
месенджерів, аж до запису екрану в момент введення пароля. Троян
забезпечений рядом експлойтів для реалізації необхідних прав в системі,
поширюється, імовірно, за допомогою фішингу та заражених додатків. Перші
версії ВПО з'явилися під ОС Android, але вже з'явилися версії для пристроїв
Apple.
----
17

3 ПЕРЕВІРКА ВРАЗЛИВОСТЕЙ МОБЫЛЬНИХ ДОДАТКІВ

3.1 Огляд
Підготовлений фондом OWASP cписок 10 найбільш актуальних
вразливостей додатків - це відмінний ресурс для розробників, які
прагнуть створювати захищені продукти. Справа в тому, що багато
мобільні додатки за своєю природою уразливі для погроз безпеки.
Згадаймо, наприклад, ряд гучних атак, які сталися за останні роки. До
них можна віднести шпигунське ПЗ Pegasus для WhatsApp, за
допомогою якого зловмисники змогли роздобути управління
пристроями користувачів месенджера. Ще одним прикладом з'явився
злом додатки Pokémon Go, який дозволив користувачам за допомогою
реверс-інжинірингу маніпулювати GPS-даними і ловити більше
покемонів.
Багато інших додатків і організації, такі як Tinder і MediaTek,
також стали жертвами атак. Але що ж робить подібні ресурси
уразливими? Для мобільних додатків характерна більш широка
поверхню атаки, ніж для їх веб-аналогів, так як вони викачуються з
публічних майданчиків і дають можливість проінспектувати код.
Плюсом до цього, такі програми, як правило, збирають величезну
кількість інформації користувача, що робить їх ще більш привабливим
засобом для кібер-злочинців.
На основі проведеного опитування та аналізу зворотного зв'язку
світової спільноти проект по забезпеченню безпеки мобільних додатків
(OWASP) вперше надав інформацію про пов'язаних з нею ризики в
2011 році. Після цього аналогічні дослідження проводилися в 2014 і
2016 роках. Останнє з цих досліджень і є найбільш актуальним на
сьогодні.
18

У списках 2014 і 2016 року повністю збігається тільки один


пункт, в іншому ж структура категорій сильно змінилася. Наприклад,
деякі пункти були розділені, а деякі, навпаки, об'єднані в один, що
спростило їх розгляд.

Рисунок 3.1 – Рейтинг найпоширеніших вразливостей мобільних додатків


1. Неправильне використання платформи

1. Неправильне використання платформи


Даний вид вразливостей стоїть на чолі списку. Незалежно від того Android це
або iOS, при розробці для будь-якої з цих платформ необхідно
дотримуватися конкретних вимог з метою забезпечення належного рівня
безпеки підсумкового продукту. Але буває, що при створенні додатків деякі з
запропонованих правил і рекомендацій ненавмисно порушуються або просто
реалізуються з помилками.
19

В результаті виникає загроза, викликана неправильним використанням будь-


якої можливості платформи або відсутністю реалізації протоколів безпеки.
Тут можна згадати такі випадки:
Помилкове використання функції iOS Touch ID може привести до
неавторизованого доступу до пристрою.
Неправильне застосування iOS Keychain, в слідстві чого чутливі дані,
наприклад ключі сесії або паролі, зберігаються в локальному сховищі
додатки, а не в захищеному.
Запит надмірних або невірних дозволів платформи.
Наміри (intents) в Android (використовувані для запиту дії з іншого
компонента додатка), помічені як відкриті, можуть розкривати чутливу
інформацію або дозволяти неавторизоване виконання.
Метод запобігання наступний: Подібні уразливості потрібно усувати на
серверній стороні. Поряд з дотриманням рекомендацій платформи по
розробці, ризики можна також мінімізувати за допомогою безпечних підходів
до написання коду і застосування правильних налаштувань сервера. Крім
цього, зменшити ймовірність невірного використання платформи допоможе:
Заборона додатків на взаємодію один з одним, обмеження доступу,
реалізація обмежувальних прав доступу до файлів і ін.
Застосування найсуворішого класу захисту для ланцюжків ключів iOS і
проходження найкращим методам розробки з метою уникнення слабкою
реалізації елементів управління.

2. Небезпечне сховище даних


Мобільні пристрої нерідко губляться або крадуться, опиняючись в
руках зловмисників. Крім цього, витік особистої інформації користувача
може статися через шкідливого ПО, яке дозволяє атакуючому задіяти
уразливості пристрою. За допомогою злому або рутінга пристрою можна
легко обійти захист шифруванням, тому розробники ПЗ повинні виходити з
припущення, що зловмисники можуть отримати доступ до файлової системи.
20

І оскільки практично всі програми так чи інакше зберігають інформацію,


дуже важливо реалізувати її збереження в такій області, де вона не буде
доступна іншому додатку або користувачеві.
Метод запобігання наступний: Виробляти тестування програми на
вразливість загрозам для з'ясування, які інформаційні активи обробляються, і
як з цими даними взаємодіють API. Це допоможе:
Визначити, чи ефективно застосовується шифрування, і як захищені ключі
шифрування.
Утруднити злом коду за допомогою обфускаціі, захисту проти переповнення
буфера і т.д.
Уникнути збереження / кешування даних там, де це можливо.
Впровадити звукові методи аутентифікації і авторизації.

3. Небезпечна комунікація
Якщо дані передаються незашифрованими у вигляді чистого тексту,
будь-який, хто відстежує цю мережу, може перехопити і прочитати їх.
Мобільні додатки, як правило, обмінюються даними по моделі клієнт-
сервер. При цьому процес передачі через мережу оператора або інтернет
повинен бути реалізований безпечно. Трафік може перехоплюватися проксі-
серверами, базовими станціями, а також за допомогою злому WiFi або
шляхом установки на пристрій шкідливого ПЗ.
Метод запобігання наступний: Для уникнення крадіжки даних в
процесі їх передачі по мережі слід покладатися на затверджені індустрією
протоколи шифрування і інші практики, включаючи: Установку SSL / TLS
сертифікатів від перевірених центрів сертифікації (CA).
Попередження користувачів при виявленні недійсного SSL / TLS
сертифіката або в разі провалу перевірки ланцюжка сертифікатів.
21

4. Небезпечна аутентифікація
Перш ніж надати доступ, додаток повинен перевірити справжність
користувача. Обхід аутентифікації зазвичай реалізується через існуючі
уразливості, такі як неправильна перевірка сервісних запитів сервером.
Мобільні додатки повинні перевіряти і утримувати справжність користувача,
особливо в процесі передачі конфіденційних даних, наприклад, фінансової
інформації.
Метод запобігання наступний: Використання слабких місць механізму
аутентифікації дозволяє зловмисникам обходити системи перевірки паролів
або отримувати додаткові дозволи, здійснюючи крадіжку даних і інші дії.
Для запобігання подібних ризиків рекомендується:
Виключити локальну аутентифікацію. Замість цього можна передати її
виконання на сторону сервера і завантажувати дані додатки тільки після
успішної перевірки автентичності користувача.
Утриматися від використання вразливих методів аутентифікації (наприклад,
посвідчення пристрої), не зберігати паролі локально, реалізувати
мультифакторна аутентифікацію (MFA), заборонити використання 4-
ціферний PIN-коду в якості пароля і т.д.

5. Недостатня криптографічний стійкість


Існує два випадки, в яких криптографія системи може бути
скомпрометована для розкриття чутливих даних: Слабкий внутрішній
алгоритм шифрування / дешифрування.
Прогалини в реалізації самого процесу криптографії.
Успішний злом в таких випадках може бути наслідком ряду факторів,
включаючи: Обхід вбудованих алгоритмів шифрування коду.
Неправильне керування цифровими ключами.
Використання призначених для користувача або застарілих протоколів
шифрування.
22

Метод запобігання наступний: Недоліки системи криптографічного


управління доступом можуть вести до витоку чутливих даних з пристрою. У
зв'язку з цим слід: Застосовувати суворі стандарти криптографії,
рекомендовані Національним інститутом стандартів і технологій (NIST).
Уникати зберігання на пристроях важливої інформації.

6. Небезпечна авторизація
Для різних користувачів передбачаються різні права, в результаті чого
одні отримують стандартний доступ, в той час як інші, наприклад
адміністратори, можуть мати додаткові дозволи і привілеї. Слабкі схеми
авторизації, незважаючи на успішну перевірку автентичності користувача,
можуть не справлятися з перевіркою його прав на доступ до запитуваною
ресурсів. Подібний недолік дозволяє хакерам авторізовиваться і виконувати
атаки з метою підвищення привілеїв.
Метод запобігання наступний як і у випадку з аутентифікацією,
недоліки авторизації можуть вести до крадіжки даних, підриву репутації і
навіть штрафів за недотримання вимог. Як протидія цим ризикам варто
розглянути наступні варіанти: Реалізувати перевірку сервером кожного
запиту на предмет відповідності вхідних ідентифікаторів тієї особистості
користувача, з якої вони асоціюються.
Перевіряти ролі і дозволу аутентифицированного користувача,
використовуючи інформацію з бекенд-систем, а не з мобільного пристрою.

7. Якість коду клієнта


Ця категорія в деякому сенсі є загальною причиною проблем
мобільного клієнта, пов'язаних з неправильною реалізацією коду.
Атакуючий може передавати особливі вхідні дані в виклики функцій,
провокуючи їх виконання і спостерігаючи за поведінкою програми. У зв'язку
з цим падає продуктивність, підвищується споживання пам'яті тощо У цьому
випадку варто мати на увазі, що помилки в коді потрібно виправляти
23

локальним способом, оскільки вони виникають в мобільному клієнті і


відрізняються від помилок серверної сторони. Привести ж вони можуть до:
уязвимостям форматуючих рядків; переповнення буфера; впровадженню
небезпечних сторонніх бібліотек; віддаленого виконання коду.
При розробці додатків часто використовуються сторонні бібліотеки, які
самі по собі можуть містити баги і бути недостатньо протестовані. Ці нюанси
знаходяться поза контролем розробника, оскільки вихідний код йому
недоступний. В інших же випадках найчастіше помилки коду виправляються
переписуванням його відповідних частин. Але що ще можна зробити?
Метод запобігання наступний:
Для усунення вразливостей і інших, викликаних неякісним кодом, проблем,
рекомендується: Використовувати автоматизовані інструменти для
тестування буфера на переповнення, визначення витоків пам'яті і ін.
Спиратися на рев'ю вихідного коду і спочатку створювати його в
зрозумілому, добре документованої вигляді.
Застосовувати в організації узгоджені шаблони написання коду.

8. Підробка коду
Іноді в магазинах зустрічаються підроблені версії додатків. Від
оригіналу їх відрізняє вбудоване в виконуваний файл шкідливий вміст,
наприклад закладка, що дозволяє отримувати несанкціонований доступ до
системи. Зловмисники можуть повторно підписувати ці підроблені програми
та розміщувати їх в сторонніх магазинах або навіть безпосередньо
доставляти жертві через фішингові атаки.
Метод запобігання наступний: Підробка коду програми може вести до
втрачених вигод, крадіжці особистих даних, підриву репутації та іншим
згубних наслідків. Для запобігання подібних проблем існують такі
рекомендації:
24

Додаток має вміти ідентифікувати будь-яке порушення цілісності коду


(тобто зміна або впровадження сторонніх елементів) і відповідним чином
реагувати на це в середовищі виконання. Повідомити ж користувачам про
легітимних зміни коду можна, наприклад, за допомогою сертифікатів його
підпису.
Впровадити техніки, що перешкоджають виконанню підроблених
додатків, наприклад, контрольні суми, цифрові підписи, посилення коду та
інші методи перевірки.

9. Реверс-інжиніринг
Зловмисники можуть розібрати і декомпілювати додаток для аналізу коду.
Цей спосіб злому особливо небезпечний, так як дозволяє інспектувати,
зрозуміти і змінити код, включивши в нього шкідливу функціональність або
транслювання небажаної реклами. Розібравшись в принципі роботи
програми, хакери можуть змінити його за допомогою таких інструментів, як
IDA Pro, Hopper та інших. Після реалізації потрібного їм поведінки, вони
можуть повторно скомпілювати додаток і використовувати в своїх намірах.
Метод запобігання наступний: Перешкодити зловмиснику виконати
реверс-інжиніринг програми може тільки неможливість провести
деобфускацію коду за допомогою IDA Pro, Hopper і аналогічних
інструментів.

10. Зайва функціональність


Іноді розробники можуть ненавмисно залишати закладки або додаткову
функціональність, які не очевидні для кінцевого користувача. В результаті
продукт випускаються в продакшен з функцією, яка не повинна бути
доступною, що створює додаткові ризики для безпеки програми.
Хакери експлуатують подібні слабкі місця програм безпосередньо зі
своїх систем, не потребуючи сприяння з боку регулярних користувачів. Вони
вивчають файли конфігурації, виконавчі файли та інші компоненти,
25

розкриваючи функціонал бекенд-частини, який потім використовують для


здійснення атак.
Метод запобігання наступний: один з найбільш ефективних способів
уникнення подібних типів вразливостей - це самостійний аналіз безпеки
коду. Таким чином ви зможете: Перевірити налаштування програми на
предмет наявності прихованих перемикачів.
Переконатися, що логи не містять надмірно описових інструкцій про
роботу сервера.
26

4 МЕТОД ВИЯВЛЕННЯ ВРАЗЛИВОСТЕЙ В БЕЗДРОТОВИХ МЕРЕЖАХ


ТИПУ LTE

4.1 Підготовка до перевірки


Координаційний центр CERT описує скоординоване розкриття
вразливостей - CVD (англ. Coordinated Vulnerability Disclosure) як «процес
зменшення переваги противника при зменшенні уразливості інформаційної
безпеки» CVD - це ітеративний багатоетапний процес, в якому беруть участь
кілька зацікавлених сторін (користувачі, постачальники програмного
забезпечення, фахівці з безпеки), які повинні працювати разом для усунення
вразливостей. Оскільки в процесах CVD беруть участь кілька зацікавлених
сторін, управління комунікацією і усунення вразливостей мають вирішальне
значення для успіху.
З експлуатаційної точки зору багато інструментів і процеси можуть
допомогти в CVD. До них відносяться системи відслідковування помилок та
програми Bug Bounty.
4.2 Проведення випробувань
Методи тестування безпеки виявляють уразливості або дірки в безпеці
додатків. Ці уразливості залишають додатки відкритими для експлойта. В
ідеалі тестування безпеки має здійснюватися протягом усього життєвого
циклу розробки програмного забезпечення, щоб уразливості можна було
своєчасно і ретельно усувати. На жаль, тестування часто проводиться в кінці
циклу розробки. З ростом популярності DevOps і Continuous delivery як
моделей розробки і розгортання програмного забезпечення, моделі
безперервного забезпечення безпеки стають все більш популярними.
Сканери вразливостей і, більш конкретно, сканери веб-додатків, також
відомі як інструменти тестування на проникнення (наприклад, інструменти
етичного хакера), історично використовувалися організаціями та
консультантами з безпеки для автоматизації тестування безпеки запитів /
27

відповідей HTTP; тим не менш, це не замінює необхідність фактичної


перевірки вихідного коду. Перевірка вихідного коду програми може
виконуватися вручну або в автоматичному режимі. З огляду на загальний
розмір окремих програм, людина не може виконати всебічний аналіз даних,
необхідний для повної перевірки всіх можливих вразливостей вручну. Для
цього використовуються автоматизовані інструменти аналізу вихідного коду
з наступною фільтрацією і аналізом результатів.
Існує багато різновидів автоматизованих інструментів для виявлення
вразливостей в додатках. Деякі з них вимагають великого досвіду проведення
експертизи безпеки, а інші призначені для повністю автоматизованого
використання. Результати залежать від типів інформації (вихідні тексти,
виконавчі файли, трафік HTTP, конфігурації, бібліотеки, з'єднання), наданих
аналізатору, якості аналізу і охоплених вразливостей. Загальні технології,
використовувані для виявлення вразливостей додатків, включають в себе:
Статична тестування безпеки додатків - це технологія, яка часто
використовується як інструмент аналізу вихідного коду. Метод аналізує
вихідний код на наявність вразливостей перед запуском програми. Цей метод
дає менше хибнопозитивних результатів, але для більшості реалізацій
потрібні доступ до вихідного коду додатка, експертна конфігурація і великі
обчислювальні потужності.
Динамічне тестування безпеки додатків - це технологія, яка здатна
знаходити видимі уразливості шляхом подачі URL-адреси в автоматичний
сканер. Цей метод легко масштабується, легко інтегрується і швидкий.
Недоліки DAST полягають в необхідності експертної конфігурації і високу
ймовірність помилкового спрацьовування.
Інтерактивне тестування безпеки додатків - це рішення, яке оцінює
додатки зсередини, використовуючи програмні засоби. Цей метод дозволяє
IAST використовувати переваги SAST і DAST, а також надає доступ до коду,
HTTP-трафіку, інформації про бібліотеки, внутрішніх з'єднаннях та
інформації про конфігурацію. Деякі продукти IAST вимагають, щоб додаток
28

піддавалося атаці, в той час як інші можуть використовуватися під час


звичайного тестування.
Умови і матеріально-технічне забезпечення: в наявності пристрій який
може імітувати мережу LTE, повинні бути робочі протоколи обміну даними,
можливість посилати сигнальні повідомлення, пристрій обробки отриманих
пакетів.
29

ВИСНОВОК

Мобільні пристрої як і мобільні додатки - приваблива мішень для


хакерських атак, адже в них зберігаються і обробляються великі обсяги
особистої інформації і дані банківських карт. Як показують результати
нашого дослідження, при розробці мобільних додатків питань безпеки
приділяється недостатньо уваги, і основна проблема пов'язана з небезпечним
зберіганням даних. Зберігання інформації користувачів у відкритому вигляді,
незахищені дані на знімках стану екрану, ключі і паролі в вихідному коді - це
лише деякі з тих недоліків, що відкривають простори для проведення
кібератак.
Зважаючи на зазначене, можна зробити вісновок, що найближчим
часом питання захисту додатків стане ще актуальнишим ніж воно є зараз

You might also like