В этом году на конференции по безопасности Black Hat Europe два исследователя из китайского Гонконгского университета представили исследование, которое показало эксплойт, затрагивающий приложения Android, которые потенциально могут сделать более одного миллиарда установленных приложений уязвимыми для атак.
Эксплойт опирается на атаку «человек посередине» мобильной реализации стандарта авторизации OAuth 2.0. Это звучит очень технически, но что это на самом деле означает, и ваши данные в безопасности?
Что такое OAuth?
OAuth — это открытый стандарт, используемый многими веб-сайтами и приложениями.
чтобы разрешить вам войти в стороннее приложение или веб-сайт, используя учетную запись одного из многочисленных поставщиков OAuth. Некоторые из наиболее распространенных и известных примеров — это Google, Facebook и Twitter.
Кнопка единого входа (SSO) позволяет вам предоставить доступ к информации вашей учетной записи. Когда вы нажимаете кнопку Facebook, стороннее приложение или веб-сайт ищет маркер доступа, предоставляя ему доступ к вашей информации Facebook.
Если этот токен не найден, вас попросят разрешить доступ третьей стороны к вашей учетной записи Facebook. Как только вы авторизуетесь, Facebook получает сообщение от третьего лица с просьбой предоставить маркер доступа.
Facebook отвечает токеном, предоставляя стороннему доступу к указанной вами информации. Например, вы предоставляете доступ к своей основной информации профиля и списку друзей, но не своим фотографиям. Сторонний получает токен и позволяет вам войти с вашими учетными данными Facebook. Затем, пока токен не истечет, он будет иметь доступ к информации, которую вы авторизовали.
Это похоже на отличную систему. Вы должны помнить меньше паролей и легко войти в систему и подтвердить свою информацию с помощью учетной записи, которая у вас уже есть. Кнопки единого входа еще более полезны на мобильных устройствах, где создание новых паролей и авторизация новой учетной записи могут занимать много времени.
В чем проблема?
Последняя платформа OAuth — OAuth 2.0 — была выпущена в октябре 2012 года и не была разработана для мобильных приложений. Это привело к тому, что многим разработчикам приложений пришлось реализовывать OAuth самостоятельно, без указания того, как это следует делать безопасно.
Хотя OAuth на веб-сайтах использует прямую связь между серверами стороннего поставщика и поставщика единого входа, мобильные приложения не используют этот метод прямой связи. Вместо этого мобильные приложения общаются друг с другом через ваше устройство.
При использовании OAuth на веб-сайте Facebook доставляет токен доступа и информацию аутентификации непосредственно на сторонние серверы. Затем эта информация может быть проверена перед тем, как войти в систему или получить доступ к любым личным данным.
Исследователи обнаружили, что значительная часть приложений Android не прошла эту проверку. Вместо этого серверы Facebook отправляют токен доступа в приложение Facebook. Затем токен доступа будет передан стороннему приложению. После этого стороннее приложение позволит вам войти в систему, не проверяя на серверах Facebook, что информация пользователя была законной.
Злоумышленник может войти в систему под своим именем, вызвав запрос токена OAuth. После того, как Facebook авторизовал токен, они могли вставить себя между серверами Facebook и приложением Facebook. Затем злоумышленник может изменить идентификатор пользователя на токене на идентификатор жертвы. Имя пользователя также обычно является общедоступной информацией, поэтому для атакующего существует очень мало барьеров. Как только идентификатор пользователя был изменен, но авторизация все еще предоставлена, стороннее приложение войдет в систему под учетной записью жертвы.
Этот тип эксплойта известен как атака «человек посередине» (MitM)
, Именно здесь злоумышленник может перехватывать и изменять данные, в то время как обе стороны считают, что они общаются друг с другом напрямую.
Как это влияет на вас?
Если злоумышленник может обмануть приложение, полагая, что он — это вы, то хакер получает доступ ко всей информации, которую вы храните в этом сервисе. Исследователи создали приведенную ниже таблицу, в которой перечислены некоторые данные, которые вы можете предоставить в различных типах приложений.
Некоторые типы информации менее вредны, чем другие. Вы реже будете беспокоиться о разоблачении своей истории чтения новостей, чем о всех планах поездок или о возможности отправлять и получать личные сообщения от вашего имени. Это отрезвляющее напоминание о типах информации, которую мы регулярно предоставляем третьим сторонам, и последствиях ее неправомерного использования.
Стоит ли беспокоиться?
Исследователи обнаружили, что 41,21% из 600 самых популярных приложений, поддерживающих единый вход в Google Play Store, были уязвимы для атаки MitM. Это потенциально может привести к тому, что миллиарды пользователей по всему миру будут подвержены такому типу атак. Команда провела свое исследование на Android, но они считают, что оно может быть воспроизведено на iOS. Это потенциально может сделать уязвимыми для этой атаки миллионы приложений в двух крупнейших мобильных операционных системах.
Изображение предоставлено: Bloomicon via Shutterstock
На момент написания, не было никаких официальных заявлений от Инженерной рабочей группы по Интернету (IETF), которая разработала спецификации OAuth 2.0. Исследователи отказались назвать уязвимые приложения, поэтому вы должны проявлять осторожность при использовании единого входа в мобильных приложениях.
Есть серебряная подкладка. Исследователи уже оповестили Google, Facebook и других поставщиков единого входа об этой уязвимости. Кроме того, они работают вместе со сторонними разработчиками, чтобы устранить проблему.
Что ты можешь сделать сейчас?
Хотя исправление может быть на пути, есть много уязвимых приложений, которые будут обновлены. Это может занять некоторое время, поэтому, возможно, стоит пока не использовать SSO. Вместо этого, когда вы регистрируетесь для новой учетной записи, убедитесь, что вы создали надежный пароль
ты не забудешь. Либо так, либо используйте менеджер паролей
сделать тяжелую работу за вас.
Рекомендуется проводить собственную проверку безопасности.
время от времени. Google даже вознаградит вас в облачном хранилище
для выполнения их проверки. Это идеальное время, чтобы проверить, какие приложения вы дали разрешение на
на ваших учетных записях SSO. Это особенно важно на таких сайтах, как Facebook
, который хранит огромное количество очень личной информации
,
Как вы думаете, пришло время отойти от единого входа? Какой способ входа вы считаете лучшим? Вы были затронуты этим подвигом? Дайте нам знать в комментариях ниже!
Кредиты изображений: Марк Брюссель / Shutterstock