
Web安全之机器学习入门
文章平均质量分 87
mooyuan天天
网络安全领域
展开
-
《Web安全之机器学习入门》笔记:第十七章 17.4 CNN识别垃圾邮件
本小节通过实例讲述CNN识别垃圾邮件的方法。CNN(卷积神经网络)是一种专门为处理具有网格结构数据(如图像、音频)设计的深度学习模型。它通过卷积层自动提取数据的局部特征,利用池化层降低数据维度、减少计算量,再由全连接层完成分类或回归任务。因其权值共享、局部连接的特性,有效减少了模型参数数量,降低过拟合风险。广泛应用于图像识别、目标检测、语义分割等领域,是计算机视觉领域的核心技术。原创 2022-02-03 18:34:04 · 1282 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十七章 17.3 CNN识别恶意评论
本小节通过CNN识别恶意评论,可以对比之前16.3章节做效果对比。从结果可知,CNN准确率为66.79%,根据之前章节16.3的测试结果NB仅49.37%,RNN是61.88%,稍微好点。本小节通过CNN识别恶意评论,可以对比之前16.3章节做效果对比。数据集按照6:4的比例生成训练集和测试集,源码如下。相关数据集处理方法可参考16.3节笔记。原创 2022-02-02 14:44:14 · 378 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十七章 17.2 卷积神经网络CNN识别验证码
本小节通过tflearn库的CNN算法来识别验证码,由于本书多篇章节讲解MNIST图集的识别算法,故而本节主要重点关注在CNN的使用方法。1、数据集特征化X, Y, testX, testY = mnist.load_data(one_hot=True)X = X.reshape([-1, 28, 28, 1])testX = testX.reshape([-1, 28, 28, 1])X, mean = du.featurewise_zero_center(X)testX = .原创 2022-02-02 17:00:03 · 222 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十六章 16.7 识别异常操作
本小节通过RNN识别异常操作。RNN识别异常的流程图如下所示,首先,训练操作命令块分别进行词集化处理和序列化处理,转化为操作命令序列。一部分操作命令序列结合标记用于 RNN 训练;另一部分操作命令序列输入到已训练好的 RNN 分类器中,最终由 RNN 分类器输出标记,实现对操作命令的分类。原创 2022-02-02 14:15:14 · 242 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十六章 16.6 生成常用密码
人们在设置密码时候,总是倾向于好记的密码,于是常见的密码有一定的关联性。我们可以尝试让RNN学习常见的密码,摸索其中的规律,然后自动生成密码。本小节示例RNN生成常用密码。原创 2022-02-02 15:53:46 · 258 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十六章 16.5 识别WebShell
本小节基于ADFA_LD数据集通过RNN优化算法LSTM识别WebShell来示例RNN如何应用在网络安全中。原创 2022-02-02 13:27:29 · 432 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十六章 16.4 生成城市名称
RNN具有记忆性,经过训练可以学习到时间序列数据的潜在规律,并可以结余这种规律随机生成新的序列。本例通过将美国现有城市录入RNN,RNN学到城市名称的潜在规律后,随机生成新的城市名称。下图为全美棒球联盟的队徽,几乎每个城市都有自己的棒球队,并且会以城市的名称命名棒球队。1、数据清洗与特征化数据集文件位于../data/US_Cities.txt中数据处理代码逻辑如下path = "../data/US_Cities.txt"maxlen = 20...原创 2022-02-02 13:14:20 · 749 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十六章 16.3 恶意评论识别(二)
本节通过基于 NB(朴素贝叶斯)或 RNN(循环神经网络)模型进行电影评论情感分类。对于待分类的普通评论,同样先经词袋模型特征化得到特征向量,再输入到已训练好的 NB/RNN 模型中进行分类,最终输出分类标签,判断评论是正面还是负面,具体处理流程图如下所示。数据集的位置:../data/movie-review-data/review_polarity/txt_sentoken/pos/RNN模型主要完成了使用循环神经网络(RNN)进行分类任务的整个流程,包括数据预处理、网络构建和模型训练。原创 2022-02-02 12:14:57 · 842 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十六章 16.3 恶意评论识别(一)
本小节通过RNN识别恶意评论。1、数据集获取本小节通过Movie Review Data数据集(共1000条正面评论、1000条负面评论)来识别恶意评论。# IMDB Dataset loadingtrain, test, _ = imdb.load_data(path='imdb.pkl', n_words=10000, valid_portion=0.1)trainX, trainY = traintestX, te原创 2022-02-02 11:55:47 · 463 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十五章 16.2 DNN和RNN识别验证码
本小节通过tflearn库的RNN算法来识别验证码,对比了DNN与RNN两种算法的准确率。原创 2022-02-02 11:29:13 · 906 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十五章 15.7与15.8 TensorFlow识别垃圾邮件
系列目录本小节通过识别垃圾邮件,讲解tensorflow通过神经网络DNN在网络安全方向的应用,同时还对比了NB算法的垃圾邮件识别效果。原创 2022-02-02 10:34:08 · 1153 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十五章 15.6 TensorFlow DNN识别验证码(三)
本小节通过DNN识别验证码(MNIST数据集)1、DNN原理示意图2.定义DNN这里配置隐藏层共3层,使用relu函数n_hidden_1 = 300n_hidden_2 = 200n_hidden_3 = 100n_input = 784n_classes = 10x = tf.placeholder("float",[None,784])y = tf.placeholder("float",[None,n_classes])def multilayer_perc原创 2022-02-03 18:36:52 · 652 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十五章 15.5 TensorFlow多层感知机识别验证码(二)
本章节根据《Web安全之机器学习入门》第15章神经网络来完成笔记,本小节相对于15.4节,使用多层感知机来进行处理验证码。原创 2022-02-03 18:36:21 · 730 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十五章 15.4 TensorFlow识别验证码(一)
系列目录本章节根据《Web安全之机器学习入门》第15章神经网络来完成笔记,本小节目标是通过实例展示如何使用tensorflow识别验证码(MNIST图像)。原创 2022-02-03 18:35:18 · 606 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十四章 14.4 神经网络算法检测JAVA溢出攻击
本小节是示例如何通过神经网络检测Java溢出攻击,工作原理如下。原创 2022-02-03 19:02:34 · 569 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十四章 14.3 神经网络 识别验证码
本小节是通过示例如何通过神经网络识别验证码(mnist数据集)。原创 2022-02-03 19:02:05 · 529 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十三章 13.7 知识图谱在威胁情报领域的应用
本小节通过挖掘后门文件的潜在联系和域名的潜在练习,讲解知识图谱在威胁情报领域的应用。原创 2022-02-04 08:24:18 · 436 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十三章 13.6 知识图谱在风控领域的应用
同时,基于知识图谱的推理能力,可分析潜在风险传导路径,提前预警。其可视化呈现方式,也便于风控人员直观理解复杂关系,辅助决策,提升风控的精准性与效率,有效降低金融机构的潜在损失。传统的风控策略主要基于模型和策略,这在传统行业已然有着很大的市场,但是在互联网环境下,职业的黑产团伙以及各种羊毛党的加入,传统的风控策略已经大打折扣。它将海量信息结构化,通过节点表示实体,边描述实体间联系,涵盖文本、图像等多源数据。可用于智能搜索、推荐系统、风控分析等领域,帮助挖掘数据关联,实现知识推理,提升信息处理与决策能力。原创 2022-02-04 08:23:11 · 1224 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十三章 13.5 知识图谱 hello word
本节讲解知识图谱(Knowledge Graph)示例应用,主要是挖掘数据的潜在联系与价值,被称为知识域可视化或知识领域映射地图。它是显示知识发展进程与结构关系的一系列各种不同的图形,用可视化技术描述知识资源及其载体,挖掘、分析、构建、绘制和显示知识及它们之间的相互联系import networkx as nximport matplotlib.pyplot as pltdef helloWord(): G = nx.Graph() G.add_node("u1") G.原创 2022-02-04 08:17:26 · 1562 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十三章 13.4 有向图识别僵尸网络
本小节通过有向图识别僵尸网络来示例网络安全领域的应用。一、僵尸网络上图为黑产控制僵尸网络发起攻击的示意图,通常来说黑产会对整个僵尸网络的僵尸主机发布相同的控制指令,所以通过统计一段时间内攻击源的ip地址以及被攻击者域名之间的关联关系,可以初步判断出哪些IP地址可能被同一黑产团体控制。本小节中,僵尸网络的有向图处理如下所示:二、数据集文件位置:filename="../data/etl-ip-domain-train.txt"脱敏函数with open(file原创 2022-02-04 08:18:35 · 752 阅读 · 1 评论 -
《Web安全之机器学习入门》笔记:第十三章 13.3 有向图识别WebShell
本小节示例有向图识别WebShell。有向图是一种由顶点(也称为节点)和有向边组成的图形结构。其中,每条边都有一个方向,从一个顶点指向另一个顶点,这表示了顶点之间的某种单向关系。例如,在一个表示网络中数据流向的有向图中,顶点可以代表不同的网络设备或节点,有向边则表示数据从一个设备流向另一个设备的方向。原创 2022-02-15 21:29:12 · 1824 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十三章 13.2 有向图 hello world
Neo4j 是一款开源的图数据库管理系统,以属性图为数据模型,用节点表示实体,边表示实体间关系,属性则存储相关数据。通过直观的图形化界面,用户能方便地进行数据可视化和操作。其查询语言 Cypher 简洁易懂,可高效处理复杂的图数据查询和分析任务。Neo4j 在社交网络分析、知识图谱、推荐系统等领域应用广泛,能帮助企业快速处理和理解复杂的关系型数据,为决策提供有力支持。注意:auth中第二个参数为在第一步安装过程中配置的密码7474。在安装成功后,会让修改密码,我直接将密码改为了7474。原创 2022-02-15 21:04:19 · 1633 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十二章 12.5 隐式马尔可夫算法识别DGA域名
DGA 域名是指通过特定的算法动态生成的域名,这些算法通常基于时间、计数器或其他随机因素。恶意软件利用 DGA 域名来定期生成大量的域名,其中只有少数几个域名会被用于实际的恶意通信,而其他域名则作为诱饵或备用,增加了检测和防范的难度。原创 2022-02-04 08:21:51 · 457 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十二章 12.4 隐式马尔可夫算法识别XSS攻击(二)
本小节示例另一种马尔可夫识别XSS攻击的方法。马尔可夫模型在 XSS(跨站脚本攻击)检测主要通过分析输入字符串的字符序列概率分布,识别异常模式(如恶意脚本片段)。原创 2022-02-03 19:54:45 · 1010 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十二章 12.3 隐式马尔可夫算法识别XSS攻击(一)
本小节通过使用隐式马尔可夫来识别XSS攻击,示例隐式马尔可夫在网络安全中的使用。1、参数建模2、数据处理与特征提取3、训练模型4、模型验证5、完整代码原创 2022-02-03 19:53:20 · 1080 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十二章 12.2 隐式马尔可夫 hello world
通过建立马尔可夫模型,学习正常域名的字符转移概率,然后将待检测域名与模型进行对比,计算其属于正常域名或 DGA 域名的概率,从而识别出潜在的恶意域名。通过构建一个高斯隐马尔可夫模型(GaussianHMM),并手动设置模型的参数(初始状态概率、状态转移矩阵、均值和协方差矩阵),然后从该模型中生成 500 个样本,最后将这些样本数据绘制出来,并标注每个状态的位置。:马尔可夫模型的状态完全可见,而HMM的状态是隐藏的,需通过观测数据反推。(当前状态仅依赖前有限个状态)的随机过程,常用于序列建模。原创 2022-02-04 08:20:53 · 244 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十一章 11.6 Fp-growth算法挖掘僵尸主机
目前互联网中有大量僵尸主机进行探测扫描行为,这些僵尸主机为了避免被安全设备检测到,通常会频繁更换IP地址,故而很难仅仅只通过ip地址就确定僵尸主机。本小节通过使用FP-growth算法,分析防火墙的拦截日志,挖掘出浏览器的user-agent字段和被攻击的目标url之间的关联关系,来初步确定潜在的僵尸主机。FP-Growth(Frequent Pattern Growth,频繁模式增长)算法是一种用于高效发现数据集中频繁项集的算法,由Jiawei Han等人在2000年提出。原创 2022-02-01 20:49:09 · 345 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十一章 11.5 Fp-growth算法 hello world
本系列是《Web安全之机器学习入门》的笔记集合,包含书中第五章-第十七章的内容。本小节示例FP-growth算法的基本使用方法,FP-growth算法主要应用在推荐系统,用于挖掘出数据关联规则的算法。原创 2022-02-01 19:49:55 · 1834 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十一章 11.3 Apriori算法挖掘XSS相关参数
本系列是《Web安全之机器学习入门》的笔记集合,包含书中第五章-第十七章的内容。通常情况下Apriori算法主要用于推荐系统,在网络安全中如何使用呢?本小节讲解下Apriori算法挖掘XSS相关参数。原创 2022-02-01 20:20:04 · 621 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十一章 11.2 Apriori算法 hello world
本系列是《Web安全之机器学习入门》的笔记集合,包含书中第五章-第十七章的内容。本小节示例Apriori算法的基本使用方法,apriori算法主要应用在推荐系统,用于挖掘出数据关联规则的算法,它用来找出数据值中频繁出现的数据集合,找出这些集合的模式有助于我们做一些决策。原创 2022-02-01 12:33:30 · 895 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十章 10.5 DBSCAN hello world
本小节通过生成的聚类数据集,使用DBSCAN方法进行分类,并将其可视化。数据集的生成 centers = [[1, 1], [-1, -1], [1, -1]] X, labels_true = make_blobs(n_samples=750, centers=centers, cluster_std=0.4, random_state=0) X = StandardScaler().fit_transform原创 2022-02-01 11:48:34 · 219 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第十章 10.3 K-Means算法检测DGA域名
DGA域名指僵尸网络通过算法生成的随机性较高的域名,此类域名往往被攻击者用于构建自己的恶意软件基础设施,用于绕过安全产品的黑名单,从而规避安全设备的拦截以建立C2链接或DNS通道传输。1.数据集: 本小节使用alexa前1000域名(679个样本:label标记为0)作为白样本,使用dga-cryptolocker(1000个样本:label标记为1)和dga-tovar-goz(1000个样本:label标记为2)做为黑样本.def load_alexa(filename):...原创 2022-02-01 11:25:03 · 1030 阅读 · 1 评论 -
《Web安全之机器学习入门》笔记:第十章 10.2 K-Means hello world
本系列是《Web安全之机器学习入门》的笔记集合,包含书中第五章-第十七章的内容。本文这一小节主要内容是讲解第10章使用K-MEANS算法的基本用法,本小节是通过生成的聚类数据集,使用K-means方法进行分类,并将其可视化。原创 2022-02-01 01:34:56 · 251 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第九章 9.4 支持向量机算法SVM 检测DGA域名
DGA(Domain Generation Algorithm)域名生成算法是一种利用随机字符等算法来生成C&C域名,从而逃避安全设备域名黑名单检测的技术手段。1.黑样本def load_dga(filename): domain_list=[] #xsxqeadsbgvpdke.co.uk,Domain used by Cryptolocker - Flashback DGA for 13 Apr 2017,2017-04-13, # http://osint..原创 2022-02-01 00:33:01 · 1127 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第九章 9.3 支持向量机算法SVM 检测XSS攻击
本文这一小节主要内容是讲解第8章使用SVM算法的基本用法,本小节使用svm检测XSS攻击,数据集是通过网上搜集的php脚本数据集合。支持向量机SVM(support vector machines)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。对于数据集文件,每项提取出四个特征,分别是:url长度、url中包含的第三方域名的个数、敏感字符的个数、敏感关键字的个数。原创 2022-02-01 00:35:10 · 915 阅读 · 1 评论 -
《Web安全之机器学习入门》笔记:第九章 9.2 支持向量机SVM hello world
本系列是《Web安全之机器学习入门》的笔记集合,包含书中第五章-第十七章的内容。本文这一小节主要内容是讲解第8章使用逻辑回归算法的基本用法,本小节是通过随机创建40个点,构造超平面,使用svm处理并分类。原创 2022-02-01 00:34:36 · 427 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第八章 8.4 逻辑回归算法识别mnist验证码
本系列是《Web安全之机器学习入门》的笔记集合,包含书中第五章-第十七章的内容。本文这一小节主要内容是讲解第8章使用逻辑回归算法的基本用法,本小节是通过使用逻辑回归算法对mnist数据集的数字识别,效果只能说勉强凑合,不过比7.8节的nb算法好一些原创 2022-01-31 13:50:28 · 311 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第八章 8.3 逻辑回归算法检测Java溢出攻击
本小结是基于ADFA-LD数据集使用逻辑回归算法检测JAVA溢出攻击。 1.数据集原创 2022-01-31 12:49:50 · 893 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第八章 8.2 逻辑回归hello world
系列目录本系列是《Web安全之机器学习入门》的笔记集合,包含书中第五章-第十七章的内容。本文这一小节主要内容是讲解第8章使用逻辑回归算法的基本用法,本小节主要内容是用鸢尾花数据集来作为实验数据集讲解逻辑回归的基本用法。原创 2022-01-31 12:15:50 · 574 阅读 · 0 评论 -
《Web安全之机器学习入门》笔记:第七章 7.8 朴素贝叶斯识别验证码
本系列是《Web安全之机器学习入门》的笔记集合,包含书中第五章-第十七章的内容。本文这一小节主要内容是讲解第7章使用朴素贝叶斯识别验证码的基本用法,不过效果一般般。原创 2022-01-31 11:50:12 · 539 阅读 · 0 评论