CN113486346A - 一种基于Java Agent插桩技术的运行时安全检测方法及装置 - Google Patents
一种基于Java Agent插桩技术的运行时安全检测方法及装置 Download PDFInfo
- Publication number
- CN113486346A CN113486346A CN202110606260.3A CN202110606260A CN113486346A CN 113486346 A CN113486346 A CN 113486346A CN 202110606260 A CN202110606260 A CN 202110606260A CN 113486346 A CN113486346 A CN 113486346A
- Authority
- CN
- China
- Prior art keywords
- operation content
- application program
- thread
- detected
- detection
- 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
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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2448—Query languages for particular applications; for extensibility, e.g. user defined types
-
- 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/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Abstract
本发明公开了一种基于Java Agent插桩技术的运行时安全检测方法,包括步骤:通过JavaAgent插桩探针以截获基于应用程序接口API的操作内容;将所述操作内容进行预处理后以调用匹配的线程;所述线程基于所述操作内容匹配出插桩策略对所述操作内容进行检测,当检测出恶意文件时则发出预警信息并同时截断应用程序启动操作模式。本发明的运行安全检测方法实现在应用程序待运行时的安全检测,并通过及时处理,提升应用程序运行时的安全性。另外本发明还提供了一种基于Java Agent插桩技术的运行时安全检测装置。
Description
技术领域
本发明涉及信息安全检测技术领域,特别涉及一种基于Java Agent插桩技术的运行时安全检测方法即装置。
背景技术
随着网络技术的不断发展,移动终端对网络的需求增大也是基于应用软件的不断增多而形成的,应用软件市场使软件行销、安装和更新一体化,因此开发者可以很容易的把应用程序放到应用市场中,人们也可以很容易的从应用市场中获取和使用相应的应用程序。
虽然应用程序的使用极大的方便了使用智能移动终端的用户,然而应用程序由于其软件的局限性,在设计或者使用时难免会造成漏洞并形成安全隐患,而且在实际中应用程序APP的漏洞使用过程是非常隐蔽且难以发现的,尤其是在后台运行时产生的隐蔽危险行为是用户不能及时发现的,这就造成了极大的安全隐患,现有的方案中涉及了动态或静态的安全检测模式,但是检测过程较为复杂,也并不能有针对性高效的进行检测,由此造成了用户使用app时存在的安全隐患不能及时清除,在一定程度上会使得用户造成经济损失。
发明内容
有鉴于此,本发明的目的是提供一种基于Java Agent插桩技术的运行时安全检测方法及装置。以实现在应用程序待运行时的安全检测,并通过及时处理,提升应用程序运行时的安全性。
本发明的第一方面的目的是通过以下技术方案实现的:
一种基于Java Agent插桩技术的运行时安全检测方法,所述方法包括:
通过JavaAgent插桩探针以截获基于应用程序接口API的操作内容;
将所述操作内容进行预处理后以调用匹配的线程;
所述线程基于所述操作内容匹配出插桩策略对所述操作内容进行检测,当检测出恶意文件时则发出预警信息并同时截断应用程序启动操作模式。
进一步的,所述通过JavaAgent插桩探针以截获基于应用程序接口API的操作内容的步骤之前还包括,建立恶意文件检测线程池,并且实时监听应用程序的行为特征,当监听到应用程序启动待特征时,通过探针截获基于应用程序接口API的操作内容。
进一步的,所述将所述操作内容进行预处理后以调用匹配的线程的步骤包括,将所述操作内容添加标签后形成待检测的APK文件;
将所述待检测的APK文件发送至APK文件检测队列中,当达到检测状态时,判断当前是否有线程进行检测,若没有则创建新的线程;若有,则直接调用当前线程进行检测。
进一步的,所述线程基于所述操作内容匹配出插桩策略对所述操作内容进行检测的步骤包括,
所述线程解析所述操作内容,以确定出该操作内容的待检测类别;
根据所述待检测类别,所述线程发送插桩策略匹配请求,并接收基于待检测类别的插桩策略,使用插桩策略对所述操作内容进行检测。
进一步的,所述待检测类别包括SQL执行检测类别、命令执行行为检测类别或者通讯录信息读取操作检测类别中的一种或多种。
进一步的,所述插桩策略为执行SQL执行检测模式、命令执行行为检测模式或者通讯录信息读取操作检测模式。
进一步的,所述当检测出恶意文件时则发出预警信息并同时截断应用程序启动操作模式的步骤之后,还包括,提取检测出的恶意文件的代码类型,并轮询是否为已经存储的代码,若为是,则调取出代码的原始存储位置,并在该代码的标识中增加其被检测到的次数标识,同时存储该内容,若为否,则基于该代码创建代码标识,并存储该标识及代码内容。
根据本发明的实施例,本发明还提出了一种基于Java Agent插桩技术的运行时安全检测装置,所述装置包括:
截获模块,用于通过JavaAgent插桩探针以截获基于应用程序接口API的操作内容;
调用模块,用于将所述操作内容进行预处理后以调用匹配的线程;
处理模块,用于所述线程基于所述操作内容匹配出插桩策略对所述操作内容进行检测,当检测出恶意文件时则发出预警信息并同时截断应用程序启动操作模式。
进一步的,所述装置还包括:
预设立模块,用于建立恶意文件检测线程池,并且实时监听应用程序的行为特征,当监听到应用程序启动待特征时,通过探针截获基于应用程序接口API的操作内容。
进一步的,所述处理模块包括:
解析子模块,用于所述线程解析所述操作内容,以确定出该操作内容的待检测类别;
处理子模块,用于根据所述待检测类别,所述线程发送插桩策略匹配请求,并接收基于待检测类别的插桩策略,使用插桩策略对所述操作内容进行检测。
本发明的有益效果是:本发明的运行安全检测方法实现在应用程序待运行时的安全检测,并通过及时处理,提升应用程序运行时的安全性。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书和前述的权利要求书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
图1为本发明提出的基于Java Agent插桩技术的运行时安全检测方法流程图;
图2为本发明提出的基于Java Agent插桩技术的运行时安全检测装置框架图。
具体实施方式
以下将参照附图,对本发明的优选实施例进行详细的描述。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
如图1所示,本发明提出了一种基于Java Agent插桩技术的运行时安全检测方法,方法包括以下步骤:
步骤S101:通过JavaAgent插桩探针以截获基于应用程序接口API的操作内容。
根据本发明的实施例,本发明中,通过JavaAgent插桩探针以截获基于应用程序接口API的操作内容。JavaAgent插桩技术通过部署不同类别的探针来实现操作内容的获取过程,在实现探针获取操作内容的过程中,需要提前部署探针,因此,在本步骤之前,还包括,建立恶意文件检测线程池,并且实时监听应用程序的行为特征,当监听到应用程序待启动特征时,通过探针截获基于应用程序接口API的操作内容。
在插桩技术中设置监听器来监听是否截获操作内容,预先设置好监听器的IP地址和端口号信息后,启动监听过程,实时监听应用程序是否即将被触发启动,若为是,则通过探针截获操作内容。
步骤S102:将所述操作内容进行预处理后以调用匹配的线程。
在本步骤中,将所述操作内容添加标签后形成待检测的APK文件;
将所述待检测的APK文件发送至APK文件检测队列中,当达到检测状态时,判断当前是否有线程进行检测,若没有则创建新的线程;若有,则直接调用当前线程进行检测。
本发明中,监听器监听所有的应用程序特征行为,触发多个待检测的操作内容,将每一个操作内容贴上标签后形成待检测的APK文件,所有待检测的APK文件形成待检测的文件队列。从而根据预先设计的检测顺序进行检测,可以根据设置的优先级来进行检测,比如根据时间、根据应用程序的使用频率、或者根据用户的指令,从而快速检测当前最需要进行检测的应用程序,以供用户使用。
预先建立的恶意文件线程池中设置了多种检测线程,通过线程来检测待检测的文件,由于可能存在待检测的内容过多造成线程都被占用,因此需要根据是否存在线程来进行判断,若没有线程,则创建新的线程。
步骤S103:所述线程基于所述操作内容匹配出插桩策略对所述操作内容进行检测,当检测出恶意文件时则发出预警信息并同时截断应用程序启动操作模式。
在本发明中,通过前一步骤中产生的检测线程,来基于操作内容匹配出插桩策略对所述操作内容进行检测,包括:
所述线程解析所述操作内容,以确定出该操作内容的待检测类别,其中,该检测类别包括:SQL执行检测类别、命令执行行为检测类别或者通讯录信息读取操作检测类别中的一种或多种。
根据所述待检测类别,所述线程发送插桩策略匹配请求,并接收基于待检测类别的插桩策略,使用插桩策略对所述操作内容进行检测。所述插桩策略为执行SQL执行检测模式、命令执行行为检测模式或者通讯录信息读取操作检测模式。
所述当检测出恶意文件时则发出预警信息并同时截断应用程序启动操作模式的步骤之后,还包括,提取检测出的恶意文件的代码类型,并轮询是否为已经存储的代码,若为是,则调取出代码的原始存储位置,并在该代码的标识中增加其被检测到的次数标识,同时存储该内容,若为否,则基于该代码创建代码标识,并存储该标识及代码内容。
根据本发明的实施例,本发明还提出了一种Java Agent插桩技术的运行时安全检测装置,所述装置包括:
截获模块,用于通过JavaAgent插桩探针以截获基于应用程序接口API的操作内容;
调用模块,用于将所述操作内容进行预处理后以调用匹配的线程;
处理模块,用于所述线程基于所述操作内容匹配出插桩策略对所述操作内容进行检测,当检测出恶意文件时则发出预警信息并同时截断应用程序启动操作模式。
预设立模块,用于建立恶意文件检测线程池,并且实时监听应用程序的行为特征,当监听到应用程序启动待特征时,通过探针截获基于应用程序接口API的操作内容。
进一步的,所述处理模块包括:
解析子模块,用于所述线程解析所述操作内容,以确定出该操作内容的待检测类别;
处理子模块,用于根据所述待检测类别,所述线程发送插桩策略匹配请求,并接收基于待检测类别的插桩策略,使用插桩策略对所述操作内容进行检测。
对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统、装置或终端权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种基于Java Agent插桩技术的运行时安全检测方法,其特征在于:所述方法包括:
通过JavaAgent插桩探针以截获基于应用程序接口API的操作内容;
将所述操作内容进行预处理后以调用匹配的线程;
所述线程基于所述操作内容匹配出插桩策略对所述操作内容进行检测,当检测出恶意文件时则发出预警信息并同时截断应用程序启动操作模式。
2.根据权利要求1所述的基于Java Agent插桩技术的运行时安全检测方法,其特征在于:所述通过JavaAgent插桩探针以截获基于应用程序接口API的操作内容的步骤之前还包括,建立恶意文件检测线程池,并且实时监听应用程序的行为特征,当监听到应用程序待启动特征时,通过探针截获基于应用程序接口API的操作内容。
3.根据权利要求2所述的基于Java Agent插桩技术的运行时安全检测方法,其特征在于:所述将所述操作内容进行预处理后以调用匹配的线程的步骤包括,将所述操作内容添加标签后形成待检测的APK文件;
将所述待检测的APK文件发送至APK文件检测队列中,当达到检测状态时,判断当前是否有线程进行检测,若没有则创建新的线程;若有,则直接调用当前线程进行检测。
4.根据权利要求3所述的基于Java Agent插桩技术的运行时安全检测方法,其特征在于:所述线程基于所述操作内容匹配出插桩策略对所述操作内容进行检测的步骤包括,
所述线程解析所述操作内容,以确定出该操作内容的待检测类别;
根据所述待检测类别,所述线程发送插桩策略匹配请求,并接收基于待检测类别的插桩策略,使用插桩策略对所述操作内容进行检测。
5.根据权利要求4所述的基于Java Agent插桩技术的运行时安全检测方法,其特征在于:所述待检测类别包括SQL执行检测类别、命令执行行为检测类别或者通讯录信息读取操作检测类别中的一种或多种。
6.根据权利要求5所述的基于Java Agent插桩技术的运行时安全检测方法,其特征在于:所述插桩策略为执行SQL执行检测模式、命令执行行为检测模式或者通讯录信息读取操作检测模式。
7.根据权利要求6所述的基于Java Agent插桩技术的运行时安全检测方法,其特征在于:所述当检测出恶意文件时则发出预警信息并同时截断应用程序启动操作模式的步骤之后,还包括,提取检测出的恶意文件的代码类型,并轮询是否为已经存储的代码,若为是,则调取出代码的原始存储位置,并在该代码的标识中增加其被检测到的次数标识,同时存储该内容,若为否,则基于该代码创建代码标识,并存储该标识及代码内容。
8.一种基于Java Agent插桩技术的运行时安全检测装置,其特征在于:所述装置包括:
截获模块,用于通过JavaAgent插桩探针以截获基于应用程序接口API的操作内容;
调用模块,用于将所述操作内容进行预处理后以调用匹配的线程;
处理模块,用于所述线程基于所述操作内容匹配出插桩策略对所述操作内容进行检测,当检测出恶意文件时则发出预警信息并同时截断应用程序启动操作模式。
9.根据权利要求8所述的基于Java Agent插桩技术的运行时安全检测装置,其特征在于:所述装置还包括:
预设立模块,用于建立恶意文件检测线程池,并且实时监听应用程序的行为特征,当监听到应用程序启动待特征时,通过探针截获基于应用程序接口API的操作内容。
10.根据权利要求9所述的基于Java Agent插桩技术的运行时安全检测装置,其特征在于:所述处理模块包括:
解析子模块,用于所述线程解析所述操作内容,以确定出该操作内容的待检测类别;
处理子模块,用于根据所述待检测类别,所述线程发送插桩策略匹配请求,并接收基于待检测类别的插桩策略,使用插桩策略对所述操作内容进行检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110606260.3A CN113486346A (zh) | 2021-05-27 | 2021-05-27 | 一种基于Java Agent插桩技术的运行时安全检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110606260.3A CN113486346A (zh) | 2021-05-27 | 2021-05-27 | 一种基于Java Agent插桩技术的运行时安全检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113486346A true CN113486346A (zh) | 2021-10-08 |
Family
ID=77933982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110606260.3A Pending CN113486346A (zh) | 2021-05-27 | 2021-05-27 | 一种基于Java Agent插桩技术的运行时安全检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486346A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090039167A (ko) * | 2007-10-17 | 2009-04-22 | 에스케이 텔레콤주식회사 | 콘텐츠에 표시조건을 부가하는 방법, 장치, 시스템 |
CN104715195A (zh) * | 2015-03-12 | 2015-06-17 | 广东电网有限责任公司信息中心 | 基于动态插桩的恶意代码检测系统及方法 |
CN105095092A (zh) * | 2015-09-25 | 2015-11-25 | 南京大学 | 基于静态分析和动态运行的Web应用JavaScript代码原子性违反检测 |
CN106649063A (zh) * | 2016-11-22 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 用于监测程序运行时耗时数据的方法及系统 |
CN111552771A (zh) * | 2020-04-02 | 2020-08-18 | 贵州电网有限责任公司 | 一种用于电力系统的安全合规策略创建及管理系统 |
CN112685316A (zh) * | 2021-01-04 | 2021-04-20 | 广州品唯软件有限公司 | 代码执行路径的获取方法、装置、计算机设备及存储介质 |
-
2021
- 2021-05-27 CN CN202110606260.3A patent/CN113486346A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090039167A (ko) * | 2007-10-17 | 2009-04-22 | 에스케이 텔레콤주식회사 | 콘텐츠에 표시조건을 부가하는 방법, 장치, 시스템 |
CN104715195A (zh) * | 2015-03-12 | 2015-06-17 | 广东电网有限责任公司信息中心 | 基于动态插桩的恶意代码检测系统及方法 |
CN105095092A (zh) * | 2015-09-25 | 2015-11-25 | 南京大学 | 基于静态分析和动态运行的Web应用JavaScript代码原子性违反检测 |
CN106649063A (zh) * | 2016-11-22 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 用于监测程序运行时耗时数据的方法及系统 |
CN111552771A (zh) * | 2020-04-02 | 2020-08-18 | 贵州电网有限责任公司 | 一种用于电力系统的安全合规策略创建及管理系统 |
CN112685316A (zh) * | 2021-01-04 | 2021-04-20 | 广州品唯软件有限公司 | 代码执行路径的获取方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
李兆延等: "《云计算导论》", 31 August 2020 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108108297B (zh) | 自动化测试的方法和装置 | |
CN109726072B (zh) | WebLogic服务器的监控告警方法、装置、系统及计算机存储介质 | |
KR100938672B1 (ko) | 악성 코드에 의해 삽입된 동적 연결 라이브러리 검출 장치 및 방법 | |
US20150150128A1 (en) | Method and apparatus for intercepting or cleaning-up plugins | |
CN107229566B (zh) | 用于soa服务转换语言保持功能一致性的方法及系统 | |
CN107193714B (zh) | 一种告警展示方法及装置 | |
CN110716873B (zh) | 一种硬件兼容性知识库构建方法 | |
CN111966603B (zh) | 内存泄露的检测方法及装置、可读存储介质及电子设备 | |
CN102567674A (zh) | 基于行为判断软件是否含有病毒的方法和设备 | |
CN111813646A (zh) | docker容器环境下注入应用探针的方法和装置 | |
CN110569140A (zh) | 一种运维方法及装置 | |
CN111859399A (zh) | 一种基于oval的漏洞检测方法及装置 | |
CN113486346A (zh) | 一种基于Java Agent插桩技术的运行时安全检测方法及装置 | |
CN111770085A (zh) | 一种网络安保系统、方法、设备及介质 | |
CN106802821B (zh) | 识别应用程序安装来源的方法及装置 | |
CN112257065A (zh) | 一种进程事件处理方法和装置 | |
CN112256470A (zh) | 故障服务器定位方法及装置、存储介质及电子设备 | |
CN115454673A (zh) | 一种基板管理控制器的数据收集方法、装置及介质 | |
CN113486335B (zh) | 一种基于rasp零规则的jni恶意攻击检测方法及装置 | |
CN115509854A (zh) | 一种巡检处理方法、巡检服务器及系统 | |
CN115454856A (zh) | 多应用的安全检测方法、装置、介质及电子设备 | |
CN113656251A (zh) | 监控应用程序行为的方法及其相关产品 | |
CN112434287A (zh) | 一种检测Hook的方法、装置、设备及存储介质 | |
CN112596750A (zh) | 应用测试方法、装置、电子设备及计算机可读存储介质 | |
CN111274585B (zh) | 一种Web应用越权漏洞检测方法、装置、设备和介质 |
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: 20211008 |
|
RJ01 | Rejection of invention patent application after publication |