Clickjacking
Last updated
Last updated
Clickjacking nədir?
Clickjacking, istifadəçinin saxta veb-saytdakı bəzi buttonlara klikləməklə, gizli veb-saytda işləyən məzmuna klikləmək üçün aldadıldığı interfeys əsaslı hücumdur. Aşağıdakı misalı nəzərdən keçirək:
Veb istifadəçisi fırıldaqçının veb-saytına daxil olur (bu e-poçtla verilmiş bir keçid ola bilər) və mükafat qazanmaq üçün düyməni klikləyir. Onlar bilmədən, təcavüzkar tərəfindən alternativ gizli düyməyə basaraq aldadılıblar və bu, başqa saytda hesabın ödənilməsi ilə nəticələnir. Bu, klik hücumunun bir nümunəsidir. Texnika, iframe daxilində düymə və ya gizli keçid olan görünməz, işlək veb səhifənin (və ya bir neçə səhifənin) daxil edilməsindən asılıdır. iframe istifadəçinin fırıldaq veb səhifəsi məzmununun üstünə qoyulur. Bu hücum CSRF hücumundan onunla fərqlənir ki, istifadəçidən düyməyə klik etmək kimi hərəkətlər etməyi tələb olunur, halbuki CSRF hücumu istifadəçinin məlumatı və ya daxiletməsi olmadan bütün sorğunun saxtalaşdırılması ilə yaranır.
Bəzən səhifəni yükləyərkən GET parametrlərindən istifadə edərək form sahələrini doldurmaq mümkündür. Təcavüzkar bu davranışdan sui-istifadə edərək formanı öz istədiyi lazimi məlumatlarla doldura və istifadəçinin Göndər düyməsini basması üçün Clickjacking edə bilər.
Clickjacking hücumları layerlər yaratmaq və manipulyasiya etmək üçün CSS-dən istifadə edir. Təcavüzkar hədəf veb-saytı yalançı veb-saytda üst-üstə düşən iframe layer-i kimi birləşdirir. Style tag-i və parametrlərindən istifadə nümunəsi aşağıdakı kimidir:
Hədəf veb-sayt iframe brauzerin daxilində elə yerləşdirilib ki, müvafiq genişlik və hündürlük dəyərlərindən istifadə edərək, fırıldaqçı veb-sayt ilə hədəf fəaliyyətin dəqiq üst-üstə düşməsini təmin edir. Ekran ölçüsündən, brauzer növündən və platformasından asılı olmayaraq hədəf veb-sayt ilə dəqiq üst-üstə düşməsini təmin etmək üçün mütləq və nisbi mövqe dəyərlərindən istifadə olunur. Z-indeksi iframe və veb-sayt qatlarının yığılma qaydasını müəyyən edir. İframe məzmununun istifadəçi üçün şəffaf olması üçün qeyri-şəffaflıq dəyəri 0.0 (və ya 0.0-a yaxın) kimi müəyyən edilir. Brauzer clickjacking qorunması iframe şəffaflığının aşkarlanması tətbiq edilə bilər (məsələn, Chrome versiyası 76 belə bir xüsusiyyəti var, lakin Firefoxda yoxdur). Təcavüzkar qeyri-şəffaflıq dəyərlərini seçir ki, müdafiə davranışları işə salınmadan istənilən effekti əldə edə bilsin.
Klik hücumlarının qarşısını almaq üçün veb developerlər bir sıra təhlükəsizlik tədbirləri həyata keçirirlər. Effektiv strategiyalardan biri X-Frame-Options HTTP başlığından istifadə etməkdir ki, bu da veb-saytlara məzmununun Frame-lərə daxil edilib-edilməməsinə nəzarət etməyə imkan verir. X-Frame-Options başlığını "DENY" və ya "SAMEORIGIN" olaraq təyin etməklə tərtibatçılar öz veb səhifələrinin digər domenlərdə iframe-lərdə göstərilməsinə mane ola bilər və bu, klikləmə cəhdlərinin qarşısını ala bilər. Əlavə olaraq, Məzmun Təhlükəsizliyi Siyasətinin (CSP) başlığından istifadə etmək Frame üçün icazə verilən mənbələri göstərərək mühafizəni daha da gücləndirə bilər. Veb proqramlarının daimi olaraq yenilənməsi və zəifliklərin düzəldilməsi, həmçinin potensial təhlükəsizlik riskləri haqqında istifadəçilərin maarifləndirilməsi klik hücumlarına qarşı hərtərəfli müdafiənin ən yaxşı yollarıdır.
X-Frame-Options əvvəlcə Internet Explorer 8-də qeyri-rəsmi cavab başlığı kimi təqdim edildi və digər brauzerlərdə sürətlə qəbul edildi. Başlıq veb-sayt sahibinə iframe-lərin və ya obyektlərin istifadəsi üzərində nəzarəti təmin edir ki, veb-səhifənin frame-lərə daxil edilməsinin qarşısını alır.
Alternativ olaraq, eyni mənşəli direktivdən istifadə edərək çərçivələmə veb saytla eyni mənşə ilə məhdudlaşdırıla bilər
və ya allow-f direktivindən istifadə edərək:
X-Frame-Options brauzerlər arasında ardıcıl olaraq həyata keçirilmir (məsələn, Chrome versiyası 76 və ya Safari 12-dəallow-forms
direktivi dəstəklənmir). Bununla belə, çox səviyyəli müdafiə strategiyasının bir hissəsi kimi Məzmun Təhlükəsizliyi Siyasəti ilə birlikdə düzgün şəkildə tətbiq edildikdə, klik hücumlarına qarşı effektiv müdafiəni təmin edə bilər.
Frame busterləri JavaScript olduğundan, brauzerin təhlükəsizlik parametrləri onların işləməsinə mane ola bilər və ya brauzer hətta JavaScript-i dəstəkləməyə bilər. Hücumçuların Frame qırmalarına qarşı effektiv həlli HTML5 iframe sandbox atributundan istifadə etməkdir. Bu allow-forms
və ya allow-scripts
dəyərləri ilə təyin edildikdə və allow-top-navigation
dəyəri buraxıldıqda, iframe yuxarı pəncərə olub-olmadığını yoxlaya bilmədiyi üçün çərçivə buster skripti zərərsizləşdirilə bilər:
Həm allow-forms
, həm də allow-scripts
dəyərləri iframe daxilində göstərilən hərəkətlərə icazə verir, lakin yuxarı səviyyəli naviqasiya deaktiv edilib. Bu, hədəflənmiş sayt daxilində funksionallığa icazə verərkən çərçivənin məhv edilməsi davranışlarını maneə törədir. Həyata keçirilən Clickjacking hücumunun növündən asılı olaraq bunlar sizə lazım ola bilər: allow-same-origin
və allow-modals
Hücum hazırlayarkən brauzerin konsolunu yoxlamaq kifayətdir, o sizə hansı digər davranışlara icazə verməli olduğunuzu söyləyə bilər.