О второй операционной системе в каждом мобильном телефоне

iXBT.com начинает публикацию переводов аналитических материалов известных англоязычных IT-блоггеров и журналистов. Новые статьи будут выходить в разделе iT-среда три раза в неделю. Если у вас есть пожелания по рубрике, любые соображения или замечания — пишите в комментариях к статье!

Я всегда это знал (и, уверен, большинство из вас тоже), но об этом никогда не говорят. В каждом смартфоне и вообще любом устройстве с коммуникационными функциями (напр. 3G или LTE) работает не одна, а две операционные системы. Помимо операционной системы для конечного пользователя (Android, iOS, PalmOS) есть также маленькая система для управления всем, что касается радиосвязи. Эта функциональность критически зависит от времени, в силу чего требуется операционная система реального времени.

Эта операционная система хранится в прошивке и работает на коммуникационном процессоре. Насколько я знаю, эта RTOS (операционная система реального времени) всегда полностью проприетарна. Так, в коммуникационных процессорах Qualcomm (например, MSM6280) RTOS называется AMSS. Она основана на собственном проприетарном ядре REX и выполняет до 69 одновременных процессов, отвечающих за функционирование модулей от USB до GPS. Система работает на процессоре ARMv5.

Проблема очевидна: данные коммуникационные программы и проприетарное закрытое ПО, которое на них работает, мало изучены, по ним нет экспертных обзоров. И это очень странно, учитывая огромную роль этого софта в функционировании современного коммуникационного устройства. Можно предположить, что коммуникационные RTOS обладают высокой безопасностью и защищенностью, однако это не так. Можно иметь на смартфоне самую безопасную мобильную операционную систему в мире, но при этом там будет еще одна — малоизвестная, плохо задокументированная, проприетарная, в которой мы полностью зависим от Qualcomm, Infineon и др.

Низкий уровень безопасности коммуникационного ПО — это не ошибка, а часть плана. Те стандарты, которые описывают коммуникационные процессоры и работу радиоинтерфейсов, были разработаны в 80-е годы. Между тем, в 90-е для них были написаны большие объемы сложного кода с характерным для 90-х подходом к безопасности. Например, там нет защиты от эксплойтов, и они могут там легко запускаться. Что еще хуже, каждый коммуникационный процессор по определению доверяет любым данным, которые получает с базовой станции (напр. сотовой связи). Никаких проверок, все данные считаются доверенными автоматически. Наконец, коммуникационный процессор обычно является мастером, тогда как прикладной (на котором работает мобильная ОС) — слейвом.

Таким образом, у нас есть законченная операционная система на ARM-процессоре безо всякой (или с очень небольшой) защиты от эксплойтов, которая автоматически доверяет любым инструкциям, любому коду и данным, которые получает от базовой станции, к которой вы подключены. Какие могут возникнуть проблемы?

Специалист по безопасности Ральф-Филипп Вейнман из Люксембургского университета подверг реинжинирингу ПО коммуникационных процессоров Qualcomm и Infineon и нашел огромное количество ошибок, каждая из которых является потенциальной уязвимостью. Написанные для них эксплойты могут привести к сбою в устройстве, а удаленный злоумышленник может даже получить возможность выполнить код. И учтите: все это делается в беспроводном режиме. Одна обнаруженная им уязвимость требовала для выполнения стороннего кода послать всего одно 73-байтовое сообщение. Без подключения проводов.

Такие эксплойты позволяют делать сумасшедшие вещи. Например, с помощью набора команд Hayes можно включить автоответчик. Этот командный язык для модемов был разработан в 1981 году и до сих пор работает на современных коммуникационных процессорах в большинстве смартфонов! Автоответчик можно также сделать бесшумным и невидимым.

Можно подумать, что в базовых станциях крупных операторов мобильной связи все «безопасно», но дело в том, что базовые станции постоянно дешевеют, сейчас их можно купить даже на eBay. Существует открытое ПО для базовых станций. С таких станций можно совершать атаки на телефоны. Ставим «скомпрометированную» базовую станцию в людном месте (или деловом районе, или каком-то другом потенциально интересном месте), и можно удаленно включать микрофоны и камеры, загружать руткиты, звонить и посылать SMS на дорогие номера и т. п. Можно даже полностью выводить телефоны из строя.

Это довольно серьезная проблема, но мы о ней редко слышим. Речь идет о настолько низкоуровневом и сложном ПО, что, я думаю, очень немногие люди в мире хорошо знают, что там происходит.

Эта сложность — одна из причин, почему столь непросто написать собственное коммуникационное ПО. Список стандартов, описывающих один только протокол GSM, невероятно длинный, а это всего лишь GSM. К нему еще нужно добавить UMTS, HSDPA и т. д. и т. п. И естественно, все это окутано абсурдно сложной системой патентов. Ну и наконец, надзорные органы требуют, чтобы коммуникационное ПО было сертифицировано.

Если собрать все это воедино, становится понятно, почему все производители сотовых телефонов используют готовые стандартные коммуникационные процессоры и сопутствующее ПО. Это не значит, что абсолютно в каждом смартфоне какие-то программы постоянно работают (при включенном устройстве), но это практически черный ящик. Если посмотреть, что происходит в коммуникационном ПО, то в нем оказывается масса багов и проблем, что приводит нас к вопросу: сколько еще будет продолжаться эта неопределенная ситуация?

Отрезвляет, когда думаешь, что мобильные коммуникации — краеугольный камень современного мира и в развитых, и в развивающихся странах — основаны на ПО спорного качества, плохо изученном, полностью проприетарном и изначально полностью незащищенном.

Thom Holwerda
OSNews



4 декабря 2013 Г.

Thom Holwerda, OSNews. � ������ ������������ ������� � ������ ��������� ��������

� ������ ������������ ������� � ������ ��������� ��������

iXBT.com �������� ���������� ��������� ������������� ���������� ��������� ������������ IT-��������� � �����������. ����� ������ ����� �������� � ������� iT-����� ��� ���� � ������. ���� � ��� ���� ��������� �� �������, ����� ����������� ��� ��������� — ������ � ������������ � ������!

� ������ ��� ���� (�, ������, ����������� �� ��� ����), �� �� ���� ������� �� �������. � ������ ��������� � ������ ����� ���������� � ����������������� ��������� (����. 3G ��� LTE) �������� �� ����, � ��� ������������ �������. ������ ������������ ������� ��� ��������� ������������ (Android, iOS, PalmOS) ���� ����� ��������� ������� ��� ���������� ����, ��� �������� ����������. ��� ���������������� ���������� ������� �� �������, � ���� ���� ��������� ������������ ������� ��������� �������.

��� ������������ ������� �������� � �������� � �������� �� ���������������� ����������. ��������� � ����, ��� RTOS (������������ ������� ��������� �������) ������ ��������� ������������. ���, � ���������������� ����������� Qualcomm (��������, MSM6280) RTOS ���������� AMSS. ��� �������� �� ����������� ������������� ���� REX � ��������� �� 69 ������������� ���������, ���������� �� ���������������� ������� �� USB �� GPS. ������� �������� �� ���������� ARMv5.

�������� ��������: ������ ���������������� ��������� � ������������� �������� ��, ������� �� ��� ��������, ���� �������, �� ��� ��� ���������� �������. � ��� ����� �������, �������� �������� ���� ����� ����� � ���������������� ������������ ����������������� ����������. ����� ������������, ��� ���������������� RTOS �������� ������� ������������� � �������������, ������ ��� �� ���. ����� ����� �� ��������� ����� ���������� ��������� ������������ ������� � ����, �� ��� ���� ��� ����� ��� ���� — �������������, ����� �������������������, �������������, � ������� �� ��������� ������� �� Qualcomm, Infineon � ��.

������ ������� ������������ ����������������� �� — ��� �� ������, � ����� �����. �� ���������, ������� ��������� ���������������� ���������� � ������ ����������������, ���� ����������� � 80-� ����. ����� ���, � 90-� ��� ��� ���� �������� ������� ������ �������� ���� � ����������� ��� 90-� �������� � ������������. ��������, ��� ��� ������ �� ����������, � ��� ����� ��� ����� �����������. ��� ��� ����, ������ ���������������� ��������� �� ����������� �������� ����� ������, ������� �������� � ������� ������� (����. ������� �����). ������� ��������, ��� ������ ��������� ����������� �������������. �������, ���������������� ��������� ������ �������� ��������, ����� ��� ���������� (�� ������� �������� ��������� ��) — �������.

����� �������, � ��� ���� ����������� ������������ ������� �� ARM-���������� ���� ������ (��� � ����� ���������) ������ �� ����������, ������� ������������� �������� ����� �����������, ������ ���� � ������, ������� �������� �� ������� �������, � ������� �� ����������. ����� ����� ���������� ��������?

���������� �� ������������ �����-������ ������� �� ��������������� ������������ ������� ������������� �� ���������������� ����������� Qualcomm � Infineon � ����� �������� ���������� ������, ������ �� ������� �������� ������������� �����������. ���������� ��� ��� ��������� ����� �������� � ���� � ����������, � ��������� ������������� ����� ���� �������� ����������� ��������� ���. � ������: ��� ��� �������� � ������������ ������. ���� ������������ �� ���������� ��������� ��� ���������� ���������� ���� ������� ����� ���� 73-�������� ���������. ��� ����������� ��������.

����� ��������� ��������� ������ ����������� ����. ��������, � ������� ������ ������ Hayes ����� �������� ������������. ���� ��������� ���� ��� ������� ��� ���������� � 1981 ���� � �� ��� ��� �������� �� ����������� ���������������� ����������� � ����������� ����������! ������������ ����� ����� ������� ��������� � ���������.

����� ��������, ��� � ������� �������� ������� ���������� ��������� ����� ��� «���������», �� ���� � ���, ��� ������� ������� ��������� ��������, ������ �� ����� ������ ���� �� eBay. ���������� �������� �� ��� ������� �������. � ����� ������� ����� ��������� ����� �� ��������. ������ «�������������������» ������� ������� � ������ ����� (��� ������� ������, ��� �����-�� ������ ������������ ���������� �����), � ����� �������� �������� ��������� � ������, ��������� �������, ������� � �������� SMS �� ������� ������ � �. �. ����� ���� ��������� �������� �������� �� �����.

��� �������� ��������� ��������, �� �� � ��� ����� ������. ���� ���� � ��������� �������������� � ������� ��, ���, � �����, ����� �������� ���� � ���� ������ �����, ��� ��� ����������.

��� ��������� — ���� �� ������, ������ ����� �������� �������� ����������� ���������������� ��. ������ ����������, ����������� ���� ������ �������� GSM, ���������� �������, � ��� ����� ���� GSM. � ���� ��� ����� �������� UMTS, HSDPA � �. �. � �. �. � �����������, ��� ��� ������� �������� ������� �������� ��������. �� � �������, ��������� ������ �������, ����� ���������������� �� ���� ���������������.

���� ������� ��� ��� �������, ���������� �������, ������ ��� ������������� ������� ��������� ���������� ������� ����������� ���������������� ���������� � ������������� ��. ��� �� ������, ��� ��������� � ������ ��������� �����-�� ��������� ��������� �������� (��� ���������� ����������), �� ��� ����������� ������ ����. ���� ����������, ��� ���������� � ���������������� ��, �� � ��� ����������� ����� ����� � �������, ��� �������� ��� � �������: ������� ��� ����� ������������ ��� �������������� ��������?

����������, ����� �������, ��� ��������� ������������ — ������������ ������ ������������ ���� � � ��������, � � ������������� ������� — �������� �� �� �������� ��������, ����� ���������, ��������� ������������� � ���������� ��������� ������������.


Thom Holwerda
OSNews