Бесплатная цифровая подпись для открытых драйверов

Автор оригинала: ReactOS Foundation
  • Перевод
image
Теперь любой проект с открытым исходным кодом, который разрабатывает драйвер для Windows, благодаря Фонду ReactOS может подписать свой драйвер бесплатно.

Подписание для 32-битных драйверов — нечто рекомендуемое, поскольку это гарантирует, что драйвер безопасен, и никто не внедрил в него руткит впоследствии. Подписание для на 64-битных драйверов — НЕОБХОДИМОСТЬ, новые версии Windows не позволяют выполнять неподписанный драйвер, поэтому проекты с открытым исходным кодом вынуждены платить немалые суммы за подписание своих драйверов. Обычно лицензия может стоить 2000 долларов в течение года, таким образом, это — хорошая экономия для проектов с открытым исходным кодом.

С Рождеством Христовым!



Подробности


imageФонд ReactOS — это организация, которая занимается юридическими вопросами проекта и владеет торговыми марками и логотипами, связанными с ReactOS. Фонд был основан несколько лет назад и находится в Москве, а два недавних достижения помогли расширить видение его легитимности.

Первым достижением стало утверждение ReactOS как зарегистрированного в России товарного знака, владельцем которого является Фонд. Это означает, что Фонд занял гораздо более сильную юридическую позицию, которая нужна для прекращения несанкционированного использования слова ReactOS, которое, как многие помнят, уже не является мелочью, учитывая последние события.

Вторым достижением является то, что у Фонда ReactOS появился сертификат VeriSign для подписи кода, и он может быть использован для подписания 64-битных драйверов для Windows. Фонд готов оказать помощь другим проектам с открытым кодом, которые хотят распространять собственные 64-битные драйверы, но не в состоянии приобрести сертификат для их подписания.

Однако, это предложение зависит от выполнения следующих условий:

  1. Фонд будет подписывать лишь драйверы с открытым исходным кодом.
  2. Фонд будет самостоятельно собирать драйвер для подписи из исходного кода. Мы не примем уже скомпилированный «чёрный ящик». Это означает, что все исходные коды и инструменты, необходимые для сборки драйвера, должны быть доступны для Фонда.
  3. Драйвер не должен использоваться для обхода систем безопасности в ОС. Сюда же входят попытки взлома функций DRM, к примеру таких, как процессы обеспечения безопасности.
  4. Драйвер не должен использоваться для участия в других видах незаконной деятельности.
  5. Где-либо на странице проекта/продукта должна иметься ссылка на домашнюю страницу ReactOS. Желательно, чтобы она была расположена там, где её будет легко найти.


Фонд оставляет за собой право отказать в подписании драйвера даже при соблюдении указанных выше условий. Все запросы необходимо направлять Цзыляну Гуо (ziliang.guo at reactos.org).
Поддержать автора
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 68

  • НЛО прилетело и опубликовало эту надпись здесь
      +19
      Фонд будет подписывать лишь драйверы с открытым исходным кодом.

      Какие же они взаимные, когда драйвер с открытыми исходными кодами и так каждый может поковырять и отладить. Так что чистой воды меценатство, а не взаимовыгодное сотрудничество. Респект ReactOS-у.
      • НЛО прилетело и опубликовало эту надпись здесь
          +12
          И это замечательно!
          • НЛО прилетело и опубликовало эту надпись здесь
            • НЛО прилетело и опубликовало эту надпись здесь
                +10
                Фирма может и найдёт. А вот студент с самодельным устройством и самописными дровами может и не найти.
                  +3
                  А одинокий стартапер или фриварщик?
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • НЛО прилетело и опубликовало эту надпись здесь
                        0
                        а жать далее больше не прокатывает, 64-х битные win7 и server 2008 все равно не дадут его использовать. Как я понял, единственный выход — это жать F8 при загрузке системы и загружать ОС в соответствующем режиме, что как бы не выход. Ну возможно еще можно какой-то ключ прописать при загрузке чтобы она по умолчанию так грузилась. Пару раз столкнулся так с необходимостью запустить старое ПО — ну и привет совместимость ОС microsoft.
                        • НЛО прилетело и опубликовало эту надпись здесь
              +15
              хорошо что под катом я увидел то что хотел — без аудита не подпишут :)
              а инициатива классная. конечно менее эффективная чем всякие «приведи друга» и массовый «like», но тем не менее вариант распространения информации о ReactOS на взаимовыгодных условиях
                +7
                Судя по картинке, компанию D-Link вообще не волнует подписание драйверов :)
                  +2
                  Судя по картинке, установщик ругается на отсутствие WHQL, а не обычной цифровой подписи.
                  –21
                  С Рождеством?

                  Что делает религиозная хрень на моём Хабре?!
                    +5
                    Ну, Новый Год исторически не менее религиозен но, тем не менее, я помню, как минимум, два топика с поздравлением с Новым Годом ;-)
                      +7
                      Я лично и команда проекта поздравляем тех, кто празднует и тех, кто возможно забыл! А людям, относящих себя к другим конфессиям, мы просто от всего сердца желаем всего хорошего. =)
                        0
                        Так праздник называется. Ну это как перодическую таблицу называют таблицей Менделеева. Религия тут особо не при чем.
                          +6
                          Это праздник для христиан, в отличии от, например, Нового Года.
                          Меня, как атеиста, сильно раздражают регулярные поздравления с религиозными праздниками. Я думаю, что я не один такой на Хабре, который сугубо ИТ ресурс.
                            +3
                            А Новый Год посвящён богу Янусу. Если смотреть праздники Нового Года у других народов, то там тоже масса языческих и мифических обоснований. Мне-то, тоже атеисту, в целом пофигу конкретно на подоплёку данного праздника Рождество, но я рад, что завтра увижу свою семью в полно составе, так как у всех, в кои-то веки, выходной и никаких дежурств нету.
                              +2
                              Янус это в греко-римской мифологии был. Кстати, к исконно-языческим корням отношусь вполне положительно, чего не скажешь об чуждых авраамических религиях.

                              Но в любом случае Новый Год сейчас абсолютно лишен каких либо религиозных атрибутов, в отличии от того же РХ.
                                –1
                                Атеист, относящийся положительно к языческим богам. По моему чудесная «примета времени» и описание каши в голове.
                                  +2
                                  В историко-культурном плане вполне себе сочитабельно.
                                    –4
                                    «в историко-культурном плане» от вас даже странно было бы ожидать иного ответа :D
                            • НЛО прилетело и опубликовало эту надпись здесь
                                0
                                Вы поди и мясо не кушаете…
                                  –2
                                  С чего Вы взяли?
                              +11
                              Вас не пугает тот факт, что в неделе семь дней?
                                +6
                                … и что один из них называется «воскресение»? )
                                  +5
                                  и нынче 2011 год… от кое-кого рождения
                                    +5
                                    Да и раньше считали от сотворения мира… кое-кем.
                              • НЛО прилетело и опубликовало эту надпись здесь
                                  +3
                                  драйвер это не операционная система, в нем нет миллионов строк, так что размазать конечно можно но вероятность нахождения этого руткита очень велика учитывая что исходник будет доступен всем заинтерисованными лицам…
                                  • НЛО прилетело и опубликовало эту надпись здесь
                                    • НЛО прилетело и опубликовало эту надпись здесь
                                        +5
                                        Примеры закладок не покажете?
                                          +1
                                          Ты лично хоть одну закладку нашёл из тех, про которые по ссылке описаны? Без пруфовлинков на исходник в CVS с указанием номеров строк — это пустой трёп.

                                          Если завтра Мортон скажет, что по заданию ФБР запихнул 100500 троянов в linux, тоже сразу поверишь?
                                    +8
                                    Вот и ответ всем тем, кто спрашивал «Зачем нужен ReactOS?»
                                      –5
                                      У меня двоякие чувства. Первое, M$ действительно стрижёт бабло за то, чтобы драйвер был признан годным за 2 килобакса. Второе, все драйвера всё-таки проходили какую-никакую проверку и часть денег за их «признание годности» уходили тем инженеграм-программистам. Сейчас это сможет сделать каждый «недопрограммист» бесплатно?
                                        +3
                                        Тестирование — это WHQL. А здесь речь идёт об обычной цифровой подписи, которая по сути является исключительно удостоверением автора драйвера и ни малейших гарантий не предоставляет, но без которой драйвер в 64-битных системах установить невозможно (не считая тестовых режимов). И да, для получения такой подписи-удостоверения разработчику требовалось выкладывать кругленькую сумму (причём ежегодно), только не самой MS, а VeriSign'у.
                                          +1
                                          Ну я особо не разбирался. У меня просто Ubuntu. Просто большинство драйверов под Windows как правило выдают предупреждения, что они не подписаны. Впрочем и подписанные драйвера не раз у меня ложили Windows XP. Любопытно, что активно минусуют, а более или менее вменяемый ответ один.
                                            0
                                            Другими словами, теперь драйвер может получить подпись и быть установлен в ОС без тестирования на корректность работы и совместимость с этой самой ОС. Это хорошо для исследовательских проектов и установки на 10-20 машин, но если кто-то выпустит таким образом массовый софт… у-у-у…

                                            Ведь именно кривые драйвера от дешевого китайского железа часто становились причиной «синих экранов» и прочей фигни, припысываемой почему-то лично операционке, а не железке, на которой сэкономили 10 рублей.
                                              +1
                                              Подпись не защищает от синих экранов, подпись защищает от «вирусоделов» — не каждый пойдёт себе покупать серт за два килобакса. А если и купит, то при обнаружении серт быстро отзовут. От синих экранов защищает WHQL.
                                                0
                                                Ну подписи в этом отношении тоже не бесполезны. MS собирает статистику сбоев и анализирует её. Если какой то драйвер становится причиной очень большого количества сбоев, то MS пытается связаться с разработчиком и пытаться взаимодействовать для исправления ошибок, и в случае подписанного драйвера (пусть даже не WHQL) это сделать гораздо проще.
                                                  0
                                                  Ах да, от вирусоделов тоже не очень действенная защита :) Защита скорее всего от неграмотных разработчиков (если автор способен подписать программу, то скорее всего и набрать verifier он тоже может). Для вирусоделов просто добавляются некоторые дополнительные сложности: сделать самоподписанный центр сертификации, подписать драйвер, перед установкой драйвера добавить сертификат своего ЦА в доверенные… Но если зловред уже на компьютере — это не проблема.
                                                  0
                                                  Другими словами, теперь драйвер может получить подпись и быть установлен в ОС без тестирования на корректность работы и совместимость с этой самой ОС.
                                                  Это не «теперь», это всегда так было. Не нужно путать виды подписей, они бывают разные. Первая — это обычная цифровая подпись, простая идентификация разработчика. Она выдаётся абсолютно кому угодно. Драйвер никем не тестируется (кроме, быть может, автора), никто не даёт никаких гарантий. Фактически такая подпись — это всего лишь признание факта наличия у разработчика статуса юр.лица и лишней пары килобаксов, которую он готов выложить лишь за то, чтобы подтвердить, что он — это он. И второй вид подписи — WHQL. Такая подпись уже стоит намного дороже и обозначает, что драйвер прошёл официальную сертификацию качества в MS.

                                                  В системах до XP включительно, а также в 32-битных Висте/Семёрке драйвер можно установить любой, без всяких подписей, и он запустится. Максимум — винда выдаст предупреждение перед установкой, что драйвер не подписан и не прошёл проверку качества, но это именно предупреждение, его можно проигнорировать. В 64-битных же виндах, начиная с Висты, гаечки подзакрутили. Теперь драйвер, не обладающий валидной цифровой подписью-идентификатором (не WHQL!), работать просто не будет. Вернее, заработает, если отключить проверку подписей, нажав при загрузке компа F8 и выбрав соответствующий пункт, но этот режим заблокирует в системе некоторые функции. WHQL же по-прежнему остался необязательным.

                                                  То есть получилось так, что я уже не имею права на своей собственной машине запустить нужный мне фриварный драйвер. Мало того, я даже свой собственный самописный драйвер не смогу запустить! И это при том, что никакого тестирования и уровня качества как никто не гарантировал, так и не гарантирует.
                                                    +1
                                                    Самописный драйвер не можете запустить? И хорошо. Еще нехватало драйверописателей которые не могут даже разобраться с тем как сделать самоподписанный сертификат доверенным на своей машине.
                                                      0
                                                      Расскажите, будьте так добры, как запустить самоподписанный драйвер, не активируя тестовый режим (т.е. не используя команду bcdedit.exe /set testsigning on, которая помимо включения режима доверия к самоподписанным драйверам заодно отключает некоторые функции по управлению цифровым контентом). Весь мир низкоуровневых разработчиков, включая кучу MVP, этого сделать не смогли, а Вы можете?

                                                      Для информации: сделать доверенным свой сертификат невозможно, т.к. его для этого требуется подписать кросс-сертификатом от MS или чьим-нибудь ещё, чтобы выстроилась цепочка сертификатов. Даже если принудительно добавите сертификат в качестве корневого, при попытке использовать его для драйверов система пошлёт Вас куда подальше (несмотря на то, что в свойствах драйвера будет говориться, что сертификат совершенно валиден).

                                                      Не надо считать себя умнее других людей, если не знаете, что эти другие люди знают и что они пробовали сделать (собственноручно) перед тем, как прийти к определённым выводам.
                                                        0
                                                        То что сделать свой сертификат доверенным невозможно — это вы уже очевидную ерунду говорите. Это же ваш компьютер в конце концов :) Любой админ поднимавший свой CA это знает и для этого не надо быть низкоуровневым разработчиком.
                                                        Вам нужно добавить корневой сертификат CA в TRCA, и скорее всего еще нужен сертификат которым производилась подпись (или достаточно опять сертификата CA) в Trusted Publishers.
                                                        Всё это разумеется надо делать в хранилище сертификатов компьютера, а не пользователя.
                                                        Я, честно говоря, действительно не загружал таким образом самоподписанные драйверы самостоятельно (я не разработчик, обычно использую PKI для других целей), но мнению того MVP который мне об этом сообщал, склонен доверять, тем более что его компания использует (или использовала) такой подход для своего ПО. Если вы действительно пробовали всё в точности как я описал выше, и вам не помогло — тогда я уточню у него подробности, возможно есть еще какие то ньюансы.
                                                          0
                                                          То что сделать свой сертификат доверенным невозможно — это вы уже очевидную ерунду говорите. Это же ваш компьютер в конце концов :)
                                                          Доверенным сделать можно, но возможности запуска драйверов это не добавит. Иначе не было бы смысла разводить весь сыр-бор.

                                                          Я, честно говоря, действительно не загружал таким образом самоподписанные драйверы самостоятельно…
                                                          Если вы действительно пробовали всё в точности как я описал выше, и вам не помогло — тогда я уточню у него подробности, возможно есть еще какие то ньюансы.
                                                          Да, я лично это попробовал, причём первым же делом, как только столкнулся с проблемой необходимости наличия ЦП у драйверов. Если просто подписать драйвер сгенерированной тестовой подписью, то винда говорит, что подпись невалидна, и драйвер не грузит. Если добавить свой сертификат в корневое хранилище, то винда утверждает, что подпись полноценная, доверенная, и вообще вся из себя самая что ни на есть настоящая, но несмотря на это запускать драйвер по-прежнему упорно отказывается.

                                                          Я уже искал информацию по этому поводу, все знающие люди в один голос утверждали, что, действительно, такой трюк не прокатывает, что обязательно нужна подпись либо от MS, либо от VeriSign, и что бесплатно такую подпись организовать невозможно (более того, если нет юр.лица, то даже платно невозможно). Все способы запуска драйвера сводились к одному из трёх:
                                                          а) найти кого-нибудь с уже имеющимся платным сертификатом и попросить его подписать;
                                                          б) подписать тестовой, самосгенерённой подписью и включить в винде тестовый режим через bcdedit (в этом случае система будет проверять, что драйвер вообще содержит хоть какую-нибудь ЦП, а валидность проверять не будет);
                                                          в) загружаться, нажимая F8 и выбирая отключение проверки ЦП (в этом случае драйвер можно вообще не подписывать).
                                                          Других способов на настоящий момент, насколько мне известно, просто не существует.
                                                            0
                                                            Давайте подробнее. Я не увидел у вас в ответе подтверждений что вы делали именно как я сказал, так что извините, но некоторые вопросы задам снова:
                                                            Как генерировали сертификаты?
                                                            Какие опции включены в Key Usage у подписывающего сертификата?
                                                            Точно ли все операции производились с хранилищем компьютера, а не пользователя?
                                                            В TRCA надо добавлять сертификат с публичным ключом CA, а не тот которым подписываем драйвер. Так и делали?
                                                            В TP надо добавлять либо сертификат с публичным ключом CA, либо непосредственно тот которым подписываем. Не уверен, так что для эксперимента лучше добавить оба.
                                                            ЗЫ: Отправил в почту свою электронку, возможно стоит перейти туда, тогда смогу подключить других MVP, разбирающихся в вопросе, не присутствующих здесь.
                                                              0
                                                            0
                                                            > которая помимо включения режима доверия к самоподписанным драйверам заодно отключает некоторые функции по управлению цифровым контентом

                                                            Э… зачем вам на машине, используемой для тестирования самоподписанного драйвера, цифровой контент, требующий сертификатов? А если это не отладочная машина, то зачем на ней сырой самоподписанный драйвер? А если драйвер не сырой, то почему не заплатить за его официальную подпись? Это ведь уже не поделка какая-нибудь, а серьезный продукт.

                                                            И даже если это домашнее хобби — драйверы писать, то можно и потратить некоторое количество денег. Некоторые домашние компы или объективы для фотоаппаратов дороже стоят.
                                                              +1
                                                              А если драйвер не сырой, то почему не заплатить за его официальную подпись?
                                                              А с чего это я должен за него платить? Я его придумал, я его написал, я его отладил, и я же при этом ещё и приплачивать кому-то обязан?

                                                              И даже если это домашнее хобби — драйверы писать, то можно и потратить некоторое количество денег.
                                                              Некоторое? Можно. Но ежегодные 500 баксов — это не «некоторое количество», это весьма существенная обдираловка. По крайней мере, лично для меня. С голоду я от такой траты, положим, не помру, но и выкидывать на ветер эту сумму совершенно не намерен. Одно дело — купить за эти деньги инструмент разработки, которым я буду пользоваться. И совсем другое дело — просто так выложить энную сумму за одно лишь милостивое разрешение запускать на моём компе мой же собственный софт. Это раз. А два — это то, что физ.лицу такую подпись купить невозможно. Вот не продают и всё тут. Так что к тем пяти сотням добавляются ещё как минимум траты на оформление какого-нибудь ИП, плюс куча времени на возню с документами, налогами и прочей дребеденью, которая мне нужна, как собаке пятая нога.
                                                  0
                                                  хммм… а разве не было ли основной проблемой то, что драйвер в Stuxnet как раз был подписан и некоторые антивирусы просто не проверяли его? Теперь подписанной может быть все что угодно?
                                                    0
                                                    вижу нет :) забавно, подпишут ли «драйвер» (эмулятор) HASPa?
                                                      +1
                                                      а разве не было ли основной проблемой то, что драйвер в Stuxnet как раз был подписан и некоторые антивирусы просто не проверяли его?

                                                      в том то и фокус, что он был подписан ворованным сертификатом принадлежащим «доверенной» компании. в идеальном мире сертификат позволяет 100% персонифицировать автора, при таком раскладе нужно быть круглым идиотом чтобы подписать вирус своим ключем. к сожалению мир не идеален и ключи ушли налево, чем и воспользовались авторы stuxnet.
                                                      –1
                                                      Подпишите античит MyAc для Counter-Strike 1.6 на Windows 64-bit. А то чтобы постреляться, надо весь комп засрать и мозг вы-кхм…
                                                        0
                                                        Можете сами это сделать, а использованный сертификат установить в доверенные.
                                                        –1
                                                        Они делают хорошие дело. Но они стремятся к Windows XP. С такими темпами они сделают релиз 1.0 к Windows 10. Когда она уже совсем не будет совместима с XP, а в добавок к этому на XP никто сидеть не будет
                                                          +5
                                                          [irony]Каждый раз, когда где-то всплывает слово ReactOS, кому-то обязательно хочется побыть Капитаном Очевидность.[/irony]

                                                          Переведите что-нибудь из документации, протестируйте свежую сборку, проверьте в ней свои любимые программы, напишите баг-репорт, выступите с докладом на конференции, расскажите друзьям хотя бы, и дайте им потестить. Если умеете программировать — напишите хотя бы апплетик для панели управления или что-нибудь из необходимого прикладного ПО. Если кое-что знаете о внутренностях windows — заройтесь в исходники ядра, найдите пару багов и закоммитьте патч.

                                                          А болтать, мол, «никогда не допилят» — много усилий не надо.

                                                          Пример из жизни. 70% багов, отправленных мной лично в багзиллу ReactOS — уже исправлены.

                                                          PS: В wine тоже никто не верил. А у ReactOS за счет wine есть фактически готовый юзерспейс.
                                                            +1
                                                            Писал про выпуски, когда сайт был. Тестил сборки и продолжаю ждать. Медленно уже всё выходит. Я просто посмотрел правде в глаза. Мне самому грустно. Зачем сейчас стремиться сделать копию Москвича, если его лет через 10 уже мало-кто будет покупать, а самое главное, он будет очень устаревшим, но не раритетным.
                                                            0
                                                            С такими темпами они сделают релиз 1.0 к Windows 10.

                                                            Привет из 2018, не сделали.
                                                            +4
                                                            Если это действительно так, то ура. Дело в том, что есть особая область, в которой подписанные драйвера очень нужны — это виртуализация. Для xen'а/kvm/qemu наконец-таки появятся подписанные драйвера.
                                                              +2
                                                              Вот кстати да, поддержу.
                                                              0
                                                              То есть есть шанс, что мой PS3 джой заработает без необходимости перегружать комп? :)
                                                                –1
                                                                > Обычно лицензия может стоить 2000 долларов в течение года

                                                                Это где так? Verisign просит 500$ да год, или меньше если брать на 2-3 года, что не так уж и много.

                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                Самое читаемое