CN111008378B - 一种清洗硬盘固件区恶意代码的方法 - Google Patents
一种清洗硬盘固件区恶意代码的方法 Download PDFInfo
- Publication number
- CN111008378B CN111008378B CN201911196193.1A CN201911196193A CN111008378B CN 111008378 B CN111008378 B CN 111008378B CN 201911196193 A CN201911196193 A CN 201911196193A CN 111008378 B CN111008378 B CN 111008378B
- Authority
- CN
- China
- Prior art keywords
- system file
- hard disk
- area
- current
- byte
- 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
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/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种清洗硬盘固件区恶意代码的方法,其特征在于包括以下步骤:S100:获取当前硬盘固件区的地址范围及字节长度;S200:读取当前硬盘中系统文件列表,包括0卷的202文件、0卷的203文件及0卷的204文件;S300:解析当前硬盘的系统文件列表,获取并记录各个系统文件的卷号和ID号;S400:统计清洗区域;S500:清洗所统计的清洗区域。将所统计各个清洗区域中数据填零,用以清洗硬盘固件区恶意代码。
Description
技术领域
本发明属于数据恢复与硬盘固件安全技术领域,涉及一种清洗硬盘固件区恶意代码的方法。
背景技术
在信息安全领域,随着硬盘容量的不断增加以及硬盘使用量的不断扩大,用户的信息安全以及数据安全也受到了严重的威胁。针对一系列的安全威胁,国内外出现了不少的安全软件,针对用户的信息安全都可以做到很好的保护,无论是硬盘固件感染后的清洗,还是硬盘固件的感染检测,以及针对已知的固件感染进行拦截隔离,这些安全软件都缺少对硬盘固件的安全保护。现有技术中尚无针对硬盘固件安全的技术方案。
虽然市面上没有硬盘固件安全的产品,但是针对硬盘固件区恶意代码的清洗也有部分的技术方案,比如完整性检测以及原始固件升级包覆盖的方法。通过这样的方法去检测并覆盖固件区的固件,但这样的现有技术方案有很大的局限性和不完整性,第一,不是每个型号的硬盘都有固件升级包;第二,就是这样的覆盖方式,仅仅是固件区的一小部分区域进行覆盖,所以就导致了这个方案的不适用性。本发明就针对硬盘固件区恶意代码的清洗提出了一个更加实用可靠的技术方案。
发明内容
针对现有技术的不足,本发明提供了一种清洗硬盘固件区恶意代码的方法,通过计算并统计硬盘的清洗区域并对清洗区域进行清洗,达到清洗硬盘固件区恶意代码的方法。本发明申请包括以下步骤:
S100:获取当前硬盘固件区的地址范围及字节长度;
S200:读取当前硬盘中系统文件列表,包括0卷的202文件、0卷的203文件及0卷的204文件;
S300:解析当前硬盘的系统文件列表,获取并记录各个系统文件的卷号和ID号,包括以下步骤:
S301:以当前系统文件列表的首地址为起始地址,读取第0x06、第0x07字节的内容作为当前系统文件列表所包含系统文件的个数;
S302:以当前系统文件列表的第0x08字节为起始地址,以12字节长度为单位,在所获取的当前硬盘固件区的地址范围内,顺序读取各个系统文件的描述信息;
S303:所获取的各个系统文件中,读取第1至第3字节内容为当前系统文件的起始地址;
S304:所获取的各个系统文件中,读取第5、第6字节内容为当前系统文件的ID号;
S305:所获取的各个系统文件中,读取第9至第11字节内容为当前系统文件的字节长度,其单位为扇区;
S306:所获取的各个系统文件中,读取第12字节内容的高4位作为当前系统文件所在的磁头号,其中,所述高4位为零,表示磁头1,不为零则表示磁头0;
S400:统计清洗区域;
S500:清洗所统计的清洗区域:将所统计各个清洗区域中数据填零,用以清洗硬盘固件区恶意代码。
优选地,所述步骤S400包括以下步骤;
S401:根据所述步骤S200所获取的系统文件的卷号及所述步骤S300所获取系统文件的ID号,对比表一所示的系统文件列表并记录与表一具有相同系统文件的卷号及相同系统文件的ID号的系统文件,其中,所述表一中系统文件列表的数据格式为X-Y-Z,其中,X表示系统文件所在的磁头号,Y表示系统文件的卷号,Z表示系统文件ID号,其表示硬盘中不影响硬盘工作的系统文件列表ID号;
表一:系统文件列表
S402:统计第一清洗区域:与所述表一具有相同系统文件的卷号及系统文件的ID号的系统文件的区域作为所述第一清洗区域,根据系统文件的起始地址及字节长度,计算并获取所述第一清洗区域的地址范围;
S403:将固件保留区域作为第二清洗区域,其中,所述固件保留区域为当前硬盘固件区的地址范围中不包含系统文件所占用的区域。
本发明具有以下有益效果是:清洗范围更大,更加灵活,局限性小。
附图说明
图1为本发明所提供的方法的总流程图;
图2为本发明的一个实施例中系统文件列表的数据结构示意图。
具体实施方式
图1示出了本发明所提供的方法的总流程图。如图1所示,包括以下步骤:
S100:获取当前硬盘固件区的地址范围及字节长度。
通过COM口获取当前硬盘的固件磁道结构,并从该数据中解析出固件区的地址范围及字节长度。具体地,在硬盘的2级下发送命令“x1”,并接收返回的数据,如下所示,
其中,矩形框中的数据表示固件区的地址范围,即,0x00000000至0x000F319F扇区,换言之,固件区的字节长度为0x000F319F扇区。
S200:读取当前硬盘中系统文件列表,包括0卷的202文件、0卷的203文件及0卷的204文件,换言之,在读取当前硬盘中系统文件列表的同时,也获取了各个系统文件的卷号,例如0卷、1卷。
S300:解析当前硬盘的系统文件列表,获取并记录各个系统文件的卷号和ID号。
步骤S300包括以下步骤:
S301:以当前系统文件列表的首地址为起始地址,读取第0x06、第0x07字节的内容作为当前系统文件列表所包含系统文件的个数;
图2示出了本发明的一个实施例中系统文件列表的数据结构示意图。如图2所示,以当前系统文件列表的首地址为起始地址,读取如图2所示的第0x06、第0x07字节的内容0x0010作为当前系统文件列表所包含系统文件的个数,即,系统文件的个数为0x10个,其以小端格式存储,故实际数据为0x0010,以下同。
S302:以当前系统文件列表的第0x08字节为起始地址,以12字节长度为单位,在所获取的当前硬盘固件区的地址范围内,顺序读取各个系统文件的描述信息;例如,如图2所示的0x08字节至0x13字节的内容为第一个系统文件。
S303:所获取的各个系统文件中,读取如图2所示的第1至第3字节内容0x1E039C为当前系统文件的起始地址;
S304:所获取的各个系统文件中,读取如图2所示的第5、第6字节内容0x0000为当前系统文件的ID号;
S305:所获取的各个系统文件中,读取如图2所示的第9至第11字节内容0x00000C为当前系统文件的字节长度,其单位为扇区;
S306:所获取的各个系统文件中,读取如图2所示的第12字节内容0x10的高4位,即,0001,作为当前系统文件所在的磁头号,其中,高4位为零,表示磁头1,本实施例中的高4位是0001,表示磁头0。
S400:统计清洗区域,包括以下步骤;
S401:根据步骤S200所获取的系统文件的卷号及步骤S300所获取系统文件的ID号,对比表一所示的系统文件列表并记录与表一具有相同系统文件的卷号及相同系统文件的ID号的系统文件,其中,表一中系统文件列表的数据格式为X-Y-Z,其中,X表示系统文件所在的磁头号,Y表示系统文件的卷号,Z表示系统文件ID号,其表示硬盘中不影响硬盘工作的系统文件列表ID号。
例如,表一中的第一个系统文件为0-0-205,表示磁头号0、卷号0及文件ID号为205的系统文件。
如果步骤S200所获取的系统文件的卷号为0且步骤S300所获取系统文件的ID号为205,则将该系统文件0-0-205记录下来。
表一:系统文件列表
S402:统计第一清洗区域:与表一具有相同系统文件的卷号及系统文件的ID号的系统文件的区域作为第一清洗区域,根据系统文件的起始地址及字节长度,计算并获取第一清洗区域的地址范围;
例如,将所记录的该系统文件0-0-205所在区域作为第一清洗区域。具体地,根据前述获取的该系统文件的起始地址及字节长度,计算并获取第一清洗区域的地址范围,并将所计算的清洗区域的地址范围记录下来。对所有与表一具有相同系统文件的卷号及系统文件的ID号的系统文件进行计算并获取清洗区域的地址范围,将所有计算并获取清洗区域的地址范围记录为第一清洗区域的地址范围。
S403:将固件保留区域作为第二清洗区域,其中,固件保留区域为当前硬盘固件区的地址范围中不包含系统文件所占用的区域。
例如,整个固件区的区域为0x00000000至0x000F319F扇区,其中系统文件占用0x00000000-0x000F0000扇区,那么0x000F0001至0x000F319F扇区的区域为固件保留区。
S500:清洗所统计的清洗区域:将所统计各个清洗区域中数据填零,用以清洗硬盘固件区恶意代码。换言之,将所统计的第一清洗区域及第二清洗区域中数据填零。
通过本发明提供的方法,解决了现有技术中尚无一种清洗硬盘固件区恶意代码的方法的技术问题。
应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (2)
1.一种清洗硬盘固件区恶意代码的方法,其特征在于包括以下步骤:
S100:获取当前硬盘固件区的地址范围及字节长度;
S200:读取当前硬盘中系统文件列表,包括0卷的202文件、0卷的203文件及0卷的204文件;
S300:解析当前硬盘的系统文件列表,获取并记录各个系统文件的卷号和ID号,包括以下步骤:
S301:以当前系统文件列表的首地址为起始地址,读取第0x06、第0x07字节的内容作为当前系统文件列表所包含系统文件的个数;
S302:以当前系统文件列表的第0x08字节为起始地址,以12字节长度为单位,在所获取的当前硬盘固件区的地址范围内,顺序读取各个系统文件的描述信息;
S303:所获取的各个系统文件中,读取第1至第3字节内容为当前系统文件的起始地址;
S304:所获取的各个系统文件中,读取第5、第6字节内容为当前系统文件的ID号;
S305:所获取的各个系统文件中,读取第9至第11字节内容为当前系统文件的字节长度,其单位为扇区;
S306:所获取的各个系统文件中,读取第12字节内容的高4位作为当前系统文件所在的磁头号,其中,所述高4位为零,表示磁头1,不为零则表示磁头0;
S400:统计清洗区域;
S500:清洗所统计的清洗区域:将所统计各个清洗区域中数据填零,用以清洗硬盘固件区恶意代码。
2.根据权利要求1所述的一种清洗硬盘固件区恶意代码的方法,其特征在于,所述步骤S400包括以下步骤;
S401:根据所述步骤S200所获取的系统文件的卷号及所述步骤S300所获取系统文件的ID号,对比表一所示的系统文件列表并记录与表一具有相同系统文件的卷号及相同系统文件的ID号的系统文件,其中,所述表一中系统文件列表的数据格式为X-Y-Z,其中,X表示系统文件所在的磁头号,Y表示系统文件的卷号,Z表示系统文件ID号,其表示硬盘中不影响硬盘工作的系统文件列表ID号;
表一:系统文件列表
S402:统计第一清洗区域:与所述表一具有相同系统文件的卷号及系统文件的ID号的系统文件的区域作为所述第一清洗区域,根据系统文件的起始地址及字节长度,计算并获取所述第一清洗区域的地址范围;
S403:将固件保留区域作为第二清洗区域,其中,所述固件保留区域为当前硬盘固件区的地址范围中不包含系统文件所占用的区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911196193.1A CN111008378B (zh) | 2019-11-29 | 2019-11-29 | 一种清洗硬盘固件区恶意代码的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911196193.1A CN111008378B (zh) | 2019-11-29 | 2019-11-29 | 一种清洗硬盘固件区恶意代码的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111008378A CN111008378A (zh) | 2020-04-14 |
CN111008378B true CN111008378B (zh) | 2023-08-01 |
Family
ID=70113669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911196193.1A Active CN111008378B (zh) | 2019-11-29 | 2019-11-29 | 一种清洗硬盘固件区恶意代码的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008378B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271209A (zh) * | 2018-09-26 | 2019-01-25 | 四川巧夺天工信息安全智能设备有限公司 | 一种解析并提取qcow2及qcow3镜像文件的方法 |
CN109918907A (zh) * | 2019-01-30 | 2019-06-21 | 国家计算机网络与信息安全管理中心 | Linux平台进程内存恶意代码取证方法、控制器及介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7380277B2 (en) * | 2002-07-22 | 2008-05-27 | Symantec Corporation | Preventing e-mail propagation of malicious computer code |
GB2427048A (en) * | 2005-06-09 | 2006-12-13 | Avecho Group Ltd | Detection of unwanted code or data in electronic mail |
CN104205044B (zh) * | 2012-03-19 | 2017-02-22 | 英特尔公司 | 数据处理方法和设备 |
CN102867141B (zh) * | 2012-09-29 | 2016-03-30 | 北京奇虎科技有限公司 | 对主引导记录恶意程序进行处理的方法及装置 |
CN102999725B (zh) * | 2012-12-13 | 2016-01-06 | 北京奇虎科技有限公司 | 恶意代码处理方法和系统 |
CN105159789B (zh) * | 2015-08-03 | 2018-06-15 | 四川效率源信息安全技术股份有限公司 | 一种修复希捷硬盘容量异常的方法 |
CN105260130B (zh) * | 2015-09-18 | 2018-05-04 | 四川效率源信息安全技术股份有限公司 | 一种希捷硬盘系统文件的读写方法 |
CN105183578B (zh) * | 2015-09-30 | 2018-05-04 | 四川效率源信息安全技术股份有限公司 | 希捷硬盘修复mc错误的方法 |
CN105161138B (zh) * | 2015-09-30 | 2018-03-27 | 四川效率源信息安全技术股份有限公司 | 希捷硬盘固件管理器错误导致无法访问数据区的修复方法 |
CN105653382B (zh) * | 2015-12-31 | 2019-02-12 | 四川秘无痕信息安全技术有限责任公司 | 西数硬盘加载指定模块进行硬盘修复的方法 |
KR102582580B1 (ko) * | 2016-01-19 | 2023-09-26 | 삼성전자주식회사 | 악성 코드 분석을 위한 전자 장치 및 이의 방법 |
CN105786633B (zh) * | 2016-02-26 | 2019-01-25 | 四川效率源信息安全技术股份有限公司 | 一种西数硬盘固件区虚拟方法 |
CN107967433B (zh) * | 2017-12-25 | 2021-03-30 | 四川巧夺天工信息安全智能设备有限公司 | 一种解除希捷硬盘电机锁的方法 |
CN110188003B (zh) * | 2019-05-31 | 2023-01-10 | 四川效率源信息安全技术股份有限公司 | 一种针对硬盘中丢失缺陷条目后的数据恢复方法 |
-
2019
- 2019-11-29 CN CN201911196193.1A patent/CN111008378B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271209A (zh) * | 2018-09-26 | 2019-01-25 | 四川巧夺天工信息安全智能设备有限公司 | 一种解析并提取qcow2及qcow3镜像文件的方法 |
CN109918907A (zh) * | 2019-01-30 | 2019-06-21 | 国家计算机网络与信息安全管理中心 | Linux平台进程内存恶意代码取证方法、控制器及介质 |
Non-Patent Citations (2)
Title |
---|
"Securing Network Coding Architectures Against Pollution Attacks With Band Codes";Attilio Fiandrotti;《IEEE Transactions on Information Forensics and Security》;全文 * |
"程序分析与检测中的若干问题研究";汤震浩;《中国博士学位论文全文数据库 信息科技辑》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111008378A (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110177094B (zh) | 一种用户团体识别方法、装置、电子设备及存储介质 | |
CN109828721A (zh) | 数据删除方法、装置、计算机设备及存储介质 | |
CN107273053A (zh) | 一种数据读取的方法与装置 | |
CN108399050B (zh) | 一种数据处理方法及装置 | |
CN105260320B (zh) | 用于flash存储器的数据处理方法和装置 | |
CN109947720A (zh) | 一种文件预读方法、装置、设备及可读存储介质 | |
WO2010015145A1 (zh) | 过滤以及监控程序行为的方法和系统 | |
CN111008378B (zh) | 一种清洗硬盘固件区恶意代码的方法 | |
CN109918545B (zh) | 传感器数据的提取方法及装置 | |
CN106358220B (zh) | 异常联系人信息的检测方法、装置及系统 | |
CN107229421A (zh) | 视频数据存储系统的创建、文件写入和读取方法及装置 | |
CN105404537B (zh) | 一种应用程序的卸载方法及装置 | |
CN108664482A (zh) | Flash存储器及存储文件管理方法 | |
US20100318585A1 (en) | Method for installing fat file system | |
CN108197050B (zh) | 一种设备识别方法、装置及系统 | |
CN101150822B (zh) | 一种电信运营商用户号码采集的方法 | |
CN103605600B (zh) | 一种移动终端存储卡存储单元读写次数记录的方法及系统 | |
CN104238960B (zh) | 硬盘格式化方法及基于硬盘的数据块存储方法和装置 | |
CN109426587B (zh) | 一种数据恢复方法及装置 | |
CN104424109B (zh) | 一种信息处理方法及电子设备 | |
CN105260130B (zh) | 一种希捷硬盘系统文件的读写方法 | |
CN109658985B (zh) | 一种基因参考序列的去冗余优化方法及系统 | |
CN111628996A (zh) | 一种基于物联网的电子数据通信方法及系统 | |
CN110909354A (zh) | 一种清洗西数硬盘固件区恶意代码的方法 | |
CN108170372B (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 |