0x00 背景介绍
2017年11月7日,惠普厂商发布安全公告,声称某些版本的Synaptics触摸板驱动程序存在潜在的安全问题,并且影响所有Synaptics OEM合作厂商。
近日,安全研究人员ZwClose发现驱动文件中存在键盘记录(Keylogger)代码,经过360CERT分析确认,该问题确实存在,建议相关用户尽快进行安全更新。
0x01 事件概述
据惠普官方回应,键盘记录代码是在调试阶段使用的,而发布时忘记删除的,键盘记录代码存在触摸板驱动文件SynTP.sys中。安全人员研究发现键盘记录功能默认是被禁用的,但可以通过设置注册表值(需要绕过UAC)来启用。
0x02 事件影响
1. 影响面
影响所有Synaptics OEM合作厂商,受影响的惠普笔记本一共有475个型号,包括303种家用笔记本和172种商用笔记本。
2. 影响版本
受影响的主要型号有HP’s 25, mt**, 15, OMEN, ENVY, Pavilion, Stream, ZBook, EliteBook, ProBook系列。
详见:https://support.hp.com/us-en/document/c05827409
0x03 事件详情
1. 技术细节
在驱动文件SynTP.sys中,通过查找字符串”ScanCode” 可以定位到键盘记录的关键位置。
通过查看引用发现sub_140023C3C为关键记录函数。
全局变量dword_1400DA0A0决定了关键记录函数是否执行,当全局变量值的第二位为1时执行关键函数,但默认全局变量值为3,表明默认不执行键盘记录功能。
通过引用发现sub_14002D69C函数会根据注册表中的数据改变这个全局变量的数值,来决定是否开启键盘记录的功能。
sub_140059C98内部又调用WPP_SF_ss函数,通过调用关系发现WPP_SF_ss内部最终调用WmiTraceMessage。
而WmiTraceMessage函数的功能是将一条消息添加到WPP Software Tracing的输出日志中。
0x04 修复建议
1、360已经针对此事件及时推送了相关补丁请及时更新
2、或者根据惠普官方公告进行下载更新https://support.hp.com/us-en/document/c05827409
0x05 时间线
2017-11-7 官方发布安全更新
2017-12-11 ZwClose在博客中发布分析文章
2017-12-11 360CERT进行分析并发布预警公告