首页
学习
活动
专区
圈层
工具
发布

如何给驱动程序签名?怎么做微软WHQL认证?

图片 内核模式旨在验证在系统上运行我们的程序和软件的驱动程序包的代码,内核模式代码的签名文件在安全目录(CAT 文件)中受到保护。...对此证书进行签名的目的是创建一个策略,在该策略中,内核模式驱动程序必须始终加载才能使系统平稳运行。 内核模式驱动程序签名认证过程取决于操作系统的版本。...由于微软提升驱动程序签名要求,以往只需要采用微软交叉根签名的证书颁发机构提供的EV代码签名证书签名驱动程序,即可完成驱动签名认证,但从 Windows 10 开始,如果新的内核模式驱动程序未由Windows...申请WHQL认证主要有以下几个步骤,如图所示: 沃通CA提醒开发者,驱动程序提交微软WHQL认证的流程中,仍需申请EV代码签名证书,这是必备项目!...帐户注册过程及驱动程序提交前,需要使用微软指定证书颁发机构提供的EV代码签名证书进行签名。 (1)账户注册需要:驱动程序开发者必须通过 Windows 硬件开发人员中心门户向微软提交新驱动程序。

1.5K20

Windows 10 S中的Device Guard详解(上篇)

本文探讨Windows 10 S(下称Win10S)中的Device Guard(设备保护,下称DG)。我将提取策略,并弄清楚在默认Win10S系统上可以和不可以运行什么。...如果尝试修改版本资源,那么文件的签名不再匹配,你就无法通过签名策略。 对于微软为何要全力阻止CMD这样的东西,原因尚不十分清楚。...我尚未对此进行测试,但是虽然可通过从内核驱动程序获取私钥而链到该root(假设其在软件中),但你可以构建的链可能不适合代码签名,但这值得一看。 签名者的最终用途是指定谁可以签署和更新策略。...实际上,只有微软签名的代码可以运行,还有就是证书中有WHQL或Windows EKU的代码,因此,除操作系统预装的东西之外,要找到可以利用的有用东西很困难。...这是严重的缺点,并不是Win10S不支持Hyper-V,你甚至可以安装完整的Hyper-V和配置工具。这允许你在锁定平台之上在VM中运行正常版本的Windows,这实际上不错。

3.5K110
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    让安全启动更加安全

    因此,仅仅使用TPM的系统并不那么安全,至少没有达到我们的目标。 这篇文章并非技术类教程,而是对安全启动的探讨。如果读者有新的想法,欢迎随时留言与沟通。 二....在 GRUB 被调用时,攻击者可能会尝试注入内核驱动程序或恶意代码。 为了缓解这一问题,Ubuntu强制使用 shim,这是一种预加载器pre-loader机制。...这种情况下,信任链的运作方式略有不同: BIOS 信任使用微软证书的 SHIM。 使用微软证书签名的 SHIM 信任另一组证书--自签名证书或 Canonical 证书。...GRUB 信任使用 Canonical 证书的内核(所有库存内核都由 Canonical签名),或使用自签名证书的自定义内核(和模块),但需要对使用的每个内核和该内核使用的每个模块都使用自签名证书。...牢牢掌握你的安全启动 3.1 Shim SHIM默认会信任微软的证书,这意味着你的电脑将会信任所有微软签名的boot loader以及所有由微软签名的内容,因此最好将安全启动掌握在自己手中。

    1.3K10

    Windows 进程创建通知回调通知例程的学习笔记

    在 Vista 以及之后的版本中,微软加入 PsSetCreateProcessNotifyRoutineEx 新的函数来注册创建进程通知。通过判断系统版本来对应不同的操作系统调用不同的注册函数。...操作系统通过内核函数 MmVerifyCallbackFunction 对加载完成的驱动进行完整性校验标志位的检测,该标志位未被置位的驱动模块会被禁止使用某些函数,如上面提到的 PsSetCreateProcessNotifyRoutineEx...微软为 Windows Vista 及后续版本的操作系统的 x64 位版本加强了驱动程序的安全性校验机制,编译生成的驱动程序文件的 PE 头部对应的 Flags 标志位无论是否已置位 INTEGRITYCHECK...(0x20) 标志位,在驱动程序加载时都会执行签名校验的操作。...所以在 64 位版本的操作系统中的非测试模式或调试模式环境下,如果需要加载编译生成的驱动程序,那么一定需要通过代码签名证书对驱动程序进行交叉签名。

    1.7K10

    Ubuntu 14.04 16.04 Linux nvidia 驱动下载与安装

    需要注意的是在安装后,但在此之前使用的驱动程序,您必须完成所描述的步骤第6章,配置X的NVIDIA驱动程序。中提供的可能是新的Linux用户有帮助的其他细节附录I, 新Linux用户提示。...为了签署内核模块,您将需要一个私有签名密钥和对应的公钥的X.509证书。在加载模块之前,内核必须信任X.509证书:我们建议在开始安装驱动程序之前确保签名密钥受信任,以便可以立即使用新签名的模块。...由对应于嵌入式公钥证书的私钥签名的模块将被内核信任。 由于密钥是在构建时嵌入的,添加新公用密钥的唯一方法是构建新内核。...存储在UEFI固件数据库中的证书 上的内核与CONFIG_MODULE_SIG_UEFI,除了嵌入到内核图像的任何证书,内核可以使用存储在证书db, KEK或PK计算机的UEFI固件的数据库来验证内核模块的签名...如果远程用户可以使用受信任的密钥,甚至是root用户,那么攻击者可以在不首先进行物理访问的情况下签署任意内核模块,使系统不太安全。

    5.3K30

    微软WHQL认证有哪些步骤?驱动程序签名及发布

    驱动程序通过WHQL认证,可以确保硬件设备能够在Windows系统中运行,保证了设备的兼容性和稳定性。 图片 通过WHQL认证有什么好处呢?...图片 步骤一:获取EV代码签名证书 驱动程序提交WHQL认证的过程中都需要用到EV代码签名证书,开发者需提前申请EV代码签名证书备用。...微软要求使用指定CA机构颁发的EV代码签名证书,开发者可通过沃通CA申请获取符合微软要求的EV代码签名证书。...帐户注册过程中,需要使用EV代码签名证书签名指定文件来完成注册。 步骤三:软硬件驱动测试 根据微软要求搭建WHQL测试环境,使用微软提供的测试工具(HCK/HLK)进行驱动测试。...认证,能够在Windows系统上顺畅运行。

    1.1K50

    又一全新恶意软件曝光,曾滥用微软驱动程序签名系统

    这种恶意软件最初是在 2023 年底被检测到的,起初它伪装成了一个安装程序,表面上可以通过阻止广告和恶意网站来改善网页浏览。 但它实际上是将代码注入远程进程并拦截浏览器流量。...正如 ESET 在今天早些时候发布的一份公告中所描述的,该恶意软件可以修改、替换或重定向网页内容,并根据特定条件打开新标签。...此后,ESET将此威胁标记为Win{32|64}/HotPage.A和Win{32|64}/HotPage.B。 进一步调查发现,该公司利用微软的驱动程序代码签名要求,获得了扩展验证(EV)证书。...这种技术对网络安全行业的广泛影响值得注意。恶意软件使用经过签名的合法驱动程序,不仅为侵入性广告软件提供了便利,还使系统面临更多安全风险。...攻击者可以利用这一漏洞获得系统级权限或向进程中注入恶意代码,从而利用对已签名驱动程序的固有信任。 为防范此类威胁,安全研究人员建议定期更新软件,使用全面的安全解决方案,并保持严格的访问控制。

    53721

    如何判断你的电脑是否被监控 - 完整自查教程

    监控内容: 访问的网站域名和IP地址 网络流量内容(需要解密HTTPS) 文件外发行为 违规网站访问 代码仓库提交记录 本地客户端监控 工作原理: 在员工电脑上安装监控客户端或驱动程序,直接采集本地操作数据...攻击流程: 预置根证书: 公司在员工入职时,在电脑中预置一个自签名的CA根证书 拦截请求: 当你访问HTTPS网站时,网关拦截请求并生成伪造证书 双向解密: 网关使用伪造证书与你的电脑通信,同时与真实服务器建立连接...不同系统的操作步骤如下: Windows系统 操作步骤: 打开"控制面板" 点击"网络和 Internet" 选择"Internet 选项" 在弹出窗口中切换到"内容"选项卡 点击"证书"按钮 选择"受信任的根证书颁发机构..."分类 识别可疑证书: 查找颁发者名称包含公司名称的证书 注意自签名证书(颁发者和使用者相同) 留意证书名称中包含"Enterprise"、“Corporate”、"Security"等关键词 macOS...Android手机 操作步骤: 打开"设置"应用 找到"安全"或"设备"选项 点击"信任的凭据"或"已信任的凭据" 切换到"用户"标签页 注意事项: 用户安装的证书会显示在"用户"分类中,系统内置证书在

    23910

    windows驱动开发教程_windows内核驱动开发

    对于驱动开发的开发指引,微软官方文档网站已经提供了很详细的教程文档,并且在Github上提供了一系列典型的例程源码用于开发人员参考。...使用 KMDF 和内核模式 Windows NT 模型,你可以编写驱动程序,而无需考虑即插即用 (PnP) 和电源管理。 你可以改为专心于驱动程序的首要任务上。...使用内核模式 Windows NT 模型,你不必考虑 PnP 和电源,因为内核模式服务在与 PnP 和电源管理完全无关的环境中运行。 3....>,则在编译时会自动生成测试签名证书。...生产环境 从Win10开始,驱动文件包不仅需要进行扩展验证 (EV) 代码签名,还需要提交到硬件开发中心仪表盘,具体操作指南可以参考此处,你可以在该文档上找到驱动签名所需的任何内容。

    2.5K21

    什么是UEFI签名认证?UEFI代码签名有什么好处?

    ,即可在启用安全启动且允许微软第三方UEFI CA的电脑上安装。...沃通CA提供微软指定证书颁发机构DigiCert、Sectigo等品牌EV代码签名证书,支持为驱动程序、UEFI固件、LSA插件进行签名,支持用于Windows合作伙伴中心硬件仪表板门户帐号注册。...图片 微软最新UEFI签名要求 以下为微软对UEFI 签名认证的最新要求(2021年1月发布): (1) UEFI 提交需要 EV 代码签名证书和 Azure Active Directory...我们建议您使用 EV 证书,因为这将加快 UEFI CA 签名周转速度。 提交者必须为填充程序加载的所有内容设计和实现强大的吊销机制,无论是直接的还是随后的。...为了更快地完成签名,建议使用 shim - GitHub 分支中的 0.8 或更高版本的源代码。 (13) 如果提交包含 iPXE 功能,则需要执行其他安全步骤。

    2.1K20

    Windows下底层数据包发送实战

    ②使用虚拟机,里面装一个Windows XP SP2以前的系统即可,这个方法理论上应该可行,但会牺牲效率和便捷。   那么还有没有其他方法呢?...”该驱动,在收到路过的数据包时,NPF可以选择仅仅统计一下包的情况或写入文件(做流量监控),或者写到一个环形缓冲区中,然后用户态程序调用wpcap.dll中一些函数,使用WinAPI和驱动程序交互,获取驱动缓冲区中的数据...Winpcap使用NDIS驱动来做到监听、发送底层数据包,已经是一种很好的解决方案了,说起Windows上的软件对网络设备的操控已经无出其右。但是,如果我们不希望使用像这样的第三方工具呢?...TDI的层次比较低,如果程序直接调用该层进行网络操作,那么基于TDI以上层次的防火墙和监控程序将无法检测到。此外,在微软的文档中,TDI层是被标记为即将弃用的技术,文献[8]对该技术介绍很全。...(重启后生效)另外,如果后续安装中出现驱动无法启动的情况,多半因为签名无效问题,在Win7 64位之后,微软禁止具有无效数字签名的驱动运行(但可以安装)。

    3.7K20

    SHA-1碰撞攻击将会对我们产生怎样的现实影响?

    为了说明SHA-1碰撞攻击的现实威胁,我们找到了一例很有趣的例子:微软内核模式代码签名策略,攻击针对目标是加载的内核模式驱动程序签名认证,以下是包括WIN 10在内的该类签名规范和要求: 我们可以看到...,其中列出的哈希机制就包括SHA-1,所以,毫无疑问,SHA-1碰撞攻击将会产生驱动签名滥用情况,为恶意内核代码程序的利用传播敞开大门。...事实上,SHA-1签名校验的驱动程序并不少见,以下就是一些我们发现的实例: 在Win 10系统中,这类存在“风险隐患”的驱动程序是不是就非常少呢?但由于存在很多第三方驱动,所以,情况让你超乎想像。...受影响的系统和服务包括:数字证书签名、邮件、PGP/GPG 签名、软件发布签名、备份系统、冗余热备份系统、Git......等等,除了网络安全之外,影响将会波及很多使用传统操作系统的大型组织机构。...在这方面,微软在Win10系统中已经作了一些限制,如其加密方式不支持TPM1.2芯片。 SHA-1碰撞攻击的恶梦才刚刚开始,我们应该尽快结束使用SHA-1的时代。

    1.3K80

    微软发布Windows Defender System Guard运行时认证技术

    NT 内核根据执行进程对象中保存的某些值确定进程是否受到保护,通过内核漏洞或驱动程序(例如 Mimikatz)篡改这些值就能有效地破坏进程保护。...在启用虚拟安全模式(VSM)的设备上,采用底层指令集架构(ISA)的虚拟化扩展将会从逻辑上把系统划分为两个(理论上更多)独立的区域:常见的运行 NT 内核的“正常”世界和运行安全内核(SK)的独立’安全...依赖方可根据会话证书验证报告签名、确保以 Microsoft CA 为根的证书签名有效,进而轻松验证运行时和会话报告。 ?...,为测量的引导日志(Measured Boot Log)建立信任; 从测量的启动日志中提取 VSM IDK,并使用它们来验证 VBS 围圈签名; 上述后端验证以及用可信任CA在围圈内生成的临时密钥公共组件的签名签发会话证书...微软正在努力突破(当前)操作系统设计的限制; 微软的多个团队在合力研究改善 System Guard 运行时认证和核心内核安全功能。

    1.8K20

    英伟达数据被盗后续:黑客用证书将病毒伪装成显卡驱动

    因为黑客们正在用被盗数据制造能骗过系统的病毒。 这次泄漏的数据中,包括英伟达开发人员用于签署驱动程序和可执行文件的两个签名证书。...除了上面所说的木马外,还有人用证书对Windows驱动程序进行签名。 虽然用于签名的证书已经过期,但仍然会对Windows系统造成风险。...因为Windows系统为了保证向下兼容性,防止系统无法启动,在某些情况下会接受2015年7月29日之前证书签发的驱动程序。 所以用着过期证书,病毒也一样能伪装成合法的英伟达驱动程序。...微软企业和操作系统安全总监David Weston在Twitter上给出了对策:以管理员身份配置Windows Defender应用程序控制策略,这样就能控制可以加载哪些驱动程序,防止病毒被加载到系统中...然而,使用这种方法比较复杂,并不适合电脑小白。 有人建议微软撤销对这两个英伟达过期证书的许可,但这又有可能导致真的英伟达驱动程序被阻止。 微软真的有点难办。

    82260

    蓝军技术推送——武器化AV驱动程序、Spring Core RCE、Windows Rootkit

    蓝军技术推送 [文章推荐] Your Truly,Signed AV Driver:Weaponizing An Antivirus Driver(自己的AV驱动程序:武器化反病毒驱动程序) 文章看点:...本文主要是介绍了勒索软件通过加载签名杀软驱动程序aswArPot.sys,并通过DeviceIoControl来和驱动通信,调用驱动的内核层函数KeAttachProcess和ZwTerminateProcess...我当时是找的一个GMER的驱动来调用ZwTerminateProcess。读者也可以用此思路找其他可利用的驱动程序。...推送亮点:此方法能进入内核层与杀软进行强对抗,而且可以根据不同的驱动程序实现不同的攻击特征,因此,攻击的形式也比较灵活。...推送亮点:windows10和windows11的rootkit,能让程序进入内核层。开源的rootkit,可以帮助攻击人员编写rootkit级程序,帮助防守人员更好的认识rootkit。

    77130

    Protected Process Light (PPL) Attack

    他们可以请求的访问级别取决于他们自己的保护级别。此保护级别部分由文件数字证书中的特殊 EKU 字段确定。创建受保护进程时,保护信息存储在EPROCESS内核结构中的特殊值中。...他们可以请求的访问级别取决于他们自己的保护级别。此保护级别部分由文件数字证书中的特殊 EKU 字段确定。创建受保护进程时,保护信息存储在EPROCESS内核结构中的特殊值中。...在Mimikatz中使用数字签名的驱动程序来删除内核中 Process 对象的保护标志 minikatz安装驱动程序 mimikatz # !...此外,加载到受保护进程中的任何非 Windows DLL 都必须使用适当的证书进行签名。...加载到受保护服务中的任何非 Windows DLL必须使用用于签署反恶意软件服务的相同证书进行签名。那么如果加载的是windows的DLL是否为不用签名?

    2.9K20

    2019年最新WHQL认证申请流程

    实验室主要执行windows徽标计划,检验硬件产品和驱动程序在windows系统下的兼容性和稳定性。...申请WHQL认证主要包含如下几步: 1, 申请EV代码签名证书 申请EV代码签名证书主要为了创建 Azure AD账户和提交测试LOG, 必须是微软指定的CA公司的EV代码签名证书才可以。...微软要求申请WHQL认证的公司必须要申请Azure AD账户。 3, 硬件(或软件)和驱动程序做HLK, HCK测试。...提交之前需要将前面创建的所有HCKx文件、HLKx合并,如果有驱动程序的需要加入驱动程序,然后创建一个新的HCKx或者HLKx文件,注意这次的创建需要用EV代码签名证书签名。...一般的产品通常1个小时左右可以审核完成,而有些如指纹仪这种需要微软人工审核的产品需要2天的时间。 7, 完成 微软审核通过(approved),下载驱动数字签名catalogfile和微软认证报告。

    1.7K00

    SecureBoot101:初始安全启动

    传统启动过程与安全启动 当Ubuntu机器启动,它将经历如下4个步骤: BIOS/UEFI阶段--主板上的固件,通常以只读存储器 (ROM) 的形式存储,包含用于初始化计算机硬件组件和获取引导程序(bootloader...Bootloader阶段--将操作系统和initrd一起加载到内存中。 内核阶段--内核在 initrd 文件系统内执行 init 脚本。这将加载硬件驱动程序并挂载根分区。...当Bootloader和内核模块未包含在SecureBoot数据库中,shim提供了一种机制去加载它们。在 Ubuntu 中,pre-bootloader已预先安装并由微软签名。...例如,当用户在系统上注册一个 MOK 时,与之相关的密钥就会被添加到允许的签名数据库 (db)。这意味着在启动过程中,固件将信任任何使用该密钥签名的二进制文件。...在 initramfs 中,early 和 early2 指的是initramfs的第一和第二阶段。在第一阶段,加载初始化硬件和挂载真实根文件系统所需的最小驱动程序和工具。

    1.3K10

    Lazarus 滥用戴尔驱动程序漏洞部署 FudModule Rootkit

    【恶意文档】 ESET 在报告中表示,攻击者所使用的全新 Rootkit 名为 FudModule,该恶意软件利用戴尔硬件驱动程序中的漏洞进行攻击。...BYOVD 攻击 BYOVD 攻击是指攻击者在 Windows 中加载合法的签名驱动程序,但这些驱动程序包含已知的漏洞。...由于内核驱动程序已签名,Windows 系统将允许将驱动程序安装在操作系统中,攻击者从而利用驱动程序漏洞获取内核级权限。...【失效证书】 Lazarus 利用了戴尔硬件驱动程序(dbutil_2_3.sys)中的漏洞(CVE-2021-21551),在戴尔推送安全更新前该漏洞已经存在了十二年。...将开源工具木马化是 Lazarus 的一贯风格,微软在研究报告中也提到了这一点。

    1.2K10

    ❤️【保姆级安装教程】❤️使用VMware Workstation搭建Windows11系统上手体验,结尾有趣事

    使用VMware Workstation搭建Windows11系统 一、前提准备 1、Windows11镜像下载 2、虚拟机硬件资源分配 3、虚拟机安装注意事项 二、安装步骤 1、打开VMware Workstation...UEFI 安全引导通过阻止加载未使用可接受数字签名签署的驱动程序和操作系统加载程序来保证引导进程的安全。参考链接:配置固件类型 这里选择UEFI并勾选“安全引导”。...3、Windows 11安装的系统磁盘不能低于52GB,否则系统安装不上。 Windows 11系统刚出来,大家对此系统的看法褒贬不一,任何新的东西出来都需要时间的打磨和考验。...系统在自己的台式机上运行的如此流畅,但升级到Windows 10系统后,虽然挺新颖的(对当时来说),但是明显感觉新系统操作时变得有点卡顿,当时有点小后悔了。...对比过去,想想现在,感觉现在的Windows 10系统运行的也很如此流畅。哈哈~ 以上就是我个人的经验分享和心得体会。仅供参考哈~

    23.9K20
    领券