CN110826068B - 安全检测方法和安全检测系统 - Google Patents
安全检测方法和安全检测系统 Download PDFInfo
- Publication number
- CN110826068B CN110826068B CN201911060987.5A CN201911060987A CN110826068B CN 110826068 B CN110826068 B CN 110826068B CN 201911060987 A CN201911060987 A CN 201911060987A CN 110826068 B CN110826068 B CN 110826068B
- Authority
- CN
- China
- Prior art keywords
- file
- rule
- risk
- white list
- security
- 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.)
- Active
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/562—Static detection
- G06F21/563—Static detection by source code analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Alarm Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了安全检测方法,在计算设备中执行,包括:接收当前客户端发送的安装包;获取通用白名单以及自定义白名单,生成白名单列表;对所述安装包进行反编译,生成源代码文件包;遍历所述源代码文件包,基于所述白名单列表确定所述源代码文件包中的待扫描文件,以便对所述待扫描文件进行扫描后生成风险统计报告。本发明还一并公开了相应的安全检测系统。本发明的安全检测方法有利于提高安装包的安全检测效率,大大降低误报率。
Description
技术领域
本发明涉及软件安全检测领域,特别涉及一种安全检测方法和安全检测系统。
背景技术
Android作为一个开放系统,应用程序的各种安全问题层出不穷,本质上,应用的安全问题主要来源于源代码的安全风险,这些安全风险会造成用户敏感信息泄露或财产损失等问题。对Android应用进行安全检测,避免不必要的损失,这就需要一套针对Android应用的安全检测系统。
在对Android应用进行安全检测时,需用户上传应用的安装包,由检测引擎对安装包进行解压、反编译,进而分析反编译后的代码、配置文件等内容是否存在编码上的安全风险,并定位存在风险的代码位置,提供对应的修复方案,最终生成安装包检测报告返回给用户。
现有技术中的安装检测方法,在对安装包反编译生成代码文件后,会对生成的所有代码进行安全检测扫描,包括系统包以及很多外部接入的sdk包。由于反编译生成的代码文件中的系统包、外接sdk占据代码文件的很大一部分,而用户自身并不能对这些代码进行修改,扫描这部分内容不仅会耗费时间,而且扫描出的结果对用户来说也没有意义,属于误报数据。这样,用户查看报告时还需要对这些误报数据进行过滤,并查找实际需进行修复的安全问题。
另外,还有一种基于白名单的安装包扫描方法,通过收集常用的外接sdk包以及系统包作为白名单,在对安装包进行反编译生成代码文件后,无需对白名单内的文件进行扫描,从而加快了扫描速度,降低误报率。该方案的主要缺陷是不能收集全所有的外接sdk包,而且用户不能根据App的实际情况做白名单定制。例如,当根据业务要求必须对App安装包中的某一组件进行导出操作时,若该组件不属于外接sdk包,则白名单便不能对该组件进行过滤,从而导致改组件导出时出现问题。
为此,需要一种安全检测方法来解决上述安全检测方式中存在的问题。
发明内容
为此,本发明提供一种新的安全检测方法和安全检测系统,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供了一种安全检测方法,在计算设备中执行,包括:接收当前客户端发送的安装包;获取通用白名单以及自定义白名单,生成白名单列表;对所述安装包进行反编译,生成源代码文件包;遍历所述源代码文件包,基于所述白名单列表确定所述源代码文件包中的待扫描文件,以便对所述待扫描文件进行扫描后生成风险统计报告。
可选地,在根据本发明的安全检测方法中,基于白名单列表确定所述源代码文件包中的待扫描文件的步骤包括:判断所述白名单列表中是否包括所述源代码文件包中的文件;如果所述白名单列表中包括所述文件,则不对该文件进行扫描;如果所述白名单列表中不包括所述文件,则确定该文件为待扫描文件。
可选地,在根据本发明的安全检测方法中,对待扫描文件进行扫描的步骤包括:获取安全规则列表,所述安全规则列表包括多项安全规则;基于所述安全规则列表对所述待扫描文件进行规则匹配,并根据匹配结果判断所述待扫描文件是否为风险文件。
可选地,在根据本发明的安全检测方法中,所述待扫描文件包括第一类型文件和第二类型文件,所述基于安全规则列表对待扫描文件进行规则匹配的步骤包括:遍历所述安全规则列表,判断所述安全规则所适配的文件类型;如果所述安全规则适配第一类型文件,则读取所述待扫描文件中的第一类型文件,并将第一类型文件与该安全规则进行匹配,包括:如果所述第一类型文件与该安全规则相匹配,则确定所述第一类型文件是风险文件;如果所述第一类型文件与该安全规则不匹配,则确定所述第一类型文件不是风险文件。
可选地,在根据本发明的安全检测方法中,所述基于安全规则列表对待扫描文件进行规则匹配的步骤还包括:如果所述安全规则适配第二类型文件,则判断该安全规则是否包括文件扫描规则;若所述安全规则包括文件扫描规则,则读取所述待扫描文件中的第二类型文件,并将第二类型文件与所述文件扫描规则进行匹配,包括:如果第二类型文件与所述文件扫描规则不匹配,则确定所述第二类型文件不是风险文件;如果第二类型文件与所述文件扫描规则相匹配,则判断所述安全规则是否包括方法扫描规则;若所述安全规则不包括文件扫描规则,则判断所述安全规则是否包括方法扫描规则。
可选地,在根据本发明的安全检测方法中,所述判断安全规则是否包括方法扫描规则的步骤包括:若所述安全规则包括方法扫描规则,则遍历所述第二类型文件中的各个方法,并将所述方法与所述方法扫描规则进行匹配,包括:如果各个方法与所述方法扫描规则均不匹配,则确定所述第二类型文件不是风险文件;如果所述方法与所述方法扫描规则相匹配,则确定所述第二类型文件是风险文件。
可选地,在根据本发明的安全检测方法中,所述第一类型文件为java文件,所述第二类型文件为smali文件。
可选地,在根据本发明的安全检测方法中,还包括步骤:如果确定所述待扫描文件是风险文件,则确定所述风险文件的风险类型,并记录所述风险文件的路径及相对应的风险类型,以生成风险统计报告;其中,所述风险统计报告中的每一项包括一个风险文件的路径及风险类型。
可选地,在根据本发明的安全检测方法中,生成风险统计报告发送至客户端的步骤包括:将所述风险统计报告存储到数据库,并获取该风险统计报告的链接;将所述链接返回给客户端,以便客户端通过链接从数据库获取所述风险统计报告。
可选地,在根据本发明的安全检测方法中,所述计算设备中驻留有扫描引擎,其中,在接收客户端发送的安装包之后,还包括步骤:基于所述安装包生成扫描任务,并将扫描任务添加到任务队列;将所述扫描任务发送给相应的扫描引擎,以便所述扫描引擎根据所述扫描任务对相应的待扫描文件进行扫描。
可选地,在根据本发明的安全检测方法中,在接收当前客户端发送的安装包之前,还包括步骤:接收多个先前客户端生成的与所述安装包相对应的多个自定义白名单,并对所述多个自定义白名单进行存储,生成与所述安装包相对应的自定义白名单列表;获取自定义白名单的步骤包括:向当前客户端提供与所述安装包相对应的自定义白名单列表,以便当前客户端选择本次检测的自定义白名单;接收当前客户端确定的自定义白名单。
可选地,在根据本发明的安全检测方法中,在获取通用白名单以及自定义白名单之前,还包括步骤:定期扫描与多个安装包相对应的多个自定义白名单列表,将预定数量个自定义白名单列表中均包括的自定义白名单添加到通用白名单;以及接收多个先前客户端提供的系统包和sdk包,添加到通用白名单。
可选地,在根据本发明的安全检测方法中,在接收当前客户端发送的安装包之后,还包括步骤:判断所述安装包是否符合检测格式;若符合检测格式,则对所述安装包进行解析,获取安装包的基础信息,并将解析得到的基础信息存储到数据库。
根据本发明的一个方面,提供了一种安全检测系统,包括:安全检测服务器,适于执行如上所述的方法进行安全检测;以及一个或多个客户端,与所述安全检测服务器通信连接,适于将安装包发送至安全检测服务器;并适于向安全检测服务器发送自定义白名单,以便安全检测服务器获取该自定义白名单以及通用白名单后生成白名单列表;并适于接收所述安全检测服务器返回的风险统计报告。
可选地,在根据本发明的安全检测系统中,还包括:若干个扫描引擎,适于接收扫描任务,并基于该扫描任务对相应的待扫描文件进行扫描。
可选地,在根据本发明的安全检测系统中,还包括:数据存储装置,与所述安全检测服务器通信连接,适于存储通用白名单以及自定义白名单,还适于存储所述安全检测服务器生成的风险统计报告,并将风险统计报告的链接返回至安全检测服务器。
根据本发明的一个方面,提供了一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如上所述的安全检测方法的指令。
根据本发明的一个方面,提供了一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述方法。
根据本发明的技术方案,获取通用白名单和用户在客户端生成的自定义白名单,生成白名单列表对待检测的安装包进行白名单过滤,将不在白名单列表内的文件列为待扫描文件。进而,基于安全规则列表只对待扫描文件进行规则匹配,判断是否为风险文件。这里,本发明在进行规则匹配时基于规则适配的文件类型对相应的文件进行匹配,从而保证对待扫描文件的检测更加细致和全面,保证检测结果的可靠性。
进一步地,本发明通过获取多个用户在先前客户端自定义生成的与其待检测的App的安装包相对应的多个自定义白名单,并对多个自定义白名单进行存储,生成与每种App的安装包相对应的自定义白名单列表。在接收当前客户端发送的安装包之后,通过向当前客户端提供与安装包的基础信息相对应的自定义白名单列表,使用户可直接从自定义白名单列表中选择与待检测的安装包最适配的自定义白名单,而不用进行繁琐的自定义输入操作,既能实现针对特定的安装包进行自定义白名单,而且方便快捷,有利于提高安装包的安全检测效率,大大降低误报率。
另外,本发明通过定期扫描与多个安装包相对应的多个自定义白名单列表,并将预定数量个自定义白名单列表中均包括的自定义白名单添加到通用白名单,从而能实现定期地对通用白名单进行扩展,使通用白名单适配更多种类的安装包,有利于对安装包进行更全面的白名单过滤,从而加快扫描速度,降低误报率。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的安全检测系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;
图3示出了根据本发明一个实施例的安全检测方法300的流程图;
图4示出了根据本发明一个实施例的安全检测装置400的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的安全检测系统100的示意图。如图1所示,安全检测系统100包括安全检测服务器200以及一个或多个客户端110。
客户端110即用户所使用的终端设备,其具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能可穿戴设备等,但不限于此。安全检测服务器200用于向客户端110提供服务,其可以实现为应用服务器、Web服务器等;也可以实现为桌面电脑、笔记本电脑、处理器芯片、手机、平板电脑等计算设备,但不限于此。
在本发明的实施例中,安全检测服务器200可用于向用户提供应用的安全检测服务,例如,安全检测服务器200可以作为通讯社交应用安全检测的服务器,通讯社交应用例如可以是短信、微信、微博、贴吧等应用;又例如,安全检测服务器200可以作为某个游戏应用安全检测的服务器。应当理解,本发明的安全检测服务器200所提供的安全检测服务不受限于应用的具体种类。另外,安全检测服务器200可以是任何能够向用户提供安全检测服务的设备,而不仅限于为通讯社交或游戏应用提供安全检测服务的服务器。
在本发明的实施例中,安全检测服务器200适于执行安全检测方法。本发明的安全检测方法将在下文中详述。安全检测系统100还包括一个或多个扫描引擎150,一个或多个扫描引擎150可以驻留在安全检测服务器200中,也可以驻留在与安全检测服务器200通信连接的一个或多个计算设备中。客户端110与安全检测服务器200通信连接,例如通过有线或无线的方式网络连接。客户端110适于向安全检测服务器200发送安装包以及对该安装包进行安全检测的请求,并适于向安全检测服务器200发送自定义白名单。安全检测服务器200在接收到安装包及安全检测请求之后,对安装包进行反编译生成源代码文件包,并获取通用白名单以及客户端110生成的自定义白名单,基于通用白名单和自定义白名单生成白名单列表,进而,根据白名单列表对反编译生成的源代码文件包进行过滤。进一步而言,安全检测服务器200通过遍历源代码文件包,基于白名单列表确定源代码文件包中的待扫描文件,并通过相应的扫描引擎对待扫描文件进行扫描后生成风险统计报告。
具体地,安全检测服务器200判断白名单列表中是否包括源代码文件包中的文件,如果白名单列表中包括源代码文件包中的相应文件,则通过白名单列表将该文件过滤,也就是通过白名单列表确定该文件是安全文件,不用对该文件进行下一步的扫描检测。如果白名单列表中不包括源代码文件包中的相应文件,则确定该文件为待扫描文件,待扫描文件即是可能存在风险的文件,需要对其进行下一步的扫描检测。进而,基于该待扫描文件生成扫描任务添加到任务队列,通过将扫描任务发送给相应的扫描引擎,以便扫描引擎基于扫描任务获取相应的待扫描文件进行扫描,并根据扫描结果生成风险统计报告。
在一个实施例中,安全检测系统100还包括数据存储装置130,数据存储装置130可以是驻留在安全检测服务器200中的本地数据库,例如Redis,也可以作为分布式数据库例如HBase等设置于多个地理位置处,总之,数据存储装置130用于存储数据,本发明对数据存储装置130的具体部署、配置情况不做限制。安全检测服务器200可以与数据存储装置130连接,并获取数据存储装置130中所存储的数据。例如,安全检测服务器200可以直接读取数据存储装置130中的数据(在数据存储装置130为安全检测服务器200的本地数据库时),也可以通过有线或无线的方式接入互联网,并通过数据接口来获取数据存储装置130中的数据。
在本发明的实施例中,安全检测服务器200在生成风险统计报告后,将生成的风险统计报告存储到数据存储装置130,并从数据存储装置130获取该风险统计报告的链接,通过将该链接返回给客户端110,使客户端110通过链接从数据存储装置130获取风险统计报告。
在本发明的实施例中,安全检测系统100还包括文件服务器120,安全检测服务器200与文件服务器120可以通过有线或无线的方式网络连接。安全检测服务器200在接收到客户端110上传的安装包后,对安装包进行解析后获取安装包的基础信息。通过将基础信息存储到数据存储装置130以便于安全检测系统100调用。另外,安全检测服务器200将解析后的安装包上传到文件服务器120进行存储,这样,扫描引擎150在接收到扫描任务后,基于扫描任务从文件服务器120获取相应的安装包进行后续扫描处理。需要说明的是,由于一个或多个扫描引擎150可能驻留在与安全检测服务器200通信连接的一个或多个计算设备中,通过将安装包上传到文件服务器120,以便不同设备中的扫描引擎150从文件服务器120获取要进行扫描的安装包。
另外,通用白名单以及客户端生成的自定义白名单均可以存储在数据存储装置130中。进一步而言,用户在客户端110生成自定义白名单并发送至安全检测服务器200。安全检测服务器200将每次检测获取的自定义白名单均存储到数据存储装置130中,并在对安装包进行检测时,从数据存储装置获取相应的自定义白名单。这样,通过将客户端110每次生成的自定义白名单添加到数据存储装置130,可不断地扩充数据存储装置130中的自定义白名单的种类,便于后续客户端110根据待检测的安装包直接从数据存储装置130中选取更适配的自定义白名单。
在一个实施例中,安全检测服务器200通过接收多个用户在客户端自定义生成的与其待检测的App安装包相对应的多个自定义白名单,并将获取的与每种App的安装包相对应的多个自定义白名单存储在数据存储装置130,生成与每种App的安装包相对应的自定义白名单列表。这样,计算设备在接收当前客户端发送的安装包后,可向当前客户端提供与该安装包相对应的自定义白名单列表,由用户在当前客户端直接选择本次检测的自定义白名单。在接收客户端确定的自定义白名单信息后,在对安装包进行检测时,安全检测服务器200从数据存储装置获取相应的自定义白名单文件。这样,既能实现针对特定的安装包进行自定义白名单,而且方便快捷,有利于提高安装包的安全检测效率,大大降低误报率。
在一个实施例中,安全检测服务器200还定期扫描与多个安装包相对应的多个自定义白名单列表,并将预定数量个自定义白名单列表中均包括的自定义白名单添加到通用白名单。这样,能实现定期地对通用白名单进行扩展,使通用白名单适配更多种类的安装包。
在一个实施例中,本发明的安全检测服务器200可以实现为一种计算设备,使得本发明的安全检测方法可以在计算设备中执行。图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,应用222包括版本管理装置600,版本管理装置600包括多条程序指令,这些程序指令可以指示处理器104执行安全检测方法300。版本管理装置600驻留在计算设备200中,以便计算设备200通过执行安全检测方法300来进行版本管理。
图3示出了根据本发明一个实施例的安全检测方法300的流程图。方法300适于在计算设备(例如前述计算设备200)中执行,该计算设备中可以驻留一个或多个扫描引擎,或者,一个或多个扫描引擎也可以驻留在与该计算设备通信连接的其他设备中。如图3所示,安全检测方法300始于步骤S310。
需要说明的是,在具体实施例中,本发明仅以Android系统的应用程序为例对安全检测方法300进行了具体说明。但,应当理解,本发明的安全检测方法300并不受限于Android系统的应用。任何能通过本发明的安全检测方法300来进行安全检测的应用均在本发明的保护范围之内。
根据一个实施例,在步骤S310中,用户在客户端上传待检测应用的安装包,计算设备接收当前客户端发送的安装包,并对安装包进行解析后上传至文件服务器进行存储。
随后,在步骤S320中,计算设备从数据存储装置获取通用白名单以及用户的自定义白名单,基于通用白名单和用户的自定义白名单生成白名单列表。
需要说明的是,在计算设备接收到客户端发送的安装包之后,先判断安装包是否符合本发明安全检测方法的检测格式。如果符合检测格式,则对安装包进行解析,从而获取安装包的基础信息。基础信息例如包括安装包名称、应用名称以及应用的版本号等信息。计算设备会将解析后获取的基础信息存储到数据存储装置,并将解析后的安装包上传至文件服务器进行存储。
根据一种实施方式,计算设备在接收当前客户端发送的安装包之前,可以对多种App的安装包所对应的自定义白名单进行存储。具体而言,在历史检测过程中,接收多个用户在先前客户端自定义生成的与其待检测的App的安装包相对应的多个自定义白名单,从而获取与每种App的安装包相对应的多个自定义白名单,并对每种App的安装包相对应的多个自定义白名单进行存储,生成与每种App的安装包相对应的自定义白名单列表。这里,计算设备可以将预先生成的自定义白名单列表存储在数据存储装置,并与安装包的基础信息相对应。这样,计算设备在接收当前客户端发送的安装包、并对安装包进行解析后,可基于安装包的基础信息,向当前客户端提供与安装包的基础信息相对应的自定义白名单列表,由用户在当前客户端选择本次检测的自定义白名单。计算设备在接收客户端确定的自定义白名单信息后,在对安装包进行检测时,基于客户端确定的自定义白名单从数据存储装置获取相应的自定义白名单文件。这样,客户端直接从自定义白名单列表中选择与其当前检测的应用相适配的自定义白名单即可,而不用进行繁琐的自定义输入操作,既能实现针对特定的安装包进行自定义白名单,而且方便快捷,有利于提高安装包的安全检测效率,大大降低误报率。
另外,用户也可以在当前客户端的页面上重新自定义与应用的安装包相匹配的白名单数据,生成新的自定义白名单后由当前客户端发送给计算设备,计算设备在获取自定义白名单数据后存储到数据存储装置,并在对安装包进行检测时从数据存储装置获取该自定义白名单。
应当指出,本发明通过将用户每次自定义生成的自定义白名单添加到数据存储装置,可不断地扩充数据存储装置中的自定义白名单的种类,以便提供给后续用户更多种类的自定义白名单列表供用户选择,便于客户端根据待检测的安装包选取更适配的自定义白名单。
根据一种实施方式,计算设备还定期扫描与多个安装包相对应的多个自定义白名单列表,并将预定数量个自定义白名单列表中均包括的自定义白名单添加到通用白名单。预定数量例如是两个或两个以上。例如,如果两个或两个以上的自定义白名单列表中均包括某一个自定义白名单,则将该自定义白名单添加到通用白名单,从而能实现定期地对通用白名单进行扩展,使通用白名单适配更多种类的安装包。
另外,本发明数据存储装置中的通用白名单也可以根据用户需求进行扩充。计算设备可以接收客户端提供的系统包和sdk包,并对其进行审核。在审核通过后,将客户端提供的系统包和sdk包添加到通用白名单。
进而,计算设备从数据存储装置获取通用白名单以及用户的自定义白名单,并生成白名单列表。
随后,进行步骤S330,对待检测的安装包进行反编译,生成源代码文件包。这里,由于计算设备将客户端发送的安装包进行解析后上传至文件服务器存储,故,在生成白名单列表后,是从文件服务器获取待检测的安装包。根据一个实施例,安装包包括classes*.dex文件,通过反编译模块将classes*.dex文件反编译生成smali文件和java文件,从而,源代码文件包包括smali文件和java文件。但,应当理解,本发明对安装包以及反编译生成的源代码文件包所包括的具体文件及文件格式。
最后,在步骤S340中,遍历源代码文件包,基于生成的白名单列表确定源代码文件包中的待扫描文件,以便通过扫描引擎对待扫描文件进行扫描后,生成风险统计报告。需要说明的是,计算设备在接收到客户端发送的待检测的安装包之后,会基于该安装包生成扫描任务,并将扫描任务添加到任务队列。进而,通过将扫描任务发送给相应的扫描引擎,由扫描引擎根据扫描任务从文件服务器获取相应的安装包,并对反编译后生成的源代码安装包中相应的待扫描文件进行扫描。
根据一个实施例,基于生成的白名单列表确定源代码文件包中的待扫描文件的具体步骤包括:判断白名单列表中是否包括源代码文件包中的文件,如果白名单列表中包括源代码文件包中的相应文件,则通过白名单列表将该文件过滤,也就是通过白名单列表确定该文件是安全文件,不用对该文件进行下一步的扫描检测。如果白名单列表中不包括源代码文件包中的相应文件,则确定该文件为待扫描文件,待扫描文件即是可能存在风险的文件,需要对其进行下一步的扫描检测。进而,基于该待扫描文件生成扫描任务添加到任务队列,通过将扫描任务发送给相应的扫描引擎,以便扫描引擎根据扫描任务获取相应的待扫描文件进行扫描,并根据扫描结果生成风险统计报告。
根据一个实施例,对待扫描文件进行扫描的步骤包括:获取安全规则列表,安全规则列表包括多项安全规则;基于该安全规则列表对待扫描文件进行规则匹配,并根据匹配结果判断待扫描文件是否为风险文件。
例如,安全规则列表中的规则包括Content Provider组件导出风险、应用程序可被任意调试风险、Broadcast Receiver组件导出风险、使用"Android Debug"签名证书、Service组件导出风险、应用数据任意备份风险、明文数字证书/密钥文件风险、Activity组件导出风险、AES/DES加密算法不安全使用风险、密钥硬编码风险、随机数不安全使用风险、内网测试信息残留风险、Zip文件解压目录遍历风险、Webview忽略证书校验风险、HTTPS未校验主机名风险、HTTPS允许任意主机名风险、HTTPS服务器证书未校验风险、数据库文件任意读写风险、内部文件全局可读写风险、外部加载dex/so风险、Webview远程代码执行风险、PendingIntent错误使用Intent风险、Intent Scheme URL攻击风险、Intent组件隐式调用风险、动态注册Receiver风险、Webview File同源策略绕过风险、Webview明文存储密码风险、Webview组件系统隐藏接口未移除风险等。这里,本发明的安全规则列表包括但并不限于上述列举的规则。
在根据本发明的实施例中,通过遍历安全规则列表对待扫描文件进行规则匹配,如果待扫描文件与安全规则列表中的任一项安全规则相匹配,则确定该待扫描文件是风险文件。如果确定待扫描文件是风险文件,则进一步确定风险文件的风险类型,并记录风险文件的路径及相对应的风险类型,生成风险统计报告。其中,风险统计报告中的每一项包括一个风险文件的路径及相对应的风险类型。如果待扫描文件与安全规则列表中的安全规则均不匹配,则确定该待扫描文件不是风险文件,并继续将下一个待扫描文件与安全规则进行规则匹配,直至对源代码文件包中的所有待扫描文件均与安全规则进行了匹配为止。在所有待扫描文件均进行规则匹配后,生成风险统计报告,并将风险统计报告发送至客户端。
根据一种实施方式,通过将生成的风险统计报告存储到数据存储装置,并获取该风险统计报告的链接,将该链接返回给客户端,以便客户端通过链接从数据存储装置130获取风险统计报告。
根据一个实施例,对安装包解析后的源代码文件包包括第一类型文件和第二类型文件。故,待扫描文件也包括第一类型文件和第二类型文件。在一种实施方式中,第一类型文件为java文件,第二类型文件为smali文件。这里,本发明不限制待扫描文件所包括的第一类型文件、第二类型文件的具体类型和具体文件格式。
在基于安全规则列表对待扫描文件进行规则匹配时,通过遍历安全规则列表,判断每一项安全规则所适用的文件类型。如果安全规则适配第一类型文件,则根据第一类型文件的路径读取待扫描文件中的第一类型文件,并将第一类型文件与该安全规则进行匹配。如果第一类型文件与该安全规则相匹配,则确定该第一类型文件是风险文件,进而确定风险文件的风险类型,并将风险文件的路径及相对应的风险类型记录在风险统计列表中。如果第一类型文件与该安全规则不匹配,则确定该第一类型文件不是风险文件,进而将该第一类型文件继续与安全规则列表中的下一个适配的安全规则进行匹配。
如果安全规则适配第二类型文件,则判断该安全规则是否包括文件扫描规则和方法扫描规则。具体地,首先判断该安全规则是否包括文件扫描规则。若该安全规则包括文件扫描规则,则读取待扫描文件中的第二类型文件,并将第二类型文件与该文件扫描规则进行匹配。如果第二类型文件与该文件扫描规则不匹配,则确定该第二类型文件不是风险文件,便不再判断该安全规则是否包括方法扫描规则。如果第二类型文件与文件扫描规则相匹配,则进一步判断该安全规则是否包括方法扫描规则。
另外,若上述安全规则不包括文件扫描规则,则判断所述安全规则是否包括方法扫描规则。
进一步地,在判断安全规则是否包括方法扫描规则时,若安全规则包括方法扫描规则,则对第二类型文件中的各个方法进行解析,并遍历解析后的各个方法,将各个方法与该方法扫描规则进行匹配。如果各个方法与该方法扫描规则均不匹配,则确定该第二类型文件不是风险文件,进而将该第二类型文件继续与安全规则列表中的下一个适配的安全规则进行匹配。
如果第二类型文件中的任一方法与该方法扫描规则相匹配,则确定该方法是风险方法,并确定该第二类型文件是风险文件。进而,确定该风险文件的风险类型,并将风险文件的路径、相应的风险方法的名称及相对应的风险类型记录在风险统计列表中。
在所有待扫描文件均进行规则匹配后,生成风险统计报告,将生成的风险统计报告存储到数据存储装置,并获取该风险统计报告的链接,将该链接返回给客户端,以便客户端通过链接从数据存储装置130获取风险统计报告。
图4示出了根据本发明一个实施例的安全检测装置400的示意图。安全检测装置400驻留在计算设备200中,以使计算设备200执行本发明的安全检测方法300。如图4所示,安全检测装置400包括接收模块410、获取模块420、反编译模块430以及检测模块440。
根据一个实施例,接收模块410接收当前客户端发送的安装包,可以对安装包进行解析后上传至文件服务器进行存储。获取模块420从数据存储装置获取通用白名单以及用户的自定义白名单,基于通用白名单和用户的自定义白名单生成白名单列表。反编译模块430对待检测的安装包进行反编译,生成源代码文件包。检测模块440遍历源代码文件包,基于生成的白名单列表确定源代码文件包中的待扫描文件,以便通过扫描引擎150对待扫描文件进行扫描后,生成风险统计报告。
需要说明的是,接收模块410具体用于执行如前述步骤S310的方法,编译模块610具体用于执行如前述步骤S310的方法,获取模块420具体用于执行如前述步骤S320的方法,反编译模块430具体用于执行如前述步骤S330的方法,检测模块440具体用于执行如前述步骤S340的方法。
关于接收模块410、获取模块420、反编译模块430以及检测模块440的处理逻辑和功能可以参见前述安全检测方法300中对步骤S310~S340的相关描述,此处不再赘述。
A7、如A4-A6任一项所述的安全检测方法,其中,所述第一类型文件为java文件,所述第二类型文件为smali文件。
A8、如A3-A7任一项所述的安全检测方法,其中,还包括步骤:如果确定所述待扫描文件是风险文件,则确定所述风险文件的风险类型,并记录所述风险文件的路径及相对应的风险类型,以生成风险统计报告;其中,所述风险统计报告中的每一项包括一个风险文件的路径及风险类型。
A9、如A3-A8任一项所述的安全检测方法,其中,还包括步骤:如果确定所述待扫描文件不是风险文件,则将下一个待扫描文件与所述安全规则进行匹配,直至所述源代码文件包中的所有待扫描文件均与所述安全规则进行了匹配为止;生成所述风险统计报告发送至客户端。
A10、如A9所述的安全检测方法,其中,生成风险统计报告发送至客户端的步骤包括:将所述风险统计报告存储到数据库,并获取该风险统计报告的链接;将所述链接返回给客户端,以便客户端通过链接从数据库获取所述风险统计报告。
A11、如A1-A10任一项所述的安全检测方法,所述计算设备中驻留有扫描引擎,其中,在接收客户端发送的安装包之后,还包括步骤:基于所述安装包生成扫描任务,并将扫描任务添加到任务队列;将所述扫描任务发送给相应的扫描引擎,以便所述扫描引擎根据所述扫描任务对相应的待扫描文件进行扫描。
A13、如A12所述的安全检测方法,其中,在获取通用白名单以及自定义白名单之前,还包括步骤:定期扫描与多个安装包相对应的多个自定义白名单列表,将预定数量个自定义白名单列表中均包括的自定义白名单添加到通用白名单;以及接收多个先前客户端提供的系统包和sdk包,添加到通用白名单。
A14、如A1-A13任一项所述的安全检测方法,其中,在接收当前客户端发送的安装包之后,还包括步骤:判断所述安装包是否符合检测格式;若符合检测格式,则对所述安装包进行解析,获取安装包的基础信息,并将解析得到的基础信息存储到数据库。
B16、如B15所述的安全检测系统,其中,还包括:若干个扫描引擎,适于接收扫描任务,并基于该扫描任务对相应的待扫描文件进行扫描。
B17、如B15或B16所述的安全检测系统,还包括:数据存储装置,与所述安全检测服务器通信连接,适于存储通用白名单以及自定义白名单,还适于存储所述安全检测服务器生成的风险统计报告,并将风险统计报告的链接返回至安全检测服务器。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的多语言垃圾文本的识别方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (17)
1.一种安全检测方法,在计算设备中执行,包括:
接收多个先前客户端生成的与安装包相对应的多个自定义白名单,并对所述多个自定义白名单进行存储,生成与所述安装包相对应的自定义白名单列表;
定期扫描与多个安装包相对应的多个自定义白名单列表,将预定数量个自定义白名单列表中均包括的自定义白名单添加到通用白名单,以及,接收多个先前客户端提供的系统包和sdk包,添加到通用白名单;
接收当前客户端发送的安装包;
向当前客户端提供与所述安装包相对应的自定义白名单列表,以便当前客户端选择本次检测的自定义白名单;
获取所述当前客户端确定的自定义白名单,并获取所述通用白名单,基于所述通用白名单以及自定义白名单,生成白名单列表;
对所述安装包进行反编译,生成源代码文件包;
遍历所述源代码文件包,基于所述白名单列表确定所述源代码文件包中的待扫描文件,以便对所述待扫描文件进行扫描后生成风险统计报告。
2.如权利要求1所述的安全检测方法,其中,基于白名单列表确定所述源代码文件包中的待扫描文件的步骤包括:
判断所述白名单列表中是否包括所述源代码文件包中的文件;
如果所述白名单列表中包括所述文件,则不对该文件进行扫描;
如果所述白名单列表中不包括所述文件,则确定该文件为待扫描文件。
3.如权利要求1所述的安全检测方法,其中,对待扫描文件进行扫描的步骤包括:
获取安全规则列表,所述安全规则列表包括多项安全规则;
基于所述安全规则列表对所述待扫描文件进行规则匹配,并根据匹配结果判断所述待扫描文件是否为风险文件。
4.如权利要求3所述的安全检测方法,其中,所述待扫描文件包括第一类型文件和第二类型文件,所述基于安全规则列表对待扫描文件进行规则匹配的步骤包括:
遍历所述安全规则列表,判断所述安全规则所适配的文件类型;
如果所述安全规则适配第一类型文件,则读取所述待扫描文件中的第一类型文件,并将第一类型文件与该安全规则进行匹配,包括:
如果所述第一类型文件与该安全规则相匹配,则确定所述第一类型文件是风险文件;如果所述第一类型文件与该安全规则不匹配,则确定所述第一类型文件不是风险文件。
5.如权利要求4所述的安全检测方法,其中,所述基于安全规则列表对待扫描文件进行规则匹配的步骤还包括:
如果所述安全规则适配第二类型文件,则判断该安全规则是否包括文件扫描规则;
若所述安全规则包括文件扫描规则,则读取所述待扫描文件中的第二类型文件,并将第二类型文件与所述文件扫描规则进行匹配,包括:
如果第二类型文件与所述文件扫描规则不匹配,则确定所述第二类型文件不是风险文件;
如果第二类型文件与所述文件扫描规则相匹配,则判断所述安全规则是否包括方法扫描规则;
若所述安全规则不包括文件扫描规则,则判断所述安全规则是否包括方法扫描规则。
6.如权利要求5所述的安全检测方法,其中,所述判断安全规则是否包括方法扫描规则的步骤包括:
若所述安全规则包括方法扫描规则,则遍历所述第二类型文件中的各个方法,并将所述方法与所述方法扫描规则进行匹配,包括:
如果各个方法与所述方法扫描规则均不匹配,则确定所述第二类型文件不是风险文件;
如果所述方法与所述方法扫描规则相匹配,则确定所述第二类型文件是风险文件。
7.如权利要求4-6任一项所述的安全检测方法,其中:
所述第一类型文件为java文件,所述第二类型文件为smal i文件。
8.如权利要求1-6任一项所述的安全检测方法,其中,还包括步骤:
如果确定所述待扫描文件是风险文件,则确定所述风险文件的风险类型,并记录所述风险文件的路径及相对应的风险类型,以生成风险统计报告;
其中,所述风险统计报告中的每一项包括一个风险文件的路径及风险类型。
9.如权利要求1-6任一项所述的安全检测方法,其中,还包括步骤:
如果确定所述待扫描文件不是风险文件,则将下一个待扫描文件与安全规则进行匹配,直至所述源代码文件包中的所有待扫描文件均与所述安全规则进行了匹配为止;
生成所述风险统计报告发送至客户端。
10.如权利要求9所述的安全检测方法,其中,生成风险统计报告发送至客户端的步骤包括:
将所述风险统计报告存储到数据库,并获取该风险统计报告的链接;
将所述链接返回给客户端,以便客户端通过链接从数据库获取所述风险统计报告。
11.如权利要求1-6任一项所述的安全检测方法,所述计算设备中驻留有扫描引擎,其中,在接收客户端发送的安装包之后,还包括步骤:
基于所述安装包生成扫描任务,并将扫描任务添加到任务队列;
将所述扫描任务发送给相应的扫描引擎,以便所述扫描引擎根据所述扫描任务对相应的待扫描文件进行扫描。
12.如权利要求1-6任一项所述的安全检测方法,其中,在接收当前客户端发送的安装包之后,还包括步骤:
判断所述安装包是否符合检测格式;
若符合检测格式,则对所述安装包进行解析,获取安装包的基础信息,并将解析得到的基础信息存储到数据库。
13.一种安全检测系统,包括:
安全检测服务器,适于执行如权利要求1-12中任一项所述的方法进行安全检测;以及
一个或多个客户端,与所述安全检测服务器通信连接,适于将安装包发送至安全检测服务器;并适于获取安全检测服务器提供的与安装包相对应的自定义白名单列表,以选择本次检测的自定义白名单,并向安全检测服务器发送确定的自定义白名单,以便安全检测服务器获取该自定义白名单以及通用白名单后生成白名单列表;并适于接收所述安全检测服务器返回的风险统计报告。
14.如权利要求13所述的安全检测系统,其中,还包括:
若干个扫描引擎,适于接收扫描任务,并基于该扫描任务对相应的待扫描文件进行扫描。
15.如权利要求13或14所述的安全检测系统,还包括:
数据存储装置,与所述安全检测服务器通信连接,适于存储通用白名单以及自定义白名单,还适于存储所述安全检测服务器生成的风险统计报告,并将风险统计报告的链接返回至安全检测服务器。
16.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-12中任一项所述的安全检测方法的指令。
17.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-12中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911060987.5A CN110826068B (zh) | 2019-11-01 | 2019-11-01 | 安全检测方法和安全检测系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911060987.5A CN110826068B (zh) | 2019-11-01 | 2019-11-01 | 安全检测方法和安全检测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110826068A CN110826068A (zh) | 2020-02-21 |
CN110826068B true CN110826068B (zh) | 2022-03-18 |
Family
ID=69552005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911060987.5A Active CN110826068B (zh) | 2019-11-01 | 2019-11-01 | 安全检测方法和安全检测系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110826068B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597552B (zh) * | 2020-04-15 | 2023-11-10 | 深圳市捷顺科技实业股份有限公司 | 代码扫描方法及终端设备 |
CN112035158A (zh) * | 2020-08-25 | 2020-12-04 | 深圳市钱海网络技术有限公司 | 一种对补丁包进行风险检测的方法及装置 |
CN112540929B (zh) * | 2020-12-25 | 2024-03-12 | 北京百度网讯科技有限公司 | 检测方法、装置、设备及存储介质 |
CN112836209A (zh) * | 2021-01-12 | 2021-05-25 | 京东数字科技控股股份有限公司 | 应用安装包处理方法、装置、电子设备、系统和存储介质 |
CN113435177A (zh) * | 2021-07-14 | 2021-09-24 | 上海浦东发展银行股份有限公司 | 目标码文件包的比对方法、装置、设备、介质及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214895B2 (en) * | 2007-09-26 | 2012-07-03 | Microsoft Corporation | Whitelist and blacklist identification data |
CN102663286A (zh) * | 2012-03-21 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种病毒apk的识别方法及装置 |
CN103093145A (zh) * | 2013-01-18 | 2013-05-08 | 北京奇虎科技有限公司 | 一种扫描移动存储设备的方法、装置和系统 |
CN103400076A (zh) * | 2013-07-30 | 2013-11-20 | 腾讯科技(深圳)有限公司 | 一种移动终端上的恶意软件检测方法、装置和系统 |
CN104123499A (zh) * | 2014-07-18 | 2014-10-29 | 北京金山安全软件有限公司 | 一种利用Android设备管理器对抗卸载的软件的识别方法及装置 |
CN104715197A (zh) * | 2012-02-07 | 2015-06-17 | 北京奇虎科技有限公司 | 一种文件快速扫描方法和系统 |
CN106407799A (zh) * | 2016-10-26 | 2017-02-15 | 北京金山安全软件有限公司 | 恶意文件安装的检测方法、装置、终端以及服务器 |
CN106557695A (zh) * | 2015-09-25 | 2017-04-05 | 卓望数码技术(深圳)有限公司 | 一种恶意应用检测方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610264B (zh) * | 2009-07-24 | 2011-12-07 | 深圳市永达电子股份有限公司 | 一种防火墙系统、安全服务平台及防火墙系统的管理方法 |
CN101808093B (zh) * | 2010-03-15 | 2013-08-07 | 北京安天电子设备有限公司 | 一种对web安全进行自动化检测的系统和方法 |
US20130097659A1 (en) * | 2011-10-17 | 2013-04-18 | Mcafee, Inc. | System and method for whitelisting applications in a mobile network environment |
CN103618626A (zh) * | 2013-11-28 | 2014-03-05 | 北京奇虎科技有限公司 | 一种基于日志的安全分析报告生成的方法和系统 |
CN106933645A (zh) * | 2017-01-17 | 2017-07-07 | 深圳市能信安科技股份有限公司 | 一种Apk安全风险自动化静态审计系统以及方法 |
-
2019
- 2019-11-01 CN CN201911060987.5A patent/CN110826068B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8214895B2 (en) * | 2007-09-26 | 2012-07-03 | Microsoft Corporation | Whitelist and blacklist identification data |
CN104715197A (zh) * | 2012-02-07 | 2015-06-17 | 北京奇虎科技有限公司 | 一种文件快速扫描方法和系统 |
CN102663286A (zh) * | 2012-03-21 | 2012-09-12 | 奇智软件(北京)有限公司 | 一种病毒apk的识别方法及装置 |
CN103093145A (zh) * | 2013-01-18 | 2013-05-08 | 北京奇虎科技有限公司 | 一种扫描移动存储设备的方法、装置和系统 |
CN103400076A (zh) * | 2013-07-30 | 2013-11-20 | 腾讯科技(深圳)有限公司 | 一种移动终端上的恶意软件检测方法、装置和系统 |
CN104123499A (zh) * | 2014-07-18 | 2014-10-29 | 北京金山安全软件有限公司 | 一种利用Android设备管理器对抗卸载的软件的识别方法及装置 |
CN106557695A (zh) * | 2015-09-25 | 2017-04-05 | 卓望数码技术(深圳)有限公司 | 一种恶意应用检测方法和系统 |
CN106407799A (zh) * | 2016-10-26 | 2017-02-15 | 北京金山安全软件有限公司 | 恶意文件安装的检测方法、装置、终端以及服务器 |
Non-Patent Citations (1)
Title |
---|
Android 恶意软件实现及检测研究;房鑫鑫;《中国优秀硕士学位论文全文数据库 信息科技辑(月刊)》;20130615;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110826068A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110826068B (zh) | 安全检测方法和安全检测系统 | |
JP7073343B2 (ja) | 難読化されたウェブサイトコンテンツ内のセキュリティ脆弱性及び侵入検出及び修復 | |
US9158918B2 (en) | Method and apparatus for determining malicious program | |
CN105512881B (zh) | 一种基于二维码完成支付的方法及终端 | |
US20160110543A1 (en) | Apparatus and method for detecting malicious application based on visualization similarity | |
US8407789B1 (en) | Method and system for dynamically optimizing multiple filter/stage security systems | |
CN111431926B (zh) | 一种数据关联分析的方法、系统、设备及可读存储介质 | |
US10440050B1 (en) | Identifying sensitive data on computer networks | |
US20150007328A1 (en) | Method and System for Quickly Scanning Files | |
CN110084064B (zh) | 基于终端的大数据分析处理方法及系统 | |
US20210042150A1 (en) | Method-call-chain tracking method, electronic device, and computer readable storage medium | |
CN110071924B (zh) | 基于终端的大数据分析方法及系统 | |
CN102970140A (zh) | 企业或个人授权信息电子认证系统 | |
Feng et al. | Seqmobile: An efficient sequence-based malware detection system using rnn on mobile devices | |
CN110162722A (zh) | 基于二维码的产品推荐方法、服务器及存储介质 | |
Rafiq et al. | AndroMalPack: enhancing the ML-based malware classification by detection and removal of repacked apps for Android systems | |
CN110140144B (zh) | 用于验证渲染的数据的图像处理系统 | |
Feng et al. | Seqmobile: A sequence based efficient android malware detection system using rnn on mobile devices | |
US9584537B2 (en) | System and method for detecting mobile cyber incident | |
CN112286815A (zh) | 一种接口测试脚本的生成方法及其相关设备 | |
CN104243215A (zh) | 终端设备口令管理的方法、设备及系统 | |
CN114996708B (zh) | 涉诈手机应用研判方法、装置、电子设备及存储介质 | |
CN108304310B (zh) | 一种日志分析方法及计算设备 | |
CN113449291B (zh) | 一种文件导入方法、装置、计算设备及存储介质 | |
CN106411891B (zh) | 文件处理方法、装置、服务端和设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |