[toc]

比如说,在WEB扫描器场景中。一个扫描器在扫描过程中,它可以自动识别接口类型并采用相应分类规则进行漏洞检测的算法,这种通常属于一种称为"智能扫描"(Intelligent Scanning)或"漏洞扫描引擎"的技术。

这些算法利用机器学习、深度学习和模式识别等技术,通过分析网络流量、响应内容、请求参数等信息,来自动识别接口类型,并据此去选择相应的漏洞检测规则。

这些算法通常包括以下步骤:

  1. 数据收集:收集目标系统的网络流量、响应数据、请求参数等信息。

  2. 特征提取:从收集到的数据中提取特征,例如请求方法、URL结构、响应头信息等。

  3. 接口分类:基于提取到的特征,将接口进行分类,例如HTTP接口、RESTful接口、SOAP接口等。

  4. 规则匹配:针对每种接口类型,使用相应的漏洞检测规则集进行匹配,以判断接口是否存在漏洞。

  5. 漏洞报告:生成漏洞报告,指出发现的漏洞类型、严重程度以及建议的修复措施。

这种智能扫描技术能够提高漏洞扫描的效率和准确性,使得扫描器能够更快速地识别潜在的安全风险,并帮助安全团队及时进行漏洞修复。

问题 Question:

如何能自动识别一个接口是什么类型?然后能识别他属于什么分类,采用该分类里的规则去发包判断这个接口是否有漏洞?

智能扫描技术通常使用多种方法和算法来识别接口类型,以下是其中一些可能使用的技术和算法:

  1. 正则表达式匹配:通过预先定义的正则表达式模式,对请求的URL或响应内容进行匹配,以识别特定类型的接口。

  2. 特征提取和分析:对请求和响应数据进行特征提取,例如HTTP请求方法、URL路径结构、请求头信息、响应状态码等。然后使用这些特征来判断接口类型。

  3. 机器学习:使用机器学习算法,例如支持向量机(SVM)、决策树、随机森林等,通过对大量数据进行训练,识别出接口类型。这些算法可以根据历史数据的模式来学习,然后对新的数据进行分类。

  4. 深度学习:利用深度神经网络等深度学习技术,对请求和响应数据进行分析和学习,从而识别接口类型。深度学习模型能够学习到更复杂的特征和模式,从而提高识别准确性。

  5. 模式识别:利用模式识别技术,例如基于模式匹配的方法,来识别接口的类型。这种方法通过识别特定的模式或结构来判断接口类型。

以上这些方法通常会结合使用,以提高接口类型识别的准确性和可靠性。算法的选择取决于数据的特点、需求和可用资源等因素。

机器学习分类算法介绍

机器学习分类(Classification)是监督学习的一种重要任务,其目的是根据输入数据的特征,将其归类到事先定义好的类别或标签中。

在Web扫描器中应用机器学习分类算法,可以自动识别请求、响应数据属于哪种类型的接口或漏洞。

机器学习分类一般包括以下几个步骤:

  • 数据收集和标注

    收集大量真实的请求/响应数据,并由人工或其他方式对其进行标注,即确定每个数据属于哪一类接口或漏洞类型。

  • 特征工程

    从原始数据中提取对于分类任务有意义的特征,如URL路径、参数名、请求头、响应正文等。设计好的特征对最终的分类性能至关重要。

  • 模型选择和训练

    选择合适的分类算法,如决策树、逻辑回归、支持向量机、神经网络等。使用标注好的数据对模型进行训练,使其能从特征中学习不同类别的模式。

  • 模型评估

    在保留的测试数据上评估模型的分类性能,根据准确率、召回率、F1分数等指标衡量模型的好坏。

  • 模型调优和上线

    通过调整算法参数、特征等方式优化模型性能。当性能达标后,可将模型部署到线上系统,对新的未知数据进行自动分类。

常见的分类算法有:

  • 朴素贝叶斯
  • 逻辑回归
  • 决策树
  • 随机森林
  • 支持向量机
  • 神经网络等。
  • ...

近年来,深度学习技术在分类任务上取得了很好效果。

Reference

一文读懂机器学习分类算法(附图文详解)

https://zhuanlan.zhihu.com/p/82114104

分类算法(Classification Algorithm)需求记录的更多相关文章

  1. 算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)

    算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification) 0.写在前面的话 我个人一直很喜欢算法一类的东西,在我看来算法是人类智慧的精华,其中蕴含着无与伦比 ...

  2. 分类算法之朴素贝叶斯分类(Naive Bayesian classification)

    分类算法之朴素贝叶斯分类(Naive Bayesian classification) 0.写在前面的话 我个人一直很喜欢算法一类的东西,在我看来算法是人类智慧的精华,其中蕴含着无与伦比的美感.而每次 ...

  3. (ZT)算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)

    https://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html 0.写在前面的话 我个人一直很喜欢算 ...

  4. 分类算法之朴素贝叶斯分类(Naive Bayesian classification)

    1.1.摘要 贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类.本文作为分类算法的第一篇,将首先介绍分类问题,对分类问题进行一个正式的定义.然后,介绍贝叶斯分类算法的基 ...

  5. [分类算法] :SVM支持向量机

    Support vector machines 支持向量机,简称SVM 分类算法的目的是学会一个分类函数或者分类模型(分类器),能够把数据库中的数据项映射给定类别中的某一个,从而可以预测未知类别. S ...

  6. Netflix工程总监眼中的分类算法:深度学习优先级最低

    Netflix工程总监眼中的分类算法:深度学习优先级最低 摘要:不同分类算法的优势是什么?Netflix公司工程总监Xavier Amatriain根据奥卡姆剃刀原理依次推荐了逻辑回归.SVM.决策树 ...

  7. KNN分类算法及python代码实现

    KNN分类算法(先验数据中就有类别之分,未知的数据会被归类为之前类别中的某一类!) 1.KNN介绍 K最近邻(k-Nearest Neighbor,KNN)分类算法是最简单的机器学习算法. 机器学习, ...

  8. Spark-Mllib中各分类算法的java实现(简易教程)

    一.简述 Spark是当下非常流行的数据分析框架,而其中的机器学习包Mllib也是其诸多亮点之一,相信很多人也像我那样想要快些上手spark.下面我将列出实现mllib分类的简明代码,代码中将简述训练 ...

  9. 分类算法之贝叶斯(Bayes)分类器

    摘要:旁听了清华大学王建勇老师的 数据挖掘:理论与算法 的课,讲的还是挺细的,好记性不如烂笔头,在此记录自己的学习内容,方便以后复习.   一:贝叶斯分类器简介 1)贝叶斯分类器是一种基于统计的分类器 ...

  10. 数据挖掘之分类算法---knn算法(有matlab例子)

    knn算法(k-Nearest Neighbor algorithm).是一种经典的分类算法.注意,不是聚类算法.所以这种分类算法 必然包括了训练过程. 然而和一般性的分类算法不同,knn算法是一种懒 ...

随机推荐

  1. open cv java 可以 对图片进行分析,得到数据。考试答题卡 2B铅笔涂黑嘎达 识别

    open cv java 可以 对图片进行分析,得到数据.考试答题卡 2B铅笔涂黑嘎达 识别

  2. 基于C语言的串口AT指令发送实例解析

    一 知识点 1 AI指令后面一定要加 \n\r 2 注意AT指令里面待双引号的这种,要使用斜杠隔开. 二 源码: void Set_Pdu_Mode(void) { u8 a = 1; if(atKe ...

  3. crc16校验C语言源码实例解析

    一 概念: 循环冗余码校验英文名称为Cyclical Redundancy Check,简称CRC.它是利用除法及余数的原理来作错误侦测(Error Detecting)的.实际应用时,发送装置计算出 ...

  4. 基于BES2300芯片的开源DSP开发平台简述

    一 什么是开源DSP平台 所谓的开源DSP平台,就是软硬件全部开发接口,开发者可以在上面做DSP算法验证和算法开发.基于目前科研机构缺少开源的微型数字信号处理的情况,我们把bes2300的代码做了优化 ...

  5. 一个简单的RTMP服务器实现 --- RTMP复杂握手(Complex Handshake)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  6. 【LeetCode刷题】239.滑动窗口最大值

    239.滑动窗口最大值(点击跳转LeetCode) 给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口内的k个数字.滑动窗口每次只向右移动一位. ...

  7. 关于tomcat容器抛出的异常解决方案之一

    1,描述 问题类型:调试信息泄露 如: 现要求:前端页面不显示调试信息. 解决方案: 替换默认的tomcat <dependency> <groupId>org.springf ...

  8. KingbaseES V8R6集群运维案例---数据块故障自动修复(auto_bmr)

    案例说明: 在Oracle11.2版本之后,DataGuard 若搭建实时应用日志的物理备库,那么在主库数据文件少 量坏块的情况下,可以利用ABCR技术快速修复坏块. Starting in Orac ...

  9. #分块,懒标记#LOJ 3631「2021 集训队互测」学姐买瓜

    题目传送门 分析 有一个很简单的做法就是处理出每个位置能够一次到达的最左边的右端点(后继). 然后直接从 \(l\) 开始能跳就跳,这样单次询问时间复杂度是 \(O(n)\) 的. 观察到时间复杂度因 ...

  10. #矩阵乘法,斐波那契#洛谷 2544 [AHOI2004] 数字迷阵

    题目 分析 oeis找规律得到第一列和第二列的通项公式,然后矩阵乘法 代码 #include <cstdio> #include <cctype> #include <c ...