acm-header
登录

ACM通信

实践

实践研究:网络安全和移动网络计算


研究实践,说明

来源:iStockPhoto.com

回到顶部

我们的实践研究的第三部分带来了跨越编程语言、编译器、隐私和移动Web的阅读。

回到顶部

对招标书

ins01.gif

首先,Jean Yang概述了如何使用信息流技术来构建安全的程序。正如Yang所写的,信息流是一个概念上简单的“干净的想法”:敏感信息在程序变量和控制语句之间的流动可以被跟踪,以确定信息是否可能实际上泄露。然而,实现信息流的实用化是一个重大挑战。与其依赖程序员来跟踪信息流,如何让编译器和语言运行时来完成繁重的工作呢?应用程序编写者如何方便地表达他们的隐私策略,并理解给定策略对应用程序用户可能看到的一组值的含义?杨的一系列论文通过编译器、系统和语言设计技术的巧妙结合直接解决了这些问题。这种将理论转化为实践的关注是RfP的一个极好的主题。

第二,Vijay Janapa Reddi而且Yuhao朱概述了移动网络未来所面临的挑战。移动设备代表了个人计算领域的一个主要前沿领域,用户量和数据量都有了极大的增长。因此,Reddi和Zhu概述了移动Web计算领域正在面临的三个主要挑战:资源加载的响应性、计算设备的能源效率以及数据的高效利用。在他们的引用中,Reddi和Zhu利用了一系列跨越浏览器、编程语言和数据代理的技术来说明“跨层优化”在解决这些挑战方面的机会。具体来说,通过重新设计Web堆栈的核心组件,如缓存和资源获取逻辑,系统运营商可以改善用户的移动Web体验。这种合作设计的机会不仅仅是理论上的:Reddi和Zhu的第三个引用描述了一个移动优化的压缩代理,它已经在谷歌的生产环境中运行。

一如既往,我们的目标是让读者在一个周末下午的阅读时间里,成为计算机科学研究中最新的、面向实际的主题的专家。我非常感谢本期的专家们慷慨地提供了如此强大的贡献,并且,一如既往,我们欢迎您的反馈!

彼得百利

回到顶部

Web安全实用信息流

作者:Jean Yang

信息泄露已经变得如此普遍,以至于很多人在信息安全方面已经放弃了希望。3.有人说,无论如何,数据泄露是不可避免的。1其他(电脑)说,我甚至不再上网了。6

这种绝望让其他人走上了最后一招:思考我们的程序到底能做什么。多年来,只要你的机器人会唱歌,虫子并不重要。如果你的程序的速度是昨天的两倍,谁会在乎它会给你什么输出呢?但我们开始认识到,再多的噱头也弥补不了Facebook把你的电话号码泄露给那些你没有邀请的人。4

这种认识将我们带入一个新时代,在这个时代,以前看起来不必要的巴洛克式推理技术正在流行起来。来自监管机构日益增长的压力终于让使用精确的程序分析来确保软件安全变得越来越流行。5快速增长的生产Web应用程序的需求使开发新的规范具体化的应用程序变得相关,即创建基于构建的安全软件。

安全软件的建设意味着解决安全的重要问题信息流。我们大多数人都听说过暗门方法来获取我们不应该看到的信息。例如,一名研究人员表示,只要搜索随机的电话号码,就有可能发现数千名Facebook用户的电话号码。2许多这样的泄漏发生并不是因为系统直接显示了敏感值,而是因为它显示了计算结果,例如对敏感值的搜索。防止这些泄漏不仅需要在敏感值本身上实现策略,还需要在计算可能受到敏感值影响时实现策略。

正确执行信息流方面的策略意味着在敏感值和策略通过日益复杂的程序时对它们进行推理,确保只显示与每个用户关联的特权一致的信息。有大量的工作致力于编译时和运行时技术,用于通过程序跟踪值,以确保正确的信息流。

尽管信息流是一个干净的想法,但要让它在真正的程序和系统上工作,需要解决许多困难的问题。这里介绍的三篇论文主要关注解决Web应用程序的安全信息流问题。第一篇文章描述了一种将信任从Web应用程序中提取出来并将其转移到框架和编译器的方法。第二部分描述了在Web框架中实现的完全动态实施技术,该技术要求程序员只指定一次每个策略。第三部分描述了一个基于策略和查看上下文定制程序行为的Web框架。

回到顶部

通过基于语言的实施将信任转移到框架和编译器

钟,S,维克拉姆,k和迈尔斯,ac
SIF:在Web应用程序中强制保密和完整性。16届会议记录thUsenix安全研讨会,2007。https://www.usenix.org/conference/16th-usenix-security-symposium/sif-enforcing-confidentiality-and-integrity-Web

在确保Web应用程序的安全方面,程序员负担的一个主要来源是推理如何通过跨应用程序不同部分和跨请求的计算泄露信息。在没有额外的检查和平衡的情况下,必须完全信任程序员能够正确地完成这项工作。

第一种选择提供了一个将信任从应用程序转移到框架和编译器的框架。Servlet信息流(SIF)框架遵循基于语言的信息流中的一系列工作,重点是根据安全策略的规范检查程序。SIF是使用Java servlet框架构建的,它可以防止许多常见的信息流来源,例如跨多个请求的信息流。SIF应用程序是用Jif编写的,Jif是一种扩展Java的语言,使用程序员提供的标签指定信息流的策略。SIF结合使用了编译时和运行时强制,以确保从提交请求到返回请求这段时间内强制执行安全策略,而强制开销不大。SIF工作的主要贡献是展示如何在复杂的动态Web应用程序中提供信息流保证(大部分是在编译时)。

回到顶部

通过原则遏制减轻注释负担

吉芬,D.B.等人。
在不受信任的Web应用程序中保护数据隐私。十人会议记录th操作系统设计和实现Usenix研讨会, 2012年。https://www.usenix.org/node/170829

虽然编译时检查方法对于提供程序安全性的保证非常有用,但它们通常需要程序员付出很大的努力。程序员不仅要根据信息流正确地构造程序,还要用所需的策略对程序进行注释。

另一种方法是限制:以受限的方式运行不受信任的代码,以防止代码出现不希望的行为。对于信息流,限制采取标记敏感值、通过计算跟踪它们以及在应用程序端点检查标记的形式。这种动态方法通常更受欢迎,因为它们需要程序员很少的输入。

本文介绍了Hails,一个用于原则遏制的Web框架。Hails扩展了标准MVC(模型-视图-控制器)范式,以包括策略,实现MPVC(模型-政策-view-controller)范例中,程序员可以将基于标签的策略与程序的其他部分分开指定。Hails内置在Haskell中,它使用LIO(标记IO)库在线程/上下文级别强制执行安全策略,并使用MAC(强制访问控制)调解对数据库等资源的访问。作为信息流控制框架,它具有良好的性能,每秒处理大约47.8K请求。

Hails已经被用于构建多个Web应用程序,初创公司Intrinsic正在使用Hails的商业版本。Hails的工作表明,在Web应用程序中以微不足道的开销强制执行信息流是可能的,而不需要程序员改变他们的编程方式。

回到顶部

将实现负担转移到框架

杨,J.,等。
为数据库支持的应用程序提供精确的动态信息流。37次会议的会议记录thACM SIGPLAN编程语言设计与实现会议, 2016, 631647。http://dl.acm.org/citation.cfm?id=2908098

使用前两种方法,程序员仍然需要根据信息流正确地构造程序。如果不改变底层执行模型,任何框架所能做的最多就是在策略被违反时抛出异常或静默失败。

本文研究了如果信息流策略可以像内存管理语言分解分配和回收一样分解出程序,那么Web编程模型可能会是什么样子。本文介绍了Jacqueline,一个MPVC框架,它允许程序员指定如何为每个数据值计算一个备选默认值;以及关于何时显示可能包含数据库查询和/或依赖敏感值的每个值的高级策略。

敏感位置值的一个合理的默认值是对应的城市。有效的策略是允许查看器仅在查看器位于该位置的某个半径内时才能查看该位置。本文为Jacqueline提供了一种与现有SQL数据库一起工作的实现策略。虽然本文更多地关注于演示Web安全性的可行性,而不是Web安全性的具体细节,但它为可能希望采用该方法的从业者降低了风险。

回到顶部

最终的想法

在过去的几年中,我们看到了逐步采用实用信息流的趋势:首先是遏制,然后是微容器和微分割。这些技术控制哪些设备和服务可以与软件定义基础结构(如iptables和软件定义网络)的策略交互。Illumio、vArmour和GuardiCore是微细分领域众多初创公司中的三家。这种向细粒度方法的演变表明,人们对伴随信息流控制方法而来的系统重新架构和运行时开销变得更加开放。随着安全变得越来越重要,信息流技术变得越来越实用,向更多采用的转变将继续下去。

致谢感谢A. Aufrichtig, S. Chong, V. Iozzo, L. Meyerovich和D. Stefan。

回到顶部

移动Web计算的红色未来

文/ Vijay Janapa Reddi, Yuhao Zhu

在当今最普及的个人计算平台——移动设备的推动下,网络正处于新的进化的风口浪尖。目前,有超过30亿台连接互联网的移动设备。到2020年,这类设备将达到500亿台。在世界各地的许多市场中,移动网络流量超过了桌面网络流量,并继续以两位数的速度增长。

未来移动网络面临着三大挑战。本文所选的论文着重于认真应对这些挑战。第一个主要挑战是响应性的Web应用程序。据估计,网页加载时间每延迟一秒钟,亚马逊每年就会损失16亿美元的销售额,因为如果网页加载时间太长,移动用户就会完全放弃Web服务。由于搜索结果生成速度减慢0.4秒,谷歌失去了800万次搜索。移动Web响应的一个关键瓶颈是资源加载。当今Web页面中的对象数量已经达到数百个,并且还在稳步增长。未来的移动Web计算系统必须改进资源加载性能,这是第一篇论文的重点。

第二个主要挑战是能源效率。移动设备受到电池的严重限制。在摩尔定律的驱动下,计算能力大约每两年提高一次,而电池容量每10年翻一番,导致计算马力和驱动设备所需能量之间的差距越来越大。因此,未来的移动Web计算必须是节能的。我们选择的第二篇论文提出了对能源效率的Web编程语言支持。

第三个主要挑战是数据的使用。未来移动网络的大量使用将来自发展中国家的新兴市场,那里的移动数据成本高得令人望而却步。为了加速网络在新兴市场的发展,未来的移动网络计算基础设施必须有意识地为数据服务。最后,本文讨论了如何设计一个在谷歌规模下运行的实用而高效的HTTP数据压缩代理服务。

开发人员和系统架构师必须针对RED(响应能力、能源效率和数据使用)进行优化,理想情况下,他们必须一起进行优化,以开创新一代移动Web计算。

回到顶部

用于响应的智能资源加载

Netravali等人。
北极星:使用细粒度的依赖项跟踪加快页面加载。十三届会议的议事录th网络系统设计与实现Usenix研讨会, 2016年。https://www.usenix.org/conference/nsdi16/technical-sessions/presentation/netravali

移动Web响应的一个关键瓶颈是资源加载。瓶颈源于Web页面上对象数量的不断增加(例如,图像和级联样式表文件)。根据HTTP档案,仅在过去三年里,网页的大小就翻了一番。因此,提高资源加载性能对于改善整体移动Web体验至关重要。

资源加载在很大程度上取决于Web浏览器加载以呈现页面的资源的关键路径。这个以资源依赖图形式出现的关键路径不会静态地显示给Web浏览器。因此,今天的浏览器在资源加载过程中会做出保守的决定。为了避免违反资源依赖关系,Web浏览器通常会限制其资源加载并发性,这将导致性能下降。

Polaris是一个用于加速网页资源加载的系统,这是应对移动Web资源激增的重要步骤。Polaris离线构建了一个精确的资源依赖图,并在运行时使用该图来确定最优的资源加载计划。由此产生的调度最大化了并发性,因此大大提高了移动Web性能。北极星还因其透明的设计而引人注目。它在未经修改的Web浏览器上运行,无需Web应用程序或浏览器开发人员的干预。这样的设计最小化了部署的不便,并增加了采用它的机会,这两个因素对于有效地部署Web是必不可少的。

回到顶部

能源效率的Web语言支持

朱勇,李迪。
GreenWeb:用于节能移动Web计算的语言扩展。37次会议的会议记录thACM SIGPLAN编程语言设计与实现会议, 2016, 145160。http://dl.acm.org/citation.cfm?id=2908082

对于缺乏外部电源的移动设备来说,能源效率是最关键的制约因素。Web运行时(通常是浏览器引擎)必须根据用户QoS限制开始明智地预算Web应用程序的能源使用。然而,在今天的Web编程语言中,最终用户QoS信息在很大程度上是没有考虑到的。

GreenWeb背后的理念是,应用程序开发人员提供最小但至关重要的QoS信息,以指导浏览器的运行时能量优化。为新一代具有能源意识的Web应用程序开发人员提供授权,需要在语言级别上实现新的编程抽象。GreenWeb提出了两种新的语言结构,QoS类型而且QoS目标,以捕捉用户QoS体验的关键方面。通过开发人员辅助的QoS信息,GreenWeb浏览器可以确定如何交付指定的用户QoS期望,同时最小化设备的能源消耗。

GreenWeb不强制执行任何特定的运行时实现。作为一个例子,作者演示了使用ACMP(非对称芯片-多处理器)硬件的一个实现。ACMP是一种高效的异构架构,移动硬件供应商如ARM,三星和高通已经广泛采用,你可能在你的口袋里有一个。GreenWeb浏览器利用语言注释作为提示,动态地安排ACMP硬件上的执行,以实现节能和延长电池寿命。

回到顶部

新兴市场的数据意识

Agababov等人。
飞轮:谷歌的移动Web数据压缩代理。第十二届网络系统设计与实现Usenix研讨会论文集, 2015;http://research.google.com/pubs/pub43447.html

移动网络在新兴市场中至关重要。新兴市场的移动Web的第一级阻力是数据的高成本,而不是性能或能源效率。在发展中国家,移动数据支出超过个人收入一半的情况并不罕见。因此,减少传输的数据量是至关重要的。


“目前有超过30亿台联网移动设备。到2020年,这类设备将达到500亿台。”


谷歌的Flywheel是一个压缩代理系统,它使移动Web意识到数据使用情况。压缩代理以减少数据使用(并改善延迟)并不是一个新想法。然而,Flywheel表明,虽然代理服务器的核心是压缩,但需要考虑许多设计方面的问题,这需要大量的工程工作,特别是要使这样一个系统在谷歌规模上具有实用性。设计关注的例子包括请求异常时的容错和可用性、安全浏览、针对中间盒优化的健壮性,等等。此外,从大规模的测量结果中,作者提出了从小规模实验中可能无法观察到的有趣的性能结果。例如,数据压缩对降低延迟的影响高度依赖于用户数量、兴趣度量和Web页面特征。

回到顶部

结论

我们主张全面应对RED挑战。这将需要协同地跨不同的系统层进行优化。我们选择的三篇论文是朝着这种跨层优化努力迈出的第一步。有了额外的协同作用,我们可能会发现比每个层单独工作更大的优化空间。作为一个社区,是时候让网络在这个新兴的时代再次变得伟大了。

回到顶部

参考文献

1.专家说,企业数据泄露“不可避免”。山上(2014年11月30日);http://thehill.com/policy/cybersecurity/225550-cybersecurity-expert-data-breaches-inevitable

2.Facebook的安全漏洞可能会把你的个人信息泄露给罪犯。Komando.com(2015年8月10日);http://bit.ly/2fRXp8L

3.信息是美丽的。2016年全球最大的数据泄露事件;http://www.informationisbeautiful.net/visualizations/worlds-biggest-data-breaches-hacks/

4.Gellman, B.和Poitras, L.美国,英国情报部门从九家美国互联网公司的广泛秘密项目中挖掘数据。华盛顿邮报》(2013年6月7日);http://wapo.st/1LcAw6p

5.开放Web应用安全项目(OWASP)。静态代码分析,2016;https://www.owasp.org/index.php/Static_Code_Analysis

6.黑客词典:什么是气隙?《连线》杂志2014年12月8日;http://www.wired.com/2014/12/hacker-lexicon-air-gap/

回到顶部

作者

彼得百利他是斯坦福大学计算机科学的助理教授。他在未来数据系统小组的研究(http://futuredata.stanford.edu/)专注于下一代数据密集型系统的设计和实现。

让杨是卡内基梅隆大学计算机科学系的助理教授。2015年,她共同创立了网络安全工厂加速器,以弥合网络安全研究和实践之间的差距。

Vijay Janapa Reddi是德克萨斯大学奥斯汀分校电子与计算机工程系的助理教授。

Yuhao朱是德克萨斯大学奥斯汀分校的博士研究生。


版权由所有者/作者持有。授权ACM出版权利。

数字图书馆是由计算机协会出版的。版权所有©2017 ACM, Inc.


没有找到条目

Baidu
map