예를 들어서, 바이러스나 악성코드에 감염됐을 시,
기존에 있는 로컬 파일들 속에 [폴더, 즉 디렉토리가 아닙니다, 'pdf' 'mp4' 등의, '파일' 입니다.] 악성코드가 침투하는 게 기술적으로 가능한지 궁금합니다.
예컨데 바이러스에 감염 됐을 때 기존에 있던 멀쩡해 보이는 파일들-예컨데 pdf나 사진, 영상이나 프로젝트 파일들만 따로 옮기고 컴퓨터를 초기화하는 방식이, 효과가 있는가
내지는 일상적인 상황 속에서 단순히, 말씀드렸던 pdf, mp4, mp3 등의 파일만 옮기는 상황에서도 악성코드가 침투할 수 있는가 도 될 수 있겠네요.
솔직히 인터넷에서 pdf 나 gif, jpg 등의 파일을 다운받았을 때 거기에 악성코드가 숨겨져있고, 뷰어 혹은 다운로드를 통해 실행, 감염되는 것까지는 기술적으로 가능할,, 듯? 싶습니다.
그런데 만약 악성코드를 파일 속에 숨기는 게 가능하다면,
기존에 있던 로컬 파일들에 침투해서 그 파일들을 전파 매개체로 삼거나,
최소한 안티바이러스로 부터 스스로를 숨기는 등의 것도 가능해지는 것인가 의문이 들었습니다.
네, 그런데 실행된 악성코드가 '자체적으로' 자식 악성코드들을, 기존에 로컬 드라이브에 있던 파일들 속에 심는 것이 가능한가가 궁금했던 겁니다.
예컨데, '기존 c 드라이브에 원래 jpg 파일이 있었는데, 침입 후 실행된 부모 악성코드가 자식 악성코드를 기존 jpg 파일에 자체적으로, 로컬 컴퓨터 내에서 심는 게 가능한건가' 식으로요..
혹시, 앱/웹 상에 올려진다는 게, 굳이 html 형식으로 열리거나 하는 걸 말씀하시는 건가요?
웹 상이라면, 구글 드라이브나 아이클라우드
혹은 써드파티 웹 이미지 뷰어도 포함인지 궁금합니다.
하지만 코드를 심는다고 그 코드가 가동(?!)되는건 아니라서요..
이미지파일이나 동영상 파일 속에 코드를 넣은들 코드를 활성화시킬 방법이 없죠.
그래서 악성코드의 숙주가 되는 파일이 몇 가지로 특정되어있는 겁니다.
이미 실행된 악성코드가 기존 로컬 파일에 악성코드를 심은 다음
보안프로그램에 의해 부모 악성코드? 가 삭제되도,
파일에 심겨진, 실행되지 않은 자식 악성코드는 계속 잠복해있다가
뷰어로 열거나 [로컬 파일의 경우] 다운로드 혹은 붙여넣기 등의 상황에서 실행되게끔 심으면 되지 않나요?
악성코드를 코드뷰어로 열어보는걸로는 코드가 실행되지 않는것과 같은 이치 입니다.
예시가 좀 애매한데... 먹어야 효과가 나타나는 약물을 사진에 발라서 사진을 아무리 뿌려봤자
그 어디서도 약효가 발휘되지 않는 상황.. 이라면 좀 이해가 되려나요?
수정 끝나고 즉시 답글을 받았네요;;
네, 뭔지 알 것 같습니다만,
그러면 plex나 구글 포토같은 스트리밍, 파일 탐색기에서의 조회 등은
직접 실행과 다른 건가요?
일단 윗 분이 load라는 키워드를 주셔서,
보니까 프로그램을 메모리로 불러오는 작업을 말하는 거라는 건 알겠는데,
사진, 영상 뷰어 등이 어떤 원리로 작동을 하는지 몰라서 헷갈리네요..
사실상 뷰어도 결국은 읽어내는 것이니, 결국은 메모리를 불러와야 하는 것 아닌가 하는 생각이 들어서요..
제 의도와는 다르게 전달이 된 듯 싶습니다.
제가 여쭸던 것은, 컴퓨터가 악성코드에 감염이 됐을 때, '기존에' 컴퓨터 내에 있던 사진 영상 pdf 파일 등에 감염으로 인해서 악성코드가 심겨지는 게 가능한가,
만약 가능하다면, 뷰어를 통해 로컬 파일을 열었을 때나 붙여넣기를 통해 감염도 가능한건가
를 여쭤본 것이었습니다.
그리고 악성코드를 만드는 사람의 의지에 따라 사진이나 영상파일에 코드를 감염?시킬 수는 있습니다.
그런데 거기까지 입니다.
악성코드를 실행시켜줄 수 없는 파일에 감염시킨것 뿐이니까요.
이미지파일이나 영상파일은 실행파일이 아니므로 이런 파일을 통해 악성코드가 퍼질수는 없습니다.
그리고 악성코드에 감염된 파일은 복사해서 붙이는 작업을 통해 복사 됩니다.
하지만 복사해서 붙이는 작업만으로는 악성코드를 실행시키지는 못합니다.
실제로 악성코드를 실행시킬 수 있는 파일이라도 실행이 아닌 복사 붙이기 작업으로는
악성코드가 실행되지 않습니다.
다만 실제로는 실행파일이지만 사용자를 속이기 위해 위장된 확장자로 보이도록 하는 방법으로
악성코드를 퍼뜨리는 경우가 있습니다.
여기서 말씀하신 '실행' 이라는 것은 html이나 다른 특별한 툴로 굳이 실행을 시키는 것이고,
영상 플레이어로 재생하거나 사진 뷰어로 보거나 심지어는 사진 속성 조회 및 속성 수정 시에도 '실행'되지는 않는다는 거군요,
'기존 c 드라이브에 원래 jpg 파일이 있었는데, 침입 후 실행된 부모 악성코드가 자식 악성코드를 기존 jpg 파일에 자체적으로, 로컬 컴퓨터 내에서 심는' 것은 일단 가능한 거고요?
감사드립니다 ^^
네, 감사드립니다만,
웹에서 파일들을 스트리밍하는 plex나, 뭐 구글 포토 등도 어쨌든 웹에서 html로 열릴 수 있고,
사진 뷰어나 동영상 플레이어, 파일 탐색기 등도 결국 load 로써 직접 실행되는 것 아닌가 하면서 헷갈리네요,,
사실상 미디어 뷰어도 결국은 읽어내는 것인데, 결국은 load와 뭐가 다른가 하는 생각이 들기도 하고요..
이런 데이터는 다른 파일에 쉽게 숨길 수 있습니다.
심지어 이걸 이용한 다양한 기술들도 있습니다. 그림파일 안에 zip파일을 같이 넣는다던지...
하지만 코드가 코드로서 의미를 가지려면, '실행'이 되어야 합니다.
그런데 실행이 되는 조건은 매우 제한적이죠.
처음부터 코드를 실행되도록 약속된 확장자에서만 코드를 끼워넣어 실행이 가능하고, 이것도 보안을 강화하다보니, 허가받지 않은 코드들은 실행을 막습니다.
반면에 취약점을 이용해 데이터로만 존재해야만 하는 코드를 실행시키기도 하죠.
단순 데이터로 취급되어야 할 것을 실수로 실행시켜버리는 보안 취약점인데, 대표적으로 xss 공격 같은게 이걸 이용하는거죠.
애초에 질문 자체가 외부에서 악성코드가 담긴 파일을 다운받는 것이 아니라
감염에 노출됐을 때 직접 만든 파일들에 악성코드가 심겨져서 치료 이후에 실행되는 거라는 걸 감안해 본다면..
해당 파일 내에 악성 코드가 있는지는 직접 실행해보기 전까진 모르는 건가요..?
남의 '파일 내'에 악성코드를 '심는' 행위 자체가 매우 흔한 일인 건지..
예컨데 악성코드 감염에 한번 노출된 적이 있으면 해당 악성코드가 쓰기권한을 갖고 있었던 모든 파일들은 다 지워야 하는 건가요?
자세한 설명 감사드립니다.
txt나 html 형식의 메모를 도커에 올린 Vscode를 통해 웹에서 보고 있는데
Html 이나 txt 파일도 동일하다 생각하면 되나요?
좀 더 위험할까요?
멀쩡한 html 이나 txt 메모 파일에 악성코드를 심는다면은 바로 티가 나지 않을까 싶기도 하네요, 제가 쓴 내용이 아니니까..요? [이런 차원이 아닌가요? ㄷㄷ]
그래서 PDF 읽을때 자바스크립트 실행 능력이 아예 없는 Sumatra 프로그램으로 읽습니다. (더 가볍고 빠르기도 합니다.)
이미지나 동영상에 넣은 사례는 모바일 기기에서 했었다고 뉴스를 본 기억이 납니다. 특정 라이브러리를 사용하는 뷰어들에서 그 라이브러리의 버그를 악용한 코드를 이미지/동영상에 심어서 실행 가능하다고 봤습니다.