自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 利用dig分析DNS结构和查询流程(二):NRDelegationAttack

NRDelegationAttack的攻击方式和NSNXAttack很相似,攻击者控制若干客户端和一个authoritative服务器,和NSNXAttack不同的是,有害authoritative委托到的并非不存在的域名,而是实际存在但不应答DNS请求的服务器,并且NRDelegation攻击的是执行递归查询的服务器。坏消息是,在每次重新启动事件之后,只要LRR中还有解析尚未开始的名称,递归解析器就会再次检查LRR中的n个名称中是否有任何一个已经在缓存或ADB中具有可用的解析(参见步骤2)。

2023-09-04 21:23:47 267

原创 利用dig分析DNS结构和查询流程(一)

dig的强大功能之一是模拟Recursive的运行流程来执行一次DNS查询,本文使用该功能分析DNS查询的流程以及NS记录,Glue record,Referral record等之间的关系和最终查询结果的关系。由此引出NSNXAttack和NRDelegationAttack两种攻击的分析。

2023-09-02 22:35:40 461

原创 kxdpgun ——AF_XDP使用的示例分析(二)

knot_xdp_send调用了prot_write_eth,而prot_write_eth又调用了prot_write_ipv6/prot_write_ipv4,以此类推写完了报文头部。knot_xdp_send函数首先调用xsk_prod_nb_free查看tx中有没有足够的空闲单元,然后向tx ring中写入msg不为空的报文,最后调用xsk_ring_prod__submit提交写操作。最后调用knot_xdp_send_finish,结束发送过程,本质上是调用了sento。

2023-07-10 20:54:42 679

原创 kxdpgun ——AF_XDP使用的示例分析(一)

[TOC] kxdpgun ——AF_XDP使用的示例分析(一)

2023-07-07 14:11:07 723

原创 Defending Root DNS Servers Against DDoS Using Layered Defenses 论文阅读

本文是USC-ISI DDIDD项目2022年(投稿COMSNET 2023)的论文,可看作是的延续和扩展。前文翻译见Dynamically Selecting Defenses to DDoS for DNS阅读_postKamous的博客-CSDN博客尤其对于DNS来说,DDoS是长期存在的问题.之前的大量工作着重于特定的filter,但由于IoT设备的大量增长,DDoS威胁与日增长.我们提出两种防范方法:一,准备一个防御filter库,每个适用于不同种类的攻击;

2023-01-01 17:07:29 119 1

原创 XDP实现DNS Query Name Blacklist Filter(二)

在上一步中得到了要过滤的域名后缀,为了使用LPM trie,将后缀倒序存入map中,XDP程序的内核部分也将提取出域名,逆序处理后查询map,判断是不是要阻拦。针对后缀固定,前面随机的:按每级域名处理(点分隔),TLD后缀单独处理。计算出每个后缀的频率之后,如有一个远高于第二,则认为它是攻击域名,生成程序屏蔽该后缀。过滤器中将使用BPF_MAP_TYPE_LPM_TRIE,详见此文。

2022-12-24 15:43:22 352

原创 XDP之BPF_MAP_TYPE_LPM_TRIE的使用

BPF_MAP_TYPE_LPM_TRIE是BPF众多MAP的一种,主要功能为最长前缀匹配(Longest Prefix Matching),如IP匹配等。

2022-12-17 18:09:52 735

原创 XDP实现DNS Query Name Blacklist Filter(一)

Query Name Blacklist是抵抗对DNS服务器的DDoS攻击的一种filter,攻击者在发起攻击时通常使用形如www.FIXED-QUERY.com或RANDOM-STRING.FIXED-SUFFIX.com的域名,即这些攻击域名中存在一定共同部分,通过发现这些共同部分,可以将攻击请求在到达DNS服务器真正被处理之前过滤掉,从而达到抵抗DDoS的目的。

2022-12-17 16:20:36 331

原创 XDP论文阅读:The eXpress Data Path: Fast Programmable Packet Processing in the Operating System Kernel

verifier追踪寄存器的数据类型,指针偏移和可能值范围.程序开始时,R1,存储一个指向上下文对象的指针,R10为栈指针,其他寄存器标记为未初始化,每步执行后寄存器的状态都会更新,寄存器存入新值时,状态继承自值的来源,算术运算有时会改变值的类型和范围.值的最大合法范围也存储在状态中,分支语句也会改变值的合法范围.如此verifier就能判断内存访问是否合法.与DPDK相对的是,XDP将包处理代码嵌入内核执行,保证了内核对硬件的控制.另外使用了虚拟执行的环境(eBPF)保证加载的程序不会破坏内核.

2022-09-10 16:14:19 335

原创 libbpf-bootstrap Makefile阅读

此Makefile可以看做使用libbpf构建C项目的指南,也可帮助理解libbpf的工作方式Linux内核入门及WSL2上的重编译笔记_postKamous的博客-CSDN博客重新编译内核主要是为了使用libbpf,日后也可以再使用rust::redbpf。

2022-09-02 20:53:45 597

原创 Linux内核入门及WSL2上的重编译笔记

重新编译内核主要是为了使用libbpf,日后也可以再使用rust::redbpf。

2022-09-02 19:24:31 655

原创 DPDK(一):安装与环境配置

dpdk安装过程记录

2022-08-09 02:28:38 2253

原创 Dynamically Selecting Defenses to DDoS for DNS阅读

尤其对于DNS来说,DDoS是长期存在的问题.之前的大量工作着重于特定的filter,但由于IoT设备的大量增长,DDoS威胁与日增长.我们提出两种防范方法:一,准备一个防御filter库,每个适用于不同种类的攻击;二,在攻击开始时自动选择最好的防御措施,在攻击期间重新评估以应对多元的攻击.我们使用捕获的对根DNS服务器的DDoS攻击,使用分析方法和真实DNS服务器实验评估我们的方法.我们的系统可以在15s内检测出DDoS攻击,在40s内选择最好的防御措施.2018年,GitHub经受了流量超过1.35Tb

2022-07-04 22:28:29 343

原创 PCA方法学习

PCA是什么PCA是一种降维方法,试图从高维数据提取出关键的特征,最后使得降维后的数据有最大可分性,也就是方差最大.基变换很容易理解,PCA的目的就是挑选K个基,使得原数据各个特征在新的基下的方差最大.下面从矩阵运算的角度讲述基变换.假设一个向量另外一组向量作为新的基那么x在新基中的坐标表示为方差和协方差协方差可以用来表示两个变量的线性相关性,当协方差为0可以说这两个变量完全线性不相关,当两个变量相同时,就退化为方差,协方差定义如下:...

2021-09-16 15:16:06 175

原创 面向对象的LSP原则和行为子类型

LSP原则LiskovSubstitutionPrinciple是OOP的SOLID原则中的"L",叙述如下如果对于一个类T的对象t有性质q(t)成立,那么对于类S的对象s,q(s)也成立,类S是类T的子类.在应用上,这就是说任何父类对象出现的地方都可以用一个子类对象替代,这是为了客户能够在不了解众多子类型差异的情况下能够以一种统一的方式正确地处理所有子类型对象.例如,在我们最喜欢的Rectangle和Square类的问题中,我们认为父类T就是Rectangle,子类S就是Squar..

2021-07-06 17:55:10 338

原创 Java对象的等价

在Java中通常使用equals方法和hashCode方法来直接地或间接地判断两个对象是否等价,并且在Java的一些库中有可能直接调用这些函数来判断等价性,例如在HashSet和HashMap中就通过调用hashCode方法来获得一个对象的哈希值,从而区分对象和维护数据结构.然而Java为对象设置的默认equals方法和hashCode方法都是基于对象地址的,所以我们有必要根据类的各个域和实际需求重新设计equals方法和hashCode方法.根据实现的不同,我们分可变类和不可变类讨论.不可变类eq

2021-06-29 00:23:47 192

原创 CSAPP大作业

计算机系统大作业题 目 程序人生-Hello’s P2P 专 业 计算机 学   号 1190202025 班   级 10 学 生 李承豫    指 导 教 师 史先俊   计算机科学与技术学院2021年5月摘 要从一个简单的C...

2021-06-26 11:03:54 997

原创 Java ADT总结

面向对象基本知识抽象函数和抽象类Java中使用了一种抽象的技术,继承和实现Java有两种继承类的方式

2021-06-06 21:47:05 824 2

原创 Java文件输入输出总结

文件输入在Java中不论文件输入还是输出都会用到File类,File类是一个代表文件或目录的类,通常使用路径来初始化,允许使用绝对路径和相对路径.File inFile = new File("C:\\Program Files\\Java\\");File inFile1 = new File("../src/txt/1.txt");在创建好File对象后,我们有几种选择来从文件读入:Scanner类,FileReader类,FileInputStream类.这几个类的构造函数都可以以Fi

2021-05-17 19:16:40 2151

原创 记录第一次使用IDEA创建不使用框架的Java项目和Junit的使用

准备下载安装JDK和IDEA都没有什么障碍,在将JDK路径加入环境变量后,新建IDEA项目的时候可以直接选择相应版本的JDK.进入项目后先配置一下Junit.IDEA默认内置了Junit插件,如果在importorg.junit处出错可以通过quickfix将Junit包添加到与src目录同级的lib目录中.也可以通过其他方法添加Junit,可以从官方网站上下载Junit和hamcrest包到本地,并在File->ProjectStructure->Modules里面将这两...

2021-05-10 17:19:38 346

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除