20071115 :: sandboxie – 안전한 컴퓨터 사용

인터넷을 돌아다니다 접하는 많은 정보와 프로그램들 중에는 안전하지 못한 것들이 참 많이 있습니다. 시도때도 없이 설치를 요구받는 Active X라든지, (심지어 그 중에는 웹사이트를 사용하지 않아도 램에 상주하는 못되먹은 녀석들도 많이 있지요) 정말이지 의심스러운 프로그램들도 많구요. 그리고 한번만 쓰고 말텐데 설치하기는 참 꺼려지는 그런 것들도 있게 마련입니다.

그래서 우리는 백신도 설치하고 악성코드 감자기 같은 유틸리티도 설치하곤 합니다. 하지만 성능이 좋은 백신이나 감지기는 왠지 무거워서 부담스럽기도 하고, 또 일단 로컬에서 사용자가 설치하는 프로그램들은 시스템을 사용자와 거의 동일한 권한으로 변경하기도 하니 이거 뭔가를 잘 모르는 사람들은 신나게 혼이 나기도 합니다.

이러한 문제들을 원천적으로 해결해는 방법중의 하나가 바로 가상화 기술입니다. 가상화 기술은 요즘은 그래도 꽤 많이 알려진 VMWare와 같은 가상 머신을 설치해서 그 속에 운영체제를 깔고 완전히 별개의 컴퓨터를 현재 시스템 안에 하나 갖고 있는 효과를 볼 수 있는 장점이 있지요. 게다가 윈도xp를 쓰면서도 가상머신을 사용하면 전혀 다른 운영체제를 사용해볼 수도 있습니다. 하지만 설정자체가 그리 만만한 편도 아니고 OS하나를 완전히 새로 설치해야하는 부담도 있습니다. (하지만 우분투 리눅스는 설치가 정말 쉽답니다 – _-)

그래서 이번에는 좀 더 덜 부담스러운 샌드박스에 대해 소개해보고자 합니다. 여기서 소개하는 Sandboxie도 이러한 샌드박스 기술을 사용한 프로그램입니다. (이름을 보세요) 어쨌든 샌드박스는 진짜 모래통과 같이 단단히 밀봉된 리소스 영역을 정해두고 그 속에서 프로그램을 실행합니다. 프로그램 실행을 위해서는 실제 시스템으로부터 데이터를 읽어들입니다만, 데이터를 저장하려할 때는 실제 시스템에 저장되는 것이 아니라 샌드박스내의 가상 시스템에 적용이 되는 것이지요. 따라서 못되먹은 프로그램들이 시스템에 해코지를 하려는 것이 원천적으로 봉쇄됩니다. 또한 이러한 원리를 사용하면 시험삼아 설치해보려는 프로그램이 있을 때, 혹은 한 번만 사용하고 말 프로그램이 설치를 해야하는 성질의 것일때, 혹은 일단 설치해봐야 좋은지 나쁜지 판단할 수 있을 듯 할 때 유용하게 사용할 수 있습니다.

그럼 일단 sandboxie를 한 번 설치해보겠습니다. 우선 제작사 홈페이지를 방문해서 sandboxie를 다운로드 받습니다.

설치파일 자체도 매우 작고 깔끔합니다. sandboxie를 설치한 후 실행해봅니다. 기본적으로 하나의 샌드박스가 만들어져 있습니다. 오른쪽 버튼을 눌러서 샌드박스 속에서 프로그램을 하나 실행해보겠습니다.

2007-11-15_131825.png

위와 같이 from Start Menu.. 를 선택하면 실제 시작메뉴가 아니라 시작메뉴의 내용을 담은 작은 메뉴바가 하나 생성됩니다. 기본적으로 이 메뉴바는 실제 시작메뉴의 프로그램 항목과 바탕화면 항목을 포함하고 있으며, 아울러 샌드박스 내에서 설치했던 프로그램의 아이콘이나 바로가기들도 포함합니다.

2007-11-15_134407.png

샌드 박스 내에서 인터넷 익스플로러를 실행한 모습입니다. 프로그램 제목줄에 [#] ~ [#]로 샌드 박스 내에서 실행중이라는 표시가 되어있습니다. 나머지는 평상시에 IE를 사용하는 것과 아무런 차이가 없습니다. 내친김에 이스트소프트로 달려가서 알집을 내려받아 설치해보도록 하겠습니다. (라고 했는데 왠지 페이지가 존재하지 않는다는 오류 때문에 마이폴더 자료실을 사용했습니다.)
먼저 뭔가 저장하려하거나 설치하려하면 변경 사항에 관한 경고 창이 뜨는데 이때 Recovery를 클릭하면 샌드박스의 변경 내용이 실제 시스템으로 적용됩니다. 따라서 나타나는 팝업창에는 끝 낼때까지 가만있으라는 의미로 체크박스에 체크를 해주고 닫아버립니다.

2007-11-15_171101.png

설치를 시도하자 보안경고창이 생깁니다. 보안 경고창에도 [#] 표시가 되어있군요. 냅다 설치하겠습니다.

설치를 마친 후 시작메뉴나 바탕화면을 살펴보아도 알집의 흔적이 보이지 않습니다. 심지어는 C:Program Files 폴더를 보아도 ESTsoft 라는 폴더는 보이지 않습니다. 알집은 어디로 간걸까요?

네, sandboxie 홈페이지에서 볼 수 있는 설명과 마찬가지로 알집은 실제 시스템에는 영향을 미치지 못하고 샌드박스 내에 설치가 되었습니다. sandboxie에서 ‘시작메뉴로 실행’을 선택하여 알집을 찾아봅니다. 떡 하니 시작메뉴에 알집이 등록되어 있는 것을 확인할 수 있습니다.

2007-11-15_165014.png

알집을 실행해보겠습니다.

2007-11-15_164853.png

역시 샌드박스내에서 실행되는 모드로 알집이 설치가 된 것 마냥 실행되었습니다. 기왕 실행도 했는데 파일하나 압축해서 7z이랑 비교해보는 것도 나쁘지 않겠군요.

그래서 일단 알집으로 바탕화면에 기존에 있던 11MB 짜리 텍스트 파일을 압축해보겠습니다. alz 포맷을 선택했고, 압축 효율은 ‘보통’을 선택했습니다. 가장 높은 효율이 그냥 ‘보통’ 이더군요.

2007-11-15_165452.png

압축된 파일 용량은 837K입니다.이 똑같은 파일을 7zip을 사용해서 7z 포맷을 압축해보겠습니다. 조건을 최대한 동일하게 하기 위해 7zip도 샌드박스 내에서 실행했고, 압축방식만 ppmd로 설정하고 압축효율은 알집과 같이 ‘보통’으로 놔 두었습니다.

2007-11-15_165649.png

알집 팬분들에게는 정말 죄송한 이야기지만 위에서 보시는 바와 같이 같은 파일을 7z은 300kb가 채 못되는 용량으로 압축했습니다.

아까도 살펴보았지만 지금껏 설치한 프로그램이나, 작성한 압축파일은 실제 바탕화면이나 윈도탐색기에서는 나타나지 않습니다. 보이지만 않는 것이 아니라 실제 그 위치에 있지 않으니까요. 그럼 이렇게 작업한 내용을 실제 폴더에 적용하려면 어떻게 해야할까요?

그것이 Recovery입니다. 우선 샌드박스창(혹은 시스템 트레이에 있는 아이콘)을 마우스 오른쪽 클릭으로 선택한 후 Quick Recovery를 선택합니다.

2007-11-15_1358261.png

그러면 지금까지 샌드박스 내에서 파일을 저장하거나 다운로드 받거나 설치한 내역이 나옵니다. 이 들을 모두 적용할 수도 있기도 하고, 또는 일부만 선택적으로 적용할 수도 있습니다. 여기서는 파일 하나만 딱 건져올릴 생각입니다.

2007-11-15_171446.png

조금전 생성한 test.7z을 선택해서 Recovery to Same Folder…를 선택합니다. 그러면 실제 바탕화면에 그 파일을 생성한 것처럼 파일이 샌드박스에서 실제 바탕화면으로 복사됩니다.

나머지 정보들은 샌드박스 내에서도 모두 삭제하겠습니다. 역시 창 혹은 트레이 아이콘에서 오른쪽 클릭으로 메뉴를 연 다음 ‘Delete Contents‘를 선택합니다. 대화상자가 나타나며 지금껏 기록, 설치, 저장된 내역이 나옵니다.이 중에서 살려야 할 것이 있으면 마지막 기회를 한 번 더 줍니다.뭐 거의 필요없어 보이므로 Delete Sandbox를 선택하여 모든 내역을 삭제합니다. (샌드박스는 현재 디폴트를 사용하고 있으므로 사라지지 않습니다. 만약 추가로 만든 샌드박스라면 샌드박스 자체까지 함께 삭제될 거 같습니다.)

이상으로 간단하게 sandboxie를 사용하여 안전하게 데이터를 가두고, 가두어둔 영역내에서 데이터를 실행하는 것 까지 살펴보았습니다. Recovery만 남발하지 않는다면 악성코드라든가 하는 문제에 있어서는 조금 더 안전한 환경을 만들 수도 있겠다는 생각이 들어서 소개해봤습니다.
…라고 썼지만 filehippo.com에서도 다운로드 링크를 제공하기 시작해서 소개해보았습니다.

 추가

추가적인 내용입니다. 요즘의 보안 관련 activeX 들은 안되는 것이 더 많아져서, sandboxie로 실행했을 때 오류가 많이 나더군요. 결국 VirtualPC를 써야하는 것인지. 또한 참고로, 도메인으로 관리되는 컴퓨터에서는 라이센스 오류가 나며 정상적으로 설치되지 않습니다. 그런데, 라이센스 구매를 한다는지 하는 다른 여타의 방법이 없기 때문에 뭔가 좀 문제가 있다고 생각이 되는 군요.

  • 아 이런 소프트웨어였군요. 완벽하진 않지만 참신하고 좋은거 같군요.
    전 어떤분이 샌드박스 어쩌구 하시길래 메일 소프트웨어인줄 알았…(send mail box?지레짐작;;)

  • //Draco
    저도 샌드박스를 자바 관련 글에서 본 거 같아서 이런 게 있을거라곤 꿈에도 생각을 못했습니다. 마냥 신기하고 그렇군요. 그나저나 오늘은 한가해서 지금 사무실에서 드라코님 블로그를 정주행 중입니다 ㅎㅎㅎ

  • Pingback: joogunking()

  • juny

    정말 좋은 해설 감사드립니다.
    샌드박스에 대한 체계적인 설명을 주기적으로 해 주시면 어떨까 합니다.
    완전 초보라 아직은 감만 오는 정도이고 제대로 된 기능을 활용할 수 없네요.
    궁금한 점도 많고요.
    암튼 수고 많으셨습니다. 다시 한 번 감사드려요.

  • //juny
    댓글 감사합니다. 그런데 저는 왠만하면 ‘안깔고 안쓰는’ 스타일이라 사실 샌드 박스를 거의 쓸일이 없어서요 ㅎㅎ (지금은 한 번 포맷했고, 샌드박스를 쓰지는 않아요)

    활용가능한 용도로는 글에서도 말씀드렸듯이 ‘의심되는 프로그램 실행’이나 ‘한번 쓰고 안쓸 프로그램 설치’와 같은 작업에 활용할 수 있습니다. 주기적인 연재 형태로 글을 쓰기는 어려울 것 같고, 대신에 이 글에 댓글 달아주시면 질문에 대한 답변은 제 능력껏 해드리도록 하겠습니다.