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