Augusztus 10-én reggel Ahmed Mansoor, az Egyesült Arab Emírségek ismert emberjogi aktivistája, ismeretlen számról kapott SMS-t az iPhone-jára. Az üzenetben egy link volt, amelyet figyelemfelkeltő szöveg kísért: “Új titkok az Emírségek állami börtöneiben folyó kínzásokról”.
Mansoor azonban, aki már többször volt kormányzati támadások célpontja, előrelátóan cselekedett, és nem kattintott az ismeretlen linkre; azt ehelyett továbbküldte Bill Marczaknak, a Citizen Lab interdiszciplináris kutatóközpont neves információbiztonsági szakemberének.
Nem meglepő, hogy ez egy jó döntés volt, a link ugyanis semmiféle titokhoz nem vezette volna el a címzettet – viszont annál inkább telepített volna egy nagyon széleskörű megfigyelésre alkalmas kémprogramot, amellyel a támadók teljesen átvehették volna az irányítást Mansoor telefonja fölött.
A Citizen Lab egy mobilos információbiztonsági cég, a Lookout kutatóival együtt elemezte a spyware-t. A technikai részletek iránt érdeklődőknek javasoljuk mind a Citizen Lab nagyobb lélegzetvételű írását, mind pedig a Lookout által közzétett elemzést a kémprogram telepítését lehetővé tevő exploitrendszerről.
“Ez az egyik legkifinomultabb, legügyesebben megírt kémprogram, amit valaha is láttunk” – írta Mike Murray, a Lookout biztonsági kutatásért felelős alelnöke. A Pegasus névre keresztelt szoftver először jailbreakeli az iPhone-t, majd a megszerzett root hozzáféréssel olyan kódot telepít, amivel a készülék mikrofonját és kameráját távolról bekapcsolhatják és felvételeket készíthetnek. Ez nem minden: a “csomagban” képernyőképek készítése, telefonhívások és SMS-ek lehallgatása, emailek valamint üzenetküldő és VoIP-alkalmazások (például iMessage, Facebook, Telegram és Viber) forgalmának megfigyelése, valamint személyes adatok, jelszavak (például Wi-Fi hálózatok jelszavai) és a naptárban tárolt események kicsempészése is benne van.
A malware működése egy Trident névre hallgató, három sebezhetőségen nyugvó exploiton alapul, ezek a Common Vulnerabilities and Exploits listában a CVE-2016-4655, CVE-2016-4656 és CVE-2016-4657 számot kapták.
A linkre kattintáskor első lépésben a 4657-es biztonsági rést kihasználó JavaScript töltődik le. A hiba egy memóriakezelési probléma a WebKitben, a Safari böngészőmotorjában, amely tetszőleges kód végrehajtását teszi lehetővé. A végrehajtott kód ebben az esetben egy natív bináris fájl. Ebben található az exploit második lépése, amely a 4655-ös hiba segítségével megkerüli az ASLR-t: egy kernelbe mutató memóriacímmel visszatérő függvényhívásból kiszámolja a kernel helyét.
Ezek után a harmadik lépésnek már “csak” annyi dolga van, hogy a 4656-os hibát kihasználva a kernelen belül hajtsa végre a kódját, amellyel gyakorlatilag jailbreakeli a készüléket, a megszerzett jogokat pedig a tényleges kémprogramok telepítésére használja fel.
A fenti három sérülékenység egyébként ezeddig ismeretlen volt mindúgy a nyilvánosság, ahogyan az Apple számára is, kihasználásuk esetén tehát három 0-day exploitról beszélünk, ami egy különösen ritka (és nem kevésbé aggasztó) felfedezés.
A malware-t visszafejtő biztonsági szakemberek egyébként két fontos megjegyzéssel is éltek a kóddal kapcsolatban. Az egyik, talán kevésbé meglepő részlet az, hogy a támadás első és harmadik lépése nagyon bonyolult mechanizmuson keresztül működik, és egyelőre nincsenek teljesen visszafejtve (bár a kutatók teljes erőbedobással dolgoznak rajtuk). A másik megfigyelés pedig az, hogy a kód tervezői-szoftverfejlesztői-mérnöki szempontból is nagyon jó minőségű, moduláris, az ipari gyakorlatot jól követi, ami pedig ritkaság a – sokszor “sufnituning” eredetű – kártékony programok világában.
Ez is megerősíti egyébként azt, amelyre a Lookout és a Citizen Lab munkatársai gyanakodnak. Azt feltételezik, hogy a kémprogramcsomag szerzője az izraeli NSO Group – ők azonban egy közleményben tagadták, hogy bármilyen kapcsolatuk lenne a Pegasus spyware-rel.
A malware-t felfedező biztonsági szakemberek rövid, 5 napos kutatási periódus után értesítették az Apple-t a három hibáról. A helyzet súlyosságára való tekintettel az Apple 10 nap alatt kifejlesztette a javításokat, amelyek az iOS 9.3.5 részeként érkeznek a készülékeinkre – a felelősségteljes közzététel jegyében a Citizen Lab és a Lookout is csak most, a javítások kiadása után hozta nyilvánosságra a hibákat.
A tegnap megjelent iOS-frissítés telepítése tehát minden iOS-felhasználó számára erősen ajánlott!
22 Comments
Mint ahogy a többi hasonló dolog, ez is csak azokat fenyegeti, akik ha kapnak valamit, rákattintanak. Én biztos, hogy nem kattintok semmi olyanra amiről nem tudom micsoda. A felhasználói felelőtlenség, hülyeség ellen semmi nem véd 🙁
@Kovács Péter: igen, ez sajnos így van. a felhasználó legnagyobb ellensége saját maga.
nemtom hányan próbálják ki, hogy náluk működik-e az az újítás…
lehetne egyklikkes direktlink mobilról?
@akaratos: milyen link? milyen újítás?
@Kovács Péter: bizony-bizony… az információbiztonság elleni támadások legnépszerűbb és leghatékonyabb módja már jó ideje a social engineering. (Ennek ellenére persze léteznek olyan kártevők is, amelyek minden felhasználói beavatkozás nélkül képesek működni, terjedni — az még rosszabb helyzetet jelent.)
Azért ez nem csak erről szól. Itt egy böngészős exploitból indul az egész, ami azt jelenti, hogy bármelyik weboldal kódjába elrejthetik és akkor nem kell kattintanod semmi gyanúsra. Békésen böngészel, véletlen egy oldalnak gyenge a biztonsága, feltörték, beillesztették a kódot és bumm már rajta van a telódon, pedig te csak a kedvenc weboldaladra mentél fel..
Ha az Apple most javította a hibát, akkor a 10b-ban még benne van? Vagy a 10 már betömte ezt a rést? Ha van, akkor majd a következő bétánál vagy a hivatalos verziónál javítja? Nem is igazából a hiba miatt érdekel, csak kíváncsiskodok.
@MySeeGee: vélhetőleg nincs, mert szinte biztos, hogy ezért jött váratlanul abból is hamarabb a béta múlt hét pénteken.
Ez tök jó… Évek óta keresek IPhone-ra egy olyan – legálisan megvehető – programot amit hívások rögzítésére használhatok. Olyant, ami nem igényel extra dolgokat, gombnyomást, on-line tárhelyet stb… Csak egy program ami rögzíti a beszélgetéseket hiba leállás, összeomlás nélkül. Na ilyet nem találtam. Ezek a hekkerek meg sms-ben küldenek egy kódot, ami ezekre képes. Komolyan mondom, ha ezeket valaki megfizetné lehet többet kaszálnának legálisan mint így…
Találsz ilyet de csak jailbreak után. Most jött ki egy nagyon jó kis program.
@Molab: ezek a “hekkerek” nem kódot küldtek SMS-ben, hanem ahogyan a képen is láthatod, egy linket, és ha elolvastad a cikket, az is kiderül, hogy a folyamat gyakorlatilag jailbreakeli a készüléket.
@Molab: SMS-ben csak annak az oldalnak a címe volt, amin a Javascript támadókód található. Nem írtak hívásrögzítő appot 160 karakterbe, csak a körítéssel megpróbálták rávenni, hogy nyissa meg a mobilján Safariban, és töltse le. És a letöltésben benne volt egy instant jailbreak is ezzel a “multifunkciós appal”.
@Molab: arról nem is beszélve, hogy az App Store-ban nem azért nincsenek hívásrögzítő alkalmazások, mert a fejlesztők nem akarnak írni, hanem azért, mert az Apple nem engedi (akár oly módon, hogy a gyári iOS-ben le vannak tiltva bizonyos funkciók, amik ahhoz szükségesek lennének, akár úgy, hogy az ilyen jellegű alkalmazásokat nem engedik be az App Store-ba).
@Jadeye: Sőt, ma is jött egy újabb beta. 😉
@talamasca: tudom, én írtam a cikket róla.
A három 0-day exploit-ért nem 600 000 dolcsit fizetett volna az apple? Lehet emelni kéne a tétet 🙂
A bounty program így elég hatástalan…
@rossifumi: a bug bounty program csak azokat mozgatja meg, akik white hat módon, tehát jóindulatúan keresik ezeket a sebezhetőségeket. amennyiben a felhasználás black hat jellegű, vagy kifejezetten “kiberfegyver” előállítása a cél, akkor értelemszerűen saját maguk ellenségei lennének, ha az általuk felhasznált hibákat felfednék, és nyilván ilyen esetben valószínűleg nevetségesen kevés is az a 600 000 dollár.
Ez némileg egyszerűbb JB-nek tűnik,mint a ferdeszeműek appleID-s szerencsétlenkedése. Egy klikk és nyitva a telefon 🙂 Pajeszos srácok keményen tolják…
Azért kíváncsi lennék arra, hogy ez működik, az user mennyit vesz észre belőle. Gondolok itt arra, amikor települ, reboot stb.
@dokk: linkelve van a cikkben a citizenlab és a lookout vonatkozó elemzése, azokat érdemes elolvasnod:
akkor hány százmillió sebezhető készülék maradt a piacon? legfőképpen azokra gondolok, amikre nem is megy fel a 9.x ios.
@onderon: a jelek szerint a 7.0 előtti rendszereket nem támogatja, tehát mindössze az iPhone 4 lehet érintett, hiszen a 3GS-re nincs 7.0, az iPhone 4s-től kezdve pedig elérhető a 9.3.5 is.