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

- Бази SQL

- Лог файли

- SD card

- Cookie

- XML ​​у маніфесті

- Сховище бінарних даних

- Хмарні сховища

У розробці мобільних додатків це найчастіше спостерігається у внутрішніх процесах, тобто спосіб, яким ОС кешує:

- дані,

- зображення,

- натискання клавіш,

- ведення журналу

- буфери;

Як захиститися:

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

Кешування URL (як запиту, і відповіді);

Кешування натискань клавіш;

Кешування буфера копіювання/вставки;

Фонове оброблення додатків;

Проміжні дані;

Логування;

Зберігання даних HTML5;

Об'єкти cookie браузера;

Які дані надсилаються третім особам.

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

M2-Insecure Data Storage

Вирішив вникнути в тестування безпеки мобільних додатків, та й відповідно скористався чекістом топових уразливостей від OWASP TOP 10. Адже затребуваність у мобільних додатках зростає з кожним роком, а про безпеку даних користувачів цього додатку мало хто замислюється при розробці додатка. Тому давайте зробимо наші програми безпечними за допомогою цієї шпаргалки.

А тепер давайте трохи розберемо цю вразливість M2-Insecure Data Storage. Вона знаходиться на другому місці OWASP top 10. Почав з неї тому, що вона найлегша з 10 існуючих. Користувач потрапляє під цю загрозу, якщо:

- Зловмисник знайшов втрачений телефон або краде мобільний пристрій вашого користувача

- Користувач встановив шкідливе ПЗ або інший перепакований додаток, що діє від імені противника, що виконується на мобільному пристрої.

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

Небезпечне зберігання даних виникають, коли розробники припускають, що користувачі або шкідливі програми не матимуть доступу до файлової системи мобільного пристрою та конфіденційної інформації у сховищах даних на пристрої. Тому ви, як QA, повинні очікувати, що зловмисник або шкідлива програма перевірятимуть сховища конфіденційних даних. Слід уникати використання поганих бібліотек шифрування. Rooting або jailbreaking мобільного пристрою обходять будь-які засоби шифрування, якщо дані не захищені належним чином, все, що потрібно для перегляду даних програми - це всього лише спеціалізовані інструменти.

І так давайте перейдемо до практики і глянемо як це працює... Запустимо наш вразливий додаток через якийсь емулятор. Я використовую програму Diva. Його можна знайти тут...

У цьому додатку є різні види вразливостей, але нас зараз цікавить саме другий вид вразливості Insecure Data Storage, тому давайте виберемо відповідний 5-й пункт цієї трабле, щоб поюзати її і зрозуміти серйозність трабли.

Давайте уявимо, що це сторінка реєстрації, ми введемо туди свої дані логін: svyat і пароля: 123456, для того, щоб наступні рази нас авторизувало і подивимося, що буде далі...

Так як ми підняли додаток на емуляторі, то нам тепер у терміналі тільки залишається увійти в пристрій це можна зробити такою командою adb shell, але перед цим треба глянути чи є девайс у списку, це можна зробити командою adb devices. Якщо ж ви на цьому пристрої підняли програму, то вам слід підключити свій пристрій і підконектуватиметься так до нього, як і до емулятора. В результаті в консолі у вас має бути такий висновок.

Потім лазити структурами папок і файлів телефонного додатка стає простим, але пристрій потрібно рутувати, так як без рута ви будете бачити таку помилку, при використанні команди ls...

Як приклад, можемо знайти цей каталог /data/data/app.package.name. З цього видно, що ми можемо дивитися будь-які файли на вкраденому/знайденому телефоні. Давайте тепер знайдемо потрібний нам каталог, це зробимо за допомогою команди в терміналі cd data/data, а далі за допомогою команди ls, знайдемо там такий каталог jakhar.aseem.diva з того списку виданих папок, це каталог нашого додатку diva.

Потім нам треба перейти в цю папку за допомогою cd jakhar.aseem.diva. А в ньому вже виконати команду pwd

А тепер треба спулити наш каталог програми на свій комп'ютер в якусь татку. Це ми робимо так:

- для початку вийдемо з нашого пристрою, натиснувши будь-яку комбінацію з Crtl, допустимо crtl+D

- далі прописуємо команду adb pull з вказаним шляхом програми /data/data/jakhar.aseem.diva

Ось як це виглядає...

На зображенні вище, ми бачимо, що спулилося нам в директорію Desktop/Apps/div 3 файли, тому тепер переходимо в ту директорію, знаходимо там папку shared_prefs в якій лежатиме файл xml, з ім'ям jakhar.assem.diva_preferences.xml а в ньому наші дані логін та пароля. Відкрийте цей файл у будь-якому редакторі, у мене було взято sublime...