CN110298171B - 移动互联网大数据应用的智能检测与安全防护方法 - Google Patents

移动互联网大数据应用的智能检测与安全防护方法 Download PDF

Info

Publication number
CN110298171B
CN110298171B CN201910521357.7A CN201910521357A CN110298171B CN 110298171 B CN110298171 B CN 110298171B CN 201910521357 A CN201910521357 A CN 201910521357A CN 110298171 B CN110298171 B CN 110298171B
Authority
CN
China
Prior art keywords
file
mobile application
application
similarity
mobile
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
Application number
CN201910521357.7A
Other languages
English (en)
Other versions
CN110298171A (zh
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.)
Jinan University
Original Assignee
Jinan University
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 Jinan University filed Critical Jinan University
Priority to CN201910521357.7A priority Critical patent/CN110298171B/zh
Publication of CN110298171A publication Critical patent/CN110298171A/zh
Application granted granted Critical
Publication of CN110298171B publication Critical patent/CN110298171B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • 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
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种移动互联网大数据应用的智能检测与安全防护方法。随着移动App大数据时代的到来,可以发现越来越多的移动应用被复制或重新包装。不法分子通过对原生移动应用进行高度模仿、植入恶意代码等行为来重新打包移动应用,使得用户在使用应用经常会时造成隐私泄露、远程控制等危害。本发明使用描述熵相似方法、资源相似检测、统计相似检测以及字符串相似智能检测进行检测移动应用是否存在剽窃或恶意行为,智能分析其是否存在恶意攻击代码以及潜在漏洞;通过聚类算法、混淆加密技术等对应用程序进行分类和安全加固,实现对移动大数据应用的智能检测及安全防护。

Description

移动互联网大数据应用的智能检测与安全防护方法
技术领域
本发明涉及移动应用安全技术领域,具体涉及一种移动互联网大数据应用的智能检测与安全防护方法。
背景技术
随着大数据时代的到来以及移动互联网的迅速发展,使得移动互联网应用的领域不断地扩大。目前,移动互联网应用已经成为了人们生活中不可缺少的重要内容。
随着移动互联网应用的发展,越来越多的移动应用用户遭到了攻击。究其原因,主要是由于移动应用系统底层技术平台的开放性,允许第三方应用便捷开发,因此很容易被不法分子通过对原生移动应用的文件名、UI界面等进行高度模仿后,植入恶意代码,篡改应用程序,并再次重新打包发布到移动应用市场。用户一旦安装了这些应用,就很有可能造成隐私泄露、恶意扣费、远程控制等危害。
如今,现有的基于代码比较方法,通过使用海量的字符串距离计算来计算移动软件大数据安全检测速度很慢,大数据的代码相似性度的比较体量非常庞大。基于距离计算的方法也不算高效,其检测出来的信息并不准确和全面,使得用户无法放心地去使用。因此,目前亟待提出一种移动互联网大数据应用的智能检测及安全防护方法来对移动恶意应用进行更为快速、准确且全面地检测。
发明内容
现有技术中,一些程序根据代码功能重新包装或克隆,在使用通过模糊哈希提取应用程序指纹或者使用特征哈希进行代码相似性分析的算法进行检测时,经常会出现错误率高、进程缓慢、信息不全面的问题,本发明的目的是为了解决这一问题,提供一种移动互联网大数据应用的智能检测及安全防护方法。
本发明的目的可以通过采取如下技术方案达到:
一种移动互联网大数据应用的智能检测及安全防护方法,该方法包括以下步骤:
S1、检测移动应用的基本属性。上传需要检测的移动应用,检测其基本属性信息,并将其基本信息属性进行展现;
S2、对移动应用进行剽窃或恶意行为智能检测,判断其是否存在重包装的嫌疑;
S3、对该可疑移动应用进行恶意攻击检测,检查其是否存在包括恶意代码在内的恶意行为,若存在恶意行为,则将检测出来的敏感权限和恶意API信息通过网站展现;其中,上述敏感权限,主要用于获取到一些用户私密的信息。即如果你的应用需要获取敏感权限,首先需要获取用户的授权。如相机CAMERA、联系人CONTACTS、存储设备STORAGE;
S4、对移动应用的安全漏洞进行检测;
S5、针对剽窃智能检测、恶意攻击检测以及漏洞检测的结果信息,对移动应用的相关程序代码、应用文件和配置文件等进行安全加固处理;
S6、通过聚类算法,将已经存储的移动应用的属性信息进行分类整理。
进一步地,所述的步骤S2中判断移动应用是否存在重包装嫌疑的过程如下:
通过智能计算待检测移动应用的相似度,将其与预定的比较阈值进行比较,若相似度值大于或等于预定的比较阈值,则判定该移动应用有重包装的嫌疑;若小于预定的比较阈值,则判断没有重包装的嫌疑。
进一步地,所述的步骤S2中对移动应用进行剽窃或恶意行为智能检测的方法包括以下四种:描述熵相似检测方法、资源相似检测方法、统计相似检测方法以及字符串相似检测方法,其中,
(1)基于描述熵相似方法检测,具体计算方法如下:
给定一个复杂性度量,该复杂性度量是基于不同的子序列来进行计算的。对于N个不同的子序列,可以通过D1+D2+D3+……+DN=1的直方图向量Column(S)={D1,D2,D3,……,DN}来进行表示。其中,DN代表的是第N个子序列的复杂性度量,将其进行归DN处理,依此类推,将描述熵通过直方图向量进行计算,其计算公式如下:
Figure BDA0002096796440000031
其中,En代表计算描述熵的函数(该描述熵为序列的描述熵),括号内的变量则代表函数计算所需变量,Column(S)为直方图向量,Di为第i个子序列的复杂性度量,log()为求以10为底的进行对数运算;
计算对应的格式文件中相同函数个数,然后通过基于描述熵方法求出相似函数个数,然后计算移动大数据应用的相似度值。
(2)资源相似方法检测,具体计算方法如下:
该方法主要通过比较移动应用的资源文件摘要(散列),来计算两个移动应用之间的相似度。但是如果根据移动应用的资源内容进行摘要计算则需要消耗大量资源,因此不能直接用于必须处理大量App的工具中。为了便于计算,使用在移动应用签名过程中计算的散列进行计算。该方法的主要技术步骤如下:
首先,选择位于目录下的所有App文件,其路径由作为参数提供的变量路径指定。
然后,从App文件中提取文件的名称,然后提取App的属性,该方法遍历manifest.mf资源文件中的所有内容,并将结果写入映射中,其映射的键对应于包中文件的相对路径(其值等于文件的SHA1散列);
接着,提取已被用于应用程序签名的开发者证书,并存储到Attr对象中进行处理并计算这些证书。将应用程序文件的名称以及包含所有必需应用程序属性的Attri对象都存储在AppAttrlist列表中;
最后,将提取的App文件里manifest.mf资源文件中散列集合的哈希值进行计算,其计算方式如下:
Figure BDA0002096796440000041
其中,Hk和Hl代表某个文件散列的哈希值。jSim(Hk,Hl)指的是Jaccard相似系数,Jaccard系数值越大,说明其应用程序的相似度越高。
(3)统计相似方法检测,具体计算方法如下:
静态分析移动应用:对正在检测的检测移动应用进行压缩,并转化成txt文件。针对App应用中的每个函数,计算哈希和、描述熵与压缩字符串等基本措施。同时,把txt文件的内容整理成字典(以哈希和作为键key,对应的熵与压缩字符串组成的字符串作为value),原程序与待检测程序的txt文件都分别整理成一个字典,并将这些内容传递给基于描述熵的算法,用于做相似度的计算。
(4)字符串相似检测,具体计算方法如下:
该方法是以Python语法为进行编写的,其本身具有一系列的App以及dex、odex、arsc等文件的分析处理功能,可以将App文件中的dex文件、类、方法等都映射和操作为Python的对象。简单来说,该方法通过App文件的反向工程,恶意软件检测和威胁评估,还有程序行为可视化等行为,将原程序与待检测程序的字典去掉相同的函数再整理成一个字典。然后根据熵值与压缩字符串求出相似函数(即字典中的value值)。最后,将得到的相似度与对应的比较阈值进行比较,如果相似度值大于或等于预定的比较阈值,则判定检测程序有重包装的嫌疑;若小于预定的比较阈值,则判断没有重包装的嫌疑。
进一步地,所述的步骤S3中恶意攻击检测主要通过SVM模型恶意检测和恶意动态检测这两个方法来检测恶意软件。
(1)SVM模型恶意检测方法;
该方法首先输入训练的恶意移动应用,然后提取移动应用的恶意行为以用于计算训练SVM模型,然后再使用训练好的SVM模型检测移动应用程序中的恶意行为。该方法包含两大组件:TFIDF组件和SVM分类器。
前者主要进行恶意行为的提取和检测,后者具备训练和测试两大功能。
(2)恶意动态检测方法;
动态分析恶意移动应用,通过输入移动应用的安装包文件进行解析,然后返回移动应用的基本信息(文件大小,MD5值等)、文件类型统计(图片、txt等文件)、认证信息(证书、发行者和发行信息等)和可疑字符串等信息。
进一步地,所述的步骤S4中对移动应用的安全漏洞进行检测具体如下:
操作系统或应用程序中的一个漏洞可能会导致移动设备上被安装恶意软件。恶意软件是一种恶性的,可以嵌入到下载的文件中,并在发现特定漏洞时自行安装的流氓软件。该软件可能会损坏移动设备、操作系统或创建存储在移动设备和服务器上的信息流。该操作系统检测移动应用的漏洞主要通过两种方式对移动应用进行漏洞检测。
(1)通过静态分析移动应用来查找源代码或打包的App安全相关漏洞。同时,创建“概念验证”可部署的App或ADB(Android调试桥)命令,能够利用它发现许多漏洞。
(2)通过安全测试框架来进行漏洞扫描,该框架可帮助开发人员或黑客发现移动应用程序中的潜在安全漏洞。该框架是基于Python语言开发的,只需配置相关环境即可使用。该方法没有出色的GUI界面,但其对漏洞扫描的效率最高(平均每次扫描不到2分钟)且更准确。
进一步地,所述的步骤S5中安全加固处理步骤如下:
S5-1、使用zip压缩软件对移动应用的安装包进行解压得到原始dex文件,对原始dex文件进行加密,并将加密后的dex文件和相关的存放到assert目录里;
S5-2、用脱壳dex文件替换原始App文件里的dex文件;
其中,脱壳dex文件的作用主要有两个,一个是解密加密后的dex文件,二是基于dexclassloader动态加载解密后的dex文件;
S5-3、处理编译后的二进制AndroidManifest.xml文件,添加无效的参数,使反编译得到错误的清单文件;
S5-4、删除签名信息,因为原始App应用已经被修改,所以原始App应用的文件签名已经无效,所以需要删除原始App应用的签名信息,即删除META-INF目录下的.RSA和.SF和MANIFEST.MF文件;
S5-5、使用zip压缩软件对App应用进行压缩生成加固后的App文件,对加固后的App应用进行文件签名,App应用加固完成。
进一步地,所述的步骤S6中采用基于密度的聚类算法,该聚类算法主要根据样本的密度分布来进行聚类。通常情况下,密度聚类从样本密度的角度出来,来考查样本之间的可连接性,并基于可连接样本不断扩展聚类簇,以获得最终的聚类结果。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明通过采用描述熵相似检测、资源相似检测、统计相似检测以及字符串相似检测这四种方法,使得本发明可以对移动恶意应用进行更为快速、准确且全面地检测,检测其是否存在重包装嫌疑。
(2)本发明不仅可以检查移动应用是否存在重包装嫌疑,还可以对移动应用进行恶意攻击检测及漏洞检测。这样,使得移动应用的安全得到了保证。同时,本发明还采用了基于密度的聚类算法对已经上传的移动应用的属性信息进行分类整理。
附图说明
图1是本发明中移动互联网大数据应用的智能检测及安全防护方法的流程示意图;
图2是本发明中剽窃相似检测方法的流程示意图;
图3是本发明中对移动应用进行安全加固的流程示意图;
图4是本发明中系统中检测移动应用基本信息的流程示意图;
图5是本发明中恶意攻击检测方法的流程示意图;
图6是本发明中聚类模块的算法类型结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例公开了一种移动互联网大数据应用的智能检测及安全防护方法,具体流程如图1所示,该方法包括以下步骤:
S1、检测移动应用的基本属性。上传需要检测的移动应用,检测其基本属性信息,并将其基本信息属性进行展现;
S2、对移动应用进行剽窃相似检测,判断其是否存在重包装的嫌疑(如图2);
该步骤S2中判断移动应用是否存在重包装嫌疑的过程如下:
通过计算待检测移动应用的相似度,将其与预定的比较阈值进行比较,若相似度值大于或等于预定的比较阈值,则判定该移动应用有重包装的嫌疑;若小于预定的比较阈值,则判断没有重包装的嫌疑。
以上步骤S2中对移动应用进行剽窃相似检测的方法包括以下四种:描述熵相似检测方法、资源相似检测方法、统计相似检测方法以及字符串相似检测方法,其中,
(1)基于描述熵相似方法检测,具体计算方法如下:
给定一个复杂性度量,该复杂性度量是基于不同的子序列来进行计算的。对于N个不同的子序列,可以通过D1+D2+D3+……+DN=1的直方图向量Column(S)={D1,D2,D3,……,DN}来进行表示。其中,DN代表的是第N个子序列的复杂性度量,将其进行归DN处理,依此类推,将描述熵通过直方图向量进行计算,其计算公式如下:
Figure BDA0002096796440000081
其中,En代表计算描述熵的函数(该描述熵为序列的描述熵),括号内的变量则代表函数计算所需变量,Column(S)为直方图向量,Di为第i个子序列的复杂性度量,log()为求以10为底的进行对数运算;
计算对应的格式文件中相同函数个数,然后通过基于描述熵方法求出相似函数个数,然后计算相似度得到相似度值。
(2)资源相似方法检测,具体计算方法如下:
该方法主要通过比较资源文件摘要(散列),来智能计算两个应用程序之间的相似度。但是如果根据文件内容进行摘要计算则需要消耗大量资源,因此不能直接用于必须处理App大数据的工具中。为了便于计算,使用在应用程序签名过程中计算的散列进行智能计算。该方法的主要技术步骤如下:
首先,选择位于目录下的所有大数据App应用文件,其路径由作为参数提供的变量路径指定。
然后,从App文件中提取文件的名称,然后提取App应用的属性,该方法遍历manifest.mf文件中的所有内容,并将结果写入映射中,其映射的键对应于包中文件的相对路径(其值等于文件的SHA1散列);
接着,提取已被用于应用程序签名的开发者证书,并存储到Attr对象中进行处理并计算这些证书。将应用程序文件的名称以及包含所有必需应用程序属性的Attri对象都存储在AppAttrlist列表中;
最后,将提取的App文件里manifest.mf中散列集合的哈希值进行计算,其计算方式如下:
Figure BDA0002096796440000091
其中,Hk和Hl代表某个文件散列的哈希值。jSim(Hk,Hl)指的是Jaccard相似系数,Jaccard系数值越大,说明其应用程序的相似度越高。
(3)统计相似方法检测,具体计算方法如下:
静态分析移动应用:对正在检测的检测移动应用进行压缩,并转化成txt文件。针对App应用中的每个函数,计算哈希和、描述熵与压缩字符串等基本措施。同时,把txt文件的内容整理成字典(以哈希和作为键key,对应的熵与压缩字符串组成的字符串作为value),原程序与待检测程序的txt文件都分别整理成一个字典,并将这些内容传递给基于描述熵的算法,用于做相似度的计算。
(4)字符串相似检测,具体计算方法如下:
该方法是以Python语法为进行编写的,其本身具有一系列的App以及dex、odex、arsc等文件的分析处理功能,可以将App文件中的dex文件、类、方法等都映射和操作为Python的对象。简单来说,该方法通过App文件的反向工程,恶意软件检测和威胁评估,还有程序行为可视化等行为,将原程序与待检测程序的字典去掉相同的函数再整理成一个字典。然后根据熵值与压缩字符串求出相似函数(即字典中的value值)。最后,将得到的相似度与对应的比较阈值进行比较,如果相似度值大于或等于预定的比较阈值,则判定检测程序有重包装的嫌疑;若小于预定的比较阈值,则判断没有重包装的嫌疑。
S3、对该可疑移动应用进行恶意攻击检测,检查其是否存在包括恶意代码在内的恶意行为,若存在恶意行为,则将检测出来的敏感权限和恶意API信息通过网站展现。其中,敏感权限,主要用于获取到一些用户私密的信息。即如果应用需要获取敏感权限,首先需要获取用户的授权。如相机CAMERA、联系人CONTACTS、存储设备STORAGE。详细流程请看图5。
该步骤S3中恶意攻击检测主要通过SVM模型恶意检测和恶意动态检测这两个方法来检测恶意软件。
(1)SVM模型恶意检测方法;
该方法首先输入训练的恶意移动应用,然后提取移动应用的恶意行为以用于计算训练SVM模型,然后再使用训练好的SVM模型检测移动应用程序中的恶意行为,然后提取该恶意移动应用或移动应用的恶意行为以用于计算训练模型,然后再检测移动应用程序中的恶意行为。该方法包含两大组件:TFIDF组件和SVM分类器。
前者主要进行恶意行为的提取和检测,后者具备训练和测试两大功能。
(2)恶意动态检测方法;
动态分析恶意移动应用,通过输入移动应用的安装包文件进行解析,然后返回移动应用的基本信息(文件大小,MD5值等)、文件类型统计(图片、txt等文件)、认证信息(证书、发行者和发行信息等)和可疑字符串等信息。
S4、对移动应用的安全漏洞进行检测;
操作系统或应用程序中的一个漏洞可能会导致移动设备上被安装恶意软件。恶意软件是一种恶性的,可以嵌入到下载的文件中,并在发现特定漏洞时自行安装的流氓软件。该软件可能会损坏移动设备、操作系统或创建存储在移动设备和服务器上的信息流。该操作系统检测移动应用的漏洞主要通过两种方式对移动应用进行漏洞检测。
(1)通过静态分析移动应用来查找源代码或打包的App安全相关漏洞。同时,创建“概念验证”可部署的App或ADB(Android调试桥)命令,能够利用它发现许多漏洞。
(2)通过安全测试框架来进行移动应用漏洞扫描,可发现移动应用程序中的潜在安全漏洞。该框架基于Python语言开发的,只需配置相关环境即可使用。该方法没有出色的GUI界面,但其对漏洞扫描的效率最高(平均每次扫描不到2分钟)且更准确。
S5、针对剽窃相似检测、恶意攻击检测以及漏洞检测的结果信息,对移动应用的相关程序代码、应用文件和配置文件等进行安全加固处理;
以上步骤S5中安全加固处理的过程如下:
S5-1、使用zip压缩软件对移动应用的安装包进行解压得到原始dex文件,对原始dex文件进行加密,并将加密后的dex文件和相关的存放到assert目录里;
S5-2、用脱壳dex文件替换原始App文件里的dex文件;
其中,脱壳dex文件的作用主要有两个,一个是解密加密后的dex文件,二是基于dexclassloader动态加载解密后的dex文件;
S5-3、处理编译后的二进制AndroidManifest.xml文件,添加无效的参数,使反编译得到错误的清单文件;
S5-4、删除签名信息,因为原始App文件已经被修改,所以原始App文件的签名已经无效,所以需要删除原始App的签名信息,即删除META-INF目录下的.RSA和.SF和MANIFEST.MF文件;
S5-5、使用zip压缩软件对App进行压缩生成加固后的App文件,对加固后的App文件进行签名,App加固完成。
S6、通过聚类算法,将已经存储的移动应用的属性信息进行分类整理。
该步骤中,通过基于密度的聚类算法,对存储的移动应用进行分类,并可通过点聚类和边聚类的列表进行查看。
另外,还可以使用其他的工具对移动应用进行检测,以防遗漏其他的不安全因素,确保移动应用的安全。
实施例二
本实施例公开了另一种移动互联网大数据应用的智能检测及安全防护方法,需要指出的是,本实施例的步骤S5中安全加固处理具体如下:
针对之前智能检测出来的移动应用信息,对该移动应用进行安全加固处理,安全加固处理主要是通过对移动应用的dex文件混合加密保护技术和对其xml配置文件进行修改来实现的,详细过程如图3。
dex文件是安卓系统中的可执行文件,即安卓应用的java代码经过编译生成的class文件。它包括App的源码,程序进行反编译时,最主要的就是对这个文件进行反编译。因此,对dex文件进行加密可以有效防止逆向工具反编译移动应用。
(1)dex文件混合加密保护技术:混淆加密,主要是为了隐藏dex文件中关键的代码,该技术分为四个阶段(力度从轻到重进行排序):静态变量的隐藏、函数的重复定义、函数的隐藏以及整个类的隐藏。
对移动应用的dex文件进行加壳保护,相当于把源码打包至其他文件夹下,用逆向工具对加密后的dex文件进行文件解析,使之只能看到壳文件,可以防止解包后看到真正的源代码。
(2)修改xml配置文件:xml文件主要记录的Android移动应用的一些基本配置,处理编译后的二进制AndroidManifest.xml文件,添加无效的参数,使反编译得到错误的清单文件。
实施例三
本实施例公开了另一种移动互联网大数据应用的智能检测及安全防护方法,需要指出的是,本实施例的步骤S6中通过聚类算法,将已经存储的移动应用的属性信息进行分类整理的过程如下:
移动互联网大数据应用的智能检测及安全防护方法中采用基于密度的聚类算法对移动应用的属性信息进行分类整理。基于密度的聚类算法是根据样本的密度分布来进行聚类。通常情况下,密度聚类从样本密度的角度出来,来考查样本之间的可连接性,并基于可连接样本不断扩展聚类簇,以获得最终的聚类结果。详细流程如图6所示。
本实施例中使用DBSCAN(Density-Based Spatial Clustering ofApplicationswith Noise)密度聚类算法。
该算法的计算过程如下:
(1)假定一个样本集E={x1,x2,…,xm},以及一个领域参数(∈,MinPts),其中∈表示半径参数,MinPts表示密度阈值;
(2)初始化核心对象集合:
Figure BDA0002096796440000131
(3)判断样本x的∈-是否属于领域N(x),若N(x)的绝对值大于或等于MinPts,则将样本x加入核心对象集合Ω=Ω∪{x};
(4)初始化聚类簇数:k=0和未访问样本集合:Γ=E;
(5)当
Figure BDA0002096796440000132
时,记录当前未访问样本集合:Γold=Γ,从中随机选取一个核心对象o∈Ω,初始化队列Q=<O>,其中Γ=Γ\{o};
(6)当
Figure BDA0002096796440000133
取出队列Q中的首个样本q,如果N(q)的绝对值大于或等于MinPts,令Δ=N(q)∩Γ,将Δ中的样本加入队列Q,这里的Γ=Γ\Δ;
(7)根据类别进行划分,令k=k+1,生成聚类簇,其计算方式为:Ck=Γold\Γ;
(8)随后进行核心对象集合的运算Ω=Ω\Ck,将Ω值相近的归为一类,进行簇划分:C={C1,C2,…,Ck}。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (5)

1.一种移动互联网大数据应用的智能检测与安全防护方法,其特征在于,所述的方法包括以下步骤:
S1、上传原生移动应用的App文件,对其进行检测、计算并输出移动应用的属性信息,然后将其信息进行储存;
S2、上传可疑移动应用的App文件,通过剽窃智能检测方法对其进行计算得到App文件的相似度,将所计算得到的相似度与预定的比较阈值进行比较,判断其是否存在重包装的嫌疑;
步骤S2中对移动应用进行剽窃相似检测的方法包括以下四种:描述熵相似检测方法、资源相似检测方法、统计相似检测方法以及字符串相似检测方法;
所述资源相似检测方法包括:
首先,选择位于目录下的所有大数据App应用文件,其路径由作为参数提供的变量路径指定;
然后,从App文件中提取文件的名称,然后提取App应用的属性,该方法遍历manifest.mf文件中的所有内容,并将结果写入映射中,其映射的键对应于包中文件的相对路径;
接着,提取已被用于应用程序签名的开发者证书,并存储到Attr对象中进行处理并计算这些证书;将应用程序文件的名称以及包含所有必需应用程序属性的Attri对象都存储在AppAttrlist列表中;
最后,将提取的App文件里manifest.mf中散列集合的哈希值进行计算;
S3、对该可疑移动应用进行恶意攻击检测,检查其是否存在包括恶意代码在内的恶意行为,若存在恶意行为,则将检测出来的敏感权限和恶意API信息通过网站展现;
步骤S3中对于恶意攻击的检测方法包括SVM模型恶意检测和恶意动态检测,其中,所述的SVM模型恶意检测过程如下:
首先输入用于训练的恶意移动应用,然后提取移动应用的恶意行为以用于计算训练SVM模型,然后再使用训练完毕的SVM模型检测移动应用程序中的恶意行为;
所述的恶意动态检测过程如下:
动态分析恶意移动应用,通过输入移动应用的安装包文件进行解析,返回移动应用的基本信息、文件类型统计、认证信息和可疑字符串信息,其中,所述的移动应用的基本信息包括文件大小和MD5值,所述的文件类型统计包括图片和txt,所述的认证信息包括证书、发行者和发行信息;
S4、对移动应用的安全漏洞进行检测;
步骤S4中对移动应用的安全漏洞进行检测包括以下方法:
(1)通过静态分析移动应用来查找源代码的安全漏洞,同时,创建“概念验证”可部署的App或Android调试桥命令查找漏洞;
(2)通过安全测试框架来进行漏洞扫描;
S5、针对剽窃相似检测、恶意攻击检测以及漏洞检测的结果信息,对移动应用的相关程序代码、应用文件和配置文件进行安全加固处理;
S6、通过聚类算法,将已经存储的移动应用的属性信息进行分类整理。
2.根据权利要求1中所述的移动互联网大数据应用的智能检测与安全防护方法,其特征在于,所述的步骤S2中判断移动应用是否存在重包装嫌疑的过程如下:
通过计算待检测移动应用的相似度,将其与预定的比较阈值进行比较,若相似度值大于或等于预定的比较阈值,则判定该移动应用有重包装的嫌疑;若小于预定的比较阈值,则判断没有重包装的嫌疑。
3.根据权利要求1所述的移动互联网大数据应用的智能检测与安全防护方法,其特征在于,所述的描述熵相似检测方法的过程如下:
给定一个复杂性度量,该复杂性度量是基于不同的子序列来进行计算的,对于N个不同的子序列,通过D1+D2+D3+……+DN=1的直方图向量Column(S)={D1,D2,D3,……,DN}进行表示,其中,DN代表的是第N个子序列的复杂性度量,将其进行归DN处理,依此类推,将描述熵通过直方图向量进行计算,其计算公式如下:
Figure FDA0002955966150000021
其中,En代表计算描述熵的函数,括号内的变量代表函数计算所需变量,Column(S)为直方图向量,Di为第i个子序列的复杂性度量,log()为求以10为底的进行对数运算;
计算对应的格式文件中相同函数个数,然后通过基于描述熵方法求出相似函数个数,然后计算相似度得到相似度值。
4.根据权利要求1所述的移动互联网大数据应用的智能检测与安全防护方法,其特征在于,所述的步骤S5中安全加固处理过程如下:
S5-1、使用zip压缩软件对移动应用的安装包进行解压得到原始dex文件,对原始dex文件进行加密,并将加密后的dex文件存放到assert目录;
S5-2、用脱壳dex文件替换原始App文件里的dex文件;
S5-3、处理编译后的二进制AndroidManifest.xml文件,添加无效的参数,使反编译得到错误的清单文件;
S5-4、要删除原始App的签名信息,即删除META-INF目录下的.RSA和.SF和MANIFEST.MF文件;
S5-5、使用zip压缩软件对App进行压缩生成加固后的App文件,对加固后的App文件进行签名,App加固完成。
5.根据权利要求1所述的移动互联网大数据应用的智能检测与安全防护方法,其特征在于,所述的步骤S6中采用基于密度的聚类算法,该聚类算法根据样本的密度分布来进行聚类。
CN201910521357.7A 2019-06-17 2019-06-17 移动互联网大数据应用的智能检测与安全防护方法 Active CN110298171B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910521357.7A CN110298171B (zh) 2019-06-17 2019-06-17 移动互联网大数据应用的智能检测与安全防护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910521357.7A CN110298171B (zh) 2019-06-17 2019-06-17 移动互联网大数据应用的智能检测与安全防护方法

Publications (2)

Publication Number Publication Date
CN110298171A CN110298171A (zh) 2019-10-01
CN110298171B true CN110298171B (zh) 2021-07-27

Family

ID=68028114

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910521357.7A Active CN110298171B (zh) 2019-06-17 2019-06-17 移动互联网大数据应用的智能检测与安全防护方法

Country Status (1)

Country Link
CN (1) CN110298171B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110796179B (zh) * 2019-10-12 2023-05-26 上海上湖信息技术有限公司 用于模型训练的样本数据处理方法及装置、存储介质、终端
CN110968874B (zh) * 2019-11-28 2023-04-14 腾讯科技(深圳)有限公司 一种漏洞检测方法、装置、服务器及存储介质
CN113159802A (zh) * 2021-04-15 2021-07-23 武汉白虹软件科技有限公司 一种实现涉诈应用收集和特征提取聚类的算法模型及系统
CN114331396A (zh) * 2021-12-28 2022-04-12 中国科学技术大学 面向以太坊智能合约的协议安全属性自动提取方法及系统
CN117290823B (zh) * 2023-11-21 2024-05-10 中国电信股份有限公司江西分公司 一种app智能检测与安全防护方法、计算机设备及介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964025B (zh) * 2009-07-23 2016-02-03 北京神州绿盟信息安全科技股份有限公司 Xss检测方法和设备
CN105468936B (zh) * 2014-08-20 2019-08-09 中兴通讯股份有限公司 应用的加固方法及装置
CN105893848A (zh) * 2016-04-27 2016-08-24 南京邮电大学 一种基于代码行为相似度匹配的Android恶意应用程序防范方法
CN109858249B (zh) * 2019-02-18 2020-08-07 暨南大学 移动恶意软件大数据的快速智能比对和安全检测方法

Also Published As

Publication number Publication date
CN110298171A (zh) 2019-10-01

Similar Documents

Publication Publication Date Title
CN110298171B (zh) 移动互联网大数据应用的智能检测与安全防护方法
Lei et al. EveDroid: Event-aware Android malware detection against model degrading for IoT devices
US10915659B2 (en) Privacy detection of a mobile application program
Chen et al. Detecting android malware using clone detection
RU2614557C2 (ru) Система и способ обнаружения вредоносных файлов на мобильных устройствах
JP2019003596A (ja) 静的分析の要素を用いた悪質なファイルを検出するためのシステム及び方法
CN104123493A (zh) 应用程序的安全性检测方法和装置
Faghihi et al. RansomCare: Data-centric detection and mitigation against smartphone crypto-ransomware
EP2807598A1 (en) Identifying trojanized applications for mobile environments
Nguyen et al. Detecting repackaged android applications using perceptual hashing
Suarez-Tangil et al. Thwarting obfuscated malware via differential fault analysis
CN112115473A (zh) 一种用于Java开源组件安全检测的方法
Lubuva et al. A review of static malware detection for Android apps permission based on deep learning
Munaiah et al. Darwin: A static analysis dataset of malicious and benign android apps
Alahy et al. Android malware detection in large dataset: smart approach
Rana et al. Malware analysis on Android using supervised machine learning techniques
CN116932381A (zh) 小程序安全风险自动化评估方法及相关设备
Ding et al. Detecting android malware using bytecode image
Hu et al. Robust app clone detection based on similarity of ui structure
Bokolo et al. Hybrid analysis based cross inspection framework for android malware detection
Shi et al. SFCGDroid: android malware detection based on sensitive function call graph
Ning Fingerprinting Android obfuscation tools using visualization
Cam et al. Detect repackaged android applications by using representative graphs
Aboshady et al. APKOWL: An Automatic Approach to Enhance the Malware Detection
KR20150089664A (ko) 모바일 악성코드 탐지 시스템

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