Дослідники безпеки проілюстрували нову атаку “з середини” програми, яка могла дозволити шкідливим програмам, встановленим на вашому пристрої iOS, вкрасти конфіденційну інформацію з інших додатків, використовуючи певні реалізації схеми користувацьких URL-адрес. Про це повідомили на TheHackerNews.
За замовчуванням у операційній системі iOS від Apple кожна програма працює в межах власної “пісочниці”, що запобігає доступу всіх додатків, встановлених на одному пристрої, до даних інших користувачів. Проте Apple пропонує деякі методи, які полегшують надсилання та отримання дуже обмежених даних між програмами.
Один з таких механізмів називається URL Scheme, також відомий як Deep Linking, який дозволяє розробникам надавати користувачам можливість запускати свої програми через URL, наприклад facetime://, whatsapp://, fb-messenger://.
Наприклад, коли Ви натискаєте “Увійти через Facebook” у додатку електронної торгівлі, він безпосередньо запускає програму Facebook, встановлену на пристрої, і автоматично обробляє автентифікацію. У фоновому режимі цей додаток електронної комерції фактично запускає схему URL для програми Facebook (fb://) і передає деяку контекстну інформацію, необхідну для обробки Вашого логіну.
Дослідники компанії Trend Micro помітили, що оскільки Apple не визначає явно, які програми можуть використовувати ті ключові слова для своєї користувацької схеми URL-адрес, кілька додатків на пристрої iOS можуть використовувати одну схему URL-адреси, яка несподівано може запитувати і передавати конфіденційні дані в зовсім іншу програму або безпосередньо злочинцями.
“Ця вразливість є особливо критичною, якщо процес входу в додаток A пов’язаний з додатком B”, – сказали дослідники.
Щоб продемонструвати це, дослідники ілюстрували сценарій атаки, як показано на зображенні нище, використовуючи приклад китайського торгового додатка “Suning” і його реалізацію “Вхід з WeChat”, пояснюючи, як він може бути зламаний.
Якщо користувач програми Suning вирішив отримати доступ до свого облікового запису електронної торгівлі за допомогою програми WeChat, він генерує запит на вхід і надсилає його до програми WeChat, встановленої на цьому ж пристрої, за допомогою програми URL для iOS для програми обміну повідомленнями. Додаток WeChat потім запитує секретний маркер входу з свого сервера та відправляє його назад до програми Suning для автентифікації.
Дослідники виявили, що оскільки Suning завжди використовує один і той самий запит для входу до запиту, щоб запитувати секретний маркер, а WeChat не перевіряє джерело запиту на вхід, реалізація вразлива для атаки в середині програми через схему URL-адреси iOS, врешті-решт дозволить зловмисникам отримати несанкціонований доступ до облікових записів користувачів.
“За допомогою законної схеми URL-адреси WeChat можна створити підробку-WeChat, і Suning буде запитувати підроблений ключ для логіну. Якщо додаток Suning посилає запит, то підроблений додаток може захопити його схему входу-запиту URL. WeChat розпізнає його, але не перевірятиме автентифікацію джерела запиту входу в систему. Замість цього він буде безпосередньо відповідати як маркер входу до джерела запиту. На жаль, джерелом може бути зловмисний додаток, що зловживає URL Scheme для Suning”, – стверджують фахівці.
Це означає, що зловмисний додаток з тією ж схемою користувацьких URL-адрес, що й цільовий додаток, може обманювати інші програми спільним доступом до конфіденційних даних користувачів або здійснювати несанкціоновані дії, що потенційно можуть призвести до втрати конфіденційності, шахрайства з рахунками чи засмічення рекламою.
“У нашому дослідженні багато додатків, які наша система перевіряла, виявилися такими, що використовують цю функцію для показу оголошень жертвам. Потенційно шкідливі програми навмисно заявляють про схему URL, пов’язану з популярними програмами: wechat://, line://, fb://, fb-messenger:// і тощо. Ми ідентифікували деякі з цих шкідливих програм”, – сказали дослідники.
Оскільки експлуатація цієї уразливості повністю залежить від способу реалізації Deep Linking, розробникам програм і популярним платформам рекомендується переглядати свої програми та перевіряти виправлення для ненадійних запитів.
До речі, у п’ятій бета-версії Android Q виявився баг, який автоматично змінює налаштування системи дозволів і дозволяє додаткам отримувати доступ до служб геолокації в фоновому режимі. В результаті такий привілей отримали навіть ті програми, яким був заборонений доступ.
Також стало відомо про критичну уразливість в мобільному додатку Instagram. Експлуатація уразливості дозволяла скинути пароль для всіх облікових записів Instagram і отримати повний контроль над ними.