Јанус Екплоит омогућава нападачима да мењају апликације без утицаја на потписе

Јанус рањивост омогућава нападачима да модификују апликације без утицаја на њихове потписе. Открио га је ГуардСкуаре, а Гугл га је поправио.

Андроид је инсталиран на огромном броју уређаја и то га чини метом злонамерних нападача. Рањивости у Гоогле-овом мобилном оперативном систему и даље се откривају сваког месеца, али добра вест је да Гугл је обично марљиво да их поправи у редовним безбедносним закрпама које се затим нуде ОЕМ произвођачима, који их затим испоручују уређаја.

Недавно су истраживачи безбедности открили рањивост који је преварио кориснике да дозволе нападачима да сниме екран свог уређаја. Тај конкретан подвиг је поправљен у Андроид Орео-у, али аналитичари на ГуардСкуаре недавно је пријавио још једну озбиљну рањивост која утиче на Андроид апликације потписане старијим шемама потписа.

ГуардСкуареУ извештају се наводи да је Јанусрањивост (ЦВЕ-2017-13156) у Андроид-у омогућава нападачима да модификују код у апликацијама без утицаја на њихове потписе. У извештају се даље каже да је корен рањивости то што датотека може бити важећа АПК датотека и важећа ДЕКС датотека у исто време.

Јанус користи чињеницу да додатни бајтови остају непримећени у АПК датотекама и ДЕКС датотекама. Тхе ГуардСкуаре извештај објашњава да је АПК датотека ЗИП архива која може да садржи произвољне бајтове на почетку, пре и између својих ЗИП уноса. ЈАР шема потписа узима у обзир само ЗИП уносе, занемарујући све додатне бајтове приликом израчунавања или верификације потписа апликације.

Даље објашњава да ДЕКС датотека, с друге стране, може садржати произвољне бајтове на крају - после регуларних секција стрингова, класа, дефиниција метода итд. Према томе, датотека може бити важећа АПК датотека и важећа ДЕКС датотека у исто време.

ГуардСкуаре такође помиње да је кључни елемент рањивости „безопасна“ карактеристика Далвик/АРТ виртуелне машине. У извештају се наводи да у теорији Андроид рунтиме учитава АПК датотеку, извлачи њену ДЕКС датотеку и затим покреће њен код. Међутим, у пракси, виртуелна машина (ВМ) може да учита и изврши и АПК датотеке и ДЕКС датотеке. Проблем је у томе што када ВМ добије АПК датотеку, он и даље гледа магичне бајтове у заглављу да би одлучио који је тип датотеке: ДЕКС или АПК. Када пронађе ДЕКС заглавље, учитава датотеку као ДЕКС датотеку. Ако не пронађе заглавље, учитава датотеку као АПК датотеку која садржи зип унос са ДЕКС датотеком. Дакле, може погрешно протумачити двоструке ДЕКС/АПК датотеке.

ГуардСкуаре каже да нападач може искористити ову функцију дуалности ВМ-а да дода злонамерну ДЕКС датотеку у нормалну АПК датотеку без утицаја на њен потпис. Андроид рунтиме ће прихватити АПК датотеку као важећу исправку за легитимну ранију верзију апликације, али Далвик ВМ ће учитати код из ДЕКС датотеке у коју је убачен злонамерни код.

Обично, кад год корисник инсталира ажурирану верзију апликације, Андроид рунтиме верификује потпис апликације како би се осигурало да се подудара са старијом верзијом. Када је верификација позитивна, ажурирана апликација добија дозволе које су биле додељене оригиналној апликацији. На овај начин, нападачи могу да искористе Јанус рањивост да заобиђу процес верификације потписа и добију непроверени код инсталиран на уређајима несуђених корисника.

Што је још горе, овај непроверени код може добити приступ моћним дозволама. Ово ствара неке озбиљне могућности. ГуардСкуаре државе:

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

Компанија је додала да до сада нису видели ниједну апликацију која експлоатише Јанус у дивљини. Друга добра вест је да рањивост захтева од корисника да инсталира злонамерно ажурирање са извора изван Гоогле Плаи продавнице. Стога су заштићени корисници који ограничавају инсталирање апликације на Плаи продавницу.

Јанус рањивост утиче на уређаје који користе Андроид 5.0+. То утиче на апликације које су потписане шемом АПК потписа в1. АПК-ови потписани шемом потписа в2 су заштићени од рањивости. Ово захтева да АПК-ови раде на уређајима који подржавају најновију шему потписа (Андроид 7.0 и новији). Шема в2 је заштићена јер за разлику од шеме в1, узима у обзир све бајтове у АПК датотеци.

„Старије верзије апликација и новије апликације које раде на старијим уређајима остају подложне. Програмери би требало да бар увек примењују шему потписа в2,“ ГуардСкуаре државе.

ГуардСкуаре пријавио овај проблем Гоогле-у 31. јула 2017. и примио потврду истог дана. Извештај компаније каже да је Гоогле објавио закрпу својим партнерима у новембру и објавио грешку (ЦВЕ-2017-13156) у Андроид безбедносном билтену 4. децембра 2017. Рањивост има је поправљено у безбедносној закрпи за Андроид из децембра 2017. Одвојено, потврђено је да су Ф-Дроид апликације из њиховог званичног спремишта безбедне. На крају, потврђено је да је рањивост закрпљена АПКМиррор.


Извор: ГуардСкуаре