[发明专利]软件保护壳的壳特征提取方法有效
申请号: | 201110121695.5 | 申请日: | 2011-05-12 |
公开(公告)号: | CN102184103A | 公开(公告)日: | 2011-09-14 |
发明(设计)人: | 范明钰;王光卫;潘泓 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F21/00 |
代理公司: | 电子科技大学专利中心 51203 | 代理人: | 詹福五 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 保护 特征 提取 方法 | ||
技术领域
本发明属于网络安全技术领域,特别是一种针对软件保护壳的壳特征提取方法。采用本发明方法可针对设有保护壳的恶意软件的壳特征参数进行壳的提取,所提取出的特征参数可用于对恶意软件进行脱壳处理、以还原恶意软件在壳保护之前的可执行状态。
背景技术
壳是一种对计算机软件进行保护的常用手段。十几年来,各式各样的软件保护壳(程序)的出现对计算机正常软件的保护起到重要作用;但软件保护壳是一把双刃剑,既可用于保护正常软件、也可用于保护恶意软件。恶意软件通过保护壳把恶意程序(代码)伪装成正常程序,当用户运行此类程序时、在不知不觉中就执行了恶意程序,这些恶意程序的行为通常是窃取数据、破坏数据、发送垃圾邮件、运行其他恶意代码指定的程序等等,轻则干扰正常程序的运行、重则造成恶性事故。利用各种保护壳,恶意程序还可以躲过传统的特征杀毒,并且给恶意程序的分析和检测带来了诸多困难。要分析恶意程序的特点、进而编制检测方法,首先就必须对其进行脱壳处理;而要进行脱壳处理,其首要前提是找准所采用保护壳的特征。因此,对壳特征的提取具有重要意义。由于软件壳技术的理论研究尚不完善,因此还没有专门的壳特征分析工具,这就为恶意程序在各类保护壳的掩护下运行提供了条件,从而给计算机的正常运行、给社会正常的经济活动、通讯,甚至国家的安全造成严重威胁。
发明内容
本发明的目的是针对各类可用于对恶意软件进行保护的软件壳,研究设计一种软件保护壳的壳特征提取方法,以通过对加壳保护的恶意软件的壳特征进行多层次综合处理,达到有效地提取各类保护壳的壳特征,为此后利用所获取的壳特征对恶意软件的保护壳进行自动脱壳处理,还原被保护软件在保护前的可执行状况,为后续对恶意软件的分析处理清除其保护屏障等目的。
本发明的解决方案是根据带壳保护的软件、其保护壳需要比被保护的软件更早获得运行的控制权;而为了达到这一目的,在对软件进行加壳时、壳首先要修改原(被保护)软件执行的顺序,但又不能影响原软件的运行。为此,在进行加壳处理时就必须取得并修改原(被保护)软件的相关参数,包括被保护软件的原始入口点和输入表(或称导入表,以下一致性称输入表),在壳运行时对其进行还原。
而软件壳的最基本、也是最重要的功能就是对软件输入表的处理。软件输入表的作用是让操作系统在程序运行时提供API(应用程序接口)的实际地址给程序使用;在加壳处理时修改原程序文件的输入表以及软件的原始入口点(OEP);在运行时先运行壳,把原来的(被保护)软件在内存中还原,再跳转到该软件的原始入口点(OEP),所以,软件保护壳的关键特征就是:原始入口点参数(数据)、输入表参数(数据)。但是输入表是一种与被保护软件相关的参数(数据),不同的被保护软件有不同的输入表参数(数据),对此本发明采用从断点位置进行查找被修改前的输入表参数(数据)、作为软件保护壳的特征之一。
因此,根据以上所述软件壳的构建(造)特征,本发明将包括软件壳名称、壳版本、断点位置参数、原始入口点参数作为软件壳的典型特征;其中用于寻找输入表中的断点位置参数和原始入口点参数是(软件)壳最基本的(特征)参数,而壳名称和壳版本则作为断点位置参数和原始入口点参数的标记;因此,对壳特征的提取过程是:先提取用于获取输入表的断点位置参数,并通过反复调试比对、对断点位置参数进行验证,然后再针对原始入口点参数进行预提取、并通过内存转储和PE结构利用预提取的初选参数对加壳软件进行修复、验证,以获得原始入口点参数;最后将壳名称、壳版本及所得原始入口点参数和断点位置参数一并输出,即为相应软件壳的壳特征。本发明即以此实现其发明目的。
因此,本发明的方法包括:
步骤1.初始化处理:将有壳保护的软件录入系统内存,并对壳类型、壳版本命名并记录,待用;
步骤2.断点位置参数的提取:对步骤1录入的有壳保护的软件找出所有系统调用;对每种系统调用,分别进行初步判断是壳初始化时所用、还是壳处理输入表时所用;并对壳初始化时所用系统调用作丢弃处理,而对壳处理输入表时所用系统调用、则再通过反复比对调试,以最终确认壳处理输入表时所用的系统调用,然后将经确认的各系统调用在调用前的位置作为壳特征中的断点位置参数记录后、供步骤5用;当对所有系统调用处理完后转步骤4;
步骤3.入口点参数的预提取:对步骤1录入的有壳保护的软件的原始入口点参数进行预提取、以获得入口点的初选参数;入口点初选参数是采用入口点参数分析方法从有壳保护的软件中获取,取得入口点初选参数后、转步骤4;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110121695.5/2.html,转载请声明来源钻瓜专利网。