【问题标题】:Tools for Feature Extraction from Binary Data of Images从图像的二进制数据中提取特征的工具
【发布时间】:2012-09-05 07:36:30
【问题描述】:

我正在从事一个项目,其中我的图像文件格式错误(模糊,即它们的图像数据已被更改)。这些文件在各种平台上呈现时会导致来自平台的警告/崩溃/通过报告。

我正在尝试使用无监督机器学习构建一个防护罩,这将帮助我将这些图像识别/分类为恶意或非恶意图像。我有这些文件的二进制数据,但我不知道我可以从中识别出哪些特征集/模式,因为从视觉上看,这些图像可能是任何东西。 (我需要能够从二进制数据中找到特征集)

我需要一些关于可用于从该二进制数据中自动提取特征的工具/方法的建议;我可以将其与无监督学习算法(如 Kohenen 的 SOM 等)一起使用。

我是新手,任何帮助都会很棒!

【问题讨论】:

  • 图像的二进制数据是什么意思?如果您可以查看图像,那么您可以检索作为特征所需的每个像素的值。

标签: validation machine-learning file-format feature-extraction fuzzing


【解决方案1】:

我认为这是不可行的。

问题是这些都是漏洞利用,并且对它们的培训不会告诉你太多关于未来漏洞利用的信息。因为这是一个极其不平衡的问题:没有漏洞利用与另一个漏洞使用相同的东西。因此,即使您生成多个相同类型的文件,您最终也可能会获得一个相关的单个训练案例,例如针对每个漏洞利用。

不过,您需要做的是从文件元数据中提取特征。这就是漏洞所在,而不是实际图像。因此,解析文件已经成为问题所在,您的检测工具可能会受到此类漏洞的攻击。

由于数据可能被压缩,一个简单的二进制特征也不会起作用。

【讨论】:

  • 非常感谢您的回答!我想我将不得不改变我的方法。我正在查看一些元数据提取器,我遇到了 - Hachoir(python 库)。关于我可以使用的工具/库的任何其他建议?谢谢:)
  • 问题是攻击通常针对元数据提取器。所以你不能相信他们,你也会很脆弱。
  • 这很有趣。但是必须有某种方法可以在不损害系统安全性的情况下解决这个问题?
  • 好吧,为了确保系统安全,您最好的尝试是使用沙箱,使用所有主要解析器解析文件,然后查看其中一个解析器是否崩溃。关键是使用强大的沙盒。
  • 非常感谢您的帮助。不过,我想再问你一个问题。您建议我从图像标题中提取哪些特征?因为标题中的漏洞利用会有所不同。我应该考虑提取哪些特征并将其输入 ML 算法?谢谢
【解决方案2】:

您可能根本不想查看实际的像素数据,因为大多数(几乎可以肯定)损坏位于文件标题中,它具有不同的“块”(例如 png,工作方式不同但方式相同)其他格式):

http://en.wikipedia.org/wiki/Portable_Network_Graphics#File_header

应该直接选择特征,制作一个程序,从文件中读取所有标题信息,如果信息丢失,并将这些信息用作特征。仍然会比不必要的原始图像数据小得多。

哦,总是从更简单的算法开始,比如 pca 和 kmeans 之类的,如果它们失败了,你应该拿出大炮。

【讨论】:

  • 这有点误导,但我认为这毕竟是关于数据的。请参阅对我的回答的评论。
  • 你觉得呢?为什么他提到:“这些文件在各种平台上呈现时会导致来自平台的警告/崩溃/通过报告。” ?
  • 不,你是对的。我已删除我的答案并重新标记了问题。
  • aaa okey,np :) 抱歉,我只是想看看我是否一切都正确,有点累
  • 哇,谢谢你的回答!正如我在上面的一个答案中提到的,我想我将不得不改变我的方法。我正在查看 hach​​oir(python 库)以进行元数据提取。关于我可以使用的工具的任何其他建议(在 python 或 java 中)。干杯! :))
猜你喜欢
  • 2013-02-21
  • 1970-01-01
  • 2012-09-24
  • 1970-01-01
  • 1970-01-01
  • 2012-09-05
  • 1970-01-01
  • 2018-08-17
  • 2018-09-24
相关资源
最近更新 更多