Московское время -
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Linux-leady Гость
|
Добавлено: Ср Авг 22, 2007 7:46 pm Заголовок сообщения: |
|
|
Да и хрен с ним, я полюбому лучше |
|
Вернуться к началу |
|
|
Чушка ПОСТоялец
Зарегистрирован: 16.07.2007 Сообщения: 59 Откуда: явно не оотуда, откуда вы подумали
|
Добавлено: Чт Авг 23, 2007 12:48 am Заголовок сообщения: |
|
|
evros писал(а): | Чёт не особо верится....ха, Рутковска, ну и как ты с ней связалась? |
Очень просто=))) Зашла на её сайт www.invisiblethings.org и написала отзыв о "Голубой пилюле" (если не знаете-поясню. В 2006 году Рутковская написала руткит под названием этой самой Голубой пилюли, но об этом позже, если захотите) ей на мыло. Она мне в ответ черкнула, что очень устала (а она как раз только-только приехала с конференции RedHat из Лас-Вегаса, и поэтому сможет обсудить руткит в другое время. Я уж подумала, что Жанночка забила на очередного.... и забила надежду на ответ, но вскоре, зайдя на её сайт, увидела в личном ящике ответ от этой супер польской девушки. В письме Жанна сказала, что первый раз получает мессагу от русской девушки, изучающей кодинг. Мне стало оч приятно (ещё бы! сама Рутковская со мной переписывалась!) и с тех пор (а уже год прошёл) она даёт мне самые разные советы и помогает в нелёгком деле кодинга. |
|
Вернуться к началу |
|
|
Чушка ПОСТоялец
Зарегистрирован: 16.07.2007 Сообщения: 59 Откуда: явно не оотуда, откуда вы подумали
|
Добавлено: Чт Авг 23, 2007 12:52 am Заголовок сообщения: |
|
|
"Голубая Пилюля" базируется на двух основных концепциях — обходе цифровой подписи драйверов (обязательной в x86-64 редакциях Windows, начиная с Vista Beta 2 build 5384) и установке гипервизора (hyper-visor), использующего технологии аппаратной виртуализации AMD Pacifica/Intel Vanderpool, позволяющие запускать операционную систему на эмуляторе, контролирующим все "интересные" события. В грубом приближении это можно проиллюстрировать на примере 80836 ЦП, поддерживающего режим "виртуального 8086" (он же V86), обеспечивающего одновременную работу нескольких MS-DOS сессий. Ну вот, а теперь, появился режим "виртуального 386+", причем правильно спроектированный гипервизор (так же называемый Монитором Виртуальных Машин — Virtual Machine Monitor, VMM) не позволяет гостевой системе определить: исполняется ли она на "живом" процессоре или нет.
Технология обхода цифровой подписи драйверов актуальна только для 64-битных версий Windows (в 32-битных загрузить неподписанный драйвер можно и так), а механизмы аппаратной виртуализации никак не связаны с конкретной осью и замечательно работают на Linux, BSD, Mac OS ит. д. (разумеется, при поддержке со стороны процессора). Любая ось, позволяющая хакеру пробиться на уровень ядра, может быть атакована.
Таким образом, "Голубая Пилюля" состоит из двух компонентов, лишь один из которых по-настоящему "голубой". Он-то и отвечает за погружение операционной системы в виртуальный мир. Другой компонент — независимая "затравка", специально спроектированная для обхода защиты 64-битных версий Windows и забрасывающая (точнее, сбрасывающая) на ядерный уровень любую полезную нагрузку, в роли которой вполне может выступать и обычный rootkit.
Механизм обхода цифровой подписи, предложенный Жанной, основан на модификации файла подкачки на секторном уровне (назовем его page-file attack). Сама атака состоит из шестиэтапов:
1. находим в каталоге /WINNT/System32/Drives редко используемый драйвер (например, NULL.SYS), считываем его содержимое и выделяем уникальную последовательность байт (сигнатуру), позволяющую однозначно отождествить его. сигнатура должна находится в ветке IRP_MJ_DEVICE_CONTROL процедуры DeviceDispatcher (адрес последний легко определить путем дизассемблирования драйвера), причем сигнатура не имеет права пересекать границы страницы (в файле подкачки соседние страницы не всегда оказываются рядом друг с другом), то есть должно выполняться условие: (virtual_address_of_signature % 1000h) + sizeof(virtual_address_of_signature) < 1000h;
2. запускаем программу "memory-eater", "съедающую" всю доступную памятью (например, путем вызова API-функции VirtualAlloc) и вынуждающую операционную систему свопиться на диск, вытесняя в том числе и ядерные компоненты (внимание!
если параметр "DisablePagingExecutive", находящийся в следующей ветке реестра HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement, равен 1 (по умолчанию 0), ядерные компоненты вытесняться не будут! изменения вступают в силу только после перезагрузки);
3. открываем устройство "\\.\C:" (логический диск) или "\\.\PHYSICALDRIVE0" (физический диск) API-функцией CreateFile и читаем/пишем на секторном уровне API¬функциями ReadFile/WriteFile соответственно. Так же можно воспользоваться хорошо
документированным интерфейсом SPTI, позволяющим передавать диску SCSI-команды через API-функцию DeviceIoControl — за что отвечает IOCTL-код IOCTL_SCSI_PASS_THROUGH_DIRECT (4D014h). ось автоматически транслирует pseudo-SCSI команды в native-команды конкретного накопителя (например, IDE HDD). два недокументированных IOCTL-кода IOCTL_IDE_PASS_THROUGH и SCSIOP_ATA_PASSTHROUGH позволяют передать IDE-накопителям native-ATA команды, что дает над ними неограниченную власть, правда ухудшает совместимость (что если у жертвы установлен SCSI-диск?!). все вышеупомянутые интерфейсы требует администраторских прав, которые не всегда у нас есть, однако, ASPI-интерфейс, разработанный компанией Adaptec, не отягощен такими ограничениями!!! и хотя корректно установленный ASPI-драйвер (кстати говоря, исключенный из штатной поставки Windows много лет тому назад) дает доступ _только_ к ATAPI-устройствам (таким как CD, DVD), достаточно часто в этот список попадают и жесткие диски, то есть атаку (теоретически) можно реализовать даже без администраторских прав!!! Если ASPI-драйвер на целевой машине не установлен, rootkit должен либо установить его самостоятельно (кстати, сам драйвер подписан и бесплатен), либо поискать другие драйвера, установленные приложениями, работающими с HDD-, CD-или DVD-дисками на низком уровне (дисковые редакторы, копировщики защищенных дисков, программы для прожига CD/DVD). многие из них позволяют манипулировать жесткими дисками, не требуя прав администратора. Дождавшись выгрузки драйвера на диск (момент которого легко определить эвристическим путем — при исчерпании оперативной памяти, система вытеснит часть страниц только что выделенных VirtualAlloc, скачкообразно увеличивая количество доступной физической памяти, объем которой легко определить API¬функцией VirtualQuery), начинаем прочесывать диск на секторном уровне в поисках ранееобозначенной сигнатуры драйвера-жертвы;
4. вычисляем адрес IRP_MJ_DEVICE_CONTROL и записываем поверх него shell-код, отключающий проверку цифровой подписи (что в дальнейшем позволит беспрепятственно загружать неподписанные драйвера), либо загружаем весь необходимый код на ядерный уровеньсамостоятельно;
5. вызываем API-функцию CreateFile, передавая ей имя хакнутого драйвера (в данном случае NULL.SYS) и… операционная система тут же считывает модифицированные страницы с диска, вызывает IRP_MJ_DEVICE_CONTROL, передавая shell-коду управление, ну а дальше, как говорится, дело техники!
Успешно осуществив атаку, Жанна (как и положено "белому" хакеру=)) тут же предложила несколько контрмер: самое простое, но не самое умное, что может сделать Microsoft – это заблокировать выгрузку ядерных компонентов на диск (тем более, что все необходимые ингредиенты у нее уже есть, достаточно только убрать из реестра ключ DisablePagingExecutive, пожизненно установив его значение в "1"). В результате мы потеряем некоторое количество физической памяти (по подсчетам Жанны около 80 МБайт), гарантируя при этом, что никакой драйвер не будет скомпрометирован. Учитывая, что сама виста требует не менее 1 Гбайта RAM (а для реальной работы понадобиться как минимум два), потеря 30-80 Мбайт навряд ли покажется значительной, однако, можно пойти другим путем, подсчитывая контрольную сумму каждой страницы перед вытеснением ее на диск и проверяя ее при загрузке. Но, поскольку, контрольные суммы надо где-то хранить (причем не на диске, а в невытесняемой оперативной памяти), мы не получаем никакого выигрыша, впустую расходуя процессорное время. Можно, конечно, шифровать страницы каким-нибудь высокоскоростным криптоалгоритом, храня в памяти всего лишь ключ, случайным образом генерируемый при загрузке, но это уже через чур. К тому же существует возможность модификации самого файла ядра операционной системы, отключающая все защитные механизмы и тут же инициирующая перезагрузку, против которой предложенные защитные меры бессильны!
Атака на файл подкачки — это действительно прорыв, который Microsoft закроет не скоро (во всяком случае в Vista RC1 еще не закрыла). Важно отметить, что все вышесказанное
относится исключительно к 64-битной версии Windows, поскольку только в ней администраторы лишены прав загружать неподписанные драйвера.
Механизмы аппаратной виртуализации (известные под кодовым именем "Pacifica") реализованы во всех процессорах семейства Athlon 64/Turion 64, выпущенных фирмой AMD после мая 2006 года, так же планируется поддержка виртуализации в Opteron'е. Но это все x86¬64 платформы, которые нам не сильно интересны, поскольку их рыночная доля крайне мала. AMD не смогла справится с виртуализацией x86, сославшись на сложность реализации и непригодность этой архитектуры для подобных целей , а вот Intel смогла за что ей честь и хвала!
А терь рассмотрим устройство "Голубой Пилюли" специально под процессоры AMD x86-64 (на процессорах Intel все будет точно так же, только немного по¬другому). Проглотив "Голубую Пилюлю" (CALL bluepill) ядро передает управление главной функции rootkit'а (условно обозначенной "PROC blue-pill"), которая создает виртуальную машину, подготавливает все необходимые структуры данных и вызывает машинную команду "VMRUM" (на Intel процессорах это будет "VMXON"), устанавливающую гипервизор/VMM, погружающий операционную систему в виртуальный мир и натягивающий на ее глаза "очки", перехватывающие все каналы взаимодействия последней с "внешним миром" — портами ввода/вывода, служебнымирегистрамипроцессора, физической оперативной памятью и т. д. Гипервизор будет "подсовывать" операционной системе только ту информацию, которую ей позволено видеть, надежно скрывая своеприсутствие от ее глаз. |
|
Вернуться к началу |
|
|
Чушка ПОСТоялец
Зарегистрирован: 16.07.2007 Сообщения: 59 Откуда: явно не оотуда, откуда вы подумали
|
Добавлено: Чт Авг 23, 2007 1:12 am Заголовок сообщения: |
|
|
Кстати, народ. Один мой одногруппник, недавно подсевший на никсы, спросил меня о восстановлении данных, которые случайно были удалены кривыми руками. Вопрос поставил и меня в тупик, но как всегда инет меня выручил:кому надо читайте. Рада помочь. Программ, пригодных для восстановления данных, под Linux совсем немного, намного меньше, чем под винду, да и тем до совершенства как до Луны. Но ведь не разрабатывать же весь необходимый инструментарий самостоятельно?! Не, лучше юзать то, что дают, утешая себя тем, что нашим предкам, работающим на динозаврах машинной эры, приходилось намного сложнее. Чаще всего линуксоиды редактируют диски при помощи lde (расшифровывается как Linux Disk Editor). Это, конечно, не Norton Disk Editor, но и не Microsoft Disk Probe. Профессионально-ориентированный инструмент консольного типа с разумным набором функциональных возможностей. Понимает ext2fs, minix, xiafs и отчасти FAT (в перспективе обещана поддержка NTFS, которая на линухе никому не нужна, хотя... А вот отсутствие в этом списке UFS и FFS очень огорчает, хотя я и сижу под никсами в ext3 & ext2fs). Поддерживает прога следующее: отображение/редактирование содержимого в HEX-формате, просмотр супер-блока (super-block), файловых записей (inode) и директорий в удобочитаемом виде; контекстный поиск, поиск файловых записей, ссылающихся на данный блок (полезная штука, только к сожалению, реализованная кое-как через..то самое и срабатывающая не всегда), режим восстановления с ручным редактированием списка прямых/косвенных блоков, сброс дампа на диск и некоторые другие второстепенные операции.Может работать как в пакетном, так и в интерактивном режимах. В пакетном режиме все управление осуществляется посредством командной строки, что позволяет полностью или частично автоматизировать некоторые рутинные операции.Распространяется в исходных текстах (http://lde.sourceforge.net/), денег есесьна не требует, работает практически под любой *NIX-овой осью (включая Free BSD) и входит во все "правильные" дистрибьютивы (например, в KNOPPIX). Так что, уважаемые недавно появившиеся линуксоиды, юзайте на здоровье.
З. Ы. Для тех, кто любит дружелюбные и простые фейсы, прога покажется грубооформленной. Хотя программист-существо неприхотливое и ко всему (практически=)) привыкающее. |
|
Вернуться к началу |
|
|
Чушка ПОСТоялец
Зарегистрирован: 16.07.2007 Сообщения: 59 Откуда: явно не оотуда, откуда вы подумали
|
Добавлено: Чт Авг 23, 2007 1:18 am Заголовок сообщения: |
|
|
И ещё у меня к вам, народ, один вопросик, только ответьте плиз нормально а не со всякими выпендрёжами, вопрос более-мене серьёзный для меня, хочу чтобы кто-нить мне помог. С помощью каких инструментов можно исследовать на баги ядро Линуха? И, если не трудно, скиньте ссылочки на весь варез, про который вы мне расскажете. Заранее спасибо. Исправляющаяся Чушка=)) |
|
Вернуться к началу |
|
|
Имидж Жилец Форума
Зарегистрирован: 29.12.2006 Сообщения: 102
|
Добавлено: Чт Авг 23, 2007 1:35 am Заголовок сообщения: |
|
|
Чушка писал(а): | 2 ShMon
Нет дружок, ошибся ты, не из Ногинска я, откуда-неважно, но, поверь, программеров в нашем районе действительно нет, кроме меня. Есть разве что прехорошенькие ребятки, недавно с зоны откинувшиеся, да ещё кучка гопников и рэперков, которым кроме дури ничего не надо. А насчёт материала в инете-ты прав. Его очень много. Но одному это всё-равно трудно усвоить, лучше с другими кодерами и программистами на практике разобраться. И реальную поддержку не окажут ни все пособия Криса Касперского, ни чтение журнала "Хакер", ни изучение архитектуры ЭВМ и т.д. Да и не девичье это дело-кодинг. А мне всё-равно нравится, хотя и тяжело, но я не ищу лёгких путей. А отсюда всё-равно сваливаю-народ здесь меня уже не жалует. Что в "Софте", что в "Музыке". Единственный человек, от которого я получаю хорошую поддержку-это Джоанна Рутковска. Может слышали про неё?=) |
А вот про Криса не надо, реальные вещи дядька пишет, и если есть голова на плечах, то все сам сможешь и все у тебя получится, тем более если кодишь один, больше хороших, даже оригинальных, идей в голову приходит |
|
Вернуться к началу |
|
|
evros ГигаФлудер
Зарегистрирован: 18.05.2006 Сообщения: 2415 Откуда: из чертогов безмолвия
|
Добавлено: Чт Авг 23, 2007 8:13 am Заголовок сообщения: |
|
|
Чушка писал(а): | И ещё у меня к вам, народ, один вопросик, только ответьте плиз нормально а не со всякими выпендрёжами, вопрос более-мене серьёзный для меня, хочу чтобы кто-нить мне помог. С помощью каких инструментов можно исследовать на баги ядро Линуха? И, если не трудно, скиньте ссылочки на весь варез, про который вы мне расскажете. Заранее спасибо. Исправляющаяся Чушка=)) |
Ты меня ставишь в тупик, качаешь новую версию ядрышка и читаешь весь исходник)))
Дэвушка, а Вы вобще откуда? _________________ Wait and bleed... |
|
Вернуться к началу |
|
|
Чушка ПОСТоялец
Зарегистрирован: 16.07.2007 Сообщения: 59 Откуда: явно не оотуда, откуда вы подумали
|
Добавлено: Чт Авг 23, 2007 4:42 pm Заголовок сообщения: |
|
|
А вот про Криса не надо, реальные вещи дядька пишет, и если есть голова на плечах, то все сам сможешь и все у тебя получится, тем более если кодишь один, больше хороших, даже оригинальных, идей в голову приходит[/quote]
Да я знаю, чувак. Только самой в это всё написанное этим умным челом трудно вникать. Но пока что справляюсь=) |
|
Вернуться к началу |
|
|
Linux-leady Гость
|
Добавлено: Сб Сен 01, 2007 11:20 am Заголовок сообщения: |
|
|
Ну покаж нам хоть че ты умеешь то? |
|
Вернуться к началу |
|
|
ShMon Долгожитель
Зарегистрирован: 05.01.2008 Сообщения: 509
|
Добавлено: Пн Окт 20, 2008 1:36 pm Заголовок сообщения: |
|
|
Школы Новой Зеландии переходят на свободное програмное обеспечение
Министерство образования Новой Зеландии отказалось оплачивать лицензии компании Microsoft и разработало план перехода на свободное программное обеспечение на базе GNU/Linux до 2010 года.
Полгода назад Министерство образования Новой Зеландии не стало покупать пакет лицензий от Microsoft, а переадресовало средства на миграцию на GNU/Linux, что позволило забыть о расходах на лицензирование. Министерство изменило и планирование бюджета, которое теперь направлено на развитие образовательной среды на платформе GNU/Linux и обратило внимание школ на то, что не стоит платить большие деньги за неэффективное программное обеспечение и зацикливаться на одной платформе, а лучше повышать эффективность применения программного обеспечения в учебном процессе и качество образования. _________________ www.dynamicart.ru |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|
|