Parol menecerləri ilə brauzer əlavələrinə qarşı klikjacking hücumu

DEF CON 33 konfransında, görünən səhifəyə interfeys elementlərini əlavə edən brauzer əlavələrinə hücum metodu təqdim edilib. Şifrə menecerləri ilə bağlı əlavələrə tətbiq edilən hücum, şifrə menecerlərində saxlanan, autentifikasiya parametrləri, kredit kartı məlumatları, şəxsi məlumatlar və iki faktorlu autentifikasiya üçün bir dəfəlik şifrələr kimi məlumatların ifşasına səbəb ola bilər. Problemdən, 1Password, Bitwarden, LastPass, KeePassXC-Browser, NordPass, ProtonPass və Keeper daxil olmaqla, bütün sınaqdan keçirilmiş şifrə menecerləri təsirlənir.

Hücum metodu, brauzer əlavələrinin şifrə avtomatik tamamlama sorğusunu birbaşa görünən səhifəyə əlavə etməsi və bu elementləri həmin səhifənin DOM (Document Object Model) ilə inteqrasiya etməsi prinsipi üzərində qurulub. Əgər hücum edən şəxsin, məsələn, vebsaytda XSS boşluğundan istifadə edərək, səhifədə öz JavaScript kodunu icra etməyə imkan yaradan bir yol varsa, o, DOM-dakı bütün elementləri, o cümlədən buraxılış brauzer əlavələrini manipulyasiya edə bilər.

Digər şeylərdən, təsdiq dialoqunu şəffaf etmək və bu dialoqdakı düyməni hücum edən şəxs tərəfindən yaradılan, istifadəçini klik etməyə stimullaşdıran dialoqdakı düymə ilə uyğunlaşdırmaq mümkündür. Bu cür saxta dialoqlar, Cookie-lərlə iş üzrə səlahiyyət sorğuları, reklam bannerləri və ya CAPTCHA-lı formalar kimi istifadə edilə bilər. Şifrə menecerinin şəffaf dialoqunun altında bir saxta dialoq yerləşdirərək və düymələrin ekran üzərindəki mövqeyini uyğunlaşdıraraq, istifadəçinin iki faktorlu autentifikasiya parametrlərini doldurmağı təsdiq edən düyməni klikləməsini təmin etmək mümkündür, əslində isə istifadəçi reklam pəncərəsini bağlamaq üçün düyməni klik etdiyini düşünəcək.

Parol menecerləri ilə brauzer əlavələrinə qarşı klikjacking hücumu

Hücum aşağıdakı addımlara əsaslanır:

  • Səhifədə klik etməyə yönəlmiş narahat edən bir element yaratmaq.
  • Səhifəyə daxil olmaq üçün veb-forma və ya şəxsi məlumatları doldurmaq üçün forma əlavə etmək.
  • Veb-formanın şəffaflığını təyin etmək («opacity: 0.001» CSS-də).
  • Şifrə menecerinin avtomatik tamamlama dialoqunu aktivləşdirən forma sahəsində giriş fokusunu təyin etmək üçün focus() metodundan istifadə etmək.
  • DOM-da meydana çıxan şifrə menecerinin dialoqunu tapmaq və ona şəffaflıq təyin etmək.
  • İstifadəçinin görünən narahat edən element üzərində tıklama gözlənilir ki, bu da görünən və görünməz elementlərin müvafiq uyğunluğu ilə şəffaf dialoq pəncərəsindəki düyməni basmağa və parol menecerinin sahələrini doldurmağa səbəb ola bilər.
  • Doldurulmuş veb formasından məlumatların çıxarılması və bunların hücum edən serverinə göndərilməsi.

Parol menecerində autentifikasiya parametrlərinin avtomatik tamamlanması yalnız məlumatların saxlandığı veb saytlar açıldıqda aktivləşdirildiyindən, hücum təşkil etmək üçün hədəf veb saytda və ya alt domendə öz JavaScript kodunu işə sala bilmək lazımdır. Beləliklə, hücum üçün ya hədəf saytla eyni domendə alt domen əldə etmək, ya da istifadəçiyə göstərilən məzmuna öz kodunu daxil etməyə imkan verən XSS zəifliyini tapmaq zəruridir.

Bir çox istifadəçinin giriş parametrlərini saxlamaq üçün eyni parol menecerindən istifadə etdiyi, həmçinin iki mərhələli autentifikasiya üçün tək istifadəlik parollar yaratdığı qeyd olunur, bu da müzakirə olunan hücum metodunun tək istifadəlik parolların avtomatik doldurulmasında istifadə olunmasına imkan verir. Məsələn, XSS zəifliyi olan issuetracker.google.com saytında edilən hücum təqdim edilir. Giriş parametrləri və iki mərhələli autentifikasiya kodunu əldə etmək üçün istifadəçiyə XSS zəifliyini istismar edən bir link göndərmək və qondarma narahat sorğular vasitəsilə üç klik əldə etmək kifayətdir (Cookie emalına icazə, fərdiləşdirməyə icazə və gizlilik siyasəti ilə razılaşma).

XSS zəiflikləri olan saytlarla yanaşı, hücum, hamıya alt domenlər təqdim edən xidmətlər üzərində də həyata keçirilə bilər - əksər parol menecerləri standart konfiqurasyasında yalnız əsas domen deyil, alt domenlər üçün də giriş parametrlərini doldurur.

Hücum, istifadəçinin şifrə menecerində saxlanılan şəxsi məlumatlarının və kredit kartı parametrlərinin müəyyən edilməsi üçün də istifadə oluna bilər. Bu zaman, belə məlumatların sızması üçün başqa bir saytın kontekstində JavaScript kodunun icra edilməsinə ehtiyac yoxdur və qurbanı hücumçunun saytında bir səhifəyə cəlb etmək kifayətdir — şəxsi məlumatların, web formaların növünə (ünvan, kredit kartı nömrəsi, tam adı) uyğun olaraq doldurulması baş verir, bağlı olmadan. domenəKredit kartı parametrlərinin sızması ən təhlükəli sayılır, çünki şifrə menecerləri yalnız kart nömrəsini deyil, həm də qüvvədə olma tarixini və yoxlama kodunu da daxil edirlər.

Problemi aşkar edən tədqiqatçı 11 şifrə meneceri ilə brauzer əlavəsini test etdi ki, onların toplamda 39.7 milyon aktiv quraşdırması var idi, və onların hamısı bu cür hücumlara qarşı qorunmamışdı. Bəzi istehsalçılar (NordPass 5.13.24, ProtonPass 1.31.6, RoboForm 9.7.6, Dashlane 6.2531.1, Keeper 17.2.0, Enpass 6.11.6, Bitwarden 2025.8.1) hücumun həyata keçirilməsini bloklamağa çalışaraq yeniləmələr buraxdılar. Digər əlavələr (KeePassXC-Browser, 1Password, iCloud Passwords, Enpass, LastPass, LogMeOnce) hələ ki, düzəliş edilməmişdir. Müxtəlif şifrə menecerlərində zəifliyin ortaya çıxmasını yoxlamaq üçün bir test səhifələri dəstəsi dərc edilmişdir.

Parol menecerləri ilə brauzer əlavələrinə qarşı klikjacking hücumu
Parol menecerləri ilə brauzer əlavələrinə qarşı klikjacking hücumu

1Password-nin düzəliş buraxmayan inkişaf etdiricilərinin mövqeyi, zəifliyin fundamental olduğu və birbaşa konkret bir brauzer əlavəsi ilə bağlı olmadığı fikrindədir. Buna görə də, onu əlavə tərəfində aradan qaldırmaq cəhdləri yalnız fərdi hücum vektorlarını bloklayır, amma problemi həll etmir ki, bunun üçün brauzerdə və ya avto doldurulma sahələri üçün ayrı bir təsdiq sorğusu tələb olunur. Qeyd olunur ki, 1Password artıq ödəniş parametrlərinin avto doldurulması ilə bağlı təsdiq sorğusunun verilməsini dəstəkləyir və növbəti buraxılışda bütün avto doldurulan məlumat növləri üçün bu cür bir sorğu verilməsi opsiyası əlavə ediləcək (işin rahatlığının azalması səbəbindən belə bir opsiya standart olaraq aktiv edilməyəcək).

Araşdırma müəllifi tərəfindən təklif olunan müdafiə metodları arasında API MutationObserver vasitəsilə səhifəyə əlavə olunan elementlərin stil dəyişikliklərinin izlənməsi, «closed» rejimində Shadow DOM vasitəsilə dəyişikliklərin bloklanması, elementlərin şəffaflığının monitorinqi, dialoqların göstərilməsi üçün API Popover-in istifadəsi, təbəqələrin üst-üstə düşməsinin yoxlanılması və parol menecerinin dialoqu təqdim edilərkən bütün üzən elementlərdə pointer-events:none rejimində hadisələrin çevrilməsinin müvəqqəti deaktiv edilməsi qeyd olunur. Bununla yanaşı, göstərilən sinifin tam bloklanması üçün hücumların qarşısını almaq üçün brauzer səviyyəsində ayrıca API-nin tətbiq edilməsi tövsiyə olunur klik çəkilişi.

Chromium mühərrikindən istifadə edən brauzerlərdə istifadəçilərə saytın əlavələrinin girişini təsdiqləmə rejimini aktivləşdirmək tövsiyə olunur (Əlavə ayarları → «site access» → «on click»), bu zaman əlavələr sayta yalnız ünvan çubuğunun sağ tərəfindəki simgəyə klik edildikdən sonra giriş əldə edir. Müdafiə üçün alternativ bir yol olaraq, formaların avtomatik doldurulmasının deaktiv edilməsi və parolların əl ilə kopyalanması da qeyd olunur, lakin bu zaman ümumi clipboard-dan məlumat sızması problemi və fişinq cəhdlərini görməmək təhlükəsi yaradır.

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster