cs254 week1

cs254

简介

之前关注过的老师的一门课,资源公开了,正好暑假实习研究方向相似,特来学习

https://www.cs.ucr.edu/~zhiyunq/teaching/cs254/readings.html

https://tai-e.pascal-lab.net/pa8.html#_2-1-%E5%88%86%E6%9E%90%E8%8C%83%E5%9B%B4

论文阅读

A Look Back at “Security Problems in the TCP/IP Protocol Suite”

这是一篇发表于2004年的论文

Abstract

论文一开始,作者说他大约十五年前写了一篇关于TCP/IP协议套件中安全问题的论文。那是他尤其关注协议级别方面的问题,而不是实现上缺陷。他的这篇论文回顾了当年的那篇论文,看看他的关注点和预测哪些是准确的,哪些是错误的,以及哪些危险尚未发生,这是一篇原始论文的再版,并附加了评论。

这里补充一点关于RFC的知识

什么是RFC

RFC(Request for Comments)是一系列以数字编号形式发表的技术文档,用于描述互联网相关协议、方法和标准。RFC文档起源于20世纪70年代初的ARPANET项目,目的是为网络研究社区提供一种协作和标准化的方式。如今,RFC文档仍然是互联网工程任务组(IETF)的主要产出之一。

每个RFC文档都通过一个公开的、透明的、社区驱动的过程进行制定和发布。RFC文档经过许多轮的讨论和审查,由专家和社区成员共同撰写和审核。一份RFC文档可以包含协议规范、协议扩展、协议实现经验、网络架构、安全考虑等内容。

RFC文档编号通常以”RFC”开头,后面跟着一个数字。例如,RFC 2616是描述HTTP协议的文档,RFC 793是描述TCP协议的文档。RFC文档可以在IETF的网站(https://www.ietf.org/rfc/)上找到并免费获取。

RFC文档在互联网标准化过程中起着重要的作用。它们提供了一个公开的、共享的知识库,供开发者、工程师和研究人员参考和实施互联网协议和技术。通过RFC文档,各方可以就协议的设计、实现和应用进行交流和合作,并推动互联网的发展和创新。

TCP Sequence Number Prediction

正常的TCP连接建立序列包括3次握手。客户端选择并传输初始序列号ISNC,服务器确认并发送自己的序列号ISNS,客户端确认。在这三个消息之后,可以进行数据传输。交换可以如下所示:

image-20230704161843216

也就是说,为了进行对话,C必须首先听到ISNS,即一个或多个随机数。但是,假设有一种方法让入侵者X预测ISNS。在这种情况下,它可以发送以下序列来冒充受信任的主机T:

image-20230704162057849

即使消息S→T没有发送给X,X也能够知道其内容,因此可以发送数据。如果X在允许命令执行的连接上执行此攻击,则可以执行恶意命令。