Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

페이스북·구글 소셜 로그인, 편리함 뒤에 숨은 개인정보 도용 위험

“Facebook으로 로그인”, “Google로 로그인”. 수많은 웹사이트가 간편한 로그인을 미끼로 방문자를 유치하고, 그 과정에서 개인정보라는 거대한 파이 한 조각을 챙겨 갑니다. 하지만 그 대가는 얼마나 될까요? 최근 보안 연구원은 수천 개 사이트에서 사용되는 Login with Facebook 기능의 취약점을 발견했습니다. 마찬가지로 구글 앱 도메인 인터페이스의 버그는 수십만 명의 개인정보를 공개적으로 노출시켰습니다.

이는 세계적인 테크 기업 두 곳이 직면한 심각한 문제입니다. 취약점은 결국 패치되겠지만, 일반 대중에게 충분히 알려지고 있을까요? 각 사례를 하나씩 살펴보고, 여러분의 웹 보안에 어떤 의미가 있는지 짚어보겠습니다.

사례 1: 페이스북으로 로그인

이 취약점은 실제 페이스북 비밀번호 자체가 아니라 계정, 그리고 Bit.ly, Mashable, Vimeo, About.me 등 사용자가 연결해 둔 서드파티 애플리케이션들을 노출시킵니다.

보안 회사 Sakurity의 연구원 에고르 호마코프(Egor Homakov)가 발견한 핵심 결함은 페이스북 코드의 허점을 악용합니다. 문제의 원인은 ‘페이스북 로그인’, ‘페이스북 로그아웃’, ‘서드파티 계정 연결’이라는 세 가지 프로세스에 적절한 CSRF(Cross-Site Request Forgery, 사이트 간 요청 위조) 방어가 없다는 점입니다. 이 취약점으로 인해 제3자가 인증된 계정 안에서 임의의 작업을 수행할 수 있게 됩니다. 왜 심각한 문제인지 충분히 짐작할 수 있을 것입니다.

그러나 페이스북은 이를 수정할 경우 수많은 사이트와의 호환성이 깨질 수 있다는 이유로 지금까지 별다른 조치를 취하지 않았습니다. 세 번째 문제는 해당 웹사이트 운영자가 스스로 해결할 수 있지만, 앞의 두 가지는 전적으로 페이스북의 몫입니다.

페이스북의 무대응을 더욱 부각시키기 위해 호마코프는 RECONNECT라는 해커 도구를 공개하기까지 했습니다. 이 도구는 해당 버그를 악용해 해커가 커스텀 URL을 만들어 서드파티 사이트의 계정을 탈취할 수 있게 해 줍니다. 도구 공개 자체를 무책임하다고 볼 수도 있지만, 책임의 근본 원인은 1년 넘게 전에 이미 제보된 취약점 수정을 거부해 온 페이스북에 있습니다.

그동안은 각별히 주의해야 합니다. 수상해 보이는 페이지의 링크를 클릭하지 말고, 모르는 사람의 친구 요청도 받아들이지 마세요. 페이스북은 다음과 같은 성명도 발표했습니다.

“이는 잘 알려진 동작입니다. Login을 사용하는 사이트 개발자는 당사가 제공하는 모범 사례를 따르고 OAuth 로그인에 ‘state’ 매개변수를 활용하면 이 문제를 예방할 수 있습니다.”

고무적이라고 할 만한 답변일까요?

사례 1a: 나를 친구 삭제한 사람은 누구?

다른 페이스북 사용자들은 서드파티 OAuth 로그인 정보 탈취를 노린 또 다른 ‘서비스’의 희생양이 되고 있습니다. OAuth 로그인은 원래 사용자가 서드파티 애플리케이션이나 서비스에 비밀번호를 직접 입력하지 않도록 설계된 보안 장치입니다.

UnfriendAlert 같은 서비스는 온라인 친구 관계를 끊은 사람이 누구인지 궁금해하는 사람들을 노립니다. 로그인 정보를 입력하라고 요청한 뒤, 그 정보를 악성 사이트 yougotunfriended.com으로 그대로 전송합니다. UnfriendAlert는 잠재적으로 원치 않는 프로그램(PUP)으로 분류되며, 애드웨어와 멀웨어를 고의적으로 설치합니다.

안타깝게도 페이스북도 이런 서비스를 완전히 차단할 수 없습니다. 결국 사용자가 경계심을 유지하고, 너무 좋아 보이는 것에 속지 않는 것이 최선의 방어책입니다.

사례 2: 구글 앱스 버그

두 번째 취약점은 구글 앱스(Google Apps)의 도메인 등록 처리 과정 결함에서 비롯됩니다. 웹사이트를 등록해 본 적이 있다면 이름, 주소, 이메일 주소 등 중요한 개인정보 제공이 필수라는 점을 알 것입니다. 등록 후에는 시간만 들이면 누구나 Whois 조회로 이 공개 정보를 찾아낼 수 있습니다. 단, 등록 시 개인정보 비공개를 요청해 두면 예외인데, 이 기능은 보통 유료이며 선택 사항입니다.

eNom을 통해 도메인을 등록하면서 Whois 비공개까지 신청한 사람들은 약 18개월에 걸쳐 데이터가 서서히 유출되었다는 사실을 알게 되었습니다. 2월 19일 발견되어 5일 후 막힌 이 소프트웨어 결함은 도메인을 갱신할 때마다 개인정보를 유출했으며, 개인 사용자들을 각종 데이터 보호 문제에 노출시킬 수 있었습니다.

28만 2천 건의 대량 레코드 유출에 접근하는 것은 쉽지 않습니다. 웹 서핑 중 우연히 발견할 일도 없습니다. 하지만 이 사건은 이제 구글의 트랙 레코드에 지워지지 않는 얼룩이 되었고, 인터넷 곳곳에 퍼진 데이터 역시 되돌릴 수 없습니다. 피해자의 5%, 10%, 혹은 15%만이라도 정교하게 표적화된 스피어 피싱 메일을 받기 시작한다면, 이 문제는 구글과 eNom 모두에게 큰 골칫거리로 번질 것입니다.

사례 3: 스푸핑된 나(Spoofed Me)

세 번째는 여러 네트워크에 걸친 취약점으로, 해커가 수많은 인기 사이트가 활용하는 서드파티 로그인 시스템을 다시 한번 악용합니다. 해커는 피해자의 이메일 주소, 즉 해당 취약 서비스에 이미 등록되어 있는 이메일로 요청을 보냅니다. 그런 다음 가짜 계정으로 사용자 정보를 스푸핑해, 이메일 인증까지 완료된 상태의 소셜 계정 접근권을 얻습니다.

이 해킹이 성공하려면 해당 서드파티 사이트가 최소 하나 이상의 다른 소셜 네트워크 로그인(다른 신원 제공자) 또는 자체 웹사이트 자격증명 사용을 지원해야 합니다. 페이스북 해킹과 유사하지만 더 폭넓은 범위의 사이트에서 확인되었으며, Amazon, LinkedIn, MYDIGIPASS 등이 포함됩니다. 악의적인 목적으로 민감한 서비스에 로그인하는 데 악용될 가능성도 있습니다.

결함이 아니라 기능이다?

이 공격 방식에 연루된 일부 사이트는 사실 치명적인 취약점을 놓친 것이 아니라, 시스템에 처음부터 내장된 구조적 특성 때문에 문제가 된 경우입니다. 대표적인 예가 트위터입니다. 계정 하나만 쓴다면 순정 트위터로도 충분히 좋습니다. 하지만 업종별로, 타깃 독자별로 여러 계정을 운영한다면 Hootsuite나 TweetDeck 같은 애플리케이션이 필요해집니다.

이런 애플리케이션들도 소셜 네트워크에 직접 접근해야 하기 때문에 트위터와 거의 동일한 로그인 절차로 통신하며, 사용자에게 같은 권한을 요청합니다. 서드파티 앱은 소셜 생태계에 큰 가치를 더하지만, 동시에 사용자와 제공자 모두에게 보안상 부담을 안겨 줍니다. 소셜 네트워크 제공자들이 난감해하는 지점이 바로 여기에 있습니다.

마무리

이번 글에서 소셜 로그인과 관련된 세 가지 남는 취약점을 살펴봤습니다. 이제 여러분도 이를 식별하고, 바라건대 피할 수 있을 것입니다. 소셜 로그인 해킹은 하룻밤 사이에 사라지지 않을 것입니다. 해커에게 돌아가는 이득이 너무 크기 때문입니다. 게다가 페이스북처럼 거대 기술 기업이 사용자의 최선의 이익보다 자사의 편의를 택한다면, 그것은 사실상 데이터 프라이버시라는 현관 매트에 해커들의 발을 닦게 해 주는 것과 다름없습니다.

여러분의 소셜 계정이 서드파티에 의해 침해된 적이 있습니까? 어떤 일이 있었고, 어떻게 복구하셨나요?