基于韧体层的固件更新防病毒方法及装置与流程

文档序号:11458826阅读:193来源:国知局
基于韧体层的固件更新防病毒方法及装置与流程

本发明涉及病毒防御技术领域,尤其涉及一种基于韧体层的固件更新防病毒方法及装置。



背景技术:

随着计算机的大量使用,互联网的普及,计算机技术的大幅提升,人们对计算机的使用也越来越熟练,越来越专业,依赖性也越来越强。然而计算机病毒的到处肆虐,给我们个人的人生、财产安全、公司财产安全、国防安全带来极大的威胁。虽然现在市面上有很多的防毒工具和方法,但是这些个工具和方法基本上都是基于操作系统端的,而对于计算机底层的病毒防护是不起作用的。也有一些公司在固件里面加入id来,通过判断id来防止病毒,但是现在很多病毒在不修改id的情况下,把病毒植入。底层固件感染病毒的可能性主要体现在以下方面:在固件(uefibios)第一次被刷到计算机之前固件已经感染病毒,更新固件的过程中、以及用来更新的固件已经感染病毒。



技术实现要素:

发明目的:本发明针对现有技术存在的问题,提供一种基于韧体层的固件更新防病毒方法及装置,是基于韧体防范病毒于刷新底层固件(uefibios)之前,可以确保被更新到计算机上面的固件(uefibios)是没有感染病毒的。

技术方案:本发明所述的基于韧体层的固件更新防病毒方法包括:

(1)在windows控制台中编写加密程序,并将所述加密程序编译链接后生成加密工具,其中,所述加密程序用于将待加密文件的原始数据进行加密运算后得到一个计算结果;

(2)将固件原始代码编译生成biosbin文件;

(3)调用所述加密工具对biosbin文件的原始数据进行加密运算,得到第一计算结果,并将第一计算结果存入biosbin文件里,完成bios固件加密;

(4)在刷新程序中增加解密程序,生成刷新解密工具,其中,所述解密程序与所述加密程序对应,用于将已加密文件的原始数据进行解密运算后得到一个计算结果,且该计算结果在已加密文件中未被做任何修改时为0;

(5)当bios固件更新时,在固件刷新环境中采用所述刷新解密工具,将加密后的bios固件加载到内存中,并将加密后bios固件中包括第一计算结果的所有原始数据进行解密运算,得到第二计算结果;

(6)若所述第二计算结果值为0,则判定为固件没有感染病毒,执行更新;

(7)若所述第二计算结果值不为0,则判定为固件感染病毒,发出病毒感染告警提示。

本发明所述的基于韧体层的固件更新防病毒装置,其特征在于该装置包括:

加密工具生成模块,用于在windows控制台中编写加密程序,并将所述加密程序编译链接后生成加密工具,其中,所述加密程序用于将待加密文件的原始数据进行加密运算后得到一个计算结果;

编译模块,用于将固件原始代码编译生成biosbin文件;

固件加密模块,调用所述加密工具对biosbin文件的原始数据进行加密运算,得到第一计算结果,并将第一计算结果存入biosbin文件里,完成bios固件加密;

刷新解密工具生成模块,用于在刷新程序中增加解密程序,生成刷新解密工具,其中,所述解密程序与所述加密程序对应,用于将已加密文件的原始数据进行解密运算后得到一个计算结果,且该计算结果在已加密文件中未被做任何修改时为0;;

固件更新前计算模块,用于当bios固件更新时,在固件刷新环境中采用所述刷新解密工具,将加密后的bios固件加载到内存中,并将加密后bios固件中包括第一计算结果的所有原始数据进行解密运算,得到第二计算结果;

感染判断模块,用于在第二计算结果值为0时,判定为固件没有感染病毒,执行更新;在第二计算结果值不为0时,判定为固件感染病毒,发出病毒感染告警提示。

有益效果:本发明与现有技术相比,其显著优点是:1.安全性高,破解难。2.算法简单。3.实用性强。4.成本低。

附图说明

图1是本发明提供的基于韧体层的固件更新防病毒方法中加密部分的流程示意图;

图2是本发明提供的基于韧体层的固件更新防病毒方法中固件更新部分的流程示意图。

具体实施方式

实施例1

本实施例提供了一种基于韧体层的固件更新防病毒方法,如图1和图2所示,包括:

加密部分:

(1)采用visualc++6.0在windows控制台中编写加密程序,命名为checksum,并将所述加密程序checksum编译链接后生成加密工具checksum.exe,其中,所述加密程序用于将待加密文件的原始数据进行加密运算后得到一个计算结果。例如,加密算法可以是checksum16加密,或者是md5加密,也可以是其他加密程序,等等。

(2)将固件原始代码编译生成biosbin文件。

(3)编辑一个批处理文件,调用加密工具checksum.exe对biosbin的原始数据进行加密运算,得到第一计算结果,并将第一计算结果存入biosbin文件里,完成bios固件加密。

固件更新部分:

(4)在刷新程序中增加解密程序,生成刷新解密工具,其中,所述解密程序与所述加密程序对应,用于将已加密文件的原始数据进行解密运算后得到一个计算结果,且该计算结果在已加密文件中未被做任何修改时为0。在加密算法为checksum16时,因为如果校验和的数值超过十六进制的ff,也就是255.就要求其补码作为校验和,然后把这个校验和存到加密文件里面去,所以解密程序里面只要对整个加密文件里面16进制数据进行16位的累加,最后再取这个累加结果的低16位的数据做为最终结果,那么在已加密文件中未被做任何修改时就是0,而在被修改了之后解密结果就不是0了。

(5)当bios固件更新时,在固件刷新环境中采用所述刷新解密工具,将加密后的bios固件加载到内存中,并将加密后bios固件中包括第一计算结果的所有原始数据(即第一计算结果和加密前biosbin文件中所有数据)进行解密运算,得到第二计算结果。如果没有感染病毒或者破坏,那么这个值应当是就是0,要是感染病毒,或则是有人把里面的一个0改成了1,那么这个结果就是不是0了。

(6)若第二计算结果值为0,则判定为固件没有感染病毒,执行更新。

(7)若不为0,则判定为固件感染病毒,发出病毒感染告警提示。

实施例2

本实施例提供了一种基于韧体层的固件更新防病毒装置,具体包括:

加密工具生成模块,用于在windows控制台中编写加密程序,并将所述加密程序编译链接后生成加密工具,其中,所述加密程序用于将待加密文件的原始数据进行加密运算后得到一个计算结果;

编译模块,用于将固件原始代码编译生成biosbin文件;

固件加密模块,调用所述加密工具对biosbin文件的原始数据进行加密运算,得到第一计算结果,并将第一计算结果存入biosbin文件里,完成bios固件加密;

刷新解密工具生成模块,用于在刷新程序中增加解密程序,生成刷新解密工具,其中,所述解密程序与所述加密程序对应,用于将已加密文件的原始数据进行解密运算后得到一个计算结果,且该计算结果在已加密文件中未被做任何修改时为0;;

固件更新前计算模块,用于当bios固件更新时,在固件刷新环境中采用所述刷新解密工具,将加密后的bios固件加载到内存中,并将加密后bios固件中包括第一计算结果的所有原始数据进行解密运算,得到第二计算结果;

感染判断模块,用于在第二计算结果值为0时,判定为固件没有感染病毒,执行更新;在第二计算结果值不为0时,判定为固件感染病毒,发出病毒感染告警提示。

本实施例与实施例1一一对应,其他部分不再赘述。

以上所揭露的仅为本发明一种较佳实施例而已,不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1