크롬 웹 스토어가 완벽한 방어막이라고 생각하기 쉽지만, 실제로는 그렇지 않습니다. 악성코드 개발자들은 이러한 허점을 악용해 끊임없이 새로운 위협을 만들어내고 있으며, 악성 확장 프로그램의 위협은 전 세계 기업과 조직을 겨냥한 주요 공격 수단으로 성장하고 있습니다.
지금부터 확장 프로그램 하나가 어떻게 기업 전체에 큰 문제를 일으킬 수 있는지 살펴보겠습니다.
크롬 웹 스토어는 바이러스로부터 안전할까?
크롬 웹 스토어는 구글 크롬 확장 프로그램을 설치할 수 있는 가장 안전한 곳 중 하나이지만, 결코 완벽하지 않습니다.
구글은 멀웨어가 사용자를 감염시키지 못하도록 최선을 다하고 있습니다. 예를 들어 확장 프로그램은 웹 스토어에서만 설치하거나 엄격한 조건 하에서만 설치할 수 있도록 제한하고 있으며, 웹 스토어 내부의 의심스러운 활동도 지속적으로 모니터링합니다.
그럼에도 불구하고 업로드되는 모든 악성 확장 프로그램을 걸러낼 수는 없으며, 일부는 검열을 뚫고 올라오기도 합니다. 따라서 크롬 웹 스토어의 콘텐츠가 100% 안전하다고 단언할 수는 없지만, 인터넷에서 출처 불명의 파일을 함부로 다운로드하는 것보다는 훨씬 안전한 환경임은 분명합니다.
확장 프로그램 하나가 회사 전체를 위험에 빠뜨리는 이유
현재까지 대부분의 크롬 확장 프로그램 악성코드는 단일 PC만을 대상으로 했습니다. 키로거를 설치하거나 브라우저 사용 기록을 추적할 수는 있지만, 그 영향은 사용 중인 PC에 국한되었습니다.
그러나 최근 등장한 새로운 유형의 악성 확장 프로그램은 이런 패턴을 바꾸려 하고 있습니다. 단순히 페이로드(payload)만 전달하는 데 그치지 않고, 피해자의 컴퓨터 안에 교두보를 마련합니다.
이 교두보를 발판 삼아 해커는 조직의 네트워크 깊숙이 침투할 수 있습니다. 네트워크 방어 체계를 성공적으로 우회하는 데 성공하면, 해커는 네트워크에 연결된 다른 PC와 파일 시스템까지 몰래 감시할 수 있게 됩니다.
즉, 이는 사이버 보안 업계가 아직 경험해 보지 못한 악성 크롬 확장 프로그램의 진화된 형태입니다. 이제 규모가 큰 네트워크에서 단 한 명의 직원이 악성 확장 프로그램을 설치하는 것만으로도 조직 구성원 모두가 위험에 노출될 수 있습니다.
실제 사례로 보는 악성 크롬 확장 프로그램
이야기만 들으면 무섭게 느껴지지만, 실제 세계에서 일어날 수 없는 위협이라면 큰 의미가 없습니다. 그렇다면 이 공격 벡터가 실제로 가능하다는 증거는 무엇일까요?
이러한 위협의 증거는 인터넷 상의 보안 위협을 추적하는 ThreatPost의 보고서에서 찾을 수 있습니다. 이들은 무려 106개의 악성 확장 프로그램을 발견했고, 구글에 해당 확장 프로그램들의 삭제를 요청했습니다.
악성 크롬 확장 프로그램이 삭제되는 일 자체는 새로운 일이 아닙니다. 진짜 문제는 이번 악성코드의 작동 방식이었습니다. 피해자의 컴퓨터에서 데이터를 훔치는 것뿐만 아니라, 해커가 피해자의 네트워크에 침입할 수 있는 백도어(backdoor)까지 만들어낸 것입니다.
악성코드는 어떻게 작동했나?
확장 프로그램 악성코드에게 가장 큰 장애물은 구글의 보안 검사입니다. 구글이 이를 조기에 탐지하면 새로운 악성코드 유행의 단서가 될 수 있습니다. 반대로 검사를 통과하면 광범위하게 퍼질 가능성이 높아집니다. 사용자들은 크롬 웹 스토어의 앱을 신뢰하는 경향이 있기 때문에, 개발자가 검사를 통과하기만 하면 높은 다운로드 수를 기대할 수 있습니다.
이번 악성코드는 피해자를 특정 웹사이트로 리디렉션해 감염된 파일을 다운로드하게 만드는 방식이었습니다. 하지만 해당 웹사이트로 직접 연결되는 구조였다면 구글이 쉽게 적발했을 것입니다.
악성코드 개발자들은 '변형 웹사이트(morphing website)' 기법으로 이 문제를 회피했습니다. 컴퓨터가 웹사이트에 접속하면, 웹사이트는 먼저 접속 출처를 확인합니다.
접속이 기업이나 일반 소비자 ISP(인터넷 서비스 제공업체)에서 온 것이 아니라면, 구글처럼 보안 검사를 위해 방문하는 비인간 시스템일 가능성이 높습니다. 이 경우 웹사이트는 깨끗한 랜딩 페이지를 보여줘 바이러스 검사기가 해당 사이트를 안전하다고 판단하도록 속입니다.
반면 방문자가 기업 또는 소비자 ISP 출신이라면 실제 사람일 가능성이 높습니다. 이때 웹사이트는 사용자를 '진짜' 웹사이트로 리디렉션해 악성 링크가 담긴 페이지를 보여줍니다.
결과적으로 개발자가 악성코드를 크롬 웹 스토어에 업로드하면, 바이러스 검사기는 가짜 랜딩 페이지만 보고 해당 앱을 안전하다고 판정합니다. 그리고 사용자가 다운로드한 후에야 악성 페이로드가 담긴 진짜 웹사이트와 마주하게 됩니다.
악성코드는 얼마나 광범위하게 퍼졌나?
안타깝게도 이 방식은 탐지 회피에 매우 효과적이어서 무려 106개의 크롬 확장 프로그램이 바이러스 검사를 통과했습니다. 이 앱들을 모두 합치면 총 3,200만 건의 다운로드를 기록했는데, 이는 페이로드가 얼마나 광범위하게 확산되었는지 보여주는 우려스러운 사례입니다.
이 악성코드는 악성 웹사이트를 탐지하는 도구나 파일 형식 변환 도구로 위장했습니다. 두 종류 모두 사람들이 별생각 없이 다운로드하는 인기 확장 프로그램 유형이라 완벽한 위장막이 되었습니다.
결국 이 악성코드는 100개의 서로 다른 기업과 조직 내부에 교두보를 구축하는 데 성공했습니다. 금융권, 의료기관, 심지어 정부 기관까지 포함되어, 해커들이 폭넓은 산업 분야에 발판을 마련한 셈입니다.
각 앱의 코드베이스가 매우 유사했기 때문에 연구자들은 한 그룹이 모든 확장 프로그램을 업로드했다고 판단했습니다. 이들은 이번 악성코드가 전 세계 기업들에 교두보를 확보하려는 글로벌 감시 시도의 일부라고 보았습니다.
내가 악성코드를 다운로드했는지 확인하는 방법
최근 감염된 확장 프로그램을 설치한 것으로 의심된다면 직접 확인해볼 수 있습니다. 먼저 주소창에 chrome://extensions/를 입력해 확장 프로그램 페이지를 엽니다. 의심되는 확장 프로그램을 찾아 그 아래에 표시된 ID를 확인합니다.
그다음 이 ID를 공개된 악성 크롬 확장 프로그램 목록과 비교합니다. 확장 프로그램 ID는 알파벳이 복잡하게 섞인 문자열이므로, Ctrl+F를 눌러 의심되는 ID를 붙여넣고 검색하는 것이 편리합니다. 목록을 자동으로 검색해 일치하는 항목이 있는지 알려줍니다.
이런 공격으로부터 스스로를 지키는 방법
이번 공격은 확장 프로그램 악성코드의 미래를 예고하는 초기 경고 신호입니다. 구글 독스부터 줌(Zoom)까지 주요 업무 도구가 브라우저에서 작동하면서, 우리는 업무에 도움이 되는 확장 프로그램을 더 많이 찾게 됩니다. 그만큼 악성코드 개발자들도 확장 프로그램 영역으로 이동해 생산성 향상을 돕는 척하는 바이러스를 만들고 있습니다.
보통은 다운로드 수를 보면 악성 여부를 짐작할 수 있습니다. 다운로드 수가 매우 적으면서 의심스러운 5점 리뷰만 달려 있다면 악성 확장 프로그램일 가능성이 높습니다. 그러나 위에서 살펴본 것처럼 이제 다운로드 수는 더 이상 신뢰할 수 있는 지표가 아닙니다. 무려 3,200만 명이 이 악성코드를 다운로드했으니까요!
대신 할 수 있는 가장 확실한 방법은 사람들이 신뢰하거나 오랫동안 사용되어 온 앱만 설치하는 것입니다. 확장 프로그램이 수년간 존재하며 많은 추천과 긍정적인 리뷰를 받아왔다면, 악의적인 의도가 없다고 보아도 무방합니다.
예를 들어, 브라우징 경험을 개선하는 크롬 확장 프로그램 추천 목록은 모두 검증된 것들이므로 악성코드 걱정 없이 사용할 수 있습니다.
크롬 확장 프로그램을 깨끗하게 유지하기
크롬 웹 스토어의 모든 확장 프로그램이 안전하다고 가정하기 쉽지만, 현실은 전혀 그렇지 않습니다. 확장 프로그램이 필요하다면 오랫동안 검증된 인기 프로그램 위주로 선택하는 것이 좋습니다. 그래야 숨겨진 악성코드로부터 안전할 수 있습니다.
설치된 모든 확장 프로그램이 정상적으로 작동하는지 확인하고 싶다면, 의심스러운 크롬 확장 프로그램을 과감히 삭제하는 것도 잊지 마세요.