NLP-D18-POIROT很无语很多内容写上了都没被保存上

29 篇文章 0 订阅
8 篇文章 0 订阅

—0500以后任务都要严防死守啦!!
开始读论文!!!

一、POIROT:使用内核监听记录对齐攻击行为,实现网络威胁捕捉

(一)摘要:
1、原版
Cyber threat intelligence (CTI) is being used to search for indicators
of attacks that might have compromised an enterprise network for
a long time without being discovered. To have a more effective
analysis, CTI open standards have incorporated descriptive relationships showing how the indicators or observables are related
to each other. However, these relationships are either completely
overlooked in information gathering or not used for threat hunting.
In this paper, we propose a system, called Poirot, which uses these
correlations to uncover the steps of a successful attack campaign.
We use kernel audits as a reliable source that covers all causal relations and information flows among system entities and model
threat hunting as an inexact graph pattern matching problem. Our
technical approach is based on a novel similarity metric which assesses an alignment between a query graph constructed out of CTI
correlations and a provenance graph constructed out of kernel audit
log records. We evaluate Poirot on publicly released real-world
incident reports as well as reports of an adversarial engagement designed by DARPA, including ten distinct attack campaigns against
different OS platforms such as Linux, FreeBSD, and Windows. Our
evaluation results show that Poirot is capable of searching inside
graphs containing millions of nodes and pinpoint the attacks in a
few minutes, and the results serve to illustrate that CTI correlations
could be used as robust and reliable artifacts for threat hunting
2、简略翻译
**背景:**目前都在用CTI搜索潜藏在企业网络里很久没有被发现的攻击指标。为得到更有效的分析,CTI开元标准综合了描述关系:解释指标和观察迹象之间的关系。
问题:
这些联系要不在信息聚集中被完全忽视,要不就是没有被用来做危险捕捉。
这篇论文中,我们提出了一个叫做POIROT的系统,这个系统使用这些联系揭示一个成功的攻击的步骤。
方法:
使用kernel audit作为可信数据源,这个信息源覆盖了所有因果关系和系统实体的信息流;使用威胁捕捉模型作为对应问题的不精确图表示。
使用相似性矩阵比较由CTI联系构建的query图和由kernel audit构建的溯源图。
实验数据集:
现实事件报告+DARPA对抗数据(10个明确的对抗不同OS的攻击活动)
实验结果:
可以在几分钟之内找到攻击,鲁棒性和可靠性强
(二)总结:
1、英文版
Poirot formulates cyber threat hunting as a graph pattern matching
problem to reliably detect known cyber attacks. Poirot is based on
an efficient alignment algorithm to find an embedding of a graph
representing the threat behavior in the provenance graph of kernel
audit records. We evaluate Poirot on real-world cyber attacks and
on ten attack scenarios conducted by a professional red-team, over
three OS platforms, with tens of millions of audit records. Poirot
successfully detects all the attacks with high confidence, no false
signals, and in a matter of minutes
2、中文简版
(1)方法
POIROT把网络威胁检测作为图模式匹配问题。
使用了一种高效的对齐算法找到图嵌入向量,这种向量可以表示内核监听记录的溯源图中的威胁行为。
(2)实验
在真实数据集和由专业红队打造的十个不同OS上的攻击检测,这些检测包含了millons of监测记录。
(3)结果
高可信度,没有错误信号,几分钟。

(三)创新(贡献)

(四)背景:

(五)提出问题:

(六)方法:
1、Overview
在这里插入图片描述
1.1溯源图构建
Gp:labeled,typed and directed graph;节点代表不同的监测记录中提到的各种系统实体(比如文件和进程);边代表信息的流动方向;加速图的搜索,使用了通用方法比如快哈希、倒排索引来快速将文件名与IDs对应。
1.2查询图构建
(1)构建基础info:
(自然语言)These reports appear in security blogs, threat intelligence reports by industry, underground forums on cyber threats, and public and private threat intelligence feed.
(结构化和半结构化语言):These formats include OpenIOC[14], STIX[49], MISP[48], etc. Essentially, these exchange formats are used to describe the salient points of the attacks, the observed IOCs, and the relationships among them.
(自动收集工具)从自然语言中提取IOC[27,41,75]。采用先工具,再人工。这个也被做了鹅鹅鹅
(2)图构建:和Gp差不多,记为Gq。其中提到以后可以根据需要在标签(比如名字)和类型(比如进程、文件、端口、 管道)上引入额外信息。
椭圆:进程; 菱形:端口; 长方形:文件; 五边形:注册表:
ps:底下的实体是在报告中出现过的实体,并不是所有真实攻击中出现的实体。也就是说,只有Gp中有的,才可能出现。通常为10-40个节点,150条边。

在这里插入图片描述3.图实体对齐
其实大概看overview的图就可以推测出来了,很清晰。对比一个相似度,设置一个threshold。
Gq高级实体之间的图
问题:由于攻击者加入噪音混淆,Gq中一条边对应多Gp中多条边。
目标:使Gq中一条边可以与Gp中多条边对应
Gp具体实体
比如:Gq代表 恶意浏览器向系统文件写入信息;Gp则代表了火狐向系统里写文件
底下巴拉巴拉了具体的图里面的问题。先往下看了。

(七)实验验证:
(1)在DARPA TC上
对比情况好,并且很快能找到
在这里插入图片描述
对比结果实例:
在这里插入图片描述
(2)在公开攻击上的效果
A.第四列是对应报告上恶意代码家族中samples的数量,第五列是我们这次实验中选的malware的md5;第六列是我们选取的sample的行为是否在报告中有被清晰描述。第七列是提交给检测软件的IOC的数量,最后一列是检测结果,前三子列是通过什么发现有问题的。
在这里插入图片描述
B.结论
别的工具在样本行为被报告清晰描述时比较好,也就是说没有mutation,有独特的hash values或者名字的时候;而POIROT在malware i变形了,之后,可以通过behavior继续进行检测。
(3)在正常的数据上,决定Threshold Value【万一他在正常数据上score也高怎么办呢?所以这里检测的是False positive,希望不要太高】

这个部分居然不配一个Table?
在这里插入图片描述
在这里插入图片描述
(4)在DARPA TC数据集(混杂很多正常数据)

在这里插入图片描述

(八)有待改进:

(九)自己的想法:
(十)关键词【下一篇会放在前面】:
Cyber Threat Hunting, Cyber Threat Intelligence, Indicator of Compromise, Graph Alignment, Graph Pattern Matching
(十一)其他相关知识补充:
1、ACM Conference on Computer and Communications Security(ACM CCS,即计算机和通信安全大会)
2、Indicator of compromise(IOC)是什么?
情报威胁指标,这个指标是结构化的,计算机可读的。
其实,有多种不同的IOC标准。
参考链接:https://www.secrss.com/articles/6765

OpenIOC(Open Indicator of Compromise,开放威胁指标)是MANDIANT 公司发布的情报共享规范,是开源、灵活的框架。OpenIOC是一个记录、定义以及共享威胁情报的格式,它通过借助机器可读的形式实现不同类型威胁情报的快速共享。
2018 年 10 月 10 日,我国正式发布威胁情报的国家标准《信息安全技术网络安全威胁信息格式规范》(GB/T 36643-2018)。这份国家标准适用于网络安全威胁信息供方和需方之间进行网络安全威胁信息的生成、共享和使用,网络安全威胁信息共享平台的建设和运营可参考使用。
如图4所示,该标准定义了一个通用的网络安全威胁信息模型,从可观测数据、攻击指标、安全事件、攻击活动、威胁主体、攻击目标、攻击方法、应对措施等八个组件进行描述,并从对象、方法和事件三个维度对这些组件进行划分。其中,威胁主体和攻击目标构成了攻击者与受害者的关系,归为对象域;攻击活动、攻击指标、安全事件和可观测数据构成了完整的攻击事件流程,归为事件域;在攻击事件中,攻击方所使用的方法、技术和过程(TTP)构成了攻击方法,而防御方所采取的防护、检测、响应、回复等行动构成了应对措施,二者一起归为方法域。
在这里插入图片描述

3、XML是什么?与CSV和JSON对比
用来传输和储存数据的一种格式。
XML就是有标签包裹着元素,其实我感觉和JSON作用差不多。
二者区别参考:https://www.cnblogs.com/sanmaospace/p/3139186.html
Json就是字典
CSV就是表格

4、Graph Alignment
实体对齐中的图中实体对齐,有点像是应用在知识图谱里。
Entity Alignment(EA)的目标是从多个图谱中构建出一个统一的图谱

用公式定义实体对齐任务的话。首先我们用 G=(E,R,A,TR,TA)表示知识图谱,其中E,R,A 表示其中的实体、关系和属性。 TR 是关系三元组 E−−R−−E 。TA 是属性三元组 E−−A−−V 。已知有知识图谱 G1 和 G2,目的是找到两个图谱中的等价实体集合 S(ei1,ei2)。
http://pelhans.com/2019/03/18/entity_alignment/

上面的太简陋,又去找了下面的

知识图谱(KG)可以看做是三元组的集合,每个三元组(triples)均是由subject、predicate和object组成。知识图谱中的三元组主要包含两种,一种是relation triples,另一种是attribute triples。其中,relation triples中的subject和object均是实体,而predicate通常被称为关系。attribute triples中的subject是实体,而object则是取值(value),该值通常是一个数值或者文本,其predicate通常称为属性。
Entity Alignment(EA)的目标是从多个图谱中构建出一个统一的图谱。目前基于GNN的方法在EA任务上的不错,但是并没有利用到attribute triples。因此,本文的目标是利用attribute triples来进一步改善实体对齐。本文的核心假设是:相同的实体通常共享相似的属性。
https://blog.csdn.net/bqw18744018044/article/details/115679426

贴一篇找到的用GNN做Graph Alignment的论文,后续可能需要。
http://pelhans.com/2019/03/18/entity_alignment/
https://blog.csdn.net/bqw18744018044/article/details/115679426

5、Graph Pattern Matching是什么?一般用什么方法?
就是匹配图的问题啦~

在数据库领域里,图模式匹配Graph pattern matching(GPM)问题是一个经典问题。学界有两种研究潮流,第一种是寻找保留了查询图结构信息的匹配,另外一种基于图模拟,本文关心第一种。

参考:这篇是图谱学苑的!
https://www.modb.pro/db/49134

6、structred vs semi-structured?
结构化数据可以通过固有键值获取相应信息,且数据的格式固定,如RDBMS data
半结构化数据可以通过灵活的键值调整获取相应信息,且数据的格式不固定,如json,同一键值下存储的信息可能是数值型的,可能是文本型的,也可能是字典或者列表
非结构化数据****不可以通过键值获取相应信息。
链接:https://www.zhihu.com/question/50986354/answer/276099917

7、DLL是什么?
动态链接库,与函数调用有关。在函数被调用的时候才会被编译,而不是先编译好放在代码内。
8、Pipes是什么?
进程间数据通信的通道。和socket一样都是IPC(Inter-Process Communication,进程间通信)方式
在这里插入图片描述
9、Apache是什么?
就是一个http服务器软件,我个人理解,就是在帮服务器实现http协议规定的操作,完成与客户端的通信,nignx同理。
参考:https://www.zhihu.com/question/32212996

乱入狂斩混杀的沐神

----0626昨天晚上总结沐神课程的时候忘记了一些关键内容,现在吃饭看视频,正好补上。
问题:梯度消失/梯度爆炸
目标:使得每层输出的均值和方差稳定—使得均值为0,方差为固定值
方法:通过推导,得到方差要与层的节点个数、初始值大小有关系,为了使前后两层方差不变,要满足下图关系式。
在这里插入图片描述
但无法同时满足前后两层的关系式,用Xavier方法做中和(如下图)。
总结一下,通过根据nt(t层节点个数)调整初始化权值的分布–>调整其均值和方差–>进而调整不同层方差之间的关系–>达到方差稳定的目的,避免参数的不稳定性。
在这里插入图片描述

呜呜呜爱了爱了,上面说的是单纯的MLP,没有加入激活函数的情况。
后来举了加入线性激活函数的例子(加线性其实就相当于没有加啦~这里在为后面check常见激活函数是否稳定做铺垫),要达到稳定性需要保证y=ax+b中的a为1
在这里插入图片描述
然后用泰勒把常见的激活函数展开,发现只有sigmoid小可爱不符合要求,这么看估计均值一定,为0的情况下,会方差越来越小,会产生梯度消失的问题叭?给小可爱乘个4的系数就好了哈哈哈。

在这里插入图片描述

-----------0643继续看论文了!!!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值