收藏 分销(赏)

基于机器学习的应用系统深度指纹识别技术及应用.pdf

上传人:自信****多点 文档编号:638683 上传时间:2024-01-22 格式:PDF 页数:6 大小:6.13MB
下载 相关 举报
基于机器学习的应用系统深度指纹识别技术及应用.pdf_第1页
第1页 / 共6页
基于机器学习的应用系统深度指纹识别技术及应用.pdf_第2页
第2页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第 56 卷 第 9 期2023 年 9 月通信技术Communications TechnologyVol.56 No.9Sep.20231082文献引用格式:贺彦钧,朱磊,黄炜.基于机器学习的应用系统深度指纹识别技术及应用 J.通信技术,2023,56(9):1082-1087.doi:10.3969/j.issn.1002-0802.2023.09.010基于机器学习的应用系统深度指纹识别技术及应用*贺彦钧,朱 磊,黄 炜(中国电子科技集团公司第三十研究所,四川 成都 610041)摘 要:在信息安全测试领域,基于机器学习的应用系统深度指纹识别技术对应用系统进行漏洞检测时,可快速获取应用

2、系统指纹信息,并且能够根据系统深度指纹信息进行精确的自适应漏洞检测。通过研究面向 http 协议的信息收集爬虫技术、基于字符串匹配的识别技术和目标安全缺陷利用技术,基于目标指纹特征提出并搭建了朴素贝叶斯模型,实现了基于机器学习的应用系统指纹识别技术,识别目标应用系统信息,发现缺陷和自适应漏洞检测。最后对相关技术的实现进行实验验证,实验结果符合预期。关键词:机器学习;指纹识别;爬虫技术;朴素贝叶斯中图分类号:TP309 文献标识码:A 文章编号:1002-0802(2023)-09-1082-06Deep Fingerprint Recognition Technology and Applic

3、ation for Application System Based on Machine Learning HE Yanjun,ZHU Lei,HUANG Wei(No.30 Institute of CETC,Chengdu Sichuan 610041,China)Abstract:In the field of information security testing,machine learning-based application system deep fingerprint recognition technology can quickly obtain applicati

4、on system fingerprint information when performing vulnerability detection on an application system,and can perform accurate adaptive vulnerability detection based on the system deep fingerprint information.Through the research of crawler technology for http protocol information collection,string mat

5、ching recognition technology and target security defect utilization technology,a naive Bayes model is proposed and built based on the target fingerprint characteristics to realize a machine learning based fingerprint recognition technology for application systems,which is capable of recognizing the

6、target application system information,discovering defects and performing adaptive vulnerability detection.Finally,an experimental verification of the related technology implementation is carried out,and the experimental results are in line with expectations.Keywords:machine learning;fingerprint reco

7、gnition;crawler technology;naive Bayes0 引 言随着互联网的迅速发展和智能化应用的普及,对数据的隐私保护和安全性的要求越来越高。在网络安全领域,指纹识别技术被广泛用来识别和验证用户的身份,以保护敏感信息和资源的安全。传统的指纹识别技术主要集中在人体指纹的识别上,但随着技术的进步和应用场景的改变,深度指纹识别技术逐渐引起了研究者和工程师的关注。深度指纹识别技术是一种基于机器学习的指纹识别方法,通过训练模型和学习特征来实现更准确和可靠的指纹 *收稿日期:2023-06-28;修回日期:2023-08-14 Received date:2023-06-28;Re

8、vised date:2023-08-14基金项目:国家自然科学基金(62272398);四川省重点研发计划(2022YFG0028)Foundation Item:National Natural Science Foundation of China(62171461);Key R&D Project of Sichuan Province of China(2022YFG0028)1083第 56 卷第 9 期贺彦钧,朱磊,黄炜:基于机器学习的应用系统深度指纹识别技术及应用识别。与传统的指纹识别技术相比,深度指纹识别技术具有更高的灵活性和扩展性。它能够识别各种类型的指纹,包括人体指纹、网

9、络活动指纹、行为指纹等,以满足不同领域的应用需求。深度指纹识别技术是通过深度学习模型来提取和学习指纹数据的特征,从而实现指纹的分类和识别,并通过分析指纹的局部特征和上下文信息,达到更高的识别准确率和鲁棒性。因此,本文面向信息安全测试领域,在应用系统进行漏洞检测时,针对如何快速获取应用系统指纹信息,如何根据应用系统指纹信息进行自适应漏洞检测等问题,提出了“基于机器学习的深度指纹识别技术及应用”思路,帮助测试人员快速准确找到应用系统漏洞,及时通知系统开发人员进行整改修复,做好网络安全防护工作,进一步保障系统安全稳定运行。1 研究思路1.1 概 述目前针对 Web 服务器指纹识别的主流研究主要通过分

10、析大量 HTML 数据,包括 HTML 源码关键字和特殊文件及路径,来识别 Web 组件1-2,探测以下几个请求和返回信息进行 Web 应用指纹判断:网站响应头部信息(Response header)、HTML页面内 META 标签信息、HTML 内脚本语言信息(JavaScript,JS)、层 叠 样 式 表(Cascading Style Sheets,CSS)等引用链接信息、特殊统一资源定位(Uniform Resource Locator,URL)地址及参数、特定文件名、文件内容及文件的数字摘要(Hash 值)。主流的 Web 指纹识别技术是基于特征匹配实现的,包括特殊静态文件 Has

11、h 值和关键字段两类特征。特殊静态文件可以是 js、css 文件,也可以是图片、默认图标 favicon.ico 等。关键字段特征包括 HTTP 响应头里的关键字段特征信息、正常或错误页面里的关键字段特征、文件资源路径里的关键字段特征。1.2 研究思路本文通过基于机器学习的应用系统深度指纹识别技术及应用的研究,实现了一种使用基于机器学习的自动化安全测试工具。该系统首先通过基于机器学习的数据对安装在 Web 服务器上的软件(操作系统、中间件、框架、CMS 等)进行标识和深度识别;其次利用识别后的精确数据,使用安全检查工具(The Metasploit Framework,MSF)对标识的软件执行

12、有效的数据分析和安全测试;最后生成扫描结果报告。该系统自动执行上述处理,如图 1 所示。图 1 系统处理步骤用户的操作只输入目标 Web 服务器的顶部URL(TOP UR),系统就自动爬取收集目标服务器的数据信息,获取域名信息,探测 Web 应用程序的目录结构,识别 Web 应用程序的技术栈,发现敏感信息等。通过系统智能化分析,用户可以在不花费时间和精力的情况下自动识别 Web 服务器的构建特征信息、组件信息和脆弱性信息等。2 研究内容及方法2.1 HTTP 信息收集爬虫技术HTTP 信息收集爬虫技术是一种利用 HTTP 协议进行信息收集和抓取的技术方法。它通过模拟HTTP 请求,访问目标网站

13、的不同页面,获取网页内容并提取有用的信息。本文利用爬虫技术收集目标网站的 HTTP 响应报文包,在用户输入 TOP URL 后,自动扩展目标网站资源、路径链接,进行原始响应数据的爬取。信息收集爬虫技术基本原理为:网络爬虫通过HTTP 链接输入并向目标站点发起请求,即发送一个 Request 请求,请求数据可以包含 Headers(附加信息)、Cookies 等信息,等待后台的响应。后台正常接收并响应返回一个 Response 响应数据,响应报文中的响应体包含网页信息,可能有HTML、文档、图片、视频等资源文件或者 JSON 数据等3。HTML解析可以使用网页解析库和正则表达式进行处理。1084

14、通信技术2023 年如果是 JSON 的话,可以直接转成 JOSN 对象进行解析。如果是其他资源文件,就先保存等待爬取完成后处理。爬虫可以用不同种形式来存储网页信息、生成文本文档,或者直接保存到数据库。本文通过 Scrapy 框架来实现信息收集爬虫技术。Scrapy 是一个为了爬取网站内容、提取结构性数据而编写的开源爬虫应用框架。可以运用在数据挖掘、信息处理或者存储历史数据等一系列程序中。使用 Scrapy 框架可以方便地自定义爬虫的爬取规则,此外,还有很多稳定的开源库帮助本文进行前置后续处理。HTTP 信息收集爬虫技术的实现步骤如下:(1)确定目标网站:首先需要确定要爬取的目标网站,包括网站

15、的 URL 和要抓取的页面。(2)构建爬虫程序:根据所选的编程语言和爬虫框架,编写爬虫程序。爬虫程序需要实现 URL管理、HTTP 请求、页面分析以及数据存储等功能。(3)发送 HTTP 请求:爬虫根据 URL 队列中的待访问 URL,构造 HTTP 请求,并发送给目标服务器。HTTP请求中包含请求方法(GET、POST等)、请求头(headers)、请求体(body)等信息。(4)处理服务器响应:爬虫接收到目标服务器返回的 HTTP 响应,并根据响应的状态码和内容进行处理。常见的响应状态码有 200 表示成功,404 表示页面不存在等。(5)页面分析和信息提取:爬虫对服务器返回的 HTML

16、页面进行解析和分析,根据页面分析技术提取出所需的信息,如文字、链接、图片等。(6)数据存储:将提取的信息进行存储,可以选择合适的存储方式,如文本文件、数据库等。(7)循环迭代:根据需要,爬虫可以设置循环迭代的逻辑,不断发送 HTTP 请求,抓取多个页面的信息,还可以通过设置抓取深度、时间间隔等方式进行控制。2.2 目标指纹识别技术面向特定目标的指纹识别技术主要利用基于字符串匹配的识别技术和基于机器学习的识别技术,对前面的爬虫收集的 HTTP 响应数据集进行处理分析,从而识别目标的深度指纹信息。2.2.1 基于字符串匹配识别(1)原理基于字符串匹配目标指纹识别技术是一种通过字符串匹配来识别目标的

17、技术。它在文本、代码、日志等数据中查找指定的字符串,从而实现目标的定位和识别。基于字符串匹配的目标指纹识别技术的原理主要包括以下几个方面。字符串匹配算法:字符串匹配算法是基于目标字符串和待搜索字符串之间的比较,从而确定是否存在匹配的子串。常见的字符串匹配算法包括暴力匹配法、KMP(Knuth-Morris-Pratt)算法、BM(Boyer-Moore)算法等。本文通过 KMP 算法实现字符串匹配和目标识别。目标定义和关键词提取:在使用字符串匹配目标识别技术之前,需要明确目标的定义和关键词的提取。目标可以是一个特定的字符串,也可以是一组字符串的组合。关键词提取是通过文本分析和数据挖掘技术,从大

18、量的文本数据中提取出与目标相关的关键词,用于目标识别和匹配。输入数据预处理:在进行字符串匹配目标识别之前,通常需要对输入数据进行预处理。这包括去除无关字符、转换大小写、分割文本等操作。预处理可以提高匹配效率和准确性,减少干扰和误判。匹配模式设计:匹配模式设计是指设计和实现匹配规则和模式,对目标字符串进行匹配。匹配模式可以是简单的字符串匹配,也可以是模式匹配、正则表达式匹配等更复杂的匹配方法。根据目标的特征和匹配的需求,选择合适的匹配模式进行目标识别。目标识别和处理:基于字符串匹配的目标识别技术可以通过扫描输入数据,并根据预先定义好的匹配模式和关键词,检测出目标的位置和存在。一旦识别出目标,就可

19、以进行后续的处理,如记录日志、生成报告、触发事件等。(2)实验验证爬虫所爬取的数据如图 2 所示。通过字符串匹配可识别出为 Drupal 的 CMS 系统,如图 3 所示。图 2 爬虫数据1085第 56 卷第 9 期贺彦钧,朱磊,黄炜:基于机器学习的应用系统深度指纹识别技术及应用图 3 字符串匹配识别2.2.2 基于机器学习的指纹识别(1)朴素贝叶斯算法原理贝叶斯算法主要用于对目标进行分类,其算法思想主要基于贝叶斯原理,关键在于计算各类值之间的数据联合分布4。由于朴素贝叶斯是假定贝叶斯模型中的所有属性都是相对独立的,因此在属性具有特定值的条件下,可以通过将所有属性乘以具有特定类标签的概率来获

20、得类的概率值,是一种有监督学习算法5。计算流程如下文所述。步骤 1:计算特征值y被分类为xi类别的后验概率p(xi|y):(|)(|)()iipxp xp=yyy(1)式中:p(xi)和p(y)为xi和y特征值的先验概率。最大化p(y|xi)可以实现分类的目的。步骤 2:已知 HTTP 指纹特征y包含n维特征向量,则y可表示为y=(y1,y2,yn),结合公式(1)可知:12112()(|,)(|)(,)niinkiknp xp xpxp=y yyyy yy?(2)步骤 3:将公式(2)中的p(xi)和p(y1,y2,yn)看作常量,则可简化为:1argmax(|)nfkikxpx=y(3)式

21、中:xf为指纹样本y的分类结果。(2)特征选取指纹特征输入到贝叶斯模型前,需要将响应内容从不同的特征维度进行表示,以便贝叶斯模型能够学习到响应内容的特征6-7。本文主要从响应内容的 4 个特征维度进行考量,具体特征维度如 表 1 所示。表 1 选取的特征维度特征维度特征表示符特征字段位置特征flocal响应状态码fcodeSet-cookiefcookie文件路径特征fpath(3)归一化HTTP 请求特征和 URL 特征在数据分布区间上存在差异,容易导致模型训练不收敛,因此采用公式(4)对特征向量进行归一化:minmaxminxxyxx=(4)式中:y为归一化后的特征元素;x为待归一化的特征

22、元素;xmax和xmin分别为特征元素的最大值和最小值。(4)算法流程步骤 1:通过 URL 地址发送请求,并获取返回的响应信息。步骤 2:对响应信息的 3 个特征维度进行特征编码,并且对数据进行归一化处理。步骤 3:将归一化后的数据向量作为贝叶斯模型的输入,输出结果即为预测结果。预测流程如图 4 所示。图 4 预测流程(5)实验验证由 于 Apache、Joomla!、Typeo、Drupal 等 每个软件的特性都略有不同,将它们组合起来进行识别。朴素贝叶斯利用训练数据学习。与签名库不同的是,当无法在一个特性中识别软件时,朴素贝叶斯是基于HTTP响应中包含的各种特性随机识别的,如图 5 可以

23、识别为 CMS Joomla 系统。这是因为机器学习识别模块学会了Joomla的特征,例如“Cookie名称(f00e6.9831e)”和“Cookie值(0eba9.7f587)”。在本文的数据分析中,Joomla 在许多情况下使用 32个小写字母作为 Cookie 名称和 Cookie 值。训练数1086通信技术2023 年据如图 6 所示。图 5 响应 set-cookie 值图 6 训练数据基于机器学习指纹识别实验获取的目标数据如图 7 所示,包括产品名称、产品版本、组件名、操作系统版本。2.3 目标安全缺陷利用技术Metasploit是一个被广泛使用的安全测试工具,它可以帮助安全专业

24、人员发现和利用计算机系统中的安全漏洞。它拥有强大的功能和广泛的支持,可以帮助用户从安全测试者的角度来检测和修复系统漏洞。基于机器学习的指纹识别软件在安全测试中的作用是识别目标系统的运行环境。通过分析系统的响应和标识信息,目标指纹识别软件可以确定目标系统使用的操作系统、服务和软件版本等重要信息。这些信息对于成功利用系统漏洞至关重要,因为不同的操作系统和服务可能存在不同的 漏洞。本 文 通 过 基 于 机 器 学 习 指 纹 识 别 软 件 与Metasploit 工具配合执行,检查被测目标是否受到漏洞的影响,来自动化实现目标安全缺陷利用,如图 8 所示。图 7 基于机器学习的指纹识别数据结果图

25、8 应用思路整体应用思路过程如下文所述。(1)数据收集:机器学习指纹识别软件通过扫描目标系统收集关键特征数据,如操作系统版本、软件配置等。(2)特征提取和训练:收集到的特征数据被提供给机器学习算法进行训练。这个训练过程会建立一个指纹库,其中包含已知的漏洞特征和与之相应的利用。(3)特征匹配:在执行利用之前,使用指纹识别软件对目标系统进行扫描,并提取目标系统的特征;然后,与指纹库中已知的漏洞特征进行匹配,如果匹配成功,就意味着目标系统可能存在与已知漏洞对应的安全缺陷。(4)目标缺陷利用:机器学习指纹识别软件通过 Metasploit 框架的远程过程调用(Remote Procedure Call

26、,RPC)服务与 Metasploit 工具进行通信连接,实现安全测试流程自动化。一旦匹配到目标系统的漏洞,Metasploit 框架可以根据匹配结果自动选择相应的漏洞利用模块进行测试。这样,目标缺陷利用的过程可以自动化和精确地执行。将 Metasploit 和基于机器学习的指纹识别软件结合使用,可以提高安全测试的效率和成功率。首先,Metasploit 通过使用模块来实现对目标系统的漏洞利用。Metasploit拥有大量的模块,包括扫描器、漏洞利用器、Payload 生成器等。用户可以根据目标系统的特点选择相应的模块进行测试和利用。其1087第 56 卷第 9 期贺彦钧,朱磊,黄炜:基于机器

27、学习的应用系统深度指纹识别技术及应用次,Metasploit 可以根据目标指纹识别软件提供的信息选择适当的模块进行漏洞测试和利用。例如,如果目标系统被识别为运行着一个特定版本的 Web服务器软件,Metasploit 可以选择相应的漏洞利用模块来检测和利用该软件版本的安全漏洞。同样重要的是,Metasploit 还可以使用 Payload 生成器来生成定制的载荷。用户可以根据目标系统的特点选择合适的 Payload 生成器来生成特定的载荷,以实现对目标系统的完全控制。目标安全缺陷利用验证效果见图 9。图 9 目标安全缺陷验证效果综上所述,这种结合使用的目标安全缺陷利用方法可以帮助安全测试人员更

28、准确、高效地对目标系统进行评估和测试。3 结 语基于机器学习的应用系统深度指纹识别技术是面向信息安全测试领域的智能安全测试技术。本文在深入研究信息收集爬虫技术和基于机器识别的指纹识别技术的基础上,实现了相关功能模块,结合基于 Metasploit 的目标安全缺陷利用实现,进行实网目标测试实验,提高了互联网目标安全测试的效率和成功率,且实验验证结果符合预期。参考文献:1 闫淑筠,王文杰,张玉清.一种有效的 Web 指纹识别方法 J.中国科学院大学学报,2016,33(5):679-685.2 ABDULLA A A A.击败HTTP指纹识别技术D.长春:吉林大学,2012.3 张红云.基于页面分

29、析的主题网络爬虫的研究 D.武汉:武汉理工大学,2010.4 李琪阳,董雷.基于朴素贝叶斯的物联网设备指纹算法 J.电子设计工程,2021,29(21):155-158.5 李思奇,吕王勇,陈雯,等.基于属性约简的加权朴素贝叶斯分类算法 J.四川师范大学学报(自然科学版),2023,46(4):532-539.6 张锦.两阶段增强朴素贝叶斯分类器 D.昆明:云南财经大学,2023.7 魏旭.基于特征融合和机器学习的恶意网页识别研究 D.南京:南京邮电大学,2020.作者简介:贺彦钧(1983),男,硕士,高级工程师,主要研究方向为网络安全;朱 磊(1986),男,硕士,工程师,主要研究方向为网络对抗;黄 炜(1995),男,硕士,助理工程师,主要研究方向为人工智能。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服