Что такое ASLR и как он защищает ваш компьютер?

Оглавление:

Что такое ASLR и как он защищает ваш компьютер?
Что такое ASLR и как он защищает ваш компьютер?

Видео: Что такое ASLR и как он защищает ваш компьютер?

Видео: Что такое ASLR и как он защищает ваш компьютер?
Видео: Как скрыть программы из панели управления? | WINDOWS - YouTube 2024, Апрель
Anonim
Рандомизация пространственного размещения адреса (ASLR) - это метод безопасности, используемый в операционных системах, впервые реализованный в 2001 году. В текущих версиях всех основных операционных систем (iOS, Android, Windows, MacOS и Linux) реализована защита ASLR. Но на прошлой неделе был найден новый метод обхода ASLR. Итак, вы должны волноваться?
Рандомизация пространственного размещения адреса (ASLR) - это метод безопасности, используемый в операционных системах, впервые реализованный в 2001 году. В текущих версиях всех основных операционных систем (iOS, Android, Windows, MacOS и Linux) реализована защита ASLR. Но на прошлой неделе был найден новый метод обхода ASLR. Итак, вы должны волноваться?

Для тех, у кого нет низкоуровневого программирования, ASLR может ввести в заблуждение. Чтобы понять это, вы должны сначала понять виртуальную память.

Что такое виртуальная память?

Виртуальная память - это технология управления памятью со многими преимуществами, но она была создана в первую очередь для упрощения программирования. Представьте, что у вас есть Google Chrome, Microsoft Word и несколько других программ, открытых на компьютере с 4 ГБ ОЗУ. В целом, программы на этом компьютере используют более 4 ГБ ОЗУ. Однако не все программы будут активны во все времена или должны иметь одновременный доступ к этой ОЗУ.

Операционная система выделяет куски памяти для программ, называемых страницы, Если для хранения всех страниц недостаточно ОЗУ, страницы, которые, вероятно, понадобятся, хранятся на более медленном (но более просторном) жестком диске. Когда сохраненные страницы необходимы, они будут переключаться с местами с менее необходимыми страницами, находящимися в настоящее время в ОЗУ. Этот процесс называется поисковым вызовом и присваивает его имя файлу pagefile.sys в Windows.

Виртуальная память упрощает управление программами собственной памяти, а также делает их более безопасными. Программам не нужно беспокоиться о том, где другие программы хранят данные или сколько осталось ОЗУ. Они могут просто запросить операционную систему для дополнительной памяти (или вернуть неиспользуемую память) по мере необходимости. Вся программа видит один непрерывный кусок адресов памяти для его исключительного использования, называемый виртуальными адресами. Программе не разрешается просматривать память другой программы.

Когда программе требуется доступ к памяти, она дает операционной системе виртуальный адрес. Операционная система связывается с блоком управления памятью процессора (MMU). MMU переводит между виртуальными и физическими адресами, возвращая эту информацию в операционную систему. Ни в коем случае программа напрямую не взаимодействует с ОЗУ.

Что такое ASLR?

Рандомизация пространственного расположения адреса (ASLR) в основном используется для защиты от атак переполнения буфера. В переполнении буфера злоумышленники подают функцию как много ненужных данных, которые могут обрабатывать, за которыми следует вредоносная полезная нагрузка. Полезная нагрузка будет переписывать данные, которые программа намеревается получить. Инструкции по переходу на другую точку кода являются общей полезной нагрузкой. Известный JailbreakMe метод джейлбрейка iOS 4, например, использовал атаку переполнения буфера, предложив Apple добавить ASLR в iOS 4.3.

Переполнение буфера требует, чтобы злоумышленник знал, где каждая часть программы находится в памяти. Выяснить это, как правило, сложный процесс проб и ошибок. Определив это, они должны создать полезную нагрузку и найти подходящее место для ее введения. Если злоумышленник не знает, где находится их целевой код, это может быть трудно или невозможно использовать.

ASLR работает вместе с управлением виртуальной памятью, чтобы рандомизировать местоположения различных частей программы в памяти. Каждый раз, когда запускается программа, компоненты (включая стек, кучу и библиотеки) переносятся на другой адрес в виртуальной памяти. Атакующие больше не могут узнать, где их цель - пробная версия и ошибка, потому что адрес будет отличаться каждый раз. Как правило, приложения должны быть скомпилированы с поддержкой ASLR, но это становится дефолтом и даже требуется на Android 5.0 и более поздних версиях.

Так ASLR все еще защищает вас?

В прошлый вторник исследователи из SUNY Binghamton и Калифорнийского университета в Риверсайд представили статью под названием Jump Over ASLR: атакующие отраслевые предсказатели для обхода ASLR. В документе подробно описывается способ атаки буфера целевого буфера (BTB). BTB является частью процессора, который ускоряется, если заявления прогнозируют результат. Используя метод авторов, можно определить местоположения известных инструкций ветвления в запущенной программе. Соответствующая атака выполнялась на Linux-машине с процессором Intel Haswell (впервые выпущена в 2013 году), но может быть применена к любой современной операционной системе и процессору.

Тем не менее, вы не должны отчаиваться. В документе предлагается несколько способов, с помощью которых разработчики аппаратного обеспечения и операционной системы могут уменьшить эту угрозу. Более новые, тонкозернистые методы ASLR потребуют больше усилий от атакующего, и увеличение количества энтропии (случайности) может сделать атаку Jump Over неосуществимой. Скорее всего, новые операционные системы и процессоры будут защищены от этой атаки.

Итак, что осталось вы сделать? Переход с байпасом является новым и еще не обнаружен в дикой природе. Когда злоумышленники эксплуатируют его, недостаток увеличивает потенциальный урон, который атакующий может вызвать на вашем устройстве. Этот уровень доступа не является беспрецедентным; Microsoft и Apple реализовали ASLR только в своих операционных системах, выпущенных в 2007 году и позже. Даже если этот стиль атаки станет обычным явлением, вы не будете хуже, чем когда-либо в дни Windows XP.

Имейте в виду, что злоумышленникам по-прежнему приходится набирать код на своем устройстве, чтобы нанести какой-либо вред. Этот недостаток не дает им никаких дополнительных способов заразить вас.Как всегда, вы должны следовать рекомендациям по безопасности. Используйте антивирус, избегайте отрывочных веб-сайтов и программ и постоянно обновляйте свое программное обеспечение. Следуя этим шагам и удерживая вредоносных актеров с вашего компьютера, вы будете так же безопасны, как и когда-либо.

Кредит на изображение: Стив / Flickr

Рекомендуемые: