Néhány hete röppent fel a hír, hogy az Apple egy olyan funkciót fog az iOS 15-be építeni az amerikai piacon az iCloud Fotók esetén, ami képes gyermekpornográfiának (CSAM, azaz Child Sexual Abuse Material) minősülő képek automatikus keresésére és jelentésére a készüléken. A lépést világszerte kritizálták mind technológiai, mind etikai szempontból.
Korábbi cikkünkben már írtunk arról, hogy pontosan hogyan is működik ez a rendszer, és ennek megfelelően milyen információbiztonsági felvetések jogosak vagy éppen alaptalanok a CSAM technológiai megoldásával szemben. A lelkes informatikusok persze már rövid idővel az ezzel kapcsolatos hírek elterjedése után elkezdtek próbálkozni a rendszer visszafejtésével és a műszaki részletek tanulmányozásával.
Az iOS CSAM-kereső modulja, amint azt fentebb írtuk, egy mesterséges neurális hálózaton alapuló hash függvény, a NeuralHash. A hashelési eljárásra azért van szükség, hogy a kényes tartalmú képek detektálásához ne kelljen a konkrét képeket tárolni a felhasználó készülékén, hanem azoknak csak egy visszafejthetetlen digitális “ujjlenyomatát” lehessen összehasonlítani. (Ez az analógia annyira jó, hogy Touch ID is ezen az elven ismeri fel a tulajdonos valódi ujjlenyomatát.) A neurális hálózat pedig azért felelős, hogy ne csak pixelpontos egyezéseket tudjon az eljárás megtalálni, hanem az ujjlenyomat változatlan maradjon például átméretezés, tükrözés, elforgatás, vagy a színek kismértékű módosítása esetében is.
A rendszer megismerésének első lépése tehát az volt, hogy az Apple saját formátumában tárolt neurális hálózatot egy mindenki által elérhető, nyílt formátumba kellett konvertálni, így nemcsak iOS-en futtatható a modell. Arról, hogy ezt hogyan lehet elvégezni, és hogyan lehet a tényleges hash (ujjlenyomat) értéket kiszámoltatni vele egy-egy képre, itt olvashatunk.
Csak néhány nap kellett hozzá, és a fent linkelt GitHub-repository-hoz máris bekerült egy olyan hozzászólás, ami az úgynevezett hash collision jelenségét, tehát az ujjlenyomatok ütközését demonstrálja. A hozzászólásban két, vizuálisan teljesen különbözőnek tűnő kép szerepel, amikre lefuttatva azonban a NeuralHash azonos kimenetet ad:
Természetesen a hash függvényeknek ez önmagában egy elméletileg elkerülhetetlen tulajdonsága, hiszen tetszőlegesen sok adatot le tudnak képezni egy fix hosszúságú számsorra, tehát mondjuk a NeuralHash 96 bites kimenete esetén 2^96+1 darab különböző kép esetén biztosan lesz legalább egy olyan pár, ami azonos ujjlenyomattal rendelkezik, viszont két véletlenszerűen kiválasztott kép esetén az ütközésnek elenyésző az esélye.
Az tehát, hogy ilyen gyorsan lehetett szándékosan találni ütközést, ismét informatikai és etikai kérdéseket vet fel a NeuralHash minőségével kapcsolatban. Ha ugyanis egy támadó valakinek a készülékére letölt egy csomó olyan képet, amelyeknek az ujjlenyomata egyezik ismert, CSAM-tartalmú képekkel, és ezek bekerülnek a Fotókba, onnan pedig feltöltődnének az iCloud Fotókba, akkor az illetőt az iOS teljesen ártatlanul jelentheti az Apple felé.
Mivel például egyes üzenetküldő alkalmazások automatikusan mentenek minden képet a Fotók alkalmazásba, ezért egy potenciális támadónak nem is kellene semmi bonyolultat tennie, csupán elküldenie az áldozatának jópár ilyen képet. Bár az Apple a hatóságoknak való jelentés előtt elvileg végez manuális ellenőrzést, mégsem szeretne nyilván senki ártatlanul akár gyanúba is keveredni egy ilyen érzékeny téma kapcsán.
Azt viszont, hogy a tényleges használat során mekkora problémát jelentenek majd a hash ütközések, nyilván nem lehet egyetlen példából leszűrni. Szerencsés is tehát, hogy független szakértők is górcső alá veszik az iOS CSAM-jelentő rendszerét.
Szólj hozzá: Hozzászólok