论文笔记集 DeepLearning for Web Attack Detection

Posted on Tue 13 April 2021 in AIForSecurity • Tagged with waf, NetworkSecurity, MachineLearning, Security • 2 min read

在zeroWall一文中, 已经简单介绍了利用机器学习辅助Waf的方法. 实际上zeroWall一文所述的领域即网络攻击检测(web attack dection). 这里简述一些阅读过的但整体方法不够有启发性或实验不够solid的论文.

Anomaly-Based Web Attack Detection: A Deep Learning Approach

本文认为一组URL可以规范化为如下形式, 即abs_path表示资源地址, 而query总是跟在"?" 标记之后

"http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

首先将一组URL经过序列化后分为两个部分: URL本身(图中表示为全部URL, 但按照文章所表述的URL Path 应该不含query部分)以及Query部分, 见图1.

图一

随后将两组数据经过分词之后分别传入两个RNN结构(两层的GRU或LSTM)的神经网络以及计算其异常概率, 最后将所有的输出汇总(文中并未给出使用何种方式汇总两组RNN给出的多组异常概率)并输出给一MLP层作为最终的异常概率. 见图二

图二

实验环节, 本文使用HTTP CISC数据集进行测试, 其结果如图三所示

图三

结论

基于有监督的异常检测的泛化性是一个比较严重的问题, 而且本文因为工作量的较大原因仅处理了HTTP GET的请求, 在网络攻击中POST等其他提交数据的请求同样是十分危险的 …


Continue reading

论文笔记集 Statistical Learning for Web Attack Detection

Posted on Sat 10 April 2021 in AIForSecurity • Tagged with waf, NetworkSecurity, MachineLearning, Security • 2 min read

上一文种主要介绍一些基于深度学习的网络攻击检测论文, 这里则主要介绍一些基于传统机器学习(统计学习)的论文.

An adaptive system for detecting malicious queries in web attacks

本文时一篇基于统计学习的网络攻击检测论文. 本文基于自适应学习策略以及利用SS(suspicion selection)和ES(exemplary selection)改进SVM算法来进行有监督的网络攻击检测任务. 本文的架构如下图一所示 图一

Method

根据架构图, 本文的架构相对来说比较简单. 相对来说, 重点在于SS, ES以及对SVM的改进. 下面对一些术语以及方法进行解释

自适应学习: 文中定义自适应学习为可以通过适应新型攻击的行为来检测最新的未知攻击. 对SVM而言, 在以确定间隔的情况下, 出现在间隔内的样本如何进 行正确检测策略. SVMAL一文给出了一个方法. 即简单的将间隔内的样本分类归属为离其最近的分类平面.

SVM Hybrid: 如图所示, SVM Hybrid通过结合SS以及ES实现自适应学习策略. 其公式定义于传统的SVM无异

$$ \begin{aligned} &K(x, z) = \varphi …

Continue reading

协议分析与还原 RTMP协议

Posted on Tue 23 March 2021 in Protocol • Tagged with Protocol, Security • 2 min read

introduction

RTMP协议全称为Adobe's Real Time Message Protocol(实时消息协议). 是一个建立在可靠网络链接上的双向消息多路复用的数据传输协议. 其设计用于传输视频, 音频以及数据消息

Definitions

这里对协议中一些特有的术语进行说明: - Message stream ID: 每一条消息都有一个独立的ID, 用于标记其自身. - Chunk: 一条消息的数据分片. 每条消息都会被拆分成为小的片段并在网络中发送. 每个Chunk保证其按照时间顺序, 端到端的进行发生以及重组. - Chunk Stream: Chunk在网络通信中的逻辑通道. - Chunk stream ID: 每片Chunk的ID, 用于标记其自身属于那条Message. - AMF(Action message Format): 一种用于序列化ActionScript(其Flash产品开发的一种基于ECMAScript的面向对象编程语言, 但现在Flash已被废弃, 并且现在RTMP协议也多用来单纯传输音视频文件, 不再传输FLASH的SWF文件)的Object Graph的二进制兼容格式, 其拥有2中版本, AMF0以及AMF3.

Overview

Overview

上图为RTMP协议的概览, 其上半部分被称为Chunk Stream(包括TimeStamp部分), 下半部分则为Message.

Chunk …


Continue reading

论文笔记 ZeroWall: Detecting Zero-Day Web Attacks through Encoder-Decoder Recurrent Neural Networks

Posted on Tue 09 March 2021 in AIForSecurity • Tagged with waf, NetworkSecurity, MachineLearning, Security • 1 min read

Introduction

Waf(web application firewall)一般通过规则过滤/触发的异常的Web请求. 通过安全研究员对已知攻击特征的提取来构成并拓展特征库. 但基于特征的Waf难以对0Day漏洞进行检测. 故本文提出了一种Encoder-Decoder RNN架构的无监督学习方案对0Day漏洞进行检测. 本文的核心思想在与将0Day的检测问题转换为翻译质量评定的问题. 简单的来讲即通过训练一个翻译器来将正常web请求A再次翻译为A'. 而当异常的web请求B翻译为B'时, 由于神经网络对B的特征拟合较差故B'的翻译质量也会较差. 以此来判定B是一个异常的web请求

Method

对于Waf吞吐量的是十分重要的, 完全基于AI检测的waf器吞吐量是一个重大缺陷, 故本文采用waf旁路架构, 基于已有的waf框架过滤异常请求. 神经网络本身不进行过滤处理, 仅用于检测0Day漏洞, 并结合安全人员将已发现的漏洞编写成规则添加进规则库. 下图为系统的架构图 system 可以看出整个系统架构分为两个部分(实际是三个部分, 即传统的waf框架自身的运行在图中被省略, 当流量未触发waf规则时, 其会被放行). 在offline periodic retrain部分中, 其分为四个阶段数据积累, 词汇表构建(vocabulary), 词汇解析(token parser)以及训练. 其主要功能就是词汇表构建和训练. 以保证能对新出现的请求进行正常识别. 在online detection部分中, 其分为六个阶段请求过滤(在图中未体现), 词汇解析, 翻译, 异常检测以及人工调查. 一条请求经过上述六个阶段后 …


Continue reading

数字图像取证 - 基于统计的取证 4

Posted on Tue 02 March 2021 in Digital Image Forensics • Tagged with Book, Forensics, Security, ComputerVision • 1 min read

引言

现在软件可以渲染一个非常写实的图像,从而分区CG还是相片已经是一个困难的问题。但是CG图像一般都渲染在一个理想的模型下(光照,几何形状甚至是), 那么统计量上CG一定与真实的图像存在差异. 下面将介绍一种方法: 利用小波变换得到的其高频以及低频分量进行统计学分析.

正交镜像滤波器

众所周知利用空间位置(spatial position), 方向(orientation)以及尺度(scale)等基本函数(如 小波变换)对图像进行分解后, 可以有效地完成图像压缩, 图像编码, 图像去噪抑或是材质合成等操作. 其主要是由于图像分解暴露出了有效用的统计特征. 下面介绍一种与小波变换紧密相关的滤波器-正交镜像滤波器, 其主要结构见下图 wavelet 当其作用在一张RGB图像时, 镜像正交编码器会对每一个通道(R, G, B)提取其竖直子带\(V^c_i(x, y), 水平子带\)H^c_i(x, y)\(以及对角子带(subbands)\)D^c_i(x, y)的特征 …


Continue reading

数字图像取证 - 基于像素的取证 3

Posted on Thu 25 February 2021 in Digital Image Forensics • Tagged with Book, Forensics, Security, ComputerVision • 1 min read

缩略图

在JPEG文件格式中, 会在头部嵌入经过滤波,对比度调整,压缩的缩略图.这 些特定的操作就导致了不同的相机厂商或软件厂商的细微差异。 设一个原图为\(f(x, y)\),那么一个图像经过下面6步骤进行制作

  1. 裁剪/填充
  2. 预滤波
  3. 降采样
  4. 对比度
  5. 亮度调整
  6. JEPG压缩

裁剪/填充

当缩略图与原图的分辨率比例不相同时, 需要对图像进行裁剪/填充处理. 这一阶段会产生四个参数\(c_l, c_r, c_t, c_b\)分别表示左右上下的裁剪/填充系数

抽象预滤波, 降采样, 对比度以及亮度调整

完成裁剪/填充操作后, 后续的四个操作可以将其抽象为一组模型

$$ t(x, y) = \alpha(D\{\hat{f}(x, y) * h_1(x, y)\} * h_2 …

Continue reading

数字图像取证 - 基于像素的取证 2

Posted on Thu 04 February 2021 in Digital Image Forensics • Tagged with Book, Forensics, Security, ComputerVision • 1 min read

前面介绍的均为一些跨图像的修改, 通过由于不同图像的不同的属性我们将图像修改/取证. 那么对于同一图像内的直接复制策略如何进行检测. 这里介绍基于SIFT特征与Ransac算法检测图像内复制粘贴. (这里有一个猜想, 一般图像复制粘贴的同时会对图像进行缩放裁剪, 结合上一节中重采样检测也许会有较好的效果提升)

SIFT特征

检测的关键就是使用SIFT特征, 首先简单的介绍什么是SIFT特征: SIFT( Distinctive Image Features from Scale-Invariant Keypoints)是一种检测局部特征算法, 该算法通过求一幅图中的特征点(interest points, or corner points)及其有关scale 和 orientation 的描述子得到特征并进行图像特征点匹配, 获得了良好效果, SIFT特征不只具有尺度不变性, 即使改变旋转角度, 图像亮度或拍摄视角, 仍然能够得到好的检测效果. 整个算法分为以下几个部分

  1. 尺度空间极值检测
  2. 关键点位置及尺度确定
  3. 关键点方向确定
  4. 特征向量生成

那么在利用SIFT提取出局部特征之后, 便可以利用一些算法来做特征点的匹配, 也就是说复制出的图像会有相同的特征点. 这里采用随机抽样一致算法(RANSAC)

Ransac算法检测图像复制

RANSAC算法(Random Sample Consensus: A …


Continue reading

IOS逆向 CCCrypt技巧

Posted on Tue 05 January 2021 in SoftwareSecurity • Tagged with IOS, SoftwareSecurity, Security • 2 min read

CCCrypt原型接口

由于IOS/OSX相对闭源, 故⼤多数算法都是使⽤ObejectiveC 封装的⼀套Crypto库. 该库拥有⼀套统⼀的调⽤ ⼊⼝ CCCrypt. 其具体定义如下

CCCryptorStatus CCCrypt( CCOperation op, 
CCAlgorithm alg, 
CCOptions options, 
const void *key, 
size_t keyLength, 
const void *iv, 
const void *dataIn, 
size_t dataInLength, 
void *dataOut,
size_t dataOutAvailable, 
size_t *dataOutMoved)

# 参数意义
opkCCEncrypt(加密)/ kCCDecrypt(解密)
alg:加密算法 
options:加密 …

Continue reading

数字图像取证 - 基于像素的取证 1

Posted on Tue 03 November 2020 in Digital Image Forensics • Tagged with Book, Forensics, Security, ComputerVision • 1 min read

重采样

多数的图像篡改都需要如下步骤:裁剪缩放, 旋转以及拉伸. 上述的操作都需要对图像重采样才可以. 经过这种重采样是基本不可见的,但是这里介绍一种特殊的相关性计算算法. 假设具有\(m\)个采样点的1-D离散采样信号\(f(x, y)\), 如图(a). 对其进行重采样时, 无论基于系数\(\frac{p}{q}\)将其重采样至n个样本时都需要经过以下三个步骤:

  1. 上采样: 新建一个有\(pm\)个采样的信号\(f_u(x)\), 其中\(f_u(px) = f(x), x = 1, 2, ..., m, 反之 $f_u(x) = 0\). 如图(b)
  2. 插值: 一个低通过滤卷积信号\(f_i(x) = f_i(x) = f_u(x …

Continue reading

数字图像取证 - 基于相机属性的取证 3

Posted on Thu 01 October 2020 in Digital Image Forensics • Tagged with Book, Forensics, Security, ComputerVision • 1 min read

PRNU

相机可以简单的建模为\(I(x, y) = I_0(x, y) + \gamma I_0(x, y)K(x, y) + N(x, y)\),其中为\(I_0\)无噪声的图像,\(y\)是叠加系数,\(N\)是其他噪声因素(灰尘,曝光时间过长等等),\(K\)就是本节中的相机噪声,更具体的指的是photo-response non-uniformity noise(PRNU)为光子(Cmos接受量)与电子(Cmos自有量)的相互干扰产生的一种具有特点性质的噪声。

PRNU提取

PRNU的提取比较简单, 首先提取总噪声\(W_k(x, y) = I_k(x, y) - \hat{I_k}(x …


Continue reading