Egy biztonsági szolgáltatásokra szakosodott cég komoly hibát talált a a Safari böngészőben
A Safari az Apple házi fejlesztésű böngészője, melyeket saját gyártású eszközeikre optimalizáltak, így természetesen kizárólag a macOS és iOS rendszereken érhető el. Éppen ezért igen kellemetlen, hogy az adatbiztonsági intézkedéseire rendkívül büszke vállalat digitális pajzsán egy igen veszélyes rést fedeztek fel, mely könnyedén adatlopáshoz vezethet, javítás pedig egyelőre nem érkezett hozzá.
A Safari 15 hibája kiszivárogtathatja az Apple felhasználók böngészési tevékenységét, de a Google-fiókokhoz kapcsolt személyes adatok egy részét is felfedheti. A frissen közzétett terjedelmes beszámoló a FingerprintJS néven tevékenykedő biztonságtechnikai cégtől származik, mely elsősorban a böngészőkhöz fejlesztett ujjlenyomat- és csalásészlelő szolgáltatásáról ismert. A vállalat megállapításai szerint a sérülékenység ahhoz az IndexedDB keretrendszerhez kötődik, mely az adatok tárolását és kezelését segíti és kifejezetten gyakran használt eszköznek számít, a probléma tehát az Apple általi implementációból ered. Minden böngésző IndexedDB-t vagy indexelt adatbázist használ, hogy jelentős mennyiségű adatot tároljon az ügyfél tárhelyén a gyors visszakereshetőség érdekében. Minden böngésző maga határozza meg, hogy mennyi helyet rendel az IndexedDB-hez, és amint ezek a korlátok közelednek, meghatározott kritériumok alapján automatikusan törli az adatokat.
A Safari 15-ben az IndexedDB API a "same-origin policy", vagyis egy kritikus fontosságú biztonsági mechanizmus megsértését tapasztalja. Két URL akkor tekinthető azonos eredetűnek, ha ugyanazt a protokollt, portot (ha meg van adva) és hosztot használják. A biztonsági eljárás azt hivatott akadályozni, hogy az egyik forráshoz tartozó dokumentumok vagy szkriptek kölcsönhatásba lépjenek más eredetű adatokkal vagy erőforrásokkal, kivéve, ha arra meghatározott, külön engedélyt kap, melyet más módszerek tesznek lehetővé. A FingerprintJS magyarázata szerint az IndexedDB igazodik a "same-origin policy-hez", így lényegében csak az a weboldal férhet hozzá az adatokhoz, amelyik az adatokat generálja. Ha például megnyitjuk az e-mail fiókunkat egy lapon, egy másik lapon viszont egy rosszindulatú weboldalt nyitunk meg, a mechanizmus azért felel, hogy az a kártékony oldal ne nézhessen bele a fiókba és ne ügyeskedjen az e-mailekkel.
A FingerprintJS megállapította, hogy az, ahogy az Apple az IndexedDB API-t a Safari 15-ben alkalmazta, valójában durván sérti a mechanizmus által ellenőrzött irányelvet. Amikor egy weboldal kapcsolatba lép az IndexedDB-vel, egy üres, azonos nevű adatbázist hoz létre az összes aktív ablak és fül számára. Ez azt jelenti, hogy egy ügyesen kódolt weboldal lényegében képes lehet összegyűjteni, hogy a felhasználó mit látogat meg bármelyik nyitott fülön vagy ablakban, hacsak nem használ más profilt, így még a privát ablakokban lévő információk sincsenek biztonságban és személyes, vagy más értékes információk is megszerezhetők. A FingerprintJS megjegyzi, hogy a Google-fiókját használó webhelyek, például a YouTube, a Google Calendar és a Google Keep mind olyan adatbázisokat hoznak létre, amelyek nevében szerepel a felhasználók egyedi Google felhasználói azonosítója, mely lehetővé teszi a Google számára, hogy hozzáférjen a nyilvánosan elérhető adatainkhoz, például a profilképhez, amelyet a Safari hiba más webhelyek számára is felfedhet.
Az elemzés feltárói még egy bemutató weboldalt is csináltak, hogy működés közben mutassák be a szivárgást. A dolog egyetlen profil esetén egyszerre akár 20 megnyitott oldallal, illetve ablakkal és füllel is működik, és ha ezen belül valahol bejelentkezünk a Google-fiókba, a demonstráció felfedi az ahhoz tartozó "user ID-t", vagyis az említett azonosítót. Jelenleg csak az a megoldás működik, ha minden JavaScript tartalmat blokkolunk, ám ezzel a böngészés nagyjából lehetetlenné válik, az Apple felhasználóknak pedig nincs túl könnyű dolguk, ha a Safari-t valami mással szeretnék helyettesíteni, így könnyen lehet, hogy a többi böngészős app is szenved az említett hibától.
A hiba a jelek szerint a macOS, iOS 15, és iPadOS 15 rendszereken okoz problémát, a frissítésen viszont már nagy erőkkel dolgoznak az Apple munkatársai.