CN113342639A - 小程序安全风险评估方法和电子设备 - Google Patents

小程序安全风险评估方法和电子设备 Download PDF

Info

Publication number
CN113342639A
CN113342639A CN202110548984.7A CN202110548984A CN113342639A CN 113342639 A CN113342639 A CN 113342639A CN 202110548984 A CN202110548984 A CN 202110548984A CN 113342639 A CN113342639 A CN 113342639A
Authority
CN
China
Prior art keywords
applet
information
detection information
code
vulnerability
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.)
Granted
Application number
CN202110548984.7A
Other languages
English (en)
Other versions
CN113342639B (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.)
Zhongshi Ruian Beijing Network Technology Co ltd
Beijing University of Posts and Telecommunications
National Computer Network and Information Security Management Center
Original Assignee
Zhongshi Ruian Beijing Network Technology Co ltd
Beijing University of Posts and Telecommunications
National Computer Network and Information Security Management Center
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 Zhongshi Ruian Beijing Network Technology Co ltd, Beijing University of Posts and Telecommunications, National Computer Network and Information Security Management Center filed Critical Zhongshi Ruian Beijing Network Technology Co ltd
Priority to CN202110548984.7A priority Critical patent/CN113342639B/zh
Publication of CN113342639A publication Critical patent/CN113342639A/zh
Application granted granted Critical
Publication of CN113342639B publication Critical patent/CN113342639B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供一种小程序安全风险评估方法和电子设备,包括,获取需要测试的小程序的名称和APPID,根据所述名称和所述APPID检索到所述小程序,并获取所述小程序的源码文件;根据所述源码文件,获取关键字符串代码段;获取本地加密数据库中所述小程序的基本信息,根据所述基本信息和所述关键字符串代码段进行安全风险评估,得到代码评估信息;对所述小程序进行模拟点击操作,并启动漏洞扫描器进行漏洞扫描,得到漏洞扫描信息;根据所述代码评估信息和所述漏洞扫描信息生成风险评估报告,并根据所述风险评估报告进行相应处理。本公开通过对小程序采用静态检测和动态分析相结合的方法进行全面的安全风险评估,并根据所述风险评估报告进行相应处理。

Description

小程序安全风险评估方法和电子设备
技术领域
本公开涉及Android安全技术领域,尤其涉及一种小程序安全风险评估方法和电子设备。
背景技术
小程序是一种不需要下载安装即可使用的应用,用户扫一扫或者搜一下即可打开应用,不用关心是否安装太多应用的问题。2017-2019年我国小程序数量高速发展,年均复合增速达127%。2019年我国小程序数量达300万个,同比大幅增长。我国小程序日活跃用户数总体呈逐年增长态势,年均复合增速达39%。2019年我国小程序日活跃用户数为3.3亿,同比增长43.48%。
小程序在人们的生产生活中的作用越来约大,尤其是疫情之下,人们的线下活动受阻,生活重心向线上转移,微信小程序的访问人数出现了大幅度的上升。由于小程序的开发规范和安全保障措施尚未成熟,导致目前发布的小程序存在诸多安全隐患。
发明内容
有鉴于此,本公开的目的在于提出一种小程序安全风险评估方法和电子设备。
基于上述目的,本公开提供了一种小程序安全风险评估方法,包括:
获取需要测试的小程序的名称和APPID,根据所述名称和所述APPID检索到所述小程序,并获取所述小程序的源码文件;
根据所述源码文件,获取关键字符串代码段;
获取本地加密数据库中所述小程序的基本信息,根据所述基本信息和所述关键字符串代码段进行安全风险评估,得到代码评估信息;
对所述小程序进行模拟点击操作,并启动漏洞扫描器进行漏洞扫描,得到漏洞扫描信息;
根据所述代码评估信息和所述漏洞扫描信息生成风险评估报告,并根据所述风险评估报告进行相应处理。
基于同一发明构思,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至9任意一项所述的方法。
从上面所述可以看出,本公开提供的一种小程序安全风险评估方法,通过对小程序采用静态检测和动态分析相结合的方法进行全面的安全风险评估,并根据所述风险评估报告进行相应处理。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例的应用场景示意图;
图2为本公开实施例的一种小程序安全风险评估方法的流程图;
图3为本公开实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了方便理解,下面对本申请实施例中涉及的名词进行解释:
URL:是统一资源定位器(Uniform Resource Locator)的简称,它是WWW的统一资源定位标志,就是指在WWW上每一信息资源统一具有的且在网上唯一的地址。
WWW:是万维网(World Wide Web)的简称,也称为Web、3W等。WWW是基于客户机/服务器方式的信息发现技术和超文本技术的综合。
SDK:是软件开发工具包(Software Development Kit)的简称,是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
SQL:是结构化查询语言(Structured Query Language)的简称,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
XSS:是跨站脚本攻击(Cross Site Scripting)的缩写,由于CSS跟层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,所以将跨站脚本攻击缩写为XSS。XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、VBScript、ActiveX、Flash或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。
应用场景介绍
参照图1,其为本公开提供的小程序安全风险评估方法的应用场景示意图。该应用场景包括终端设备101、服务器102、和数据存储系统103。其中,终端设备101、服务器102以及数据存储系统103之间均可通过有线或无线的通信网络连接。终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备视、个人数字助理(personal digital assistant,PDA)或其它能够实现上述功能的电子设备等。服务器102和数据存储系统103均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
服务器102用于向终端设备101的用户提供小程序安全风险评估服务,终端设备101中安装有与服务器102通信的客户端,用户可通过该客户端输入需要测试的小程序的名称,点击检测按钮后,客户端将需要测试的小程序的名称发送给服务器102,服务器102将待检测小程序的名称输入已训练的数据对比模型,得到小程序风险评估报告,将风险评估报告发送给客户端,客户端向用户展示风险评估报告,以帮助用户进行进行相应处理。
数据存储系统103中存储有大量训练数据,每个训练数据包括一个小程序基本数据和对比规则,服务器102可基于大量训练数据对数据对比模型进行训练,使得数据对比模型能够对输入的小程序进行风险评估,训练数据的来源包括但不限于已有的数据库、从互联网爬取的数据或者在用户使用客户端时上传的数据。当数据对比模型输出的准确率达到一定要求时,服务器102可基于数据对比模型向用户提供风险评估服务,同时,服务器102还可以基于新增的训练数据不断优化数据对比模型。
本申请实施例的数据对比模型可应用于用户小程序安全预警、制作者调试小程序等场景。可基于不同对比规则分别对数据对比模型进行训练,以获得风险评估能力较高的修正模型。
下面结合图1的应用场景,来描述根据本申请示例性实施方式的文本修正模型的训练方法以及文本修改方法。需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
发明概述
如背景技术部分所述,在相关技术中,由于小程序的开发规范和安全保障措施尚未成熟,导致目前发布的小程序存在诸多安全隐患,就单个小程序来说,风险不大,但是当一个业务分出多个小程序后,每个小程序暴露一部分信息,综合起来看就暴露出大量的信息,导致攻击面的扩大,如果其中一个小程序没有很好的进行防护,就有可能导致一连串的风险。
针对上述相关技术存在的问题,本公开实施例提供了一种小程序安全风险评估方法和电子设备,通过对小程序采用静态检测和动态分析相结合的方法进行全面的安全风险评估,并根据所述风险评估报告进行相应处理。
以下,通过具体的实施例进一步详细说明本公开的技术方案。
首先,本说明书一个或多个实施例提供了一种小程序安全风险评估方法。参照图2,所述小程序安全风险评估方法,包括以下步骤:
步骤S101、获取需要测试的小程序的名称和APPID,根据所述名称和所述APPID检索到所述小程序,并获取所述小程序的源码文件。
本实施例中,可以通过自动化测试服务接收用户输入的需要测试的小程序的名称和APPID,运行自动化测试服务,确保adb连接成功,在前端界面输入要测试的小程序名称和APPID,APPID表示所述小程序的编号,根据编号可以更方便获取小程序。系统首先会进入到搜索小程序的界面,对输入的小程序名称进行搜索即可进入到该小程序。小程序运行,微信会将小程序的源码包文件存入到指定的目录“/data/data/com.tencent.mm/MicroMsg/{32位字节}/appbrand/pkg”下,对目录下的对应文件进行反编译即可获取小程序的源码文件。
在此基础上,对目录下的对应文件进行反编译,若小程序未经过混淆处理,直接可以获取小程序源码,则未经过加密和混淆处理,若是无法获取小程序源码,则小程序经过加密和混淆处理。小程序经过加密和混淆处理,调用dex2jar.rar和jd-gui.zip这两个工具,获取小程序的源码。
使用自动化测试,优化测试速度,可非常快速的运行上万条记录,提高准确性,可以不为外界因素干扰,准确运行测试用例,能真实快速搭建测试环境,测试数据,重现缺陷,可以提高工作效率,一边运行自动化测试,一边准备测试报告,可以结合多种编程语言及技术协助搭建测试环境,防止手工测试重复劳动,可提高测试人员技能,同时提高对测试的兴趣,防止对手工测试感觉枯燥。
具体的,作为一个可选的方式,自动化测试服务可以为appium服务。
Appium支持Android和IOS自动化测试。Appium支持Selenium WebDriver支持的所有语言,新手很容易使用。
步骤S102、根据所述源码文件,获取关键字符串代码段。
本实施例中,由于小程序是使用js代码编写的,对js文件进行遍历,根据关键字符串“input”,“console.log”,“login”,“http”等,即可获取到相关的代码段。
js代码有多种遍历方法,通过不同的遍历方法可以获取不同的关键数据,将关键数据保存,进行代码安全检测。
步骤S103、获取本地加密数据库中所述小程序的基本信息,根据所述基本信息和所述关键字符串代码段进行安全风险评估,得到代码评估信息。
本实施例中,在获取小程序敏感的数据时需要解密数据库"decrypted_database.db",解密后通过数据库查询命令查询表WxaAttributesTable和AppBrandKVData获取到小程序的基本信息。
在此基础上,根据所述基本信息和所述关键字符串代码段,判断所述小程序代码安全性,得到小程序代码安全信息。
在此基础上,检查代码中setSavePassword的值是否为false,关闭密码保存功能,如果不为false,则有加密秘钥明文存储风险,得到代码编译检测信息。
进一步的,根据所述明文URL和小程序服务域名地址,判断是否存在安全风险,将明文URL输入到数据对比模型中,数据对比模型中预先存储小程序的服务域名地址,若是二者一致,不存在安全风险,得到安全风险分析信息。
进一步的,根据所述小程序的服务域名地址和所述小程序对应使用地址,判断是否存在复用情况,将对应使用地址到数据对比模型中,数据对比模型中预先存储小程序的服务域名地址,若是二者一致,不存在复用情况,得到服务端复用情况检测信息。
进一步的,所述小程序代码安全信息包括代码编译检测信息、安全风险分析信息和服务端复用情况检测信息。
在此基础上,运行所述小程序,通过所述小程序的基本信息、所述关键字符串代码段和所述小程序运行界面判断所述小程序服务交换安全和本地数据存储安全,得到所述小程序服务交换安全和本地数据存储安全信息。
在此基础上,调用密码嗅探工具,能获取到用户密码,则存在用户密码嗅探问题,可以得到用户密码嗅探安全信息。
进一步的,从小程序代码中查看,有密码强度提醒代码,测试小程序客户端程序是否检查用户输入的密码,若禁止用户设置弱口令,则不存在密码强度安全问题,可以得到密码强度安全检测信息。
进一步的,从小程序代码中查看,有验证码获取代码,输入密码提示需要输入验证码,则不存在验证码安全问题,可以得到验证码安全检测信息。
进一步的,在输入敏感信息的界面进行连续截屏,通过连续截图,可以捕捉到用户密码输入框的敏感信息,则存在截屏危险,可以得到防截屏检测信息。
进一步的,从小程序代码中查看,有协议同意代码,运行小程序过程中,需要同意协议才可以继续使用小程序,则存在明确的用户协议,可以得到用户协议检测信息。
进一步的,从小程序代码中查看,有权限获取代码,运行小程序过程中,询问小程序权限,则在需要权限时提醒用户进行授权,可以得到数据采集检测信息。
进一步的,根据所述小程序的基本信息判断是否将个人敏感信息进行明文传输,得到数据加密检测检测信息。
进一步的,根据所述小程序的基本信息判断是否存在私自上传用户隐私信息的情况,得到敏感数据检测信息。
进一步的,从小程序代码中查看,有SDK协议声明代码,运行小程序过程中,需要阅读SDK协议声明才可以继续使用小程序,则存在第三方SDK协议声明议,可以得到第三方SDK检测信息。
进一步的,根据所述小程序的基本信息判断所述小程序删除后本地的缓存信息是否及时删除,得到敏感数据清除检测信息。
将所述用户密码嗅探安全信息、所述密码强度安全检测信息、所述验证码安全检测信息、所述防截屏检测信息、所述用户协议检测信息、所述数据采集检测信息、所述数据加密检测检测信息、所述敏感数据检测信息、所述第三方SDK检测信息和所述敏感数据清除检测信息作为所述小程序服务交换安全和本地数据存储安全信息。
在此基础上,对所述小程序进行网络抓包,进行网络传输安全测试,得到网络传输安全测试信息。
在此基础上,对所述小程序运行过程中的传输数据进行抓包,得到用于判断传输业务风险的数据。
进一步的,用于判断传输业务风险的数据判断所述小程序的传输数据是否以明文的形式在网络中传输,得到用于判断通信安全检测的信息;
进一步的,用于判断传输业务风险的数据判断所述小程序是否使用了openID作为登录凭证,得到用于判断openID登录凭证泄露风险检测的信息;
进一步的,用于判断传输业务风险的数据是否为明文传输,判断是否可以进行数据篡改,得到用于判断会话劫持检测的信息;
在此基础上,所述网络传输安全测试信息包括通信安全检测信息、openID登录凭证泄露风险检测信息和会话劫持检测信息。
步骤S104、对所述小程序进行模拟点击操作,并启动漏洞扫描器进行漏洞扫描,得到漏洞扫描信息。
在此基础上,通过HTTP头中的Content-Length字段来判断,若是and 1=1情况的Content-Length与原字段值一致,而and 1=2的情况与原字段值和and1=1的值不同,则可判断小程序是否存在sql注入漏洞,得到sql注入漏洞检测信息。
进一步的,判断一个用户是否可以获得另一个用户增删改查的权限,如果可以获取到权限判断为存在越权漏洞,若不可以获取另一个用户的权限则判断为不存在越权漏洞,由此可以得到越权访问漏洞检测信息。
进一步的,判断是否存在文件上传接口,如果不存在上传接口则认定为不存在任意文件上传漏洞,如果存在文件上传接口则判断是否对上传的文件类型做了判断和过滤处理,如果对上传是文件类型做了过滤处理则认定不存在任意文件上传漏洞,如果没有对上传的文件做过滤处理则认定存在文件上传漏洞,由此可以得到任意文件上传漏洞检测信息。
进一步的,判断是否对请求中的特殊字符/../../做了过滤处理,如果没有对特殊字符/../../做过滤处理则认定存在路径穿越漏洞,如果对特殊字符/../../做了过滤处理则认定不存在路径穿越漏洞,由此可以得到路径穿越漏洞检测信息。
进一步的,判断是否扫描符合“8.3”命名原则的目录与文件。如果没有对“8.3”命名原则的目录与文件进行扫描则认定不存在目录枚举漏洞,如果对“8.3”命名原则的目录与文件进行扫描则认定存在目录枚举漏洞,由此可以得到目录枚举漏洞检测信息。
进一步的,通过对可改参数进行修改,判断页面是否正确返回:修改后返回的响应值为200则认定存在xss漏洞,修改后返回的响应值不为200则认定不存在xss漏洞,由此可以得到xss漏洞检测信息。
进一步的,判断是否对输入的内容做了判断和过滤,如果没有对用户输入的内容做过滤处理则认定存在命令代码注入漏洞,如果对用户输入的内容做了过滤处理则认定不存在命令代码注入漏洞,由此可以得到代码注入漏洞检测信息。
在此基础上,所述漏洞扫描信息包括sql注入漏洞检测信息、越权访问漏洞检测信息、任意文件上传漏洞检测信息、路径穿越漏洞检测信息、目录枚举漏洞检测信息、xss漏洞检测信息和代码注入漏洞检测信息。
步骤S105、根据所述代码评估信息和所述漏洞扫描信息生成风险评估报告,并根据所述风险评估报告进行相应处理。
本实施例中,整体结束后风险评估报告会以Word报告的形式进行输出,可以在前端界面进行下载查阅,风险评估报告中有风险评估分数、每个评估项分数和风险评估意见,
计算小程序风险评估分数,根据如下公式计算小程序风险评估分数:
Figure BDA0003074364160000091
其中,M表示小程序风险评估分数,0≤M≤100;L表示评估项总数,xi表示第i个评估项的分数,ci表示第i个评估项的权值。此评估项的权值可以跟据实际情况设置,为1,2,…。
根据所述风险评估分数得出风险评估意见。根据小程序风险评估分数设置第一评估阈值、第二评估阈值、第三评估阈值和第四评估阈值。
小程序风险评估分数大于等于0且小于等于第一评估阈值,确定所述小程序风险等级为超低风险,超低风险时意见,不做特殊处理,仅提醒用户某些评估项存在一些问题。
小程序风险评估分数大于第一阈值且小于等于第二评估阈值,确定所述小程序风险等级为低风险,低风险时意见,通知用户使用此小程序时需要注意,在安全环境下使用此小程序。
小程序风险评估分数大于第二阈值且小于等于第三评估阈值,确定所述小程序风险等级为高风险,高风险时意见,需要发表预警信息,提醒用户请勿上传和输入重要信息,禁止从小程序下载文件,向小程序制作者发送提示消息,建议小程序升级修复。
小程序风险评估分数大于第三阈值且小于等于第四评估阈值,确定所述小程序风险等级为超高风险,高风险时意见,禁止用户访问小程序,向小程序制作者发送提示消息,建议小程序升级修复。
根据代码评估信息和所述漏洞扫描信息生成风险评估报告,并根据所述风险评估报告进行相应处理,对小程序安全风险进行评估生成评估报告,直观的查看小程序的风险,对制作者修复或升级小程序提供帮助,防止小程序出现问题时用户出现使用危机,提高小程序使用安全性。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的小程序安全风险评估方法。
图3示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的小程序安全风险评估方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种小程序安全风险评估方法,所述方法包括:
获取需要测试的小程序的名称和APPID,根据所述名称和所述APPID检索到所述小程序,并获取所述小程序的源码文件;
根据所述源码文件,获取关键字符串代码段;
获取本地加密数据库中所述小程序的基本信息,根据所述基本信息和所述关键字符串代码段进行安全风险评估,得到代码评估信息;
对所述小程序进行模拟点击操作,并启动漏洞扫描器进行漏洞扫描,得到漏洞扫描信息;
根据所述代码评估信息和所述漏洞扫描信息生成风险评估报告,并根据所述风险评估报告进行相应处理。
2.根据权利要求1所述的方法,其中,所述获取需要测试的小程序的名称和APPID,根据所述名称和所述APPID检索到所述小程序,并获取所述小程序的源码文件,包括:
通过自动化测试服务接收用户输入的所述小程序的所述名称和所述APPID;
根据所述小程序的所述名称和所述APPID进入小程序界面;
获取所述小程序文件夹下小程序机器码文件;
对所述机器码文件进行反编译获取所述源码文件。
3.根据权利要求1所述的方法,其中,所述获取本地加密数据库中所述小程序的基本信息,根据所述基本信息和所述关键字符串代码段进行安全风险评估,得到代码评估信息,具体包括:
解密所述本地加密数据库,以获取所述小程序的所述基本信息;
根据所述基本信息和所述关键字符串代码段,判断所述小程序代码安全性,得到小程序代码安全信息;
运行所述小程序,通过所述小程序的基本信息、所述关键字符串代码段和所述小程序运行界面判断小程序服务交换安全和本地数据存储安全,得到小程序服务交换安全信息和本地数据存储安全信息;
对所述小程序进行网络抓包,进行网络传输安全测试,得到网络传输安全测试信息;
将所述小程序代码安全信息、所述小程序服务交换安全、所述本地数据存储安全信息和所述网络传输安全测试信息作为所述所述代码评估信息。
4.根据权利要求3所述的方法,其中,所述根据所述基本信息和所述关键字符串代码段,判断所述小程序代码安全,得到小程序代码安全信息,具体包括:
根据所述关键字符串代码段,判断所述小程序是否经过混淆处理,判断所述关键字符串中是否存在明文存储明文URL和加密秘钥,得到代码编译检测信息;
根据所述明文URL和所述小程序服务域名地址,判断是否存在安全风险,得到安全风险分析信息;
根据所述小程序的服务域名地址和所述小程序对应使用地址,判断是否存在复用情况,得到服务端复用情况检测信息;
将所述代码编译检测信息、所述安全风险分析信息和所述服务端复用情况检测信息作为所述小程序代码安全信息。
5.根据权利要求3所述的方法,其中,所述运行所述小程序,通过所述小程序的基本信息、所述关键字符串代码段和所述小程序运行界面判断小程序服务交换安全和本地数据存储安全,得到小程序服务交换安全信息和本地数据存储安全信息,具体包括:
根据所述小程序的所述关键字符串代码段结合所述小程序运行界面判断是否存在用户密码嗅探问题,得到用户密码嗅探安全信息;
根据所述小程序的所述关键字符串代码段结合所述小程序运行界面判断是否存在密码强度安全问题,得到密码强度安全检测信息;
根据所述小程序的所述关键字符串代码段结合所述小程序运行界面判断是否存在验证码安全问题,得到验证码安全检测信息;
根据对所述小程序输入敏感信息的界面进行截屏判断是否存在防截屏检测,得到防截屏检测信息;
根据运行所述小程序查看是否存在明确的用户协议,得到用户协议检测信息;
根据运行所述小程序判断小程序是否在需要权限时提醒用户进行授权,得到数据采集检测信息;
根据所述小程序的基本信息判断是否将个人敏感信息进行明文传输,得到数据加密检测检测信息;
根据所述小程序的基本信息判断是否存在私自上传用户隐私信息的情况,得到敏感数据检测信息;
根据运行所述小程序查看是否存在第三方SDK协议声明,得到第三方SDK检测信息;
根据所述小程序的基本信息判断所述小程序删除后本地的缓存信息是否及时删除,得到敏感数据清除检测信息;
将所述用户密码嗅探安全信息、所述密码强度安全检测信息、所述验证码安全检测信息、所述防截屏检测信息、所述用户协议检测信息、所述数据采集检测信息、所述数据加密检测检测信息、所述敏感数据检测信息、所述第三方SDK检测信息和所述敏感数据清除检测信息作为所述小程序服务交换安全信息和所述本地数据存储安全信息。
6.根据权利要求3所述的方法,其中,对所述小程序进行网络抓包,进行网络传输安全测试,得到网络传输安全测试信息,具体包括:
对所述小程序运行过程中的传输数据进行抓包,得到传输判断业务数据;
根据所述传输判断业务数据判断所述小程序的传输数据是否以明文的形式在网络中传输,得到通信安全检测信息;
根据所述传输判断业务数据判断所述小程序是否使用了openID作为登录凭证,得到openID登录凭证泄露风险检测信息;
根据所述传输判断业务数据是否为明文传输,判断是否可以进行数据篡改,得到会话劫持检测信息;
所述通信安全检测信息、所述openID登录凭证泄露风险检测信息和所述会话劫持检测信息作为所述网络传输安全测试信息。
7.根据权利要求1所述的方法,其中,所述对所述小程序进行模拟点击操作,同时启动漏洞扫描器进行漏洞扫描,获取漏洞扫描信息,具体包括:
判断所述小程序是否存在SQL注入漏洞,得到SQL注入漏洞检测信息;
判断所述小程序是否存在越权访问漏洞,得到越权访问漏洞检测信息;
判断所述小程序是否存在任意文件上传漏洞,得到任意文件上传漏洞检测信息;
判断所述小程序是否存在路径穿越漏洞,得到路径穿越漏洞检测信息;
判断所述小程序是否存在目录枚举漏洞,得到目录枚举漏洞检测信息;
判断所述小程序是否存在XSS漏洞,得到XSS漏洞检测信息;
判断所述小程序是否存在代码注入漏洞,得到代码注入漏洞检测信息;
将所述SQL注入漏洞检测信息、所述越权访问漏洞检测信息、所述任意文件上传漏洞检测信息、所述路径穿越漏洞检测信息、所述目录枚举漏洞检测信息、所述XSS漏洞检测信息和所述代码注入漏洞检测信息作为所述漏洞扫描信息。
8.根据权利要求1所述的方法,其中,所述根据所述代码评估信息和所述漏洞扫描信息生成风险评估报告,具体包括:
计算所述小程序风险评估分数;
根据所述风险评估分数得出风险评估意见。
9.根据权利要求8所述的方法,其中,所述计算所述小程序风险评估分数,包括:
根据如下公式计算所述小程序风险评估分数:
Figure FDA0003074364150000041
其中,M表示小程序风险评估分数,0≤m≤100;L表示评估项总数,xi表示第i个评估项的分数,ci表示第i个评估项的权值。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至9任意一项所述的方法。
CN202110548984.7A 2021-05-19 2021-05-19 小程序安全风险评估方法和电子设备 Active CN113342639B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110548984.7A CN113342639B (zh) 2021-05-19 2021-05-19 小程序安全风险评估方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110548984.7A CN113342639B (zh) 2021-05-19 2021-05-19 小程序安全风险评估方法和电子设备

Publications (2)

Publication Number Publication Date
CN113342639A true CN113342639A (zh) 2021-09-03
CN113342639B CN113342639B (zh) 2023-05-26

Family

ID=77469763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110548984.7A Active CN113342639B (zh) 2021-05-19 2021-05-19 小程序安全风险评估方法和电子设备

Country Status (1)

Country Link
CN (1) CN113342639B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884705A (zh) * 2022-04-22 2022-08-09 方圆标志认证集团浙江有限公司 一种信息安全评估的实施用例的生成方法及系统
CN115630355A (zh) * 2022-10-31 2023-01-20 鼎铉商用密码测评技术(深圳)有限公司 密码模块的安全评测方法、安全评测设备以及存储介质
CN116094837A (zh) * 2023-04-03 2023-05-09 湖南丛茂科技有限公司 基于网络大数据的网终应用采集分析方法、系统及介质
CN116599773A (zh) * 2023-07-14 2023-08-15 杭州海康威视数字技术股份有限公司 自适应设备安全风险评估方法、装置、设备及系统
WO2023241198A1 (zh) * 2022-06-15 2023-12-21 华为技术有限公司 通信方法、装置以及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571828A (zh) * 2009-06-11 2009-11-04 北京航空航天大学 基于约束分析和模型检验的代码安全漏洞检测方法
CN107885995A (zh) * 2017-10-09 2018-04-06 阿里巴巴集团控股有限公司 小程序的安全扫描方法、装置以及电子设备
CN110990057A (zh) * 2019-11-22 2020-04-10 百度在线网络技术(北京)有限公司 小程序子链信息的提取方法、装置、设备及介质
CN111400722A (zh) * 2020-03-25 2020-07-10 深圳市腾讯网域计算机网络有限公司 扫描小程序的方法、装置、计算机设备和存储介质
CN112148603A (zh) * 2020-09-18 2020-12-29 支付宝(杭州)信息技术有限公司 小程序风险识别方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101571828A (zh) * 2009-06-11 2009-11-04 北京航空航天大学 基于约束分析和模型检验的代码安全漏洞检测方法
CN107885995A (zh) * 2017-10-09 2018-04-06 阿里巴巴集团控股有限公司 小程序的安全扫描方法、装置以及电子设备
CN110990057A (zh) * 2019-11-22 2020-04-10 百度在线网络技术(北京)有限公司 小程序子链信息的提取方法、装置、设备及介质
CN111400722A (zh) * 2020-03-25 2020-07-10 深圳市腾讯网域计算机网络有限公司 扫描小程序的方法、装置、计算机设备和存储介质
CN112148603A (zh) * 2020-09-18 2020-12-29 支付宝(杭州)信息技术有限公司 小程序风险识别方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114884705A (zh) * 2022-04-22 2022-08-09 方圆标志认证集团浙江有限公司 一种信息安全评估的实施用例的生成方法及系统
WO2023241198A1 (zh) * 2022-06-15 2023-12-21 华为技术有限公司 通信方法、装置以及系统
CN115630355A (zh) * 2022-10-31 2023-01-20 鼎铉商用密码测评技术(深圳)有限公司 密码模块的安全评测方法、安全评测设备以及存储介质
CN115630355B (zh) * 2022-10-31 2023-08-22 鼎铉商用密码测评技术(深圳)有限公司 密码模块的安全评测方法、安全评测设备以及存储介质
CN116094837A (zh) * 2023-04-03 2023-05-09 湖南丛茂科技有限公司 基于网络大数据的网终应用采集分析方法、系统及介质
CN116599773A (zh) * 2023-07-14 2023-08-15 杭州海康威视数字技术股份有限公司 自适应设备安全风险评估方法、装置、设备及系统
CN116599773B (zh) * 2023-07-14 2023-09-19 杭州海康威视数字技术股份有限公司 自适应设备安全风险评估方法、装置、设备及系统

Also Published As

Publication number Publication date
CN113342639B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
JP7018920B2 (ja) 機密情報処理方法、装置、及び、サーバ、ならびに、セキュリティ決定システム
CN113342639B (zh) 小程序安全风险评估方法和电子设备
Laperdrix et al. Browser fingerprinting: A survey
CN110602052B (zh) 微服务处理方法及服务器
CN105940654B (zh) 特权静态被托管的web应用
EP3343870A1 (en) System and method for detecting phishing web pages field of technology
Fereidooni et al. Breaking fitness records without moving: Reverse engineering and spoofing fitbit
US9954894B2 (en) Webpage security
Barua et al. Server side detection of content sniffing attacks
US20150244737A1 (en) Detecting malicious advertisements using source code analysis
US11431751B2 (en) Live forensic browsing of URLs
CN111737692B (zh) 应用程序的风险检测方法及装置、设备、存储介质
Gupta et al. An infrastructure-based framework for the alleviation of JavaScript worms from OSN in mobile cloud platforms
CN110417718A (zh) 处理网站中的风险数据的方法、装置、设备及存储介质
Hale et al. A testbed and process for analyzing attack vectors and vulnerabilities in hybrid mobile apps connected to restful web services
CN115150261B (zh) 告警分析的方法、装置、电子设备及存储介质
CN112671605A (zh) 一种测试方法、装置及电子设备
CN107341393A (zh) 应用程序安装包的检测方法和装置
CN112600863A (zh) 一种安全远程访问系统及方法
CN114996708B (zh) 涉诈手机应用研判方法、装置、电子设备及存储介质
WO2022247226A1 (zh) 一种小程序监控方法及装置
CN112804266A (zh) 网页数据处理方法、装置、计算机设备和存储介质
CN111651766A (zh) 越权访问的测试方法及装置
JP4526355B2 (ja) Web処理方法およびWeb処理装置並びにWeb処理プログラム
CN111488580A (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