악성 확장 프로그램 제거에 비참하게 실패하는 Google
Google Chrome은 66%의 시장 점유율로 가장 널리 사용되는 데스크톱 브라우저로, 16억 명의 활성 사용자를 보유하고 있습니다. Chrome 웹 스토어에 등록된 확장 프로그램의 수도 125,000개가 넘을 정도로 대단합니다. 그러나 브라우저의 엄청난 인기와 그 결과 확장 프로그램에는 어두운 면이 있습니다. 스탠포드 대학교의 연구에 따르면, Google은 너무 바빠서 거대한 확장 프로그램 제국을 거의 통제하지 못하는 것 같습니다.
연구진은 구글이 머신러닝과 사람의 검토를 결합하여 각 확장 프로그램에 대해 엄격한 검사를 수행한다고 하지만, 확장 프로그램의 사용 안전성을 보장하는 데는 한계가 있다는 사실을 발견했습니다.
보고서에 따르면 잠재적으로 유해하고 노골적으로 위험한 확장 프로그램(연구자들이 '보안상 주목할 만한 확장 프로그램' 또는 ‘Security-Noteworthy Extensions’(SNE)라고 부르는)이 초래하는 위험의 규모는 놀라울 정도입니다. 지난 3년 동안 3억 4,600만 명 이상의 사용자가 적어도 하나의 SNE를 설치했다고 연구팀은 밝혔습니다. 이 중 2억 8천만 명의 사용자가 멀웨어가 포함된 확장 프로그램을 다운로드했고, 6,330만 명의 사용자가 Chrome 웹 스토어 정책을 위반한 확장 프로그램을 설치했으며, 290만 명의 사용자가 취약점이 있는 것으로 알려진 확장 프로그램을 설치했습니다.
정책을 위반하고 보안에 취약한 확장 프로그램 중 PC에 심각한 보안 위협이 되지 않는 확장 프로그램을 제외하더라도 2억 8천만 개의 멀웨어가 포함된 확장 프로그램은 여전히 남아 있습니다. 악성 광고 전송부터 사용자 몰래 추적 및 감시, 자격 증명과 같은 민감한 데이터 탈취에 이르기까지 다양한 위협을 가할 수 있습니다.
간단히 말해, 이 데이터는 브라우저에 유용한 기능을 추가한다고 생각한 수백만 명의 사용자들도 자신도 모르게 데이터 도용에서 개인정보 침해에 이르는 위협에 노출되어 있다는 것을 의미합니다.
위험한 확장 프로그램은 수년 동안 Chrome 웹 스토어에 저장되어 왔습니다
가장 놀라운 사실은 사용자의 개인정보나 보안을 위협하지 않는 무해한 확장 프로그램이 취약점이 있는 확장 프로그램보다 Chrome 웹 스토어에 머무는 시간이 짧다는 것입니다. 연구원들은 전자의 경우 평균 1,152일 동안 스토어에 머무르는 반면, 후자의 경우 평균 머무르는 시간이 3년 이상인 1,248일에 이른다는 사실을 발견했습니다.
악성 확장 프로그램의 머무르는 시간은 평균적으로 훨씬 짧지만 여전히 1년(380일) 이상입니다.
중앙값은, 보안 연장의 경우(780일)가 비보안 연장(1,213일)보다 현저히 낮습니다.
연구자들은 “이러한 확장 프로그램은 수년간 사용자의 보안과 개인정보를 위험에 빠뜨리기 때문에 매우 문제가 됩니다.”라고 지적합니다.
악성 확장 프로그램의 평균 수명은 그 자체로도 이미 우려할 만한 수준이지만, 경우에 따라서는 그보다 훨씬 더 길어지기도 합니다. 연구원들은 악성코드에 감염된 TeleApp 확장 프로그램이 8.5년 동안 Chrome 웹 스토어에 남아 있었던 충격적인 사례를 발견했습니다! 이 확장 프로그램은 10년 전인 2013년 12월에 마지막으로 업데이트되었으며, 2022년 6월에 제거될 때까지 발견되지 않았습니다.
멀웨어에 감염된 확장 프로그램이 무해한 확장 프로그램보다 평균적으로 더 많은 사용자 기반을 가지고 있다는 사실도 당황스러운 부분입니다. 이 연구에 따르면 안전한 확장 프로그램의 사용자 수는 평균 만 천명인 반면 멀웨어에 감염된 확장 프로그램의 사용자 수는 그 두 배인 2만7천명입니다.
잘못된 확장 프로그램을 식별하는 방법은 무엇인가요?
Google은 확장 프로그램을 제대로 검사하지 않는 것 같습니다. 게다가 연구원들이 지적한 것처럼 Google 엔지니어는 취약한 확장 프로그램을 탐지할 수 있는 도구나 절차가 없는 것으로 보입니다.
연구원들은 취약한 확장 프로그램을 코드에 문제가 있는 확장 프로그램으로 정의합니다. 해커가 이를 악용하면 사용자 데이터를 훔치거나 사용자가 방문하는 모든 웹사이트에 악성 스크립트를 삽입하는 등의 악의적인 공격으로 이어질 수 있습니다. 즉, 잠재적으로 위험한 수많은 확장 프로그램이 Google의 사각지대로 남아 있다는 뜻입니다.
Google이 Chrome 웹 스토어에서 위반자를 내쫓는 데 어려움을 겪고 있다면 사용자가 직접 나서서 문제를 해결할 수 있나요? 이상적으로는 그렇습니다. 그러나 연구자들이 지적했듯이 SNE 확장 프로그램은 언뜻 보기에 일반 확장 프로그램과 다르지 않기 때문에 실제로 이를 달성하기는 매우 어렵습니다.
예를 들어, 연구원들은 등급이 신뢰성을 나타내는 가장 좋은 지표는 아니라는 사실을 발견했습니다. 악성(52%) 및 취약(47%) 확장 프로그램의 상당수가 등급이 전혀 없는 반면, 의외로 신뢰할 수 있는 확장 프로그램(32%)도 이 범주에 속합니다. 더욱 놀라운 점은 신뢰할 수 있는 확장 프로그램과 정책 위반 확장 프로그램의 평균 등급이 5점, 악성 확장 프로그램은 4.9점, 취약한 확장 프로그램은 4.5점으로 전반적으로 여전히 높다는 점입니다. 이는 사용자가 설치하는 확장 프로그램의 실제 성격과 위험성을 간과하는 경향이 있음을 시사합니다. 리뷰가 위조되거나 조작될 가능성을 배제할 수는 없지만, 이는 좋은 확장 프로그램과 나쁜 확장 프로그램 모두에 영향을 미치는 양날의 검인 것 같습니다.
그렇다면 리뷰를 신뢰할 수 없다면 특정 확장 프로그램이 좋은지 나쁜지 어떻게 알 수 있을까요? 안타깝게도 완벽한 지표는 없지만, 적어도 연구 결과에 따르면 개발자의 기록을 살펴보는 것이 가장 좋은 방법일 것입니다.
개발자 평판: 단서는 되지만 보장은 아닙니다.
연구에 따르면 악성 확장 프로그램을 하나 이상 보유한 개발자는 양성 확장 프로그램을 하나 이상 보유한 개발자보다 평균적으로 SNE 확장 프로그램을 더 많이 게시하는 경향이 있는 것으로 나타났습니다. 따라서 “악성 확장 프로그램을 1개 게시한 개발자는 평균 3.6개, 멀웨어 포함 4.9개, 정책 위반 1.4개, 취약한 확장 프로그램 0.00093개를 게시” 이 연구에 따르면 멀웨어 포함 또는 개인정보 침해 확장 프로그램을 게시한 개발자는 이 중 하나를 더 게시할 가능성이 높다고 합니다.
흥미롭게도 연구원들은 각각 100개 이상의 멀웨어가 포함된 확장 프로그램을 보유한 개발자를 30명으로 집계했습니다.
그러나 여기서 악성 확장 프로그램과 취약한 확장 프로그램 사이에는 중요한 차이점이 있습니다. 멀웨어와 개인 정보를 침해하는 확장 프로그램은 상습적인 범죄자가 제공하는 경우가 많지만, 취약한 확장 프로그램을 게시하는 개발자는 양성 확장 프로그램의 비율도 높은 것으로 나타나 이러한 취약점이 구현 과정에서 의도하지 않은 실수일 수 있음을 시사합니다.
악성 확장 프로그램은 일반적으로 더 많은 권한을 요청합니다.
연구원들은 보안상 주목할 만한 확장 프로그램(SNE)이 정상 확장 프로그램보다 데이터에 더 많은 액세스 권한을 요구한다는 사실을 발견했습니다. 멀웨어를 포함하고 취약한 확장 프로그램이 요청하는 API 권한의 중앙값은 4개인 반면, 정책을 위반하는 확장 프로그램은 2개, 정상 확장 프로그램은 1개만 필요합니다.
궁극적으로 확장 프로그램에 더 많은 권한이 있을수록 공격 표면이 더 커집니다.
흥미롭게도 양성 확장 프로그램과 SNE 확장 프로그램은 모두 유사한 API를 사용하여 기능을 수행합니다. 가장 큰 차이점은 가장 많이 방문한 사이트에 대한 액세스 권한을 부여하는 'topSites' 권한에 있습니다. 이 권한은 악성 확장 프로그램(4,000개 이상의 확장 프로그램에서 사용)에서 2위를 차지하지만 다른 카테고리에서는 상위 10위 안에 들지 못합니다. 이는 새 탭에서 홈페이지를 가로채는 멀웨어와 관련이 있을 수 있으며, 'topSites' 액세스 권한이 필요한 기능입니다.
그러나 호스트 권한(특정 웹사이트에 대한 액세스 권한)을 살펴보면 이야기가 달라집니다. 모든 URL에 대한 액세스 권한을 부여하는 권한(예: <all_urls>
또는 http://
)은 정상적이고 취약한 확장 프로그램에서 많이 사용됩니다. 이와 대조적으로 멀웨어 및 정책 위반 확장 프로그램은 특정 Google 하위 도메인을 표적으로 삼는 경우가 많습니다. 이는 멀웨어 개발자가 의도적으로 Google의 조사를 유발하고 잠재적으로 악성 확장 프로그램으로 신고될 수 있는 권한을 피하고 있을 수 있음을 시사합니다.
업데이트는 어떻게 되나요?
취약점의 큰 원인이며 따라서 사용자에게 위험을 초래하는 확장 프로그램은 수년간 업데이트되지 않아 패치되지 않은 보안 취약점으로 인해 다양한 공격에 취약할 수 있습니다.
연구진은 전체 확장 프로그램의 60%가 업데이트된 적이 없어 악용 및 침해에 쉽게 노출될 수 있다는 사실을 발견했습니다. 더욱 충격적인 사실은 취약한 것으로 알려진(취약점이 공개적으로 보고된) 확장 프로그램의 반수가 취약점이 공개된 후 2년 동안 Chrome 스토어에서 패치되지 않은 채로 남아 있다는 것입니다.
결론
사용자가 브라우징 환경을 개선하기 위해 확장 프로그램에 점점 더 많이 의존함에 따라 보안을 우선시해야 할 책임은 개발자와 플랫폼 큐레이터(이 경우 Google) 모두에게 있다고 생각합니다. 개발자가 의도적으로 멀웨어가 포함된 확장 프로그램을 만든 경우에는 특히 Google의 역할이 중요합니다.
모니터링 강화, 엄격한 정책 시행, 사용자 교육 개선은 이러한 위험을 완화하고 전 세계 수백만 명의 Chrome 사용자에게 더 안전한 브라우징 환경을 제공하기 위한 중요한 단계입니다.