1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Неподписаные драйвера.

Тема в разделе "WASM.NT.KERNEL", создана пользователем spa, 26 янв 2019.

  1. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Вопрос отставшего от современности, вообще остались возможности загружать непописаные драйвера, при этом чтобы система не была в режиме тестирования?
     
  2. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    5.265
  3. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    И все варианты подразумевают фактически режим тестирования. Если так не понятно, я говорю о случае когда система не будет знать/сообщать о режиме загрузки не подписанных драйверов.
     
  4. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    5.265
    spa, с точки зрения безопасности вполне логично, что лишь тестовый режим оставили :)
     
  5. CrawlUp

    CrawlUp Member

    Публикаций:
    0
    Регистрация:
    1 фев 2018
    Сообщения:
    90
    Было бы не плохо, если была бы возможность выбора, а то её то как раз и нет, в тестовом режиме многие программы не запускаются. Написать свой личный драйвер уже не получиться.
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    3.374
    через уязвимый драйвер если только...
     
  7. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    5.265
    они валидацию дров централизованной сделали. впрочем, сейчас оное верно и для апликашек https://docs.microsoft.com/en-us/windows/uwp/get-started/enable-your-device-for-development == теперь для пираток будут патчить ядро, дабы ⓑ¥£@ свобода и независимость :)
     
  8. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Это реально все что осталось? патч ядра во время загрузки может быть?
     
  9. HoShiMin

    HoShiMin Active Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    844
    Адрес:
    Россия, Нижний Новгород
  10. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Как я понял, как раз дыру в драйвере используют.
     
  11. HoShiMin

    HoShiMin Active Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    844
    Адрес:
    Россия, Нижний Новгород
    Используют дыру в драйвере, чтобы пропатчить флажок, отвечающий за проверку подписей. То же самое можно сделать через любой драйвер, позволяющий работать с памятью ядра - GiveIO, WinRing0, Win64ast, Kernel-Bridge. После чего проверка подписей отключится.
     
    spa нравится это.
  12. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Спасибо, меня просто удивляет что мелкомягк еще не прикрыл это
     
  13. HoShiMin

    HoShiMin Active Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    844
    Адрес:
    Россия, Нижний Новгород
    Им и не нужно это прикрывать. В "продакшн"-драйверах этот хак никто использовать не будет, а домашние самоделкины им не интересны.
    Сертификаты и PatchGuard - это не защита от хаков, а лишь чуть более высокие требования к разработчику ядерных компонентов, чтобы отсечь откровенно невалидные и забагованные драйвера.
    А если человек заморочился с сертификатом, он словно подтвердил свои намерения и квалификацию - меньше вероятность, что он станет выпускать в продакшн драйвера, вываливающиеся в бсод каждые 5 минут.
    Поэтому они и не прикрывают эти лазейки - в этом просто нет необходимости.
     
  14. superakira

    superakira Guest

    Публикаций:
    0
    Я думаю следующее погружение в глубину - это то что нтлдр на кл говорил - рк в "железках" (уефи итд), жуть конечно =)
    можно на старте вообще запатчить, чтобы патчгард не стартовал - взвести флаг отладки, но надо быть естественно очень рано.
     
  15. HoShiMin

    HoShiMin Active Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    844
    Адрес:
    Россия, Нижний Новгород
    Учитывая тенденции к виртуализации, через 5-6 лет у всех пользователей будет стоять DeviceGuard/HVCI - его уже не обойти. А потому, лучший способ - просто купить сертификат.
     
  16. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    3.374
    ну буткит решит эту проблему, но добавит кучу новых...
     
  17. CrawlUp

    CrawlUp Member

    Публикаций:
    0
    Регистрация:
    1 фев 2018
    Сообщения:
    90
    В windows запретили кому попала лазить в ядро, постоянно висит куча всяких служб которые занимаются чем-то "важным", данные отсылаются без ведома владельца, обновления устанавливаются также. Через какое-то время после пользования компьютер начинает тормозить и диагностировать проблему просто не представляется возможным, средства профилирования показывают что всё ок, но глаз то не обманешь :). Интересно, эти проблемы решены в Linux, может есть продвинутые пользователи этой системы. Возможно написать в Linux свой драйвер и использовать его для домашних нужд, например для чтения памяти разных приложений?
     
  18. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    5.265
    так это все пиратки :) вся ботва пошла из-за двух причин..

    1. прикрыть левые пиратки (впрочем, подразумеваются неофиц. релизы пираток от самих же мокрых :) ).
    2. внедрить систему тотального сбора данных и тотальной торрент сети.
    ===
    что касается "жестяного" подхода == да, он возможен, но в итоге будут большие траблы с производительностью / совместимостью и элементарной стабильностью в работе: к примеру, даже незначительный сбой железки может обрушить сверку цифирьковой подписи и даже "белая" софтина ужо не будет запускаться.
    --- Сообщение объединено, 29 янв 2019 ---
    линь еть всё жЪ опенсорц, так шо могешь оптить як тоби трЭба. Другой Вопрос, что нарастает проблема проприетарщины. что касается выньки 10, ей по-хорошему надо полностью закрывать прямой доступ в инет (весь траф токма чрез линь), тогда узришь от неё куда-более качественную работу :)
     
  19. HoShiMin

    HoShiMin Active Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    844
    Адрес:
    Россия, Нижний Новгород
    Драйвер в линуксе написать не сложнее, чем обычный сишный Hello World.
    Общение с драйвером похоже на взаимодействие с виндовым: или IOCTL, или read()/write().
    Но что касается взаимодействия с другими приложениями, всё становится сложнее.
    Дело в том, что в линуксовом ядре нет выделенного API. Ты используешь заголовочные файлы ядра, соответсвенно, можешь вызывать любые функции на любом уровне абстракций, но про документацию можешь забыть.
    К примеру, чтобы работать с памятью другого процесса, тебе нужно как-то переключиться в его контекст: где-то найти его CR3, не дать процессу умереть, пока ты с ним работаешь, и много других нюансов. Для сравнения, в API ядра Windows всё это безопасно делает одна простая функция - KeStackAttachProcess. И много того, что мы воспринимаем как данность в NT, в линуксе просто нет, и безопасно написать аналог не представляется возможным (пример - нельзя замораживать потоки, нет аналога try..except, а сигналы даже близко не стоят по функционалу с SEH).

    Кроме того, по опыту работы с линуксом, могу лишь сказать, что это полная жесть. Ужасный юзабилити, непродуманный UI, нет обратной совместимости (особенно в области драйверов, т.к. заголовочники ядра имеют свойство достаточно сильно меняться даже в пределах минорных обновлений). Как клиентская ОС, линукс откровенно неудобен, невзрачен и плох, и полноценно раскрывается лишь как серверная платформа, где равных ему по удобству нет. Всё это - одна из причин, по которой тебе кажется, что в линуксе как-то решили некие "проблемы". Их не решили, их изначально там не было. И это не комплимент линуксу, а, возможно, даже камень в огород из-за скудного функционала со стороны ОС. Но он же позволяет линуксу быть легковесным, нетребовательным и быстрым.
    --- Сообщение объединено, 29 янв 2019 ---
    Если имеешь в виду пиратки самой винды, то потребительский рынок никогда не был приоритетным для MS: их интересы - вендоры, компании и ритейлеры. Пользователь всё равно заплатит за лицензию Windows, когда будет покупать компьютер в магазине, а вендоры и компании покупают тысячи копий. Поэтому и защищаться от пиратства им ни к чему - не приоритетное направление. А повысить порог вхождения в компоненты ядра и повысить качество кода - приоритетное. Плюс, интересы корпоративной безопасности и стабильности - отсюда и DeviceGuard, и обязательная WHQL-сертификация для совместимости с такими системами. Для хакерманов/виксов/читеров/разрабов-одиночек - да, возможно, палки в колёса, но не для конечного покупателя.
     
  20. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    5.265
    HoShiMin, твои претензии к линю небеспочвены, но всё же.. акие проблемы обеспечить связь ядерного модуля и юм приложения ??? создавай файлик и башляй всю дату чрез него :grin:
    --- Сообщение объединено, 29 янв 2019 ---
    за акий-нть ущербный хоум, а потом ставит себе профи/корпи версию :)
    Ты найди в лицухе на выньку описания их ответственности перед юзером :grin: