作者:{WXL}@ArkTeam
原文作者:Daimeng Wang, Ajaya Neupane, Zhiyun Qian
原文题目:Unveiling your keystrokes: A Cache-based Side-channel Attack on Graphics Libraries
原文来源:Graphics Libraries_NDSS_2019
作为侧通道攻击的目标,这些图形库由操作系统提供并且由应用程序动态加载在用户进程之间共享,即不同的虚拟页面被映射到相同的物理页面。为恶意进程创造了一个推断受害者进程的图形相关活动的机会。
图形库通常会优化其执行逻辑以实现高性能。例如,在处理更简单的图形内容时,图形库会执行与复杂内容不同的一组过程。同时,即使执行相同的子程序集,对于不同的输入(例如,要呈现的不同字符),执行时间仍然可以不同。因为这些图形操作的执行时间是依赖输入并且可测量的,因此该处理逻辑创建的侧通道,可以允许攻击者推断用户的输入。
攻击实现步骤:
图1 攻击模拟流程图
攻击模拟实现:
Ubuntu屏幕键盘。使用flush+reload 侧通道攻击。结果只需输入一次密码,可以在第一次尝试中正确猜出 50%的密码,在 10 次猜测中可以猜测 80%的密码。如果攻击者可以测量 10 次登录尝试,则可以在第一次猜测中破解 95%的密码。结果取决于字典大小。
图2 ubuntu屏幕键盘密码猜测结果
Android 应用程序。使用evict+reload攻击。结果预测单个字符所需的猜测次数,在第一次猜测时猜测 60%的密码,在 10 次猜测中猜测 90%的密码。图3(b)显示以 100%准确度猜测单个数字所需的猜测次数。
图3 Android应用程序密码猜测结果