18 марта 2014

Есть ли «черный ход» в Samsung Galaxy?

Безопасность

Благодаря найденному недавно бэкдору некоторые модели смартфонов и планшетов Samsung, судя по всему, могут быть превращены в мобильных шпионов, удаленно управляемых злоумышленниками. В это можно было бы поверить без всяких сомнений, если бы не одно «но»: о находке сообщил разработчик проекта Replicant — модификации ОС Android, состоящей исключительно из открытых компонентов.

Бэкдор в Samsung Galaxy

Уязвимость, если верить исследователям, актуальна для «большинства проприетарных модификаций Android» (то есть практически для всех коммерческих версий ОС) и присутствует во множестве устройств серии Galaxy южнокорейской компании: Nexus S, S2, S4, Note, Note 3, Nexus, семи- и десятидюймовых Tab 2, а также Note 2.

Дело в том, что все эти девайсы содержат в себе встроенный модем (он связан с процессором, отвечающим за связь с сотовой сетью), который в конечном итоге имеет права на работу с внутренней памятью устройства, оперируя расположенными в ней данными. Делать это ему позволяет программа Android’s Radio Interface Layer — своего рода драйвер, присутствующий во всех перечисленных выше устройствах. Именно он и разрешает производить удаленные действия с файлами, используя специальный набор команд, которые ему посылает модем. Звучит несколько запутанно, но именно таким образом заинтересованные лица могут добраться до содержимого телефона или планшета. Обнаруживший эту особенность программист Пол Косьялковски (Paul Kocialkowski) затрудняется сказать, были ли эти команды встроены в девайсы намеренно или случайно, но уверен в одном: их присутствие в любом случае недопустимо.

Возникает резонный вопрос: если сам модем может считывать, записывать и удалять файлы, то что нужно сделать, чтобы получить доступ к этому модему? Собственно, именно этим — по сути, главным — вопросом задались все, кто ознакомился с открытием Косьялковски.

Одним из заинтересовавшихся стал Дэн Розенберг (Dan Rosenberg) — известный хакер-энтузиаст и специалист в области безопасности Android. В частности, в статье на популярном сайте Ars Technica он упомянул о том, что расковырявшим бэкдор специалистам из Replicant пришлось подготовить специальный эксплойт, чтобы пробиться к злосчастному модему. При этом никаких доказательств того, что атакующий может управлять функциональностью модема удаленно, разработчики не предоставили. Что, как говорится, наводит на некоторые сомнения.

Основная проблема связана не с бэкдором, а с отсутствием в Android четкой системы исправления уязвимостей.

Основная мысль Розенберга заключается в том, что озвученные Косьялковски опасения несколько преувеличенны, если не сказать надуманны, а найденная уязвимость — следствие скорее безграмотно запрограммированных функций, нежели намеренного добавления бэкдора. Более того, специалист уверен, что для реализации удаленного управления модемом с целью несанкционированного вмешательства в содержимое памяти смартфонов и планшетов требуется куда больше усилий, чем может показаться после ознакомления с работой автора Replicant. Реакцию Розенберга можно понять: Косьялковски, обнаруживший уязвимость в «большинстве проприетарных модификаций Android», работает над версией операционки Google, основанной исключительно на open-source-компонентах, и заинтересован в предоставлении коммерческих версий в не самом выгодном свете. Налицо очевидный конфликт интересов.

С другой стороны, настоящая проблема на самом деле связана не с бэкдором (каким бы он ни был), а с тем фактом, что в мобильной ОС производства Google практически отсутствует четкая система исправления связанных с безопасностью уязвимостей. Будучи в известном смысле open-source-проектом, Android установлен на огромное количество разных устройств разных производителей, каждый из которых готовит, как правило, свою собственную сборку, заточенную под определенный набор девайсов. Такое положение дел неизбежно приводит к разветвлению платформы.

Таким образом, всегда есть вероятность того, что та или иная уязвимость будет актуальна для одних сборок и никак не будет влиять на другие. Когда найденный баг исправляется очередным патчем, производителю нужно сперва изготовить специализированное обновление прошивки, убедиться в том, что он совместим со всем соответствующим программным и аппаратным обеспечением, а затем дождаться одобрения от операторов сотовой связи, которые проведут проверки со своей стороны и убедятся, что апдейт не окажет негативного влияния на работу устройств в их сетях. Только после этого обновление отправляется пользователям. И это то, как процесс должен проходить в идеале. В действительности же операторы и производители тестируют обновления как им вздумается, а это время от времени приводит к тому, что разработанный патч вовсе не доходит до адресатов.

Как не вспомнить в данном контексте компанию Apple, которая является единственным источником всех обновлений iOS: если уж она выпустила патч, то мало что может остановить его на пути к пользователю.