Невидима заплаха: колко операционни системи има всъщност вашия смартфон?

qualcomm-snapdragon

Когато повечето от нас мислят за „компютър“ (или компютърно устройство), те го разглеждат като съставено от три основни части: хардуер, операционна система и потребителски софтуер (приложения). Това разбира се е официалната дефиниция по въпроса, която ще намерите във всеки учебник по информатик. Тя естествено касае всичко „компютърно“ което ни заобикаля – в това число класически РС, таблети, смартфони – всички така наречени „изчислителни“ устройства.

Истината обаче е далеч по-сложна, а както се оказва и доста по-стряскаща. Защото виждате ли, много малко хора знаят, че техният „умен“ телефон, не използва една операционна система – била тя iOS, Android или Windows Phone, а няколко. Ако сте се занимавали по-задълбочени с добрите, стари персонални компютри или просто сте внимавали повече в часовете по информатика, вероятно вече се досещате за какво точно става дума. Както всяко РС освен Windows (или по-рядко MacOS), разполага и с така наречената BIOS (базова входно – изхода операционна система), така и всеки смартфон включва подобен софтуерен слой от най-ниско ниво. С тази подробност, че при умните телефони нещата стоят дори още по-сложно, тъй като обикновено тези базови OS често са повече – най-често две. Едната от тях е подобна на BIOS системата при персоналните компютри. Другата е операционната система на SIM картата с която те се идентифицират в мрежата на съответния мобилен оператор, която да – също разполага със собствена, примитивна, но напълно функционална OS.

Така, докато вашият телефон привидно работи под управлението на Android, iOS или Windows Phone, успоредно с това тези две операционни системи също изпълняват своите функции, всяка в свой отделен кръг от процеси. Когато изпращате кратко текстово съобщение (SMS) или приемате входящ телефонен разговор именно базовата OS на телефона ви е тази която отговаря за връзката в съответната GSM, IMTS, HSPDA или LTE мрежа. Когато пък ви е нужна информация записана върху SIM картата на вашия телефон – тогава се включва и другата операционна система.

Intel_8742_153056995

На пръв поглед това изглежда относително добра идея за кооперативна, софтуерна симбиоза. Тъй като днес на пазара изобилието от хардуерни компоненти е огромно, би било неимоверно трудно за Google, Apple или Microsoft да създадат код, който да работи еднакво добре с всяка възможна комбинация – достатъчно бързо, надеждно и сигурно. Когато обаче имаме на лице един базов слой от OS на ниско ниво за създателите на операционни системи от по-високо (потребителско) ниво е по-лесно да оптимизират кода си, да го направят по-гъвкав и универсално съвместим.

Отделно тъй като всяка от двете допълнителни OS за които говорим реално работи в своя собствена хардуерна среда (дори SIM картата на вашия телефон разполага с микроскопичен, самостоятелен процесор), това ускорява производителността на цялата SoC (система върху чип).

На финала подобно „разделение на властите“ би трябвало да води и до повишена сигурност, тъй като при равни други условия потребителя не би трябвало да има пряк достъп до базовата или SIM операционна система. Това логично би трябвало да намали опасността от злонамерено вмешателство – било то от страна на хакери, малуеър или от страна на твърде любопитни потребители в системите от ниско ниво, което би довело до драматични последици.

Всичко това разбира се е идеята на теория. На практика обаче споменатите две OS от ниско ниво често са имплементирани по възможно най-лошия и стряскащо несигурен начин. Тъй като днес на пазара ежедневно циркулират милиони смартфони от най-различни марки и модели, изградени от хиляди различни компоненти, дело на къде известни, къде напълно нонейм производители, резултата е една огромна OS бъркотия.

Така например повечето вторични операционни системи, които се вграждат в масовите модели смартфони са собствена разработка на производителя (Qualcomm, Broadcom, Realtek и други) на съответния компонент, който ги използва. Тук разбира се говорим за затворен код, придружен най-често с наличие на много малко или никаква публично достъпна документация относно принципа на действието му.

Освен това въпросния код често е безнадеждно остарял и се ъпдейтва на много нерегулярни интервали от време. Всичко това води до точно обратния на търсеният ефект и превръща масовите умни телефони в много, много несигурни устройства.

55-27243-qualcomm_teaser

И понеже както посочихме информацията по тези въпроси е крайно оскъдна, конкретни примери по темата почти няма. Което разбира се не значи, че липсват напълно. Един от най-широко известните от тях е свързан със собствената операционна система на най-големият производител на смартфон микрочипове в момента – Qualcomm. Нейното име е REX OS и тя се използва в базовите процесори на компанията от 1999 година насам.

Макар да липсват преки индикации се предполага, че Qualcomm са спрели да използват REX OS след 2012 година, но както се досещате официална информация по темата няма. Имайте предвид, че тук става дума за представител на така наречените реално-времеви операционни системи (RTOS), използвана от всички базови чипове (в това число и тези управляващи масовите ARMv5 ядра), която има директен достъп до много от хардуерните компоненти на телефона – говорител, микрофон, както и до същото пространство от оперативната му памет, което използва и основния процесор на устройството. В същото време въпросната REX OS е базирана на изключително остарял код, датиращ от 90-те и разчитащ на комуникационни протоколи, които са дори още по-архаични и датират от 80-те години на миналия век!

Искате да знаете откъде е известен този факт, при условие, че официална документация по темата липсва? Много просто – благодарение на група хакери, „разкостили“ въпросната REX OS по метода на обратния инженеринг (reverse engineering).

Дори и да нямате специализирани познания в областта, лесно можете да се досетите защо масовото използване на софтуерен код, базиран на безнадеждно остарели стандарти и протоколи никак не е добра идея. Експертите в областта например посочват, че REX OS позволява автоматично изпълнение на команди, които устройството което я използва приема по въздуха (т.е. през мобилната радио мрежа в която то оперира). Както се досещате не всички подобни команди са свързани с невинни операции – някой от тях включват доста притеснителни неща като например активация на автоматичен отговор (т.е. телефона ви да отговори на входящо повикване без ваша намеса), изпълнение на злонамерен код, който да позволи управление на смартфона от разстояние или просто да го блокира тотално. И което е по-лошо за целта дори не се изисква достъп до някоя от базовите станции на вашия мобилен оператор – на теория всеки с достатъчно ресурси и умения може да настрои свой собствен излъчвател и използвайки тези слабости на системата да причини доста хаос.

3x01_-_Cloning_phone

Друг страничен ефект от подобни пробиви са така наречените „джейл брейкове“ осигуряващи на потребителите опции за достъп до системите на телефона от най-ниско ниво, каквото те по принцип не би трябвало да имат. Така, че следващия път когато чуете за „джейлбрейк експлойт“ на поредния модел iPhone, можете да сте почти 100 процента сигурни, че става дума за пробив, станал възможен благодарение на слабост в някоя от неговите базови OS.

Естествено едно от най-очевидните решения на този проблем е скъсване с модела на затворените софтуерни и хардуерни решения. Вече има някой индикации, че част от водещите компании в бранша преминават към решения с отворен код от типа на OKL4, но отново – при липса на официална информация по въпроса всичко това са по-скоро догадки и спекулации.
Тъй като конкуренцията в сектора е жестока, едва ли можем скоро да очакваме комерсиални компании като Qualcomm да станат по открити по темата и да започнат да споделят повече публична информация относно произвежданите от тях чипове.

Междувременно имайте едно на ум относно двойственият, дори тройнствен OS характер на вашия нов смартфон, който го прави уязвим, макар и осъзнавайки, че реално не можете да направите нищо по въпроса.

В същото време сами разбирате, че да се говори по тези въпроси е важно – в противен случай големите производители, които движат този пазар едва ли ще се заемат да променят нещата. Повечето от тях нямат и особен мотив да го правят – те разчитат на факта, че хората разполагащи с достатъчно специализирани познания и достъп до ресурсите необходими им, за да се възползват от споменатите пробиви в базовите операционни системи са относително малко на брой – респективно и риска за сигурността на различните устройства в продажба е пренебрежимо малък.

В същото време за тези които имат достъп до нужната информация и разполагат с нужните ресурси, за да се възползват от нея (различните правителствени служби например), едва ли би представлявал особен проблем да осъществят намеренията си така или иначе.

Факта, че не може да се промени всичко – целият съществуващ модел обаче, в никакъв случай не означава, че не бива да се променя нищо. В този конкретен случай, опортюнизма просто не е решение.

 

Author: Драгомир Дончев

Share This Post On

Submit a Comment

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *