CN111654495A - 用于确定流量产生来源的方法、装置、设备及存储介质 - Google Patents

用于确定流量产生来源的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111654495A
CN111654495A CN202010492846.7A CN202010492846A CN111654495A CN 111654495 A CN111654495 A CN 111654495A CN 202010492846 A CN202010492846 A CN 202010492846A CN 111654495 A CN111654495 A CN 111654495A
Authority
CN
China
Prior art keywords
sdk
actual
determining
source
character string
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
CN202010492846.7A
Other languages
English (en)
Other versions
CN111654495B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010492846.7A priority Critical patent/CN111654495B/zh
Publication of CN111654495A publication Critical patent/CN111654495A/zh
Application granted granted Critical
Publication of CN111654495B publication Critical patent/CN111654495B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种用于确定流量产生来源的方法、装置、电子设备及计算机可读存储介质,涉及隐私数据安全领域。该方法的一具体实施方式包括:获取待测应用程序的实际流量;从该实际流量中提取出实际特征字符串;根据该实际特征字符串确定产生该实际流量的来源SDK,其中,预先记录有每种SDK与其实际代码中包含的特征字符串之间的对应关系。该实施方式提供了一种基于每种SDK的代码特征来确定来源SDK的方法,代码特征相较于现有技术使用的流量特征而言,变化频率更低且对应关系更易收集和更新维护,能够更加准确的确定出产生实际流量的来源SDK。

Description

用于确定流量产生来源的方法、装置、设备及存储介质
技术领域
本申请实施例涉及流量追踪技术领域,尤其涉及隐私数据安全技术领域。
背景技术
随着电子信息化技术的发展,用户个人数据的隐私问题越来越被社会重视,政府部门相继出台个人信息保护的法律法规。
按规定,应用程序(APP,Application)的运营主体对其APP内集成的SDK(SoftwareDevelopment Kit,软件开发工具包)所收集个人信息行为/所传输内容/所传输URL(Uniform Resource Locator,统一资源定位符)行为负有安全责任。APP开发者对其使用的自有SDK(也称第一方SDK)的行为当然十分清楚,但对其使用的第三方SDK的行为却知之甚少。为保障用户个人隐私数据不被第三方SDK私自使用,就需要准确识别APP在运行时所产生的流量的来源,以便在明确来源具体为SDK的情况下,进行其是否为第三方SDK的判断,最终确定是否存在第三方SDK私自使用用户个人隐私数据的情况。
现有技术通常提供了一种预先记录各种SDK的流量特征,通过实际流量中包含的实际流量特征与记录的哪种SDK的流量特征相匹配的方式,确定对应的来源SDK。
发明内容
本申请实施例提出了一种用于确定流量产生来源的方法、装置、电子设备及计算机可读存储介质。
第一方面,本申请实施例提出了一种用于确定流量产生来源的方法,包括:获取待测应用程序的实际流量;从实际流量中提取出实际特征字符串;根据实际特征字符串确定产生实际流量的来源SDK;其中,预先记录有每种SDK与其实际代码中包含的特征字符串之间的对应关系。
第二方面,本申请实施例提出了一种用于确定流量产生来源的装置,包括:实际流量获取单元,被配置成获取待测应用程序的实际流量;实际特征字符串提取单元,被配置成从实际流量中提取出实际特征字符串;来源SDK确定单元,被配置成根据实际特征字符串确定产生实际流量的来源SDK;其中,预先记录有每种SDK与其实际代码中包含的特征字符串之间的对应关系。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面中任一实现方式描述的用于确定流量产生来源的方法。
第四方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面中任一实现方式描述的用于确定流量产生来源的方法。
本申请实施例提供了一种用于确定流量产生来源的方法、装置、电子设备及计算机可读存储介质,首先获取待测应用程序的实际流量;然后,从该实际流量中提取出实际特征字符串;最后,在预先记录有的每种SDK与其实际代码中包含的特征字符串之间的对应关系的帮助下,根据该实际特征字符串确定产生该实际流量的来源SDK。
区别于现有技术给出的基于每种SDK的流量特征来确定来源SDK的方法,本申请实施例选择了能够更加准确的将SDK与其所产生的流量关联起来的特征字符串,该特征字符串为同时出现在SDK的实际代码和实际代码执行过程中产生的流量的字符串,也就是说本申请实施例提供了一种基于每种SDK的代码特征来确定来源SDK的方法,代码特征相较于流量特征变化频率更低且对应关系更易收集和更新维护,能够更加准确的确定出产生实际流量的来源SDK。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构;
图2是根据本申请的用于确定流量产生来源的方法的一个实施例的流程图;
图3是根据本申请的用于确定流量产生来源的方法的另一个实施例的流程图;
图4是根据本申请的用于确定流量产生来源的方法的一个应用场景的流程图;
图5是根据本申请的用于确定流量产生来源的装置的一个实施例的结构示意图;
图6是适用于实现本申请实施例的用于确定流量产生来源的方法的电子设备的框图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于确定流量产生来源的方法、装置、电子设备及计算机可读存储介质的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103和服务器105上可以安装有各种用于实现两者之间进行信息通讯的应用,例如个人数据存储类应用、APP安全风险检测类应用、在线交友类应用、即时通讯类应用等。
终端设备101、102、103和服务器105可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等;当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
终端设备101、102、103和服务器105均可以通过内置的各种应用来提供各种服务,以可以提供APP实时流量来源SDK分析服务的APP安全风险检测类应用为例,在运行该APP安全风险检测类应用时可实现如下效果:首先,服务器105获取终端设备101、102、103通过网络发来的其上安装的待测应用程序在被用户使用时产生的实际流量;然后,服务器105从实际流量中提取出实际特征字符串;最后,服务器105在预先记录有的每种SDK与其实际代码中包含的特征字符串之间的对应关系的帮助下,根据实际特征字符串确定产生该实际流量的来源SDK。即服务器105通过上述处理步骤实现了基于SDK的代码特征确定产生该实际流量的来源SDK的目的,并将确定出的来源SDK作为结果输出。
需要指出的是,待测应用程序在被用户使用时产生的实际流量除可以从终端设备101、102、103通过网络104获取到之外,也可以通过各种方式预先存储在服务器105本地。因此,当服务器105检测到本地已经存储有这些数据时(例如待处理队列中还留存有待处理来源SDK确定任务),可选择直接从本地获取该实际流量,在此种情况下,示例性系统架构100也可以不包括终端设备101、102、103和网络104。
基于SDK的代码特征来确定产生实际流量的来源SDK,往往需要占用较多的运算资源和较强的运算能力,因此本申请后续各实施例所提供的用于确定流量产生来源的方法一般由拥有较强运算能力、较多运算资源的服务器105来执行,相应地,用于确定流量产生来源的装置一般也设置于服务器105中。但同时也需要指出的是,在终端设备101、102、103也具有满足要求的运算能力和运算资源时,终端设备101、102、103也可以通过其上安装的APP安全风险检测类应用完成上述本交由服务器105做的各项运算,进而输出与服务器105同样的结果。尤其是在同时存在多种具有不同运算能力的终端设备的情况下,但APP安全风险检测类应用在判断出所在的终端设备拥有较强的运算能力和剩余较多运算资源的情况下,也可以让终端设备来执行上述运算,从而适当减轻服务器105的运算压力,相应的,用于确定流量产生来源的装置也可以设置于终端设备101、102、103中。在此种情况下,示例性系统架构100也可以不包括服务器105和网络104。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,其示出了根据本申请的用于确定流量产生来源的方法的一个实施例的实现流程200,包括以下步骤:
步骤201:获取待测应用程序的实际流量;
本步骤旨在由用于确定流量产生来源的方法的执行主体(例如图1所示的服务器105)获取到待测应用程序(后文均直接简称待测APP)的实际流量。
其中,待测APP可以为已发布至APP下载平台、用户可下载到的APP,也可以为提交至APP下载平台正在进行发布审核的APP,待测APP的实际流量则是指待测APP运行在实际系统环境下产生的网络数据,该网络数据包括待测APP中各种SDK、函数、接口等被调用、执行时所生成的数据。
其中,待测APP的实际流量可以由上述执行主体直接从本地的存储设备获取,也可以从非本地的存储设备(例如图1所示的终端设备101、102、103)中获取。本地的存储设备可以是设置在上述执行主体内的一个数据存储模块,例如服务器硬盘,在此种情况下,待测APP的实际流量可以在本地快速读取到;非本地的存储设备还可以为其它任何被设置用于存储数据的电子设备,例如一些用户终端等,在此情况下,上述执行主体可以通过向该电子设备发送获取命令来获取所需的待测APP的实际流量,或者直接接收该电子设备发来的待测APP,并由上述执行主体在自行运行待测APP时采集得到。
步骤202:从实际流量中提取出实际特征字符串;
在步骤201的基础上,本步骤旨在由上述执行主体从获取到的实际流量提取出实际特征字符串。其中,该实际特征字符串为待测APP中的SDK的实际代码在被调用、执行时所产生的全部字符串中具有代表性的字符串,不同的SDK具有不同的实际代码,因此应使用不同的实际特征字符串来表征不同的SDK。
应当理解的是,相同的代码在不同的运行环境下因分支的存在,可能会产生不同的流量,即一个功能完善的SDK所表征的流量特征受实际运行环境影响极大,而每次更新往往都会导致流量特征的变化,因此现有技术提供的记录每个SDK的流量特征来进行匹配的方式,往往很难全面、准确的收集到对应一个SDK的流量特征,且工作量也十分庞大。针对这一技术缺陷,本申请则从SDK的代码层面入手,收集其能够唯一表现在流量中的代码特征,也就是特征字符串,以期通过分别与流量和SDK的实际代码之间均存在对应关系的特征字符串,实现追溯产生实际流量的来源SDK的目的。
具体的,所有能够唯一表现一个SDK在流量中的代码特征的字符串,都可以被选作特征字符串,例如出现在SDK的实际代码中的HTTP(超文本传输协议)地址,由于其实际作用,在与该HTTP地址对应的对象进行数据传输时,需要保证HTTP地址的内容完全准确,否则无法正确的实现数据传输,因此,HTTP地址是一种在实际代码和实际流量中均以相同形式存在的字符串,因此可被选作为特征字符串;当然,也可以选用其它与HTTP地址具有相同或类似性质的字符串作为特征字符串。甚至,为实现这一效果,还可以通过要求每一个SDK在封装时添加一些能够唯一表征其身份的标志或标记,并使这些标志或标记会出现在该所属SDK被调用、执行时所产生的流量的特定位置,那么这些标志或标记也能够作为特征字符串。
步骤203:根据实际特征字符串确定产生实际流量的来源SDK。
在步骤202的基础上,本步骤旨在由上述执行主体在预先记录有的每种SDK与其实际代码中包含的特征字符串之间的对应关系的帮助下,根据实际特征字符串确定产生实际流量的来源SDK,也就是通过预先记录的对应关系,找到与实际特征字符串对应的实际SDK,就能够在实际流量包含有实际特征字符串的前提下,将实际SDK确定为产生该实际流量的来源SDK。
进一步的,为了便于维护、更新每种SDK与其实际代码中包含的特征字符串之间的对应关系,还可以结合实际应用场景下的各项实际需求,采用合适的形式存储该对应关系,例如采用键值对、数据库表等方式,当当然也可以基于这些对应关系构建来源SDK识别器或识别模型等,此处并不做具体限定。
区别于现有技术给出的基于每种SDK的流量特征来确定来源SDK的方法,本申请实施例提供的用于确定流量产生来源的方法选择了能够更加准确的将SDK与其所产生的流量关联起来的特征字符串,该特征字符串为同时出现在SDK的实际代码和实际代码执行过程中产生的流量的字符串,也就是说本申请实施例提供了一种基于每种SDK的代码特征来确定来源SDK的方法,代码特征相较于流量特征变化频率更低且对应关系更易收集和更新维护,能够更加准确的确定出产生实际流量的来源SDK。
为了加深对本申请实现过程的理解,本申请还通过图3提供了另一种用于确定流量产生来源的方法的流程300,在上一实施例的基础上,不仅提供了一种具体的记录对应关系并将其构建为便于使用的SDK知识库的方法,还在确定出来源SDK之后,根据来源SDK是否为第三方SDK给出了不同的后续处理方案,最终输出待测APP是否符合安全隐私要求的判断结果。包括如下步骤:
步骤301:根据每个SDK的实际代码确定其中包含的HTTP地址集;
本步骤旨在由上述执行主体根据每个SDK的实际代码确定其中包含的HTTP地址集,HTTP地址集为SDK的实际代码中包含的所有不同HTTP地址的集合。
一种包括但不限于的实现方式可以为如下步骤:
识别待测APP中dex文件中的smali指令;
以class维度对每条smali指令的内容依次进行静态字符串与常量字符串的检查,得到其中包含的每一个HTTP地址;
根据各HTTP地址生成HTTP地址集。
其中,dex文件是Android系统的可执行文件,Android系统的APK格式的应用程序在编译后,程序代码(包括集成的SDK中的代码)会编译为dex文件存在APK中,代码中引用的相关资源如字符串、图片等也会以特定格式打包在APK中;smali是用于Dalvik(Android系统下的虚拟机)的反汇编程序实现,汇编工具可将将smali代码汇编为dex文件。
因此针对以APK格式存在的待测APP,通过对dex文件反汇编为smali代码,之后就可以通过按照class这一代码语言下的常用维度尺寸遍历smali代码中的每条smali指令,并着重进行静态字符串与常量字符串的检查,即可全面、无遗漏的找到每一个HTTP地址。
步骤302:根据每个SDK与其对应的HTTP地址集中每一个HTTP地址之间的对应关系构建得到SDK知识库;
在步骤301的基础上,本步骤旨在由上述执行主体根据每个SDK与其对应的HTTP地址集中每一个HTTP地址之间的对应关系构建得到SDK知识库。SDK知识库的具体表现形式并不现行,因为SDK知识库本质上对应关系的集合,所以可以记录多条对应关系的载体均可用于构建SDK知识库,例如知识图谱。
需要说明的是,极特殊情况下,可能会出现不同的SDK各自对应的HTTP地址集中包含相同的目标HTTP地址的情况,通常是在遍历、寻找HTTP地址的过程中出现的识别和录入错误,在偶然情况下导致与另一个HTTP地址相同。针对这种情况可以包括但不限于的以下任意一种方式来尽可能解决这一问题,从而避免因这种情况对确定来源SDK造成的干扰:
其一,通过第一预设路径发起针对目标HTTP地址的更换请求;即通过更换请求来由管理人员手动进行更换;
其二,通过第二预设路径发起针对目标HTTP地址的错误核实请求,即通过发起错误核实请求让人工介入,重新结合实际代码确定是否目标HTTP地址录入错误。
步骤303:获取待测应用程序的实际流量;
步骤304:从实际流量中提取出实际HTTP地址;
以上步骤303-304与如图2所示的步骤201-202大体一致,仅有步骤304根据本实施例中被选作的HTTP地址,适应性调整为实际HTTP地址,其余相同部分内容请参见上一实施例的相应部分,此处不再进行赘述。
步骤305:利用SDK知识库确定与从实际流量中提取出的实际HTTP地址对应的实际SDK;
步骤306:将实际SDK确定为产生实际流量的来源SDK;
在步骤304的基础上,步骤305旨在由上述执行主体利用SDK知识库中记录的对应关系,确定与实际HTTP地址对应的实际SDK,然后由步骤306将实际SDK确定为产生该实际流量的来源SDK。
步骤307:判断来源SDK是否为第三方SDK,若是,执行步骤308,否则跳转会步骤306以便继续判断其它来源SDK是否为第三方SDK;
在步骤306的基础上,本步骤旨在判断步骤306确定出的来源SDK是否为第三方SDK,以便根据判断结果选择合适的处理分支。具体的,确定一个SDK是否为第三方SDK可通过多种方式,例如包名、版本号、开发者信息、厂商信息等所有可以用于区别第一方SDK和第三方SDK的参数即可,此处不做具体限定。
步骤308:确定实际流量的实际隐私风险等级;
本步骤建立在步骤307的判断结果为来源SDK为第三方SDK的基础上,旨在由上述执行主体确定由第三方SDK产生的实际流量的实际隐私风险等级。具体的,根据实际流量的内容确定实际隐私风险等级可通过多种方式进行,例如判断实际流量是否包含用户的个人隐私数据,尤其是未授权该待测APP获取的个人隐私数据,还可以判断实际流量是否包含一些被标记为敏感数据的隐私数据等等,具体的隐私风险等级设置也可以根据实际应用场景进行合理的设置,此处并不做具体限定。
步骤309:判断实际隐私风险等级是否小于预设等级,若是,执行步骤310,否则执行步骤311;
在步骤308的基础上,本步骤旨在通过比较实际隐私风险等级与预设等级之间的大小关系,判断出待测APP是否符合安全隐私要求的结论。其中,该预设等级为衡量待测应用程序是否符合安全隐私要求的临界等级。
步骤310:返回待测应用程序符合安全隐私要求的通知;
本步骤建立在步骤309的判断结果为实际隐私风险等级小于预设等级的基础上,说明实际隐私风险等级较小,存在较小的隐私风险,因此将返回待测APP符合安全隐私要求的通知,返回对象可以为发起本次针对待测APP是否符合安全隐私要求的请求方。
步骤311:返回待测应用程序不符合安全隐私要求的通知。
本步骤建立在步骤309的判断结果为实际隐私风险等级不小于预设等级的基础上,说明实际隐私风险等级较大,存在较大的隐私风险,因此将返回待测APP不符合安全隐私要求的通知,返回对象可以为发起本次针对待测APP是否符合安全隐私要求的请求方。
进一步的,还可以为实际隐私风险等级不小于预设等级的待测APP附加不合格标签,并通过记录所有附加有不合格标签的待测APP的其它安全检测信息的方式,来尽可能的收集这些待测APP在其它方面表现出的异常行为。
在具有上一实施例全部有益效果的基础上,本实施例通过步骤301和步骤302给出了一种以HTTP地址作为特征字符串的一种具体实现方式,并通过构建为SDK知识库这一整体方便了后续的使用,同时还通过步骤307至步骤311提供了进一步针对来源SDK是否为第三方SDK和判断待测APP是否符合安全隐私要求的结果的方案,将整个方案拓展至确定待测APP是否符合安全隐私要求领域。
需要指出的是,本实施例通过步骤301和步骤302给出了一种以HTTP地址作为特征字符串的一种具体实现方式,与通过步骤307至步骤311提供的进一步针对来源SDK是否为第三方SDK和判断待测APP是否符合安全隐私要求的结果的方案,均可以单独与如图2所示的流程200生成单独的实施例,两者之间并不存在因果和依赖关系,本实施例只是作为一个同时存在两部分优选方案的优选实施例存在。
为加深理解,本申请还结合一个具体应用场景,给出了一种具体的实现方案,本实施例结合某一具体应用场景,设计了SDK知识库、APK分析器和流量分析器三个组成部分,三个组成部分之间的关系可参见如图4所示的示意图。
SDK知识库,记录有多个SDK与从实际代码中提取出的各HTTP地址之间的对应关系(即表征为特征字符串的代码特征),根据特征字符串就可以辨识出属于哪个SDK;
APK分析器,用于对待测APK中的资源(包括Manifest文件、字符串资源等)和二进制程序(dex文件)进行分析,识别出待测APK中的程序代码和程序代码使用的资源字符串。分析过程中会检测程序使用的所有字符串常量并分析字符串是否是一个HTTP地址,并在发现和记录HTTP地址的同时通过SDK知识库中记录的对应关系确定与该HTTP地址对应的SDK。最后得到一份待测APK中使用的SDK和与SDK对应的HTTP地址集的结果;
流量分析器,用于识别待测APK的实际流量中是否出现了与某个SDK对应的HTTP地址,即对待测APK中的某个SDK在被调用、执行时使用其HTTP地址集产生的流量进行分析,分析流量是否出现在记录有对应于某个SDK的HTTP地址集中,如果出现了就可进一步确定这条流量是由哪个SDK产生的,即流量来自此SDK。具体的,可通过为每条流量附加相应的来源SDK的来源信息的方式来实现。
以下针对上述每个部分给出具体实现的方案:
SDK知识库:收集知名公司对外提供的SDK和github(一个代码托管网站)上存放的SDK,通过技术手段提取SDK的包名特征。提取SDK包名特征具体可基于Androguard工具(一种针对APK的工具)提供的APK解析能力批量完成。进一步的,由于这种方法会提取出一个SDK主要涉及的包名特征,担保SDK本身也会使用其他的类库此时的结果可能会带有其他SDK的特征,因此还需要人工结合整体特征库核查和排除非SDK自身的特征;
APK分析器:APK在编译后程序代码(包括集成的SDK中的代码)会编译为dex文件存在APK中,代码中引用的相关资源如字符串、图片等也会以特定格式打包在APK中。APK分析器对dex进行解析识别其中的smali指令,以class维度依次检查所有使用的静态字符串与常量字符串,分析其中的HTTP地址。发现HTTP地址后通过SDK知识库识别此地址属于哪个SDK并将结果记录下来。最终产生一份SDK对应的流量特征,特征内容即请求的HTTP地址;
流量分析器:在通过抓包程序获得应用产生的流量后,流量分析器使用APK分析器分析出来的SDK流量特征对流量进行特征比对。如果一条流量命中某一条特征即可确定此流量是由该特征对应的SDK产生的。
与现有技术相比,本实施例所提供的方案基于不同SDK能够唯一表现在流量中的代码特征,也就是特征字符串作为识别基础,基于SDK与其特征字符串之间的对应关系构建出的SDK知识库可对APK进行分析以自动获取SDK产生流量的特征,不必人工分析,因此耗时极短。同时,基于代码特征的特性也使得每次检测都能获取最新的特征,不会因SDK更换了请求的域名使得流量特征变化出现无法识别的问题。时间和人力成本较低,且可支持大批量检测。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于确定流量产生来源的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于确定流量产生来源的装置500可以包括:实际流量获取单元501、实际特征字符串提取单元502、来源SDK确定单元503。其中,实际流量获取单元501,被配置成获取待测应用程序的实际流量;实际特征字符串提取单元502,被配置成从实际流量中提取出实际特征字符串;来源SDK确定单元503,被配置成根据实际特征字符串确定产生实际流量的来源SDK;其中,预先记录有每种SDK与其实际代码中包含的特征字符串之间的对应关系。
在本实施例中,用于确定流量产生来源的装置500中:实际流量获取单元501、实际特征字符串提取单元502、来源SDK确定单元503的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,用于确定流量产生来源的装置500还可以包括:SDK知识库构建单元,被配置成根据每种SDK与其实际代码中包含的特征字符串之间的对应关系,构建得到SDK知识库;以及来源SDK确定单元可以包括:来源SDK知识库确定子单元,被配置成根据实际特征字符串和SDK知识库确定产生实际流量的来源SDK。
在本实施例的一些可选的实现方式中,SDK知识库构建单元可以包括:HTTP地址集确定子单元,被配置成根据每个SDK的实际代码确定其中包含的HTTP地址集;SDK知识库构建子单元,被配置成根据每个SDK与其对应的HTTP地址集中每一个HTTP地址之间的对应关系构建得到SDK知识库;以及来源SDK知识库确定子单元进一步被配置成:利用SDK知识库确定与从实际流量中提取出的实际HTTP地址对应的实际SDK;将实际SDK确定为产生实际流量的来源SDK。
在本实施例的一些可选的实现方式中,HTTP地址集确定子单元可以进一步被配置成:识别待测应用程序中dex文件中的smali指令;以class维度对每条smali指令的内容依次进行静态字符串与常量字符串的检查,得到其中包含的每一个HTTP地址;根据各HTTP地址生成HTTP地址集。
在本实施例的一些可选的实现方式中,当不同SDK分别对应的HTTP地址集中包含有相同的目标HTTP地址时,用于确定流量产生来源的装置500还可以包括还可以包括:更换请求发起单元,被配置成通过第一预设路径发起针对目标HTTP地址的更换请求;或错误核实请求发起单元,被配置成通过第二预设路径发起针对目标HTTP地址的错误核实请求。
在本实施例的一些可选的实现方式中,用于确定流量产生来源的装置500还可以包括还可以包括:实际隐私风险等级确定单元,被配置成响应于来源SDK属于第三方SDK,确定实际流量的实际隐私风险等级;符合安全隐私要求通知返回单元,被配置成当实际隐私风险等级小于预设等级时,返回待测应用程序符合安全隐私要求的通知;不符合安全隐私要求通知返回单元,被配置成当实际隐私风险等级不小于预设等级时,返回待测应用程序不符合安全隐私要求的通知。
在本实施例的一些可选的实现方式中,用于确定流量产生来源的装置500还可以包括还可以包括:不合格标签附加单元,被配置成为实际隐私风险等级不小于预设等级的待测应用程序附加不合格标签;其它安全检测信息记录单元,被配置成记录所有附加有不合格标签的待测应用程序的其它安全检测信息。
本实施例作为对应于上述方法实施例的装置实施例存在,区别于现有技术给出的基于每种SDK的流量特征来确定来源SDK的方法,本实施例提供的用于确定流量产生来源的装置选择了能够更加准确的将SDK与其所产生的流量关联起来的特征字符串,该特征字符串为同时出现在SDK的实际代码和实际代码执行过程中产生的流量的字符串,也就是说本申请实施例提供了一种能够基于每种SDK的代码特征来确定来源SDK的装置,代码特征相较于流量特征变化频率更低且对应关系更易收集和更新维护,能够更加准确的确定出产生实际流量的来源SDK。
根据本申请的实施例,本申请还提供了一种电子设备和一种计算机可读存储介质。
图6示出了一种适于用来实现本申请实施例的用于确定流量产生来源的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,该电子设备包括:一个或多个处理器601、存储器602,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器601为例。
存储器602即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的用于确定流量产生来源的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的用于确定流量产生来源的方法。
存储器602作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的用于确定流量产生来源的方法对应的程序指令/模块(例如,附图5所示的实际流量获取单元501、实际特征字符串提取单元502、来源SDK确定单元503)。处理器601通过运行存储在存储器602中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的用于确定流量产生来源的方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储该电子设备在执行用于确定流量产生来源的方法时所创建的各类数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至适用于执行用于确定流量产生来源的方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
适用于执行用于确定流量产生来源的方法的电子设备还可以包括:输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置603可接收输入的数字或字符信息,以及产生适用于执行用于确定流量产生来源的方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置604可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
区别于现有技术给出的基于每种SDK的流量特征来确定来源SDK的方法,本实施例通过上述技术方案选择了能够更加准确的将SDK与其所产生的流量关联起来的特征字符串,该特征字符串为同时出现在SDK的实际代码和实际代码执行过程中产生的流量的字符串,也就是说本申请实施例提供了一种能够基于每种SDK的代码特征来确定来源SDK的方法,代码特征相较于流量特征变化频率更低且对应关系更易收集和更新维护,能够更加准确的确定出产生实际流量的来源SDK。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (16)

1.一种用于确定流量产生来源的方法,包括:
获取待测应用程序的实际流量;
从所述实际流量中提取出实际特征字符串;
根据所述实际特征字符串确定产生所述实际流量的来源SDK;其中,预先记录有每种SDK与其实际代码中包含的特征字符串之间的对应关系。
2.根据权利要求1所述的方法,还包括:
根据每种SDK与其实际代码中包含的特征字符串之间的对应关系,构建得到SDK知识库;以及
所述根据所述实际特征字符串确定产生所述实际流量的来源SDK,包括:
根据所述实际特征字符串和所述SDK知识库确定产生所述实际流量的来源SDK。
3.根据权利要求2所述的方法,其中,根据每种SDK与其实际代码中包含的特征字符串之间的对应关系,构建得到SDK知识库,包括:
根据每个SDK的实际代码确定其中包含的HTTP地址集;
根据每个SDK与其对应的HTTP地址集中每一个HTTP地址之间的对应关系构建得到所述SDK知识库;以及
所述根据所述实际特征字符串和所述SDK知识库确定产生所述实际流量的来源SDK,包括:
利用所述SDK知识库确定与从所述实际流量中提取出的实际HTTP地址对应的实际SDK;
将所述实际SDK确定为产生所述实际流量的来源SDK。
4.根据权利要求3所述的方法,其中,根据每个SDK的实际代码确定其中包含的HTTP地址集,包括:
识别所述待测应用程序中dex文件中的smali指令;
以class维度对每条所述smali指令的内容依次进行静态字符串与常量字符串的检查,得到其中包含的每一个HTTP地址;
根据各所述HTTP地址生成HTTP地址集。
5.根据权利要求3所述的方法,当不同SDK分别对应的HTTP地址集中包含有相同的目标HTTP地址时,还包括:
通过第一预设路径发起针对所述目标HTTP地址的更换请求;或
通过第二预设路径发起针对所述目标HTTP地址的错误核实请求。
6.根据权利要求1至5任一项所述的方法,还包括:
响应于所述来源SDK属于第三方SDK,确定所述实际流量的实际隐私风险等级;
当所述实际隐私风险等级小于预设等级时,返回所述待测应用程序符合安全隐私要求的通知;
当所述实际隐私风险等级不小于所述预设等级时,返回所述待测应用程序不符合安全隐私要求的通知。
7.根据权利要求6所述的方法,还包括:
为所述实际隐私风险等级不小于所述预设等级的待测应用程序附加不合格标签;
记录所有附加有所述不合格标签的待测应用程序的其它安全检测信息。
8.一种用于确定流量产生来源的装置,包括:
实际流量获取单元,被配置成获取待测应用程序的实际流量;
实际特征字符串提取单元,被配置成从所述实际流量中提取出实际特征字符串;
来源SDK确定单元,被配置成根据所述实际特征字符串确定产生所述实际流量的来源SDK;其中,预先记录有每种SDK与其实际代码中包含的特征字符串之间的对应关系。
9.根据权利要求8所述的装置,还包括:
SDK知识库构建单元,被配置成根据每种SDK与其实际代码中包含的特征字符串之间的对应关系,构建得到SDK知识库;以及
所述来源SDK确定单元包括:
来源SDK知识库确定子单元,被配置成根据所述实际特征字符串和所述SDK知识库确定产生所述实际流量的来源SDK。
10.根据权利要求9所述的装置,其中,所述SDK知识库构建单元包括:
HTTP地址集确定子单元,被配置成根据每个SDK的实际代码确定其中包含的HTTP地址集;
SDK知识库构建子单元,被配置成根据每个SDK与其对应的HTTP地址集中每一个HTTP地址之间的对应关系构建得到所述SDK知识库;以及
所述来源SDK知识库确定子单元进一步被配置成:
利用所述SDK知识库确定与从所述实际流量中提取出的实际HTTP地址对应的实际SDK;
将所述实际SDK确定为产生所述实际流量的来源SDK。
11.根据权利要求10所述的装置,其中,所述HTTP地址集确定子单元进一步被配置成:
识别所述待测应用程序中dex文件中的smali指令;
以class维度对每条所述smali指令的内容依次进行静态字符串与常量字符串的检查,得到其中包含的每一个HTTP地址;
根据各所述HTTP地址生成HTTP地址集。
12.根据权利要求10所述的装置,当不同SDK分别对应的HTTP地址集中包含有相同的目标HTTP地址时,还包括:
更换请求发起单元,被配置成通过第一预设路径发起针对所述目标HTTP地址的更换请求;或
错误核实请求发起单元,被配置成通过第二预设路径发起针对所述目标HTTP地址的错误核实请求。
13.根据权利要求8至12任一项所述的装置,还包括:
实际隐私风险等级确定单元,被配置成响应于所述来源SDK属于第三方SDK,确定所述实际流量的实际隐私风险等级;
符合安全隐私要求通知返回单元,被配置成当所述实际隐私风险等级小于预设等级时,返回所述待测应用程序符合安全隐私要求的通知;
不符合安全隐私要求通知返回单元,被配置成当所述实际隐私风险等级不小于所述预设等级时,返回所述待测应用程序不符合安全隐私要求的通知。
14.根据权利要求13所述的装置,还包括:
不合格标签附加单元,被配置成为所述实际隐私风险等级不小于所述预设等级的待测应用程序附加不合格标签;
其它安全检测信息记录单元,被配置成记录所有附加有所述不合格标签的待测应用程序的其它安全检测信息。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的用于确定流量产生来源的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的用于确定流量产生来源的方法。
CN202010492846.7A 2020-06-03 2020-06-03 用于确定流量产生来源的方法、装置、设备及存储介质 Active CN111654495B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010492846.7A CN111654495B (zh) 2020-06-03 2020-06-03 用于确定流量产生来源的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010492846.7A CN111654495B (zh) 2020-06-03 2020-06-03 用于确定流量产生来源的方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111654495A true CN111654495A (zh) 2020-09-11
CN111654495B CN111654495B (zh) 2023-06-27

Family

ID=72348216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010492846.7A Active CN111654495B (zh) 2020-06-03 2020-06-03 用于确定流量产生来源的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111654495B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112528283A (zh) * 2020-12-15 2021-03-19 微医云(杭州)控股有限公司 Sdk收集用户信息的检测方法及装置、电子设备、存储介质
CN113064820A (zh) * 2021-03-26 2021-07-02 深圳依时货拉拉科技有限公司 更新a/b实验sdk的方法、设备和计算机可读存储介质
CN113221098A (zh) * 2021-05-06 2021-08-06 支付宝(杭州)信息技术有限公司 针对接口调用请求的处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483559A (zh) * 2017-07-27 2017-12-15 北京小米移动软件有限公司 Sdk服务的提供方法及装置
CN108037989A (zh) * 2017-12-15 2018-05-15 北京小米移动软件有限公司 Sdk组件识别方法及装置
CN108416216A (zh) * 2018-02-28 2018-08-17 阿里巴巴集团控股有限公司 漏洞检测方法、装置及计算设备
CN110727716A (zh) * 2019-10-24 2020-01-24 北京智游网安科技有限公司 一种应用中集成sdk的识别方法、智能终端及存储介质
CN110955887A (zh) * 2019-10-15 2020-04-03 浙江省北大信息技术高等研究院 异常行为检测方法及装置
CN111046388A (zh) * 2019-12-16 2020-04-21 北京智游网安科技有限公司 识别应用中第三方sdk的方法、智能终端及储存介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107483559A (zh) * 2017-07-27 2017-12-15 北京小米移动软件有限公司 Sdk服务的提供方法及装置
CN108037989A (zh) * 2017-12-15 2018-05-15 北京小米移动软件有限公司 Sdk组件识别方法及装置
CN108416216A (zh) * 2018-02-28 2018-08-17 阿里巴巴集团控股有限公司 漏洞检测方法、装置及计算设备
CN110955887A (zh) * 2019-10-15 2020-04-03 浙江省北大信息技术高等研究院 异常行为检测方法及装置
CN110727716A (zh) * 2019-10-24 2020-01-24 北京智游网安科技有限公司 一种应用中集成sdk的识别方法、智能终端及存储介质
CN111046388A (zh) * 2019-12-16 2020-04-21 北京智游网安科技有限公司 识别应用中第三方sdk的方法、智能终端及储存介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112528283A (zh) * 2020-12-15 2021-03-19 微医云(杭州)控股有限公司 Sdk收集用户信息的检测方法及装置、电子设备、存储介质
CN113064820A (zh) * 2021-03-26 2021-07-02 深圳依时货拉拉科技有限公司 更新a/b实验sdk的方法、设备和计算机可读存储介质
CN113064820B (zh) * 2021-03-26 2022-09-16 深圳依时货拉拉科技有限公司 更新a/b实验sdk的方法、设备和计算机可读存储介质
CN113221098A (zh) * 2021-05-06 2021-08-06 支付宝(杭州)信息技术有限公司 针对接口调用请求的处理方法及装置

Also Published As

Publication number Publication date
CN111654495B (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
US10606739B2 (en) Automated program code analysis and reporting
US10310969B2 (en) Systems and methods for test prediction in continuous integration environments
US11169906B2 (en) Extraction of problem diagnostic knowledge from test cases
US10346282B2 (en) Multi-data analysis based proactive defect detection and resolution
US8997086B2 (en) Fix delivery system
CN111752843B (zh) 用于确定影响面的方法、装置、电子设备及可读存储介质
CN111654495B (zh) 用于确定流量产生来源的方法、装置、设备及存储介质
CN111309343B (zh) 一种开发部署方法及装置
US11741002B2 (en) Test automation systems and methods using logical identifiers
AU2017327823A1 (en) Test case generator built into data-integration workflow editor
US11709759B2 (en) Contextual drill back to source code and other resources from log data
EP4085336B1 (en) Computer resource leak detection
CN111666217A (zh) 用于测试代码的方法和装置
KR20190020363A (ko) 동적 분석과 정적 분석을 연계한 프로그램을 분석하기 위한 방법 및 장치
CN110858143A (zh) 一种安装包生成方法、装置、设备及存储介质
US10796264B2 (en) Risk assessment in online collaborative environments
EP3379409B1 (en) Automated program code analysis and reporting
CN111858302A (zh) 小程序的测试方法、装置、电子设备及存储介质
CN114116499A (zh) 评估代码质量的方法、装置、设备以及存储介质
CN118672913A (zh) 应用更新检测方法、装置、存储介质及电子设备
KR102114260B1 (ko) 스크립트 생성 장치, 방법 및 컴퓨터로 판독 가능한 기록매체
CN117827624A (zh) 功能测试方法、装置及存储介质
CN118740918A (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