ImageMagickのセキュリティ

Reading time: 6 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

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

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

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

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

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

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

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

ポリシーにおける大文字小文字の区別

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

リソース制限

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

ポリシーの断片化

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

shell
$ find / -iname policy.xml

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

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

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

参考文献

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする