Новое в подписи драйверов на Windows 10
От: okman Беларусь https://searchinform.ru/
Дата: 25.03.15 06:05
Оценка: 36 (7)
Привет !

Похоже, Microsoft приготовила очередную подставу с подписью драйверов.
Информация здесь:

Microsoft Signatures to be REQUIRED for Windows 10 Kernel-Mode Drivers
https://www.osr.com/blog/2015/03/18/microsoft-signatures-required-km-drivers-windows-10/

Nobody likes having to sign their 64-bit Windows kernel-mode drivers. But after you’ve done it a few times,
you get used to it. And after all, you tell yourself, it’s probably worth it in terms of security.
And at least it’s something you can do in-house and Microsoft doesn’t have to get involved, right?

Well, that’s about to change. According to announcements made today at WinHEC in Shenzhen, kernel-mode
code signing as we’ve come to know it will not be sufficient for your drivers to run on Windows 10.

In order for your driver to be trusted on Windows 10 desktop machines, you will have to get a Microsoft signature.

Wait! Stop. Breathe. This does not mean your drivers will have to pass the Windows Certification tests.

OK? Have you calmed down? If so, let me explain how this is going to work. For Windows 10 and later, for
each kernel-mode driver you want to distribute you will have to:

Sign your driver package with your company’s code signing certificate
Login to the Microsoft Hardware Developer Portal (AKA sysdev)
Upload your signed driver package
Agree to a few particulars
Download the Microsoft signed files, within minutes.

Of course, you can optionally still run your driver through the full battery of tests and submit your
logs to sysdev, just as you could in the past. This new option replaces the ability to self-sign drivers.

Why the Change?

For year, security engineers have been saying that driver signing is vulnerable to exploitation.
Bad actors have managed to steal certificates, and some have even managed to acquire code signing
certificates on their own. It seems that Microsoft agrees.

Starting in Windows 10, to get a Microsoft signature your organization will need to create an account on
the Microsoft Hardware Development Portal (http://sysdev.microsoft.com). Creating an account on sysdev
is both free and easy, but it does require that your organization have a valid code signing certificate.
And starting in Windows 10 your organization will need to have an Extended Validation Code Signing Certificate.


Extended Validation (EV) certificates require your organization to pass more background checks by the
Certification Authority (CA) than ordinary certificates.ev-shield And they must be stored on “secure
hardware tokens.” In addition, only CAs that pass an independent audit review can issue EV certificates.
Of course, it should go without saying that EV certificates are more expensive than regular Class 3 Code
Signing certificates (the lowest cost EV cert we were able to find was $450). Sysdev currently supports
EV certificates from Verisign (Symantec) and Digicert.

Therefore, starting in Windows 10, to get any sort of signature from Microsoft (just the driver signing
signature or the certification signature) your organization will need to pass the more stringent
requirements to qualify for an EV code signing certificate. Microsoft claims this will make driver
signing a whole lot safer. However, how this will really play out in the real world depends entirely on
how secure the process of obtaining an EV certificate is.

Oh, and one more thing: To obtain the Windows signature you will need to “attest” to the fact that you’ve
comprehensively tested your driver and that you’ll monitor the Hardware Developer Portal for issues
discovered in your driver and respond to those issues. That seems pretty reasonable to me.

What’s Affected?

These requirements only apply to Windows 10 and later. In fact, Microsoft plans to offer a bit of a
grace period: Drivers signed before Windows 10 RTM will be able to use the older signing mechanisms.
But once Windows 10 ships, if you want your driver to run on Windows 10 desktop systems, you’ll need to (a)
get an EV certificate, (b) using that signature submit your driver to sysdev to get Microsoft’s signature.

The Ramifications

We don’t have the time to fully explore all of the ramifications of this new Windows 10 requirement
here in this blog post. We’ll delve into this topic further, in future issues of The NT Insider.
But we see several interesting complications, including:

Will smaller, independent, developers and OSS teams be able to obtain the EV certificates necessary
to sign their Windows 10 drives?

Will you need two certificates now? EV Certs require the use of SHA 256. Less than a week ago (when
this was written) Microsoft issued a Security Advisory and KB that updates Windows 7 systems to support
SHA-256 for code signing. Does this work? We don’t know yet. We’ll test it, we’ll let you know.
If it doesn’t work, it means you’ll have to have two Certs for signing your Win7 through Win10 kernel-mode code:
One SHA1 cert for signing Win7 drivers and one EV SHA256 for signing everything else, including your
submission to sysdev.

Will the signatures all be additive (in other words, can I sign my components with my SHA1 cert and
appropriate cross cert, my EV cert, and then add the MSFT signature to those 2), so that I can have three
simultaneous signatures at the same time? Will this work properly on older versions of Windows?

While it’s sort of clear what’s happening on Windows 10 Client systems, how will these changes
impact the next version of Windows Server? So far, we don’t know.

Conclusions

Starting in Windows 10, the old way of signing drivers is no longer sufficient. You’ll need an EV Code
Signing certificate, and you’ll need to use the sysdev web site to get a Microsoft signature on your driver.
As part of getting that signature, you’ll need to agree to monitor sysdev for driver problems that are
reported and respond to issues. This will only apply on Windows 10 and later, and to drivers built after
Windows 10 is released.

If this provides additional real security to the process of creating kernel-mode software, it’ll be a
good thing. As long as it doesn’t simultaneously freeze out small organizations and open software developers.

Stay tuned. We’ll be delving into these issues further in the months to come.

Re: Новое в подписи драйверов на Windows 10
От: okman Беларусь https://searchinform.ru/
Дата: 25.03.15 06:09
Оценка:
Вот здесь обсуждение на OSR (с участием известных личностей):

News from WinHEC: WDF Source, MVP Program, Driver Signing
http://www.osronline.com/showthread.cfm?link=264930
Re: Новое в подписи драйверов на Windows 10
От: Conr Россия  
Дата: 25.03.15 10:33
Оценка:
Здравствуйте, okman, Вы писали:

O>Похоже, Microsoft приготовила очередную подставу с подписью драйверов.

А что ужасного-то? Ну на один сертификат больше покупать, не смертельно, не обязательно же симантековский брать .
EV от digicert получается без проблем на ИП (~$500 на три года)
Двойная подпись (SHA1 + SHA256) поддерживается и работает, один и тот же бинарник нормально подхватывается на win7, Vista, Win 8.1, Win 10 TP build 10041.
Re[2]: Новое в подписи драйверов на Windows 10
От: okman Беларусь https://searchinform.ru/
Дата: 25.03.15 11:51
Оценка:
Здравствуйте, Conr, Вы писали:

C>А что ужасного-то? Ну на один сертификат больше покупать, не смертельно, не обязательно же симантековский брать.

C>EV от digicert получается без проблем на ИП

Как быть тем, кто не ИП ?

C>(~$500 на три года)


Инфа не совсем точная. Прямо сейчас с DigiCert: $995 на три года. Плюс какой-нибудь другой
серт для подписи на XP-Vista-Server2003-Server2008. Итого выйдет полторы штуки примерно.
Не такая уже и незаметная разница.

Но дело не в деньгах, а в том, что это все становится все менее и менее доступным.
Re: Новое в подписи драйверов на Windows 10
От: CyberDemon Россия  
Дата: 25.03.15 12:07
Оценка: +1
Здравствуйте, okman, Вы писали:

O>Привет !


O>Похоже, Microsoft приготовила очередную подставу с подписью драйверов.

O>Информация здесь:

Правильно ли я разул глаза — драйверы, подписанные до релиза вин10, будут работать без шума, без пыли?
Re[2]: Новое в подписи драйверов на Windows 10
От: okman Беларусь https://searchinform.ru/
Дата: 25.03.15 12:18
Оценка: +1
Здравствуйте, CyberDemon, Вы писали:

CD>Правильно ли я разул глаза — драйверы, подписанные до релиза вин10, будут работать без шума, без пыли?


Да. Из текста по ссылке выше:

In fact, Microsoft plans to offer a bit of a grace period:
Drivers signed before Windows 10 RTM will be able to use the older signing mechanisms.

Re: Новое в подписи драйверов на Windows 10
От: Michael7 Россия  
Дата: 25.03.15 13:45
Оценка:
Здравствуйте, okman, Вы писали:

O>Привет !


O>Похоже, Microsoft приготовила очередную подставу с подписью драйверов.


О закручивании гаек заговорили еще когда в WinXP появилось необязательное подписывание. Сейчас с SB потихоньку крутят яйца.
Re[3]: Новое в подписи драйверов на Windows 10
От: Conr Россия  
Дата: 25.03.15 13:56
Оценка: 10 (1) +1
Здравствуйте, okman, Вы писали:

C>>А что ужасного-то? Ну на один сертификат больше покупать, не смертельно, не обязательно же симантековский брать.

C>>EV от digicert получается без проблем на ИП
O>Как быть тем, кто не ИП ?
Открыть ИП или OOO

C>>(~$500 на три года)

O>Инфа не совсем точная. Прямо сейчас с DigiCert: $995 на три года. Плюс какой-нибудь другой
O>серт для подписи на XP-Vista-Server2003-Server2008. Итого выйдет полторы штуки примерно.
O>Не такая уже и незаметная разница.
У digicert есть 50% скидка для разработчиков win драйверов. Два сертификата (обычный и EV) на три года обойдутся в $764.

O>Но дело не в деньгах, а в том, что это все становится все менее и менее доступным.

Разве что для хоббийных\домашних проектов. Правда я не встречал таких, которым бы нужно было распространяемые драйвера подписывать

В общем я хочу сказать, что для бизнеса, даже мелкого, никаких дополнительных сложностей я не вижу. Если честно, я вообще был бы рад, если бы MS заставила еще и тесты проходить в обязательном порядке при получении подписи на sysdev.
Re[2]: Новое в подписи драйверов на Windows 10
От: Conr Россия  
Дата: 25.03.15 14:01
Оценка:
Здравствуйте, CyberDemon, Вы писали:

CD>Правильно ли я разул глаза — драйверы, подписанные до релиза вин10, будут работать без шума, без пыли?

Да будут, но только до January 14, 2020 (конец официальной поддержки Win7). Не помню уже где прочитал, поэтому пруф дать не могу.
Re[3]: Новое в подписи драйверов на Windows 10
От: Vicul  
Дата: 23.07.15 04:50
Оценка:
O>Инфа не совсем точная. Прямо сейчас с DigiCert: $995 на три года. Плюс какой-нибудь другой
O>серт для подписи на XP-Vista-Server2003-Server2008. Итого выйдет полторы штуки примерно.
O>Не такая уже и незаметная разница.

А че EV Code Signing Certificate не достаточно для всех версий или для Висты и Вин7 надо еще и Code Signing
Certificate покупать?
Вот с их чата, там они говорят достаточно одного EV

[7:56:42 AM] Hi, I am a software developer and would like to sign my driver and programs : .exe, dll, sys and etc. What certificate do I need to buy from you?
Tyler A.: [7:57:05 AM] Hello Victor, you would want either a EV or Standard code signing certificate.
[7:57:16 AM] https://www.digicert.com/code-signing/
[7:57:46 AM] If you are looking to sign drivers for use in windows 10 you would want to go with an EV code signing certificate.
Victor: [7:58:41 AM] I need to sign for winxp — win10
Tyler A.: [7:59:11 AM] Ok then you would want to go with an EV codesigning certificate.
Victor: [8:00:04 AM] is it $331 USD per yeahr?
Tyler A.: [8:00:27 AM] https://www.digicert.com/code-signing/ev-certificate-comparison.htm
[8:00:31 AM] Yes that would be per year
[8:00:37 AM] If you went with a 3 year certificate.
Victor: [8:01:50 AM] thank you, I have understood you.

Отредактировано 23.07.2015 5:02 Vicul . Предыдущая версия .
Re[4]: Новое в подписи драйверов на Windows 10
От: okman Беларусь https://searchinform.ru/
Дата: 23.07.15 05:26
Оценка:
Здравствуйте, Vicul, Вы писали:

V>А че EV Code Signing Certificate не достаточно для всех версий или для Висты и Вин7 надо еще и Code Signing

V>Certificate покупать?
V>Вот с их чата, там они говорят достаточно одного EV

V>

V> [7:56:42 AM] Hi, I am a software developer and would like to sign my driver and programs : .exe, dll, sys and etc. What certificate do I need to buy from you?
V>Tyler A.: [7:57:05 AM] Hello Victor, you would want either a EV or Standard code signing certificate.
V>[7:57:16 AM] https://www.digicert.com/code-signing/
V>[7:57:46 AM] If you are looking to sign drivers for use in windows 10 you would want to go with an EV code signing certificate.
V>Victor: [7:58:41 AM] I need to sign for winxp — win10
V>Tyler A.: [7:59:11 AM] Ok then you would want to go with an EV codesigning certificate.
V>Victor: [8:00:04 AM] is it $331 USD per yeahr?
V>Tyler A.: [8:00:27 AM] https://www.digicert.com/code-signing/ev-certificate-comparison.htm
V>[8:00:31 AM] Yes that would be per year
V>[8:00:37 AM] If you went with a 3 year certificate.
V>Victor: [8:01:50 AM] thank you, I have understood you.


EV-сертификаты сейчас выпускают с SHA-256, а он "из коробки" поддерживается только с Windows 8 и выше.
На других системах поддержка SHA-256 делается с помощью дополнительных "приседаний".
На Vista и Server 2008 поддержки SHA-256 нету и, видимо, не будет.

Кроме того, с 01.01.2016 участникам MS Root Certificate Program (т.е. Symantec, DigiCert, Thawte и др.)
запрещается выпускать сертификаты с SHA-1 и даже ходят слухи, что сама Windows скоро перестанет
загружать драйверы, подписанные SHA-1. Так что ситуация мутная.

Раньше можно было просто подписать драйвер signtool-ом и он бы работал на всех версиях Windows,
без необходимости ставить апдейты и прочих дополнительных телодвижений со стороны пользователя.
Как сделать то же самое сейчас (и можно ли вообще) — х.з.
Re[5]: Новое в подписи драйверов на Windows 10
От: Vicul  
Дата: 23.07.15 06:04
Оценка:
O>EV-сертификаты сейчас выпускают с SHA-256, а он "из коробки" поддерживается только с Windows 8 и выше.
O>На других системах поддержка SHA-256 делается с помощью дополнительных "приседаний".
O>На Vista и Server 2008 поддержки SHA-256 нету и, видимо, не будет.

O>Кроме того, с 01.01.2016 участникам MS Root Certificate Program (т.е. Symantec, DigiCert, Thawte и др.)

O>запрещается выпускать сертификаты с SHA-1 и даже ходят слухи, что сама Windows скоро перестанет
O>загружать драйверы, подписанные SHA-1. Так что ситуация мутная.


Короче, только что пообщался с ними в чате, на Висте и 7 все будет пучком. EV работает с SHA2, а чтобы виста и 7 это поняли
нужен устанавливать патч

Devon J.: [11:24:41 PM] Hello! How are you today?
Victor: [11:24:41 PM] Hello, I have a question about EV Code Signing Certificate. I will use it for signing my drivers for Win10 (x86/x64). But I have too drivers for other Windows. Can I use EV for signing Win 7 and Vista or should still purchase Code Signing Certificate too?
Devon J.: [11:24:49 PM] Hello
[11:25:35 PM] You can use the certificate to sign the drivers for use on Windows 7, Vista however will be an issue due to it not supporting SHA2 signatures.
Victor: [11:27:00 PM] So, do I need to purchase two certificates?
Devon J.: [11:27:35 PM] No, all new code signing certificates are issued out as SHA2 certificates.
Victor: [11:30:55 PM] Sorry, if I sign a driver, for example, for Vista by EV, then my user will have a problem, because Vista supports only SHA1? Is true?
Devon J.: [11:31:31 PM] Correct
Victor: [11:32:53 PM] So I need two certificates: EV and Code Signing. Is it true?
Devon J.: [11:34:16 PM] No, all new code signing certificates are issued out as SHA2. Microsoft is mandating that all new CS certificates are SHA2. If they wanted Vista to have SHA2 support, they could push out a patch for it.
Victor: [11:37:41 PM] ok, does Win 7 have that problem with SHA2, or I need a patch there too?
Devon J.: [11:38:40 PM] Microsoft pushed out a patch for SHA2 code signing certificates for Windows 7 back in March. The hotfix is listed here: https://technet.microsoft.com/en-us/library/security/3033929.aspx

Re[6]: Новое в подписи драйверов на Windows 10
От: okman Беларусь https://searchinform.ru/
Дата: 23.07.15 06:17
Оценка: 1 (1)
Здравствуйте, Vicul, Вы писали:

V>Короче, только что пообщался с ними в чате, на Висте и 7 все будет пучком. EV работает с SHA2, а чтобы виста и 7 это поняли

V>нужен устанавливать патч

V>

V>Devon J.: [11:24:41 PM] Hello! How are you today?
V>Victor: [11:24:41 PM] Hello, I have a question about EV Code Signing Certificate. I will use it for signing my drivers for Win10 (x86/x64). But I have too drivers for other Windows. Can I use EV for signing Win 7 and Vista or should still purchase Code Signing Certificate too?
V>Devon J.: [11:24:49 PM] Hello
V>[11:25:35 PM] You can use the certificate to sign the drivers for use on Windows 7, Vista however will be an issue due to it not supporting SHA2 signatures.
V>Victor: [11:27:00 PM] So, do I need to purchase two certificates?
V>Devon J.: [11:27:35 PM] No, all new code signing certificates are issued out as SHA2 certificates.
V>Victor: [11:30:55 PM] Sorry, if I sign a driver, for example, for Vista by EV, then my user will have a problem, because Vista supports only SHA1? Is true?
V>Devon J.: [11:31:31 PM] Correct
V>Victor: [11:32:53 PM] So I need two certificates: EV and Code Signing. Is it true?
V>Devon J.: [11:34:16 PM] No, all new code signing certificates are issued out as SHA2. Microsoft is mandating that all new CS certificates are SHA2. If they wanted Vista to have SHA2 support, they could push out a patch for it.
V>Victor: [11:37:41 PM] ok, does Win 7 have that problem with SHA2, or I need a patch there too?
V>Devon J.: [11:38:40 PM] Microsoft pushed out a patch for SHA2 code signing certificates for Windows 7 back in March. The hotfix is listed here: https://technet.microsoft.com/en-us/library/security/3033929.aspx


Читаем то, что написано мелким шрифтом:

Microsoft Security Advisory 3033929
https://technet.microsoft.com/en-us/library/security/3033929.aspx

Availability of SHA-2 Code Signing Support for Windows 7 and Windows Server 2008 R2

Microsoft is announcing the reissuance of an update for all supported editions of Windows 7 and
Windows Server 2008 R2 to add support for SHA-2 signing and verification functionality. This update
supersedes the 2949927 update that was rescinded on October 17, 2014 to address issues that some
customers experienced after installation. As with the original release, Windows 8, Windows 8.1,
Windows Server 2012, Windows Server 2012 R2, Windows RT, and Windows RT 8.1 do not require this update
because SHA-2 signing and verification functionality is already included in these operating systems.
This update is not available for Windows Server 2003, Windows Vista, or Windows Server 2008.

Так что на поддержку Vista и Server 2003/2008 нас заставляют положить болт.
Re: Новое в подписи драйверов на Windows 10
От: icezone  
Дата: 23.07.15 21:31
Оценка: 1 (1) +2 -1
Здравствуйте, okman, Вы писали:

O>Похоже, Microsoft приготовила очередную подставу с подписью драйверов.


А может оно и к лучшему — слишком много расплодилось софта, который ставит драйвера без особой необходимости.
Вроде бы обычная программа, а после установки система валится — либо драйвер кривой, либо system-wide hook.
Re[2]: Новое в подписи драйверов на Windows 10
От: greatis  
Дата: 24.07.15 11:25
Оценка: 3 (1)
Здравствуйте, icezone, Вы писали:

I>Здравствуйте, okman, Вы писали:


O>>Похоже, Microsoft приготовила очередную подставу с подписью драйверов.


I>А может оно и к лучшему — слишком много расплодилось софта, который ставит драйвера без особой необходимости.

I>Вроде бы обычная программа, а после установки система валится — либо драйвер кривой, либо system-wide hook.
Столкнулся с тем, что Windows 8.1 отправляет в BSOD если не может проверить подпись драйвера, хотя драйвер может быть совершенно исправен.
По идее можно было бы просто драйвер не грузить, а ехать дальше, но вместо этого — BSOD без указания даже кода ошибки.
И нажать кнопку было нечем, так как это была Win таблетка, а драйвер тача еще не загрузился.
Re[2]: Новое в подписи драйверов на Windows 10
От: petr_t  
Дата: 24.07.15 11:29
Оценка:
Здравствуйте, icezone, Вы писали:

I>А может оно и к лучшему — слишком много расплодилось софта, который ставит драйвера без особой необходимости.

I>Вроде бы обычная программа, а после установки система валится — либо драйвер кривой, либо system-wide hook.

Можно подумать, его от этого меньше станет.
Re[3]: Новое в подписи драйверов на Windows 10
От: icezone  
Дата: 24.07.15 13:06
Оценка: +1
Здравствуйте, petr_t, Вы писали:

_>Можно подумать, его от этого меньше станет.


Я смотрел что за драйверы ставятся — криво перепиленные примеры из DDK.
Если процедура усложниться, то куча студенческих поделок отвалится,
а кому драйвера нужны, для тех несколько сотен баксов в год — не проблема.
ИМХО, энд-юзерский софт должен работать без костылей.
Re: Новое в подписи драйверов на Windows 10
От: VladCore  
Дата: 25.07.15 09:26
Оценка:
Здравствуйте, okman, Вы писали:

O>In order for your driver to be trusted on Windows 10 desktop machines, you will have to get a Microsoft signature.


Вроде это в висте началось. Причем тут десятая?
Re[2]: Новое в подписи драйверов на Windows 10
От: okman Беларусь https://searchinform.ru/
Дата: 25.07.15 11:34
Оценка:
Здравствуйте, VladCore, Вы писали:

VC>Здравствуйте, okman, Вы писали:


O>>In order for your driver to be trusted on Windows 10 desktop machines, you will have to get a Microsoft signature.


VC>Вроде это в висте началось. Причем тут десятая?


Нет. В Vista это, во-первых, затрагивало только 64-битные редакции, во-вторых,
можно было подписывать обычным сертификатом (не EV), для которого у MS
выпущен соответствующий кросс-сертификат, и в-третьих, для подписывания
было запустить signtool.exe, т.е. сами бинарники драйвера никуда не нужно
было отправлять, как для Windows 10.
Re: Новое в подписи драйверов на Windows 10
От: okman Беларусь https://searchinform.ru/
Дата: 25.07.15 15:48
Оценка: 4 (1)
Вот еще FAQ по теме:

Questions and Answers: Windows 10 Driver Signing
https://www.osr.com/blog/2015/07/24/questions-answers-windows-10-driver-signing/
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.