Як захистити мобільні додатки підприємства

  1. Малюнок 1. Методи сканування і тестування мобільних додатків
  2. "Рідні" мобільні додатки
  3. Мобільні Web-додатки
  4. Гібридні мобільні додатки
  5. Мобільні додатки і Web-сервіси
  6. Налаштування агента користувача
  7. Малюнок 2. Налаштування агента користувача
  8. Налаштування емулятора
  9. Налаштування емулятора Android
  10. Малюнок 3. Налаштування проксі
  11. Налаштування на рівні ОС Android
  12. Малюнок 4. Налаштування на рівні ОС Android
  13. Малюнок 5. Налаштування проксі iOS
  14. Використання мобільного пристрою Android
  15. Малюнок 6. Налаштування проксі для Android
  16. Малюнок 7. Встановлення iOS
  17. тестування
  18. Шифрування транспортного рівня
  19. висновок
  20. Ресурси для скачування

Пошук вразливостей за допомогою IBM Security AppScan Standard

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

Детальніше про сімейство продуктів для мобільних і Web-додатків IBM Security AppScan .

Ця стаття присвячена безпеки мобільних додатків і містить практичні рекомендації щодо організації динамічного тестування серверів мобільних додатків за допомогою IBM Security AppScan Standard Edition. Вона знайомить з процесом налаштування AppScan для сканування мобільних додатків із застосуванням трьох різних моделей:

  • сканування мобільних Web-додатків шляхом створення мобільного агента користувача;
  • застосування емулятора iOS і Android;
  • настройка фактичного мобільного пристрою на платформах Android і iOS.

Три різних конфігурації показані на малюнку 1.

Малюнок 1. Методи сканування і тестування мобільних додатків
Пошук вразливостей за допомогою IBM Security AppScan Standard   У швидкому зростанні екосистемі мобільних додатків безпека залишається гарячою темою для розробників, співробітників і керівників підрозділів ІТ-безпеки

Типи мобільних додатків

Як сказав Омрі Вайсман в недавньому сеансі Web-трансляції (див. Розділ ресурси ), Мобільні додатки можна розділити на кілька категорій. Від категорії мобільного додатка залежать методи тестування і відповідні інструменти, які можна використовувати з найбільшою ефективністю.

"Рідні" мобільні додатки

"Рідні" мобільні додатки призначені для роботи на цьому пристрої і написані на відповідній мові, такому як Java для Android-додатків або Objective C для додатків Apple iOS. Додатки цієї категорії найкраще тестувати за допомогою інструментів статичного аналізу. IBM Security AppScan Source Edition версії 8.6 і пізніших версій підтримує статичний аналіз Android-додатків. Однак у багатьох рідних додатках використовуються стандартні комунікаційні інтерфейси на базі Web- і Web-сервісів, які часто піддаються тестуванню за допомогою IBM Security AppScan Standard Edition.

Мобільні Web-додатки

Мобільні Web-додатки - це саме те, що випливає з назви. Замість розробки рідного додатки для кожної з мобільних платформ, багато організацій додають підтримку мобільних пристроїв на вже наявні у них Web-сайти. Інші розробляють спеціальні Web-сайти для підтримки мобільних додатків. Ця підтримка часто включає в себе спрощену навігацію, знижені вимоги до пропускної здатності, оптимізацію для малого екрану, альтернативну технологію (наприклад, HTML5 замість Flash) і т.п. Таким чином, «додаток», встановлене на мобільний пристрій, часто - не більше ніж ярлик або закладка. Додатки цієї категорії добре підходять як для статичного тестування з використанням AppScan Source Edition, так і для динамічного тестування з використанням AppScan Standard Edition.

Гібридні мобільні додатки

Гібридні мобільні додатки часто складаються з призначеного для користувача Web-інтерфейсу WebView / UIWebView (HTML, CSS, JavaScript), оточеного шаром рідного додатки. Додатки цієї категорії також добре підходять і для статичного тестування "рідних" рівнів з використанням AppScan Source Edition (для Android) і для динамічного тестування рівнів Web-додатків з використанням AppScan Standard Edition.

Мобільні додатки і Web-сервіси

Для мобільних додатків кожного типу є загальна модель, що передбачає розподіл обробки між мобільною частиною, встановленої на мобільному пристрої, і центральною частиною для обробки або зберігання даних, яка встановлюється на сервері. У цій моделі часто використовується інтерфейс Web-сервісів, який можна перевірити безпосередньо за допомогою AppScan. AppScan підтримує тестування широкого спектру Web-сервісів, включаючи ті, які засновані на SOAP і на REST.

Методи, описані в цій статті, тестують інтерфейси Web-сервісів, які використовуються додатком. Однак для більшої безпеки необхідно також повністю протестувати Web-сервіс, включаючи всі реалізовані функції, які мобільний додаток в даний час не використовує. AppScan тестує тільки ті інтерфейси, про які дізнається на етапі дослідження.

Зв'язок з Web-сервером або сервером мобільних додатків часто здійснюється через стандартні протоколи і формати даних, які можна перехопити, такі як HTTP, HTTPS, SOAP, REST, JSON і XML. Сервер мобільних додатків можна протестувати за допомогою IBM Security AppScan Standard Edition. У наступних розділах описані методи настройки AppScan для введення цих взаємодій - важливий крок при тестуванні серверів мобільних Web-додатків. Читач познайомиться з трьома методами (див. малюнок 1 ) Тестування серверів мобільних додатків за допомогою AppScan: настройка агента користувача, застосування емуляторів і використання реальних мобільних пристроїв.

Налаштування агента користувача

Найпростіший спосіб тестування серверів мобільних додатків - це настройка AppScan для відправки рядків "користувач-агент", які імітують мобільні пристрої. AppScan містить вбудовану підтримку великої кількості видів пристроїв; він дозволяє налаштувати будь-які спеціальні рядки "користувач-агент", які можуть знадобитися.

Щоб задати рядок "користувач-агент", потрібно вибрати Explore Options у вікні Scan Configuration, як показано на малюнку 2. Потім протестуйте серверну частину мобільного застосування, як це зазвичай робиться за допомогою URL, ручних записів, взаємодії з Web-сервісом і т. д.

Малюнок 2. Налаштування агента користувача

Цей метод добре підходить для мобільних Web-додатків і повинен здатися знайомим тим, хто вже використовував AppScan для тестування Web-додатків. Для тестування більшості додатків досить внести прості зміни в конфігурацію.

Налаштування емулятора

Інший метод тестування мобільних додатків - запуск програми в програмному емуляторі і пропускання його трафіку через AppScan. У цьому розділі міститься опис для Android і iOS.

Налаштування емулятора Android

Емулятор Android можна налаштувати, використовуючи той емулятор, який входить до складу SDK Android. Коли додаток виконується в емуляторі, мережевий трафік може бути спрямований через AppScan Proxy Port за адресою localhost (127.0.0.1) з номером порту, зазначеним у вікні AppScan> Tools> Options, як показано на малюнку 3. За замовчуванням цей порт вибирається динамічно. При активному використанні цієї функції краще встановити статичну значення, знявши прапорець «Let AppScan choose the port automatically» (Дозволити AppScan вибирати порт автоматично) і встановивши кращий порт в поле AppScan proxy port.

Малюнок 3. Налаштування проксі

Налаштуйте емулятор Android на використання цього порту проксі за адресою localhost в командному рядку емулятора, використовуючи наступну команду:

emulator -avd myAVD -http-proxy 127.0.0.1:{port from appscan config}

Якщо емулятор запускається з Eclipse, то цей параметр можна налаштувати у вікні Window> Preferences> Android> Launch> Default Emulator Options. Відзначимо, що деякі функції можуть не підтримувати проксі-конфігурації в пристрої і емуляторах. У таких випадках можуть знадобитися інші підходи, включаючи підтримку з боку розробників.

Налаштування на рівні ОС Android

У деяких версіях ОС Android проксі можна налаштовувати з емулятора, замість командного рядка. В цьому випадку майте на увазі, що в ОС Android потрібно використовувати іншу адресу проксі: 10.0.2.2. Це спеціальний адресу, який відповідає шлейфовому інтерфейсу локального ПК (127.0.0.1). Це необхідно тому, що адреса 127.0.0.1 використовується емуліруемой ОС Android в якості її власного внутрішнього порту шлейфового інтерфейсу.

В Android 4.1 настройка параметрів проксі виконується наступним чином.

  1. Увійдіть в меню Settings.
  2. Виберіть More в розділі Wireless and networks.
  3. Виберіть Mobile network settings.
  4. Виберіть Access Point Names.
  5. Виберіть мережу зі списку.
  6. Змініть поля Proxy і Port, як показано на малюнку 4.
  7. Ім'я користувача має бути порожнім, і пароль не встановлено.
Малюнок 4. Налаштування на рівні ОС Android

імітатор iOS

У імітаторі iOS немає параметрів налаштування виділеного проксі, але можна легко встановити проксі для всього мережевого трафіку за допомогою комп'ютера Mac. Виберіть Networking у вікні Preferences> System preferences і вкажіть використовуваний інтерфейс (кабель або wi-fi). У розділі Advanced ви побачите вкладку Proxies, як показано на малюнку 5. Встановіть IP і порт машини, на якій працює AppScan. Проксі AppScan прив'язується тільки до локального трафіку, тому потрібно внести зміни в конфігурацію, щоб направити вхідний трафік на локальний адаптер (див. Розділ Використання мобільного пристрою iOS ).

Малюнок 5. Налаштування проксі iOS

Налаштування мобільного пристрою

Для роботи через реальне мобільний пристрій буде потрібно деяка додаткова настройка. Як вже говорилося, проксі AppScan зв'язується тільки з шлейфового адресою localhost (127.0.0.1). Потрібна можливість зробити цей порт проксі доступним через наявний інтерфейс.

Існує багато утиліт, які допомагають налаштовувати мобільні пристрої. У прикладі для цієї статті використовується rinetd (див. Розділ ресурси ), Проста в застосуванні, широкодоступними безкоштовна утиліта з відкритим вихідним кодом (GPL 2+). Після завантаження утиліти rinetd в комп'ютер, де встановлений AppScan, для її установки досить розпакувати zip-файл і помістити виконуваний файл в обрану папку.

Після установки потрібно створити дуже простий файл конфігурації. Формат і властивості цього файлу повністю задокументовані на сайті rinetd. У прикладі для цієї статті потрібно єдиний рядок:

(IP to listen on) (port to listen on) (IP to forward to) (port to forward to) 192.168.1.114 28080 127.0.0.1 18080

Цей рядок конфігурації наказує rinetd прослуховувати IP-адреса 192.168.1.114 через порт 28080 і перенаправляти весь трафік за адресою 127.0.0.1 через порт 18080 (в припущенні, що AppScan налаштований на цей порт). Цей рядок можна помістити в текстовий файл rinetd.conf або яке-небудь інше місце, а потім запустити rinetd з командного рядка за допомогою наступної команди:

rinetd -cc: \ PATH \ TO \ CONFIG \ rinetd.conf

Коли rinetd працює, можна направляти трафік пристрою через доступний IP-адреса і порт в порт проксі AppScan по локальній адресі шлейфового інтерфейсу.

Використання мобільного пристрою Android

Після настройки rinetd потрібно налаштувати Android-пристрій на проксі з використанням IP-адреси і порту rinetd (в нашому прикладі - 192.168.1.114 і 28080). Виберіть Settings> Wi-Fi і змініть поточні параметри мережі, як показано на малюнку 6.

Малюнок 6. Налаштування проксі для Android

Робота з мобільним пристроєм iOS

В iOS-пристрої потрібно аналогічним чином налаштувати HTTP-проксі у вікні настройки Settings> Wi-Fi. Встановіть ті ж параметри Server і Port, що і в rinetd (в прикладі - 192.168.1.114 і 28080).

Малюнок 7. Встановлення iOS

запис

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

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

тестування

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

Може знадобитися деяка додаткова настройка для підтримки способів зв'язку з вашим додатком. Часто для цього використовуються Web-сервіси, такі як SOAP або REST. AppScan містить тести для перевірки методів SOAP. Його можна налаштувати і на перевірку сервісів REST. Прочитайте статті Орі Сігала в блозі Application Security Insider на цю тему (див. Розділ ресурси ).

Шифрування транспортного рівня

Мобільні додатки можуть працювати в різноманітних мережевих середовищах з високим ступенем ризику, так що критично важливе значення часто має шифрування транспортного рівня (SSL / HTTPS). Правильно реалізоване шифрування транспортного рівня може створювати труднощі при тестуванні з емулятором, імітаторами або через реальні пристрої. Проксі AppScan повинен функціонувати як «посередник», перехоплюючи зашифрований трафік.

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

висновок

Якщо організація ще не підтримує мобільні додатки, то це, швидше за все, не надовго. У цій статті описані деякі практичні методи динамічного тестування безпеки серверів мобільних додатків за допомогою IBM Security AppScan Standard Edition.

Ресурси для скачування

Схожі теми

  • Оригінал статті: Secure your mobile applications .
  • IBM Security AppScan Standard : Докладніше про це програмному забезпеченні, яке дозволяє виявляти, аналізувати і виправляти уразливості Web-додатків.
  • The New Frontier - Securing Mobile Apps (WEBCAST) : Омрі Вайсман, керівник групи Application Security Research підрозділу IBM Security, розповідає про те, як інструменти IBM Security AppScan допомагають зробити додатки безпечними.
  • Порядок сканування Web-сервісів за допомогою AppScan Standard : Відомості про те, як правильно тестувати Web-сервіси.
  • Тестування сервісів REST за допомогою AppScan Standard : Служби REST можуть стати прокляттям автоматизованих сканерів Web-додатків. IBM AppScan Standard дозволяє навчити сканер справлятися з сервісами REST в ручний або автоматичною конфігурації.
  • rinetd : Завантажте утиліту rinetd (8), яка перенаправляє TCP-з'єднання з однієї IP-адреси і порту в інший.

Підпишіть мене на повідомлення до коментарів