Драйвера без цифровой подписи?

Тема в разделе "WASM.BEGINNERS", создана пользователем HoShiMin, 22 мар 2020.

  1. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    Например, beep.sys - загружен, но цифровой подписи у него нет. Как и у некоторых других модулей (например, ws2ifsl.sys). Как система их загрузила?
     
  2. hiddy

    hiddy Member

    Публикаций:
    0
    Регистрация:
    10 мар 2019
    Сообщения:
    82
    Вроде как есть специальное хранилище сертификатов. Точную логику не знаю, но можно подсмотреть в исходниках Process Hacker'a.
     
  3. HoShiMin

    HoShiMin Well-Known Member

    Публикаций:
    5
    Регистрация:
    17 дек 2016
    Сообщения:
    1.422
    Адрес:
    Россия, Нижний Новгород
    Так в том и дело, что сертификатов нет, файлы не подписаны, проверять нечего.
    Если подменить драйвер на свой (тоже без подписи) - система его, конечно, не грузит. Но хотелось бы понять, на основе чего система пропускает проверку подписей для каких-то своих модулей. Возможно, здесь как-то завязан SFC?
     
  4. hiddy

    hiddy Member

    Публикаций:
    0
    Регистрация:
    10 мар 2019
    Сообщения:
    82
    Кажется оно https://docs.microsoft.com/en-us/windows/win32/api/wintrust/nf-wintrust-winverifytrust . Каким-то образом файл верифицируется и далее извлекаются данные о поставщике. https://github.com/processhacker/processhacker/blob/master/phlib/verify.c#L434
     
  5. HoShiMin

    HoShiMin Well-Known Member

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