Side-channel attacks allow an adversary to uncover secret program data by observing the behavior of a program with respect to a resource, such as execution time, consumed memory or response size. Side-channel vulnerabilities are difficult to reason about as they involve analyzing the correlations between resource usage over multiple program paths. We present DifFuzz, a fuzzing-based approach for detecting side-channel vulnerabilities related to time and space. DifFuzz automatically detects these vulnerabilities by analyzing two versions of the program and using resource-guided heuristics to find inputs that maximize the difference in resource consumption between secret-dependent paths. The methodology of DifFuzz is general and can be applied to programs written in any language. For this paper, we present an implementation that targets analysis of Java programs, and uses and extends the Kelinci and AFL fuzzers. We evaluate DifFuzz on a large number of Java programs and demonstrate that it can reveal unknown side-channel vulnerabilities in popular applications. We also show that DifFuzz compares favorably against Blazer and Themis, two state-of-the-art analysis tools for finding side-channels in Java programs.
-
应用场景好,一般fuzzing的目标是找程序的crashes,DifFuzz是利用fuzzing这个技术去进行resource usage的分析,能找一些程序逻辑上面的问题(e.g., 密码破解,用户敏感信息泄露)。
-
不仅关注资源消耗的最坏情况,而且关注最好情况(SlowFuzz和PerfFuzz只关注最坏情况)。更重要的是关注不同输入造成的资源消耗上的Diff
-
Diffuzz与其他工具相比的一个优点是,它不仅显示应用程序是否易受攻击,而且还显示了该漏洞的严重性。因为最好情况和最坏情况的差异能一定程度上能反应漏洞的严重程度,SlowFuzz和PerfFuzz没有考虑到这一点(SlowFuzz的Feedback是让|Max-0|增大, 而DifFuzz的Feedback是让|Max-Min|增大。SlowFuzz没有考虑到 Max 和Min之间的差异可以说明程序的安全性)。
-
Fuzzing本身就是以不同输入测试一个程序的过程,这整个过程就能判断出资源消耗的变化(如SlowFuzz,PerfFuzz),硬要做成Differential Fuzzing的意义不大(当然人家为了水Paper我们也不好说什么)。
-
只是判断某个组件的安全性(密码函数),无法判断整个程序的安全性(如密码组件是安全的,而其它组件的时间消耗也有差异。例如SlowFuzz和Perffuzz揭露的算法复杂性问题而不是side-channal)
-
DifFuzz需要一些人为的努力(e.g. 需要人为编写驱动),并且将函数输入转化为(pub,sec)的形式。
最好情况的探索经常是没必要的,类似SlowFuzz和PerfFuzz那样只探索最坏情况通常已经足够?其实SlowFuzz和PerfFuzz的方法也适用于这种问题。
-
DifFuzz对于内存消耗的测量方法不好,它是使用固定时间间隔的采样,其精度取决于采样的时间间隔。
DIFFUZZ: Differential Fuzzing for Side-Channel AnalysisRemarkConference: ICSE 2019Full Paper: https://yannicnoller.github.io/publications/icse2019_nilizadeh_diffuzz.pdfCode: https://github.com/i...
侧信道
分析
技术简介
是对安全芯片的侧信道
分析
(s
ide
channel
analysis)的攻击方法,比如通过功耗、电磁辐射、时间、及其它一些可检测到的信息泄露出与密钥相关的信息。
如果集成电路未采取保护措施,则可能只需要很小的代价就可以实现破解并获得密钥。
根据目前报道的文献资料,如未对侧信道攻击进行防御设计,许多算法都可在短期内(几分钟到数天)被破解。
侧信道
分析
攻击方式成为破解密码芯...
DLF
uzz
:
Diff
erential F
uzz
ing Testing of Deep Learning Systems
文章目录DLF
uzz
:
Diff
erential F
uzz
ing Testing of Deep Learning Systems简介摘要动机DLF
UZZ
方法架构算法结论结论
DLF
uzz
:
Diff
erential F
uzz
ing Testing of Deep Learning Systems
DLF
uzz
:深度学习系统的
差分
模糊
测试
2018.12
DLFuz
论文笔记:Non-Profiled Deep Learning-based S
ide
-
Channel
attacks with Sensitivity Analysis(DDLA)
Benjamin Timon
eShard, Singapore
Contribution
基本思路就是我们先添加一个圆,动态改变他的材质,和大小,然后就出现上图一样的动态效果了,下面我们来实现一下
# 实现思路
我们先来加载一个原形,展示在地图上。官方文档地址https://cesium.com/learn/cesiumjs/ref-doc/EllipseGraphics.html 不会的可以自行看文档
let entity = this.viewer.entities.add({
position: Cesiu
Conference: ICSE 2020
Full Paper:https://yannicnoller.github.io/publications/icse2020_noller_hy
diff
.pdf
Artifact:https://github.com/yannic...
2014 - High Performance F
uzz
ing
样本选择、Engine 设计、AFL-DYNINST、Windows fork()
2015 - Go Speed Tracer
Gu
ide
d F
uzz
ing、二进制翻译、硬件 Tracing
2016 - Harnessing Intel Processor...
差分
隐私是一种保护个体隐私的技术,在k-means聚类算法中可应用
差分
隐私来保护敏感数据。在mapreduce框架下,可以通过以下步骤实现支持
差分
隐私保护的k-means聚类方法。
首先,数据拆分。将原始数据集分成多个数据块,每个数据块分配给不同的map任务进行处理。这样可以保证每个map任务只能访问到部分数据而不会暴露整个数据集。
然后,随机扰动。在每个map任务中,对自己所拥有的数据进行随机扰动,通过向特征向量添加噪声来
模糊
数据。这样可以在一定程度上隐藏个体的敏感信息,保护数据隐私。
接下来,局部聚类。每个map任务对自己的数据进行局部聚类操作,生成局部的聚类结果。这些局部聚类结果包含了扰动数据的统计信息,但并不能完全反映原始数据的真实情况。
最后,全局聚类。将所有的局部聚类结果传递给reduce任务,reduce任务对这些局部聚类结果进行整合和统计,得到全局的聚类结果。
通过上述步骤,支持
差分
隐私保护的k-means聚类方法在mapreduce框架下得以实现。由于在每个map任务中对数据进行了扰动,使得原始数据不易被恢复,从而保护了个体的隐私。同时,通过全局聚类操作,还可以得到相对准确的聚类结果,为数据
分析
提供可靠的统计信息。这种方法将
差分
隐私与分布式计算相结合,实现了隐私保护和数据
分析
的平衡。