ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

在线监考如何检测后台程序?PSI Secure Browser白名单机制解析

在线监考如何检测后台程序?PSI Secure Browser白名单机制解析 先讲一个我最近处理的真实案例。有位考生在远程考试中挂了一台远程协助工具监考系统当场标记为高风险成绩进入复核流程。考生很委屈说那软件是过去办公留下的开机自启自己全程没碰过。但在监考系统的白名单模型里“开着没用”和“正在使用”没法区分只要进程存在就代表考试终端脱离了受控范围。这个案例是理解PSI Secure Browser后台程序检测的入口它不判断主观意图只判断执行状态。围绕“隐藏后台程序绕过检测”这类说法网上信息确实不少但真正长期做在线考试平台部署和维护的人都知道这些思路大多只停留在纸面落到真实考场环境里几乎走不通。这篇文章我不打算教任何人钻空子也不提供任何违规操作步骤而是把三件事讲清楚监考终端到底在检测什么、这种检测依赖哪些底层机制、以及考试机构和考生各自应该怎么做。无论你是负责考试系统运维的技术人员还是准备参加在线机考的考生读完之后能建立一套正确的认知框架远比研究那些不靠谱的“隐藏技巧”有用。1. 监考环境中的“后台程序检测”到底在解决什么问题1.1 考试终端从普通电脑变成受限工作站在线考试和线下考试最大的区别是维持考场秩序的主体从真人监考员变成了一段运行在考生电脑上的客户端程序。线下考场有教室、有监考老师、有金属探测器考生带不了东西线上考场只剩一台电脑加一个摄像头。为了让考试条件尽量接近线下监考软件必须把考生的电脑临时改造成一台“只能执行考试动作的专用终端”。可普通电脑的天职是“生产力工具”。上面有浏览器、聊天软件、网盘、远程协助、截图工具、输入法、杀毒软件还有各种开机自启和自动更新随时可能弹窗、切屏、连接外部网络。这些东西在平时是效率助手在考场上就是风险源。PSI Secure Browser这类监考浏览器采取的方式不是建一个“作弊软件黑名单”去逐个识别而是把所有可执行程序拉进一个“白名单”。只有白名单里的进程被允许运行白名单之外的一切无论用途是正当还是不正当统统计入异常行为。“白名单模型”这四个字是整个话题的根基。很多考生不理解反复强调“我这个软件是正常的”“我只是挂着没有使用”。但在监考系统眼里程序不是用来打分的状态才是用来打分的。一个正常但未被授权的程序和一个真正的作弊工具在“脱离了白名单管控”这件事上没有任何区别。1.2 什么叫“后台程序违规”白名单的核心逻辑针对“后台程序”这个概念可以拆成两层来看。第一层是“后台”指用户没有主动操作它。比如某会议软件开机自启考生进入考试系统后它就一直缩在托盘里全程没弹出过一个窗口。考生觉得冤枉我根本没用它啊。但从状态检测角度这个进程一直在运行、一直在消耗系统资源甚至可能接收远程控制指令考试终端从一开始就没有进入纯净状态。第二层是“后台”指程序本身没有可见界面。很多工具类软件为了保持运行会把主窗口隐藏起来退到系统托盘或者以服务方式在后台常驻。这类程序在任务管理器里能看到名字但在普通用户的视角里完全感受不到存在。对监考系统来说这种“隐形活动”反而更需要关注因为窗口隐藏本身就是回避监考的一种典型行为模式。所以“后台程序违规”本质上不是一个恶意软件问题而是一个状态问题。系统只负责回答一个问题当前运行的进程是否全部属于白名单不属于就告警。就这么简单。1.3 为什么说研究“绕过检测”是高风险低收益的技术路线很多人在看到这类题目时会有一种错觉只要能躲过前台的进程扫描后面就万事大吉了。这种想法把远程监考的复杂度想得太低了。监考系统给考生展示的只是一个小小的浏览器窗口但在服务端它关联着身份认证、设备指纹、屏幕录制、日志回传、风险告警。真正的裁判不是那一个客户端进程而是考试机构的监考后台以及后台背后的人工审核流程。攻击者以为自己在和一台电脑上的某段代码博弈实际上是在和一个包含“历史记录、屏幕画面、网络状态、行为轨迹”的证据链博弈。退一步说即便某种方法在技术上真的能躲过一次扫描这种行为本身也已经违反了考场规则。在正规考试里成绩可以被取消、考试资格可以被冻结、诚信档案会留下记录。为了一个未知的收益去赌这种确定性很高的风险纯属把路走窄了。这也是我始终坚持只讲原理、不讲操作细节的原因那些细节真的帮不了你反而会把你带进坑里。2. PSI Secure Browser的检测技术栈从进程到行为的完整链路2.1 进程与模块枚举第一道闸门的工作方式监考客户端最基础、也是最可靠的一道检测是对操作系统进程列表的持续枚举。在Windows环境中可供调用的接口很多用户态API可以列出当前所有进程的PID和名称更严格的实现还会读取进程对应的可执行文件路径、数字签名、父进程信息以及进程加载的DLL模块清单。注意这里有一个关键差异如果只比对“进程名”那改名确实有一定迷惑性但如果比对了“完整路径”和“数字签名”改名就没有意义了。进程名可以改成psibrowser.exe但它的可执行文件路径不会落在白名单目录下数字签名也模拟不了。而且监考客户端的扫描不是只在考试开始时跑一次而是以固定周期持续进行。很多“等检测过了再启动程序”的设想在持续扫描面前不堪一击。进程模块清单同样不能忽略。有些程序会把自己的功能拆成DLL注入到合法的白名单进程里运行这种方式的本质是让信任的宿主去执行未信任的代码。监考客户端在检查时不光看进程本身还会校验它加载的模块是否在可信范围内。哪怕宿主进程是放行的多出来的DLL一样会被抓到。2.2 窗口焦点、输入钩子与剪贴板监控白名单之外的另一只眼睛即便某个程序真的走运躲过了进程快照它在用户操作层面也藏不住。监考系统之所以叫“Secure Browser”核心特征之一就是锁定桌面焦点。客户端会持续检查当前处于前台的活动窗口是不是自己一旦发现用户切换到了其他窗口就会记录一次“焦点离开”事件。这个事件的时间戳、持续时长、目标窗口标题全部会被保存。为什么这次要看“焦点”因为真正有效的作弊动作——翻资料、切软件、看笔记——几乎都伴随着窗口切换。你不可能在监考浏览器里输入那些内容必须切到别的应用去复制或查看。一个考生如果在考试期间反复切换到记事本、浏览器或聊天窗口行为特征本身就异常。焦点事件就是把这个异常固定下来的工具。除了焦点检测输入钩子也在正常工作。监考客户端会监听键盘事件序列、剪贴板访问行为甚至检测系统里是否有其他程序注册了全局级键盘钩子。剪贴板监控是用来发现大段文本搬运的典型手段虽然它不会自动判定你作弊但会记录下“疑似复制动作”供后台分析。你可以想象一套完整的检测不只看你“打开了什么”还会看你在那些窗口里“做了什么”。2.3 屏幕录制与行为日志考试后的复查证据进程扫描和焦点监控解决的是“实时发现”屏幕录制解决的是“事后追溯”。不少监考客户端在考试过程中会以固定频率抓取屏幕画面甚至录制成连续的屏幕视频流。这些素材平时不直接参与实时判定但在考试结束后监考人员可以逐帧回放观察考生屏幕上到底出现过什么。这一条对于“隐藏后台程序”的防范特别有效。有些程序在进程表里伪装得很好但只要它的画面或弹窗在屏幕上出现了哪怕一秒录屏就会拍到。更有价值的应用场景是锁定“线下资料”屏幕录制配合摄像头画面可以还原考生是否低头看手机、是否在桌面下翻纸质资料、是否有第二块屏幕在播放内容。这些行为完全不在“进程检测”的覆盖范围内但因为屏幕和摄像头画面是连续的几乎无处遁形。行为日志则是把这些零散信号串成一条线的粘合剂。日志会记录用户按下哪些按键、系统何时失去焦点、哪个进程何时启动和退出、网络连接在何时中断和恢复。当监考人员打开一份异常成绩单时看到的不是几个孤立的告警而是按时间线排列的完整行为轨迹。2.4 系统快照与服务端联动检测信息如何形成证据链客户端采集到的信息不会永远留在考生电脑上。考试结束时监考客户端会打包上传一整套数据包括进程快照、焦点日志、屏幕录像、系统配置快照、网络状态记录有时还包含考试期间的所有第三方软件安装记录。服务端拿到这些数据后会按照预置规则计算风险评分。注意“系统快照”这个东西。它除了记录软件信息还会记录硬件指纹、显示器数量、系统时间、MAC地址等。这意味着即使考生换了电脑、改了机器名、调了时间后台也能识别出同一人的多次尝试痕迹。系统时间篡改更是高危信号因为监考协议依赖时间轴对齐改时间几乎等于向系统高喊“我在作弊”。从这里可以看出PSI Secure Browser的检测并不是“一个功能”在单打独斗而是一整套从终端采集、到服务端汇聚、再到人工复核的流水线。它给出的不是某个瞬间的判断而是一条完整的证据链。这里放一张汇总表方便对比各个检测维度的观察对象和证据形态。检测维度观察对象典型证据形态进程枚举进程名、路径、签名、父进程、加载模块违规进程快照窗口焦点当前活动窗口、切换次数、停留时长焦点离开事件输入钩子键盘序列、剪贴板变化、全局钩子注册按键与复制行为日志屏幕快照/录屏屏幕画面流、显示器数量、窗口画面残留视频截图系统快照硬件指纹、系统时间、网络状态、安装记录离线记录、设备信息人工复核摄像头画面、屏幕录像、日志时间线对齐监考评审结论3. 常见“绕过思路”为什么在真实考场频频失效3.1 改名、隐藏窗口、修改注册表这类“轻量伪装”市面上流传的很多方法本质上是在和“任务管理器视角”较劲而不是和监考系统较劲。比如给程序改名、去掉窗口标题、把进程的主窗口设为隐藏、修改注册表让程序不出现在某些列表里。这些操作也许能骗过肉眼偶尔看两眼的人但在监考客户端的路径校验、签名校验、多周期扫描面前基本没有作用。你要理解一件事监考客户端的白名单不是一串“允许运行的程序名字”而是一组“受信任的可执行文件路径 数字签名 模块清单”。第三方程序存在的意义是它必须被安装在某个目录、必须带自己的签名、必须加载自己的DLL。要让它变得和白名单一模一样等于要重写整个软件的签名和发行机制那已经不是“隐藏”而是重新开发一套软件了。另外隐藏窗口本身就是一个高危行为特征。正常软件在考试期间如果产生窗口说明它干扰了考试环境不正常软件如果刻意隐藏窗口说明它在主动规避监考。无论哪一种监考日志里都会有详细记录。这类思路的性价比低到几乎为零。3.2 驱动级对抗和注入式方案操作门槛与风险不成比例比“轻量伪装”更进一步的是系统层面的对抗。有人会想到用内核驱动隐藏进程、用调试器挂钩系统API、用反射注入把代码塞进白名单进程。这类方案在安全研究圈子里确实存在听起来也很“硬核”但在考场环境里落地几乎属于自杀式冒险。首先安装内核驱动需要管理员权限。正规考试机构通常会给考试终端配置独立普通账号从账号权限层面掐断了驱动安装的可能。就算你用自己的管理员账号装了驱动监考客户端本身也会检测系统里是否出现新的驱动服务、是否有调试器进程在运行、是否有非授权的高权限可执行文件被加载。其次这类操作极不稳定。考试过程中一旦蓝屏、驱动崩溃、系统进程被注入搞坏客户端就会异常退出。而一次异常退出意味着什么所有未上传的日志会在重连后补传监考后台会多一个“考试中断”事件成绩直接进入高风险人工复核流程。你说这是“技术探讨”在监考规则眼里这就是一次确凿的考场事故。3.3 网络侧监控和双机位复核很多尝试最终栽在事后追溯有一个很少被普通人关注到的点监考不只是看本机还会看网络。监考客户端在考试期间会维持与服务端的加密长连接后台能看到连接中断时长、重连次数、出口IP变化。如果你试图通过断网来阻断数据上传服务端看到的是“考试终端脱离了监管视野”。脱离监管视野本身就是一个足以触发成绩作废的信号。更不要提现在不少考试已经采用双机位方案。第一机位是考生正面的电脑摄像头第二机位是侧后方手机用来拍手部动作、屏幕反光和桌面区域。AI算法可以识别考生视线是否长时间离开屏幕、是否频繁低头、是否有第二个亮屏设备进入画面。任何进程级的伪装在这些画面证据面前都显得没有意义。人工复核时监考员会把进程日志、屏幕录像、双机位画面放在一起逐秒对齐。哪怕只有一个可疑的瞬间也足够让整场考试陷入风险。所以我说“绕过思路”在真实考场里会失效不是因为这些思路在理论上绝对做不出来而是因为在线监考的检测体系是多层、多源、跨时间的。你能骗过其中一两层骗不过所有层你能撑过考试中的几十分钟撑不过考试后台的逐帧复盘。4. 监考机构如何加固配置压缩违规空间4.1 考前环境勘查先把考试机变成“已知状态”很多监考事故根子不在考生而在考试机构自己。最常见的操作习惯是技术老师在办公室的电脑上装好监考客户端测试一遍流程没问题就默认所有考生电脑都能顺利跑起来。结果到了考试当天考生的电脑上各种软件开机自启、杀毒软件弹出授权框、系统更新倒计时重启、远程协助工具静默运行全乱成一锅粥。正确的做法是考前环境勘查。机构应该要求考生提前在“自己这场考试实际要用的那台电脑”上完成环境测试。测试内容包括但不限于监考客户端能否正常启动并获取摄像头/麦克风权限、系统是否有未完成的重启挂起、白名单外程序是否有自动启动项、杀毒软件是否会对客户端误报、外接屏幕有没有断开。这些细节看起来琐碎却是决定整场考试稳定性的基础。4.2 最小化白名单与系统权限的设计白名单的原则是“越少越好”。一个考试项目如果白名单里塞了办公软件、通讯软件、甚至部分开发工具那这个白名单本身就失去了意义。理想状态下白名单应该只包含监考客户端本身、输入法必要的组件、系统运行所必需的进程以及考试页面依赖的浏览器插件。系统权限也要同步收口。推荐的做法是为考试创建独立的本机账户禁止该账户安装软件启用软件限制策略或应用白名单策略作为第二道闸门关闭远程桌面服务删除或禁用远程协助类软件暂停系统自动更新避免考试过程中突然开始下载更新包把屏幕保护程序和锁屏等待时间设置为从不触发。这些系统级措施不需要动监考客户端本身就能大幅压缩违规空间。4.3 双机位、屏幕录制与告警处置规则双机位已经成为在线考试的主流配置考试机构要把它当作正式要求来做而不是可选项。第二机位的摆放规范要明确说清楚位置在考生的侧后方镜头能拍到桌面、双手和主屏幕手机要设成飞行模式或勿扰模式防止来电弹窗干扰考试手机需要全程录像或接入监考平台不能中途关闭。告警处置也不能只看实时弹窗。机构应该在后台设定分级规则比如远程控制软件运行属于高风险立即触发人工介入窗口焦点切换属于中风险记录后由候考区监考员二轮判断屏幕录制冲突属于中风险需要考前提前排查。最重要的是要建立“每场考试结束后的告警复盘机制”。一场考试下来会产生大量零散告警如果不复盘、不总结、不优化规则下一场考试还会踩同样的坑。4.4 模拟考试的真正价值让问题暴露在正式考试之前我反复跟合作机构强调的一句话是模拟考试不是用来走流程的是用来逼出问题的。模拟考试时发现某个考生电脑弹出了陌生软件、某个系统组件被误判、某个输入法导致焦点异常这些都是好事说明问题暴露在了可控的时段。等到了正式考场再暴露代价就完全不同了。模拟考试要刻意做几件事模拟网络中断再恢复观察客户端能否重新连接模拟系统重启后再次进入考试检查自启动程序是否干扰白名单模拟后台弹窗消息测试考生是否能在不切换窗口的情况下处理模拟摄像头被占用看客户端是否呈现清晰的报错。把这些场景提前试过一遍正式考试时的意外会少掉一大半。5. 考生合规备考哪些常见操作容易被误判为异常5.1 考试前务必要关闭的软件类型我从实际接触到的风险日志里总结了几类高频触发点供考生自查。远程协助类向日葵、ToDesk、TeamViewer、Windows自带的远程桌面等高危中的高危。这类软件本身就是监考系统最敏感的观察对象无论是否在使用都建议卸载或彻底退出。即时通讯类微信、QQ、钉钉、飞书等。就算你不发消息它们的弹窗也可能让窗口焦点发生瞬移而焦点离开事件会被记录。云盘和笔记类OneDrive、百度网盘、有道云笔记、印象笔记、各种剪贴板增强工具。这类软件容易在后台同步文件、弹更新提示剪贴板工具还会和监考的剪贴板监控产生冲突。截图和录屏类Snipaste、QQ截图、Bandicam等。监考系统会把这些视为可获取试题画面的敏感工具如果白名单未包含很容易被标记。系统加速与弹窗工具各种“电脑管家”类型的软件可能在考试期间弹窗提示加速、清理、网络诊断任何多余弹窗都可能被计为一次焦点切离。建议的做法是考试开始前重启电脑重启后手动检查一遍托盘区域和任务管理器把不在白名单内的进程全部结束再启动监考客户端。不要依赖“退出软件”这个动作很多软件退出到托盘后进程仍然在运行。5.2 摄像头、麦克风和拓展屏幕的踩坑点摄像头和麦克风授权是一个隐藏的坑。监考客户端在首次启动时会请求系统权限考生如果在那次弹窗时点了拒绝后面再想授权就需要进入系统设置手动开启。问题在于很多监考软件在考试过程中不允许切换窗口去操作设置等于把自己卡死在权限闭环里。因此考前测试阶段一定要把摄像头和麦克风权限完整跑通确认灯亮、画面正常、声音可录。外接屏幕同样要提前处理。一台笔记本外接了一台显示器在人眼看来只是画面更大但在监考的显示环境检测里这就是“多屏设备”可能触发高危告警。考试开始前把外接屏幕拔掉或者直接只用笔记本内置屏幕这是成本最低也最稳妥的办法。5.3 遇到断网、闪退时的合规处理流程考试中遇到技术问题很多人的第一反应是去点别的软件、找网上攻略、或者尝试自己修复。但请注意这些动作在监考日志里都会变成“窗口焦点离开”“运行了非白名单进程”。哪怕你的本意是好的日志是冰冷的考官不会为你的心理活动作证。合规的处理路径是这样。第一步如果只是网络抖动等待监考客户端自动重连不要手动退出软件第二步如果客户端一直无响应尝试用系统自带的重启功能重启电脑然后重新进入考试系统第三步如果客户端提示异常退出直接通过考务电话或在线支持联系监考机构说明情况并请求重新进入第四步保留好截图、录屏和系统日志后面申诉时这些是关键证据。不管遇到什么问题都不要试图用另一台电脑查资料、不要用手机拍照搜题、不要向别的考生求助。这些行为的过程会被摄像头和屏幕录制完整保存一旦出现在日志里原本合理的“技术故障”也会被重新解读为“疑似作弊”。6. 一点个人经验真正能兜底的永远是环境整理我做了几年在线监考的技术保障最深的体会是出问题的往往不是想钻空子的人而是对监考机制完全没概念的人。有人因为杀毒软件弹了一个授权框就导致考试中断有人因为在考试界面外停留了几秒钟被标记风险回头来问“我又没作弊为什么这样对我”。每次听到这种问题我都要把“白名单模型”和“证据链”的概念重新讲一遍。听懂了的人基本不会再踩第二次坑听不懂的人总会反复栽在同一个地方。顺便说一个我踩过的坑有一场考试机构为了“方便考生”在白名单里放了一个文件解压工具本意是让考生解压考试资料。结果等考试结束后复盘日志发现有好几个考生用这个解压工具打开了来路不明的压缩包里面到底装着什么日志根本说不清楚成绩全部进了人工复核。从那以后我的建议就一句话白名单里少放一个功能就少一个风险敞口考试环境越枯燥考试结果越干净。如果你正在为一场在线考试做准备最好的技术动作不是去研究怎么隐藏程序而是把考试机的环境清理到一个可以现场展示给监考员看的程度。把该退出的软件退干净把该拔掉的屏幕拔掉把该测试的摄像头和麦克风测一遍用一次完整的模拟考试给自己兜底。能做到这一点比你研究任何花活都有用。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进