第十一周-周报

研究进度

阅读论文:Single-Packet OS Fingerprinting

操作系统的识别经过了几个阶段。

  1. 最开始的操作系统指纹识别基于应用程序的banner抓取,但是现在越来越多的程序会修改banner或者干脆不提供banner,导致这种方法可用性降低
  2. Multiple Packets,nmap工具出现,提出了基于TCP/IP协议栈来进行操作系统的指纹识别,nmap总是希望目标主机接收tcp连接,如果请求的是一个关闭的udp端口,目标主机会响应icmp unreachable,或者是回复ping。但是多包扫描可能会出现问题,负载均衡是现在非常常用的技术,多包探测可能会导致指纹混乱。
  3. 单包探测:单包探测在传统的TCP/IP数据包上提取特征的基础上,还考虑了利用操作系统超时重传算法来区分操作系统,因为不同操作系统可能使用了不同的超时重传算法。

常见的阻止操作系统识别的方法

  1. windows下可以通过调整注册表来修改网络通信的一些参数,使TCP/IP上的部分特征变得不可靠。
  2. 还有一些其他方法,基本原理都是修改参数来变更网络传输的参数

单包操作系统识别的难点

  1. 复杂的广域网环境将导致RTO的值并不准确
  2. 单包本身包含的目标主机的信息有限
  3. 用户对特征信息的修改

论文的贡献

  1. 作者研究网络延迟和损失对测量样本的影响,分析现有的方法,并且假设分类问题是可处理的。
  2. 开发了解决延迟抖动,数据包丢失,和用户对SYN-ACK特性的修改的新方法,创建了一种分类方法,显著提高了现有技术的准确性,包括在模拟网络或者是在真实互联网上。

文中利用了很多的条件概率来尝试解决各种场景下的问题,提出了很多的假设条件,具体的还有待更进一步理解。

基于RTO进行指纹识别是可能的,不仅仅是因为不同的设备实现TCP算法有区别,而且RFCs没有规定初始这个初始的RTO或者有多少个SYN-ACK必须被生成(既要生成多少个超时重传的包),所有有很多不同的RTO实现。

u j u_j uj δ j \delta_j δj代表从第j个操作系统中提取到的TCP windows size和RTO,而 x = ( u ; δ ) x=(u;\delta) x=(u;δ)则代表从网络中观察到的一个数据包。

学习进度

  1. 学习了神经网络,了解了GAN,并尝试跑了实验。

你可能感兴趣的:(网络)