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

Xəbərlər > Diqqət !!! ASLR haqda nələri bilmirik ?!

17 Sen 2013

 ASLR – proqram üçün ayrılan yaddaş səhifələrini bir-birinə nisbətdə yerləşməsini qabaqcadan bildirilməsindən istifadə edən hücumların bütöv bir sinfinin həyata keçirilməsini çətinləşdirilməsinə səbəb olaraq bu səhifələri (yüklənmə zamanı modulların özlərini də) nisbətən təsadüfi (nə qədər yaxşı təsadüfi olması – konkret Əməliyyat Sistemi - nin konkret versiyasında reallaşmasından asılıdır – məsələn, NT 6.0 təsadüfilik 2^8 sayı ilə ifadə olunur) şəkildə “qarışdıran” mexanizmdir.

Sintetik nümunə əsasında izah etməyə çalışacıq. Fərz edək ki, müəyyən bir proqram vardır. O, verilənlər üçün hər biri 1 meqabayt olan 3 ayrı seqment tələb edir. Bu proqramın məlum zəif yeri var ki, bu da yerinə yetirilən kodu birinci seqmentin sonunda və ikinci seqmentin başlanğıcında yerləşdirməyə imkan verir. ASLR olmayan hallarda seqmentlər hər zaman faktiki olaraq əməliyyat yaddaşında 1,2,3 kimi yerləşmişdir və hücum uğurlu olacaqdır, ASLR seqmentlərinin hər dəfə bir-birinə nisbətdə yerlərini dəyişəcəkləri təqdirdə (məsələn, 3,1,2 və ya 2,3,1) hücum həyata keçirilməyəcəkdir. Mahiyyətcə, ASLR DEP ilə birlikdə xüsusilə effektiv olan mühüm texnologiyadır (onların hər ikisi ayrı-ayrılıqda, göründüyü kimi, o qədər də mükəmməl deyildir), ona görə də onun daxil edilməsi ciddi zərurət hesab edilə bilər. Texnologiya Windows Vista (xidmət paketi olmadan), Windows Server 2008 SP1 və daha üst kateqoriyalı versiyalarda tətbiq edilmişdir.

ASLR-i EMET-ə necə daxil etmək olar?

Yenə də proqramın parametrlərinin əsas və yeganə pəncərəsi vasitəsilə. Sizin edə biləcəyiniz yeganə seçim bu parametri bütün sistem üçün Proqram Təminatı option - a qoymaqdır.

Always On variantı nə üçün yoxdur?

Məsələ ondadır ki, Əməliyyat Sistemi –nin komponentləri üçün bu texnologiya hər zaman işlək vəziyyətdədir və söndürülmür, proqram təminatı üçün isə bu texnologiyanın layihələndirmə/kompilyasiya mərhələsində dəstəklənməsi zəruridir. Əks təqdirdə, öz yaddaşının “qarışdırılmasına” hazır olmayan hallarda proqramın düzgün işləməyəcəyi ehtimalı (olduqca az) yaranacaqdır. Ancaq, yeri gəlmişkən, siz ayrıca proqramı seçdiyiniz təqdirdə, onun üçün bu texnologiyanın sürətləndirilməsi mümkündür - sadəcə Mandatory ASLR sütununda işarə qoyun.
Əlavə: Bəli, ASLR-i AlwaysOn-a daxil etmək olar. Bunun üçün aşağıdakı əməliyyatı həyata keçirmək lazımdır - EMET-i bağlamaq, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EMET reyestrinin bir qoluna daxil olmaq və EnableUnsafeSettings parametrini vahidə nizamlamaq lazımdır. Bundan sonra, EMET-i işə salaraq, Siz ASLR-i “hər zaman məcburi qoşulmuşdur” vəziyyətinə gətirmək imkanını əldə edirsiniz. Nəzərə alın ki, bu, ciddi dəyişiklikdir - əgər Proqram Təminatı option variantında məntiq seqmentləri aydın göstərilən modullarda qarışdırırıq” kimi ifadə edilirdisə, indi “hər şey istisna olmadan” kimi olacaq. Bu, yüklənmənin mümkünsüzlüyünə gətirib çıxara bilər, belə ki, bir çox drayverlər işə düşməyə bilər. Əks halda USB üçün drayverlər işləməyəcəklər. Yəni, sadəcə olaraq, əgər işə salsanız, təhlükəsiz rejimdə və parametrlərin işinin dayanması ilə yüklənməyə hazır olun. Əməliyyat Sistemi və əsas proqram təminatı-nın kodu - Office 2010, Lync – iş qabiliyyətinin müvəqqəti olaraq itirilməsinə səbəb olmur, ən azı yoxlanan versiyalarda bu müşahidə edilmir.

ASLR sürətə təsir edirmi?

Proqram təminatı -nın işinin sürətinə qətiyyən təsir etmir. Yüklənmənin sürətinə - mənfi, fakt üzrə isə ölçü xətaları sərhədlərində təsir edir. Mümkün olan zaman ASLR dəstəyini hər zaman qoşulmuş vəziyyətdə saxlayın.
Əlavə olaraq bildirmək istərdik ki, mahiyyətcə, məsələ bu cürdür. Proqram təminatı doğru tərtib edənlər, NT 6.0+ ilə işləyənlərin etdiyini həyata keçirərək, bu texnologiyaları nəzərə almalı və onların dəstəyini həyata keçirməlidir. Bu, adətən, seçimlərin kompilyatorda işə salınması– məsələn, Visual Studio 2010 - da o mövcuddur və proqram təminatında sonrakı sınaqdan keçirilməsi ilə həyata keçirilir. Bu cür vəziyyətdə EMET onunla kömək edəcəkdir ki, seçilmiş soft üçün “məcburi” - mandatory – ASLR götürmək və işə salmaq mümkün olacaqdır. Əgər alınarsa, çox yaxşı, alınmadığı təqdirdə isə 2006-cı ildən Əməliyyat Sisteminə quraşdırılmış müdafiə mexanizminin mövcud olmasının proqram tərtibatçıları tərəfindən nəzərə alacağını gözləmək lazım gələcəkdir.