模拟全尺寸 Tor 网络的实验

来自滑铁卢大学和美国海军研究实验室的研究人员展示了 Tor 网络模拟器的开发结果,该模拟器的节点数量和用户数量与 Tor 主网络相当,并且允许进行接近真实条件的实验。 实验期间准备的工具和网络建模方法使得在具有 4 TB RAM 的计算机上模拟 6489 个 Tor 节点的网络运行成为可能,该网络同时连接了 792 万个虚拟用户。

值得注意的是,这是Tor网络的首次全面模拟,其中的节点数量与真实网络相对应(工作中的Tor网络约有6个节点和2万连接用户)。 从识别瓶颈、模拟攻击行为、在实际条件下测试新的优化方法以及测试安全相关概念的角度来看,对 Tor 网络的全面模拟非常有意义。

有了成熟的模拟器,Tor 开发人员将能够避免在主网络或单个工作节点上进行实验的做法,这会带来侵犯用户隐私的额外风险,并且不排除失败的可能性。 例如,Tor 预计将在未来几个月内引入对新拥塞控制协议的支持,并且模拟将使我们能够在部署到真实网络之前充分研究其操作。

除了消除实验对 Tor 主网络的机密性和可靠性的影响之外,单独的测试网络的存在将使得在开发过程中快速测试和调试新代码成为可能,立即为所有节点和用户实施更改,而无需等待冗长的中间实现完成,更快地创建和测试原型并实现新想法。

改进工具的工作正在进行中,据开发人员称,该工具将减少 10 倍的资源消耗,并允许在相同设备上模拟优于真实网络的网络操作,这可能是需要的以确定 Tor 扩展可能出现的问题。 这项工作还创建了几种新的网络建模方法,可以预测网络状态随时间的变化,并使用后台流量生成器来模拟用户活动。

研究人员还研究了模拟网络的规模与实验结果投射到真实网络上的可靠性之间的模式。 在 Tor 开发过程中,更改和优化是在小型测试网络上预先测试的,这些测试网络包含的节点和用户明显少于真实网络。 研究发现,通过使用不同的初始数据集多次重复独立实验,可以补偿从小模拟获得的预测中的统计误差,因为模拟网络越大,获得统计显着结论所需的重复测试就越少。

为了建模和模拟 Tor 网络,研究人员正在开发几个在 BSD 许可证下分发的开放项目:

  • Shadow 是一个通用网络模拟器,允许您运行真实的网络应用程序代码来重新创建具有数千个网络进程的分布式系统。 为了模拟基于真实的、未经修改的应用程序的系统,Shadow 使用系统调用模拟技术。 通过部署VPN并使用典型网络协议(TCP、UDP)的模拟器来进行模拟环境中应用程序的网络交互。 支持丢包、传输延迟等虚拟网络特性的自定义模拟。 除了Tor的实验之外,还尝试开发Shadow的插件来模拟比特币网络,但这个项目没有开发出来。
  • Tornettools 是一个工具包,用于生成可在 Shadow 环境中运行的 Tor 网络的真实模型,以及用于启动和配置模拟过程、收集和可视化结果。 反映真实 Tor 网络运行情况的指标可以用作网络生成的模板。
  • TGen 是基于用户指定的参数(大小、延迟、流量数量等)的流量生成器。 流量整形方案既可以基于 GraphML 格式的特殊脚本指定,也可以使用概率马尔可夫模型来分配 TCP 流和数据包。
  • OnionTrace 是一个工具,用于跟踪模拟 Tor 网络中的性能和事件,以及记录和重放有关 Tor 节点链形成的信息并向其分配流量。



来源: opennet.ru

添加评论