전체 크로미움(Chromium) 사용자의 약 33%가 일종의 브라우저 확장 프로그램을 설치하고 있습니다. 확장 프로그램은 더 이상 파워 유저만을 위한 틈새 기술이 아니라 완전히 주류가 된 기능이며, 대부분은 Chrome 웹 스토어와 Firefox 애드온 마켓플레이스에서 배포됩니다.
하지만 이 확장 프로그램들은 과연 얼마나 안전할까요?
IEEE 보안 및 프라이버시 심포지엄에서 발표 예정이었던 연구에 따르면, 답은 그리 안전하지 않다입니다. 구글이 자금을 지원한 이 연구는 수천만 명의 Chrome 사용자가 일종의 애드온 기반 멀웨어를 설치하고 있으며, 이것이 전체 구글 트래픽의 5%에 해당한다는 사실을 밝혀냈습니다.
이 연구 결과 거의 200개의 플러그인이 Chrome 웹 스토어에서 삭제되었고, 마켓플레이스 전반의 보안 문제가 본격적으로 제기되었습니다.
그렇다면 구글은 사용자를 지키기 위해 무엇을 하고 있으며, 악성 애드온은 어떻게 알아볼 수 있을까요? 자세히 살펴보았습니다.
확장 프로그램은 어디서 오는가
브라우저 확장 프로그램, 플러그인, 애드온 등 어떤 이름으로 부르든 모두 같은 곳에서 태어납니다. 바로 필요를 충족하거나 문제를 해결하는 제품을 만드는 독립적인 서드파티 개발자들입니다.
브라우저 애드온은 일반적으로 HTML, CSS, JavaScript 같은 웹 기술로 작성되며, 대개 특정 브라우저 하나를 위해 만들어집니다. 다만 크로스 플랫폼 브라우저 플러그인 제작을 돕는 서드파티 서비스도 일부 존재합니다.
플러그인이 어느 정도 완성 단계에 도달하고 테스트를 거치면 출시됩니다. 독립적으로 배포하는 것도 가능하지만, 대부분의 개발자는 Mozilla, 구글, Microsoft의 확장 프로그램 스토어를 통해 배포하는 것을 선택합니다.
물론 사용자의 컴퓨터에 닿기 전에는 반드시 안전하게 사용할 수 있는지 검증을 거쳐야 합니다. Chrome 웹 스토어에서는 그 과정이 이렇게 진행됩니다.
Chrome을 안전하게 지키는 방법
확장 프로그램 제출부터 최종 게시까지 약 60분의 대기 시간이 존재합니다. 이 동안 무슨 일이 일어날까요? 그동안 구글은 플러그인에 악성 로직이 포함되어 있거나 사용자의 프라이버시와 안전을 위협할 수 있는 요소가 없는지 확인합니다.
이 과정은 '향상된 항목 검증(Enhanced Item Validation, IEV)'이라고 불리며, 멀웨어를 식별하기 위해 플러그인의 코드와 설치 시 동작을 검사하는 일련의 엄격한 점검 절차입니다.
구글은 또한 개발자에게 허용되는 행동과 금지되는 행동을 알려주는 일종의 '스타일 가이드'도 공개했습니다. 예를 들어 교차 사이트 스크립팅(XSS) 공격 위험을 줄이기 위해 인라인 JavaScript(별도 파일에 저장되지 않은 JavaScript)의 사용은 금지됩니다.
또한 코드가 코드를 실행할 수 있게 하는 프로그래밍 구조인 'eval'의 사용도 강력히 권장하지 않습니다. eval은 각종 보안 위험을 초래할 수 있기 때문입니다. 원격의 비구글 서비스와 연결되는 플러그인도 선호하지 않는데, 이는 중간자 공격(MITM)의 위험을 내포하기 때문입니다.
간단한 조치들이지만 대체로 사용자를 안전하게 지키는 데 효과적입니다. Alienware의 보안 옹호자(Security Advocate) 자바드 말릭(Javvad Malik)은 올바른 방향이라고 평가하면서도, 사용자를 지키는 데 가장 큰 과제는 결국 교육의 문제라고 지적합니다.
"좋은 소프트웨어와 나쁜 소프트웨어를 구분하는 일은 점점 더 어려워지고 있습니다. 비유하자면, 한 사람에게 합법적인 소프트웨어는 다른 사람에게는 지옥 깊은 곳에서 코딩된 신원 도용·프라이버시 침해형 악성 바이러스일 수 있습니다. 오해는 마시기 바랍니다. 저는 구글이 이런 악성 확장 프로그램을 제거하는 조치를 환영합니다. 애초에 공개되어서는 안 됐던 것들도 있습니다. 하지만 구글 같은 회사가 앞으로 직면할 과제는 확장 프로그램을 감시하고 허용 가능한 행동의 경계를 정의하는 것입니다. 이는 보안이나 기술을 넘어, 인터넷을 사용하는 사회 전체가 함께 고민해야 할 질문입니다."
구글은 브라우저 플러그인 설치와 관련된 위험에 대해 사용자가 충분히 인지할 수 있도록 하는 것을 목표로 합니다. Chrome 웹 스토어의 각 확장 프로그램은 필요한 권한을 명시적으로 표시하며, 사용자가 부여한 권한 범위를 넘어설 수 없습니다. 만약 확장 프로그램이 낯설거나 불필요해 보이는 작업을 요청한다면 의심해볼 이유가 충분합니다.
하지만 우리 모두 아는 것처럼, 가끔은 멀웨어가 그 틈새로 스며듭니다.
구글이 놓친 사례들
의외로 구글은 꽤 철저하게 관리하고 있습니다. 적어도 Chrome 웹 스토어 관련해서는 많은 것이 감시망을 빠져나가지 못합니다. 하지만 한 번 빠져나가면 상황은 심각해집니다.
- AddToFeedly: 웹사이트를 Feedly RSS 리더 구독에 추가할 수 있게 해주는 Chrome 플러그인이었습니다. 취미 개발자가 배포한 합법적인 제품으로 시작했지만, 2014년 네 자릿수 금액에 매각되었고, 새 소유주는 이 플러그인에 SuperFish 애드웨어를 심어 페이지에 광고를 삽입하고 팝업을 띄웠습니다. SuperFish는 같은 해 레노버가 저가형 Windows 노트북에 해당 애드웨어를 탑재해 판매한 사실이 드러나면서 큰 악명을 얻었습니다.
- WebPage Screenshot: 방문 중인 웹페이지 전체를 이미지로 캡처할 수 있게 해주는 확장 프로그램으로, 100만 대 이상의 컴퓨터에 설치되었습니다. 그러나 이 확장 프로그램은 미국 내 단일 IP 주소로 사용자 정보를 전송하고 있었습니다. 개발사는 잘못된 행위를 부인하며 품질 보증 활동의 일부라고 주장했지만, 구글은 이후 Chrome 웹 스토어에서 삭제했습니다.
- Adicionar Ao Google Chrome: Facebook 계정을 탈취해 승인되지 않은 상태 메시지, 게시물, 사진을 공유한 악성 확장 프로그램이었습니다. 이 멀웨어는 YouTube를 흉내 낸 사이트를 통해 퍼졌으며, 영상을 시청하려면 플러그인을 설치하라고 사용자를 속였습니다. 구글은 이후 해당 플러그인을 삭제했습니다.
대부분의 사람이 컴퓨팅 작업의 상당 부분을 Chrome으로 처리한다는 점을 고려하면, 이런 플러그인들이 검증망을 통과했다는 사실은 우려스럽습니다. 하지만 적어도 실패할 '절차'는 존재했습니다. 다른 출처에서 확장 프로그램을 설치하면 그런 보호조차 받을 수 없습니다.
Android 사용자가 원하는 앱을 자유롭게 설치할 수 있는 것처럼, 구글 역시 Chrome 웹 스토어 외부의 확장 프로그램을 포함해 원하는 확장 프로그램을 설치할 수 있게 허용합니다. 이는 단순히 소비자에게 선택권을 더 주기 위함이 아니라, 개발자가 승인 요청 전에 작업 중인 코드를 테스트할 수 있도록 하기 위함입니다.
하지만 수동으로 설치한 확장 프로그램은 구글의 엄격한 검증 절차를 거치지 않았으며, 각종 바람직하지 않은 동작을 포함할 수 있다는 점을 반드시 기억해야 합니다.
당신은 얼마나 위험한가?
2014년 구글 Chrome은 Microsoft Internet Explorer를 제치고 최강의 웹 브라우저로 부상했으며, 현재 인터넷 사용자의 약 35%가 사용하고 있습니다. 그 결과, 빠르게 돈을 벌거나 멀웨어를 유포하려는 이들에게 여전히 매력적인 표적이 되고 있습니다.
구글은 대체로 이에 잘 대응해왔습니다. 사건들이 있었지만 모두 고립된 사례였고, 멀웨어가 검증망을 통과했을 때도 구글답게 신속하고 전문적으로 처리했습니다.
그럼에도 분명한 것은, 확장 프로그램과 플러그인이 잠재적인 공격 경로가 될 수 있다는 점입니다. 온라인 뱅킹 로그인처럼 민감한 작업을 할 계획이라면 별도의 플러그인 없는 브라우저나 시크릿 창을 사용하는 것이 좋습니다. 그리고 위에 언급된 확장 프로그램이 설치되어 있다면, Chrome 주소창에 chrome://extensions/를 입력해 해당 항목을 찾아 삭제하는 것이 안전합니다.
혹시 실수로 Chrome 멀웨어를 설치한 적이 있으신가요? 그 경험을 들려주세요. 아래 댓글로 의견을 남겨주시면 함께 이야기 나누겠습니다.