PNG 이미지와 같은 이미지 파일 형식으로 문서 또는 프로그램과 같은 임의의 데이터를 저장할 수 있습니까? 내 걱정은 누군가가 악성 코드에 사용하기 위해 데이터를 이미지로 인코딩하여 Flickr와 같은 사이트에 업로드 할 수 있다는 것입니다.
:-P
PNG 이미지와 같은 이미지 파일 형식으로 문서 또는 프로그램과 같은 임의의 데이터를 저장할 수 있습니까? 내 걱정은 누군가가 악성 코드에 사용하기 위해 데이터를 이미지로 인코딩하여 Flickr와 같은 사이트에 업로드 할 수 있다는 것입니다.
:-P
답변:
대부분의 파일 형식의 경우 예입니다. 예를 들어 PNG 파일은 유형이 지정된 청크로 구성되므로 이름이 aAAA
있거나 lOLZ
임의의 데이터가 있는 청크를 추가 할 수 있습니다 . JPEG에는 "응용 프로그램 별"세그먼트가 있습니다 . JPEG의 Exif 태그는 실제로 이러한 태그 내부의 완전한 TIFF 구조입니다. GIF와 같은 다른 형식은 확장 할 수 없지만 종종 텍스트 주석 필드가 있습니다. 이것은 이미 남용되었습니다 .APPn
그러나이를 막을 수있는 방법이 있습니다. 예를 들어 Imgur와 같은 웹 사이트는 모든 업로드 pngcrush
또는 이와 유사한 도구를 사용 하여 모든 업로드를 자동으로 처리 하므로 꼭 필요한 것은 아닙니다.
그러나 결국 데이터 교환을 막을 수 없습니다. 앞에서 언급 한 이미지 스테가 노 그라피 외에도 트위터와 그 클론, 수십 개의 페이스트 빈 (알 수없는 게시물이 상당히 정상적인 것으로 간주 됨), 오래된 블로그 게시물의 주석 양식 (이 제안 된 책을 여전히 기억하려고합니다), 보다 현실적으로 대부분의 맬웨어는 단순히 "자신의"서버에 접속합니다.
악성 데이터와 같은 것은 없습니다. 데이터는 실행될 때까지 악의적이지 않으며 더 이상 데이터가 아닙니다. 이런 종류의 문제는 이미지가 아니며 데이터를 실행시키는 버그가 포함 된 소프트웨어 (Windows, Photoshop 등) 일 것입니다. 이는 주요 소프트웨어 공급 업체의 중요한 관심사이며 이러한 버그가 발견 된 후 곧 바로 수정 될 것입니다.
다른 답변에서 언급했듯이 이미지 자체가 아닌 데이터를 파일에 추가 할 수 있습니다. 그러나 이것은 종종 유용하거나 표준 관행입니다. 인터넷에서 찾은 임의의 이미지보다 실행 파일에주의하는 것이 훨씬 중요하다고 생각합니다. 여기서의 위험은 그렇게 크지 않습니다.
PNG를 포함한 이미지 파일은 특정 형식을 갖습니다. 파일의 헤더 부분은 이미지를 설명하며 다음에 오는 모든 데이터는 이미지 데이터 (헤더를 기반으로)로 해석됩니다.
그러나 PNG의 끝에 임의의 데이터를 추가하여 이미지 데이터를 지나서 나중에 읽을 수 있습니다. 이것은 쉽게 감지 할 수 있습니다-이미지 데이터의 끝을 지나는 데이터는 없어야합니다.
또는 steganography를 사용하여 임의의 데이터를 이미지 자체로 인코딩 할 수 있습니다 . 이것은 무엇을 찾아야하는지 정확히 알지 않는 한 이미지 자체를 감지 할 수없는 방식으로 미묘하게 변경합니다 (인코딩 방법에 대한 사전 지식이 종종 필요함).