Meglehetősen szokatlan támadási felületet talált Lukasz Olejnik biztonsági szakember, aki Artur Janc segítségével proof-of-concept demonstrációt is készített arról, hogy a környezetifény-szenzor alkalmas lehet a kémkedésre.
Tanulmányukban arról értekeznek, hogy például a böngészési előzményeket, vagy egyéb adatokat lophatnak el az egyszerű szenzorral. Olejnik szerint veszélyes biztonsági kockázatról van szó, de azért nem olyan könnyű ezt a technikát a való életben alkalmazni.
Ma már gyakorlatilag minden okostelefonban és egyre több laptopban, illetve televízióban találkozhatunk fénymérő szenzorral, ami alapvetően egy igazán hasznos eszköz, ez felel az automatikus fényerő állításért. Azt viszont kevesen tudják, hogy a szenzor mennyire precíz: 100-200 milliszekundumonként méri a rá érkező fény mennyiségét, az érték pedig 0 (teljes sötétség) és több tízezer lux között változik (a direkt napfény akár 130 000 lux is lehet).
A törekvés, hogy a weboldalak is hozzáférjenek a szenzor méréseihez lehetővé teszi a rosszindulatú támadóknak, hogy visszaéljenek a kapott információkkal. Jelenleg még tárgyalási szakaszban van a kezdeményezés a W3C Eszköz és Szenzor munkacsoportban, ha elfogadják, akkor a honlapoknak nem kell majd külön engedélyt kérniük a szenzor eléréséhez. Ezt az API-t a Chrome és Firefox böngészők egyaránt támogatják.
A kutatók szerint a felhasználó által nézett képernyő színe hasznos információkat tartalmazhat, amihez jelenleg a weboldalaknak nincs direkt hozzáférése biztonsági okokból. A rendkívül érzékeny szenzor azonban különbséget tud tenni az egyes színek között, ezt használták ki a bizonyításban.
Olejnik a meglátogatott oldalak linkjeinek színváltozásával érte el az adatlopást, mondjuk ehhez speciális megoldást választott: az előzményekben szereplő linkek fehérek, a nem látottak feketék voltak. Kalibrálni kellett a kijelzőt is, illetve figyelni, hogy ne zavarjon be más fényforrás, a felhasználó ne árnyékoljon, és ehhez hasonlók. Pont ez a támadás gyenge pontja, a nem kalkulálható változók. Emiatt kicsi az esély, hogy valós körülmények között is megoldható legyen. Mindenesetre laborkörülmények között működött.
A másik kísérletben egy QR kódot ismertek meg kizárólag a fényszenzorra alapozva, ez is sikerült. Nem elhanyagolható tény azonban, hogy az egyéb fényforrások zavarása mellett időigényes feladatról van szó. Reálisan 500ms kell egyetlen bit meghatározásához, azaz egyszerű szöveg esetén 8 karakterhez 24 másodperc szükséges (feltételezve, hogy egy karakter hat bit), egy 20x20-as QR kódhoz 3 perc 20 másodperc kell, míg egy 64x64 pixeles kép már több mint fél óráig tartana.
Jelenleg a Firefox és a Chrome támogatja tehát a fényszenzor alkalmazásinterfészét, előbbinél engedélyt sem kér a böngésző, míg a Chrome magától nem fér hozzá az adatokhoz, azt külön engedélyezni kell. Hamarosan új API érkezik, ez a kísérlet szempontjából ugyanúgy működik, mint a mostani.
A tanulmány végkövetkeztetése, hogy a szenzor olvasási gyakoriságát lényegesen csökkenteni kellene, illetve korlátozni a precizitását ahhoz, hogy elkerülhetők legyenek a támadások. A frekvencia csökkentése ugyan nem akadályozná meg, viszont határozottan lassítaná a folyamatot, viszont a precizitás csökkentése praktikusan szinte lehetetlenné tenné a dolgot.
Aki a fentiek fényében aggódik személyes adataiért, a Firefox konfigurációjában a "set device.sensors-enabled" értéket kell "false" beállításra változtatni, a Chrome esetében egyelőre nincs teendő, mert alapvetően nincs engedélyezve a funkció.