freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课
FreeBuf+小程序

FreeBuf+小程序

官方公众号企业安全新浪微博

国内领先的互联网安全新媒体,同时也是爱好者们交流与分享安全技术的社区

事件跟踪:算算“超级加农炮(The Great Cannon)”的成本有多少? 金币
2015-04-13 04:45:55

最近美国媒体指责中方拥有网络武器“超级加农炮(The Great Cannon)”,一时间议论纷纷。先不论此事的真假,让我们一起来算算如此庞大的攻击系统建设成本几何?

成本问题

第一个问题是:需要监控多少带宽。据统计,在2015年年初全国使用量为1.9兆兆比特/秒(1899792-Mbps)。

第二个问题是:需要购买多少硬件来拦截网络流量、重组TCP数据流以及给出相应的应对方法?

让我们来算一下,每1千美元的一台台式电脑大约可以有10-Gbps的流量。那么换句话说,“超级加农炮(The Great Cannon)”的硬件成本约二十万美元。

这个结果还是有点争议。大多数人认为,仅仅只有台式电脑是无法处理10-Gbps的吞吐量,更谈不上做些类似TCP数据流重组的其他复杂的事情。然而,他们错了。英特尔已经把大量的功能载入到他们的硬件,这恰恰解决了这个问题。

如此规模的传输量大吗?

第一步我们先绕过操作系统。使用一些无需连接网卡和内核的数据包处理(DPDK,PF_RING,netmap)直接连接到你的软件。这操作起来相当简单,这里就不多说了。而且这些应用程序都能够无需流量就发送、接收报文。

根据英特尔模拟测出来80万个数据包/秒,我们可以发现这远远比你需要一个超级大炮处理10万个数据包/秒多得多。

之后是处理TCP数据流重组。几乎每个人都会处理错,因为这涉及到每一个缓冲进来的数据包。正确的方法是编写一个解析器作为状态机,缓冲数据包之间的状态而不是数据包本身。虽然没有序列号的数据包仍然需要被缓冲,但是这只是其中的一小部分可以忽略不计。于是,通过使用零流量的驱动器和解析器你就会发现,容易就可以有10 Gbps的数据流。

以上这些都是基本的操作,还有一堆其他你需要解决的问题。例如,你要考虑当Linux突然中断线程导致数据传输抖动的问题。线程中断会导致任何你正在处理的数据包向后延迟几毫秒。对网络设备来说这是死角。不过你可以在Linux里预留特定的CPU内核为无限运行,让你在运行线程时永远不会被中断。那么,由于微秒级的延时或抖动不断增加而最终导致数据传输延迟250毫秒就不是问题了。

你可能会认为十亿人同时使用大量的互联网流量会使系统运作困难。可事实上,就上述而言,这些流量是微不足道的。

*参考来源blog.erratasec,译/江湖小吓,转载请注明来自Freebuf.COM

本文作者:, 转载请注明来自FreeBuf.COM

被以下专栏收录,发现更多精彩内容
+ 收入我的专栏
评论 按时间排序

登录/注册后在FreeBuf发布内容哦

相关推荐
  • 0 文章数
  • 0 评论数
  • 0 关注者
登录 / 注册后在FreeBuf发布内容哦