Grācas Tehnoloģiju universitātes (Austrija) pētnieki ir identificējuši virkni sānu kanālu uzbrukumu (PDF), kas tiek veikti, izmantojot failu sistēmas izmaiņu uzraudzības mehānismus. Uzbrukumi ļauj uzraudzīt citu lietotāju aktivitātes, analizējot failu un direktoriju piekļuves notikumus, izmantojot API, piemēram, inotify. Linux, FileObserver iekšā Android, ReadDirectoryChangesW iekšā Windows un failu sistēmas notikumi macOSIegūto informāciju var izmantot, lai rekonstruētu lietotāja tastatūras ievadi, noteiktu, kuras tīmekļa vietnes tiek atvērtas, vai veiktu klikšķu zādzības uzbrukumus, kas pārklāj saturu aktīvajā logā tieši pirms klikšķa. Uzbrukuma metodes ieviešošais kods ir publicēts saskaņā ar MIT licenci.
Pirmā uzbrukuma metode ir demonstrēta Linux Tas ir saistīts ar iespēju noteikt piekļuvi failiem direktorijā, kurus nevar tieši nolasīt vai uzraudzīt. Izmantojot inotifywatch funkciju, varat netieši izsekot failu izmaiņām direktorijā, uzraugot pašu direktoriju.
Neprivileģētam lietotājam nav tiešas piekļuves, lai lasītu ierīces /dev/input/event4 saturu vai uzraudzītu tās darbības, kas reģistrē tastatūras ievades notikumus. Tomēr notikumi, kas notiek ar failu /dev/input/event4, ietekmē vecākdirektorija stāvokli un tos var uzraudzīt, uzraugot metadatu izmaiņas direktorijā /dev/input. Izmaiņas direktorijā /dev/input/event4 stāvoklī notiek, ievadot datus, un aizkaves starp notikumiem, kas reģistrēti, izmantojot inotify, korelē ar aizkavēm starp taustiņu nospiešanām uz tastatūras.
Izmantojot statistiskās analīzes metodes un ņemot vērā, ka aizkaves starp taustiņu nospiešanām rakstīšanas laikā ir atkarīgas no taustiņu izkārtojuma uz tastatūras, ir iespējams atjaunot ievadīto informāciju ar zināmu noteiktības pakāpi. Piemēram, reakcijas laiks, ievadot burtu "F", ir ātrāks nekā ievadot "Q" vai "X", jo tas prasa mazāku pirkstu kustību. Arī atkārtotas taustiņu nospiešanas un blakus esošo taustiņu nospiešanas ir ātrākas (burts "s" pēc "a" tiek nospiests ievērojami ātrāk nekā burts "g" pēc "s").
Šo metodi var izmantot arī, lai rekonstruētu ievadi SSH sesijās, kad divi dažādi lietotāji izveido savienojumu ar vienu un to pašu SSH serveri. Šajā gadījumā viens lietotājs var uzraudzīt otra lietotāja ievades ģenerētos notikumus, pārraugot ierīces failu /dev/pts. Šī problēma tika risināta janvāra kodola atjauninājumos 5.10.248, 5.15.198, 6.1.160, 6.6.120, 6.12.65 un 6.18.3, atspējojot ACCESS un MODIFY notikumu ģenerēšanu vecākdirektorijam, piekļūstot vai modificējot tajā esošos īpašos failus.
Otrā uzbrukuma metode ļauj noteikt brīdi, kad Polkit apakšsistēma parāda autentifikācijas dialoglodziņu, uzraugot izpildāmo failu /usr/bin/pkexec. Šajā brīdī uzbrucējs var izveidot viltotu logu, kas veidots tā, lai atgādinātu paroles ievades dialoglodziņu, un parādīt to virs īstās paroles uzvednes. Lietotājs, kurš nezina par aizstāšanu, var ievadīt paroli, lai apstiprinātu darbību uzbrucēja logā. Šis uzbrukums ir demonstrēts distribūcijās, kurās darbojas KDE Plasma darbvirsmas vide.
Nodrošina platforma Android FileObserver API var izmantot, lai uzraudzītu failu aktivitātes citu lietojumprogrammu privātajos direktorijos. Piemēram, analizējot aktivitātes direktorijā /sdcard/.Android/media/com.whatsapp/WhatsApp varat izsekot failu, videoklipu vai attēlu dzēšanai, nosūtīšanai un saņemšanai lietotnē WhatsApp, kā arī uzzināt nosūtīto vai saņemto failu nosaukumus.

В Windows Izrādījās, ka, iespējojot notikumu izsekošanu saknes direktorijā (C:\), tiek pārsūtīta informācija, tostarp pilns faila ceļš, par jebkuriem notikumiem ar visiem failiem failu sistēmā neatkarīgi no failu atļaujām. Pētnieki demonstrēja iespēju izmantot šo funkciju, lai reāllaikā izsekotu, kuras vietnes lietotāji atver pārlūkprogrammā Firefox (Firefox pārlūkprogrammā IndexedDB datubāzei un kešatmiņai katrai vietnei tiek izveidots atsevišķs direktorijs ar vietnes nosaukumu, un piekļuvi šim direktorijam var izsekot). Microsoft atbilde uz šo drošības problēmu ir nominēta Pwnies balvai 2026 par jaunāko pārdevēja atbildi, jo uzņēmuma pārstāvji sākotnēji apgalvoja, ka šī nav ievainojamība, bet gan nedokumentēta funkcija.
Avots: opennet.ru
