ImageMagick Security

HackTricksをサポートする

詳細はhttps://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.htmlを確認してください。

ImageMagickは多用途の画像処理ライブラリであり、そのセキュリティポリシーの設定には多くのオプションと詳細なオンラインドキュメントの欠如から課題があります。ユーザーはしばしば断片的なインターネットソースに基づいてポリシーを作成し、潜在的な誤設定を引き起こします。このライブラリは100以上の画像フォーマットをサポートしており、それぞれがその複雑さと脆弱性プロファイルに寄与しています。これは歴史的なセキュリティインシデントによって示されています。

より安全なポリシーに向けて

これらの課題に対処するために、ツールが開発されました。このツールは、ImageMagickのセキュリティポリシーの設計と監査を支援することを目的としています。このツールは広範な研究に基づいており、ポリシーが堅牢であるだけでなく、悪用される可能性のある抜け穴がないことを保証することを目指しています。

アロウリスト対デナイリストアプローチ

歴史的に、ImageMagickのポリシーは特定のコーダーのアクセスを拒否するデナイリストアプローチに依存していました。しかし、ImageMagick 6.9.7-7の変更により、このパラダイムがシフトし、アロウリストアプローチが可能になりました。このアプローチでは、最初にすべてのコーダーのアクセスを拒否し、その後信頼できるコーダーに対して選択的にアクセスを許可することで、セキュリティ姿勢が強化されます。

...
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read | write" pattern="{GIF,JPEG,PNG,WEBP}" />
...

ポリシーの大文字小文字の区別

ImageMagickのポリシーパターンは大文字小文字を区別することに注意することが重要です。そのため、コーダーやモジュールがポリシー内で正しく大文字であることを確認することが、意図しない権限を防ぐために重要です。

リソース制限

ImageMagickは、適切に構成されていない場合、サービス拒否攻撃に対して脆弱です。ポリシー内で明示的なリソース制限を設定することは、そのような脆弱性を防ぐために不可欠です。

ポリシーの断片化

ポリシーは異なるImageMagickインストール間で断片化される可能性があり、潜在的な競合や上書きが発生することがあります。次のようなコマンドを使用して、アクティブなポリシーファイルを見つけて確認することをお勧めします:

$ find / -iname policy.xml

スターター、制限的ポリシー

制限的ポリシーテンプレートが提案されており、厳格なリソース制限とアクセス制御に焦点を当てています。このテンプレートは、特定のアプリケーション要件に合わせたカスタマイズされたポリシーを開発するためのベースラインとして機能します。

セキュリティポリシーの有効性は、ImageMagickの identify -list policy コマンドを使用して確認できます。さらに、前述の evaluator tool を使用して、個々のニーズに基づいてポリシーを洗練させることができます。

参考文献

Support HackTricks

Last updated