ASLR (англ. address space layout randomization — «рандомізація розміщення адресного простору») — технологія, яка застосовується в операційних системах, при використанні якої випадковим чином змінюється розташування в адресному просторі процесу важливих структур даних, а саме образів виконуваного файлу, підвантажуваних бібліотек, купи і стека.
Технологія ASLR створена для ускладнення експлуатації декількох типів дефектів. Наприклад, якщо за допомогою переповнення буфера або іншого методу атакуючий отримає можливість передати управління за довільною адресою, йому слід буде вгадати, за якою саме адресою розташований стек, купа або інші структури даних, в які можна помістити шелл-код. Подібні проблеми виникнуть і при атаці типу «повернення в бібліотеку» (return-to-libc): атакуючому не буде відома адреса, за якою завантажена бібліотека. У наведених прикладах від атакуючого приховані конкретні адреси, і, якщо не вдасться вгадати правильну адресу, додаток швидше за все аварійно завершиться, тим самим позбавивши атакуючого можливості повторної атаки і привертаючи увагу системного адміністратора.
Реалізації
OpenBSD
Розробники OpenBSD реалізували ASLR одними з перших. ASLR включена за замовчуванням.
Linux
У ядрі Linux простий варіант ASLR є з 2005 року (з версії 2.6.12). Більш складні і повні варіанти ASLR пропонуються у вигляді патчів (PaX, ExecShield та ін). В дистрибутивах, що містять у назві слово «hardened», а також в сучасних версіях дистрибутиву Ubuntu, потужні варіанти включені за замовчуванням.
Для роботи ASLR (для розміщення виконуваних файлів в пам'яті за випадковим адресами) виконувані файли повинні бути скомпільовані в режимі position-independent executable (виконувані файли, що цілком складаються з [en]).
Microsoft Windows
В ОС Windows технологія ASLR підтримується починаючи з Windows Vista (2007 рік) для виконуваних файлів і бібліотек, зібраних зі спеціальними прапорами.
ASLR також підтримується в пізніших версіях Windows, таких як Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8, Windows 8.1. ASLR не застосовується для додатків, зібраних без спеціальних прапорів, а також при роботі в режимі сумісності з попередніми версіями Windows.
В ОС Windows XP та Windows Server 2003 ASLR можна включити для будь-яких додатків за допомогою набору засобів Microsoft EMET (Enhanced Mitigation Experience Toolkit).
Mac OS X
Деяка випадковість при завантаженні бібліотек додана в ОС Mac OS X v10.5 Leopard (2007 рік). В OS X 10.8 Mountain Lion (2012) ASLR є частиною ядра системи.
iOS
В ОС iOS технологія ASLR використовується, починаючи з версії 4.3. Для ядра використовується з iOS 6.
Недоліки
Для використання ASLR виконувані файли потрібно збирати зі спеціальними прапорами. В результаті в коді не будуть використовуватися постійні адреси, але при цьому:
- збільшиться розмір коду виконуваних файлів;
- збільшиться час завантаження в пам'ять кожного виконуваного файлу;
- виникне додаткова несумісність з ПО і бібліотеками, розробленим під версії ОС без ASLR.
Крім того, захист можна обійти через виснаження пам'яті або методи Heap Spray.
Примітки
- . Msdn.microsoft.com. Архів оригіналу за 18 квітня 2012. Процитовано 10 квітня 2012.
- Windows Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (PRO-Developer)
- Ryan Naraine (17 жовтня 2007). . ZDNet. Архів оригіналу за 15 серпня 2020. Процитовано 3 лютого 2020.
{{}}
: Cite має пусті невідомі параметри:|7=
та|3=
() - (PDF). June 2012. Архів оригіналу (PDF) за 10 липня 2012. Процитовано 25 липня 2012.
- . Архів оригіналу за 27 лютого 2017. Процитовано 19 квітня 2018.
iOS 4.3 introduces Address Space Layout Randomization (ASLR)
- (PDF). Архів оригіналу (PDF) за 21 вересня 2020. Процитовано 19 квітня 2018.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title () - . Архів оригіналу за 19 квітня 2018. Процитовано 19 квітня 2018.
- (PDF). Архів оригіналу (PDF) за 20 квітня 2018. Процитовано 19 квітня 2018.
{{}}
: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title ()
Література
- Фленов М. Е. Программирование на C++ глазами хакера. 2 изд. — БХВ-Петербург, 2011. — С. 53. — .
- Саша Голдштейн, Дима Зурбалев, Идо Флатов. Оптимизация приложений на платформе .NET с использованием языка C#. — ДМК Пресс, 2014. — С. 524. — .
Посилання
- ASLR Bypass in Windows — Brian Mariani
- PaX documentation on ASLR [ 14 квітня 2016 у Wayback Machine.]
- Comparison of PaX to Exec Shield and W^X [ 14 квітня 2012 у Wayback Machine.]
- Набір засобів EMET — реалізація ASLR для Windows XP/2003 [ 3 вересня 2014 у Wayback Machine.]
- Bypassing PaX ASLR protection [ 14 березня 2012 у Wayback Machine.]
- On the effectiveness of address space layout randomization
- Microsoft Finds (Random) Way to Secure Vista
- Windows Vista Randomization Gets OEM Thumbs Up
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
ASLR angl address space layout randomization randomizaciya rozmishennya adresnogo prostoru tehnologiya yaka zastosovuyetsya v operacijnih sistemah pri vikoristanni yakoyi vipadkovim chinom zminyuyetsya roztashuvannya v adresnomu prostori procesu vazhlivih struktur danih a same obraziv vikonuvanogo fajlu pidvantazhuvanih bibliotek kupi i steka Tehnologiya ASLR stvorena dlya uskladnennya ekspluataciyi dekilkoh tipiv defektiv Napriklad yaksho za dopomogoyu perepovnennya bufera abo inshogo metodu atakuyuchij otrimaye mozhlivist peredati upravlinnya za dovilnoyu adresoyu jomu slid bude vgadati za yakoyu same adresoyu roztashovanij stek kupa abo inshi strukturi danih v yaki mozhna pomistiti shell kod Podibni problemi viniknut i pri ataci tipu povernennya v biblioteku return to libc atakuyuchomu ne bude vidoma adresa za yakoyu zavantazhena biblioteka U navedenih prikladah vid atakuyuchogo prihovani konkretni adresi i yaksho ne vdastsya vgadati pravilnu adresu dodatok shvidshe za vse avarijno zavershitsya tim samim pozbavivshi atakuyuchogo mozhlivosti povtornoyi ataki i privertayuchi uvagu sistemnogo administratora RealizaciyiOpenBSD Rozrobniki OpenBSD realizuvali ASLR odnimi z pershih ASLR vklyuchena za zamovchuvannyam Linux U yadri Linux prostij variant ASLR ye z 2005 roku z versiyi 2 6 12 Bilsh skladni i povni varianti ASLR proponuyutsya u viglyadi patchiv PaX ExecShield ta in V distributivah sho mistyat u nazvi slovo hardened a takozh v suchasnih versiyah distributivu Ubuntu potuzhni varianti vklyucheni za zamovchuvannyam Dlya roboti ASLR dlya rozmishennya vikonuvanih fajliv v pam yati za vipadkovim adresami vikonuvani fajli povinni buti skompilovani v rezhimi position independent executable vikonuvani fajli sho cilkom skladayutsya z en Microsoft Windows V OS Windows tehnologiya ASLR pidtrimuyetsya pochinayuchi z Windows Vista 2007 rik dlya vikonuvanih fajliv i bibliotek zibranih zi specialnimi praporami ASLR takozh pidtrimuyetsya v piznishih versiyah Windows takih yak Windows Server 2008 Windows 7 Windows Server 2008 R2 Windows 8 Windows 8 1 ASLR ne zastosovuyetsya dlya dodatkiv zibranih bez specialnih praporiv a takozh pri roboti v rezhimi sumisnosti z poperednimi versiyami Windows V OS Windows XP ta Windows Server 2003 ASLR mozhna vklyuchiti dlya bud yakih dodatkiv za dopomogoyu naboru zasobiv Microsoft EMET Enhanced Mitigation Experience Toolkit Mac OS X Deyaka vipadkovist pri zavantazhenni bibliotek dodana v OS Mac OS X v10 5 Leopard 2007 rik V OS X 10 8 Mountain Lion 2012 ASLR ye chastinoyu yadra sistemi iOS V OS iOS tehnologiya ASLR vikoristovuyetsya pochinayuchi z versiyi 4 3 Dlya yadra vikoristovuyetsya z iOS 6 NedolikiDlya vikoristannya ASLR vikonuvani fajli potribno zbirati zi specialnimi praporami V rezultati v kodi ne budut vikoristovuvatisya postijni adresi ale pri comu zbilshitsya rozmir kodu vikonuvanih fajliv zbilshitsya chas zavantazhennya v pam yat kozhnogo vikonuvanogo fajlu vinikne dodatkova nesumisnist z PO i bibliotekami rozroblenim pid versiyi OS bez ASLR Krim togo zahist mozhna obijti cherez visnazhennya pam yati abo metodi Heap Spray Primitki Msdn microsoft com Arhiv originalu za 18 kvitnya 2012 Procitovano 10 kvitnya 2012 Windows Internals Including Windows Server 2008 and Windows Vista Fifth Edition PRO Developer ISBN 978 0 7356 2530 3 Ryan Naraine 17 zhovtnya 2007 ZDNet Arhiv originalu za 15 serpnya 2020 Procitovano 3 lyutogo 2020 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Cite maye pusti nevidomi parametri 7 ta 3 dovidka PDF June 2012 Arhiv originalu PDF za 10 lipnya 2012 Procitovano 25 lipnya 2012 Arhiv originalu za 27 lyutogo 2017 Procitovano 19 kvitnya 2018 iOS 4 3 introduces Address Space Layout Randomization ASLR PDF Arhiv originalu PDF za 21 veresnya 2020 Procitovano 19 kvitnya 2018 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya Arhiv originalu za 19 kvitnya 2018 Procitovano 19 kvitnya 2018 PDF Arhiv originalu PDF za 20 kvitnya 2018 Procitovano 19 kvitnya 2018 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z tekstom archived copy yak znachennya parametru title posilannya LiteraturaFlenov M E Programmirovanie na C glazami hakera 2 izd BHV Peterburg 2011 S 53 ISBN 978 5 9775 0303 7 Sasha Goldshtejn Dima Zurbalev Ido Flatov Optimizaciya prilozhenij na platforme NET s ispolzovaniem yazyka C DMK Press 2014 S 524 ISBN 978 5 457 83128 5 PosilannyaASLR Bypass in Windows Brian Mariani PaX documentation on ASLR 14 kvitnya 2016 u Wayback Machine Comparison of PaX to Exec Shield and W X 14 kvitnya 2012 u Wayback Machine Nabir zasobiv EMET realizaciya ASLR dlya Windows XP 2003 3 veresnya 2014 u Wayback Machine Bypassing PaX ASLR protection 14 bereznya 2012 u Wayback Machine On the effectiveness of address space layout randomization Microsoft Finds Random Way to Secure Vista Windows Vista Randomization Gets OEM Thumbs Up