ggdb是什么牌子
ASLR (англ. address space layout randomization — ?рандом?зац?я розм?щення адресного простору?) — технолог?я, яка застосову?ться в операц?йних системах, при використанн? яко? випадковим чином зм?ню?ться розташування в адресному простор? процесу важливих структур даних, а саме образ?в виконуваного файлу, п?двантажуваних б?бл?отек, купи ? стека.
Технолог?я ASLR створена для ускладнення експлуатац?? дек?лькох тип?в дефект?в. Наприклад, якщо за допомогою переповнення буфера або ?ншого методу атакуючий отрима? можлив?сть передати управл?ння за дов?льною адресою, йому сл?д буде вгадати, за якою саме адресою розташований стек, купа або ?нш? структури даних, в як? можна пом?стити шелл-код. Под?бн? проблеми виникнуть ? при атац? типу ?повернення в б?бл?отеку? (return-to-libc): атакуючому не буде в?дома адреса, за якою завантажена б?бл?отека. У наведених прикладах в?д атакуючого прихован? конкретн? адреси, ?, якщо не вдасться вгадати правильну адресу, додаток швидше за все авар?йно завершиться, тим самим позбавивши атакуючого можливост? повторно? атаки ? привертаючи увагу системного адм?н?стратора.
Розробники OpenBSD реал?зували ASLR одними з перших. ASLR включена за замовчуванням.
У ядр? Linux простий вар?ант ASLR ? з 2005 року (з верс?? 2.6.12). Б?льш складн? ? повн? вар?анти ASLR пропонуються у вигляд? патч?в (PaX, ExecShield та ?н). В дистрибутивах, що м?стять у назв? слово ?hardened?, а також в сучасних верс?ях дистрибутиву Ubuntu, потужн? вар?анти включен? за замовчуванням.
Для роботи ASLR (для розм?щення виконуваних файл?в в пам'ят? за випадковим адресами) виконуван? файли повинн? бути скомп?льован? в режим? position-independent executable (виконуван? файли, що ц?лком складаються з позиц?йно-незалежного коду[en]).
В ОС Windows технолог?я ASLR п?дтриму?ться починаючи з Windows Vista (2007 р?к) [1] для виконуваних файл?в ? б?бл?отек, з?браних з? спец?альними прапорами.
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[2] (Enhanced Mitigation Experience Toolkit).
Деяка випадков?сть при завантаженн? б?бл?отек додана в ОС Mac OS X v10.5 Leopard (2007 р?к)[3]. В OS X 10.8 Mountain Lion (2012) ASLR ? частиною ядра системи[4].
В ОС iOS технолог?я ASLR використову?ться, починаючи з верс?? 4.3[5]. Для ядра використову?ться з iOS 6[6].
Для використання ASLR виконуван? файли потр?бно збирати з? спец?альними прапорами. В результат? в код? не будуть використовуватися пост?йн? адреси, але при цьому:
- зб?льшиться розм?р коду виконуваних файл?в;
- зб?льшиться час завантаження в пам'ять кожного виконуваного файлу;
- виникне додаткова несум?сн?сть з ПО ? б?бл?отеками, розробленим п?д верс?? ОС без ASLR.
Кр?м того, захист можна об?йти через виснаження пам'ят?[7] або методи Heap Spray[8].
- ↑ Windows ISV Software Security Defenses. Msdn.microsoft.com. Арх?в ориг?налу за 18 кв?тня 2012. Процитовано 10 кв?тня 2012.
- ↑ Windows Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (PRO-Developer) ISBN 978-0-7356-2530-3
- ↑ Ryan Naraine (17 жовтня 2007). Memory randomization (ASLR) coming to Mac OS X Leopard. ZDNet. Арх?в ориг?налу за 15 серпня 2020. Процитовано 3 лютого 2020.
- ↑ OS X Mountain Lion Core Technologies Overview (PDF). June 2012. Арх?в ориг?налу (PDF) за 10 липня 2012. Процитовано 25 липня 2012.
- ↑ Pwn2Own day 2: iPhone, BlackBerry beaten; Chrome, Firefox no-shows. Арх?в ориг?налу за 27 лютого 2017. Процитовано 19 кв?тня 2018.
iOS 4.3 introduces Address Space Layout Randomization (ASLR)
- ↑ Арх?вована коп?я (PDF). Арх?в ориг?налу (PDF) за 21 вересня 2020. Процитовано 19 кв?тня 2018.
{{cite web}}
: Обслуговування CS1: Стор?нки з текстом ?archived copy? як значення параметру title (посилання) - ↑ Простой обход защиты ASLR в Windows 7/8. Арх?в ориг?налу за 19 кв?тня 2018. Процитовано 19 кв?тня 2018.
- ↑ Арх?вована коп?я (PDF). Арх?в ориг?налу (PDF) за 20 кв?тня 2018. Процитовано 19 кв?тня 2018.
{{cite web}}
: Обслуговування CS1: Стор?нки з текстом ?archived copy? як значення параметру title (посилання)
- Фленов М. Е. Программирование на C++ глазами хакера. 2 изд. — БХВ-Петербург, 2011. — С. 53. — ISBN 978-5-9775-0303-7.
- Саша Голдштейн, Дима Зурбалев, Идо Флатов. Оптимизация приложений на платформе .NET с использованием языка C#. — ДМК Пресс, 2014. — С. 524. — ISBN 978-5-457-83128-5.
- 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.]
- ASLR for Windows Vista beta 2
- ASLR for Windows 2000/XP/2003 (WehnTrust)
- Наб?р засоб?в 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