디지털·가전제품

스테가노그래피로 다른 무언가를 숨긴다는게 무슨뜻인가요

스테가노그래피 기술로 이미지같은거에 다른 무언가를 숨긴다고 들었는데

예를들어, 이미지에 exe실행파일같은걸 숨기면

그 이미지를 다운받거나 실행하는 순간 그 exe도 열리게 되어있다는 소리인가요?

아니면 그 이미지를 해독하는 프로그램이라던지 그런걸 써야 숨긴 exe를 뽑아낼 수 있다는 소리인가요?

이 부분에 대해서 아무리 찾아봐도 자세히 설명을 안해주네요

만약, 그냥 이미지를 다운받거나 여는것만으로도 숨긴 파일이 열린다면

바이러스나 랜섬웨어같은것도 그냥 옮겨버릴 수 있으니 상당히 위험한거아닌가요?

그런거라면 진짜 뭘 무서워서 할 수가 없겠는데요

부탁드립니다

알려주세요

3개의 답변이 있어요!

  • 결론부터 말씀드리면 두 번째가 맞습니다. 이미지를 내려받거나 열어보는 것만으로 숨겨진 exe가 실행되지는 않습니다. 스테가노그래피는 무언가를 숨기는 기술이지, 그것을 실행시키는 기술이 아니기 때문입니다.

    원리부터 보시면 이해가 빠릅니다. 이미지 파일은 픽셀 하나하나의 색을 숫자로 저장합니다. 스테가노그래피는 그 숫자의 맨 끝자리를 아주 조금씩 바꿔서 데이터를 심는 방식입니다. 색이 한 단계 달라지는 정도라 눈으로는 차이를 알 수 없습니다. 파일 뒤쪽 여백이나 메타데이터 영역에 통째로 붙여 넣는 방식도 있습니다.

    그럼 왜 실행이 안 되느냐. 운영체제가 프로그램을 실행하는 것은 파일 안에 실행 코드가 들어 있어서가 아니라, 그 파일을 실행 파일로 취급해서 CPU에 넘겨줄 때뿐입니다. 확장자가 png인 파일을 이미지 뷰어가 열면 뷰어는 그것을 색상 데이터로만 읽습니다. 숨겨진 바이트는 그냥 이상한 색 값일 뿐, 코드로 해석되지 않습니다.

    그래서 실제 공격은 항상 두 단계로 이루어집니다. 이미지에 악성코드를 심었다면, 그것을 꺼내서 실행해 줄 별도의 프로그램이 이미 피해자 컴퓨터 안에 들어가 있어야 합니다. 순서가 이미지가 먼저가 아니라, 침투가 먼저이고 이미지는 나중입니다. 그럼 왜 굳이 이미지에 숨기느냐면, 백신이나 방화벽이 이미지 다운로드는 잘 막지 않기 때문입니다. 탐지를 피해 추가 명령이나 코드를 전달하는 배달 수단인 셈입니다.

    다만 예외가 하나 있습니다. 이미지를 읽어 들이는 프로그램 자체에 결함이 있는 경우입니다. 일부러 망가뜨린 이미지 파일을 넣으면 뷰어가 처리 과정에서 오류를 일으키고, 그 틈으로 코드가 실행되는 사례가 과거에 실제로 있었습니다. 다만 이것은 스테가노그래피 때문이 아니라 이미지 해석기의 취약점 문제이고, 운영체제와 앱을 최신 상태로 유지하면 대부분 막힙니다.

    그러니 이미지 자체를 무서워하실 필요는 없습니다. 위험한 것은 여전히 실행 파일 쪽입니다. 윈도우 탐색기에서 파일 확장명 표시를 켜 두시고, 사진처럼 보이는데 확장자가 exe, scr, js, lnk인 파일을 조심하시면 됩니다. 아이콘만 사진 모양으로 바꿔 놓는 수법이 현실에서는 훨씬 흔합니다.

    정리하면 스테가노그래피는 존재 자체를 숨기는 기술이고, 암호화는 내용을 읽지 못하게 하는 기술입니다. 목적이 서로 다릅니다. 그리고 숨겨 놓은 것을 꺼내려면 어떤 방식으로 심었는지 아는 전용 도구가 필요합니다. 이미지를 여는 것만으로 알아서 튀어나오는 구조가 아니니, 그 부분은 안심하셔도 좋습니다.

    채택된 답변
  • 참 오랜만에들어봅니다.

    몇년 전에 유령이라는 드라마에서 소개가 된 기술로 해당 기술은 이미지 파일과 같은 파일 안에 실행 파일을 숨기는 방식으로 주로 악성코드라기보다 특정 파일을 위장해 보내는 등에 쓰이는 기술입니다.

    그래서 직접적으로는 해당 기술에 의해서 바이러스나 악성코드에 걸리는 것은 아니며 정말 그런 일을 하고자 했다면 보내ㅡㄴㄴ 시스템에 해당 코드를 실행시킬 수 있는 취약점이나 매개체가 반드시 있어야 합니다.

  • 저는 스트레스를 받으면 일단 하던 일을 모두 멈추가 

    주변 공원 등으로 산책을 갑니다. 

    그러다 정말 스트레스를 받으면 그냥 잡니다. 

    자고 나면 머리 아픈 것도 조금 사라지고 생각도 정리 됩니다.