Kibernetinis saugumas

Kaip CSS rėmelio apėjimas sukėlė pavojų patikimiausioms pasaulio saityno pašto sąsajoms

Naujas Garetho Heyeso tyrimas atskleidžia, kaip CSS gali apeiti „Gmail“ ir „Outlook“ saityno pašto sanitarus, kad pavogtų slaptažodžius ir prieigos raktus. Sužinokite, kaip išlikti saugiems.
Kaip CSS rėmelio apėjimas sukėlė pavojų patikimiausioms pasaulio saityno pašto sąsajoms

Prisimenu, kaip prieš trejus metus sėdėjau Saugumo operacijų centre be langų ir stebėjau, kaip „red team“ narys vienu koduotu simboliu apėjo kelių milijonų dolerių vertės saityno programų ugniasienę. Tai buvo nuolankumą skatinantis priminimas, kad sudėtingumas yra saugumo priešas. Dažnai manome, kad kuo daugiau išleidžiame apsauginiam sluoksniui, tuo tikresnė jo apsauga. Šis įsitikinimas yra klaidingas. Naujausi tyrimai, kuriuos „PortSwigger“ tyrėjas Garethas Heyesas pristatė „Black Hat USA 2026“ konferencijoje, įrodo, kad net ir brandžiausios saityno pašto platformos yra pažeidžiamos stiliais pagrįstų atakų.

Saityno pašto teikėjai, tokie kaip „Gmail“, „Outlook“ ir „Proton Mail“, išleidžia milijonus sanitariniams varikliams (angl. sanitization engines). Šios sistemos veikia kaip VIP klubo apsaugininkas prie kiekvienų vidinių durų. Jos tikrina kiekvieną gaunamą HTML el. laišką, ieškodamos kenkėjiškų scenarijų ir pavojingų žymų. Jei kodo fragmentas atrodo įtartinas, sanitaras jį pašalina. Šis tyrimas rodo, kad užpuolikui nereikia „JavaScript“, kad padarytų žalą. Jiems tereikia pakopinių stilių lakštų (CSS). Išnaudodamas tai, kaip naršyklės ir saityno pašto klientai interpretuoja stilių, užpuolikas gali peršokti tvorą tarp nepatikimo el. laiško ir patikimos programos sąsajos.

Architektūrinis el. pašto sanitarinio valymo paradoksas

Esminė problema yra riba. Kai atidarote el. laišką, saityno pašto klientas tą nepatikimą turinį patalpina savo patikimoje vartotojo sąsajoje. Tarp pranešimo ir jūsų „Gautieji“ arba „Nustatymai“ mygtukų yra plona siena. Paprastai ši siena yra filtrų seka, neleidžianti el. laiškui paveikti likusios puslapio dalies. Šis tyrimas parodo, kaip CSS gali prasiskverbti pro tą sieną.

Vienas kelias apima piktnaudžiavimą HTML ir CSS, kuriuos sanitaras jau leidžia. Kitas kelias sukuria neatitikimą tarp to, ką sanitaras patvirtina, ir to, ką naršyklė galiausiai atvaizduoja. Abu keliai veda prie to paties rezultato. El. laiško turinys trikdo saityno pašto sąsają. Tai gali lemti slaptažodžių vagystę, prieigos raktų nutekėjimą ir neteisėtus veiksmus vartotojo sąsajoje. Tai sisteminė izoliacijos modelio, kuriuo pasitikėjome dešimtmečius, nesėkmė.

„Outlook“ slaptažodžių užvaldymo grandinė

Dramatiškiausias radinys susijęs su „Outlook“ ir „Firefox“. Ši atakų grandinė yra meistriškas pavyzdys, kaip derinant nedidelius naršyklės elgsenos ypatumus pasiekiamas kritinis saugumo pažeidimas. Tyrėjas naudojo leidžiamus „label“ elementus, kad suaktyvintų valdiklius už el. laiško ribų. Tada, pasinaudojus medijos užklausų (angl. media-query) analizės triuku, buvo įterptas savavališkas CSS, kurį sanitaras praleido.

El. laiško viduje užpuolikas užmaskuoja standartinį „select“ elementą kaip „Microsoft“ prisijungimo ekraną. Čia pasireiškia „Firefox“ elgsena. „Firefox“ turi vidinį maždaug vienos sekundės laikmatį pasirinkimo meniu. Jei „select“ elementas perkeliamas už ekrano ribų, naršyklė šį laikmatį nustato iš naujo. Strategiškai perkeldamas elementą, užpuolikas priverčia duomenų užvaldymą vykti realiuoju laiku. Kai vartotojas mano, kad įveda slaptažodį į patikimą užklausą, jis iš tikrųjų siunčia jį tiesiai užpuolikui. Ši technika apeina tradicinius įspėjimus apie fišingą, nes adreso juostoje esantis URL vis dar yra outlook.live.com.

„Yahoo“ ir „AOL“ įklijavimo lenktynės

„Yahoo Mail“ ir „AOL Mail“ atskleidė kitokį pažeidžiamumą, susijusį su tuo, kaip naršyklės apdoroja iškarpinę (angl. clipboard). Naršyklėje „Firefox“ įklijuotas HTML gali trumpam išlaikyti aktyvų CSS, kol programos sanitaras nespėjo jo išvalyti. Tai yra „įklijavimo lenktynės“ (angl. paste race). Tyrimas tai pademonstravo nusitaikant į „Medium“ el. pašto prisijungimo raktus.

Pagal šį scenarijų užpuolikas inicijuoja prisijungimo procesą prie aukos „Medium“ paskyros. Auka gauna teisėtą prisijungimo el. laišką. Tačiau užpuolikas jau yra išsiuntęs atskirą el. laišką su kenkėjišku CSS. Auka nukopijuoja šį turinį ir įklijuoja jį į juodraštį „Yahoo“ arba „AOL“. Per tą akimirką, kai vyksta įklijavimas, kenkėjiškas CSS pateikia užklausas užpuoliko serveriui. Šios užklausos atskleidžia pakankamai 12 skaitmenų prisijungimo rakto simbolių, kad serveris galėtų atkurti visą kodą. Tada užpuolikas naudoja tą raktą, kad prisijungtų kaip auka. Visas procesas priklauso nuo lenktynių sąlygos (angl. race condition), kuri įvyksta akies mirksniu.

Prieigos raktų eksfiltracija per užklausų injekciją

Dirbtiniu intelektu (DI) pagrįstų el. pašto įrankių populiarėjimas sukuria naują atakų paviršių. „Gmail“ pateikia aiškų pavyzdį per savo „image-set()“ atsarginę elgseną. Nepaisant sanitarinio valymo pastangų, ši CSS funkcija vis tiek gali teikti išorines užklausas. Garethas Heyesas ir Pete'as Hendy tai susiejo su netiesiogine užklausų injekcijos (angl. prompt injection) ataka. Tai buvo skirta „Anthropic“ įrankio „Claude Cowork“ vartotojams, kuris jungiasi prie „Gmail“, kad apdorotų pranešimus.

Užpuolikas išsiunčia el. laišką su paslėptomis instrukcijomis DI. Kai auka paprašo „Claude“ apdoroti naujausius el. laiškus, DI laikosi įterptų instrukcijų, o ne vartotojo komandos. Demonstracijos metu DI ištraukė „Slack“ prieigos raktą iš atskiro patvirtinimo el. laiško ir įdėjo jį į naują HTML juodraštį. Kai auka peržiūrėjo tą juodraštį, „image-set()“ apėjimas eksfiltravo raktą užpuolikui. Ši įvykių eiga rodo, kaip DI agentai gali tapti skaitmeniniu Trojos arkliu saugioje aplinkoje.

„Fastmail“ ir CSS „hotwiring“ menas

„Fastmail“ buvo pažeidžiamas dėl to, ką tyrėjas vadina „CSS hotwiring“. Ši technika nukreipia spustelėjimus į nenumatytus, daugiapakopius vartotojo sąsajos veiksmus. Naudodamas CSS pseudo-elementus ir neskaidrumą (angl. opacity), užpuolikas gali uždėti nematomus mygtukus ant teisėtos „Fastmail“ sąsajos. Vartotojas, manantis, kad spustelėja nuorodą el. laiške, iš tikrųjų gali spausti mygtuką, kuris ištrina jo gautuosius pranešimus arba pakeičia paskyros nustatymus.

Šis tyrimas taip pat buvo nukreiptas į „OpenAI“ „Atlas AI“ naršyklę. Užpuolikas gali naudoti CSS, kad parodytų vieną dalyką žmogui, o kitą – mašinai. Pavyzdžiui, žmogus mato nekenksmingą teksto pastraipą. DI modelis skaito paslėptas instrukcijas, užkoduotas CSS. Kai vartotojas paprašo „Atlas“ išversti matomą tekstą, paslėptos instrukcijos priverčia naršyklę atidaryti naujus skirtukus ir nutekinti aukos vardą URL fragmentuose. Nors „OpenAI“ atsisako „Atlas“ 2026 m. rugpjūčio 9 d., ši technika išlieka įspėjimu bet kuriam kūrėjui, kuriančiam DI, sąveikaujantį su saitynu.

Privatumo nutekėjimai „Proton Mail“

Net į privatumą orientuotos paslaugos, tokios kaip „Proton Mail“, nėra apsaugotos. Tyrėjas pademonstravo vektorių, kuris atskleidė gavėjo IP adresą. „Proton Mail“ sukurta taip, kad paslėptų šią informaciją nuo siuntėjų per sekimo priemonių apsaugą. Tačiau konkretus CSS apėjimas leido išsiųsti išorinę užklausą atidarius el. laišką. Tai atskleidė tikslų laiką, kada el. laiškas buvo perskaitytas, ir asmeninį vartotojo IP adresą. Nuo to laiko „Proton“ pašalino tam tikrus tarpinio serverio apėjimus, tačiau tyrimas pabrėžia, kaip sunku išlaikyti tobulą perimetrą sudėtingo CSS pasaulyje.

Saityno pašto stiprinimas prieš stiliaus atakas

Šios išvados rodo, kad mūsų dabartinis požiūris į el. pašto saugumą yra reaktyvus. Laukiame, kol tyrėjas ras apėjimą, o tada jį užlopome. Saityno pašto teikėjams gynybinės gairės dabar yra daug griežtesnės. Veiksmingiausia gynyba yra visiška izoliacija. Tai reiškia HTML el. laiškų atvaizdavimą izoliuotuose (angl. sandboxed) iframe elementuose. Tai neleidžia el. laiško stiliui pasiekti pagrindinės vartotojo sąsajos.

Teikėjai taip pat privalo apriboti CSS savybes iki griežto saugių simbolių baltojo sąrašo. Jie turėtų blokuoti pasirinkimo meniu, pasirinktinius atributus ir pavojingus selektorius, tokius kaip :has(). Be to, jie privalo užkirsti kelią visoms užpuoliko kontroliuojamoms vaizdų užklausoms, net ir toms, kurios atrodo ateinančios iš baltajame sąraše esančių domenų. Galutinio vartotojo požiūriu, geriausia gynyba yra sveika paranoja. Būkite atsargūs su bet kokiu el. laišku, kuriame prašoma nukopijuoti ir įklijuoti turinį arba sąveikauti su neįprastais sąsajos elementais.

Svarbiausios įžvalgos saugumo komandoms

  • Įdiekite griežtą „iframe“ izoliavimą visam nepatikimam HTML turiniui.
  • Patvirtinkite CSS pagal simbolių baltąjį sąrašą, o ne pagal žymų juodąjį sąrašą.
  • Audituokite sąveiką tarp DI asistentų ir el. pašto DOM, kad išvengtumėte netiesioginių užklausų injekcijų.
  • Išjunkite pavojingas CSS funkcijas, tokias kaip „image-set()“, ir sudėtingus pseudo-selektorius el. laiško tekste.
  • Peržiūrėkite pasirinktinių HTML atributų elgseną, kuriuos „JavaScript“ vėliau gali paversti aktyviais elementais.

Šaltiniai:

  • PortSwigger Research: Gareth Heyes, Black Hat USA 2026 straipsnis
  • NIST Special Publication 800-45 Version 2: Guide to Electronic Mail Security
  • MITRE ATT&CK Framework: T1566 (Phishing) ir T1189 (Drive-by Compromise)

Šis straipsnis skirtas tik informaciniams ir švietimo tikslams ir nepakeičia profesionalaus kibernetinio saugumo audito ar reagavimo į incidentus paslaugų.

bg
bg
bg

Iki pasimatymo kitoje pusėje.

Pašto ir debesies saugojimo sprendimas suteikia galingiausias saugaus keitimosi duomenimis priemones, užtikrinančias jūsų duomenų saugumą ir privatumą.

/ Sukurti nemokamą paskyrą