본문 바로가기
introduce 프로그램

샌드박스 ( 샌드박시 ) 내의 변동 사항을 관찰하기 ( SandboxDiff )

by 글벌레 2011. 2. 4.
반응형

이 글은 샌드박시를 사용하는 사용자들만이 읽을 만한 글입니다.
샌드박시 사용자들 중에서도 특히 샌드박스 안에서 일어나는 일들에 대하여
궁금하신 분들이 읽을 만한 글이고요.

물론 샌드박시를 여지껏 몰랐거나 관심이 없으셨던 분들이라도
아래 관련 글들을 읽어 보고 오늘부터라도 샌드박시에 관심을 가진다면
관심을 가진 그 사용자 분들의 컴퓨팅 라이프는 내일부터는 완전히 달라질 겁니다.

샌드박시 관련 글들 -
2009/05/20 - [프로그램 리뷰] - Sandboxie - 절대로 악성코드에 안걸리는 웹 서핑 하기
2009/09/18 - [프로그램 리뷰] - WinX DVD Ripper
2010/01/04 - [프로그램 리뷰] - Sandboxie 3.42 판올림
2010/02/20 - [Lecture/Computer] - 체험판을 제한 없이 쓰기

샌드박시에서 프로그램들을 설치하거나 악성코드들을 관찰하는 분들이라면
샌드박스 안에서 어떠한 일들이 일어나는지 몹시 궁금할 겁니다.

물론 샌드박스 내 파일의 변경은
                [그림1]

 

샌드박시 컨트롤에서 보기>파일과 폴더를 선택하면 볼 수는 있는데,
이 경우에 볼 수 있는 것은 

1. 샌드박스 내에서 ( 시스템에 원래 없던 파일이 ) 생성된 것들
2. 샌드박스 내에서 변경된 ( 시스템에 원래 있던 ) 파일들 
3. 샌드박시가 불러들인 시스템의 파일들

위 세 경우가 모두 다입니다.
그러므로 생성된 파일들만 알고 싶거나 변경된 파일들만 알고 싶은 경우에는 애로가 좀 존재하죠.

게다가 위 그림에서 빨간 박스친 RegHive, 즉 샌드박시가 불러들인 레지스트리의
변동 사항에 대하여는 샌드박시 컨트롤에서는 전혀 알 방법이 없습니다.

그래서 이 글에서는
샌드박시 안에서 파일들과 레지스트리의 변동 사항을 알아볼 수 있는 도구에 대하여 알아보기로 합니다. 

                                                   SandboxDiff
 다운로드 페이지 - 링크가 유효하지 않아 삭제 (2023년 1월 메모)


위 페이지에서 다운로드받은 파일을 하나의 폴더에 압축을 풉니다.
압축을 풀고 나서 보면
UserPath.bat.txt라는 파일이 보이는데 이 파일을 열면

 

그 내용은 위 그림에 보이는 바와 같은데 여기서
위 그림에 보면 빨간 박스친 <YourUserName>을 내 컴퓨터의 사용자 이름으로 바꾼 후에
모든 파일 저장으로 UserPath.bat라고 저장을 합니다.
또는 사용자 이름을 바꿔 준 후에 이름 바꾸기를 통하여 .txt를 떼어 내도 됩니다.
( UserPath.bat 역시 SandboxDiff를 압축 풀어 준 폴더와 동일 폴더에 있어야 합니다.) 

  
혹시라도 정말 시스템의 사용자 이름(계정)을 모른다면 
샌드박스가 설치된 폴더를 열어 봤을 때 거기 보이는 폴더 이름이
사용자 이름이란 점도 참조 바랍니다.


UserPath.bat 파일을 만들었으면 이제 SandboxDiff의 실행 준비는 끝이 났습니다.
압축을 푼 폴더에서 SandboxDiff.exe를 실행하면

위와 같은 화면이 뜰 터인데
이때 샌드박스로 실행되어 있는 프로그램이 없음을 확인하고 OK를 누릅니다.
[그림2]

그러면 왼쪽 그림과 같은 화면이 몇초간 진행이 되는데
이는 샌드박스의 현재 상태를
백업해 놓는 진행 과정입니다.

초기 상태가 있어야지
나중에 비교할 게 있으니까요.
이 과정이 끝나면


 

위와 같은 창이 뜨는데  이 창을 끄지 않은 상태에서

샌드박스 내에서 하고 싶은 일들을 하거나 또는 프로그램 설치 등을 합니다.

샌드박스 내 작업이 모두 끝났으면 샌드박스 내 모든 프로세스를 종료하고
위 그림의 창에서 OK를 누릅니다. 그러면 [그림2]와 같은 창이 다시 몇 초간 진행이 된 후에
[그림3]

왼쪽과 같은 창이 뜨는데 보면

레지스트리 변경 사항은
Comp-reg.txt
Comp-reg.html
Comp-reg.REG.txt
위 세 파일에 담겨졌고

파일 변경 사항은
Comp-Files.txt
Comp-FilesMOD.txt
Comp-Files.html
위 세 파일에 담겼다는 뜻입니다.

이 파일들은 SandboxDiff를 압축 푼 폴더에 생성이 됩니다 .

그런데 굳이 html 파일들까지 열어볼 필요는 없으니 텍스트 파일들에 대하여만 살펴보기로 한다면
[그림4]


Comp-reg.txt는 샌드박스 밖에서 본 레지스트리 변동 사항인데 사실 이 관점에서 레지스트리 변동을 보는
것은 효용성도 없지만, 이 파일은 한글 부분은 깨어져서 출력이 되기 때문에 보기도 거시기합니다.
그래서 참조 않기로 하고요.

Comp-reg.REG.txt는 샌드박스 안에서 레지스트리 변동을 본 것으로
마치 실제 시스템에서 변동이 일어난 경우처럼 표시가 됩니다. 그러므로 효용성이 아주 크죠.
Comp-reg.REG.txt를 열어 보면

위 그림처럼 표시가 되는데 여기서
machine이라고 표시되는 키는 실제 시스템의 HKEY_LOCAL_MACHINE 을 뜻합니다.
user\current 라고 표시되는 키는 실제 시스템의 HKEY_CURRENT_USER를 뜻합니다 .

Comp-Files.txt 와 Comp-FilesMOD.txt 를 열어보면 아래와 같은데
( Comp-Files.txt는 샌드박스 내에서 생성된 파일을, Comp-FilesMOD.txt는 샌드박스 내에서 변경된 파일을 표시합니다.)

(그림을 클릭하시면 원본을 보시는 것이 가능합니다 .)

여기서 녹색 형광색 부분들을 제거한다면 만약 샌드박스가 아닌 실제 시스템에서 샌드박스 안에서 했던
일을 했다면 생성되었을 파일 경로들이 됩니다. 여기서 녹색 박스 친 부분이 생성이 되는 것은
제가 [그림4]에 표시를 했지만 Comp-Files.txt 와 Comp-FilesMOD.txt은 파일 변동 사항을
샌드박스 외부의 시점으로 관찰을 했기 때문에 녹색 형광색 부분들이 표시가 되는 것입니다.

샌드박스 내의 변동 사항을 관찰할 수 있게 된 당신이라면 샌드박스의 활용도가 더욱 커질 겁니다.

이제 아래에서는 참조해야할 사항들을 번호 순으로 기술해 보기로 합니다 .

1. 백신이 SandboxDiff를 악성코드라고 진단을 합니다.

현재 바이러스토탈의 검사 결과를 보면 7개의 백신이 SandboxDiff를 악성코드라고 진단 중입니다.

진단한 백신들 중에서 우리가 자주 접하는 백신은 Symantec이 유일하고요.


그런데 이는 오진으로 보입니다.
일단 이 프로그램 제작자 스스로가 오진이라고 밝히고 있고, 
샌드박시 측에서 이 프로그램을 대표적인 부가 기능 프로그램들 중에 하나로 소개 를 하고 있다는 점에서
그렇고요.

그리고 또 SandboxDiff는 샌드박스 내에서 어떤 일이 일어나는가를 감시할 때
글벌레는 SandboxDiff가 뭔 짓을 하나 관찰을 했습니다.

관찰 결과 SandboxDiff는 [그림3]에서 표시한 파일들을 생성하는 외에는
어떠한 파일도 레지스트리 키도 생성하지 않았고, 외부로의 연결도 시도하지 않았습니다.
또한 SandboxDiff를 실행해 본 시스템에는 AVG Internet Security 2011이 설치되어 있는데
SandboxDiff 실행에 아무런 반응을 보이지 않았습니다.
(AVG도 진단율에서 둘째가라면 서러울 백신입니다.)

이런 점에서 SandboxDiff에 대한 진단들은 오진으로 보이고요.

2. SandboxDiff 실행 시 에러가 뜹니다 .
 

SandboxDiff를 실행 시에 위 그림과 같은 오류가 뜰 수 있는데
이는 샌드박스가 완전히 비어져 있기 때문에 생기는 오류입니다.

즉, [그림1]에서 보이는 RegHive가 없기 때문에 생기는 오류입니다.
이런 경우 빈 샌드박스에 RegHive를 만들어 주면 되는데
이를 만들어주는 가장 빠른 방법은 샌드박시로 인터넷 익스플로러를 한 번 실행해 주는 겁니다.

3. SandboxDiff 실행 시 삐삐 소리가 납니다.

SandboxDiff를 실행 시 메시지가 뜨는 순간들에 본체에서 삐삐 소리가 나는데,
PC 스피커라고 하죠? 그게 우는 건데 시스템에 별 영향은 안 주는 것으로 보입니다.

4. SandboxDiff를 잘 사용하려면?

샌드박시 사용 시 삭제 옵션에서

평소에는 Sandbox의 내용 자동 삭제에 체크를 해주고 사용하는 것이 좋은데요.

SandboxDiff사용 시에만은
ㄱ. 샌드박스가 비어 있음을 확인한다.
ㄴ. Sandbox의 내용 자동 삭제 앞의 체크를 해제 한다.
ㄷ. 샌드박스로 인터넷 익스플로러를 한 번 실행한 후에 꺼 쭌다(RegHive 생성).
ㄹ. SandboxDiff Before install 실행
ㅁ. 샌드박스로 할 일을 한다 ( SandboxDiff 창 끄지 말것).
ㅂ. 샌드박스 내 모든 프로세스 종료.
ㅅ. SandboxDiff Install 창에서 OK를 누른다.

5. SandboxDiff는 샌드박스의 기본 박스인 DefaultBox만 감시합니다.
       사용자가 생성한 샌드박스는 감시할 수 없습니다.


샌드박스, 특히 샌드박스 내에서 일어나는 일에 관심이 있으신 분들은 잘 활용해 보기 바랍니다. ^ ^*

반응형

댓글