CN114611109A - 一种基于单分类的uefi固件安全审计方法 - Google Patents

一种基于单分类的uefi固件安全审计方法 Download PDF

Info

Publication number
CN114611109A
CN114611109A CN202210010502.7A CN202210010502A CN114611109A CN 114611109 A CN114611109 A CN 114611109A CN 202210010502 A CN202210010502 A CN 202210010502A CN 114611109 A CN114611109 A CN 114611109A
Authority
CN
China
Prior art keywords
firmware
uefi
single classification
uefi firmware
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210010502.7A
Other languages
English (en)
Other versions
CN114611109B (zh
Inventor
刘亮
闵海
吉天昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan University
Original Assignee
Sichuan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan University filed Critical Sichuan University
Priority to CN202210010502.7A priority Critical patent/CN114611109B/zh
Publication of CN114611109A publication Critical patent/CN114611109A/zh
Application granted granted Critical
Publication of CN114611109B publication Critical patent/CN114611109B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于单分类的UEFI固件安全审计方法,包括:固件收集模块、固件预处理模块、模型训练模块、半自动化提取UEFI固件模块和信息展示模块,所述信息收集模块利用爬虫下载各大主板厂商的纯净UEFI固件,所述的固件预处理模块将rom文件转换为灰度图,所述模型训练模块使用SVM单分类算法学习灰度图特征,所述半自动化提取UEFI固件模块半自动提取主机上的UEFI固件,所述信息展示模块利用模型预测所提取固件的安全性并将结果可视化的呈现。本发明为发展欠缺的信息安全领域中的UEFI固件安全审计提出了新的解决方案,解决了病毒样本过少、与正常样本差距悬殊的问题。

Description

一种基于单分类的UEFI固件安全审计方法
技术领域
本发明设计一种基于单分类的UEFI固件安全审计方法。
背景技术
随着计算机系统的广泛应用,信息安全问题越来越受到重视。近年来,由于UEFI新一代BIOS标准的出现,从传统BIOS芯片中的程序使用汇编语言编写,并在出厂的时候由厂商将BIOS程序固化到ROM芯片发展到现在的UEFI BIOS,该BIOS固件不仅从物理容量上得到提升,而且使用可重写的Flash芯片存储程序,并用结构化的C语言来开发BIOS程序,使得BIOS更容易被开发人员了解和进行扩展,同时使得针对 BIOS的攻击也更容易。
一旦计算机固件被攻击,将给计算机带来致命的灾难。
对固件攻击的检测和防护是计算机安全领域待解决的问题。
Core Security Technologies安全公司的Anibal Sacco和ALfredo Ortega在CanSecWest安全会议上展示了他们的最新发现:将一小段代码植入BIOS,轻松就获得了整台电脑的全部控制权,即使重启系统甚至刷新BIOS都无法排除,且与操作系统无关,不管是Windows、Mac OS X、FreeBSE或者VMware Player虚拟机都无法避免。
因此,研究UEFI固件安全审计显得尤为重要。
尽管如此,由于UEFI固件在计算机底层,故在UEFI固件中植入病毒的难度还是比常见的病毒植入难得多,所以UEFI固件病毒样本非常少,进而对病毒样本的研究也十分困难,故目前相关研究成果非常的少。
但由于纯净的UEFI固件(正向)样本很多,故采用单分类方法,可以有效地解决该难点问题。
发明内容
本发明的目的在于克服上述现有的技术不足,提供一种基于单分类的UEFI固件安全审计方法,其旨在解决现有UEFI固件安全审计方案少,病毒样本少的问题。
为实现上述目的,本发明提出了一种基于单分类的UEFI固件安全审计方法,通过对大量纯净UEFI固件样本进行单分类学习,结合启动盘半自动化提取UEFI固件来实现检测电脑自身UEFI固件安全,具体步骤如下:S1、利用爬虫在各大主板厂商官网和UEFI论坛下载纯净UEFI固件文件,文件格式为rom;S2、将rom文件转换为灰度图,因为每个rom文件大小不一,故采用填充的方法,使灰度图大小一致,但是因为最小的rom文件和最大的rom文件大小差距过大,故采用灰度图切片,尾部填充的方法,经过处理后一张图片大小为70000*256;S3、将灰度图读入,并预处理为数组,使用SVM中的OneClassSVM算法对其进行单分类,得到模型;S4、插入制作好的启动盘到电脑的USB接口,使用辅助软件,按提示操作,在进入高级启动界面后点击UEFI Hard Drive按钮,然后静待UEFI固件提取成功,电脑会自动重启并进入系统界面;S5、使用辅助软件,调用训练好的模型预测所提取固件的安全性,并以可视化形式展示预测结果。
步骤S3中所提到的OneClassSVM是经典的单分类算法,这个算法的思路非常简单,就是寻找一个超平面将样本中的正例圈出来,预测就是用这个超平面做决策,在圈内的样本就认为是正样本,也可以采用其他单分类算法,单该方法很具有代表性,故此处使用该方法。
作为优选,所述步骤S4中的启动盘只能在Windows系统下使用,且制作步骤如下:Sa、在/efi/boot路径下准备启动所需的efi文件:bootx64.efi、Shell.efi和Shell_Full.efi;Sb、利用启动盘制作工具rufus来刷写启动盘,将chipsec框架的文件覆盖到U盘根目录;Sc、在U盘根目录新建startup.nsh文件,并向其中写入提取固件的代码。
步骤S4制作启动盘的原因是提取固件需要进入到UEFI Shell环境,并在shell环境里运行指定模块,所以需要搭建一个带有UEFI shell环境的启动盘。
作为优选,所述步骤S4和S5中的辅助软件为python QT编写,其中载入了训练好的模型和一条cmd命令语句,该语句为”shutdown /r /o /f /t 00”,可跳转到高级启动界面。
本发明的有益效果:提出了一种新的UEFI固件安全审计的方法,为发展欠缺的信息安全领域中的UEFI固件安全审计方案库做出了补充,解决了病毒样本过少、与正常样本差距悬殊的问题,并保证了很高的检测成功率,同时还简化了UEFI固件提取的难度,使方案具有普适性。
本发明的特征及优点将通过实施例结合附图进行详细说明。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明实施例一种基于单分类的UEFI固件安全审计方法的流程示意图。
图2是本发明所包含辅助软件的布局图。
具体实施方式
一种基于决策树的变体敏感词识别技术的具体步骤如下:为使本发明的目的、技术方案和优点更加清楚明了,下面通过附图及实施例,对本发明进行进一步详细说明。
但是应该理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
参阅图1,本发明实施例提供一种基于单分类的UEFI固件安全审计方法,通过对大量纯净UEFI固件样本进行单分类学习,结合启动盘半自动化提取UEFI固件来实现检测电脑自身UEFI固件安全,具体步骤如下:S1、利用爬虫在各大主板厂商官网和UEFI论坛下载纯净UEFI固件文件,文件格式为rom。
S2、将rom文件转换为灰度图,因为每个rom文件大小不一,故采用填充的方法,使灰度图大小一致,但是因为最小的rom文件和最大的rom文件大小差距过大,故采用灰度图切片,尾部填充的方法,经过处理后一张图片大小为70000*256。
S3、将灰度图读入,并预处理为数组,使用SVM中的OneClassSVM算法对其进行单分类,得到模型,OneClassSVM是经典的单分类算法,这个算法的思路非常简单,就是寻找一个超平面将样本中的正例圈出来,预测就是用这个超平面做决策,在圈内的样本就认为是正样本,也可以采用其他单分类算法,单该方法很具有代表性,故此处使用该方法。
S4、制作启动盘,该启动盘只能在Windows系统下使用,其步骤如下:Sa、在/efi/boot路径下准备启动所需的efi文件:bootx64.efi、Shell.efi和Shell_Full.efi;Sb、利用启动盘制作工具rufus来刷写启动盘,将chipsec框架的文件覆盖到U盘根目录;Sc、在U盘根目录新建startup.nsh文件,并向其中写入提取固件的代码。
startup.nsh文件的实现代码如下:
@echo Thamks for using, this is UEFISecure helper
if exist fs0:\chipsec_util.py then ;如果盘符下存在chipsec.util.py则执行如下命令
fs0: ;打开fs0盘符
python chipsec_util.py spi read 0x0 0x1100000 firmware.rom ;执行chipsec_util.py读取固件文件,大小为0x1100000并命名为fireware.rom
endif ;结束判断
;后续代码同上
if exist fs1:\chipsec_util.py then
fs1:
python chipsec_util.py spi read 0x0 0x1100000 firmware.rom
endif
if exist fs2:\chipsec_util.py then
fs2:
python chipsec_util.py spi read 0x0 0x1100000 firmware.rom
endif
if exist fs3:\chipsec_util.py then
fs3:
python chipsec_util.py spi read 0x0 0x1100000 firmware.rom
endif
if exist fs4:\chipsec_util.py then
fs4:
python chipsec_util.py spi read 0x0 0x1100000 firmware.rom
endif
if exist fs5:\chipsec_util.py then
fs5:
python chipsec_util.py spi read 0x0 0x1100000 firmware.rom
endif
if exist fs6:\chipsec_util.py then
fs6:
python chipsec_util.py spi read 0x0 0x1100000 firmware.rom
endif
if exist fs7:\chipsec_util.py then
fs7:
python chipsec_util.py spi read 0x0 0x1100000 firmware.rom
endif
if exist fs8:\chipsec_util.py then
fs8:
python chipsec_util.py spi read 0x0 0x1100000 firmware.rom
endif
if exist fs9:\chipsec_util.py then
fs9:
python chipsec_util.py spi read 0x0 0x1100000 firmware.rom
endif
fs0:
exit;退出UEFI Shell,并进入系统界面
:end
插入制作好的启动盘到电脑的USB接口,使用辅助软件,参阅图2软件布局,点击提取固件按钮,按提示操作,在进入高级启动界面后点击UEFI Hard Drive按钮,然后静待UEFI固件提取成功,电脑会自动重启并进入系统界面,其中自动进入高级启动界面的原理是调用cmd命令语句”shutdown /r /o /f /t 00”。
S5、使用辅助软件,参阅图2软件布局,点击病毒检测按钮调用训练好的模型预测所提取固件的安全性,并以可视化形式展示预测结果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换或改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种基于单分类的的UEFI固件安全审计方法,其特征在于:通过单分类对纯净UEFI固件灰度图进行特征学习,然后得到一个预测模型,结合半自动化固件提取,来对主机UEFI固件完成安全审计,达到破解病毒样本过少的尴尬局面,具体步骤如下:
S1、利用爬虫在各大主板厂商官网和UEFI论坛下载纯净UEFI固件文件,文件格式为rom;
S2、将rom文件转换为灰度图,因为每个rom文件大小不一,故采用填充的方法,使灰度图大小一致,但是因为最小的rom文件和最大的rom文件大小差距过大,故采用灰度图切片,尾部填充的方法,经过处理后一张图片大小为70000*256;
S3、将灰度图读入,并预处理为数组,使用SVM中的OneClassSVM算法对其进行单分类,得到模型;
S4、插入制作好的启动盘到电脑的USB接口,使用辅助软件,按提示操作,在进入高级启动界面后点击UEFI Hard Drive按钮,然后静待UEFI固件提取成功,电脑会自动重启并进入系统界面;
S5、使用辅助软件,调用训练好的模型预测所提取固件的安全性,并以可视化形式展示预测结果。
2.如权利要求1所述的一种基于单分类的的UEFI固件安全审计方法,其特征在于:所述步骤S3中的OneClassSVM算法,是一种经典的单分类算法,可替换为其他单分类算法,因其具有代表性,故此处采用该算法。
3.如权利要求1所述的一种基于单分类的的UEFI固件安全审计方法,其特征在于:所述步骤S4中的启动盘只能在Windows系统下使用,且制作步骤如下:
Sa、在/efi/boot路径下准备启动所需的efi文件:bootx64.efi、Shell.efi和Shell_Full.efi;
Sb、利用启动盘制作工具rufus来刷写启动盘,将chipsec框架的文件覆盖到U盘根目录;
Sc、在U盘根目录新建startup.nsh文件,并向其中写入提取固件的代码。
4.如权利要求1所述的一种基于单分类的的UEFI固件安全审计方法,其特征在于:所述步骤S4和S5中的辅助软件为python QT编写,其中载入了训练好的模型和一条cmd命令语句,该语句为”shutdown /r /o /f /t 00”,可跳转到高级启动界面。
CN202210010502.7A 2022-01-06 2022-01-06 一种基于单分类的uefi固件安全审计方法 Active CN114611109B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210010502.7A CN114611109B (zh) 2022-01-06 2022-01-06 一种基于单分类的uefi固件安全审计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210010502.7A CN114611109B (zh) 2022-01-06 2022-01-06 一种基于单分类的uefi固件安全审计方法

Publications (2)

Publication Number Publication Date
CN114611109A true CN114611109A (zh) 2022-06-10
CN114611109B CN114611109B (zh) 2023-07-07

Family

ID=81857967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210010502.7A Active CN114611109B (zh) 2022-01-06 2022-01-06 一种基于单分类的uefi固件安全审计方法

Country Status (1)

Country Link
CN (1) CN114611109B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103207797A (zh) * 2013-03-15 2013-07-17 南京工业大学 基于通用可扩展固件接口固件系统的胶囊式定制更新方法
US20170109531A1 (en) * 2015-10-14 2017-04-20 Quanta Computer Inc. Security management for rack server system
CN106909829A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 适用于龙芯台式计算机的软件安全保护系统及其保护方法
CN109120584A (zh) * 2018-06-19 2019-01-01 上海交通大学 基于UEFI和WinPE的终端安全防范方法及系统
CN110163820A (zh) * 2019-05-07 2019-08-23 平顶山学院 一种医学图像调整方法及数字病理切片浏览系统
CN112800429A (zh) * 2021-01-28 2021-05-14 北京工业大学 一种基于基础性的uefi bios固件系统中驱动程序保护的方法
CN113221115A (zh) * 2021-07-09 2021-08-06 四川大学 基于协同学习的可视化恶意软件检测方法
CN113766343A (zh) * 2020-06-01 2021-12-07 辉达公司 使用一个或更多个神经网络进行视频合成

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103207797A (zh) * 2013-03-15 2013-07-17 南京工业大学 基于通用可扩展固件接口固件系统的胶囊式定制更新方法
US20170109531A1 (en) * 2015-10-14 2017-04-20 Quanta Computer Inc. Security management for rack server system
CN106909829A (zh) * 2015-12-22 2017-06-30 中电科技(北京)有限公司 适用于龙芯台式计算机的软件安全保护系统及其保护方法
CN109120584A (zh) * 2018-06-19 2019-01-01 上海交通大学 基于UEFI和WinPE的终端安全防范方法及系统
CN110163820A (zh) * 2019-05-07 2019-08-23 平顶山学院 一种医学图像调整方法及数字病理切片浏览系统
CN113766343A (zh) * 2020-06-01 2021-12-07 辉达公司 使用一个或更多个神经网络进行视频合成
CN112800429A (zh) * 2021-01-28 2021-05-14 北京工业大学 一种基于基础性的uefi bios固件系统中驱动程序保护的方法
CN113221115A (zh) * 2021-07-09 2021-08-06 四川大学 基于协同学习的可视化恶意软件检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YANYANG GU等: "UEFI Trusted Computing Vulnerability Analysis Based on State Transition Graph", pages 1 - 10 *
周振柳等: "基于动态安全属性保护的可信固件", vol. 37, no. 37, pages 137 - 139 *
孙亮等: "基于UEFI固件的攻击验证技术研究", pages 89 - 93 *

Also Published As

Publication number Publication date
CN114611109B (zh) 2023-07-07

Similar Documents

Publication Publication Date Title
KR102244417B1 (ko) 위험 주소 식별 방법, 장치 및 전자 디바이스
CN108537292B (zh) 语义分割网络训练方法、图像语义分割方法及装置
US7322029B2 (en) Method and system for recovering program code in a computer system
US10845939B2 (en) Method and system for determining user interface usage
US20110222775A1 (en) Image attribute discrimination apparatus, attribute discrimination support apparatus, image attribute discrimination method, attribute discrimination support apparatus controlling method, and control program
CN110276351B (zh) 多语言场景文本检测与识别方法
CN104067294A (zh) 字符读取装置和字符读取方法
US9983987B2 (en) Method, apparatus, and device for locating a software failure
US10438097B2 (en) Recognition device, recognition method, and computer program product
CN114330503A (zh) 一种烟雾火焰识别方法和装置
CN114611109B (zh) 一种基于单分类的uefi固件安全审计方法
Hu et al. TCATD: text contour attention for scene text detection
CN102184115B (zh) 升级系统软件的方法及终端设备
CN113836985A (zh) 图像处理装置、图像处理方法和计算机可读存储介质
CN115659340B (zh) 一种仿冒小程序识别方法、装置、存储介质及电子设备
CN112463778B (zh) 基于大数据和应用程序的信息处理方法及大数据服务器
CN107506141B (zh) 一种存储系统对卷组状态自动判断和激活的方法及系统
CN100405322C (zh) 利用usb随身碟启动作业系统及进行测试的方法
US20230036812A1 (en) Text Line Detection
JPH11327030A (ja) カメラ制御装置及び方法並びに記憶媒体
US20040088533A1 (en) Method of configuring a virtual FD drive in computer by means of flash memory
KR102232797B1 (ko) 객체 식별 장치, 그 방법 및 컴퓨터 프로그램이 기록된 기록매체
CN110119506B (zh) 文本提取方法及系统、设备和存储介质
CN107066345A (zh) 一种基于硬盘间隙的数据恢复和备份方法
US20040088532A1 (en) Method of configuring a virtual FD drive in computer by means of SRAM

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant