Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Безпека мобільних пристроїв. Частина 2 - Використання біометрії в додатках

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

Автор: Lee Neely

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

У першій частині я розповідав про безпечному середовищі, призначеної для управління відбитками. Це середовище називається по-різному, але найчастіше двома іменами: Trusted Execution Environment (TEE) і Secure Enclave. По суті, обидві ці середовища є ізольовані області, використовувані для управління та перевірки достовірної інформації.

Вступ

Global Platform , Міжнародна організація по стандартизації, розробила набір стандартів для програмної частини достовірної середовища безпеки, а також для різних служб безпеки. Ці документи були опубліковані в 2010 році, а самі програмні інтерфейси, що з'єднують достовірне додаток (Trusted Application) і достовірну ОС (Trusted OS), з'явилися в 2011 році. На малюнку нижче, взятого з сайту www.arm.com , Описаний стандарт TrustZone .

Малюнок 1: Наочна схема, що описує стандарт TrustZone

З появою цього стандарту компанії Apple і Samsung почали випускати розробки на базі безпечного мікроядра, що знаходиться в прикладному співпроцесора (application coprocessor). Процесор, який використовує стандарт TrustZone , Дозволяє ізолювати апаратну частину для виконання безпечних операцій. Навіть якщо ви отримали необмежені права в операційній системі або зробили джейлбрейк, це ніяк не вплине на безпечне микроядро.

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

Деталі реалізації платформи в пристроях від Apple

Компанія Apple представила співпроцесор Secure Enclave разом з iPhone 5S, де з'явився Touch ID і процесор A7. Secure Enclave використовує зашифровану пам'ять, апаратний генератор випадкових чисел і микроядро на базі сімейства L4 (З модифікаціями від Apple). Під час виробництва сопроцессору Secure Enclave присвоюється унікальний ідентифікатор (Unique ID; UID), який, імовірно, навіть не знає Apple. Під час запуску пристрою створюється ефемерний ключ на основі UID, який потім використовується для шифрування пам'яті, що належить Secure Enclave. Дані, які стосуються Secure Enclave, які записані в файлову систему, шифруються за допомогою ключа, пов'язаного з UID і бесповторного лічильника (anti-replay counter). Під час запуску пристрою співпроцесор Secure Enclave також використовує процес безпечного завантаження, щоб упевнитися, що програмне забезпечення перевірено і підписано компанією Apple. Якщо перевірка на цілісність виявиться невдалою, пристрій переходить в режим оновлення прошивки, і ви повинні відновити заводські настройки.

Доступ до Touch ID з додатків

Сторонні додатки можуть використовувати системні інтерфейси, щоб організувати аутентифікацію за допомогою Touch ID або пароля. Додаток може вважати лише статус аутентифікації, але не може отримати доступ до Touch ID або до даних про відбитки.

Елементи сховища keychain також можна захистити за допомогою Touch ID. Secured Enclave видаватиме інформацію лише при збігу відбитків або пароля. У розробників є кошти, по-перше, для перевірки того, що пароль встановлений користувачем і, відповідно, по-друге, для аутентифікації і розблокування елементів з keychain за допомогою Touch ID.

Apple API

На перший погляд, може здатися, що отримати доступ до Touch ID досить складно. Однак компанія Apple надала відповідний приклад коду через Apple iOS Developer Library . Примітка: завантаження iOS SDK можлива тільки при наявності членства в Apple Developer Program.

Використовуючи приклади коду з Local Authentication Framework , Можна легко впровадити в додаток аутентифікацію за допомогою Touch ID:

Малюнок 2: Приклад коду для впровадження аутентифікації через Touch ID

Деталі реалізації платформи в пристроях від Samsung

У пристроях компанії Samsung з'явилася достовірна Виконавча (Trusted Execution Environment), починаючи з Galaxy SIII. Samsung використовує микроядро Mobicore , Розроблене компанією Giesecke & Devrient GmbH (G & D). Микроядро використовує розширення TrustZone у процесорів на базі архітектури ARM для створення окремої середовища, де виконуються програми і зберігаються дані, яка знаходиться поруч з операційною системою пристрою. Ця обмежена середовище та називається Trusted Execution Environment. Безпечне додаток, що запускається всередині Mobicore, називається trustlet. Додатки взаємодіють з trustlet'амі через бібліотеку Mobicore, службу і драйвера пристрою.

Хоча розробники і можуть створити свій власний trustlet, це додаток повинен бути вбудовано в Mobicore компанією G & D.

На малюнку нижче показана архітектура мікроядра Mobicore:

Малюнок 3: Архітектура Mobicore

Доступ до Samsung Fingerprint Scanner з додатків

Samsung Fingerprint Scanner може використовуватися при авторизації в веб-додатках і верифікації облікового запису в Samsung. Крім того, сканер відбитків можна впровадити в додаток, призначене для роботи з платіжною системою Samsung Pay.

Схема роботи авторизації на основі відбитків виглядає наступним чином:

  1. Користувач відкриває додаток (яке використовує відбитки).
  2. Користувач намагається пройти авторизацію (наприклад, в платіжній системі).
  3. Додаток запускає Trustlet, що відповідає за роботу з відбитками.
  4. Поверх поточного екрану з'являється призначений для користувача інтерфейс для зчитування відбитків.
  5. Сканер приймає відбиток.
  6. Trustlet порівнює відбиток з еталоном, отриманим під час реєстрації, і відправляє в додаток результат перевірки.
  7. Процес авторизації завершується.

Samsung API

Для роботи з відбитками необхідно використовувати Pass SDK , Який сумісний з сенсорами типу Swipe (S5, Note 4) і Touch (S6). Pass SDK дозволяє перевіряти відбитки, але і має механізми додавання і навіть виклику оброблюваних винятків в разі, якщо ваше додаток запущено на пристрої, який не підтримує сканер відбитків.

На малюнку нижче показаний приклад коду з Pass SDK, що дозволяє виконати аутентифікацію за допомогою відбитка:

Малюнок 4: Приклад коду, що реалізує механізм аутентифікації за допомогою відбитків

Як скомпрометувати систему аутентифікації на основі відбитків

Тепер, коли ми познайомилися з архітектурою, у вас, ймовірно, виникло питання, як скомпрометувати цю систему і які ризики.

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

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

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

Ді Шен (Di Shen) на конференції Black Hat 2015 презентував метод , Який використовує проломи в TEE OS і драйвер на пристроях Huawei на базі чіпсета Huawie HiSilicon. За допомогою цього методу можна змінювати достовірну пам'ять, инжектировать шеллкод, отримувати доступ до відбитків і виконувати інші трюки. Але тут необхідно мати права суперкористувача.

Найбільш часта причина присутності вразливостей - несвоєчасна установка патчів. Зокрема, ця проблема є у власників пристроїв на базі Android. 5 серпня компанія Google анонсувала старт щомісячних оновлень за технологією Over the Air (OTA) для пристроїв Nexus. У той же день компанія Samsung також зробила подібну заяву . Компанія Samsung веде переговори про співпрацю щодо оновлень з мобільними операторами по всьому світу. Інші виробники пристроїв теж планують приєднатися до цієї акції. Важливо згадати про оновлення для застарілих систем. Зазвичай для Android, в кращому випадку, випускаються патчі протягом 18 місяців після закінчення продажів пристрою. У той же час, Apple iOS 8.4.1 підтримує пристрої iPhone 4s, випущені 4 роки тому. Після того як ви вибрали платформу для оновлень, своєчасно перевіряйте вихід нових патчів і оновлюйте свою систему.

Існують різні сервіси, що інформують про вихід оновлень. Компанія Google недавно створила сервіс Android Security Updates Google Group . Компанія Apple оповіщає про вихід оновлень в спеціальному розділі або в розсилці .

висновок

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

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

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

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

посилання


Apple iOS Security Guide: https://www.apple.com/business/docs/iOS_Security_Guide.pdf

Brute Force Android PIN:
http://www.brotherton.com/main/androidpinbruteforce

Samsung Fingerprint 4.4: http://www.samsung.com/us/support/howtoguide/N0000011/16610/225807

Samsung S5 Fingerprint Hacked:
http://www.tomsguide.com/us/samsung-galaxy-s5-fingerprint-hack,news-18655.html

https://www.pentestpartners.com/blog/brute-forcing-android-pins-or-why-you-should-never-enable-adb-part-2/

Samsung / Apple face-off:
http://www.cio.com/article/2454883/consumer-technology/fingerprint-faceoff-apple-touch-id-vs-samsung-finger-scanner.html

Improvements to iPhone 6 Fingerprint scanner:
http://9to5mac.com/2014/09/24/hack-test-shows-apple-improved-security-and-reliability-of-still-not-perfect-touch-id-sensor-in-iphone-6/

CCC how-to make a fake fingerprint: http://dasalte.ccc.de/biometrie/fingeradbdruck_kopieren.en

FAR / FRR Graph: http://www.securitysales.com/article/knowing-how-biometrics-can-be-beaten-helps-you-win

Entrust Blog:
http://www.entrust.com/bypassing-fingerprint-biometrics-nothing-new/

iOS Authenticate with Touch ID: https://developer.apple.com/library/ios/documentation/LocalAuthentication/Reference/LocalAuthentication_Framework/

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.