- PVSM.RU - https://www.pvsm.ru -

Google Chrome для Android: уязвимость UXSS и раскрытие учетных данных

Google Chrome для Android: уязвимость UXSS и раскрытие учетных данных [1]Итак, начнем. В июле 2011 года Roee Hay и Yair Amit из IBM Research Group обнаружили UXSS-уязвимость [2] в используемом по умолчанию браузере Android. Эта ошибка позволяет вредоносному приложению внедрить JavaScript-код в контекст произвольного домена и захватить файлы Cookies или произвести другие вредоносные действия. Эта уязвимость была устранена в версии Android 2.3.5.

21 июня 2012 года для Android был выпущен Google Chrome. Я смог найти в нем весьма интересные ошибки. Взгляните сами.

Уязвимость UXSS

Как и ожидалось, эта уязвимость не затрагивает основную деятельность Chrome. Однако давайте рассмотрим файл AndroidManifest.xml из Chrome .apk.

Google Chrome для Android: уязвимость UXSS и раскрытие учетных данных

Очевидно, что класс com.google.android.apps.chrome.SimpleChromeActivity можно вызвать из другого приложения, если в нем объявлена директива <intent-filter>.

Декомпилируйте classes.dex из apk и взгляните на класс SimpleChromeActivity.

Google Chrome для Android: уязвимость UXSS и раскрытие учетных данных

В представленном выше методе onCreate можно заметить, что новый URL будет загружен в текущей, а не новой вкладке.

Существует два способа запустить эту активность: посредством Android API или Activity Manager. Вызов из Android API немного сложен, поэтому я использовал команду «am» из оболочки adb.

shell@android:/ $ am start -n com.android.chrome/com.google.android.apps.chrome.SimpleChromeActivity -d 'http://www.google.ru'

Google Chrome для Android: уязвимость UXSS и раскрытие учетных данных

Мне кажется, эта проблема с отображением содержимого не связана с безопасностью. Судя по заголовку, Chrome загрузил www.google.ru [3] в SimpleChromeActivity вместо Main, а эта активность имеет доступ к базе Cookies в Chrome. Следующим шагом будет внедрение кода JavaScript.

shell@android:/ $ am start -n com.android.chrome/com.google.android.apps.chrome.SimpleChromeActivity -d 'javascript:alert(document.cookie)' 

Google Chrome для Android: уязвимость UXSS и раскрытие учетных данных

Вот и все, JavaScript был исполнен в контексте домена www.google.ru [3].

Раскрытие учетных данных

Другая проблема — автоматическая загрузка файлов —стала настоящей головной болью при использовании браузеров, подобных Chrome. Если вы открыли бинарный файл в браузере Chrome, то он загрузится в каталог SDCard без вашего подтверждения. То же самое происходило и в стандартном браузере, в котором такая опция использовалась вредоносной программной NonCompatible [4]. Вы можете спросить, как это связано с раскрытием учетных данных. Взгляните на каталог Chrome в системе.

Google Chrome для Android: уязвимость UXSS и раскрытие учетных данных

Только Chrome app может читать эти файлы (такие как Cookies, History и т.д.). Выглядит безопасно. Попробуйте запустить Chrome, используя file:// wrapper, и открыть файл Cookies.

shell@android:/ $ am start -n com.android.chrome/com.android.chrome.Main -d 'file:///data/data/com.android.chrome/app_chrome/Default/Cookies'

Google Chrome для Android: уязвимость UXSS и раскрытие учетных данных

После запуска браузера Cookies будут загружаться/копироваться в /sdcard/Downloads/Cookies.bin, и любое приложение в системе сможет их прочитать.

Я предоставил подробную информацию команде безопасности Chromium, и эти ошибки были устранены в версии 18.0.1025308.

Ссылки:
http://code.google.com/p/chromium/issues/detail?id=138035 [5]
http://code.google.com/p/chromium/issues/detail?id=138210 [6]

Автор: Артем Чайкин.

Автор: ptsecurity

Источник [7]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/uyazvimost/19952

Ссылки в тексте:

[1] Image: http://habrahabr.ru/company/pt/blog/158485/

[2] UXSS-уязвимость: http://blog.watchfire.com/files/advisory-android-browser.pdf

[3] www.google.ru: http://www.google.ru

[4] вредоносной программной NonCompatible: http://blog.mylookout.com/blog/2012/05/02/security-alert-hacked-websites-serve-suspicious-android-apps-noncompatible/

[5] http://code.google.com/p/chromium/issues/detail?id=138035: http://code.google.com/p/chromium/issues/detail?id=138035

[6] http://code.google.com/p/chromium/issues/detail?id=138210: http://code.google.com/p/chromium/issues/detail?id=138210

[7] Источник: http://habrahabr.ru/post/158485/