2.7 受保护进程:那些连 Sysinternals 都“不好惹”的进程
个人主页杨利杰YJlio❄️个人专栏《Sysinternals实战教程》 《Windows PowerShell 实战》 《WINDOWS教程》 《IOS教程》《微信助手》 《锤子助手》 《Python》 《Kali Linux》《那些年未解决的Windows疑难杂症》让复杂的事情更简单让重复的工作自动化文章目录img srchttps://i-blog.csdnimg.cn/direct/15109afe39674568a5fbfc9a75343036.png width32/1、《Windows Internals》读书笔记 2.7受保护进程——那些连 Sysinternals 都“不好惹”的进程img srchttps://i-blog.csdnimg.cn/direct/b4667309ca804e5fbd865c8f53db9d57.png width32/ 2、为什么会有“受保护进程”这种设计2.1 两个典型背景**第一类DRM / 媒体保护****第二类安全核心组件保护**2.2 一句话理解它的底层逻辑img srchttps://i-blog.csdnimg.cn/direct/3beea2d2e40c46409b53a699a0c75ffc.png width32/ 3、Protected Process 与 Protected Process Light 有什么区别3.1 Protected ProcessPP3.2 Protected Process LightPPL3.3 我整理的一张速记表**压轴总结一句**img srchttps://i-blog.csdnimg.cn/direct/6e77ef4fb6cf44a8bbcd36732006bd24.png width32/ 4、受保护进程到底“多了哪几道墙”4.1 句柄访问受限4.2 调试和注入受限4.3 终止操作受限4.4 签名与策略检查**我个人的理解**img srchttps://i-blog.csdnimg.cn/direct/432906fd95fa47948a030ff7510b9014.png width32/ 5、从 Sysinternals 视角看受保护进程有什么特征5.1 在 Process Explorer 里会看到什么5.2 为什么连 ProcDump / 调试器也经常失败5.3 建议做的“观察实验”**实验步骤**img srchttps://i-blog.csdnimg.cn/direct/6c0503227f654af9a0106a231fc7dcd4.png width32/ 6、遇到受保护进程排障时应该怎么做6.1 不要第一时间和它正面硬刚**更推荐的思路是**6.2 区分“工具无能”和“系统有意防护”6.3 企业环境下一定要强调合规img srchttps://i-blog.csdnimg.cn/direct/828c7ea35b2d46b2bdd4b5d814fa8c6b.png width32/ 7、把它和前面几节知识串起来7.1 受保护进程仍然是“进程”7.2 真正特殊的是“谁能碰它”7.3 我把整条逻辑链重新串一下img srchttps://i-blog.csdnimg.cn/direct/9a812ac811ec443eaf6646806e81a40d.png width32/ 8、用一张流程图快速记住排障思路img srchttps://i-blog.csdnimg.cn/direct/b2ecca22e02f47a8b4b528f277705806.png width32/ 9、本文小结img srchttps://i-blog.csdnimg.cn/direct/3a5c24069b1e4e7bb94ef28912f8b18e.png width32/ 10、写在最后参考原文说明1、《Windows Internals》读书笔记 2.7受保护进程——那些连 Sysinternals 都“不好惹”的进程很多朋友第一次在Process Explorer、ProcDump、调试器里碰到某些系统进程时都会有一种非常强烈的挫败感明明我已经是管理员了明明工具也已经以管理员身份运行了但某些进程就是看不透、杀不掉、附加不上。这并不是工具“失灵”更不是系统“抽风”而是因为你撞上了 Windows 里一类非常特殊的对象受保护进程Protected Process / Protected Process Light。这篇文章我就结合 Sysinternals 的视角把这个概念彻底讲清楚。你看完之后至少会搞明白三件事为什么 Windows 要设计受保护进程PP 和 PPL 到底是什么关系当 Sysinternals 工具也“碰壁”时你应该怎么判断、怎么排障。2、为什么会有“受保护进程”这种设计如果只站在“我想排障”的角度看受保护进程确实让人头大但如果站在系统安全的角度看它其实非常合理。2.1 两个典型背景第一类DRM / 媒体保护早期 Windows 为了保护受版权保护的音视频内容需要防止普通进程随意附加调试读内存注入 DLL截获关键播放数据。如果这些操作完全开放那 DRM 机制几乎等于摆设。第二类安全核心组件保护后来这个需求进一步扩展到安全组件比如LSASS反恶意软件进程某些关键系统服务因为一旦恶意程序能轻易读取这些进程的内存、伪造令牌、注入代码那么整个系统安全边界就会被迅速打穿。2.2 一句话理解它的底层逻辑我把它总结成一句最容易记住的话受保护进程的本质不是“功能更强”而是“更不允许别人动它”。也就是说Windows 不再默认认为“管理员就能对所有进程为所欲为”而是加了一层更高级别的防护墙。3、Protected Process 与 Protected Process Light 有什么区别很多人第一次接触这个概念时最容易混淆的就是Protected ProcessPPProtected Process LightPPL它们不是两个完全无关的东西而是同一条防护思路下的两个层级。3.1 Protected ProcessPP这是较早出现的机制主要服务于媒体保护场景。它的特点就是限制非常硬。普通进程基本无法随意附加调试非常受限句柄访问被严格过滤终止、注入、读写内存都非常困难。你可以把它理解为PP “谁都别轻易碰我”的高封闭模式。3.2 Protected Process LightPPL后来 Windows 引入了 PPL把这个思路扩展到安全相关场景。虽然名字里有个 Light但这并不代表它“随便”。它只是意味着规则比 PP 更灵活但仍然远比普通进程严格只有满足特定签名、策略或受信任级别的进程才能对它做更高等级的操作。常见场景中我们更经常碰到的是PPL比如安全产品、防护组件、LSASS 等。3.3 我整理的一张速记表对比项Protected ProcessPPProtected Process LightPPL初始用途DRM / 媒体保护安全核心组件保护典型特点限制极强更灵活但仍严格常见场景媒体保护相关组件LSASS、反恶意软件等管理员可随意调试基本不行多数情况下也不行与 Sysinternals 的交互体验操作明显受限同样常被拒绝压轴总结一句PP 更像“彻底严防死守”PPL 更像“按签名和策略分级放行”。4、受保护进程到底“多了哪几道墙”这一节最关键因为它直接解释了为什么你在工具里会被“拒绝访问”。4.1 句柄访问受限普通情况下我们很多工具的第一步都是OpenProcess获取句柄再基于句柄去读取信息、终止进程、附加调试等但受保护进程会在这一步就“卡住你”。即便你是管理员系统也会过滤掉大量敏感权限例如读内存写内存终止调试注入相关访问这意味着很多工具不是不会而是连“摸到门把手”的资格都没有。4.2 调试和注入受限普通进程出问题时我们常见思路是调试器附加ProcDump 抓转储注入辅助 DLL做 API Hook 观察行为。但对受保护进程而言这些动作大多会被系统直接拒绝。这一点背后的核心目的很明确防止恶意程序借助调试和注入手段篡改安全核心组件或窃取敏感数据。4.3 终止操作受限平时我们觉得“结束进程”是最普通不过的操作。但当对象是 LSASS 这类关键进程时事情就完全不同了。你常见的结果可能是Process Explorer 中 Kill 失败Task Manager 无法结束即便强行动手也可能触发系统保护机制某些情况下甚至会导致系统重启、注销或者安全审计事件。4.4 签名与策略检查受保护进程并不是“谁声明谁就能有”的。它和以下条件密切相关代码签名受信任级别系统安全策略组件角色定位。这也是为什么有些进程“看起来像普通 exe”但行为却明显不同。我个人的理解如果说普通进程是“有门有锁”那么受保护进程就是在原来的门锁之外又焊了一层防爆钢板。5、从 Sysinternals 视角看受保护进程有什么特征这部分是文章最“落地”的地方因为它直接关联到我们平时如何观察系统。5.1 在 Process Explorer 里会看到什么如果你用管理员权限启动 Process Explorer再去看某些关键系统进程你会发现一些很典型的现象某些属性可以看但某些高级操作明显受限某些按钮灰掉某些句柄、内存映射、敏感操作不可访问弹出Access is denied之类提示。这说明Process Explorer 并不是不知道它的存在而是在尊重系统防护边界。5.2 为什么连 ProcDump / 调试器也经常失败很多人第一次尝试抓 LSASS Dump 的时候会有一种错觉“是不是我权限还不够再提升一下就行”实际上很多时候问题不在于“你没提权成功”而在于对方本身就是 PPL普通管理员权限不等于可以绕过保护系统设计就是不允许你随便操作这类对象。所以这里一定要建立一个正确认知工具受限 ≠ 工具不行工具失败 ≠ 你操作有问题很多时候是系统在明确告诉你这里不允许乱动。5.3 建议做的“观察实验”如果你写的是读书笔记类博客我非常建议保留一个“小实验”实验步骤以管理员身份运行 Process Explorer找到lsass.exe等关键系统进程观察其属性页中的基本信息对比普通进程与受保护进程在可操作项上的区别重点感受“看得见但动不了”的这种差异。这个实验的价值很高因为它能帮读者把抽象概念变成直观体验。6、遇到受保护进程排障时应该怎么做这一节我认为非常重要。因为真正成熟的排障思路不是“怎么把它砸开”而是“怎么绕开硬碰硬先把问题搞清楚”。6.1 不要第一时间和它正面硬刚很多人一看到问题进程像是 LSASS、某安全组件就会本能地想能不能强制结束能不能注入能不能抓内存但这往往不是最佳路径。更推荐的思路是先看外围调用者先看客户端行为先看 Procmon 的访问链路先看系统日志、事件查看器先看与它交互的普通进程、文件、注册表、网络行为。换句话说能从外围证据推断就不要一上来就碰核心受保护对象。6.2 区分“工具无能”和“系统有意防护”这是排障心态里特别关键的一点。如果你在 Sysinternals 里碰壁不要立刻下结论说这个工具没用权限还不够系统有 bug。很多时候真正的解释是你碰到的是 Windows 刻意保护起来的关键进程。6.3 企业环境下一定要强调合规这一点尤其适合写进博客里显得专业度很高。像以下行为对 LSASS 抓 Dump对关键安全进程附加对安全组件做注入验证在很多企业环境里都属于高风险操作通常需要明确授权审计留痕合规审批安全边界确认。也就是说“我是管理员”从来都不是随意操作安全核心进程的理由。7、把它和前面几节知识串起来如果你前面已经读过本系列的内容这一节就很好理解了。7.1 受保护进程仍然是“进程”它依然有线程句柄地址空间Token用户态 / 内核态代码Session、完整性级别等属性。所以从系统结构上看它没有“脱离进程范畴”。7.2 真正特殊的是“谁能碰它”受保护进程真正特殊的地方不在于它是不是进程而在于谁能打开它的句柄谁能读它的内存谁能终止它谁能附加调试谁能注入代码。也就是说它是在原有的进程安全边界上额外加了一层策略防护。7.3 我把整条逻辑链重新串一下进程资源和权限边界线程真正执行代码的单位句柄访问对象的凭证用户态 / 内核态代码在哪一层运行应用隔离 / AppContainer普通应用的安全盒子受保护进程在这些基础上再加一层“特殊防护钢板”的进程这也是为什么它会给人一种“连 Sysinternals 都不太好惹”的感觉。8、用一张流程图快速记住排障思路是否疑似受保护进程否是发现目标进程异常是否为普通进程?按常规方式用 Process Explorer / Procmon / ProcDump 排查先识别 PP / PPL 特征不要急于强制终止或附加调试从外围行为入手观察调用者、日志、文件、注册表、网络活动是否需要深入调查?完成问题定位确认企业授权、审计与合规要求在合规框架下进一步分析这个流程图我觉得非常适合放在正文里因为它不是只讲概念而是把“看到现象后应该怎么想”也给梳理出来了。9、本文小结最后我用三句话把这一节彻底收住受保护进程PP / PPL是 Windows 为 DRM 与安全核心组件设计的特殊防护机制它让某些关键进程不再对“任何管理员进程”完全开放。在 Sysinternals 工具视角中受保护进程最明显的表现就是在句柄访问、调试、注入、终止等操作上明显更难接近。排障时真正专业的做法不是强行突破保护而是从外围行为、调用链、日志与系统状态入手在安全与合规边界内理解它。10、写在最后到这里2.7 受保护进程这一节就算真正打通了。如果你以前只是把它当成一个“听起来很高大上但离自己很远”的概念那么现在至少应该能建立起一个比较清晰的认识它为什么存在它保护了什么它为什么会让 Sysinternals 工具也“收敛动作”以及我们在实际排障中应该以什么样的方式面对它。下一节我会继续往下读进入2.8 调用栈Call Stack与符号Symbols。那一节同样非常关键因为很多人虽然在 Process Explorer 里见过堆栈但看它时仍然像在看“乱码”。而当你真正理解了符号和调用栈很多系统问题的定位精度会再提升一个层级。参考原文说明本文内容基于我的读书理解、结构化重写与实战化整理完成适合作为《Windows Internals》 Sysinternals 实战学习笔记阅读与收藏。 返回顶部点击回到顶部
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2558108.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!