CN104331364A - 一种移动平台应用软件的检测方法 - Google Patents
一种移动平台应用软件的检测方法 Download PDFInfo
- Publication number
- CN104331364A CN104331364A CN201410560694.4A CN201410560694A CN104331364A CN 104331364 A CN104331364 A CN 104331364A CN 201410560694 A CN201410560694 A CN 201410560694A CN 104331364 A CN104331364 A CN 104331364A
- Authority
- CN
- China
- Prior art keywords
- mobile
- analysis
- application
- mobile platform
- detection method
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明揭示了一种基于语义分析、符号执行、定理证明和静态数据流分析的移动软件检测方法,并基于软件检测的结果为不同的移动应用软件设置标签,最终构建安全应用仓库。针对移动应用的语法特点,为移动应用构建普通语法树、抽象语法树,并使用符号执行的方式实现程序执行全路径覆盖,以静态的逻辑符号模拟程序动态执行,解决移动平台恶意软件分地区、分时段爆发导致正常运行无法重现恶意攻击行为的问题。以定理证明和静态数据流分析的技术手段对符号执行的结果进行分析,并以得到的分析结果检测移动应用的安全弱点、可能导致程序崩溃的语法错误以及是否存在恶意行为;将移动应用分为安全应用、脆弱应用和恶意应用三大类。
Description
技术领域
本发明设计一种移动平台应用软件的检测方法,综合利用软件编程技术、程序分析技术、网络服务技术加密解密技术及移动通讯技术实现,可用于检测移动应用安全弱点、可能导致程序崩溃的语法错误以及是否存在恶意行为;并最终构建安全应用仓库,为移动互联时代提供一个可信应用市场,保护移动平台用户的信息和资产安全。
背景技术
目前搭载在智能操作系统上的移动设备已经得到了广泛的应用。随着移动智能终端的发展,移动平台上的安全问题也日益突出,脆弱型应用和恶意软件的数量出现爆发式的增长。而目前主流的安全软件都无法有效遏制恶意软件的大范围传播,这使得移动设备用户面临着越来越大的安全威胁。
目前移动应用程序的检测方法主要有两种:一种是按照病毒查杀的方式进行检测,将恶意软件当成病毒,按照特征签名的方式进行检测。该方法可以快速检测出已知恶意软件,但却无法检测应用软件存在哪些安全弱点或语法错误,且对于新出现的应用程序多采用人工分析的方式,因此检测结果也存在一定的滞后期。另一种方式是采用动态监控的方法,通过动态实时监控应用程序的执行及其与外部环境的交互进行检测。采用动态分析方法,可以自动生成输入并在程序执行过程中记录日志,通过分析记录的日志信息来检测应用程序当中是否存在安全问题。该方法依赖于特定的触发条件,但对于触发逻辑较为复杂的应用程序,存在明显的不足。本发明提出了一种基于语义分析的符号执行和静态数据流分析方法,通过分析程序语义结合定理证明和数据流分析方法跟踪应用程序的执行流程,检测应用程序中是否存在安全隐患或是否存在恶意订购、资费消耗、执行系统命令、加载本地代码等多种恶意行为。大规模的实验表明,该方法可以有效检测出应用程序当中存在的安全隐患并能及时发现恶意行为,具有较高的实用价值。
发明内容
本发明针对现有技术的窘境,提出了一种移动平台应用软件的检测方法,彻底解决移动平台恶意软件分地区、分时段爆发导致正常运行无法重现恶意攻击行为的问题,提高软件应用实施的安全性。
本发明的上述目的得以实现的技术解决方案是,一种移动平台应用软件的检测方法,面向包括智能手机、平板电脑的移动平台应用软件做安全检测,其特征在于所述检测方法包括语义分析、符号执行、定理证明和静态数据流分析,其中所述移动应用软件检测方法采用反汇编级别的代码语义分析,构建普通语法树、抽象语法树,并使用符号执行的方式实现程序执行全路径覆盖,以静态的逻辑符号模拟程序动态执行,解决移动平台恶意软件分地区、分时段爆发导致正常运行无法重现恶意攻击行为的问题;以定理证明和静态数据流分析的技术手段对符号执行的结果进行分析,并以得到的分析结果检测移动应用的安全弱点、可能导致程序崩溃的语法错误以及是否存在恶意行为;将移动平台应用软件的检测结果分为安全应用、脆弱应用和恶意应用三大类。
进一步地,所述检测基于应用程序的程序语义进行分析,构建普通语法树、抽象语法树。
进一步地,所述检测基于语义分析之后得到的抽象语法树进行符号执行,全路径覆盖应用程序的执行分支,以逻辑符号的形式模拟程序动态执行;解决移动平台恶意软件分地区、分时段爆发导致正常运行无法重现恶意攻击行为的问题。
进一步地,所述检测将符号执行获得结果通过定理证明和静态数据流分析的技术手段进行分析,通过定理证明器和数据流分析引擎得到的检测结果检测移动应用的安全弱点、可能导致程序崩溃的语法错误以及是否存在恶意行为。
进一步地,移动平台应用软件的检测结果分类后,构建安全应用仓库。
应用本发明软件检测的技术方案:通过语义分析、符号执行、定理证明和静态数据流分析对应用软件进行脆弱性分析和恶意行为分析,能在应用发放市场之前发现应用的安全弱点或发现恶意应用,提高软件质量,防止恶意软件流通到应用市场。大幅提高移动平台设备使用的安全性能。
附图说明
图1为本发明移动应用软件检测实施的系统框图。
图2为本发明移动应用软件检测方法的流程示意图(以Android平台为例)。
具体实施方式
本发明针对现有移动平台应用软件缺乏安全检测,软件安全性脆弱、恶意软件泛滥的特点,提出了一种移动平台应用软件的检测方法,在应用进入到市场之前发现应用的安全弱点或发现恶意应用,提高软件质量、防止恶意软件流通到应用市场。大幅提高移动平台设备使用的安全性能。
本发明检测方法的实现有赖于移动平台之外的云端服务器和安全体系,它面向包括智能手机、平板电脑等在内的移动平台所用应用软件做检测处理,以达到及时发现应用的安全弱点或发现恶意应用。提高软件质量、防止恶意软件流通到应用市场。如图1所示的系统框图可见:该方法根据移动应用的语法特点,扫描并构建普通语法树、抽象语法树,以语法树为对象进行安全检测。
该检测方法包括语义分析模块、符号执行模块、定理证明器、静态数据流分析引擎和应用库五部分。如图2所示,其中语义分析模块扫描应用汇编指令并构建语法树;符号执行模块将程序的执行抽象为逻辑符号,覆盖程序功能的全路径;定理证明器根据符号执行的结果分析程序是否存在安全隐患或语法错误可能导致程序崩溃或被恶意利用;静态数据流分析引擎监视程序调用的敏感API和敏感常量的操作流程,检测程序是否存在安全隐患会导致用户隐私泄露或财产损失;根据程序的检测结果,将不同的应用进行分类,主要分为安全应用、脆弱应用和恶意应用三大类,最终构建安全应用仓库。
以Android平台为例,由于其Dalvik指令集固定且公开的特点,容易对不同应用进行语义分析,并以符号执行的方式模拟程序执行,监控诸如联系人列表、密码存储等敏感数据操作。
综上所述可见,应用本发明移动应用软件检测的技术方案:通过语义分析、符号执行、定理证明和静态数据流分析的技术手段,并基于软件检测的结果为不同的移动应用软件设置标签,最终构建安全应用仓库。针对移动应用的语法特点,为移动应用构建普通语法树、抽象语法树,并使用符号执行的方式实现程序执行全路径覆盖,以静态的逻辑符号模拟程序动态执行,解决移动平台恶意软件分地区、分时段爆发导致正常运行无法重现恶意攻击行为的问题。以定理证明和静态数据流分析的技术手段对符号执行的结果进行分析,并以得到的分析结果检测移动应用的安全弱点、可能导致程序崩溃的语法错误以及是否存在恶意行为;将移动应用分为安全应用、脆弱应用和恶意应用三大类。
Claims (5)
1.一种移动平台应用软件的检测方法,面向包括智能手机、平板电脑的移动平台应用软件做安全检测,其特征在于所述检测方法包括语义分析、符号执行、定理证明和静态数据流分析,其中所述移动应用软件检测方法采用反汇编级别的代码语义分析,构建普通语法树、抽象语法树,并使用符号执行的方式实现程序执行全路径覆盖,以静态的逻辑符号模拟程序动态执行,解决移动平台恶意软件分地区、分时段爆发导致正常运行无法重现恶意攻击行为的问题;以定理证明和静态数据流分析的技术手段对符号执行的结果进行分析,并以得到的分析结果检测移动应用的安全弱点、可能导致程序崩溃的语法错误以及是否存在恶意行为;将移动平台应用软件的检测结果分为安全应用、脆弱应用和恶意应用三大类。
2.根据权利要求1所述移动平台应用软件的检测方法,其特征在于:所述检测基于应用程序的程序语义进行分析,构建普通语法树、抽象语法树。
3.根据权利要求1所述移动平台应用软件的检测方法,其特征在于:所述检测基于语义分析之后得到的抽象语法树进行符号执行,全路径覆盖应用程序的执行分支,以逻辑符号的形式模拟程序动态执行;解决移动平台恶意软件分地区、分时段爆发导致正常运行无法重现恶意攻击行为的问题。
4.根据权利要求1所述移动平台应用软件的检测方法,其特征在于:所述检测将符号执行获得结果通过定理证明和静态数据流分析的技术手段进行分析,通过定理证明器和数据流分析引擎得到的检测结果检测移动应用的安全弱点、可能导致程序崩溃的语法错误以及是否存在恶意行为。
5.根据权利要求1所述移动平台应用软件的检测方法,其特征在于:移动平台应用软件的检测结果分类后,构建安全应用仓库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410560694.4A CN104331364A (zh) | 2014-10-21 | 2014-10-21 | 一种移动平台应用软件的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410560694.4A CN104331364A (zh) | 2014-10-21 | 2014-10-21 | 一种移动平台应用软件的检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104331364A true CN104331364A (zh) | 2015-02-04 |
Family
ID=52406096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410560694.4A Pending CN104331364A (zh) | 2014-10-21 | 2014-10-21 | 一种移动平台应用软件的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104331364A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959372A (zh) * | 2016-05-06 | 2016-09-21 | 华南理工大学 | 一种基于移动应用的互联网用户数据分析方法 |
CN110135154A (zh) * | 2019-03-28 | 2019-08-16 | 江苏通付盾信息安全技术有限公司 | 应用程序的注入攻击检测系统及方法 |
CN115658511A (zh) * | 2022-10-27 | 2023-01-31 | 豫章师范学院 | 一种源代码的执行行为的监控方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100223599A1 (en) * | 2009-02-27 | 2010-09-02 | Fujitsu Limited | Efficient symbolic execution of software using static analysis |
CN102799529A (zh) * | 2012-07-13 | 2012-11-28 | 北京航空航天大学 | 一种动态的二进制代码测试用例生成方法 |
CN102938040A (zh) * | 2012-09-29 | 2013-02-20 | 中兴通讯股份有限公司 | Android恶意应用程序检测方法、系统及设备 |
CN103793650A (zh) * | 2013-12-02 | 2014-05-14 | 北京邮电大学 | Android应用程序的静态分析方法及装置 |
-
2014
- 2014-10-21 CN CN201410560694.4A patent/CN104331364A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100223599A1 (en) * | 2009-02-27 | 2010-09-02 | Fujitsu Limited | Efficient symbolic execution of software using static analysis |
CN102799529A (zh) * | 2012-07-13 | 2012-11-28 | 北京航空航天大学 | 一种动态的二进制代码测试用例生成方法 |
CN102938040A (zh) * | 2012-09-29 | 2013-02-20 | 中兴通讯股份有限公司 | Android恶意应用程序检测方法、系统及设备 |
CN103793650A (zh) * | 2013-12-02 | 2014-05-14 | 北京邮电大学 | Android应用程序的静态分析方法及装置 |
Non-Patent Citations (2)
Title |
---|
"基于符号执行的软件静态测试研究";梁娟娟 等;《计算机技术与发展》;20130630;第23卷(第6期);第42页第1-2段,第43页第1节第4段,第43页第2.1节第1段,第44页第2.2节第1-7段、图1,图4 * |
梁娟娟 等: ""基于符号执行的软件静态测试研究"", 《计算机技术与发展》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959372A (zh) * | 2016-05-06 | 2016-09-21 | 华南理工大学 | 一种基于移动应用的互联网用户数据分析方法 |
CN105959372B (zh) * | 2016-05-06 | 2019-05-14 | 华南理工大学 | 一种基于移动应用的互联网用户数据分析方法 |
CN110135154A (zh) * | 2019-03-28 | 2019-08-16 | 江苏通付盾信息安全技术有限公司 | 应用程序的注入攻击检测系统及方法 |
CN115658511A (zh) * | 2022-10-27 | 2023-01-31 | 豫章师范学院 | 一种源代码的执行行为的监控方法和系统 |
CN115658511B (zh) * | 2022-10-27 | 2023-08-29 | 豫章师范学院 | 一种源代码的执行行为的监控方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11716348B2 (en) | Malicious script detection | |
Spreitzenbarth et al. | Mobile-Sandbox: combining static and dynamic analysis with machine-learning techniques | |
Spreitzenbarth et al. | Mobile-sandbox: having a deeper look into android applications | |
Abawajy et al. | Identifying cyber threats to mobile-IoT applications in edge computing paradigm | |
Batyuk et al. | Using static analysis for automatic assessment and mitigation of unwanted and malicious activities within Android applications | |
Ham et al. | Analysis of android malware detection performance using machine learning classifiers | |
Wilhelm et al. | A forced sampled execution approach to kernel rootkit identification | |
Wang et al. | Checksum-aware fuzzing combined with dynamic taint analysis and symbolic execution | |
US8726386B1 (en) | Systems and methods for detecting malware | |
CN106611122A (zh) | 基于虚拟执行的未知恶意程序离线检测系统 | |
CN102541729A (zh) | 软件安全漏洞检测装置和方法 | |
CN102916937B (zh) | 一种拦截网页攻击的方法、装置和客户端设备 | |
CN109347882B (zh) | 网页木马监测方法、装置、设备及存储介质 | |
CN103729595A (zh) | 一种Android应用程序隐私数据泄露离线检测方法 | |
US10657257B2 (en) | Feature vector aggregation for malware detection | |
CN105095759A (zh) | 文件的检测方法及装置 | |
CN104508672A (zh) | 程序执行装置以及程序分析装置 | |
Akram et al. | How to build a vulnerability benchmark to overcome cyber security attacks | |
Elish et al. | A static assurance analysis of android applications | |
KR101244731B1 (ko) | 디버그 이벤트를 이용한 악성 쉘 코드 탐지 장치 및 방법 | |
Graa et al. | Protection against code obfuscation attacks based on control dependencies in android systems | |
CN104331364A (zh) | 一种移动平台应用软件的检测方法 | |
Alashjee et al. | Dynamic Taint Analysis Tools: A Review. | |
Short et al. | Android smartphone third party advertising library data leak analysis | |
Park et al. | A-pot: a comprehensive android analysis platform based on container technology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Xinping street Suzhou City Industrial Park 215123 Jiangsu province No. 388 innovation park off 6 Building 5 floor Applicant after: Jiangsu pay shield information Safe Technology Ltd Address before: Xinping street Suzhou City Industrial Park 215123 Jiangsu province No. 388 innovation park off 6 Building 5 floor Applicant before: JIANGSU PAYEGIS INFORMATION TECHNOLOGY CO., LTD. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150204 |