2

悪意のある画像を特定しようとしているセキュリティの問題に取り組んでいます。悪意のある画像を検出するために、さまざまな機械学習アルゴリズムを実行するためにWekaにフィードできる画像(おそらくメタデータから)から属性をマイニングする必要があります。

画像メタデータはさまざまな方法で破損する可能性があるため、学習アルゴリズムで定量化できる画像メタデータで確認する機能を特定するのが難しいと感じています。

以前は、ImageJなどのツールを使用してピクセル情報などの情報を使用して画像を分類していましたが、画像/画像メタデータから特徴を識別して定量化するためのより良い方法(セキュリティに関して)を探しています。

ツールと機能に関する提案はありますか?

4

1 に答える 1

2

前に述べたように、これは学習の問題ではありません

問題は、あるエクスプロイトが別のエクスプロイトと「似ていない」ことです。彼らは、境界チェックの欠落など、個々の異なる (!) ライブラリの個々の個別のバグを悪用します。ファイルのプロパティではなく、それを使用するライブラリのプロパティです。10 のライブラリのうち 9 つは気にしません。プログラミングエラーのために誤動作します。

そのようなファイルを検出するためにできる最善の方法は、思いつく限り最も洗練されたと同時に最も堅牢なフォーマット検証ツールを作成し、仕様に 1000% 適合しない画像を拒否することです。実際に有効な画像を処理する際にライブラリにエラーがないことを前提としています。

エクスプロイトが実際にどのように機能するかを調査することから始めることを強くお勧めします。何を「学習」しようとしているのかを理解することは、それらを一般的に検出する何らかの方法につながる可能性があります(または、一般的な検出が不可能な理由を理解する...)。

これらのエクスプロイトの1 つまたは 2つがどのように機能するかについてのアイデアの簡単な例を次に示します。

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 とは何かというイエロー ブックの仕様に違反しているからです。

于 2012-10-03T11:56:51.567 に答える