구글 크롬을 사용하다 보면 갑자기 어떤 웹 페이지를 열어도 "앗, 이런!(Aw, Snap!)"이라는 오류 메시지만 반복해서 표시되는 경우가 있습니다. 심한 경우 내부 설정 페이지까지 전부 열리지 않아 브라우저 자체를 사용할 수 없게 되죠. 친절한 시스템 메시지도, 해결 방법을 알려주는 안내도 없습니다. 재설치를 해보고 새 사용자 프로필을 만들어 봐도 소용이 없었다면, 이 글이 도움이 될 것입니다.
문제 상황
필자는 Windows 7 Professional 64비트 환경에서 크롬이 버전 27에서 28로 자동 업데이트된 직후 이 문제를 겪었습니다. 그 순간부터 모든 페이지가 전혀 로드되지 않았고, 브라우저에는 오류 창만 나타났습니다.
설치된 확장 프로그램들 역시 똑같이 충돌했습니다.
인터넷을 검색하면 수많은 조언을 접하게 됩니다. 대부분의 사이트가 악성코드 검사부터 하라고 권하지만, 이는 대개 근거 없는 일반론에 불과합니다. 사용자 프로필을 삭제하는 방법도 대부분 효과가 없습니다. 애초에 프로필 자체에 문제가 있는 경우가 아니기 때문입니다. 설정 페이지조차 열리지 않으므로, 크롬 내부 기능에 접근해 문제를 해결하는 것도 애초에 불가능합니다.
해결 방법: 샌드박스 비활성화
핵심은 크롬의 내부 샌드박스(sandbox) 기능을 일시적으로 비활성화하고, 구글이 브라우저를 수정할 때까지 버티는 것입니다. 물론 다른 브라우저로 갈아탈 준비가 되어 있다면 그것도 좋은 선택입니다. 방법은 의외로 간단합니다. 브라우저 실행 명령줄에 플래그(flag) 하나만 추가하면 됩니다. 명령 프롬프트에서 실행해도 되고, 시작 메뉴나 바탕 화면의 바로 가기 아이콘을 편집해도 됩니다.
크롬 아이콘을 마우스 오른쪽 버튼으로 클릭한 뒤 속성을 열고, [대상] 항목 끝에 --no-sandbox 또는 -no-sandbox(둘 중 어느 것이든 작동합니다)를 추가하세요. 스크립트나 명령줄에도 동일하게 붙여 넣을 수 있습니다.
크롬 실행 파일의 전체 경로는 개인 설정에 따라 다르지만, 일반적으로 사용자 계정의 AppData\Local 폴더 안에 위치합니다. 이곳에 있어야 관리자 권한 승격 없이도 자동 업데이트가 가능하기 때문입니다. 표준 경로는 다음과 같습니다(<사용자명>은 본인 계정 이름으로 교체).
"C:\Users\<사용자명>\AppData\Local\Google\Chrome\Application\chrome.exe"
바로 가기의 [대상] 값은 다음과 같이 변경합니다.
"C:\Users\<사용자명>\AppData\Local\Google\Chrome\Application\chrome.exe" --no-sandbox
이제 브라우저가 정상적으로 실행되며, 지원되지 않는 플래그를 사용했다는 경고창이 표시됩니다. 필자의 생각에는 이 경고는 무시해도 무방합니다. 다만 이후 발생할 수 있는 문제에 대한 책임은 본인에게 있다는 점은 유의하세요. 그래도 불안하다면 아래의 보안 보완 방법을 함께 적용해 보기 바랍니다.
보안 보완 방법
구글은 당연히 이 방법이 안전하지 않다고 경고할 것입니다. 인터넷 세상이 얼마나 위험한지 강조하겠죠. 하지만 샌드박스 기능이 없어진 기간에도 그 손실을 충분히 만회할 수 있는 훌륭한 도구들이 여럿 있습니다.
첫째, EMET(Enhanced Mitigation Experience Toolkit)를 활용해 보세요. 마이크로소프트가 제공하는 이 무료 도구는 Windows용 보안 도구 중에서도 손꼽히는 평가를 받지만, 직접적인 수익을 창출하지 못해 상대적으로 주목받지 못했습니다. 다만 EMET는 현재 공식 지원이 종료된 상태이므로, 최신 환경에서는 Windows Defender의 익스플로잇 방지 기능 등 대체 수단을 함께 고려하는 것이 좋습니다.
둘째, 파이어폭스의 NoScript처럼 크롬에서는 NotScripts 확장 프로그램을 사용할 수 있습니다. 화이트리스트에 등록한 사이트를 제외한 모든 페이지에서 스크립트와 플러그인 실행을 차단해 주는 도구입니다. 악성 콘텐츠는 실행 자체가 불가능하므로 피해 가능성이 크게 줄어듭니다. 이 정도면 걱정거리는 깔끔하게 해소됩니다.
결론
구글이 Windows 7에서 샌드박스를 망가뜨리는 원인을 파악해 수정할 때까지, 사용자는 큰 무리 없이 크롬을 계속 사용할 수 있습니다. 필요하다면 EMET와 NotScripts를 병행해 기본 샌드박스 기능 이상의 보안을 확보할 수도 있습니다. 이런 변경이 부담스럽다면 구글의 공식 수정을 기다릴 수밖에 없는데, 그것이 언제 올지는 아무도 모릅니다. 실행조차 되지 않는 '보안 브라우저'야말로 보안의 취지에 어긋나는 것 아닐까요?
오늘 우리는 몇 가지 유용한 교훈을 얻었습니다. 첫째, 되돌릴 수 없는 변경을 요구하는 튜토리얼은 따라 하지 마세요. 샌드박스 플래그는 몇 글자만 지우면 언제든 원래대로 돌아갑니다. 둘째, 문제를 성급하게 악성코드 탓으로 돌리지 마세요. 때로는 벤더 쪽의 문제이며, 실제로 그런 경우가 더 많습니다. 셋째, 크롬의 플래그와 추가 옵션 활용법, 그리고 EMET와 NotScripts로 보안을 강화하는 방법을 익혔습니다. 이제 크롬의 기능을 되찾았습니다. 즐거운 하루 보내세요!