CN110968870A - 一种软件运行时安全的检测方法 - Google Patents

一种软件运行时安全的检测方法 Download PDF

Info

Publication number
CN110968870A
CN110968870A CN201911194725.8A CN201911194725A CN110968870A CN 110968870 A CN110968870 A CN 110968870A CN 201911194725 A CN201911194725 A CN 201911194725A CN 110968870 A CN110968870 A CN 110968870A
Authority
CN
China
Prior art keywords
server
client
file
user
hash values
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
Application number
CN201911194725.8A
Other languages
English (en)
Inventor
胡冠睿
郭力恒
谈加虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gf Securities Co ltd
Original Assignee
Gf Securities Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Gf Securities Co ltd filed Critical Gf Securities Co ltd
Priority to CN201911194725.8A priority Critical patent/CN110968870A/zh
Publication of CN110968870A publication Critical patent/CN110968870A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种软件运行时安全的检测方法,包括客户端、服务器、执行程序、用于加载文件的资源、执行程序运行环境。本发明能够保证客户端的可信度,通过服务端发送一段代码到客户端,客户端执行这段代码,服务端根据响应结果来判定,客户端是否可信,能够覆盖上述方法的大部分场景。

Description

一种软件运行时安全的检测方法
技术领域
本发明涉及软件运行时安全的检测方法,具体涉及一种软件运行时安全的检测方法。
背景技术
软件安全就是使软件在受到恶意攻击的情形下,依然能够继续正确运行及确保软件被在授权范围内合法使用的思想。目前针对软件安全采用的技术包括软件水印、代码混淆、防篡改技术、授权加密技术以及虚拟机保护技术等。
在证券行业里,一种比较常见的攻击手段即是基于系统提供的API,采用外挂的形式接入到后台交易系统,从而实现非法接入的目的。
目前获取API的方式主要有:
1.采用网络嗅探、抓包的方式来分析网络协议,从而获取API。
2.采用破解、反编译客户端的方式获取前后端交互方式,进而获取系统API代码泄露,或者其他非正常途径获取源码,而得到API。
目前业内主要采用的是通过软件加固+动态验证的手段来保证客户端的运行环境安全,其中软件加固,主要包括以下手段:
采用加壳技术防止调试器逆向破解;
保护资源文件,防止资源文件被篡改,删除;
防二次打包:应用内任意文件被修改、替换后,都将无法正常运行;
防进程运行时调试器使用;
内存保护,防止内存篡改,调试,以及内存dump;
动态/静态链接库保护技术等。
以上技术主要偏重在正常客户端的运行环境的保护,如果破解者采用的是自有版本的客户端,那么以上保护无法保证客户端的可信度,针对这种不足,业内采用了“主动挑战”的方式来监测客户端,也即服务器发送一段代码到客户端,客户端执行这段代码,服务器根据响应结果来判定,客户端是否可信。目前主动挑战这块,尚无统一标准。
发明内容
本发明所要解决的技术问题是一种能够解决上述问题的运行时安全的检测方法。
本发明是通过以下技术方案来实现的:一种软件运行时安全的检测方法,其特征在于:包括客户端、服务器、执行程序、用于加载文件的资源、执行程序运行环境,检测方法步骤如下:
S1:服务器随机询问客户端,资源文件状态,一旦文件状态发生改变,服务器请求这些文件的hash值,并和服务器保存的hash值做比对,不一致的,则认为是异常用户;
S2:采用加壳技术,一般资源文件/代码文件采用打包的形式以静态文件存在,程序运行时脱壳,文件解压到内存中,对于这种形式,服务器可以随机查询内存中数据的hash值,来保证数据未被篡改,发现篡改的则认为异常用户;
S3:服务器随机请求函数执行的调用栈,通过函数调用关系来判断代码运行是否在安全范围内来识别异常用户;
S4:服务器随机请求函数执行环境,不限于进程列表,以及检查进程是否处于调试状态来识别异常用户。
S5:服务器随机获取函数的调用次数以及调用时间,通过对上述这些调用次数以及调用时间和正常的用户的调用次数和调用时间分布进行区分,来进行识别异常用户;
S6:对于挑战应答超时的用户,超过阈值,则认为是异常用户
本发明的有益效果是:本发明能够保证客户端的可信度,通过服务端发送一段代码到客户端,客户端执行这段代码,服务端根据响应结果来判定,客户端是否可信,能够覆盖上述方法的大部分场景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的服务端处理逻辑图;
图2为本发明的服务端和客户端交互流程图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
在本发明的描述中,需要理解的是,术语“一端”、“另一端”、“外侧”、“上”、“内侧”、“水平”、“同轴”、“中央”、“端部”、“长度”、“外端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
本发明使用的例如“上”、“上方”、“下”、“下方”等表示空间相对位置的术语是出于便于说明的目的来描述如附图中所示的一个单元或特征相对于另一个单元或特征的关系。空间相对位置的术语可以旨在包括设备在使用或工作中除了图中所示方位以外的不同方位。例如,如果将图中的设备翻转,则被描述为位于其他单元或特征“下方”或“之下”的单元将位于其他单元或特征“上方”。因此,示例性术语“下方”可以囊括上方和下方这两种方位。设备可以以其他方式被定向(旋转90度或其他朝向),并相应地解释本文使用的与空间相关的描述语。
在本发明中,除非另有明确的规定和限定,术语“设置”、“套接”、“连接”、“贯穿”、“插接”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
如图1至图2所示,包括客户端、服务器、执行程序、用于加载文件的资源、执行程序运行环境,检测方法步骤如下:
S1:服务器随机询问客户端,资源文件状态,一旦文件状态发生改变,服务
器请求这些文件的hash值,并和服务器保存的hash值做比对,不一致的,则认为是异常用户;
S2:采用加壳技术,一般资源文件/代码文件采用打包的形式以静态文件存在,程序运行时脱壳,文件解压到内存中,对于这种形式,服务器可以随机查询内存中数据的hash值,来保证数据未被篡改,发现篡改的则认为异常用户;
S3:服务器随机请求函数执行的调用栈,通过函数调用关系来判断代码运行是否在安全范围内来识别异常用户;
S4:服务器随机请求函数执行环境,不限于进程列表,以及检查进程是否处于调试状态来识别异常用户;
S5:服务器随机获取函数的调用次数以及调用时间,通过对上述这些调用次数以及调用时间和正常的用户的调用次数和调用时间分布进行区分,来进行识别异常用户;
S6:对于挑战应答超时的用户,超过阈值,则认为是异常用户
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何不经过创造性劳动想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书所限定的保护范围为准。

Claims (1)

1.一种软件运行时安全的检测方法,其特征在于:包括客户端、服务器、执行程序、用于加载文件的资源、执行程序运行环境,检测方法步骤如下:
S1:服务器随机询问客户端,资源文件状态,一旦文件状态发生改变,服务器请求这些文件的hash值,并和服务器保存的hash值做比对,不一致的,则认为是异常用户;
S2:采用加壳技术,一般资源文件/代码文件采用打包的形式以静态文件存在,程序运行时脱壳,文件解压到内存中,对于这种形式,服务器可以随机查询内存中数据的hash值,来保证数据未被篡改,发现篡改的则认为异常用户;
S3:服务器随机请求函数执行的调用栈,通过函数调用关系来判断代码运行是否在安全范围内来识别异常用户;
S4:服务器随机请求函数执行环境,不限于进程列表,以及检查进程是否处于调试状态来识别异常用户;
S5:服务器随机获取函数的调用次数以及调用时间,通过对上述这些调用次数以及调用时间和正常的用户的调用次数和调用时间分布进行区分,来进行识别异常用户;
S6:对于挑战应答超时的用户,超过阈值,则认为是异常用户。
CN201911194725.8A 2019-11-28 2019-11-28 一种软件运行时安全的检测方法 Pending CN110968870A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911194725.8A CN110968870A (zh) 2019-11-28 2019-11-28 一种软件运行时安全的检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911194725.8A CN110968870A (zh) 2019-11-28 2019-11-28 一种软件运行时安全的检测方法

Publications (1)

Publication Number Publication Date
CN110968870A true CN110968870A (zh) 2020-04-07

Family

ID=70032152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911194725.8A Pending CN110968870A (zh) 2019-11-28 2019-11-28 一种软件运行时安全的检测方法

Country Status (1)

Country Link
CN (1) CN110968870A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507292A (zh) * 2020-12-09 2021-03-16 重庆邮电大学 一种支持运行环境检测及完整性检测的加壳保护方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101783801A (zh) * 2010-01-29 2010-07-21 福建星网锐捷网络有限公司 一种基于网络的软件保护方法、客户端及服务器
CN103065069A (zh) * 2013-01-28 2013-04-24 电子科技大学 一种基于壳技术的软件保护方法
CN103425910A (zh) * 2013-07-31 2013-12-04 福建天晴数码有限公司 程序中函数是否被非法调用的检测方法
CN103856471A (zh) * 2012-12-06 2014-06-11 阿里巴巴集团控股有限公司 跨站脚本攻击监控系统及方法
CN105378744A (zh) * 2013-05-03 2016-03-02 思杰系统有限公司 在企业系统中的用户和设备认证
CN107038373A (zh) * 2017-04-28 2017-08-11 北京洋浦伟业科技发展有限公司 一种进程调试检测方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101783801A (zh) * 2010-01-29 2010-07-21 福建星网锐捷网络有限公司 一种基于网络的软件保护方法、客户端及服务器
CN103856471A (zh) * 2012-12-06 2014-06-11 阿里巴巴集团控股有限公司 跨站脚本攻击监控系统及方法
CN103065069A (zh) * 2013-01-28 2013-04-24 电子科技大学 一种基于壳技术的软件保护方法
CN105378744A (zh) * 2013-05-03 2016-03-02 思杰系统有限公司 在企业系统中的用户和设备认证
CN103425910A (zh) * 2013-07-31 2013-12-04 福建天晴数码有限公司 程序中函数是否被非法调用的检测方法
CN107038373A (zh) * 2017-04-28 2017-08-11 北京洋浦伟业科技发展有限公司 一种进程调试检测方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
梁玉: "S-Tracker:基于栈异常的shellcode检测方法", 《华中科技大学学报》 *
王健: "基于完整性验证和壳的软件保护技术研究", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507292A (zh) * 2020-12-09 2021-03-16 重庆邮电大学 一种支持运行环境检测及完整性检测的加壳保护方法
CN112507292B (zh) * 2020-12-09 2024-01-26 重庆邮电大学 一种支持运行环境检测及完整性检测的加壳保护方法

Similar Documents

Publication Publication Date Title
AU2020203503B2 (en) Automated runtime detection of malware
US10893068B1 (en) Ransomware file modification prevention technique
US10447730B2 (en) Detection of SQL injection attacks
US7673137B2 (en) System and method for the managed security control of processes on a computer system
JP4653230B2 (ja) Api検査装置及び状態監視装置
US20210014245A1 (en) In-stream malware protection
US8677493B2 (en) Dynamic cleaning for malware using cloud technology
US20100306850A1 (en) Behavioral engine for identifying patterns of confidential data use
US20070079373A1 (en) Preventing the installation of rootkits using a master computer
US12056237B2 (en) Analysis of historical network traffic to identify network vulnerabilities
CN115701019A (zh) 零信任网络的访问请求处理方法、装置及电子设备
US8763121B2 (en) Mitigating multiple advanced evasion technique attacks
CN110968870A (zh) 一种软件运行时安全的检测方法
US20150172310A1 (en) Method and system to identify key logging activities
CN110401621A (zh) 一种敏感指令的防护方法、设备及存储介质
CN105912945A (zh) 一种操作系统安全加固装置及运行方法
CN108289073A (zh) 基于安卓的app安全检测系统
CN113836529A (zh) 进程检测方法、装置、存储介质以及计算机设备
Tupakula et al. Dynamic state-based security architecture for detecting security attacks in virtual machines
JP2004355287A (ja) 不正要求防御装置および方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200407

RJ01 Rejection of invention patent application after publication