Фонд свободного ПО уведомил (https://www.fsf.org/blogs/community/replicant-developers-find-and-close-samsung-galaxy-backdoor) пользователей о выявлении бэкдора (http://redmine.replicant.us/projects/replicant/wiki/SamsungGalaxyBackdoor) в штатной Android-прошивке, используемой в портативных устройствах серии Samsung Galaxy и Nexus. Бэкдор обнаружен в процессе создания свободного варианта прошивки на базе платформы Android, развиваемого проектом Replicant (http://replicant.us/) и включающего в себя только свободный код, без использования проприетарных компонентов и закрытых драйверов.
В процессе изучения работы телефонов Samsung разработчики Replicant обратили внимание, что один из поставляемых в системе проприетарных компонентов (libsec-ril.so), отвечающих за обработку протокола связи с модемом (baseband-процессор, обеспечивающим работу GSM-стека), содержит функции бэкдора, позволяющего через модем выполнять удалённые операции ввода/вывода с файловой системой. При помощи данного компонента через модем могут быть инициированы операции чтения, записи и удаления файлов, размещённых в хранилище телефона, в том числе на SD-карте.
В некоторых вариантах прошивки, кроме доступа к файлам, данный компонент также обладает правами, достаточными для чтения и модификации персональных данных пользователя. В прошивках, использующих SELinux (обновление Android 4.2 для Nexus), область доступа бэкдора к файлам существенно ограничена. При установке свободной прошивки Replicant бэкдор блокируется, так как вместо проприетарного компонента используется Samsung-RIL и libsamsung-ipc — свободные реализации RIL-прослойки и протокола Samsung IPC. В прошивке CyanogenMod 10.1.3 для устройств Samsung Galaxy используется оригинальный компонент связи с модемом от компании Samsung, содержащий бэкдор.
Современные мобильные телефоны снабжены двумя процессорами: прикладным процессором, используемым для выполнения операционной системы и приложений, и baseband-процессором (модем), обеспечивающим взаимодействие с мобильной телефонной сетью. Проблема состоит в том, что на baseband-процессоре всегда выполняются специализированные проприетарные операционные системы, в которых присутствуют бэкдоры, позволяющие использовать модем в качестве устройства для удалённого прослушивания. Так как модем практически постоянно подключен к сети, бэкдор также постоянно доступен для использования.
При полной изоляции прикладного процессора и модема действие бэкдора ограничено контролем за микрофоном, но подобная изоляция реализована лишь в небольшом числе моделей, в большинстве устройств со стороны модема можно получить полный контроль за прикладным процессором, что открывает возможности по чтению местоположения через GPS и средствам для использовании камеры. Выявленная разработчиками Replicant активность, также свидетельствует о возможности получения доступа модема и к данным пользователя, хранимым в файловой системе, используя промежуточные программные прослойки.
Фонд СПО призвал пользователей устройств Samsung Galaxy потребовать у Samsung разъяснений и публикации исходного кода компонента для взаимодействия с модемом, без бэкдора, чтобы дать возможность подготовить полноценные свободные прошивки для смартфонов и планшетов Samsung. Тем не менее, несмотря на то, что Replicant заменяет проблемный компонент, в случае наличия в модеме средств для получения контроля за прикладным процессором, модем может выполнить произвольный код и обойти любые ограничения прикладной операционной системы.
Дополнение: Ден Розенберг (Dan Rosenberg), известный исследователь безопасности мобильных устройств, в своё время удостоенный премии Pwnie Awards за разработку нескольких техник эксплуатации уязвимостей в ядре Linux, высказал мнение, что называть выявленную проблему бэкдором преждевременно.
- Во-первых, нет прямых доказательств возможность удалённого использования выявленной проблемы, а Фонд СПО нагнетает краски в пылу противостояния с проприетарным ПО.
- Во-вторых, для большинства устройств права доступа к ФС ограничены пользователем radio, который тем не менее может получить доступ к файлам на SD-карте (чтение с SD-карты может быть осуществлено любым приложением в Android).
- В-третьих, проблема похожа на банальную уязвимость через обход пути, вызванную отсутствием должных проверок. В частности, не блокируется использование «..» в пути, что позволяет выйти за пределы директории /efs/root, в которой размещены необходимые для работы модема файлы (например, доступ к ФС может потребоваться для записи лога с диагностикой модема).