2019년, 크롬을 버리고 파이어폭스로 갈아타야 하는 이유

옛날에는 구글 크롬이 최고의 브라우저였다. 그 때 브라우저에 대해 열심히 공부하고 최근에 업데이트가 안 된 사람들은 아직도 크롬을 최고의 브라우저라고 여기고 있을지도 모른다. 하지만 정말로 그럴까? 2018년 Firefox Quantum이 출시된 이후 크롬이 파이어폭스보다 속도가 빠르다는 것은 옛말이 됐고, 파이어폭스에도 제대로 된 샌드박스 기능이 추가되면서 보안 측면에서도 크롬이 딱히 우위에 있다고 말하기 어려워졌다. Firefox Quantum은 디자인 측면에서도 큰 개선을 이뤘고, 반면 구글 크롬의 디자인은 머티리얼 디자인 컨셉에 맞추기 위해서인지 좀 퇴보한 느낌이라 이제는 UI디자인도 크롬이 낫다고 잘라 말하기 어려워졌다.

크롬(디폴트)
크롬(북마크바 제거)
파이어폭스.
구 엣지 (EdgeHTML). 사실 UI디자인은 구 엣지가 제일 예쁘다.
신 엣지 (Chromium). 구 엣지보다 디자인이 한참 퇴보했다. 그러나 지금은 베타 버전이고, 나중에 정식 출시될 땐 디자인이 개선될 수도 있다.
신 엣지(북마크바 제거)

사실 UI는 눈으로 봤을 때 걸리적거리지만 않으면 되는 부분이라 세세한 디자인이 그렇게 중요하지는 않다. 우리가 인터넷을 할 때 가장 많이 보게 되는 부분은 웹페이지의 내용 즉 ‘글씨’다. 이 글씨 렌더링 측면에서는 크롬보다 파이어폭스가 우위에 있다. 크롬으로 글을 읽으면서 글씨가 좀 흐리흐리해 보인다고 느껴본 적 없는가? 파이어폭스에서는 글씨가 비교적 선명하게 보인다.

크롬
파이어폭스

그런데, 사실 브라우저를 비교할 때 이렇게 ‘성능’적인 측면에만 포커스를 맞추는 것은 온당하지 않다. 우리는 가까운 가족, 친구에게도 선뜻 물어볼 수 없는 것을 인터넷 검색엔진에는 물어 보고, 검색결과를 열심히 탐방도 한다. 관심 없는 글은 빨리빨리 넘기고 관심 있는 글은 찬찬히 들여다보기도 한다. 그런데 우리가 정확히 언제 어디에서 무엇을 검색했고, 어떤 글을 클릭해서 읽었고, 그 글을 얼마나 오랫동안 심사숙고하면서 읽었는지에 대한, 태어났을 때부터 지금까지의 모든 사용기록이 공개된다면? 그리고 남이 그 사용기록을 눈으로만 보는 게 아니라 최첨단 인공지능과 빅데이터 분석기법을 동원해 사용기록 자체에 직접적으로 드러나 있지 않은 부분까지 속속들이 통계적으로 추론해서 알아내려 든다면? 이런 걸 반기는 사람은 그리 많지 않을 것이다. 웹브라우저를 비교할 땐 ‘성능’은 물론 ‘프라이버시’도 따져 봐야 하는 이유다.

프라이버시 측면에서 크롬과 파이어폭스를 비교한다면 어떨까. 당연히 파이어폭스가 압도적으로 우위에 있을 수밖에 없다. 구글은 특정 사용자의 행동패턴에 대한 상세한 데이터를 수집·분석하는 기술로 먹고 사는 회사이므로, 구글의 제품인 ‘크롬’ 또한 그러한 구글의 사업목표에 부합하는 방향으로 설계됐을 수밖에 없기 때문이다.

일단 구글 크롬은 기본적으로 사용자가 방문한 모든 URL을 수집해서 데이터베이스로 보관한다. 여러 가지 경로로 그렇게 되는데, 몇 가지 예를 들어 본다.

■ 크롬에 로그인하거나, 크롬에 직접 로그인하지 않더라도 크롬 브라우저를 이용해 Gmail, YouTube 등 구글 사이트에 접속해 그 사이트에 로그인하면 자동으로 크롬에도 동시에 로그인이 된다. 크롬에 로그인되면, ‘방문 기록’을 포함한 모든 정보가 구글 계정에 동기화된다. URL을 포함한 방문 기록 전체가 구글 서버에 전송된다는 것이다.

또한 방문기록을 동기화하는 사람이 기본 검색엔진을 구글로 설정해 놓은 경우, 크롬은 기록 동기화와는 별개로 모든 방문하는 사이트의 URL을 구글로 직접 전송하고, 이 데이터는 구글이 사용자에게 더 최적화된 제안을 하는 데 활용된다.

■ 요즘 대부분의 브라우저는 ‘주소창 검색’ 기능을 내장하고 있다. 주소창에 키보드로 무언가를 입력하면 그것이 기본 검색엔진으로 바로 전송돼 ‘검색어 제안’을 받아오는 서비스다. 검색어 제안을 받아와야 한다는 특성상 ‘엔터’키를 누르기 전에도 키보드로 입력하는 글자 하나하나가 바로바로 검색엔진으로 전송돼야 할 수밖에 없다. 크롬을 쓰는 사람 대부분은 구글을 기본 검색엔진으로 사용할 것이므로, 주소창에 사이트 주소를 입력해서 들어가면 구글은 그 정보를 갖게 된다.

구글 크롬의 프라이버시 백서에 의하면, 크롬은 ① 사용자가 특정 웹페이지에 접속하려고 했으나 접속이 실패한 경우, ② 크롬 브라우저가 비정상적으로 종료된 경우, ③ 잠재적으로 위험할 수 있는 사이트에 들어가는 경우, ④ 사람들이 잘 들어가지 않는 사이트에서 브라우저 내에 저장된 비밀번호를 입력하는 경우, 해당 URL을 구글에 전송한다.

■ 브라우징 도중 비밀번호나 결제수단 등 자동완성으로 채울 수 있는 빈칸을 맞닥뜨린 경우 크롬은 그 사이트의 호스트네임의 해쉬값을 구글에 전송한다. 여기서 호스트네임이란 주소의 맨 앞부분, 즉 https://www.google.com/chrome/privacy/whitepaper.html에서 www.google.com 부분을 의미한다. 구글은 그 호스트네임의 해쉬값에 대한 레인보우 테이블을 갖고 있을 거라고 보는 것이 상식적이므로, 사실상 이것은 해쉬값이 아닌 호스트네임 그대로를 구글에 전송하는 것과 마찬가지라고 할 수 있다. 결국, 크롬으로 웹서핑 도중 비밀번호나 결제수단 등 자동완성으로 채울 수 있는 빈칸을 맞닥뜨리면 구글은 여러분이 그 시점에 그 사이트에 들어갔다는 정보를 전송받아 기록으로 남기는 셈이다.

■ 설정 → 동기화 및 Google 서비스에서 ‘검색 및 탐색 기능 개선: 방문한 페이지의 URL을 Google에 전송’을 활성화한 경우, 크롬은 사용자가 방문하는 모든 URL을 구글에 전송한다.

■ 설정 → 동기화 및 Google 서비스에서 ‘세이프 브라우징 개선에 참여: 일부 시스템 정보와 페이지 콘텐츠를 Google로 전송’을 활성화한 경우, 크롬은 사용자가 세이프 브라우징 목록에 포함된 유해 사이트에 들어가거나 그 목록에 없더라도 잠재적으로 위험할 수 있다고 크롬이 판단하는 사이트에 들어가면 그 URL을 구글에 전송한다. 시크릿모드를 켠 상태에서는 이런 데이터를 구글에 전송하지 않는다.

크롬은 URL 외에도 다양한 정보들을 수집한다.

■ 크롬은 매 주마다 마치 백신프로그램처럼 컴퓨터에 있는 파일들을 스캔하여 “사용자가 설정을 변경할 수 없게 하거나 사용자 브라우저의 보안과 안정성을 방해하는 원치 않는 소프트웨어를 감지”하고, 만약 그러한 소프트웨어를 감지하면 구글에 관련 정보를 전송한다.

■ 크롬에는 맞춤법 검사 기능이 내장돼 있다. 이 기능은 디폴트로 꺼져 있는데, 만약 사용자가 이 기능을 켜면 크롬은 사용자가 검색창, 페이스북 상태메시지 창, 커뮤니티 댓글란 등 ‘텍스트 필드’에 타이핑하는 모든 내용을 타이핑과 동시에 구글로 전송한다.

■ 기본 검색엔진으로 구글을 사용하는 경우, 구글은 사용자가 타이핑한 검색어, 검색 제안 중 사용자가 선택한 단어, 그리고 그 단어가 위에서 몇 번째에 위치해 있는 것이었는지를 구글로 전송한다.

이처럼 구글 크롬은 프라이버시와는 거리가 멀다. 반면 파이어폭스는 어떨까? 파이어폭스의 개발사인 모질라Mozilla는 비영리재단으로, 구글과 달리 사용자 데이터를 수집해서 광고 타겟팅에 활용하거나, 인공지능 비서를 개발하거나, 협력사들에게 제공·판매하는 사업모델을 가지고 있지 않다. 이것만 봐도 파이어폭스가 적어도 크롬보다는 프라이버시 친화적일 거라고 기대할 수 있다.

실제로 파이어폭스는 프라이버시 보호기능을 꽤 많이 탑재하고 있다. 일단 크롬에서 동기화 기능을 사용하기 위해 구글 계정으로 로그인하면 방문 기록을 포함한 모든 정보가 구글로 전송돼 데이터 분석에 활용되는 것과는 달리, 파이어폭스의 동기화 기능은 사용자가 설정한 비밀번호로부터 derive된 encryption key를 이용한 종단 간 암호화end-to-end encryption 방식으로 동기화가 이루어지므로 사용자 외에는 아무도 데이터의 내용을 볼 수 없다.*

또한 파이어폭스에는 기본적으로 트래킹 차단 기능content blocking이 내장돼 있어, 별도의 확장기능을 설치하지 않아도 다수의 광고와 트래킹이 차단된다.

파이어폭스에는 토르 브라우저Tor Browser에 들어있는 것과 동일한 강력한 프라이버시 보호기능인 fingerprinting resistence와 first-party isolation 기능도 기본으로 탑재돼 있어, 원하는 사용자는 쉽게 활성화시킬 수 있다.

fingerprinting resistence.
first-party isolation.

2019년 현재 모든 브라우저 중 유일하게 DNS over HTTPS 및 ESNI를 지원하는 것도 파이어폭스다. 우리나라에서는 주로 HTTPS 차단 우회용으로 많이 쓰이는 기능이지만, 정부가 HTTPS 차단을 하기 위해서는 우리가 어떤 사이트에 들어가는지를 ‘봐야’ 하고 DNS over HTTPS 및 ESNI는 정부가 그걸 ‘보는’ 걸 방지함으로써 차단을 우회하는 기술이므로, 프라이버시에도 당연히 도움이 된다.

물론 파이어폭스에도 단점이 없지는 않다. 파이어폭스의 단점은, 파이어폭스를 쓰면 구글의 방해공작에 노출돼 웹서핑의 쾌적성이 떨어질 수 있다는 점이다. 구글은 자사 제품인 크롬의 점유율을 높이기 위해, 파이어폭스나 엣지 등 타사 브라우저에 대한 의도적인 방해공작을 펼치고 있다. 일례로, 한 ZDNet 기사에 의하면 2018년경 구글의 유튜브 사이트가 구글 크롬보다 파이어폭스·엣지에서 더 빠르게 구동되는 사태가 벌어지자, 구글은 이 문제를 해결하기 위해 유튜브 사이트를 개편하면서 의도적으로 구글 크롬에서만 지원하고 파이어폭스·엣지에서는 지원하지 않는 구버전의 폐기된deprecated API를 사용함으로써 유튜브가 파이어폭스·엣지에서 느리게 돌아가게 만들었다고 한다.*

또한 구글은 자사의 일부 서비스 웹페이지를 개편할 때, 파이어폭스 사용자에게는 ‘새로 개편된 AdWords 사이트가 아직 당신의 브라우저에 최적화되지 않았으니 구버전 사이트에 방문하거나 크롬을 다운받으라’는 메시지를 표시하기도 한다.

그러나 이 메시지를 맞닥뜨렸을 때, 파이어폭스의 User Agent 스트링을 수동으로 크롬으로 바꿔 주면 실제 브라우저 자체는 똑같은 파이어폭스인데도 불구하고 오류 없이 정상적으로 들어가진다고 한다. 구글이 의도적으로 파이어폭스 사용자를 불편하게 만들기 위해 이런 메시지를 넣었으리라고 짐작할 수 있는 대목이다.

또한 구글은 자사의 메인 검색페이지에 안드로이드 파이어폭스로 들어온 사람에게는 안드로이드 크롬으로 들어온 사람에게보다 쓰기 불편한 UI를 제공하는 추태를 부리기도 했다.* 이 문제는 안드로이드 파이어폭스의 User Agent 스트링을 수동으로 크롬으로 바꿔 주면 해결된다.

물론 구글이 파이어폭스에 대해서만 방해공작을 펼치는 것은 아니다. 마이크로소프트는 원래 EdgeHTML이라는 자체개발 엔진을 사용한 엣지 브라우저를 개발하고 있었으나, 구글의 방해공작이 심해지자 이를 견디다 못해 기존 엔진을 버리고 2019년 중순부터 구글이 개발한, 구글 크롬에 사용된 엔진인 크로미움Chromium 기반의 엣지를 제공하기로 결정했다. 현재는 크로미움 엣지의 베타 버전이 Edge Dev라는 이름으로 일반 사용자들에게 배포되고 있다. 크로미움 엣지는 2019. 5. 중순까지 구글 크롬과 동일하게 유튜브에서 아무 문제없이 잘 작동했으나, 구글은 2019. 5. 28.경부터 크로미움 엣지에 대한 방해공작을 개시했다. ① 예전에는 크로미움 엣지에도 유튜브의 신 UI가 제공됐으나, 2019. 5. 28.부터 갑자기 구글 크롬에만 신 UI가 제공되고 크로미움 엣지에는 구 UI가 제공되는 문제가 발생했으며, 크로미움 엣지의 User Agent (UA)를 수동으로 바꿔 주면 이 문제가 해결된다는 보고가 있다.* 한 사용자의 테스트 결과에 의하면 구글은 UA에서 크로미움 엣지의 이름인 “Edg/”를 검출해서 이러한 방해공작을 적용하는 것이라고 하며, “Edg”를 “Edge”, “TotallyNotMicrosoft”, “Netscape”, “IE6”, “Fooedg”로 바꿨을 땐 정상 작동한다고 한다.* ② 유튜브의 다크 모드가 구글 크롬에는 제공되지만 크로미움 엣지에는 제공되지 않는다.* ③ 유튜브 방송의 ‘실시간 채팅’ 기능은 원래 구글 크롬과 크로미움 엣지를 포함한 모든 브라우저에서 지원됐으나, 2019. 5. 28.부터 크로미움 엣지에 대한 지원이 중단됐다.*

구글은 파이어폭스, 엣지를 비롯한 타사 브라우저로 구글 지메일, 캘린더, 검색 등 사이트에 들어가면 ‘구글 크롬을 써 보세요!’라는 메시지를 띄워서 귀찮음을 유발하는 것으로도 악명높다.*

만약 파이어폭스를 쓰면서 구글의 방해공작으로 인한 불편함이 크게 다가온다면, 브레이브Brave라는 크로미움 기반의 프라이버시 중심 오픈소스 브라우저를 한번 써 봄직하다. 크로미움 기반으로 갈라져 나온 다른 여러 소규모 브라우저들과 달리, 브레이브는 나름 대기업에서 개발과 유지관리를 하는 브라우저이므로 보안성·신뢰성이 높고 갑자기 개발이 중단돼 버려질 가능성도 낮다.

브레이브의 특징은 크롬과 동일한 사용자 경험을 제공한다는 것이다. 크롬과 동일한 엔진을 사용하고 있기 때문에 구글이 의도적으로 타사 브라우저에서 유튜브 속도 느려지게 장난질을 쳐도 브레이브에는 통하지 않고, User Agent 스트링도 크롬과 동일하게 맞춰 놓았기 때문에 구글이 UA 검출 기법을 통해 타사 브라우저 사용자에게 의도적으로 방해 메시지를 띄워도 브레이브는 영향을 받지 않는다. 따라서 브레이브를 이용하면 구글의 방해공작에도 불구하고 웹을 쾌적하게 이용할 수 있다. 그러면서도 강력한 광고 및 트래커 차단 기능이 내장돼 있고, 핑거프린팅 방지 기능도 어느 정도 구현돼 있어 크롬보다 프라이버시 수준이 월등히 높다. 한 마디로 크롬의 상위호환이라고 할 수 있다.

크롬을 버리고 파이어폭스, 브레이브로 갈아타야 하는 이유다.

참고: 인터넷 익스플로러 삭제하기

우리가 인터넷 익스플로러를 사용하는 이유는 딱 하나다. 은행, 관공서 사이트에 들어가려면 ActiveX를 덕지덕지 깔아야 하는데, 이 ActiveX라는 기술이 인터넷 익스플로러에서만 작동하기 때문이다. 하지만 ActiveX는 깔면 깔수록 컴퓨터의 성능을 현저히 저해시키고 안정성도 깎아먹으며, ‘보안프로그램’이라는 특성상 맬웨어 차단을 명목으로 사용자가 다운받는 모든 파일과 접속하는 모든 인터넷 페이지 기록을 수집, 분석하기 때문에 이걸 깔면 프라이버시 수준도 저해된다. 일례로 AhnLab Safe Transaction은 “웹 브라우저 등을 통해 다운로드 된 응용프로그램에 대한 정보. 예: 파일명, URL, IP, 파일 크기, 서명자”를 수집한다.* 또한 이런 프로그램을 배포하는 주체가 ‘정부’라는 특성상 그러한 기록이 정부로 넘어갈 가능성도 배제할 수 없는 상황이다. HTTPS 차단·감시시스템을 피해도 본인 컴퓨터 자체에 정부의 감시시스템이 설치돼 있으면 소용 없다는 것이다.

보안프로그램들이 HTTPS 중간자 공격을 위해 설치한 루트 인증서들. ASTx는 AhnLab Safe Transaction을 의미한다.

이러한 ActiveX 문제는 Hyper-V 가상머신 또는 외장SSD 듀얼부팅 윈도우를 설치해서 그 안에만 ActiveX를 설치하는 방법으로 효과적으로 해결할 수 있다. 그렇게 하고 나면, 가상머신이나 듀얼부팅이 아닌 우리가 메인으로 쓰는 윈도우상에는 더 이상 인터넷 익스플로러를 남겨 둘 필요가 없게 된다. ‘필요’가 없을 뿐만 아니라 오히려 남겨 두면 손해를 본다. 인터넷 익스플로러는 실행시키지 않고 가만히 설치돼 있기만 해도, 정확히 말하면 MHT 확장자에 대한 기본 앱으로 설정되어 있기만 해도, 시스템의 보안성을 저해시키기 때문이다.*

따라서 ActiveX 전용 가상머신/듀얼부팅이 아닌 주된 윈도우에서는 인터넷 익스플로러를 아예 삭제해 버리는 것을 추천한다. 시작메뉴 옆에 있는 윈도우 검색창에 ‘Windows 기능 켜기/끄기’를 검색해서 실행시킨 다음, Internet Explorer 11 옆에 있는 체크표시를 해제해 주면 된다.

‘확인’을 누르면 인터넷 익스플로러가 제거된다.

참고: 일반인에게도 토르 브라우저(Tor Browser)가 필요한 이유

그 이유는 토르 브라우저를 써야만 익명으로 인터넷을 할 수 있기 때문이다. 왜 일반인이 익명으로 인터넷을 해야 하는가? 익명성은 다중아이디 만들어서 분탕질, 트롤링 하는 사람에게나 필요한 것 아닌가?라는 의문을 가질 수 있으나, 이는 인터넷 세계와 현실 세계를 혼동한 데서 비롯된 것이다.

현실 세계에서는 본인이 적극적으로 글을 써서 공표하는 행위만 기록으로 남는다. 책을 출판하면서 본명이나 필명을 내건다든지, 광장에 실명 대자보를 붙이거나 익명 대자보를 붙인다든지. 그런 것들 말이다. 출판한 책을 정확히 누가 몇 월 며칠 몇 시 몇 분에 읽기 시작해서 어느 페이지에 가장 오래 머물렀고 eye-tracking 기법을 통해 분석해 봤을 때 그 페이지 내용 중 어느 부분에 시선이 가장 집중됐는지, 광장에 대자보가 붙은 시점으로부터 철거된 시점 사이에 해당 광장을 지나간 사람들이 정확히 누구누구이며, 그 중 대자보를 그냥 눈으로만 쓱 보고 지나간 사람이 누구고 대자보 앞에 서서 열심히 읽은 사람이 누구인지, 대자보를 열심히 읽은 사람이 그 때 누구와 동행하고 있었으며 평소 어떤 성향의 사람들과 어울리는지 같은 것들은, 현실 세계에서는 국가의 정보기관이 막대한 인건비를 지출해서 미행·감시요원을 붙이지 않는 한 기록으로 남지 않는다.

그러나 인터넷 세계에서는 이 모든 것들이 기록으로 남아 영구적으로 데이터베이스에 저장된다. 단순히 수동적으로 서버 구석탱이에 저장돼 있다가 용량이 차면 없어지는 그런 ‘로그’의 형태로 남는다는 것이 아니라, 아예 이런 기록을 적극적으로 수집해서 각종 빅데이터 분석기법으로 분석하고 데이터 브로커나 캠브릿지 애널리티카 같은 회사에 판매하려는 전문기업들이 잘 정제된 기록으로 남긴다는 것이다. 이 때문에, 인터넷 세계에서는 아무 글도 댓글도 쓰지 않고 그냥 글을 읽기만 하는 사람에게도 익명성이 필요하다.

인터넷에서 익명성을 유지하려면 어떻게 해야 할까? 크롬 대신 파이어폭스를 이용하고, 파이어폭스에 내장된 트래커 차단 기능을 켜 두는 것이 첫걸음이다. 그러나 이건 사실 아무것도 안 하는 것보다는 상대적으로 낫기 때문에 하는 것일 뿐, 이것만으로 유의미한 수준의 익명성이 확보되는 것은 아니다. 차단 리스트가 놓치는 트래킹 픽셀도 20%나 되고(Fouad et al., 2019), 그 20%의 차단되지 않은 트래커들은 뒤에서 서로서로 정보를 교환하기 때문에 AdBlock Plus를 사용하는 경우에는 90~97%, Disconnect를 사용하는 경우에는 45~60%의 정보가 여전히 수집된다(Bashir & Wilson, 2018). 게다가 트래킹 차단기능의 본질적인 한계로 인해 알아도 차단이 불가능한 트래커들도 많다. 예를 들어 특정 페이지에 유튜브 동영상을 추가해 놓으면 그 유튜브 동영상 자체가, 그 동영상을 실행시키지 않은 독자를 포함하여, 해당 페이지 독자를 전부 트래킹한다.* 하지만 그렇다고 파이어폭스의 트래킹 방지기능이 감히 유튜브를 차단할 수 있겠는가? 뭐 차단하려면 할 수야 있겠지만, 파이어폭스가 그걸 차단하면 아무도 파이어폭스를 쓰지 않게 될 것이므로 현실적으로 불가능하다.

이 문제를 해결하는 유일한 방법은 파이어폭스 기반의 오픈소스 브라우저인 토르 브라우저를 일상생활에서도 항상 사용하는 것이다.

토르 브라우저 첫 실행화면. 파이어폭스와 UI가 똑같다.

토르 브라우저는 어디 촌구석에 사는 히피 개발자가 개발하는 프로그램이 아니라, 미국 정부 및 시민단체로부터 막대한 자금지원을 받는 대규모 비영리단체인 토르 프로젝트Tor Project, Inc.에서 개발하고 있는 프로그램이다. 따라서 안정성·신뢰성이 높고 그때그때 발생하는 문제들에 대해서도 대응이 빠르다.