Januse haavatavus võimaldab ründajatel rakendusi muuta, ilma et see mõjutaks nende allkirju. Selle avastas GuardSquare ja Google on selle parandanud.
Android on installitud suurele hulgale seadmetele ja see muudab selle pahatahtlike ründajate sihtmärgiks. Google'i mobiilioperatsioonisüsteemi haavatavusi avastatakse jätkuvalt iga kuu, kuid hea uudis on see, et Google on tavaliselt hoolas nende parandamisel tavalistes turvapaikades, mida seejärel pakutakse originaalseadmete tootjatele, kes saadavad selle seadmeid.
Hiljuti avastasid turvateadlased haavatavuse mis pettis kasutajaid lubama ründajatel oma seadme ekraani salvestada. See konkreetne ärakasutamine parandati Android Oreos, kuid analüütikud kl GuardSquare teatas hiljuti teisest tõsisest haavatavusest, mis mõjutab Androidi rakendusi, mis on allkirjastatud vanemate allkirjaskeemidega.
GuardSquarearuandes öeldakse, et Jaanushaavatavus (CVE-2017-13156) Androidis võimaldab ründajatel rakendustes koodi muuta, ilma et see mõjutaks nende allkirju. Aruandes öeldakse, et haavatavuse juur seisneb selles, et fail võib olla samaaegselt kehtiv APK-fail ja kehtiv DEX-fail.
Janus kasutab ära asjaolu, et lisabaidid jäävad APK-failides ja DEX-failides märkamatuks. The GuardSquare aruanne selgitab, et APK-fail on ZIP-arhiiv, mis võib ZIP-kirjete alguses, enne ja vahel sisaldada suvalisi baite. JAR-i allkirjaskeem võtab arvesse ainult ZIP-kirjeid, ignoreerides rakenduse allkirja arvutamisel või kontrollimisel lisabaite.
Edasi selgitatakse, et DEX-fail seevastu võib sisaldada suvalisi baite lõpus - pärast stringide, klasside, meetodi definitsioonide jne tavalisi sektsioone. Seetõttu võib fail olla samaaegselt kehtiv APK-fail ja kehtiv DEX-fail.
GuardSquare mainib ka, et haavatavuse põhielement on Dalvik/ART virtuaalmasina "kahjutu" funktsioon. Aruandes öeldakse, et teoreetiliselt laadib Androidi käitusaeg APK-faili, ekstraktib selle DEX-faili ja käivitab seejärel selle koodi. Kuid praktikas saab virtuaalmasin (VM) laadida ja käivitada nii APK-faile kui ka DEX-faile. Probleem on selles, et kui VM saab APK-faili, vaatab see ikkagi päises olevaid võlubaite, et otsustada, mis tüüpi failiga on tegu: DEX või APK. DEX-päise leidmisel laadib see faili DEX-failina. Kui see päist ei leia, laadib see faili APK-failina, mis sisaldab ZIP-kirjet koos DEX-failiga. Seega võib see kahte DEX/APK-faili valesti tõlgendada.
GuardSquare ütleb, et ründaja saab seda VM-i duaalsust kasutada, et lisada tavalisele APK-failile pahatahtlik DEX-fail ilma selle allkirja mõjutamata. Androidi käituskeskkond aktsepteerib APK-faili kui kehtivat seadusliku varasema rakenduse versiooni värskendust, kuid Dalvik VM laadib koodi DEX-failist, kuhu on sisestatud pahatahtlikku koodi.
Tavaliselt, kui kasutaja installib rakenduse värskendatud versiooni, kontrollib Androidi käituskeskkond rakenduse allkirja, et tagada selle vastavus vanemale versioonile. Kui kinnitus on positiivne, saab värskendatud rakendus õigused, mis olid antud algsele rakendusele. Nii saavad ründajad Januse haavatavust kasutada allkirjade kontrollimise protsessist mööda hiilimiseks ja pahaaimamatute kasutajate seadmetesse installitud kontrollimata koodi.
Veelgi hullem on see, et see kinnitamata kood võib saada juurdepääsu võimsatele lubadele. See annab mõned tõsised võimalused. GuardSquare ütleb:
"Ründaja võib selle lubade kuritarvitamiseks asendada kõrgete õigustega usaldusväärse rakenduse (näiteks süsteemirakenduse) muudetud värskendusega. Olenevalt sihitud rakendusest võib see võimaldada häkkeril juurdepääsu seadmesse salvestatud tundlikule teabele või isegi seadme täielikult üle võtta. Teise võimalusena võib ründaja edastada tundliku rakenduse muudetud klooni seadusliku värskendusena, [mis] võib välja näha ja käituda nagu algne rakendus, kuid tekitada pahatahtlikku käitumist.
Ettevõte lisas, et praeguse seisuga pole nad näinud ühtegi rakendust, mis Janust looduses ära kasutaks. Teine hea uudis on see, et haavatavus nõuab, et kasutaja installiks pahatahtliku värskenduse allikast väljaspool Google Play poodi. Seetõttu on kaitstud kasutajad, kes piiravad rakenduste installimisi Play poega.
Januse haavatavus mõjutab seadmeid, milles töötab Android 5.0+. See mõjutab rakendusi, mis on allkirjastatud APK allkirjaskeemiga v1. Allkirjaskeemiga v2 allkirjastatud APK-d on haavatavuse eest kaitstud. See eeldab, et APK-d töötaksid seadmetes, mis toetavad uusimat allkirjaskeemi (Android 7.0 ja uuemad). Skeem v2 on kaitstud, kuna erinevalt skeemist v1 arvestab see kõiki APK-faili baite.
"Rakenduste vanemad versioonid ja vanemates seadmetes töötavad uuemad rakendused on vastuvõtlikud. Arendajad peaksid vähemalt alati rakendama allkirjaskeemi v2. GuardSquare osariigid.
GuardSquare teatas sellest probleemist Google'ile 31. juulil 2017 ja sai samal päeval kinnituse. Ettevõtte aruanne ütleb, et Google andis novembris oma partneritele välja plaastri ja avaldas vea (CVE-2017-13156) Androidi turvabülletäänis 4. detsembril 2017. Haavatavus on parandati 2017. aasta detsembri Androidi turvapaigas. Eraldi on kinnitatud, et F-Droidi rakendused nende ametlikust hoidlast on ohutud. Lõpuks kinnitati, et haavatavus on paigatud APKMirror.
Allikas: GuardSquare