XÜSUSİ DÖVLƏT MÜHAFİZƏ XİDMƏTİ
XÜSUSİ RABİTƏ VƏ İNFORMASİYA
TƏHLÜKƏSİZLİYİ DÖVLƏT AGENTLİYİ

KOMPÜTER İNSİDENTLƏRİNƏ
QARŞI MÜBARİZƏ
MƏRKƏZİ

İnsident bildir

Məqalələr > Elektron informasiya resurslarının “CROSS SITE INCLUDE” təhlükəsizlik riskindən qorunmasının zəruriliyi barədə tövsiyyə.

2 Dek 2017

“CROSS SITE INCLUDE” - elektron informasiya resurslarında son zamanlar çox aktual və diqqətdən yayınan təhlükəsizlik riskidir. “CROSS SITE INCLUDE” təhlükəsizlik boşluğunun nümunə əsasında izahının verilməsi boşluğun istifadə mexanizminin anlaşılması baxımından faydalı olacaq. Bu şərti A veb saytının hər hansı B saytında yerləşdirilmiş aktiv elementini (javascript, css və s) öz kontentində çağırmasıdır. Nəticədə A veb saytına daxil olmuş istifadəçinin brauzeri bu kontenti A saytından deyil, kənar B saytından yükləyərək istifadəçi brauzerində icra etmiş olur. Veb saytlarda istifadə edilən sayğac sistemləri, jquery javascript kitabxanalarının müxtəlif saytlardan çağırılması (o cümlədən CDN), müxtəlif növ tərəfdaş tipli reklamlar - bu təhlükəsizlik riskinə yol açan başlıca səbəblərdəndir. Əyanilik üçün ixtiyari A saytının HTML qaynaq kodundan aşağıdakı nümunəyə baxaq (şəkil 1).

Şəkil 1. A saytında javascript kitabxananın B saytından istifadəçi brauzerinə yüklənməsi

  Risk nədən ibarətdir? İnformasiya resursu üzərindən bu yolla çağırılan javascript məqsədyönlü şəkildə redaktə edilməklə A saytı kontentində başlıca olaraq aşağıdakı manipulyasilara səbəb ola bilər:

  1. Saytın kontentinin dəyişdirilməsinə (persistent client side defacement);
  1. Sayt ziyarətçilərinin yoluxdurulmasına;
  2. Sayt ziyarətçilərinin müxtəlif kənar internet resurslarına yönləndirilməsinə;
  3. Saytın kontentində vizual olaraq görünən və görünməyən gizli reklamların yayımlanmasına;
  4. Axtarış sistemlərində saytın müxtəlif manipulyasiya edici sözlərlə qeydə alınması;
  5. Sayt ziyarətçilərinin kompüterlərinin özlərinin də xəbəri olmadan kripto-mayninq proseslərində iştirakına və s.

Sadalanan təhlükəsizlik risklərini əyani nümayiş etdirmək üçün 2 şərti sayt üzərində test edilmişdir:

  1. http://site.example/ - IP: 192.168.0.116. Bu sayt şərti olaraq əsas saytdır. (şəkil 2)
  2. http://saygac.example/ - IP: 192.168.0.117. Bu sayt şərti olaraq sayğac saytıdır.(şəkil 3)

Şəkil 3. “site.example” saytımızdan vizual görüntü.

Əsas sayt öz informasiya sistemində statistikaları görmək üçün sayğac sistemi quraşdırmaq istəyir. Bunun üçün sayğac modulunu özü proqramlaşdırmaq əvəzinə sayğac xidməti verən xidmətlərə müaricət edir. Beləliklə əsas sayt “Saygac.example” saytından hazır sayğac modulu olan “saygac.php” skriptini öz koduna əlavə edir. Bu skriptin ən primitiv funksiyası sayta daxil olan ziyarətçilərin neçə dəfə bunu etməsini ekrana çıxarmaqdır. Təbii ki, bu test nümunəsidir və daha mürəkkəb funksionallıqlarda bu sayğac skriptində yerləşə bilər.

Aşağıda əsas informasiya resursu olan “site.example” saytına sadə javascript vasitəsilə sayğacın əlavə edilməsi “include” göstərilmişdir. (şəkil 4)

 

Şəkil 4. “site.example” saytının HTML qaynaq kodunda “saygac.example/saygac.php” skriptinin “include” edilməsi.

“CROSS SITE INCLUDE” - təhlükəsizlik riskini informasiya resursuna hücum aspektindən qiymətləndirilməsi:

Fakt1. Hücum ediləcək hədəf sayt - əsas “site.example” informasiya resursudur. İnformasiya resursunun təhlükəsizliyi çox yüksək səviyyədə təşkil olunduğundan həmin resursa birbaşa müdaxilə cəhdləri uğursuzdur. 

Fakt2. Hədəf informasiya resursu boşluğu olan kənar “saygac.example” saytından “saygac.example/saygac.php” - sayğac faylını öz kodunda icra edir.

Nəticədə hücumu həyata keçirmək istəyən xaker əsas informasiya resursuna birbaşa müdaxilə edə bilmədiyindən müdaxiləni “saygac.example” saytına edir və həmin saytdakı  “saygac.example/saygac.php” faylını manipulyasiya edərək istədiyinə nail olur. Aşağıdakı xaker “saygac.example/saygac.php” faylında dəyişikliklər edərək sayt ziyarətçilərini necə digər saytlara yönləndirilməsi nümunəsi verilmişdir. (şəkil 5)

Şəkil 4) Hücum həyata keçirən şəxsin “saygac.example” saytına bu və ya digər yolla (insan səhvi, dayanıqsız şifrə, yenilənməmiş veb/server proqram təminatı, veb proqram təminatında təhlükəsizlik çatışmazlığı və s. səbəblərindən) uğurla müdaxilə etməsi.

Bununla hücum həyata keçirən şəxs əslində çox uğurlu və perspektivli nəticələr əldə edəcək:

  • “saygac.example” saytından minlərlə sayt istifadə edir. Kütləvi şəkildə digər saytlarda müdaxilə əldə edilir və bu saytların ziyarətçilərinin müxtəlif növ bədniyyətli proqram təminatları yoluxdurulması daha asan başa gəlir.

 Bunun üçün sadəcə olaraq saygac.php skriptini redaktə etməsi lazımdır.

  • Minlərlə saytlara tək-tək hücum həyata keçirməkdənsə “saygac.example” saytına müdaxilə etmək daha asandır və daha perspektivlidir.

 Gəlin, “saygac.php” skripti vasitəsilə “site.example” (o cümlədən bu sayğacdan istifadə edən minlərlə saytı) bu yolla defeys edək və istədiyimiz hər hansı internet resursa yönləndirək. 

Şəkil 5

Sayğacda edilən dəyişiklikdən sonra ziyarətçinin “site.example” saytına daxil olması anında baş verənlər 6-cı şəkildə qırmızı çərçivə daxilində əks olunmuşdur. Şəkildən ziyarətçinin brauzerinin “saygac.example” saytına HTTP müraciət etməsi və yekundan yönləndiriləcək “deface”  səhifəsinə “cert.gov.az” saytına yönlənməsi aydın görünməkdədir.

Şəkil 6. “site.example” saytının yönləndirmə yolu ilə “deface” edilməsi.

Xakerin sayğac kimi ümumi istifadə üçün ayrılmış xidmətlərə müdaxilə etməsi, bu xidmətlərdən istifadə edən minlərlə informasiya resursunu onların təhlükəsizlik səviyyəsindən və qorunmasından asılı olmayaraq ani hücumla üz-üzə qoyur.

Bu səbəbdən də CERT.GOV.AZ bütün dövlət orqanlarına, həmçinin kritik infrastrukturlara öz informasiya resurslarında kənar kodların (sayğac, yarışların scriptlə icra olunan logosu, reklam, statistika, jquery, kənardan icra olunan modullar və s.) icrasına yol verilməməsini tövsiyyə edir və onları belə təhlükələrə qarşı diqqətli olmağa çağırır.