Kiberdrošība

Kā CSS robežu apiešana apdraudēja pasaulē uzticamākās tīmekļa pasta saskarnes

Jauns Gareta Heisa pētījums atklāj, kā CSS var apiet tīmekļa pasta sanitizētājus Gmail un Outlook, lai nozagtu paroles un žetonus. Uzziniet, kā saglabāt drošību.
Kā CSS robežu apiešana apdraudēja pasaulē uzticamākās tīmekļa pasta saskarnes

Es atceros, kā pirms trim gadiem sēdēju drošības operāciju centrā bez logiem, vērojot, kā "red teamer" speciālists apiet vairāku miljonu dolāru vērtu tīmekļa lietotņu ugunsmūri ar vienu vienīgu kodētu rakstzīmi. Tas bija pazemojošs atgādinājums, ka sarežģītība ir drošības ienaidnieks. Mēs bieži pieņemam, ka, jo vairāk tērējam aizsardzības slānim, jo drošāka ir tā sniegtā aizsardzība. Šis uzskats ir maldīgs. Jaunākie pētījumi, ko PortSwigger pētnieks Garets Heiss (Gareth Heyes) prezentēja Black Hat USA 2026 konferencē, pierāda, ka pat nobriedušākās tīmekļa pasta platformas ir neaizsargātas pret stila lapu (style-based) uzbrukumiem.

Tīmekļa pasta pakalpojumu sniedzēji, piemēram, Gmail, Outlook un Proton Mail, tērē miljonus sanitizācijas dzinējiem. Šīs sistēmas darbojas kā VIP kluba apsargi pie katrām iekšējām durvīm. Tās skenē katru ienākošo HTML e-pastu, meklējot ļaunprātīgus skriptus un bīstamus tagus. Ja kāds koda fragments izskatās aizdomīgs, sanitizētājs to izņem. Šis pētījums parāda, ka uzbrucējam nav nepieciešams JavaScript, lai nodarītu kaitējumu. Viņam ir nepieciešamas tikai kaskadētās stila lapas (CSS). Izmantojot to, kā pārlūkprogrammas un tīmekļa pasta klienti interpretē stilus, uzbrucējs var pārlekt pāri žogam starp neuzticamu e-pastu un uzticamo lietotnes saskarni.

E-pasta sanitizācijas arhitektoniskais paradokss

Fundamentālā problēma ir robeža. Atverot e-pastu, tīmekļa pasta klients ievieto šo neuzticamo saturu savā uzticamajā lietotāja saskarnē (UI). Starp ziņojumu un jūsu pogām "Iesūtne" vai "Iestatījumi" ir plāna siena. Parasti šī siena ir filtru sērija, kas neļauj e-pastam ietekmēt pārējo lapu. Šis pētījums parāda, kā CSS var izkļūt cauri šai sienai.

Viens ceļš ietver HTML un CSS ļaunprātīgu izmantošanu, ko sanitizētājs jau atļauj. Otrs ceļš rada neatbilstību starp to, ko sanitizētājs apstiprina, un to, ko pārlūkprogramma galu galā attēlo. Abi ceļi ved pie viena un tā paša rezultāta. E-pasta saturs traucē tīmekļa pasta saskarnei. Tas var izraisīt paroļu zādzību, žetonu (token) noplūdi un neautorizētas darbības lietotāja saskarnē. Tā ir sistēmiska kļūme izolācijas modelī, uz kuru esam paļāvušies gadu desmitiem.

Outlook paroļu pārtveršanas ķēde

Dramatiskākais atklājums ir saistīts ar Outlook un Firefox. Šī uzbrukuma ķēde ir meistarklase maznozīmīgu pārlūkprogrammas uzvedību apvienošanā, lai panāktu kritisku kompromitēšanu. Pētnieks izmantoja atļautos etiķešu (label) elementus, lai aktivizētu vadīklas ārpus e-pasta ziņojuma. Pēc tam media-query parsēšanas triks ļāva injicēt patvaļīgu CSS, ko sanitizētājs nepamanīja.

E-pasta iekšienē uzbrucējs nomaskē standarta "select" elementu par Microsoft pierakstīšanās ekrānu. Šeit parādās Firefox specifiskā uzvedība. Firefox ir iekšējs taimeris aptuveni vienas sekundes garumā atlases izvēlnēm. Ja "select" elements pārvietojas ārpus ekrāna, pārlūkprogramma atiestata šo taimeri. Stratēģiski pārvietojot elementu, uzbrucējs panāk datu pārtveršanu reāllaikā. Kad lietotājs domā, ka ievada savu paroli uzticamā uzvednē, viņš patiesībā to nodod tieši uzbrucējam. Šī tehnika apiet tradicionālos fišinga brīdinājumus, jo URL adreses joslā joprojām ir outlook.live.com.

Yahoo un AOL "ielīmēšanas sacensība" (paste race)

Yahoo Mail un AOL Mail atklāja atšķirīgu ievainojamību, kuras pamatā ir tas, kā pārlūkprogrammas apstrādā starpliktuvi (clipboard). Pārlūkprogrammā Firefox ielīmētais HTML var īslaicīgi saglabāt aktīvo CSS, pirms lietotnes sanitizētājam ir iespēja to notīrīt. Tā ir "ielīmēšanas sacensība" (paste race). Pētījums to demonstrēja, mērķējot uz Medium e-pasta pieteikšanās žetoniem.

Šajā scenārijā uzbrucējs uzsāk pieteikšanās plūsmu upura Medium kontam. Upuris saņem leģitīmu pieteikšanās e-pastu. Tomēr uzbrucējs jau iepriekš ir nosūtījis atsevišķu e-pastu, kurā ir ļaunprātīgs CSS. Upuris nokopē šo saturu un ielīmē to melnrakstā Yahoo vai AOL. Tajā ielīmēšanas sekundes daļā ļaunprātīgais CSS veic pieprasījumus uz uzbrucēja serveri. Šie pieprasījumi atklāj pietiekami daudz rakstzīmju no 12 ciparu pieteikšanās žetona, lai serveris varētu rekonstruēt pilnu kodu. Pēc tam uzbrucējs izmanto šo žetonu, lai pierakstītos kā upuris. Viss process balstās uz sacensības nosacījumu (race condition), kas notiek acu mirklī.

Žetonu eksfiltrācija caur uzvedņu injekciju

Ar mākslīgo intelektu (AI) saistītu e-pasta rīku pieaugums rada jaunu uzbrukuma virsmu. Gmail sniedz skaidru piemēru, izmantojot savu image-set() rezerves (fallback) uzvedību. Neskatoties uz sanitizācijas centieniem, šī CSS funkcija joprojām var veikt ārējus pieprasījumus. Garets Heiss un Pīts Hendijs (Pete Hendy) to apvienoja ar netiešu uzvedņu injekcijas (indirect prompt injection) uzbrukumu. Tas bija īpaši vērsts pret Anthropic Claude Cowork rīka lietotājiem, kas savienojas ar Gmail, lai apstrādātu ziņojumus.

Uzbrucējs nosūta e-pastu ar slēptām instrukcijām mākslīgajam intelektam. Kad upuris lūdz Claude apstrādāt savus pēdējos e-pastus, AI izpilda injicētās instrukcijas, nevis lietotāja komandu. Demonstrācijā AI ieguva Slack žetonu no atsevišķa apstiprinājuma e-pasta un ievietoja to jaunā HTML melnrakstā. Kad upuris apskatīja šo melnrakstu, image-set() apiešana eksfiltrēja žetonu uzbrucējam. Šāds notikumu pavērsiens parāda, kā AI aģenti var kļūt par digitālo Trojas zirgu drošā vidē.

Fastmail un CSS "karstā saslēgšana"

Fastmail bija neaizsargāts pret to, ko pētnieks sauc par "CSS hotwiring" (karstā saslēgšana). Šī tehnika novirza klikšķus uz neparedzētām, daudzpakāpju lietotāja saskarnes darbībām. Izmantojot CSS pseidoelementus un necaurredzamību (opacity), uzbrucējs var pārklāt neredzamas pogas virs leģitīmās Fastmail saskarnes. Lietotājs, kurš domā, ka noklikšķina uz saites e-pastā, patiesībā var noklikšķināt uz pogas, kas izdzēš viņa iesūtni vai maina konta iestatījumus.

Šis pētījums bija vērsts arī uz OpenAI Atlas AI pārlūku. Uzbrucējs var izmantot CSS, lai cilvēkam parādītu vienu, bet mašīnai – ko citu. Piemēram, cilvēks redz nekaitīgu teksta rindkopu. AI modelis nolasa slēptās instrukcijas, kas iekodētas CSS. Kad lietotājs lūdz Atlas iztulkot redzamo tekstu, slēptās instrukcijas liek pārlūkprogrammai atvērt jaunas cilnes un nopludināt upura vārdu URL fragmentos. Lai gan OpenAI pārtrauc Atlas darbību 2026. gada 9. augustā, šī tehnika joprojām ir brīdinājums ikvienam izstrādātājam, kurš veido AI, kas mijiedarbojas ar tīmekli.

Privātuma noplūdes Proton Mail servisā

Pat uz privātumu orientēti pakalpojumi, piemēram, Proton Mail, nav imūni. Pētnieks demonstrēja vektoru, kas atklāja saņēmēja IP adresi. Proton Mail ir izstrādāts, lai paslēptu šo informāciju no sūtītājiem, izmantojot izsekošanas aizsardzību. Tomēr specifiska CSS apiešana ļāva veikt ārēju pieprasījumu e-pasta atvēršanas brīdī. Tas atklāja precīzu e-pasta lasīšanas laiku un lietotāja personīgo IP adresi. Proton kopš tā laika ir novērsis noteiktas starpniekservera apiešanas, taču pētījums uzsver, cik grūti ir uzturēt perfektu perimetru sarežģītu CSS pasaulē.

Tīmekļa pasta stiprināšana pret stila uzbrukumiem

Šie atklājumi liecina, ka mūsu pašreizējā pieeja e-pasta drošībai ir reaktīva. Mēs gaidām, kad pētnieks atradīs apiešanas veidu, un tad to aizlāpām. Tīmekļa pasta pakalpojumu sniedzējiem aizsardzības vadlīnijas tagad ir daudz stingrākas. Visefektīvākā aizsardzība ir pilnīga izolācija. Tas nozīmē HTML e-pastu attēlošanu "smilškastes" (sandboxed) iframe elementos. Tas neļauj e-pasta stiliem sasniegt vecāka UI saskarni.

Pakalpojumu sniedzējiem ir arī jāierobežo CSS īpašības līdz stingram drošo rakstzīmju atļauju sarakstam. Viņiem vajadzētu bloķēt atlases izvēlnes, pielāgotus atribūtus un bīstamus selektorus, piemēram, :has(). Turklāt viņiem ir jānovērš visi uzbrucēja kontrolētie attēlu pieprasījumi, pat tie, kas šķietami nāk no atļauto domēnu saraksta. No galalietotāja viedokļa labākā aizsardzība ir veselīga paranoja. Esiet piesardzīgi pret jebkuru e-pastu, kurā lūgts kopēt un ielīmētu saturu vai mijiedarboties ar neparastiem lietotāja saskarnes elementiem.

Galvenās atziņas drošības komandām

  • Ieviest stingru iframe izolāciju (sandboxing) visam neuzticamam HTML saturam.
  • Validēt CSS pret rakstzīmēs balstītu atļauju sarakstu, nevis tagos balstītu bloķēšanas sarakstu.
  • Auditēt mijiedarbību starp AI asistentiem un e-pasta DOM, lai novērstu netiešu uzvedņu injekciju.
  • Atspējot bīstamas CSS funkcijas, piemēram, image-set() un sarežģītus pseidoselektorus e-pasta pamattekstā.
  • Pārskatīt pielāgoto HTML atribūtu uzvedību, kurus JavaScript vēlāk varētu pārveidot par aktīviem elementiem.

Avoti:

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

Šis raksts ir paredzēts tikai informatīviem un izglītojošiem nolūkiem un neaizstāj profesionālu kiberdrošības auditu vai incidentu reaģēšanas pakalpojumu.

bg
bg
bg

Uz tikšanos otrā pusē.

Mūsu end-to-end šifrētais e-pasta un mākoņdatu glabāšanas risinājums nodrošina visefektīvākos līdzekļus drošai datu apmaiņai, garantējot jūsu datu drošību un konfidencialitāti.

/ Izveidot bezmaksas kontu