CN102831356A - 基于软件指纹的软件动态可信认证方法 - Google Patents
基于软件指纹的软件动态可信认证方法 Download PDFInfo
- Publication number
- CN102831356A CN102831356A CN 201110160374 CN201110160374A CN102831356A CN 102831356 A CN102831356 A CN 102831356A CN 201110160374 CN201110160374 CN 201110160374 CN 201110160374 A CN201110160374 A CN 201110160374A CN 102831356 A CN102831356 A CN 102831356A
- Authority
- CN
- China
- Prior art keywords
- software
- behavior
- fingerprint
- dynamic
- dynamic behaviour
- 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.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种基于软件指纹的软件动态可信认证方法,该方法由4个步骤组成:软件指纹提取、软件动态行为监控、软件动态行为认证、软件动态行为控制,可分别对应4个模块。软件指纹提取模块提取软件的指纹信息,软件指纹包括软件数据指纹及行为指纹两部分。软件动态行为监控模块对软件行为指纹中所描述的关键行为进行细粒度监控。软件动态行为认证模块基于软件指纹对监控的软件行为进行动态认证,以判定软件自身及其行为是否符合预期,是则继续监控,否则交由软件动态行为控制模块处理。软件动态行为控制模块以有利于保障软件动态可信的方式进行处理。通过同时保障软件的数据完整性和行为动态可信性,可有效保障目标系统的整体可信性。
Description
技术领域
本发明属于信息系统安全领域,特别涉及一种基于软件指纹的软件动态可信认证方法。
背景技术
随着软件规模的不断增大,软件的开发、集成和演化变得越来越复杂,这导致软件产品在推出时总会含有很多已知或未知的缺陷。这些缺陷对软件系统安全的可靠运行构成了严重的威胁;另一方面,软件的运行和开发环境从传统的静态封闭的状态变成互联网环境下动态开放的状态。越来越多的软件漏洞和缺陷被发现并被恶意攻击者频繁利用。
为了保障软件的运行安全,目前安全界采用了多种防护手段和技术。典型的包括:数据完整性验证技术、特征值检测技术、虚拟机技术、启发式扫描技术、主动防御技术、防火墙技术、补丁自动修补技术、云查杀技术等。
数据完整性验证技术目前已经被很多安全软件所采用,其缺陷在于无法保障软件运行过程中动态行为的可信性。
特征值检测技术在检测已知病毒上效果良好,但却无法检测未知病毒,且已知病毒在经过免杀处理之后极易绕过特征值检测技术。
启发式扫描技术根据恶意软件的代码及行为特征经验来判定病毒,其可检测未知病毒,但误报率较高,且也容易被恶意攻击者通过巧妙设计软件行为来绕过。
虚拟机技术结合特征值检测后可以有效对抗已知的加密型病毒,但对未知病毒依然无能为力,且虚拟机机制也容易被病毒检测到和绕过。
主动防御技术对疑似危险行为进行了拦截,但却没有考虑软件行为主体自身的行为特性,因此误报率较高,目前的主动防御技术也存在被绕过甚至被终结的风险。
防火墙技术基于预定规则对网络进出数据进行过滤,可有效抵挡一部分已知的入侵行为,但无法抵抗未知的攻击,目前很多恶意软件采用与正常软件相似的网络通信特征,从而可绕过各类防火墙。
补丁自动修补技术能够及时地修补已知漏洞,保护系统的安全性,但是目前地下市场有大量的0Day漏洞,其对这些没有补丁的漏洞无能为力。
云查杀技术将病毒判定过程从原来的客户端转移到服务端,从一定程度上说,其提升了病毒判定的能力,但其实时判定速度则有可能不能满足需求,另外,部分云查杀引擎需要上传客户计算机中的文件,也可能对用户数据的私密性产生影响。
可见,现有的安全防护技术很难保证系统的可信性,尤其是系统的动态行为可信性。
如何提高现有计算机终端的安全防护能力,确保计算机系统的安全,已成为当前我国信息安全保障工作中亟待解决的关键问题。
软件动态行为可信技术是可信计算必须解决的一个关键性问题,同时也是促进软件安全、有效增强系统信息安全的一种有效方式。
要确保软件动态行为可信就要确保软件主体的行为“总是以预期的方式,达到预期的目标”。
发明内容
本发明目的在于解决现有技术不足,提出了基于软件指纹的软件动态可信认证方法,以求在保证软件静态完整性的同时,提升软件行为的动态可信性,从而有效保障信息系统的安全性。
本发明提供的基于软件指纹的动态可信认证方法,具体方案如下:
软件指纹提取、软件动态行为监控、软件动态行为认证、软件动态行为控制。这四个步骤可以设计四个对应的模块来实现。
软件指纹提取阶段:软件指纹包括软件的数据指纹及行为指纹。数据指纹是指,软件的数字签名信息、通过散列函数运算得到的散列值或通过其他校验和算法计算软件自身的校验值;行为指纹是指软件的预期行为,包括控制流信息以及其数据流信息。
进行软件数据指纹提取时,根据具体的静态指纹类别采用静态提取方式直接对软件自身进行相应的运算来获取,譬如,如果将MD5值作为软件的静态指纹,则采用MD5算法对目标软件的二进制文件进行计算;
进行软件行为指纹提取时,可采取静态提取方式,也可以采取动态提取方式,或者两者同时结合使用。静态提取时,首先采用反汇编工具或自编程序对其进行反汇编,得到软件的行为调用图以及数据依赖关系,然后对获取到的信息进行精简压缩,提取其关键信息保存。进行动态提取时,则在干净的监控环境中,尽可能全面地运行软件的各种功能,并捕获到软件的各类行为调用及数据参数信息,最终获得软件的动态行为关系及数据依赖关系,然后对获取到的信息进行精简压缩,提取其关键信息保存。
为降低软件行为认证的复杂性和系统性能影响,软件的行为指纹可根据实际可信需求进行针对性精简,在精简软件行为特征时,可以只选取那些可能影响软件可信需求的疑似危险类行为。
提取到软件的数据指纹利动态指纹之后,可以将该指纹信息与软件自身捆绑发布,也可以由相关网站直接公布软件的对应指纹数据。
在进行软件行为动态监控时,将对软件进程的启动行为、软件行为指纹中涉及的各类行为进行监控,监控手段既可以在目标系统内核层实现也可能在用户层实现。
软件行为认证中心对监控到的各类软件动态行为进行认证。当监控到新的执行体(如进程)即将被启动时,则首先对其进行数据指纹认证(数字签名校验、或散列值校验、或校验和校验),认证通过之后,则允许启动新进程。当监控到软件行为指纹涉及到的各类软件行为时,软件行为认证中心则根据软件行为指纹来判定当前行为(或当前行为序列)是否符合预期,符合则放行并继续监控认证后续行为,否则交由软件动态行为控制中心处理。
对于不符合预期的软件行为,软件动态行为控制中心可提示用户并让其进行处理,也可以直接根据预设策略修改其行为使其符合预期,或者直接终止该软件行为。
该方法可以用于保障各类架构和用途的智能处理系统的可信性,不仅限于个人计算机和各类移动终端(如智能手机等)。
附图说明
图1为本发明给出的一种具体实施方式的实施流程。
具体实施方式
为便于实施,下面给出本发明所提供方法的一种具体实施方式(参见图1):
该实施实例的运行环境为Windows XP操作系统,其目的是防止恶意软件入侵目标系统,保障系统的安全性。
步骤101:软件数据指纹提取阶段:
软件指纹包括软件的数据指纹及行为指纹。进行软件数据指纹提取时,采用MD5算法对目标软件P二进制文件进行计算,并将其MD5值作为软件的静态指纹进行保存,标记为Z1。
系统的安全性威胁是本实施案例的最终的防护目标,因此,为了进一步降低软件行为指纹的复杂度,将有可能对系统安全造成威胁的所有疑似危险行为列入一个集合S,集合S中包括如下几类行为{可执行文件创建并执行,修改或增加系统启动项,驱动加载,远程线程注入,远程可执行程序下载并执行,},将集合S中的行为细化分析为更细粒度的可监控行为(或序列),形成监控行为集合M。
步骤102:软件行为指纹提取阶段:
进行软件行为指纹提取时,首先可采取静态提取方式,采用反汇编工具IDA或自编程序对其进行反汇编,得到软件的行为调用图以及数据依赖关系,然后再依据集合M中的疑似危险行为进行动态提取,得到预期行为集合B1,在干净的监控环境中,尽可能全面地运行软件的各种功能,依据集合M中的行为捕获到软件的各类相关行为调用及数据参数信息,再次获得软件的动态行为关系及数据依赖关系,得到预期行为集合B2,综合静态提取利动态提取的结果B1与B2,然后对获取到的信息进行精简压缩,提取其关键信息保存。将此作为行为指纹Z2进行保存。
步骤103:软件指纹融合阶段:
将Z1及Z2合并为最终的软件P的软件指纹信息。
按照此法依次处理其他软件个体,得到所有软件的指纹信息。
步骤104:软件动态行为监控阶段:
在Windows下,采用SSDT Hook的方式(也可采用其他用户态和内核态的系统拦截方式)对集合M中的行为进行拦截。当采用SSDT Hook方式进行拦截时,应当将集合M中的软件可监控行为与SSDT中的系统函数进行关系映射,从而可以在SSDT层实现对上层可监控行为进行拦截,采用其他内核态的监控方式同理。
另外对软件模块启动行为进行监控,以捕获软件执行和模块加载行为。
步骤105:软件静态指纹认证阶段:
当监控到软件执行或模块加载时,首先对软件或模块的静态指纹进行校验,具体方法是:重新计算软件的MD5值,然后将其与软件指纹库中的MD5值进行比对,如果找到可匹配项,则放行,否则提示用户进行拒绝或者设置为可信并重新提取指纹,或直接给予拒绝。
步骤106:软件动态行为指纹认证阶段:
软件开始执行之后,自动开始进行软件行为认证,具体方法为:当捕获到目标软件的目标行为时,根据目标软件的行为指纹集合来判定其是否符合软件行为指纹,如果符合,则放行,继续监控认证,否则交由软件动态行为控制模块来处理。
步骤107:软件动态行为控制阶段:
对于不符合预期行为的软件行为,首先对用户给出提示,根据用户选择来纠正或者直接拒绝软件行为。
Claims (8)
1.一种基于软件指纹的软件动态行为可信认证方法,其特征在于:其包含了如下几个步骤:软件指纹提取、软件动态行为监控、软件动态行为认证、软件动态行为控制。这四个步骤可以设计四个对应的模块来实现。
2.根据权利要求1所述的基于软件指纹的软件动态行为可信认证方法,其特征在于:软件指纹包括软件的数据指纹及行为指纹。数据指纹是指,软件的数字签名信息、通过散列函数运算得到的散列值或通过其他校验和算法计算的校验值;行为指纹是指软件的预期行为,包括API函数控制流信息以及其数据流信息。
3.根据权利要求2所述的基于软件指纹的软件动态行为可信认证方法,其特征在于:进行软件数据指纹提取时,采用静态提取方式提取;进行软件行为指纹提取时,可采取静态提取方式,也可以采取动态提取方式,或者两者同时结合使用。
4.根据权利要求2利3所述的基于软件指纹的软件动态行为可信认证方法,其特征在于:为降低软件行为认证的复杂性和系统性能影响,软件的行为指纹可根据实际可信需求进行针对性精简,在精简软件行为特征时,可以只选取那些可能影响软件可信需求的疑似危险类行为。
5.根据权利要求1所属的基于软件指纹的软件动态行为可信认证方法,其特征在于:在进行软件行为动态监控时,将对软件进程的启动行为、软件行为指纹中涉及的各类行为进行监控,监控手段既可以在目标系统内核层实现也可能在用户层实现。
6.根据权利要求1所属的基于软件指纹的软件动态行为可信认证方法,其特征在于:软件行为认证中心对监控到的各类软件动态行为进行认证。当监控到新的执行体(如进程)即将被启动时,则首先对其进行数据指纹认证(数字签名校验、或散列值校验、或校验和校验),认证通过之后,则允许启动新进程。当监控到软件行为指纹涉及到的各类软件行为时,软件行为认证中心则根据软件行为指纹来判定当前行为(或当前行为序列)是否符合预期,符合则放行,否则交由软件动态行为控制中心处理。
7.根据权利要求1和6所属的基于软件指纹的软件动态行为可信认证方法,其特征在于:对于不符合预期的软件行为,软件动态行为控制中心可提示用户并让其进行处理,也可以直接根据预设策略修改其行为使其符合预期,或者直接终止该软件行为。
8.根据权利要求1所属的基于软件指纹的软件动态行为可信认证方法,其特征在于:该方法可以用于保障各类架构和用途的智能处理系统的可信性,不仅限于个人计算机和各类移动终端(如智能手机等)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110160374 CN102831356A (zh) | 2011-06-14 | 2011-06-14 | 基于软件指纹的软件动态可信认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110160374 CN102831356A (zh) | 2011-06-14 | 2011-06-14 | 基于软件指纹的软件动态可信认证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102831356A true CN102831356A (zh) | 2012-12-19 |
Family
ID=47334489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110160374 Pending CN102831356A (zh) | 2011-06-14 | 2011-06-14 | 基于软件指纹的软件动态可信认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102831356A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105512556A (zh) * | 2015-11-27 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种恶意软件处理方法及装置 |
CN106560832A (zh) * | 2015-12-31 | 2017-04-12 | 哈尔滨安天科技股份有限公司 | 一种拦截Linux内核恶意进程提权的方法及系统 |
CN107005528A (zh) * | 2014-11-12 | 2017-08-01 | 瑞典爱立信有限公司 | 用于无线频谱使用的无线设备硬件安全系统 |
CN108073795A (zh) * | 2016-11-07 | 2018-05-25 | 联发科技股份有限公司 | 改善用户验证的方法及其处理器 |
CN109189467A (zh) * | 2018-07-24 | 2019-01-11 | 南京航空航天大学金城学院 | 一种分布式环境下软件版本控制方法 |
CN110619214A (zh) * | 2019-08-15 | 2019-12-27 | 苏州浪潮智能科技有限公司 | 一种监控软件正常运行的方法和装置 |
CN112003839A (zh) * | 2020-08-07 | 2020-11-27 | 杭州安恒信息安全技术有限公司 | 设备反身份识别方法、装置、电子装置和存储介质 |
CN112020058A (zh) * | 2020-08-04 | 2020-12-01 | 上海东方富联科技有限公司 | 基于设备指纹的校验方法、介质、服务端及系统 |
CN112765604A (zh) * | 2020-12-30 | 2021-05-07 | 上海磐御网络科技有限公司 | 一种基于人工智能的网络安全系统 |
CN112799914A (zh) * | 2021-01-28 | 2021-05-14 | 南湖实验室 | 一种对计算机运行中代码、数据全时段动态监管的方法及系统 |
CN113515400A (zh) * | 2021-05-14 | 2021-10-19 | 恒安嘉新(北京)科技股份公司 | 一种关键信息基础设施的异常监测方法及装置 |
CN117668822A (zh) * | 2023-12-11 | 2024-03-08 | 北京丁牛科技有限公司 | 应用程序的启动控制方法、装置及电子设备 |
-
2011
- 2011-06-14 CN CN 201110160374 patent/CN102831356A/zh active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005528A (zh) * | 2014-11-12 | 2017-08-01 | 瑞典爱立信有限公司 | 用于无线频谱使用的无线设备硬件安全系统 |
CN105512556B (zh) * | 2015-11-27 | 2018-11-23 | 浪潮(北京)电子信息产业有限公司 | 一种恶意软件处理方法及装置 |
CN105512556A (zh) * | 2015-11-27 | 2016-04-20 | 浪潮(北京)电子信息产业有限公司 | 一种恶意软件处理方法及装置 |
CN106560832A (zh) * | 2015-12-31 | 2017-04-12 | 哈尔滨安天科技股份有限公司 | 一种拦截Linux内核恶意进程提权的方法及系统 |
CN108073795A (zh) * | 2016-11-07 | 2018-05-25 | 联发科技股份有限公司 | 改善用户验证的方法及其处理器 |
CN109189467B (zh) * | 2018-07-24 | 2022-05-20 | 南京航空航天大学金城学院 | 一种分布式环境下软件版本控制方法 |
CN109189467A (zh) * | 2018-07-24 | 2019-01-11 | 南京航空航天大学金城学院 | 一种分布式环境下软件版本控制方法 |
CN110619214A (zh) * | 2019-08-15 | 2019-12-27 | 苏州浪潮智能科技有限公司 | 一种监控软件正常运行的方法和装置 |
CN112020058A (zh) * | 2020-08-04 | 2020-12-01 | 上海东方富联科技有限公司 | 基于设备指纹的校验方法、介质、服务端及系统 |
CN112003839A (zh) * | 2020-08-07 | 2020-11-27 | 杭州安恒信息安全技术有限公司 | 设备反身份识别方法、装置、电子装置和存储介质 |
CN112765604A (zh) * | 2020-12-30 | 2021-05-07 | 上海磐御网络科技有限公司 | 一种基于人工智能的网络安全系统 |
CN112799914A (zh) * | 2021-01-28 | 2021-05-14 | 南湖实验室 | 一种对计算机运行中代码、数据全时段动态监管的方法及系统 |
CN112799914B (zh) * | 2021-01-28 | 2022-08-05 | 南湖实验室 | 一种对计算机运行中代码、数据全时段动态监管的方法及系统 |
CN113515400A (zh) * | 2021-05-14 | 2021-10-19 | 恒安嘉新(北京)科技股份公司 | 一种关键信息基础设施的异常监测方法及装置 |
CN117668822A (zh) * | 2023-12-11 | 2024-03-08 | 北京丁牛科技有限公司 | 应用程序的启动控制方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102831356A (zh) | 基于软件指纹的软件动态可信认证方法 | |
CN110602046B (zh) | 数据监控处理方法、装置、计算机设备和存储介质 | |
US9100425B2 (en) | Method and apparatus for detecting malicious software using generic signatures | |
JP5326062B1 (ja) | 非実行ファイル検査装置及び方法 | |
EP2951955B1 (en) | Method and system for protecting web applications against web attacks | |
CN106888196A (zh) | 一种未知威胁检测的协同防御系统 | |
CN111651754B (zh) | 入侵的检测方法和装置、存储介质、电子装置 | |
EP3225009A1 (en) | Systems and methods for malicious code detection | |
CN104463569A (zh) | 安全连接支付方法及其装置 | |
EP3270318B1 (en) | Dynamic security module terminal device and method for operating same | |
TWI407328B (zh) | 網路病毒防護方法及系統 | |
CN103077352B (zh) | 一种基于云平台的程序行为分析的主动防御方法 | |
CN107493256A (zh) | 安全事件防御方法及装置 | |
Mudgerikar et al. | Edge-based intrusion detection for IoT devices | |
Shan et al. | Proactive restart as cyber maneuver for Android | |
CN106682493B (zh) | 一种防止进程被恶意结束的方法、装置及电子设备 | |
CN107122664B (zh) | 安全防护方法及装置 | |
CN103226676A (zh) | 应用软件可信性的混合度量方法 | |
CN108197468A (zh) | 一种移动存储介质的内网攻击智能防护系统 | |
WO2020134033A1 (zh) | 用于确定应用程序在运行时的安全性的方法及其装置 | |
CN102891752A (zh) | 基于网络指纹的软件动态可信认证方法 | |
Ham et al. | DroidVulMon--Android Based Mobile Device Vulnerability Analysis and Monitoring System | |
CN109495482A (zh) | 一种网络数据信息安全传输方法 | |
KR101923054B1 (ko) | 시그니쳐 기반으로 악성행위를 자체 탐지하는 유무선 게이트웨이 및 그 탐지 방법 | |
Kumar et al. | Understanding the behaviour of android sms malware attacks with real smartphones dataset |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
DD01 | Delivery of document by public notice |
Addressee: Wuhan Anjia Education Technology Co., Ltd. Document name: Notification of Publication of the Application for Invention |
|
DD01 | Delivery of document by public notice |
Addressee: Wuhan Anjia Education Technology Co., Ltd. Document name: Notification of before Expiration of Request of Examination as to Substance |
|
DD01 | Delivery of document by public notice |
Addressee: Wuhan Anjia Education Technology Co., Ltd. Document name: Notification that Application Deemed to be Withdrawn |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121219 |