Захват нулевого кольца Крис Касперски ака мыщъх Хакер, номер #079, стр. 079-104-5 [ PAGE2 ] [PAGE1 VMA ] Что находится в PAGE2? Зависит от состояния каталога страниц (page table). Поскольку в Linux физическая память представляет собой своеобразный кэш виртуального адресного пространства, одна и та же страница в разное время может использоваться как ядром, так и пользовательскими приложениями (в том числе и привилегированными процессами). Дождавшись, когда в PAGE2 попадает код ядра или какого-нибудь привилегированного процесса (это легко определить по его сигнатуре), хакер может внедрить сюда shell-код, или просто устроить грандиозный DoS, забросав PAGE2 бессмысленным мусором. Несмотря на довольно почтенный возраст этой уязвимости, готового эксплоита найти так и не удалось, однако, его нетрудно написать самостоятельно. Как именно это сделать, написано здесь: www.isec.pl/vulnerabilities/isec-0022-pagefault.txt. [Заключение] Долгое время Linux считалась "правильной" операционной системой, надежно защищенной от вирусов и хакерских атак. Но это оказалось не так. Дыр в Linux'е даже больше чем в Windows, и многие из них носят критический характер. Загрузчик ELF-файлов - это настоящее гнездо. Баги отсюда так и прут. Еще больше ошибок порождается поддержкой многопоточности. Если в Windows потоки существовали изначально и проблемы синхронизации решались на фундаментальном уровне, то "чужеродная" для Linux'а многопоточность была синхронизована впопыхах. Ошибки гнездятся вокруг семафоров. Ищи семафоры и найдешь ошибки. Какой смысл использовать готовые эксплоиты, для которых уже существуют заплатки? Хакерский код получается слишком хлипким и нежизнеспособным. Активность администраторов растет с каждым днем, сервера оснащаются системами автоматического обновления, и выживать в этом мире становится все труднее и труднее. Поэтому необходимо вести самостоятельные исследования, уметь анализировать исходный и машинный код, обнаруживая еще никому неизвестные ошибки, противоядия против которых еще не существует. На заре истории человек с винтовкой мог завоевать мир. Так чем же мы хуже? Следующая статья этого цикла расскажет, какие инструменты используются для анализа ядра Linux, и как хакеры разыскивают дыры. |