patchguard

Тема в разделе "WASM.NT.KERNEL", создана пользователем SashaTalakin, 15 фев 2009.

  1. SashaTalakin

    SashaTalakin New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2008
    Сообщения:
    261
    Подскажите, а patchguard возможно отключить пользователю вручную в настройках системы? Пишу легальную программу которая должна корректировать некоторые структуры, охраняемые patchguardом. Не хочется использовать разные хакерские трюки для его обхода...
     
  2. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Насчёт можно или нельзя - не знаю, у меня нет такой информации, но есть одна проблема: если ты отключишь PG, то создашь дыру в безопасности, т.к. руткиты так же смогут пролезть в систему пользователя. Думаю, что пользователь не захочет создавать в своей системе такую дыру.
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    UAC многие отключают.
    PG легко обходится, причем сразу несколькими способами.
     
  4. x64

    x64 New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2008
    Сообщения:
    1.370
    Адрес:
    Россия
    Чему ты людей учишь...
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Просто стараюсь не создавать ложных понятий о защищенности системы.
     
  6. SashaTalakin

    SashaTalakin New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2008
    Сообщения:
    261
    Ребяты-ребяты. Речь именно про легальное добровольное отключение
     
  7. V0ldemAr

    V0ldemAr New Member

    Публикаций:
    0
    Регистрация:
    28 июл 2005
    Сообщения:
    31
    Адрес:
    Ukraine
    Ссылку можно? или в личку что и как? Если ты про "http://www.codeplex.com/easyhook/Release/ProjectReleases.aspx?ReleaseId=15850" то давно уже как не работает на Висте64 СП1.
     
  8. tylerdurden

    tylerdurden New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    322
    Можно отрубать таймер pg либо хукать исключение разворачивать стек (благо на х64 это всегда возможно)
     
  9. SashaTalakin

    SashaTalakin New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2008
    Сообщения:
    261
    Хотя можно сделать легальное хакерское отключение типа "позвольте я взломаю систему?" но все-таки хочется без этого обойтись
     
  10. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    статья кк и на uninformed'e есть целый цикл.
    еще то ли на codeguru то ли на codeproject видел стетейку.
     
  11. SashaTalakin

    SashaTalakin New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2008
    Сообщения:
    261
    А кто в курсе, различное антивирусное ПО, фаерволы, системы безопасности осуществляют доступ к охраняемым patchguard'ом данным. Каким образом эти программы решают проблему?
     
  12. int2eh

    int2eh Alexander Leevy

    Публикаций:
    0
    Регистрация:
    19 авг 2007
    Сообщения:
    106
    Адрес:
    Москва
    Я тут купив Syser, вчера поигрался со страничным преобразованием, точнее с элементами таблиц страниц и элементами таблиц каталога и :) ...выставив там, к примеру, в младших 12 битах число 0x827 изменил аттрибуты страницы по адресу 0x83AEE000 (физ. адрес 0xD0000000 – первая видеостраница), а команда page показала страницу уже как: P A U RW, если это то, то я был рад всем Вам помочь! С праздником!!!
     
  13. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    >> Можно отрубать таймер pg либо хукать исключение разворачивать стек (благо на х64 это всегда возможно)
    outdated =)
    3-й патчгвард вызывает KeBugCheckEx с рандомным кодом, предварительно затерев стек мусором. Насчёт таймера - его найти достаточно проблематично. Однако, можно заставить патчгвард не загрузиться вовсе: для этого просто нужно каким-либо перехватить и обработать divide error fault, который возникает в KeInitSystem() и обработчик которого, собственно, инициирует запуск патчгварда.

    >> Каким образом эти программы решают проблему?
    As i know - никак.

    Незнаю насчёт легальных программ, но полноценный undetectable руткит можно написать вообще не заморачиваясь обходом сабжа, т.к. в kernel mode есть куча других точек взаимодействия, между которыми можно вклинится.

    А так, имхо, разработчикам вроде вас, рвущимся всё подряд отключать, нужно отбивать руки.
     
  14. SashaTalakin

    SashaTalakin New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2008
    Сообщения:
    261
    Cr4sh, руки отбивать надо "разработчикам вроде вас" =). И да - "разработчикам вроде вас" говорить проще чем "разработчикам вроде нас": взял расставил по ядру костыли и хаки работает и черт с ним. А патчгуарду никто в мире не обрадовался потому как а) профанация б) геморрой для системных программистов.

    int2eh, не очень понял что вы предложили: patchguard проверяет контрольные суммы интересных ему областей памяти. Кроме того меня интересует еще и переключение защищаемых им MSR регистров. Вас тоже с праздником!
     
  15. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    >> руки отбивать надо "разработчикам вроде вас" =)
    Да, нам тоже.

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

    int2eh Alexander Leevy

    Публикаций:
    0
    Регистрация:
    19 авг 2007
    Сообщения:
    106
    Адрес:
    Москва
    SashaTalakin, я предлагал вручную в PA установить атрибуты для страницы как URW, например, для x86 32 bit NT PA level 2 для меня это не проблема (см. атач, плz, там не для PAE!!!). Может это и поможет!!!?
     
  17. SashaTalakin

    SashaTalakin New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2008
    Сообщения:
    261
    int2eh, я писал:
    Неочень понимаю каким образом ваш код поможет справиться с этой проблемой?
     
  18. int2eh

    int2eh Alexander Leevy

    Публикаций:
    0
    Регистрация:
    19 авг 2007
    Сообщения:
    106
    Адрес:
    Москва
    SashaTalakin, я думаю что, чтобы какие-то страницы защитить чем-то, следует эти страницы как-то отметить (выделить) для защиты и лучшее место для этого - системные таблицы трансляции адреса. Попробуйте переделать мой код (см. атач из предыдущего моего коммента) под себя, поизменяйте там атрибуты PDE/PTE и может это поможет, а если нет, то тогда.... :) нефиг меня было слушать, я старый... больной... человек!!! :derisive:



    P.S.
    Если, конечно, есть время, то вот так еще можно позабавиться моей ф-й xxx_MakeURWpage (см. атач в предыдущем моем сообщении), например:
    1. Зайдите в Оборудование->Диспетчер устройств и найдите там Видеоадаптеры
    2. Найдите на вкладке у своей видеокарты в “Ресурсы” 2-ой “Диапазон памяти”, например, физический адрес 0xD0000000
    3. В xxx_MakeURWpage измените строчку кода так: *Patch = ((0xD0000000 & 0xFFFFF000) | 0x047);//исправляю атрибуты PTE (Page Table Entry)!!!
    4. Вызовите так xxx_MakeURWpage(0, -1)

    И тогда из Вашего приложения (UserMode) обращение к странице по адресу 0 не вызовет никаких исключений:

    memset(0x00000000, 0xFF, 4096);

    и эта строчка кода запишет в 1 видеостраницу белую линию (при 24/32 bpp “качестве цветопередачи” видяхи) !!!

    :)
     
  19. int2eh

    int2eh Alexander Leevy

    Публикаций:
    0
    Регистрация:
    19 авг 2007
    Сообщения:
    106
    Адрес:
    Москва
    Вроде я нашёл кое-что, почитайте у М. Руссиновича, Д. Соломона про "Недействительные PTE" (page file PTE и transition PTE, биты 5-9 атрибуты защиты).
    Удачи!
     
  20. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    Народ, patch guard сам выключается если к операционке зацепить отладчик при загрузке.