acm-header
登录

ACM通信

新闻

停止泄漏


移动电话

图片来源:Alicia Kubista / Andrij Borys Associates

电脑泄漏。即使是运行强加密程序的机器也会提供可以用来推断秘密的信息,比如电磁信号、数据包的大小或在内存中存储数据所需的时间,这些都可以提供应用程序正在做什么的提示,从而允许攻击者推断信息并打破加密安全性。

这种侧通道的脆弱性多年前就已为人所知,但随着越来越多的计算转移到云计算、智能手机和平板电脑上,计算机科学家正在发现新的攻击途径。他们正在研究阻止这些袭击的方法。

“我们越来越遇到的一个问题是,我们的计算没有在一个安全的环境中进行,”微软研究员盖伊•罗斯布鲁姆(Guy Rothblum)表示。许多应用程序运行在服务器内部的虚拟机上,表面上与相邻的程序隔离开来。但是同一台计算机上的其他应用程序可以获得关于该服务器状态的信息,并使用它来推断第一个程序正在做什么。不仅仅是加密密钥容易受到这种攻击,这种攻击也被称为物理攻击,因为它们测量操作的一些物理特征。

Rothblum说:“它们对加密算法来说尤其具有毁灭性,但我担心我的专有算法在服务器上运行,或者我的敏感数据存储在服务器上。”

为了解决这个问题,罗斯布卢姆和麻省理工学院电气工程和计算机科学教授、罗斯布卢姆的前顾问沙菲·戈德瓦塞尔(Shafi Goldwasser)开发了一种方案,使计算更能抵御泄漏。他们创建了一个编译器,该编译器采用一种算法,并将其分解为一系列执行子计算的模块。尽管子计算可能会泄漏,但并不是所有的比特都能被发现。Rothblum说:“唯一的假设是它不会同时暴露子计算中发生的所有事情。”

每个模块都是加密安全的黑盒,允许假设的攻击者看到输入和输出,但看不到盒子内发生的计算。数据进入第一个模块,该模块执行一些计算,然后将输出传递给下一个模块,以此类推。Rothblum解释道:“他们每一个人都没有做任何太敏感的事情。”

即使攻击者能够了解某个特定模块在做什么,因为他只能发现一小部分位,他也无法了解到足够的信息来暴露整个算法。即使对手可以向问题中投入任意多的计算资源,情况也是如此。

从本质上说,编译器拉长了程序,从而大大降低了计算速度;来防止k每一个子计算中漏出的比特,程序的执行时间就会扩大一个因子k平方,k立方。但Rothblum乐观地认为,尽管这可能需要数年时间,但计算开销可以显著减少。一种方法可能是识别算法的敏感核心部分,并只保护这一小部分。重要的事实是编译器是可行的。“我们知道这是可以做到的,这是我们以前不知道的,”他说。“现在的问题是如何提高效率。”

回到顶部

智能手机窃听

在Rothblum致力于更安全的程序编译方法的同时,其他研究人员也在不断增长的移动设备中发现漏洞。今年5月,德克萨斯大学奥斯汀分校(University of Texas, Austin)的博士生Suman Jana在旧金山举行的IEEE安全与隐私研讨会(IEEE Symposium on Security and Privacy)上获得了最佳学生论文奖,他描述了一种让对手知道智能手机用户正在浏览哪些网站的攻击。该攻击利用Unix (Linux和Android的基础)中的proc文件系统(进程信息的虚拟文件)来揭示分配给程序的内存数量。在Windows和iOS系统中,其他途径也可以揭示类似的信息。

Jana解释说:“每当浏览器加载一个页面时,它都会进行大量的内存分配。“这会泄露你在浏览哪些页面。”

攻击者首先使用自己的浏览器访问Web页面,并记录浏览器呈现页面需要多少内存。Jana发现,在他访问的10万个网站中,他可以区分出30%到50%的网站,这取决于他使用的浏览器。这个过程对那些在两次访问之间变化不大的页面效果最好。

攻击者将其恶意应用伪装成无害的应用,诱骗智能手机用户下载它,就可以监视手机的内存分配,并找出用户正在查看和查找哪些页面,例如,他在WebMD上研究什么疾病。他可以推断出更多的信息。例如,他可以知道某人何时登录约会网站OKCupid,因为个人资料页面比登录页面使用更多的JavaScript。网站的免费用户将看到广告,攻击者可以通过使用Flash插件推断出广告。

Jana说,将这一过程与其他侧通道攻击相结合,可以暴露更多的信息。例如,对手可以测量用户打字时击键间隔的时间,并利用这一时间来猜测敲击的是哪些键。该信息可以帮助区分具有相似内存分配的两个页面。但如果用户正在登录页面或购物网站上,它也可以帮助攻击者猜测密码或信用卡号码。


Soundcomber可以推断出一个用户在自动电话系统中的位置,并记录下这个人的银行账号或社会安全号码。


加州大学戴维斯分校(University of California, Davis)计算机科学副教授陈浩(Hao Chen)开发了Touchlogger程序,它可以通过智能手机或平板电脑在触摸屏上受到压力时的移动方式来推断键盘敲击。陈说,虽然应用程序需要用户许可才能访问敏感数据,如位置读数,但陀螺仪或加速计等空间传感器的输出并不被认为是敏感的。事实证明,当用户点击屏幕上的键盘时,这些传感器可以测量移动和旋转,而机器学习算法可以预测按下了哪些键。“它提供了足够的信息来提高你的猜测能力,比随机猜测要好得多,”陈说。

另一款智能手机应用Soundcomber也能识别用户按下的号码,从而推断出手机和信用卡号码。电话系统使用两种音调的组合来代表键盘上的10个数字中的每一个;捕捉这些音调并执行频率分析,使攻击者能够梳理出数字。当用户按下一个键时,手机的麦克风还可以接收到手机发出的不同声音,从而获得另一条识别信息。

香港中文大学(Chinese University of Hong Kong)助理教授张克环(Kehuan Zhang)表示,这款应用还能进行“轻量级”的语音识别,只专注于数字。张克环在印第安纳大学(Indiana University, Bloomington)读书时帮助开发了Soundcomber。攻击者首先会给一系列银行打电话,然后通过自动系统上的各种提示,根据他喜欢的语言选择不同的选项来查询余额或付款,为每家银行开发一个模型。然后,当用户给银行打电话时,Soundcomber会推断出他在自动化系统中的位置,并记录下他的账号或社保号。

在所有这些情况下,一种防御措施是在正在处理的数据中添加噪声,使攻击者更难依靠统计分析来梳理出他们想要的信号。但是,就像Rothblum的编译器一样,这增加了计算负担,使程序效率降低。通过禁用proc系统,这种内存攻击可能会被阻止,但Jana表示,这会导致许多合法程序出现故障。同样,阻止互联网访问加速计可能会破坏一些理想的应用程序。

陈试图用AndroidLeaks来解决这个问题,这是一个自动检查智能手机应用程序并寻找潜在信息泄露的程序。然后,用户可以决定限制应用程序的权限,或者根本不使用它们。张和来自印第安纳州的同事以及微软研究院的陈硕一起开发了另一个程序Sidebuster,用来检查Web应用程序的源代码。“我们试图找出信息可能被泄露的地方,并试图量化泄露的数量,”张说。他们发现了流行的在线税务和投资软件的漏洞。

张说:“要想出一个通用的防御方案是非常困难的。”例如,Rothblum的方法不适用于Touchlogger,它记录的不是系统的内部状态,而是它与用户的交互。Rothblum希望他的编译器能够保护许多算法免受不同类型的侧信道攻击。但是,在它发展成实际的广泛部署之前,最好的防御措施可能是寻找潜在的漏洞,并在发现漏洞时加以封堵。

*进一步的阅读

蔡,L.和陈,H .
TouchLogger:从智能手机的动作推断触摸屏上的按键,第六届USENIX研讨会安全热点话题,旧金山,CA, 2011年8月9日

葛德华瑟和罗斯布卢姆
如何在电脑出现漏水的情况下,计算复杂度电子研讨会192012年2月5日,10

S.嘉娜和V .希马提科夫
备忘录:从过程足迹中学习秘密,IEEE安全与隐私研讨会,旧金山,加州,2012年5月2023日

Schlegel R., Zhang K., Zhou, X., Intwala, M., Kapadia, A.,和Wang X.
Soundcomber:智能手机上的一个隐蔽的、上下文感知的声音木马,十八人会议记录th年度网络与分布式系统安全研讨会2011年2月69日,加州圣地亚哥

华盛顿大学
侧通道和云:密码学的新挑战,http://www.youtube.com/watch?v=6hQ5kvaEFkw2010年8月30日

回到顶部

作者

尼尔·萨维奇是马萨诸塞州洛厄尔市的一位科技作家。


©2013 0001 - 0782/13/01 ACM

允许为个人或课堂使用部分或全部作品制作数字或硬拷贝,但不得为盈利或商业利益而复制或分发,且副本在首页上附有本通知和完整的引用。除ACM外,本作品的其他组件的版权必须受到尊重。允许有信用的文摘。以其他方式复制、重新发布、在服务器上发布或重新分发到列表,都需要事先获得特定的许可和/或费用。请求发布的权限permissions@acm.org传真(212)869-0481。

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


没有发现记录

登录为完全访问
»忘记密码? »创建ACM Web帐号
文章内容:
Baidu
map