레노버(Lenovo)의 슈퍼피시(Superfish) 악성코드가 지난 한 주간 큰 파장을 일으켰습니다. 노트북 제조사가 광고웨어(adware)가 미리 설치된 상태로 컴퓨터를 출하한 것만으로도 충분히 문제였지만, 더 심각한 것은 해당 컴퓨터들을 공격에 매우 취약한 상태로 만들었다는 점입니다. 지금 슈퍼피시를 제거할 수는 있지만, 이 이야기는 아직 끝나지 않았습니다. 걱정해야 할 앱은 훨씬 더 많이 남아 있습니다.
슈퍼피시 잡기
레노버는 슈퍼피시를 제거하는 전용 도구를 공개했으며, 마이크로소프트도 백신 소프트웨어를 업데이트해 이 문제를 감지·제거할 수 있도록 대응했습니다. 다른 백신 업체들도 빠르게 뒤따를 것으로 보입니다. 레노버 노트북을 사용 중인데 아직 조치를 취하지 않았다면, 지금 즉시 슈퍼피시를 제거해야 합니다!
슈퍼피시를 제거하지 않으면 중간자 공격(man-in-the-middle attack)에 훨씬 더 쉽게 노출됩니다. 이 공격은 실제로는 공격자와 통신하고 있는데도 마치 보안 웹사이트와 안전하게 통신하는 것처럼 보이게 만듭니다. 슈퍼피시는 사용자에 대한 더 많은 정보를 수집하고 페이지에 광고를 삽입하기 위해 이런 방식을 사용하지만, 공격자들은 이 허점을 그대로 악용할 수 있습니다.
SSL 하이재킹은 어떻게 작동할까?
슈퍼피시는 SSL 하이재킹(SSL hijacking)이라는 과정을 통해 사용자의 암호화된 데이터에 접근합니다. 그 원리는 생각보다 단순합니다. 보안 사이트에 접속할 때 컴퓨터와 서버는 다음과 같은 단계를 거칩니다.
- 컴퓨터가 HTTP(비보안) 사이트에 접속한다.
- HTTP 서버가 같은 사이트의 HTTPS(보안) 버전으로 리디렉션한다.
- 컴퓨터가 HTTPS 사이트에 접속한다.
- HTTPS 서버가 인증서를 제공해 해당 사이트임을 확인해 준다.
- 연결이 완료된다.
중간자 공격이 발생하면 2단계와 3단계가 위협받습니다. 공격자의 컴퓨터가 내 컴퓨터와 보안 서버 사이에서 다리 역할을 하며, 양쪽 사이를 오가는 모든 정보를 가로챕니다. 여기에는 비밀번호, 신용카드 정보 등 민감한 데이터가 포함될 수 있습니다.
물고기 뒤의 상어: 코모디아(Komodia)
슈퍼피시는 레노버의 소프트웨어지만, 코모디아(Komodia)라는 회사가 만든 기존 프레임워크 위에 구축되었습니다. 코모디아는 다양한 도구를 개발하는데, 대부분 SSL로 암호화된 인터넷 트래픽을 가로채고 빠르게 복호화한 뒤, 데이터 필터링이나 암호화된 브라우징 모니터링 같은 작업을 수행할 수 있게 하는 데 초점이 맞춰져 있습니다.
코모디아 측은 자사 소프트웨어가 자녀 보호 기능, 암호화된 이메일에서 민감한 정보 필터링, 확장 프로그램 추가를 제한하는 브라우저에 대한 광고 삽입 등에 활용될 수 있다고 밝혔습니다. 물론 선한 용도도 존재하겠지만, 사용자에게 아무런 알림 없이 SSL 트래픽을 복호화한다는 사실 자체가 매우 우려스러운 부분입니다.
간단히 정리하면, 슈퍼피시는 단일 비밀번호 기반의 보안 인증서를 사용했습니다. 즉, 그 인증서의 비밀번호를 아는 사람이라면 누구나 슈퍼피시가 모니터링하는 모든 트래픽에 접근할 수 있었다는 뜻입니다. 그렇다면 슈퍼피시가 발견된 후 어떤 일이 벌어졌을까요? 누군가 비밀번호를 크랙해 공개해 버렸고, 그 결과 수많은 레노버 노트북 사용자가 위험에 그대로 노출되었습니다.
한 보안 연구원은 블로그 포스트에서 그 비밀번호가 다름 아닌 'komodia'라고 밝혔습니다. 놀랍게도 실화입니다.
더 큰 문제는 슈퍼피시만 코모디아 프레임워크를 사용하는 것이 아니라는 점입니다. 페이스북의 보안 연구원은 최근 코모디아 기술을 사용하는 소프트웨어가 열두 개 이상 발견됐다고 밝혔으며, 이는 수많은 SSL 연결이 한꺼번에 위험에 처할 수 있음을 의미합니다. Ars Technica는 포춘 500대 기업을 포함해 100개 이상의 고객이 코모디아를 사용 중이라고 보도했습니다. 게다가 다른 여러 인증서 역시 'komodia'라는 비밀번호로 잠금 해제가 가능했습니다.
다른 SSL 하이재커들
코모디아가 SSL 하이재킹 시장의 큰 물고기이긴 하지만, 혼자만은 아닙니다. 웹사이트의 광고를 신뢰할 수 있는 광고로 교체해 주는 컴도(Comodo)의 서비스 프리브독(PrivDog) 역시 중간자 공격을 허용할 수 있는 취약점이 발견되었습니다. 연구원들은 프리브독의 취약점이 슈퍼피시보다 오히려 더 심각하다고 평가합니다.
이런 사례는 드물지도 않습니다. 많은 무료 소프트웨어에는 사용자가 원하지 않는 광고웨어 등이 함께 번들로 포함되어 있으며, 그중 상당수가 SSL 하이재킹을 통해 암호화된 연결로 전송되는 데이터를 몰래 검사합니다. 다행히 일부는 보안 인증서 관행에 좀 더 신경을 쓰고 있어, 모든 SSL 하이재커가 슈퍼피시나 프리브독처럼 치명적인 보안 구멍을 만드는 것은 아닙니다.
물론 앱에 암호화된 연결 접근을 허용해야 하는 정당한 이유도 있습니다. 예를 들어 백신 소프트웨어가 HTTPS 사이트와의 통신을 복호화할 수 없다면, 보안 연결을 타고 유입되는 악성코드로부터 컴퓨터를 보호할 수 없습니다. 자녀 보호 소프트웨어 역시 보안 연결에 접근할 수 없다면, 아이들이 HTTPS를 이용해 콘텐츠 필터를 손쉽게 우회할 수 있습니다.
하지만 광고웨어가 암호화된 연결을 감시하고 공격에 노출시키고 있다면, 이야기는 달라집니다. 경계해야 마땅합니다.
그래서 무엇을 해야 할까?
안타깝게도 많은 중간자 공격은 서버 측 조치로만 완전히 막을 수 있어, 사용자는 자신도 모르는 사이에 이런 공격에 노출될 수 있습니다. 그래도 스스로를 지키기 위해 취할 수 있는 조치들은 분명히 있습니다. 필리포 발소르다(Filippo Valsorda)가 만든 웹 앱은 컴퓨터에 슈퍼피시, 코모디아, 프리브독 등 SSL을 무력화하는 소프트웨어가 설치되어 있는지 확인해 줍니다. 여기서부터 점검을 시작하는 것이 좋습니다.
아울러 인증서 경고 메시지에 주의를 기울이고, HTTPS 연결 여부를 반드시 확인하며, 공용 Wi-Fi 사용 시 각별히 조심하고, 항상 최신 백신 소프트웨어를 실행해야 합니다. 브라우저에 설치된 확장 프로그램을 점검해 낯선 것은 삭제하고, 무료 소프트웨어를 다운로드할 때도 주의가 필요합니다. 많은 광고웨어가 함께 번들되어 있기 때문입니다.
그 이상으로 우리가 할 수 있는 최선은 코모디아처럼 이 기술을 생산하고 활용하는 기업들에 분노를 전달하는 것입니다. 실제로 코모디아 웹사이트는 최근 분산 서비스 거부(DDoS) 공격으로 추정되는 공격으로 접속이 차단되었는데, 이는 수많은 사람들이 빠르게 불만을 표출했다는 방증입니다. 이제 SSL 하이재킹이 결코 용납될 수 없는 행위라는 점을 분명히 할 때입니다.
SSL 하이재킹 광고웨어에 대해 어떻게 생각하시나요? 기업들에게 이런 관행을 중단하라고 요구해야 할까요? 아니면 애초에 합법적이어서도 안 될까요? 아래에 의견을 나눠주세요!
이미지 출처: Shark cartoon via Shutterstock, HTTPS secure connection sign via Shutterstock.