当前位置: 首页 > news >正文

TCP SYN-Cookie背后的人和事

SYN-Cookie是防范TCP Syn Flood的业界标准做法之一。相关概念笔者就不抄了,从文字描述上来看这个概念开始确实不太好理解,笔者也是费了半天劲才终于想明白的。应该是server端非但不maintain 半连接,连基本的五元组都不愿意在三次握手前maintain,这样可以最大限度的节省内存,尤其是对于IPv6的Session,仅仅使用一个32bit的摘要的cookie,效果更佳。

SYN-Cookie的发明者Daniel J. Bernstein并非工程人士,而是躲在学术界(叫兽),数学专业,密码学专家。有人在Wiki立碑如下:

http://en.wikipedia.org/wiki/Daniel_J._Bernstein

Daniel有很多软件作品

  • qmail
  • djbdns
  • ucspi-tcp
  • daemontools
  • publicfile

Daniel和他的学生发现了很多Unix漏洞,并且公布了其中的44个漏洞的利用代码。这个家伙很自负,甚至声称 “I won’t be satisfied until I’ve put the entire security industry out of work.”。想要砸整个安全界的饭碗,大家要留意一下。另一个自负的例子是,某男在他的软件中发现了一个安全漏洞,为此获得了1000$的奖励。看来Daniel比Google还大方。对于赋闲在家的或者手头拮据的兄弟,建议教训教训他,hack他一下,让他也知道天下英雄的厉害。我就不信丫的code再没有bug了。

但无论如何,经叶子鉴定后,颁发给Daniel“牛人”证书。

Daniel将其SYN-Cookie的发明经过记录在了下述文章中,论证了自己是第一个发明这项技术的人。

http://cr.yp.to/syncookies.html

最搞笑的是有一批智商比我还要低的老外在没有搞清楚状况的情况下大肆攻击他的解决方案,Daniel最终发飙如下:

These people also have the annoying habit of crediting their bogus claims to other people, such as me. I don’t know whether to attribute this to malice or stupidity; either way, I would like the record to be set straight.

I invited Kuznetsov to either retract or defend his claims. He refused to do so. I’m sure he’s aware by now that his claims are false, and that any attempted defense will be promptly ripped to shreds; but he’s still not admitting his errors. It’s unfortunate that he doesn’t have more respect for the truth.

I also invited Akkerman to either retract or defend his claims. He did not respond.

为此给大家两个启示:

1.在Challenge牛人的时候,自己一定要精心研究,做到有把握。

2.大到日心学说,小到TCP SYN Cookie,凡是科学发明创新往往会遭到菜鸟的群殴,一定要心平气和。

相关文章:

  • Unity3D NGUI 点击穿透问题的解决方案
  • C++ VS C#(4):枚举,结构体
  • 字节对齐问题 --- 莫名其妙的crash
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • 物联网系统设计初稿
  • Python xlsx 读取
  • S3C2440-启动分析
  • 2.3 js基础--DOM
  • [译]新的web应用:播下web3.0的种子
  • NSSearchPathForDirectoriesInDomains
  • ArcGIS 切片缓存紧凑文件格式分析与使用
  • CS224d Problem set 2作业
  • 一个日志输出系统的设计
  • linux内核内存管理中的pagevec结构体
  • poj_2352 线段树
  • “大数据应用场景”之隔壁老王(连载四)
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • DataBase in Android
  • Django 博客开发教程 16 - 统计文章阅读量
  • JavaScript创建对象的四种方式
  • Java的Interrupt与线程中断
  • Wamp集成环境 添加PHP的新版本
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 如何利用MongoDB打造TOP榜小程序
  • 什么软件可以剪辑音乐?
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 详解NodeJs流之一
  • 译有关态射的一切
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 用简单代码看卷积组块发展
  • C# - 为值类型重定义相等性
  • Nginx实现动静分离
  • 阿里云ACE认证之理解CDN技术
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • #前后端分离# 头条发布系统
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (LeetCode C++)盛最多水的容器
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (差分)胡桃爱原石
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (九)信息融合方式简介
  • (转)iOS字体
  • (转)项目管理杂谈-我所期望的新人
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [BT]BUUCTF刷题第8天(3.26)
  • [C# 网络编程系列]专题六:UDP编程
  • [C#C++]类CLASS