内核态音频驱动恶意软件是一种高度隐蔽的间谍工具,它伪装成合法的.sys驱动文件,加载到Windows内核后直接hook麦克风相关API,实现无声环境录音并外传数据。这种威胁绕过用户态监控,无明显进程指标,特别适合APT攻击。
典型攻击始于驱动加载,通常通过漏洞利用或供应链污染(如伪造签名驱动)注入系统。逆向分析此类恶意软件,首先使用WinDbg附加到内核,设置断点于驱动入口如DriverEntry,观察IRP_MJ_DEVICE_CONTROL分发函数。恶意驱动常针对portcls.sys或ks.sys中的麦克风设备栈,hook WaveInOpen或KsProperty_WaveIn_xxx IRP,拦截录音请求而不触发用户可见LED灯或权限提示。
例如,在hook函数中,恶意代码可修改采样参数为8kHz/16bit单声道,降低CPU占用至<1%,并缓冲数据至内核内存池,避免频繁磁盘I/O。录音数据经RC4或AES加密后,通过C2通道外传:优先DNS隧道(TXT记录,每5min上报1KB),fallback至ICMP或HTTP POST(User-Agent伪装浏览器)。这种设计确保无网络流量异常,exfil速率控制在10KB/s内。
防护需从加载阶段入手:启用Early Launch Anti-Malware (ELAM),配置AM SI策略拒绝无微软签名驱动;监控事件日志Event ID 7045(新服务/驱动),阈值:1min内>2次加载即警报。检测脚本示例(PowerShell):
Get-WinEvent -FilterHashtable @{LogName='System'; ID=7045} -MaxEvents 100 | Where-Object {$_.Message -match '\.sys.*audio|mic'} | Select TimeCreated, Message
缓解清单:
- 禁用非必要麦克风设备:设备管理器→音频输入→禁用未知驱动。
- 部署内核CB/ETW监控:Sysmon规则hook IRP_MJ_DEVICE_CONTROL on audio devices,阈值SNR>20dB异常录音触发。
- 定期扫描驱动签名:
sigcheck -tvu C:\Windows\System32\drivers\*.sys,移除过期/自签。
- 网络层:Wireshark过滤mic数据指纹(熵>7.5),阻断高熵UDP/53端口。
- 回滚策略:隔离后bsod重启,加载干净镜像恢复。
实际案例中,类似HP Conexant驱动(CVE-2017-8360)虽为keylogger,但暴露音频驱动易滥用风险。“瑞士Modzero研究员发现,Conexant驱动调试功能记录按键至公共日志。”另一研究显示,Realtek芯片可逆转耳机扬声器为mic,录制20英尺内对话。
逆向工具链:IDA Pro加载.sys(Base=ntoskrnl.exe),FLAIR签名训练内核函数;Ghidra分析IRP表;Volatility内存取证扫描hooked SSDT。参数优化:hook深度<3层栈,避免蓝屏;C2心跳间隔>300s。
部署SIEM规则:内核异常+mic API调用+低速外传,即高危告警。企业可自定义AM驱动预载黑名单,阈值匹配率>80%阻载。
资料来源:Twitter @officialwhyte22逆向分享;HP Conexant案例分析;Realtek耳机窃听研究。