1、Microcomputer Applications Vol.39,No.11,2023文章编号:10 0 7-7 57 X(2 0 2 3)11-0 19 9-0 5开发应用代码自动生成的小程序漏洞实时检测系统设计微型电脑应用2 0 2 3年第39 卷第11期石峰1,石若愚2(1.濮阳技师学院,信息商贸系,河南,濮阳457 0 0 1;2.中国矿业大学(北京),化学与环境工程学院,北京10 0 0 8 3)摘要:代码不够全面就会导致代码自动生成的小程序存有漏洞,为了确保代码自动生成小程序的安全性,就需要设计对代码自动生成的小程序漏洞实时检测系统,为此提出代码自动生成的小程序漏洞实时检测系统设
2、计方法。该方法在系统中设计了多种不同的软件,利用软件采集小程序中的漏洞数据,便于后续的检测;同时在系统中设计不同的硬件功能模块,其中任务管理功能模块发挥着重要作用,该模块能够有效地分配检测任务,大大地提升了系统检测效率,基于设计的软件和硬件,实现检测系统的整体设计。实验结果表明,通过对该方法开展漏洞检测个数测试、耗时测试和漏检个数测试,验证了该方法的精准性强、可靠性高。关键词:代码自动生成;小程序;漏洞实时检测;系统设计中图分类号:N945.23文献标志码:ADesign of Real-time Detection System for Small Program Vulnerabiliti
3、eswith Automatic Code GenerationSHI Feng,SHI Ruoyu?(1.Information and Commerce Department,Puyang Technician College,puyang 457001,China;2.College of Chemical and Environmental Engineering,China University of Mining and Technology(Beijing),Beijing 100083,China)Abstract:Insufficient code writing will
4、lead to loopholes in the automatic code generation of the applet.In order to ensure thesecurity of the automatic code generation of the applet,it is necessary to design a real-time detection system for the automaticcode generation of the applet vulnerability.A method of real-time detection system fo
5、r small program vulnerabilities is de-signed.In this method,software is designed in the system,and the vulnerability data in the applet are collected by the softwareto facilitate subsequent detection;at the same time,different hardware function modules are designed.Among them the taskmanagement func
6、tion module plays an important role,the module can effectively allocate detection tasks,which greatly im-proves the detection efficiency of the system.Based on the designed software and hardware,the overall design of the detectionsystem is realized.The experimental results show that the method has s
7、trong accuracy and high reliability by testing the num-ber of loopholes detected,time-consuming test and number of missed detections.Key words:automatic code generation;applet;real-time vulnerability detection;system design0引言计算机技术口在我国呈现出高速发展的状态,在人类日常生活中应用广泛,深受我国人民的喜爱。同时,对于计算机技术大多数人们早已产生了巨大的依赖,使计算机技
8、术离不开人们的日常生活。在这种技术下,我国设计出诸多软件、系统,无论是办公还是休闲活动,计算机技术都给人们带来了便利。但是在这种情况下,经常会出现软件遭受到攻击、系统出现漏洞2 的问题,这些都会导致系统安全受到影响,容易给自身带来极大的损失。随着技术的不断完善,我国开始设计出不同的小程序,这些小程序的规模日渐增大,与此同时黑客攻击手段也不断增强,普通的漏洞检测已经不作者简介:石峰(19 7 1一),男,本科,教授,研究方向为计算机软件开发;石若愚(2 0 0 1一),男,本科生,研究方向为矿物加工自动化。能满足现在的需求,所以针对上述出现的问题,需要对代码自动生成的小程序漏洞实时检测系统开展设
9、计,以此避免上述问题的发生。赵伟等 3提出了基于符号执行的智能合约漏洞检测方案,该方法优先对系统经常出现的漏洞开展了详细分析,以此建立出系统控制流图,依据系统漏洞的特点,获取了与其相对应的约束条件,基于约束条件下的系统求解器自动生成出软件测试用例,利用其对常见的漏洞实行检测,从而完成漏洞检测,该方法的分析效果存有欠缺,导致该方法存在检测效果差的问题。陈春雷等 4提出了基于Yosys的硬件信息流安全验证与漏洞检测方法,该方法通过Yosys设计出了系统硬件电199.Microcomputer Applications Vol.39,No.11,2023路,从中生成出门级网表,再对设计的电路实行标记
10、,利用构建的信息流模型对电路中的数据开展设计,并将其映射到以Yosys为主的可识别安全约束,最后将模型与Yosys 相结合,利用其检测设计后的系统,根据检测结果判断在系统硬件中是否存有安全漏洞,若存有漏洞对其实行修复,从而实现整体漏洞检测,该方法设计的硬件不够完善,存在检测耗时高的问题。王嘉捷等 5提出了WebView组件漏洞自动化检测与验证方法,该方法采用可达性分析方法分析出了系统中的漏洞可疑点,以此解决不可达路径的无效遍历问题,大大地提升了漏洞分析效果,再将分析结果与模拟攻击行为相结合,检测系统中的漏洞,判断漏洞触发的真实效果,以此实现漏洞检测,该方法分析的漏洞可疑点不够全面,存在检测效率
11、低的问题。为了解决上述方法中存在的问题,提出代码自动生成的小程序漏洞实时检测系统设计方法。1代码自动生成的小程序漏洞实时检测系统设计1.1系统软件设计在构建代码自动生成小程序时,时常要做的就是对建立小程序的漏洞开展实时检测,经不断检测和修复后,最终形成了一个完整且可实用的小程序。由于检测过程比较复杂,所以需要针对小程序漏洞实时检测系统实行全面的设计。1.2Java源代码设计小程序通常是由多种代码实现而成的,所以在系统中设计了Java源代码分析软件,主要利用该软件中的ANTLR工具对源代码处理,使编写的代码完成词法构造、语法构造等工作,这些流程结束后就可以将源代码转换到小程序内,从而形成一个完整
12、的源代码。源代码到程序内的具体流程如图1所示。开始AST遍历1AST遍历2设计的Java源代码 6 软件模块主要利用ANTLR工具设计而成,它具体表现在利用一个类文件生成出一个分析模块,每生成一个类文件就能建立出一个分析模块,而该分析模块中的全部功能都存在类文件中,且使用的方式相同,同时还具备可以在任意程序中调用类文件的功能。在设定的词法规则中,ANTLR工具对词法或语法定义时必须要以大写字母的形式开头,比如在Java语言内的语法为“COMMENT”,该形式为标准形式。固定的填写形式便于对系统的编辑及开发,该软件还可以统一将词法分析方法和语法分析方法放在Java.g文件内,必要时也可以分开编写
13、,可以提升小程序开发的准确性。1.3代码自动生成软件通过代码自动生成技术对小程序实行开发时,需要遵守开发应用3个要素,这3个要素必不可少,分别是:代码模板、代码参数及代码生成规则。因此,小程序中主要将Python用作软件的编程语言,而代码模板则用该编程语言中的格式化字串符定义,那么剩余的代码生成规则通过生成算法实现,主要将上述设立的代码 7 模板和代码参数结合到一起后,直接完成代码生成。代码自动生成的基本流程主要表现在以下三方面。(1)依据上述设计的Java源代码软件,对分析模块IP中的硬件分析后,从中确立出与分析模块相对应的相应层代码模板,再确定生成代码中的规则,以此实现IP代码的整体生成。
14、(2)对代码自动生成三要素确立完成后,需要利用卷积神经网络中的加速器生成顶层代码。(3)将顶层代码与IP相结合,直接呈现出一个完整的卷积神经网络 8 加速器代码,编译最终生成的代码,将其综合成硬件电路。一般来说,卷积神经网络中主要包含几个不同的层次,而卷积层、池化层、激活层、全连接层是卷积神经网络必不可少的核心层次。设计的代码自动生成模块需要在各个层次中建立出IP代码生成和顶层代码生成。设计的代码自动生成软件模块如图2 所示。模型结构与数据json文件模型数据数据量化软模型件解析层图2 代码自动生成框架待测源码词法分析遍历抽象抽象语法树语法树ASTAST程序中间表示AST遍历3IR图1源代码到
15、程序中的流程图微型电脑应用2 0 2 3年第39 卷第11期模型结构结构参数Verilog HDL代码FPGA硬件层Tokens根据图2 可知,代码自动生成时要优先获取模型的结构和json文件,而模型的结构参数和模型的数据路径都包括在json文件中。为了能够得到模型数据与模型结构的参数,需语法分析要利用解析模块对模型开展解析,依据解析结果获取模型结构参数。再用框架中的数据量化模块处理获取的模型数据,将上述全部参数均代人到代码生成模块内,以此形成了最终结束代码,最后在卷积神经网络硬件层中运算生成代码,实现代码自动生成。1.4组件-漏洞信息提取生成后的小程序会对程序中的数据实行采集,而采集的数据通
16、常被分化成两种:第一种为漏洞数据;第二种则为组件数据。利用json格式将这两种数据全部存储,因为大多数数据的来源都不相同,所以需要建立组件-漏洞信息提取软件模块对程序软件中的漏洞开展选取和表示。具体的漏洞实体选取示意图如图3所示。采集到程序中的数据时,所获取的信息因素仅仅只是数据表面,探测不到真实的漏洞数据,所以需要对漏洞的实体开展选取和表示。根据图3中的顺序流程能够有效地将数据漏洞的本质表示出来。通过对采集数据的分析及对比,最终以CVE编号的实体标识形式对小程序漏洞的任意实体开展表示和存储。.200.代码生成Microcomputer Applications Vol.39,No.11,20
17、23漏洞数据漏洞实体和属性Maven实体和属性主体信息组件漏洞图3漏洞实体选取及表示示意图而Maven组件信息提取模块能够得到小程序数据漏洞中最完全的组件信息,但是由于获取的组件信息结构比较简洁,所以可以直接构建出知识图谱 9,与上述相同,根据对采集数据的分析和比较,最终选取3个属性作为组件的实体属性,以此实现对组件实体的表示和存储。2硬件设计2.1硬件功能模块要想有效地对小程序漏洞开展实时检测,除了设计软件外,还要设计硬件功能模块。从整体上说,将系统硬件功能模块划分成3个主要功能模块,分别是任务管理功能模块、扫描管理功能模块和漏洞检测功能模块。每个功能模块所具备的子功能均大不相同,因此划分的
18、硬件功能模块如图4所示。漏洞实时检测系统功能模块任务管理扫描管理功能模块功能模块图4漏洞实时检测系统功能模块设计图根据图4构建的漏洞实时检测系统整体硬件功能模块,对硬件子模块功能划分,并对各个子功能模块开展详尽描述。2.2任务管理功能模块在整个系统中,任务管理功能模块是系统内最关键的模块之一。每次开展一项漏洞检测都会获取到与其相对应的检测任务,而该任务可以通过建立、查询、删除、调度等多种操作实现而成。进入任务管理模块前,用户首先要做的就是建立一个扫描任务 10,建立完成后才可以步人到后续检测流程中。任务在添加过程中要对需要执行的任务信息实行填写,但不可以直接开启扫描操作,待任务全部开启后,即可
19、对填写的任务实行任务扫描。整个任务管理功能模块的任务添加流程如图5所示。开发应用json格式Maven数据选取表示格式化存储微型电脑应用2 0 2 3年第39 卷第11期香Github数据输入基本开始信息Github实体上传检测和属性对象漏洞和组件关系关系信息组件-组件-漏洞组件漏洞检测功能功能是否开启是输入配置任务信息选择启动是是否设置为时间自动是否缺少是依赖库否通过图5中的整体流程可以在任务列表中查询添加完成的任务。任务列表主要能够将任务的名称、任务处于什么样的状态和任务执行者的信息全部展现出来。普通的用户只能查看自己构建的任务,但是管理员能够查看全部任务。2.3扫描管理功能模块对创建的任
20、务实行展示的任务列表是扫描管理模块中的一部分,且每个任务在查看时都会处于不同的状态,比如任务完成、任务终止、任务执行中等。当任务创立完成后,所有的任务都属于初始状态。选取任意一个任务执行后,任务的状态就会变成执行中,若执行过程中发生异常,那么任务状态就变换成任务错误,若执行过程中不存在异常,那么任务的状态就为任务完成。扫描管理模块中这些任务的转换关系如图6 所示。任务就绪工启动任务执行中中止扫描全启动任务终止启动发生异常任务错误扫描成功工任务完成图6 任务关系转换当任务扫描开始时,首先要做的就是对需要检测的对象实行扫描解压操作,再分析各类文件从中取得语法分析树,利用扫描管理模块对数据流进行信息
21、扫描,并将各类属性及安全规则相匹配,以此得出最终扫描结果。2.4漏洞检测功能模块代码自动生成的小程序极易存在漏洞,为了使小程序能够正常运作,特意设计出漏洞检测模块,利用该模块对小程序实时漏洞检测。设计的漏洞检测模块如图7 所示。从图7 可以看出,通过获取的源代码到程序中间表示IR的数据流信息,利用该模块对获取的数据流信息开展漏洞检测 12。若检测期间存有漏洞,那么就需要将漏洞记录在漏洞报告内,以此向管理人员传送漏洞信息,对漏洞实行修复。通过对代码自动生成的小程序漏洞实时检测系统软件及硬件的设计,从而实现小程序漏洞实时检测系统的整体设计。.201.选择检测扫描方式上传确定添加依赖库任务图5任务添
22、加流程示意图结束Microcomputer Applications Vol.39,No.11,2023信息分析器漏洞设间表示IR程序中IR遍历器别芬发器IR语包类统依赖图流程控制器漏洞报告图7漏洞检测模块设计图3实验与分析为了验证代码自动生成的小程序漏洞实时检测系统设计方法的整体有效性,需要对该方法实行实验对比测试。采用代码自动生成的小程序漏洞实时检测系统设计方法(方法1)、基于Yosys的硬件信息流安全验证与漏洞检测方法(方法2)和WebView组件漏洞自动化检测与验证方法(方法3)开展比较测试。(1)在实行测试期间,采用微信小程序网页作为实验研究对象,该微信小程序网页如图8 所示。微信小
23、程序普惠节回.建图8 微信小程序网页在图8 中获取不同的样本数据,对其实行安全扫描,以此检测出网页内是否存有漏洞。设置本次实验共选取10 0 0个样本数据,并在样本数据中引人10 个安全漏洞,分别采用方法1、方法2 和方法3对其实行漏洞检测,根据漏洞检测个数验证最终检测效果。漏洞检测个数越多,说明该方法的检测准确率越高,反之则越低,具体的测试结果如表1所示。从表1可以看出,第1次实验测试时,3种方法的漏洞检测个数就大不相同,其中方法2 的漏洞检测个数最少,方法1的漏洞检测个数最多。随着接下来的实验测试,得知方法1在第12 次测试时就将引人的10 个安全漏洞全部检测出来,而其余2 种方法在实验测
24、试结束后也没有准确的检测出全部的漏洞。由此可见,方法1的漏洞检测准确率要高于方法2和方法3,也可以看出方法1的检测效果最强。(2)对微信小程序网页漏洞检测时,其检测时间也极其重要。若消耗的时间过长,就说明检测的效果慢,因而会降低整体检测效率。所以为了保障不同方法的检测效率,需要采用3种方法对漏洞检测耗时开展比较测试。耗时越低,说开发应用漏洞检测模块明该方法的检测效率越强,反之则越差,具体的测试结果如图9 所示。表1不同方法的漏洞检测个数测试3种方法的漏洞检测个数测试/个置信实验次数/次123456789101112131415s/鲜201510F050精选小碗季模板图9检测耗时测试根据图9 可
25、以看出,整体测试过程中方法1的耗时要低于其余2 种方法,同时在测试过程中方法1的运动轨迹上升较慢,可以判定方法1的检测耗时最短。这主要是因为方法1设计了任务管理功能模块,利用该模块分配需要检测的任务,使系统能够更加快速地开展漏洞检测,从而提升了整体检测效率,降低了检测时间。(3)系统实行漏洞检测过程中极易发生漏检、误检的问题。因此,为了确定3种方法的可靠性,设置微信小程序网页中共有10 0 0 个样本数据,并引人2 5个安全漏洞,利用方法1、方法2 和方法3分别对样本数据开展漏洞检测测试,根据漏检个数验证该方法的检测效果。具体测试结果如图10所示。25方法120图方法2方法3151050246
26、810时间/s图10漏检个数测试.202微型电脑应用2 0 2 3年第39 卷第11期方法1方法2757575758586869696969610710710710735方法130F一方法2.-方法325F100150200250300样本数量/个12方法36666677778888991Microcomputer Applications Vol.39,No.11,2023由图10 可知,随着时间的不断增加,3种方法的漏检数量均有所提高。可以清晰地看出方法3的漏检数量要高于方法1和方法2,与方法3相反的是,方法1的漏检个数则是3种方法中最低的。由此可见,方法1的漏检数量少,说明该方法的检测效
27、果最优。4总结代码自动生成的小程序容易在操作不当的情况下产生安全漏洞,所以针对小程序漏洞实时检测系统设计方法存在的问题,本文提出代码自动生成的小程序漏洞实时检测系统设计方法。该方法先在软件中设计了不同的组件、源代码,提升了漏洞数据的采集和处理效率;再在系统中设计了不同的硬件功能模块,加快了检测效率,以此实现漏洞实时检测系统的整体设计。该方法在小程序漏洞实时检测系统设计方法中提供了重要信息基础,同时也在漏洞实时检测系统设计方法中占据着关键地位。1赵飞.计算机技术在食品工业中的应用:食品工业中的过程分析技术评述 J.食品与机械,2 0 2 1,37(1):235-236.2 李韵,黄辰林,王中锋,
28、等.基于机器学习的软件漏洞挖掘方法综述 J.软件学报,2 0 2 0,31(7):2 0 40-2 0 6 1.3赵伟,张问银,王九如,等.基于符号执行的智能合约漏洞检测方案 J.计算机应用,2 0 2 0,40(4):9 47-9 53.开发应用4下陈春雷,王省欣,谭静,等.基于Yosys的硬件信息流安全验证与漏洞检测 J.计算机应用研究,2 0 2 1,38(6):1865-1869.5王嘉捷,刘建鑫,马宇飞,等.WebView组件漏洞自动化检测与验证方法J.北京理工大学学报,2 0 2 0,40(2):169-174.6 刘伟.基于PSCAD的保护逻辑C源代码级仿真方法J.电力系统保护与
29、控制,2 0 2 0,48(18):130-137.7冀甜甜,方滨兴,崔翔,等.深度学习赋能的恶意代码攻防研究进展 J.计算机学报,2 0 2 1,44(4):6 6 9-6 9 5.8吴倩红,韩蓓,李国杰,等.极高光伏渗透率下基于潮流雅可比矩阵和卷积神经网络的静态电压稳定在线预测 J.中国电机工程学报,2 0 2 1,41(12):40 58-4068.9 范青,史中超,谈国新。非物质文化遗产的知识图谱构建 J.图书馆论坛,2 0 2 1,41(10):10 0-10 9.10陈秀恩,郑洁皎,庄雾雯,等.Stroop范式和躯干控制参考文献双任务训练对老年脑卒中患者平衡功能的影响 J.中国康复
30、医学杂志,2 0 2 0,35(1):45-49.11吴欣欣,欧焱,李文明,等.基于粗粒度数据流架构的稀疏卷积神经网络加速 J.计算机研究与发展,2021,58(7)1504-1517.12秦佳伟,张华,严寒冰,等.上下文感知的安卓应用程序漏洞检测研究 J.通信学报,2 0 2 1,42(11):13-2 7.(收稿日期:2 0 2 2-0 2-2 8)微型电脑应用2 0 2 3年第39 卷第11期(上接第18 1页)3张璞,张波,王建,等.计及主设备时变状态的变电站短时风险评估方法 J.电力系统保护与控制,2 0 2 1,49(14):73-81.4杨至元,张仕鹏,孙浩,等.基于Cyber-
31、net与学习算法的变电站网络威胁风险评估 J.电力系统自动化,2020,44(24):19-27.5蒋毅,段芳铮,潘志敏,等.基于行为倾向的变电站人身风险量化方法 J.电力科学与技术学报,2 0 2 1,36(4):37-43.6 彭熹,王佳文,李振文,等.基于犹豫模糊矩阵的变电站自动化设备检修优先级决策 J.电力系统保护与控制,2 0 2 0,48(4):10 4-10 9.【7 徐彦,方华亮,廖家齐,等.基于风险评估的集成式隔离断路器运维策略J.高电压技术,2 0 2 0,46(11):3951-3959.8李科.基于PSO-KNN的变电站设备三维点云识别方法研究 J.电力系统保护与控制,
32、2 0 2 1,49(18):182-187.9 王洪亮,束洪春,周洁.物联网环境下变电站信号可并行识别的改进顿时隙ALOHA算法 JI.电工技术学报,2 0 2 0,35(2 3):49 12-49 19.10张雪霏,贺兰菲,高晓晶,等.基于改进的形态梯度法的变电站母线故障检测技术.水电能源科学,2021,39(3):159-163.11 1LIM S,HANSON A J,SANTIAGO-GONZALEZ JA,et al.Bus Converter Using Isolation Capacitancefor ZVS and Invariant OperationJI.IEEE Jou
33、rnal ofEmerging and Selected Topics in Power Electronics,2020,8(3):1971-1982.12YE Q J,ZENG M,ZHANG Y X,et al.CAN BusBased Current Sharing Control of High-power Switc-hing Converters J.Journal of Power Electronics,2021,21(3):529-540.131NUMAN M,FENG D H,ABBAS F,et al.Impact As-sessment of a Co-optimiz
34、ed Dynamic Line Rating andTransmission Switching Topology on Network Ex-pansion PlanningJJ.International Transactions on E-lectrical Energy Systems,2020,30(8):el2457.14何景师,张智勇.集装化危险品物流作业风险因素识别与评价J.上海海事大学学报,2 0 2 0,41(4):63-69.15余建星,刘天,余杨.顶张紧式立管作业风险源识别与失效模型J.油气储运,2 0 2 0,39(1):112-12 0.(收稿日期:2 0 2 2-0 3-14).203.