CN105069357A - 扫描漏洞的方法、云端服务器及系统 - Google Patents

扫描漏洞的方法、云端服务器及系统 Download PDF

Info

Publication number
CN105069357A
CN105069357A CN201510475979.2A CN201510475979A CN105069357A CN 105069357 A CN105069357 A CN 105069357A CN 201510475979 A CN201510475979 A CN 201510475979A CN 105069357 A CN105069357 A CN 105069357A
Authority
CN
China
Prior art keywords
cloud server
leak
storehouse
scan
client
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
CN201510475979.2A
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.)
Fujian TQ Digital Co Ltd
Original Assignee
Fujian TQ Digital 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 Fujian TQ Digital Co Ltd filed Critical Fujian TQ Digital Co Ltd
Priority to CN201510475979.2A priority Critical patent/CN105069357A/zh
Publication of CN105069357A publication Critical patent/CN105069357A/zh
Pending legal-status Critical Current

Links

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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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/562Static detection

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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种扫描漏洞的方法、云端服务器及系统,包括:S1:云端服务器解析APK文件中应用程序的XML文件,解密并获取签名信息;S2:云端服务器解析所述签名信息,并与预设的签名信息比对,生成比对结果;S3:云端服务器生成结果报表,输出给客户端。通过上述方式,本发明能够实现云端扫描漏洞,提高安全性;并运行简单、可查找出漏洞风险,并提示开发者或用户进行改进,减少损失。

Description

扫描漏洞的方法、云端服务器及系统
技术领域
本发明涉及Android技术领域,尤其是涉及一种扫描漏洞的方法、云端服务器及系统。
背景技术
随着移动行业的快速发展,手机应用的安全问题越来越严重,而安卓系统占有绝大多数的用户,而且安卓系统的开放性带来具体便捷和发展的同时,也带来诸多问题,为恶意软件代码提供了滋生环境,大量的第三方应用程序存在着诸多惊人的漏洞,而往往被忽略,逆向、破解、反编译、伪造、外挂、木马等威胁越来越多,不断威胁着广大用户和手机应用开发商的信息安全和自身利益。
现有的安卓APK扫描漏洞方法,一般是用户在使用的时候,应用下载到用户手机中,利用手机中的第三方安全软件,如手机卫士、手机管家等软件进行下载后的安全扫描和风险扫描,以及安装之前系统提供的基本的风险和权限提醒,但并没有在开发初期就给予开发人员提醒,防范于未然。
发明内容
本发明所要解决的技术问题是:可在客户端开发初期,寻找出漏洞风险,提示开发者进行改进,以减少损失。
为了解决上述技术问题,本发明采用的技术方案为:提供一种扫描漏洞的方法,包括:
S1:云端服务器解析APK文件中应用程序的XML文件,解密并获取签名信息;
S2:云端服务器解析所述签名信息,并与预设的签名信息比对,生成比对结果;
S3:云端服务器生成含有比对结果的结果报表,输出给客户端。
为了解决上述技术问题,本发明采用的技术方案为:提供一种扫描漏洞的系统,包括云端服务器及客户端。
为了解决上述技术问题,本发明采用的技术方案为:提供一种扫描漏洞的云端服务器,所述云端服务器使用上述方法进行扫描漏洞。
本发明的有益效果在于:区别于现有技术,本发明可以通过在云端对APK文件进行扫描,不需要运行或打开APK程序,即可实现对APK内文件的全方位扫描,其操作简单,在开发初期就给予开发者提示,减少损失。
附图说明
图1为本发明方法实施例一的流程示意图;
图2为本发明方法实施例二的流程示意图;
图3为本发明系统实施例三的结构框图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,本发明实施例一提供一种扫描漏洞的方法,包括如下步骤:
S1:云端服务器解析APK文件中应用程序的XML文件,解密并获取签名信息;
S2:云端服务器解析所述签名信息,并与预设的签名信息比对,生成比对结果;
S3:云端服务器生成含有比对结果的结果报表,输出给客户端。
区别于现有技术,本发明实施例一可以通过在云端对APK文件进行扫描,不需要运行或打开APK程序,即可实现对APK内文件的全方位扫描,其操作简单,在开发初期就给予开发者提示,减少损失。
其中,如图2所示,在实施例一的基础上,本发明实施例二在步骤S1之前,还包括如下步骤:
S01:客户端发送所述APK文件到云端服务器;
S02:云端服务器接收所述APK文件,并保存;
S03:云端服务器解压所述APK文件。
具体地,在一个具体实施例中,步骤S2还包括:
S211:解析所述XML文件,进行程序入口activity及其风险分析;
S212:列出所有程序入口,进行查库和特征匹配;
S213:判断所述程序入口是否被恶意篡改;
若是,则执行步骤S30:向客户端进行安全提示;
反之,则执行步骤S3。
其中,步骤S2还可包括:
S221:解析应用程序的开启服务;
S222:列出所有开启服务,进行查库和特征匹配;
S223:判断所述开启服务是否被恶意篡改;
若是,则执行步骤S30:向客户端进行安全提示;
反之,则执行步骤S3。
其中,步骤S2还可包括:
S231:解析应用程序的开机启动接受器;
S232:列出所有开机启动接受器,进行查库和特征匹配;
S233:判断所述开机启动接受器是否被恶意篡改;
若是,则执行步骤S30:向客户端进行安全提示;
反之,则执行步骤S3。
其中,步骤S2还可包括:
S241:解析应用程序的敏感权限;
S242:列出所有敏感权限,进行查库和特征匹配;
S243:判断所述敏感权限是否被恶意篡改;
若是,则执行步骤S30:向客户端进行安全提示;
反之,则执行步骤S3。
其中,步骤S2还可包括:
S251:云端服务器扫描代码漏洞、匹配特征代码和风险代码;
S252:判断所述特征代码和风险代码是否被恶意篡改;
若是,则执行步骤S30:向客户端进行安全提示;
反之,则执行步骤S3。
其中,上述进行查库和特征匹配的步骤具体为:
分别在风险特征库、安全特征库中进行查询及特征匹配。
其中,进行查库和特征匹配的步骤之后,还包括:
设置智能特征库;
智能特征库对查询及特征匹配进行统计分析,将风险的特征、安全特征扫描结果记录到智能特征库中;
根据风险的特征、安全特征,智能特征库设定对应的安全指数。
具体地,APK是AndroidPackage的缩写,即Android安装包(APK)。APK是类似SymbianSis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。APK文件和sis一样,把androidsdk编译的工程打包成一个安装程序文件,格式为APK。APK文件其实是zip格式,但后缀名被修改为APK,通过UnZip解压后,可以看到Dex文件,Dex是DalvikVMexecutes的简称,即AndroidDalvik执行程序,并非JavaME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和WindowsMobile中的PE文件有区别。
在Android平台中dalvikvm的执行文件被打包为APK格式,最终运行时加载器会解压然后获取编译后的androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全限制,如果将APK文件传到/system/app文件夹下会发现执行是不受限制的。安装的文件可能不是这个文件夹,而在androidrom中,系统的APK文件默认会放入这个文件夹,它们拥有着root权限。
而window平台上,通常扫描的都是pe文件,exe等可执行文件,以及一些特殊的文件,以判断其中是否含有木马病毒,这些一般根据木马病毒的黑名单特征库来扫描的。
而现有技术中,安卓平台上的安全卫士软件,安卓平台的卫士软件,一般是扫描安卓系统本身环境的安全问题,以及监控新安装的APK包是否含有木马病毒,一般也是通过黑名单库进行判断的。
而本发明实施例是上传APK文件,如应用,到云端服务器上,即扫描过程中,是不暴露给客户端;而现有技术中存在的安全软件,扫描算法都在客户端上显示出来,具有一定的风险;是能够被黑客破解和抓取到其算法的运作流程,因为扫描的算法都在客户端机器中运行着;
其次,本发明的方法适用于企业用户或者企业合作的开发者,不对公众和公网提供接口和服务;区别于现有技术,本发明实施例在云端的进行扫描,面向开发者或企业内部应用,扫描的过程如上述所示。因为不暴露扫描算法给客户端,因此安全性提高;同时,对于开发者来说,本发明可被开发者用来自检的一种手段;
再次,本发明是面向APK文件的扫描,不需要运行和打开APK包程序,安全卫士等软件则需要打开和运行,并监控运行中的程序。
应当理解的是,本发明所述的特征库为公开并可以自我学习完善的库,其可以智能学习和统计收集,可以检测出应用是否被伪造;具体地,本发明所述的特征库包括:风险特征库、安全特征库,智能特征库(本质为自我学习扩充的一个特征库,其不参与匹配,只用来自我学习和存储,以及作为更新安全库和风险库的数据支持);即
风险特征库:存储风险的特征,这些都是木马常用的特征记录存储在其中;
安全特征库:存储正版APK及其对应的特征值;如每一个正版的APK包都有一个相对固定的入口服务activity;通过判断如果APK应有的特征被修改或不匹配,则会提示风险;
智能特征库:一个初始状态为空的特征库,每次扫描,系统将自动对扫描过程中的各个检测数据项的数据进行存储,并进行统计分析,将风险的特征、安全特征的扫描结果记录到智能特征库中;并根据风险的特征、安全特征,设定对应的安全指数;利用本指数可以为应用的安全性打分。
具体地,开发者上传一个官方开发的APK,系统将读取该APK的签名信息,展并展示给开发者核对,具体地,系统会将首次上传的APK的信息做一个初始的数据进行存储,如果后续开发者再上传相同命名的APK时,若签名发生变化,则可以提示开发者其应用是否被篡改、伪造。
在实际操作中,有需要使用到特征库匹配的时候,一般顺序为:先匹配安全特征库,如果被判断为安全,则完成特征匹配,并更新智能特征库;如果不为安全特征,则继续匹配风险特征库,将匹配结果展示给用户;并同时更新智能特征库;
智能特征库包括管理模块,会定期统计和分析数据,从而更新安全特征库和风险特征库;
如果是在安全库中,则无需进一步的判断,直接停止匹配,随着智能特征库的完善,风险特征库和安全特征库越来越健全,可以快速判断安全应用,也可以检测更多的风险。
APK的开发漏洞,会导致APK的不安全,泄露用户的隐私,或者容易被黑客攻击,而本发明提供的方法可以找出漏洞风险,提示开发者进行改进,从而减少应用厂商的利益损失。
应当理解的是,上述S2所包括的步骤,可以是根据设定的顺序进行,且顺序不唯一。同时在一个优选的实施例中,由于步骤S261在扫描过程中耗时较久,因此是在上述步骤S211~S251结束后,才开始进行,这样可减少用户的其他检测数据呈现的等待时间,从而提升用户体验度。
上述的每一类的代码风险,都对应一种或多种的解决方案,云端服务器会根据配置的方案进行提示,提示用户的代码,而当检测到代码的某一行写法存在漏洞时,系统针对如何改进和避免,以生成报告的形式由云端服务器输出到web客户端的用户操作界面上。
承上,本发明还提供一种扫描漏洞的系统100,包括云端服务器110及客户端120;其中,
云端服务器110解析APK文件中应用程序的XML文件,解密并获取签名信息;
云端服务器110解析所述签名信息,并与预设的签名信息比对,生成比对结果;
云端服务器110生成含有比对结果的结果报表,输出给客户端120。其中客户端120可以是WEB客户端。
同时,本发明还提供一种扫描漏洞的云端服务器(图中未示出),所述云端服务器通过上述方法进行扫描漏洞。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (12)

1.一种扫描漏洞的方法,其特征在于,包括:
S1:云端服务器解析APK文件中应用程序的XML文件,解密并获取签名信息;
S2:云端服务器解析所述签名信息,并与预设的签名信息比对,生成比对结果;
S3:云端服务器生成含有比对结果的结果报表,输出给客户端。
2.根据权利要求1所述扫描漏洞的方法,其特征在于,步骤S1之前,还包括:
S01:客户端发送所述APK文件到云端服务器;
S02:云端服务器接收所述APK文件,并保存;
S03:云端服务器解压所述APK文件。
3.根据权利要求1所述扫描漏洞的方法,其特征在于,步骤S2还包括:
S211:解析所述XML文件,进行程序入口activity及其风险分析;
S212:列出所有程序入口,进行查库和特征匹配;
S213:判断所述程序入口是否被恶意篡改;
若是,则执行步骤S30:向客户端进行安全提示;
反之,则执行步骤S3。
4.根据权利要求1所述扫描漏洞的方法,其特征在于,步骤S2还包括:
S221:解析应用程序的开启服务;
S222:列出所有开启服务,进行查库和特征匹配;
S223:判断所述开启服务是否被恶意篡改;
若是,则执行步骤S30:向客户端进行安全提示;
反之,则执行步骤S3。
5.根据权利要求1所述扫描漏洞的方法,其特征在于,步骤S2还包括:
S231:解析应用程序的开机启动接受器;
S232:列出所有开机启动接受器,进行查库和特征匹配;
S233:判断所述开机启动接受器是否被恶意篡改;
若是,则执行步骤S30:向客户端进行安全提示;
反之,则执行步骤S3。
6.根据权利要求1所述扫描漏洞的方法,其特征在于,步骤S2还包括:
S241:解析应用程序的敏感权限;
S242:列出所有敏感权限,进行查库和特征匹配;
S243:判断所述敏感权限是否被恶意篡改;
若是,则执行步骤S30:向客户端进行安全提示;
反之,则执行步骤S3。
7.根据权利要求1所述扫描漏洞的方法,其特征在于,步骤S2还包括:
S251:云端服务器扫描代码漏洞、匹配特征代码和风险代码;
S252:判断所述特征代码和风险代码是否被恶意篡改;
若是,则执行步骤S30:向客户端进行安全提示;
反之,则执行步骤S3。
8.根据权利要求3至6任一项所述扫描漏洞的方法,其特征在于,进行查库和特征匹配的步骤具体为:
分别在风险特征库、安全特征库中进行查询及特征匹配。
9.根据权利要求8所述扫描漏洞的方法,其特征在于,进行查库和特征匹配的步骤之后,还包括:
设置智能特征库;
智能特征库对查询及特征匹配进行统计分析,将风险的特征、安全特征扫描结果记录到智能特征库中;
根据风险的特征、安全特征,智能特征库设定对应的安全指数。
10.一种扫描漏洞的系统,其特征在于,包括云端服务器及客户端;其中,
云端服务器解析APK文件中应用程序的XML文件,解密并获取签名信息;
云端服务器解析所述签名信息,并与预设的签名信息比对,生成比对结果;
云端服务器生成结果报表,输出给客户端。
11.一种扫描漏洞的云端服务器,其特征在于,所述云端服务器通过使用权利要求1至7或9任一项所述扫描漏洞的方法进行扫描漏洞。
12.一种扫描漏洞的云端服务器,其特征在于,所述云端服务器通过使用权利要求8所述扫描漏洞的方法进行扫描漏洞。
CN201510475979.2A 2015-08-06 2015-08-06 扫描漏洞的方法、云端服务器及系统 Pending CN105069357A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510475979.2A CN105069357A (zh) 2015-08-06 2015-08-06 扫描漏洞的方法、云端服务器及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510475979.2A CN105069357A (zh) 2015-08-06 2015-08-06 扫描漏洞的方法、云端服务器及系统

Publications (1)

Publication Number Publication Date
CN105069357A true CN105069357A (zh) 2015-11-18

Family

ID=54498720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510475979.2A Pending CN105069357A (zh) 2015-08-06 2015-08-06 扫描漏洞的方法、云端服务器及系统

Country Status (1)

Country Link
CN (1) CN105069357A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107392033A (zh) * 2017-08-30 2017-11-24 杭州安恒信息技术有限公司 一种安卓设备渗透测试系统及其自动化渗透测试方法
CN108183887A (zh) * 2017-12-12 2018-06-19 杭州安恒信息技术有限公司 一种基于自主授权的云端漏洞扫描策略配置方法及装置
WO2018165951A1 (zh) * 2017-03-16 2018-09-20 深圳大趋智能科技有限公司 安卓apk启动时签名认证的方法及其装置
CN108959860A (zh) * 2018-07-20 2018-12-07 厦门市美亚柏科信息股份有限公司 一种检测Android系统是否被破解和破解记录获取方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831338A (zh) * 2012-06-28 2012-12-19 北京奇虎科技有限公司 一种Android应用程序的安全检测方法及系统
US20130227636A1 (en) * 2012-02-24 2013-08-29 Appthority, Inc. Off-device anti-malware protection for mobile devices
CN104063664A (zh) * 2014-06-26 2014-09-24 北京奇虎科技有限公司 软件安装包的安全检测方法、客户端、服务器以及系统
CN104462971A (zh) * 2014-12-17 2015-03-25 北京奇虎科技有限公司 根据应用程序声明特征识别恶意应用程序的方法和装置
CN104517054A (zh) * 2014-12-25 2015-04-15 北京奇虎科技有限公司 一种检测恶意apk的方法、装置、客户端和服务器
CN104715196A (zh) * 2015-03-27 2015-06-17 北京奇虎科技有限公司 智能手机应用程序的静态分析方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130227636A1 (en) * 2012-02-24 2013-08-29 Appthority, Inc. Off-device anti-malware protection for mobile devices
CN102831338A (zh) * 2012-06-28 2012-12-19 北京奇虎科技有限公司 一种Android应用程序的安全检测方法及系统
CN104063664A (zh) * 2014-06-26 2014-09-24 北京奇虎科技有限公司 软件安装包的安全检测方法、客户端、服务器以及系统
CN104462971A (zh) * 2014-12-17 2015-03-25 北京奇虎科技有限公司 根据应用程序声明特征识别恶意应用程序的方法和装置
CN104517054A (zh) * 2014-12-25 2015-04-15 北京奇虎科技有限公司 一种检测恶意apk的方法、装置、客户端和服务器
CN104715196A (zh) * 2015-03-27 2015-06-17 北京奇虎科技有限公司 智能手机应用程序的静态分析方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
上海防灾安全策略研究中心: "《2014网络犯罪与社会安全》", 28 February 2015, 上海科学技术文献出版社 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018165951A1 (zh) * 2017-03-16 2018-09-20 深圳大趋智能科技有限公司 安卓apk启动时签名认证的方法及其装置
CN107392033A (zh) * 2017-08-30 2017-11-24 杭州安恒信息技术有限公司 一种安卓设备渗透测试系统及其自动化渗透测试方法
CN107392033B (zh) * 2017-08-30 2019-12-31 杭州安恒信息技术股份有限公司 一种安卓设备渗透测试系统及其自动化渗透测试方法
CN108183887A (zh) * 2017-12-12 2018-06-19 杭州安恒信息技术有限公司 一种基于自主授权的云端漏洞扫描策略配置方法及装置
CN108183887B (zh) * 2017-12-12 2020-12-29 杭州安恒信息技术股份有限公司 一种基于自主授权的云端漏洞扫描策略配置方法及装置
CN108959860A (zh) * 2018-07-20 2018-12-07 厦门市美亚柏科信息股份有限公司 一种检测Android系统是否被破解和破解记录获取方法

Similar Documents

Publication Publication Date Title
US11455400B2 (en) Method, system, and storage medium for security of software components
Sufatrio et al. Securing android: a survey, taxonomy, and challenges
US8612398B2 (en) Clean store for operating system and software recovery
CN107273151B (zh) 一种安全的Android App功能插件化方法
Mercaldo et al. Download malware? no, thanks: how formal methods can block update attacks
CN109918285B (zh) 一种开源软件的安全识别方法及装置
CN102880828B (zh) 一种针对虚拟化支撑环境的入侵检测与恢复系统
CN104834858A (zh) 一种android应用中恶意代码的静态检测方法
NO337222B1 (no) Automatisk deteksjon og utbedring av sårbare filer
CN104517054A (zh) 一种检测恶意apk的方法、装置、客户端和服务器
CN105303109A (zh) 一种恶意代码情报检测分析方法及系统
CN102043649A (zh) 插件下载控制方法及插件下载控制系统
CN105069357A (zh) 扫描漏洞的方法、云端服务器及系统
CN111680304A (zh) 一种综合检测Docker漏洞和不安全配置的扫描系统
CN103390130A (zh) 基于云安全的恶意程序查杀的方法、装置和服务器
Okafor et al. Sok: Analysis of software supply chain security by establishing secure design properties
CN112115473A (zh) 一种用于Java开源组件安全检测的方法
WO2018152138A1 (en) Securely defining operating system composition without multiple authoring
WO2022078366A1 (zh) 应用保护方法、装置、设备及介质
CN102236698B (zh) 可嵌入的项目数据
CN106709281A (zh) 补丁发放和获取方法、装置
CN102982279B (zh) 计算机辅助设计病毒感染防止系统和方法
CN103034810A (zh) 一种检测方法、装置及电子设备
WO2022147469A1 (en) Zero dwell time process library and script monitoring
CN112559980A (zh) 一种可内嵌众多任意app的小程序运行时

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20151118