【问题标题】:Feature extraction from Image metadata从图像元数据中提取特征
【发布时间】:2012-09-24 07:42:51
【问题描述】:

我正在解决一个安全问题,我正在尝试识别恶意图像。我必须从图像中挖掘属性(很可能来自元数据),这些属性可以输入到 Weka 以运行各种机器学习算法,以检测恶意图像。

由于图像元数据可能以各种不同的方式损坏,我发现很难识别图像元数据中要查看的特征,我可以量化这些特征用于学习算法。

我之前使用 ImageJ 等工具使用像素信息等信息来帮助我对图像进行分类,但是我正在寻找一种更好的方法(关于安全性)来识别和量化图像/图像元数据中的特征。

对工具和功能有什么建议吗?

【问题讨论】:

标签: image-processing machine-learning metadata feature-extraction


【解决方案1】:

如前所述这不是学习问题

问题在于一个漏洞利用 *类似于*与另一个漏洞。他们利用各个不同(!)库中的各个单独错误,例如缺少边界检查。它与其说是文件的属性,不如说是使用它的库。 10 个图书馆中有 9 个不在乎。一个人会因为编程错误而行为不端。

检测此类文件的最佳方法是编写最迂腐同时又健壮格式验证器提出并拒绝任何不 1000% 符合规格的图像。假设库在处理实际有效的图像时没有错误。

我强烈建议您从调查漏洞的实际工作原理开始。了解您要“学习”的内容可能会指导您以某种方式检测它们(或了解为什么存在无法进行一般检测...)。

下面是一个简单的例子,说明这些漏洞中的一两个如何发挥作用:

假设我们有一个非常简单的文件格式,比如 BMP。对于压缩,它支持简单的运行长度编码,因此可以将相同的像素有效地存储为(count x color 对)。不适用于照片,但对于线条艺术来说非常紧凑。考虑以下图像数据:

Width: 4
Height: 4
Colors: 1 = red, 2 = blue, 3 = green, 4 = black
Pixel data: 2x1 (red), 4x2 (blue), 2x3, 5x1, 1x0, 4x1

您在文件中发现了多少错误?它们可能会导致一些信任库代码失败,但是任何现代库(在了解此类攻击并知道文件可能由于传输和硬盘错误而损坏的情况下编写)都应该跳过它,甚至可能产生部分图片。看,也许它不是攻击,而只是生成图像的程序中的一个编程错误......

哎呀,即使不是每次越界使用都必须是攻击。想想CD。有时,每个人都使用“过度刻录”来在 CD 上放入比规范所指的更多的数据。是的,一些驱动器可能会因为您过度刻录 CD 而崩溃。但我不会认为所有超过 650 MB 的 CD 都是攻击,因为它们违反了黄皮书关于 CD 的规范。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 2018-07-08
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 2019-03-24
    • 2019-03-12
    相关资源
    最近更新 更多