CN107301348B - 一种检测mbr内容合理性的算法 - Google Patents
一种检测mbr内容合理性的算法 Download PDFInfo
- Publication number
- CN107301348B CN107301348B CN201710358948.8A CN201710358948A CN107301348B CN 107301348 B CN107301348 B CN 107301348B CN 201710358948 A CN201710358948 A CN 201710358948A CN 107301348 B CN107301348 B CN 107301348B
- Authority
- CN
- China
- Prior art keywords
- mbr
- boot
- content
- detecting
- algorithm
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Abstract
本发明涉及系统检测方法,特别涉及一种检测MBR内容合理性的算法。该检测MBR内容合理性的算法采集Legacy模式下不同操作系统的启动分区的启动代码样片,形成MBR样码模式库并编译集成到firmware里,在pre‑os阶段,firmware将控制权交到OS的启动代码前,读出启动设备的启动分区内容,使用特征提取算法将启动分区内容跟MBR样码模式库进行比对检测,如果检测通过直接启动,如果不通过,修复或者给出诊断信息输出到控制台。本发明提出了pre‑os阶段firmware通过对比算法检测启动设备的MBR启动扇区的内容后反馈给用户修复或者提供有价值的诊断信息的算法框架。
Description
技术领域
本发明涉及系统检测方法,特别涉及一种检测MBR内容合理性的算法。
背景技术
在日常使用过程中,系统被恶意篡改启动扇区的程序或者代码,会导致操作系统启动失败,而对于非专业用户来说,会误以为系统被破坏了需要重新安装操作系统,这就给用户造成不必要的时间和经济上的损失。
发明内容
本发明提供一种检测MBR内容合理性的算法,旨在提供给用户有价值的系统诊断信息的算法框架。
本发明提供一种检测MBR内容合理性的算法,其特征在于,采集Legacy模式下不同操作系统的启动分区的启动代码样片,形成MBR样码模式库并编译集成到firmware里,在pre-os阶段,firmware将控制权交到OS的启动代码前,读出启动设备的启动分区内容,使用特征提取算法将启动分区内容跟MBR样码模式库进行比对检测,如果检测通过直接启动,如果不通过,修复或者给出诊断信息输出到控制台。
作为本发明的进一步改进,所述操作系统为Linux或Windows或FreeBSD。
作为本发明的进一步改进,该算法包括以下步骤:
S1. 读入MBR内容;
S2. 提取特征信息;
S3. 在MBR样码库中使用特征判定,若检测到GPT类型的分区,则正常启动;若检测到MBR类型的分区,则输出匹配,并执行S4;
S4. 对比检测Boot Code,若检测一致则正常启动OS,若检测不一致,则执行S5;
S5. 提示是否修复MBR,如果选择修复MBR,将匹配标准的MBR内容写回当前启动设备;如果选择不修复MBR,打印输出相关重要信息或者操作。
作为本发明的进一步改进,所述步骤S1具体为:
在BIOS将控制权交给OS之前,即在读取到MBR,拷贝到0000:7c00的内存,并跳到指定地址之前,读取磁盘的MBR内容。
作为本发明的进一步改进,所述步骤S2具体为:
解析512字节大小的MBR的内容,提取相关的特征:字串特征、位置特征、模式特征。
作为本发明的进一步改进,所述步骤S3具体包括:
使用S2中提取到的特征信息,在MBR样码库中做比对,如果检测到是GPT类型的分区,则使用UEFI模式来正常启动,不做处理;如果检测到匹配的MBR类型,该MBR类型对应了操作系统的类型,版本信息和启动代码区块,则输出该MBR类型。
作为本发明的进一步改进,所述步骤S4具体包括:
将读到MBR里的Boot Code启动代码区块和匹配的MBR类型的启动代码区块做对比,检测是否和匹配标准的MBR类型一致,若检测一致,直接拷贝MBR到0:7c00的内存,跳入此地址正常启动;若检测不一致,则执行S5。
作为本发明的进一步改进,所述步骤S5具体包括:
提示是否修复MBR,如果选择修复MBR,则修复Disk MBR,跳到0:7c00,控制权交给MBR启动OS;如果选择不修复MBR,输出检测信息,提示重启操作。
本发明的有益效果是:针对现有技术碰到启动异常的问题,提出了pre-os 阶段firmware通过对比算法检测启动设备的MBR启动扇区的内容后反馈给用户修复或者提供有价值的诊断信息的算法框架。
附图说明
图1是本发明一种检测MBR内容合理性的算法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
实施例一:
本检测MBR内容合理性的算法采用的技术方案是采集Legacy模式下不同操作系统的启动分区的启动代码样片(Linux/Windows/FreeBSD),形成MBR样码模式库编译集成到firmware文件的main block区,在pre-os阶段,firmware将控制权交到OS的启动代码前,读出启动设备的启动分区内容,使用特征提取算法将这些内容跟模式库进行比对检测,检测通过后直接启动,如果不通过,修复或者给出诊断信息输出到控制台。
如图1所示,本检测MBR内容合理性的算法包括以下步骤:
S1. 读入MBR内容;
S2. 提取特征信息;
S3. 在MBR样码库中使用特征判定,若检测到GPT类型的分区,则正常启动;若检测到MBR类型的分区,则输出匹配,并执行S4;
S4. 对比检测Boot Code,若检测一致则正常启动OS,若检测不一致,则执行S5;
S5. 提示是否修复MBR,如果选择修复MBR,将匹配标准的MBR内容写回当前启动设备;如果选择不修复MBR,打印输出相关重要信息或者操作。
实施例二:
在实施例一的基础上,步骤S1读入MBR内容:在BIOS将控制权交给OS之前,也就是在读取到MBR并拷贝到0000:7c00的内存,并跳到指定地址之前,读取现在磁盘的MBR内容。
S2. 提取特征信息:解析512字节大小的MBR的内容,提取相关的特征:
字串特征:Invalid partition table/Error loading operation system/Missing operation system跟windows相关的,而Grub 跟linux相关等等。
位置特征:windows的mrb里Invalid partition table在mbr的offset位置特征在mbr的样码库里可以查询到此mbr属于哪个版本mbr,比如,win7/8的位置从0x163开始而winxp/2000的位置从0x12c开始。
模式特征:UEFI模式的MBR带有EFI PART的字串ID ,而legacy模式的MBR是没有的。
步骤S3具体为:在MBR样码库里使用特征判定,使用上一个流程中提取到的特征信息,在MBR样码库中做比对,样码库里涵盖了现已发行主流的操作系统所对应的MBR标准样本。
GPT类型用EFI PART签名的区段,如果检测到是GPT类型的分区,也就是说使用UEFI模式来启动,这时正常启动,不做处理。经过在样码库中的对比后,找到匹配的MBR类型,这种类型对应了操作系统的类型,版本信息和启动代码区块。
步骤S4为:将现读到mbr里的boot code 启动代码区块和匹配的mbr类型的启动代码区块做对比,检测是否和匹配标准的mbr类型一致。
检测一致后,说明现有启动代码没有问题,直接拷贝mbr到0:7c00的内存,跳入此地址正常启动。
检测不一致,则执行步骤S5:提示用户是否修复磁盘的MBR;如果选择修复MBR,就将匹配标准的MBR内容写回当前启动设备;如果选择不修复MBR,就打印输出相关重要信息或者操作。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (3)
1.一种检测MBR内容合理性的算法,其特征在于,采集Legacy模式下不同操作系统的启动分区的启动代码样片,形成MBR样码库,在pre-os阶段,firmware将控制权交到OS的启动代码前,读出启动设备的启动分区内容,使用特征提取算法将启动分区内容跟MBR样码库进行比对检测,如果检测通过直接启动,如果不通过,修复或者给出诊断信息输出到控制台;
其中,
所述操作系统为Linux或Windows或FreeBSD;
所述检测MBR内容合理性的算法包括以下步骤:
S1. 读入MBR内容;
S2. 提取特征信息;
S3. 在MBR样码库中使用特征判定,若检测到GRT类型的分区,则正常启动;若检测到MBR类型的分区,则输出匹配,并执行S4;
S4. 对比检测Boot Code,若检测一致则正常启动OS,若检测不一致,则执行S5;
S5. 提示是否修复MBR,如果选择修复MBR,将匹配标准的MBR内容写回当前启动设备;如果选择不修复MBR,打印输出相关重要信息或者操作;
所述步骤S1具体为:
在BIOS将控制权交给OS之前,即在读取到MBR,拷贝到0000:7c00的内存,并跳到指定地址之前,读取磁盘的MBR内容;
所述步骤S2具体为:
解析512字节大小的MBR的内容,提取相关的特征:字串特征、位置特征、模式特征;
所述步骤S3具体包括:
使用S2中提取到的特征信息,在MBR样码库中做比对,如果检测到是GPT类型的分区,则使用UEFI模式来正常启动,不做处理;如果检测到匹配的MBR类型,该MBR类型对应了操作系统的类型,版本信息和启动代码区块,则输出该MBR类型。
2.根据权利要求1所述检测MBR内容合理性的算法,其特征在于,所述步骤S4具体包括:
将读到MBR里的Boot Code启动代码区块和匹配的MBR类型的启动代码区块做对比,检测是否和匹配标准的MBR类型一致,若检测一致,直接拷贝MBR到0:7c00的内存,跳入此地址正常启动;若检测不一致,则执行S5。
3.根据权利要求1所述检测MBR内容合理性的算法,其特征在于,所述步骤S5具体包括:
提示是否修复MBR,如果选择修复MBR,则修复Disk MBR,跳到0:7c00,控制权交给MBR启动OS;如果选择不修复MBR,输出检测信息,提示重启操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710358948.8A CN107301348B (zh) | 2017-05-19 | 2017-05-19 | 一种检测mbr内容合理性的算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710358948.8A CN107301348B (zh) | 2017-05-19 | 2017-05-19 | 一种检测mbr内容合理性的算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107301348A CN107301348A (zh) | 2017-10-27 |
CN107301348B true CN107301348B (zh) | 2020-11-13 |
Family
ID=60137373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710358948.8A Active CN107301348B (zh) | 2017-05-19 | 2017-05-19 | 一种检测mbr内容合理性的算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107301348B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647034B (zh) * | 2018-04-09 | 2021-04-02 | 南京百敖软件有限公司 | 一种单移动硬盘安装多个操作系统的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1352426A (zh) * | 2001-11-26 | 2002-06-05 | 北京实达铭泰计算机应用技术开发有限公司 | 一种计算机病毒防御方法 |
CN1952885A (zh) * | 2005-10-19 | 2007-04-25 | 联想(北京)有限公司 | 一种可进行完整性检测的计算机系统和方法 |
CN1991779A (zh) * | 2005-12-30 | 2007-07-04 | 联想(北京)有限公司 | 基于安全芯片的防病毒方法 |
CN102646077A (zh) * | 2012-03-28 | 2012-08-22 | 山东超越数控电子有限公司 | 一种基于可信密码模块的全盘加密的方法 |
US20130067210A1 (en) * | 2010-03-10 | 2013-03-14 | Amy Christine Nelson | System and method for recovering from an interrupted encryption and decryption operation performed on a volume |
CN103942482A (zh) * | 2014-05-13 | 2014-07-23 | 西安邮电大学 | 一种基于嵌入式的主机安全保护方法 |
CN104200153A (zh) * | 2014-09-12 | 2014-12-10 | 北京赛科世纪数码科技有限公司 | 一种启动验证方法和系统 |
-
2017
- 2017-05-19 CN CN201710358948.8A patent/CN107301348B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1352426A (zh) * | 2001-11-26 | 2002-06-05 | 北京实达铭泰计算机应用技术开发有限公司 | 一种计算机病毒防御方法 |
CN1952885A (zh) * | 2005-10-19 | 2007-04-25 | 联想(北京)有限公司 | 一种可进行完整性检测的计算机系统和方法 |
CN1991779A (zh) * | 2005-12-30 | 2007-07-04 | 联想(北京)有限公司 | 基于安全芯片的防病毒方法 |
US20130067210A1 (en) * | 2010-03-10 | 2013-03-14 | Amy Christine Nelson | System and method for recovering from an interrupted encryption and decryption operation performed on a volume |
CN102646077A (zh) * | 2012-03-28 | 2012-08-22 | 山东超越数控电子有限公司 | 一种基于可信密码模块的全盘加密的方法 |
CN103942482A (zh) * | 2014-05-13 | 2014-07-23 | 西安邮电大学 | 一种基于嵌入式的主机安全保护方法 |
CN104200153A (zh) * | 2014-09-12 | 2014-12-10 | 北京赛科世纪数码科技有限公司 | 一种启动验证方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107301348A (zh) | 2017-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020865B (zh) | 一种系统升级方法和装置 | |
US6738928B1 (en) | Method and expert system for analysis of crash dumps | |
US20120222011A1 (en) | Detecting configuration problems in an eclipse-based software application | |
KR101994811B1 (ko) | 전자 장치, mbr 복원 방법 및 컴퓨터 판독가능 기록매체 | |
US20110302572A1 (en) | Embedded network device and firmware upgrading method | |
CN103136002B (zh) | 一种基于UBoot的自动升级的控制方法及系统 | |
US20060015711A1 (en) | Apparatus and method for crisis recovery | |
CN102099811A (zh) | 用于离线虚拟环境中的或与之相关的改进的方法和系统 | |
CN107346284B (zh) | 一种应用程序的检测方法及检测装置 | |
US8930761B2 (en) | Test case result processing | |
WO2016206514A1 (zh) | 启动处理方法及装置 | |
CN103150506A (zh) | 一种恶意程序检测的方法和装置 | |
EP2189906A1 (en) | Method and apparatus for abnormality recovering of data card, and data card | |
CN107301348B (zh) | 一种检测mbr内容合理性的算法 | |
US20130185602A1 (en) | Heap dump occurrence detection | |
CN104035776B (zh) | 一种操作系统的启动方法 | |
CN113315675B (zh) | 一种白盒交换机U-Boot自动化测试方法、系统和存储介质 | |
CN109086085A (zh) | 一种操作系统启动管理方法和装置 | |
US7991932B1 (en) | Firmware and/or a chipset determination of state of computer system to set chipset mode | |
CN110096888B (zh) | 一种加快验证及分析smm安全隐患的方法及系统 | |
JP2017111146A (ja) | 試料または試薬を処理するための機器の設定を復元するための方法、および試料または試薬を処理するための機器を含むシステム | |
KR101420026B1 (ko) | 부팅 프로세스 중에 파일들을 로딩하기 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체 | |
CN104699556A (zh) | 计算机的操作系统crc校验方法和系统 | |
US9563434B2 (en) | Mining dependencies from disk images | |
CN106502847B (zh) | 服务器的诊断方法及装置 |
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 |