论文部分内容阅读
随着信息技术的发展,计算机信息安全问题越来越重要,目前计算机信息安全的威胁已经不仅仅存在于应用软件及网络传输中,已经深入到操作系统层甚至是固件层,基于固件层的攻击具有难以检测、清除困难、攻击性强的特点。UEFI规范的出现使BIOS程序可以用结构化的C语言来编写,解决了传统BIOS存在的发展瓶颈问题,同时也给固件层的安全带来了新的隐患。研究计算机固件的安全,从底层保障计算机的安全,对计算机的安全具有重大意义也是安全领域研究和发展的趋势。本文主要研究计算机固件的安全问题,从攻击者的角度分析计算机固件存在的安全漏洞,并设计基于远程的计算机固件攻击演示系统,本文研究内容与成果包括以下几点:(1)对计算机固件的模块组织结构和工作流程进行分析研究,针对BIOS在操作系统启动后就处于休眠状态,BIOS中的程序操作系统无法直接调用的问题,研究如何利用系统管理模式访问BIOS程序,最终实现获取BIOS映像、将恶意代码植入BIOS和重刷BIOS的功能。(2)研究远程攻击的流程与关键技术,分析目标计算机存在的安全漏洞,并对其进行渗透测,最终选择利用中标麒麟系统中glibc getaddrinfo堆栈缓冲溢出漏洞实现恶意代码的植入。(3)分析恶意代码的工作方式,研究如何通过恶意代码实现远程文件管理、超级终端的功能以及Linux平台下恶意代码如何实现进程隐藏,文件管理模块用于实现固件攻击模块的上传,超级终端用于调用固件攻击模块实现将恶意代码植入固件的功能。本文固件攻击模块利用Intel CPU提供的SMM,在系统管理模式下对BIOS进行操作,通过物理内存的中转获取BIOS映像和重刷BIOS芯片,并将恶意代码写入BIOS的LOGO模块中实现对固件的攻击。