OWASP Mobile Top 10 українською

19.12.2016

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

Ризики для мобільних додатків і пристроїв є продовженням загроз десктопних, серверних і веб-додатків, або мають спільне походження. Класифікація загроз утворена по аналогії до OWASP TOP 10 і містить вид загрози і опис.

OWASP Mobile Top 10 українською:

M1 Обхід архітектурних обмежень (Improper Platform Usage)
Ця категорія охоплює зловживання особливостями платформи, обходу обмежень чи невикористання систем контролю управління безпекою платформи. Характерно як для платформи Android, для iOS (обхід обмежень Touch ID і Keychain) та інших мобільних ОС. Зачіпає системи контролю безпеки, які є частиною мобільної операційної системи.

M2 Небезпечне зберігання даних (Insecure Data Storage)
Ця категорія представляє собою комбінацію M2 + M4 Mobile Top Ten 2014. До неї відносять небезпечне зберігання і ненавмисна втрата даних.

M3 Небезпечна передача даних (Insecure Communication)
Недостатнє підтвердження достовірності джерел зв’язку, невірні версії SSL, недостатня перевірка узгодження, передача чуттєвих даних у відкритому виді (cleartext) і т.д.

M4 Небезпечна аутентифікація (Insecure Authentication)
Ця категорія відноситься до аутентифікації кінцевого користувача або неправильного управління сеансами. Включає наступні пункти:

  • Відсутність вимог перевірки ідентифікації користувача;
  • Відсутність перевірки контролю сеансу;
  • Недоліки управління сесіями.

M5 Слабка криптостійкость (Insufficient Cryptography)
Застосування криптостійких алгоритмів для передачі чуттєвої інформації. Використання криптоалгоритмів для передачі чуттєвої інформації. Використання криптоалгоритмів може бути недостатнім у окремих випадках. Ця категорія описує варіанти неналежного використання криптографічних елементів, слабкої чи недостатньої криптостійкості.

Все, що пов’язане з TLS чи SSL стосується категорії M3. Є додатки, які за необхідності не використовують криптографічні ресурси, це стосується категорії М2.

M6 Небезпечна авторизація (Insecure Authorization)
Категорія описує недоліки авторизації (перевірка (валідація) на стороні клієнта, примусовий перегляд і т.д.). Такі події відрізняються від проблем аутентифікації (наприклад, пристрої реєстрації, ідентифікації користувачів і т.д.).

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

M7 Контроль змісту клієнтських додатків (Client Code Quality)
Неналежний контроль вхідних даних. Проблеми реалізації технологій коду у клієнт-сайд додатках, який відрізняється від написання коду і реалізації в сервер-сайд додатках. Сюди відносяться: переповнення буферу, format string загроз, а також інші помилки на рівні коду, де рішенням є необхідність переписати код, який працює на мобільному пристрої

M8 Модифікація даних  (Code Tampering)
Ця категорія описує зміни виконуваних файлів, локальних ресурсів, перехоплення викликів сторонніх процесів, підміна runtime методів і динамічну модифікацію пам’яті.

Після встановлення додатку, його код залишається резидентним в пам’яті пристрою. Це дозволяє зловмисному додатку змінювати код, вміст пам’яті, змінювати чи замінювати системні методи АРІ, змінювати дані і ресурси додатку. Це може забезпечити зловмиснику можливість маніпулювання сторонніми додатками для здійснення нелегальних дій, викрадення даних чи вилучення іншої фінансової вигоди.

M9 Аналіз висхідного коду (Reverse Engineering)
Ця категорія включає в себе аналіз бінарних файлів для визначення висхідного коду, бібліотек, алгоритмів і т.д. Програмне забезпечення, таке як IDA Pro, Hopper, otool та інші інструменти реверс-інжинірингу можуть дати уявлення про внутрішню роботу додатка. Це може бути використано для пошуку вразливості додатка, вилучення критичної інформації, такої як бекенд-серверу, ключів шифрування чи інтелектуальної власності.

M10 Прихований функціонал  (Extraneous Functionality)
Часто розробники включають в код додатків приховані функціональні можливості, бекдори чи інші механізми, функціональність яких призначена для загального використання. Під цю категорію підходить відомий вислів «security through obscurity». Розробник може випадково залишити пароль в якості коментаря у гібридному додатку. Або це може бути відключення двофакторної аутентифікації під час тестування.

Пропонуємо Вашій увазі курс "Application Security Testing", який в теорії та на практиці навчить тестувальників програмного забезпечення ґрунтовно розуміти специфіку тестування безпеки веб-додатків.