20071210 :: 정치적으로 보다 바람직한 보안 경고창

거친마루님의 nProtect를 고발합니다를 읽고 생각이 나서 키보드를 다잡고 앉았습니다. nProtect 뿐만이 아니라 전자정부 홈페이지 들어가서 간단한 문서 한 장 인쇄하려고 하면 연속적으로 예닐곱개의 액티브엑스를 설치해야하는 게 당연시 되는 분위기에서 과연 거친마루님이 바라는 ‘모두가 각성하여 한 목소리내는’ 그런 날이 올까 과연 의심스럽습니다.

양날의 검, 액티브 엑스

굳이 양날의 검이라는 식상한 표현을 쓰지 않더라도, 액티브 엑스는 그 편리성은 인정해줘야 할지 모르지만 이에 따른 부작용 더 이상 말할 필요가 없을 만큼 커진 상태입니다. 게다가 이제 액티브 엑스가 가지는 문제 이외에도 너무나 이에 종속적인 우리 나라의웹 환경이 문제가 되고 있지요. MS에서 인터넷 익스플로러를 업그레이드 하거나, 운영체제의 차기 버전을 내놓을 때마다 “쇼크”라 불러도 좋을 정도로 국내 인터넷 업계가 들썩입니다. 개인적인 입장에서 키워드 검색을 브라우저 수준에서 엔진을 선택할수 있게 하는 점이나 액티브 엑스 사용을 보다 불편하게 (반대로 보다 안전하게) 만드는 점 등은 칭찬해 줄만하다고 생각하는데, 국내웹 업계 혹은 언론사 기자들은 그걸 참 고깝지 않게 보고 있더군요.

이러한 환영할만한 MS의 행보에도 불구하고 이미 우리 나라의 액티브 엑스 종속성은 너무나도 심각한 문제이며, 이는 네이버 지식인이나 혹은 해당 액티브엑스를 사용하는 웹페이지의 FAQ와 같은 문답란을 살펴보면 그 수준을 가늠하게 할 수 있습니다.

***가 안돼요하는 식의 질문에는 너무나도 위험한 방법을 그 해결책이라며 당당하게, 마치 그것이 세부 사양을 속속들이 관리해서 문제를 해결하는 고급정보인양 제시하는 사례들은 어렵지 않게 접할 수 있습니다. 우리 나라 대다수 인터넷 사용자는 ‘컴맹’인 동시에 보안 지식 같은 건 전혀 갖고 있지 않다고 봐도 무방하다는 겁니다.그저 쿠키 삭제 해주는거 같고 악성 코드 삭제했다며 결제 낼름 받아버리는 악덕 양아치들이 활개를 치고, (심지어는 그런 양아치들이 우수 업체로 선정이 되는) 이런 어처구니가 없는 시츄에이션이 펼쳐지는 곳이 대한민국입니다.

이러다보니 액티브엑스 개발에서 보안 의식 같은건 저 멀리 팽개쳐버리는 것이 기본이 되었습니다. 또한 웹 사이트 개발자(혹은 업체)는 클라이언트의 요구사항에만 매달리다 보니, 역시 사용자의 입장은 외면하게 되었습니다. 이러다보니 해외에서는 원격에서 로컬의 리소스를 마음대로 좌지 우지할수 있는 위험성 때문에 기피 대상이 되고 있는 액티브 엑스가 ‘화려한 홈페이지의 기본’으로 인식되어 버렸던 것입니다. 따라서 액티브 엑스가 기세 등등하며 그 영역을 확장하는 지난 10년간 대한민국 인터넷 사용자의 대다수는 무감각하게 “예” 버튼을 누르는 것에 익숙해져 버렸습니다.

덕분에 액티브 엑스 형태로 배포되는 많은 악성코드, 스파이웨어들은 여전히 큰 영향들을 발휘하고 있습니다.  이제는 다른 대안을 찾기 이전에 이렇게 위험한 사용자들의 습관과 인식을 먼저 개선해야할 때입니다. 하지만 액티브엑스를 사용하고 있는 거의 모든 웹사이트들이 이러한 주장을 어떻게 받아들일지는 사실 모르겠군요.

먼저 보안 경고창부터

별의 별 액티브엑스중에 가장 널리 사용되고 있고,또 가장 문제가 되고 있는 녀석 중 대표주자를 하나 꼽으라면 전 주저없이 nProtect를 꼽겠습니다.온갖 은행, 쇼핑몰에서 만날 수 있고 설치를 하고 나면 윈도우 서비스로 버젓이 부팅시에 실행됩니다. 서비스를 삭제해버려도 다시 자기가 실행되는 타임이 되면 은근 슬쩍 시스템 서비스로 다시 등록을 하는… 그야말로 악성 코드의 특성을 고스란히 갖고 있습니다. 게다가 악질적으로 요즘엔 가상 시스템에는 에러를 내면서 실행이 안되는, 전 네티즌의 공공의 적으로 떠오르고 있습니다.

정말 영업사원이 연봉 10억씩 받는 분인지, 아니면 다른 시커먼 커넥션이 있는지는 모르겠습니다만 nProtect 자체는 그리 믿을 만한 해킹 방지 툴이 아니라는 것은 꼭 알아두셨으면 합니다. 이미 구글에서 ‘nProtect bypass’라고 검색만 해도, 아예 해킹툴 파일을 배포하는 링크까지 찾을 수 있을 정도니까요. 특히나 최근 몇몇 온라인 게임에서 nProtect를 사용하기 시작하면서 중국산 해킹 툴이 많이 나돌아다니는 거 같더군요. 결국 아무리 좋은 보안 툴이 나오고, 방화벽, 백신이 나와도 지식인에서 흔히 볼 수 있는 답변들대로 충실히 설정해서 사용하거나 한다면 이거 뭐 대문 열어놓고 세콤 다는 거랑 뭐가 다른지 모르겠군요.

그리고 MS에서도 제발 보안 경고창 좀 다시 만들어 줬으면 좋겠습니다. 지금의 보안 경고창에는 ‘신뢰할 수 있는 게시자의 소프트 웨어만 설치하세요’ 따위의 미온적인 경고 문구 만이 있을 뿐입니다. 당연히 어떤 게시자가 신뢰할수 있는 게시자인지 사용자의 입장에서는  절대 알 수 있는 방법이 있을리가 만무하지요. 역시나 지식즐~에 물어봤다간 또 저런 즐~스런 답변만 접하게 (닥터바이러스 킹왕짱 류..) 될지도 모르니까요.

개인 pc 보안 문제의 원인을 사용자의 보안 의식 부재로 떠 넘기면서 오히려 그러한 점을 교묘히 돈벌이에 이용하는 업체들은 좀 정신차리고 사람됐으면 좋겠습니다. 그리고 MS도 보안 경고창 좀 제대로 만들어야겠습니다. 최소한 이런 파일을 설치하면 어떤 일들이 있을 수 있으니, 진짜 신중하게 생각하라는 말을 좀 이해할 수 있게 넣어줘야하는 거 아닙니까.

사실, 이것도 좀 부족하긴 부족하지요. 차라리 이런 식으로 하든가..

 

p.s.

오픈웹(http://openweb.or.kr)의 칼럼에서도 이런 무성의한 보안 경고창에 대한 언급을 했네요. 오래전에 쓴 글이지만, 트랙백 살짝 걸어봅니다.

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를 써야하는 것인지. 또한 참고로, 도메인으로 관리되는 컴퓨터에서는 라이센스 오류가 나며 정상적으로 설치되지 않습니다. 그런데, 라이센스 구매를 한다는지 하는 다른 여타의 방법이 없기 때문에 뭔가 좀 문제가 있다고 생각이 되는 군요.