DNS keşinə saxta məlumat daxil etmək üçün yeni SAD DNS hücumu

Riverside, Kaliforniya Universitetinin tədqiqatçılar qrupu, CVE-2021-20322 zəifliyini bloklamaq üçün keçən il əlavə edilmiş qorunmalara baxmayaraq işləyən SAD DNS hücumunun (CVE-2020-25705) yeni variantını nəşr etdi. Yeni üsul ümumilikdə keçən ilki zəifliyə bənzəyir və yalnız aktiv UDP portlarını yoxlamaq üçün fərqli tipli ICMP paketlərindən istifadə ilə fərqlənir. Təklif olunan hücum, keşdə ixtiyari domenin IP ünvanını əvəz etmək və domenə olan sorğuları təcavüzkarın serverinə yönləndirmək üçün istifadə edilə bilən DNS server keşinə uydurma məlumatların dəyişdirilməsinə imkan verir.

Təklif olunan metod Linux-da ICMP paket emal mexanizminin xüsusiyyətlərinə qoşulduğuna görə yalnız Linux şəbəkə yığınında işləyir ki, bu da məlumat sızması mənbəyi kimi çıxış edir və bu, server tərəfindən bir fayl göndərmək üçün istifadə olunan UDP port nömrəsinin müəyyən edilməsini asanlaşdırır. xarici sorğu. Məlumat sızmasının qarşısını alan dəyişikliklər avqustun sonunda Linux nüvəsinə qəbul edildi (düzləşdirmə kernel 5.15 və nüvənin LTS filiallarına sentyabr yeniləmələrinə daxil edilmişdir). Düzəliş, Jenkins Hash əvəzinə şəbəkə keşlərində SipHash hashing alqoritmindən istifadə etməyə keçməkdən ibarətdir. Dağıtımlarda zəifliyin aradan qaldırılması vəziyyəti bu səhifələrdə qiymətləndirilə bilər: Debian, RHEL, Fedora, SUSE, Ubuntu.

Problemi müəyyən edən tədqiqatçıların fikrincə, şəbəkədəki açıq həlledicilərin təxminən 38%-i həssasdır, o cümlədən OpenDNS və Quad9 (9.9.9.9) kimi məşhur DNS xidmətləri. Server proqram təminatına gəldikdə isə Linux serverində BIND, Unbound və dnsmasq kimi paketlərdən istifadə etməklə hücum həyata keçirilə bilər. Problem Windows və BSD sistemlərində işləyən DNS serverlərində görünmür. Hücumu uğurla həyata keçirmək üçün IP saxtakarlığından istifadə etmək lazımdır, yəni. təcavüzkarın ISP-nin saxta mənbə IP ünvanı olan paketləri bloklamaması tələb olunur.

Xatırladaq ki, SAD DNS hücumu 2008-ci ildə Dan Kaminsky tərəfindən təklif edilən klassik DNS keş-zadını zəhərləmə metodunu bloklamaq üçün DNS serverlərinə əlavə edilmiş qorumalardan yan keçir. Kaminskinin metodu yalnız 16 bit olan DNS sorğu ID sahəsinin kiçik ölçüsünü manipulyasiya edir. Host adının saxtalaşdırılması üçün lazım olan düzgün DNS əməliyyat identifikatorunu seçmək üçün təxminən 7000 sorğu göndərmək və 140 minə yaxın uydurma cavabı simulyasiya etmək kifayətdir. Hücum DNS həlledicisinə uydurma IP bağlaması və müxtəlif DNS əməliyyat identifikatorları olan çoxlu sayda paketlərin göndərilməsi ilə nəticələnir. İlk cavabın keşləşdirilməsinin qarşısını almaq üçün hər bir saxta cavab bir qədər dəyişdirilmiş domen adı ehtiva edir (1.example.com, 2.example.com, 3.example.com və s.).

Bu tip hücumlardan qorunmaq üçün DNS server istehsalçıları identifikatorun kifayət qədər böyük ölçüsünü kompensasiya edən həlledici sorğuların göndərildiyi mənbə şəbəkə portlarının sayının təsadüfi paylanmasını həyata keçirdilər. Uydurma cavabın göndərilməsi üçün qorunma tətbiq edildikdən sonra, 16 bitlik identifikator seçməklə yanaşı, seçim variantlarının sayını 64^2-ə qədər artıran 32 min portdan birini seçmək zərurəti yarandı.

SAD DNS metodu şəbəkə port nömrəsinin təyinini kökündən sadələşdirməyə və hücumu klassik Kaminsky metoduna endirməyə imkan verir. Təcavüzkar ICMP cavab paketlərini emal edərkən şəbəkə portlarının fəaliyyəti haqqında sızmış məlumatlardan istifadə edərək istifadə olunmamış və aktiv UDP portlarına girişi aşkar edə bilər. Metod bizə axtarış variantlarının sayını 4 böyüklük sırası ilə azaltmağa imkan verir - 2^16 əvəzinə 2^16+2^32 (131_072_4_294 əvəzinə 967_296). Aktiv UDP portlarını tez müəyyən etməyə imkan verən məlumat sızması, parçalanma sorğuları (ICMP Fragmentation Needed flag) və ya yönləndirmə (ICMP Redirect flag) ilə ICMP paketlərinin işlənməsi kodundakı qüsurdan qaynaqlanır. Belə paketlərin göndərilməsi şəbəkə stekindəki keşin vəziyyətini dəyişir ki, bu da serverin cavabı əsasında hansı UDP portunun aktiv, hansının aktiv olmadığını müəyyən etməyə imkan verir.

Hücum Ssenarisi: DNS həlledicisi domen adını həll etməyə çalışdıqda, domenə xidmət edən DNS serverinə UDP sorğusu göndərir. Həlledici cavab gözləyərkən, təcavüzkar sorğunun göndərilməsi üçün istifadə edilmiş mənbə port nömrəsini tez müəyyən edə və ona saxta cavab göndərə, IP ünvanlarının saxtalaşdırılmasından istifadə edərək domenə xidmət edən DNS serverini təqlid edə bilər. DNS həlledicisi saxta cavabda göndərilən məlumatları önbelleğe alacaq və bir müddət domen adı üçün bütün digər DNS sorğuları üçün təcavüzkarın əvəz etdiyi IP ünvanını qaytaracaq.

Mənbə: opennet.ru

Добавить комментарий