it-swarm-korea.com

손상된 이미지 취약점은 무엇입니까? 어떻게 작동합니까?

누군가 Windows에서 악성 이진 코드를 이미지 파일에 삽입하면 정확히 어떻게됩니까? 어떻게됩니까?

22
Moshe

이러한 공격은 버그가 포함 된 이미지 파서에 의존하며, 그렇지 않으면 약간 엉뚱한 그림을 실행할 수 있습니다.

예를 들어, "빨간색"이 색상으로 해석되는 대신 컴퓨터가이 색상을 쉘 명령으로 해석하려고 시도 할 수 있습니다.

12
Zian Choy

@Zian이 언급 한 버퍼 오버플로 유형 버그보다 훨씬 흔합니다 (최근에 4-5 년 전 Windows에서 이런 종류의 WMF 취약점이 있다고 생각하지만)은 GIFAR (SO에서도 검색) :
유효한 이미지 파일 (예 : GIF)과 유효한 Zip 파일 (예 : JAR (컴파일 된 Java 바이트 코드)) 인 파일입니다.
이 형식은 헤더를 저장하는 방식 때문에 가능합니다. 특히 상호 배타적이지 않습니다.

따라서 모든 유효성 검사를 통과하는 파일을 가질 수 있지만 브라우저에 표시 될 때 Java 코드가 실행됩니다 (유효한 JAR 파일을 다운로드했기 때문에, 딘차?)

내가 아는 한, 이것은 주요 공급 업체에 의해 수정되었지만 실제로 최신 상태가 아님을 인정합니다.
(GIFAR의 원래 발견자는 여기 를 찾을 수 있습니다.)

8
AviD

"이미지"라고 말하면 JPEG 또는 GIF와 같은 것을 의미한다고 가정합니다.

대답은 구형 소프트웨어에 이미지가 표시 될 때 혼란 스러울 수있는 버그가 있다는 것입니다. 예를 들어 이미지에는 일반적으로 표시되지 않지만 이미지를 촬영 한 iPhone 카메라의 GPS 좌표와 같은 항목이 포함 된 메모 필드가 있습니다. 일반적인 소프트웨어는 이러한 주석이 100자를 초과하지 않을 것으로 예상하지만 해커는 10,000 개의 문자 주석을 만드는 것과 같은 말도 안됩니다. 소프트웨어는 이것을 안전하게 거부해야하지만, 그렇지 않은 경우에는 예기치 않은 문자가 다른 메모리 영역으로 넘치게되는 버그가 있습니다. 해커가 10,000 바이트를 바로 만들면 버그가있는 소프트웨어가 코드를 실행할 수 있습니다.

우리 인간이 그 설명이 짧고 영어 텍스트라고 기대하기 때문에 해커가 해커가 그 필드에 길고 실행 가능한 코드를 넣는 것을 막지 않습니다.

MSPaint, Internet Explorer, Microsoft Word에 버그가있을 수있는 코드에는 여러 가지가 있습니다. 그들은 모두 같은 일을하기 위해 다른 코드를 사용하며, 다른 버그를 가지고 있습니다. 따라서 소프트웨어를 최신 상태로 유지해야 새 버그가 발견 될 때 이러한 손상된 이미지가 영향을받지 않습니다.

5

의견에서 질문에 이르기까지 실행 가능 이미지 의 세부 정보에 관심이있을 수 있음을 이해했습니다. 사람에게 이미지 (그림)로, 컴퓨터를 실행 가능한 스크립트 (프로그램)로 보는 실행 가능한 스크립트 또는 프로그램 인 그림은 다음과 같습니다.

최신 정보:
여기에 바이러스 (PHP, JavaScript, ActionScript 등) 코드를 이미지에 포함시키는 방법에 대한 추가 참조가 있습니다.