ПСА: Пазите да инсталирате било шта са СЕЛинуком подешеним на дозвољено

Недокументована Андроид функција омогућава било којој произвољној апликацији да добије роот приступ у дозвољеном СЕЛинук окружењу. Читајте даље да бисте сазнали више!

У свету Андроид моддинга, људи имају тенденцију да приступ роот-у сматрају каменом темељцем свих ствари. Омогућава корисницима да преузму потпуну контролу над својим уређајима и додају функције које нису увек доступне у основној конфигурацији. Али како кажу — „са великом снагом долази и велика одговорност“ — није мудро заобићи Андроид-ов безбедносни модел осим ако не знате у шта се упуштате. За ветеране Андроид ентузијасте на нашим форумима, вероватно сте свесни потенцијала да бацкдоорс постоје на вашем уређају, и већа је вероватноћа да ћете користити поуздани мод са омогућеним роот-ом на врху најновије верзије Андроид-а са најновијом безбедношћу закрпе. Рекавши то, можда познајете неколико људи којима није стало до тога које роот подешавања инсталирају све док наизглед раде за њих. Због тога још увек можете пронаћи гомилу модова који раде само када је СЕЛинук подешен на дозвољено, што заузврат чини њихове кориснике изузетно подложним безбедносним претњама.

Шта је СЕЛинук

СЕЛинук, или Безбедносно побољшан Линук, је безбедносни модул Линук кернела посебно дизајниран за приступ и управљање безбедносним политикама. Првобитно представљен у Андроиду 4.3 Јелли Беан и постављен на режим Енфорцинг као подразумевани од Андроид-а 4.4 КитКат, СЕЛинук помаже у спровођењу права контроле приступа и покушава да спречи ескалацију привилегија напада. Укратко, СЕЛинук делује као препрека за неовлашћену контролу над вашим уређајем, као што је апликација или рањивост која има за циљ злонамерни приступ роот-у. Подешавање СЕЛинук-а на „Енфорцинг“ подразумевано је један од кључних начина на који су обични корисници заштићени од таквих напада.

Зашто се Пермиссиве СЕЛинук не препоручује

Да поновимо, типичан начин да се постигне роот приступ на Андроид уређају не мора нужно да промени статус СЕЛинук-а. Промена режима СЕЛинук са „Енфорцинг“ на „Пермиссиве“ намерно онемогућава једну од кључних безбедносних функција на уређају, због чега корисник мора експлицитно да дозволи да се то деси инсталирањем специјализованог прилагођеног кернела или изменом параметара постојећег имиџа за покретање. Лоше кодирани мод који нема одговарајућу СЕЛинук политику обично приморава крајње кориснике да пређу на дозвољени СЕЛинук и у суштини проширује површину напада. То је управо оно што програмер ввб2060 демонстрирали када су објавио доказ методе ескалације привилегија концепта где је једини услов за добијање контроле дозвољени СЕЛинук.

Улази Магица

Шокантно је лако да корисник добије потпуни роот приступ на свом уређају који користи Андроид 10 (или новији) са СЕЛинуком подешеним на дозвољено урадите: Све што треба да урадите је да притиснете инсталл, и "Магица" ће аутоматски добити роот приступ у сервису и инсталирати Магиск на покретање слика. Ово је нешто много ширег обима него само подешавање вашег уређаја. Према КСДА Сениор Рецогнизед Девелопер и Магиск одржавачу топјохнву, било коју произвољну апликацију, укључујући малвер, може трајно да роот ваш уређај без вашег пристанка и дозволе коришћењем ПоЦ-а.

Ако се на техничком нивоу питате шта Магица експлоатише, топјохнву је објаснио следеће у пост на Реддиту:

„Када је СЕЛинук дозвољен током покретања, зиготе ће то знати и онемогућити сеццомп системске филтере. Ово у основи неограничава који су системски позиви дозвољени у процесима треће стране.

На Андроиду 10+ постоји нова „недокументована“ функција под називом „Апп Зиготе“ где је апликацијама трећих страна дозвољено да стварају сопствени Зиготе за „изоловане услуге“ (такође скоро недокументоване). И „Апп Зиготе“ и „Изоловане услуге“ су посебне функције дизајниране за Цхроме/Вебвиев*. Процеси апликације Зиготе се покрећу са посебним дозволама, а са онемогућеним сеццомп-ом, може позвати сетуид 0 и ескалирати своју привилегију и добити роот приступ.

И даље је некако рестриктивно у поређењу са оним што пружају нормална роот решења (нпр. Магиск), међутим тоне безбедносних мера у Андроиду ће бити потпуно поражене када је УИД=0. На пример, довољно је да се користи за закрпање слика за покретање система, што значи да се може користити за убацивање малвера као што је модификовани Магиск да би му се помогло да добије "праве" роот дозволе.

Ажурирање: шта може сам УИД=0? У оквиру Андроид-а, скоро све услуге имају слепо зелено светло када је УИД процеса који захтева 0. То значи да је овај основни процес способан да манипулише тонама ствари помоћу АПИ-ја специфичних за Андроид (нпр. АцтивитиМанагер)“

*Према програмеру авиракп, ове две карактеристике су генерално дизајниране „за дељење ресурса и меморије између више изолованих процеса“.

Закључак

Узимајући у обзир непоправљиву штету која се може нанети корисницима на мети злонамерног софтвера у пермисивном СЕЛинук окружењу, снажно предлажемо свима да га примењују осим ако није апсолутно неопходно. Иако смо само срећни што имамо доказ о експлоатацији концепта, немамо појма колико аутора злонамерног софтвера већ зна за овај пут напада. На крају крајева, жртва ће и даље остати несвесна компромитованог стања свог уређаја ако то није учинила сведочите да се експлоат активно користи, што није тешко постићи за лажну апликацију која има упоран роот приступ.