金源娱乐软件定义网络中的跨应用投毒_HUC惠仲娱乐

金源娱乐

作者:{Fr4nk}@ArkTeam

原文作者:Benjamin E. Ujcich, Samuel Jero, Anne Edmundson, Qi Wang, Richard Skowyra, James Landry, Adam Bates, William H. Sanders, Cristina Nita-Rotaru

原文标题:Cross-App Poisoning in Software-Defined Networking

原文会议: 2018 ACM Conference on Computer and Communications Security

软件定义网络因其在设备控制功能的可编程和可扩展性受到越来越多的欢迎。基于SDN的网络应用蓬勃发展,由于每个应用必须访问或修改共享控制面中的数据,因此也就引入了严重的安全问题,甚至会破坏正常的网络运维。

作者提出了一种基于SDN控制面的攻击,并称之为跨应用投毒(CAP),其原理主要是通过一个普通权限应用操纵共享控制面的状态从而欺骗更高权限的应用被动采取行动。基于角色的访问控制既不跟踪信息流也不强制执行信息流控制,因此无法有效防止此类攻击。

针对于此,作者提出了一种防御方法ProvSDN,它通过数据溯源跟踪信息流,并作为引用监控器来防止CAP 攻击。作者在ONOS控制器上实现了ProvSDN,并证明了可以使用低延迟开销跟踪信息流。图1中分别展示了SDN架构的重要组件、通过API交互/数据面事件监听的应用交互。


1 SDN架构概览和利用服务API/事件回调的应用交互

为了系统性地识别CAP攻击,作者利用了应用间授权的方式生成数据,连同真实数据流一并传输,并通过构造漏洞POC来证明CAP在实践中的攻击过程和危害。作者构建的CAP安全组件分析结果如表1所示,其中任何可以写入源的应用都可以完成CAP攻击。

1 CAP组件的静态分析结果


在作者提出的防御方法中,ProvSDN通过hook所有控制器的API接口,从应用程序收集源信息、构建溯源图、并检查API请求来作为引用监控器抵御未知的CAP攻击。随后,作者在运行有Open Vswitch2.7.0的模拟环境中评估了ProvSDN的性能表现。


2 某应用回调NB APIProvSDN架构图

3显示了没有ProvSDN、未强制执行IFCProvSDN以及强制执行IFCProvSDN延迟。作者对三种情景中的每一种进行了30次试验,平均延迟分别为11.66 ms28.51 ms29.53 ms。虽然ProvSDN增大了数据延迟,但随着更多应用和内部控制器接收事件的增多,可以注意到数据延迟在具有一定规模的流量上被进行了均分。这是由于与交换机中流规则匹配的后续数据包不需要转到控制器或应用程序上进行处理,即ProvSDN仅需要在相对不频繁的控制面状态变化上操作。


3 数据流启动延迟

最后,作者讨论了ProvSDN的实用性。具有安全模式的ProvSDN不会强制分离内存空间,并利用 Java的访问控制来阻止应用程序访问私有数据结构。此处,作者还提出一种替代设计方案,是将每个应用程序分离到其自己的进程中,并将API调用桥接到控制器,从而通过底层操作系统强制隔离,但这需要对ONOS的体系结构进行重新设计。