구글 최악의 실수

구글이 창사 이래 최악의 실수를 저질렀다. 두 시간 가량 구글 검색 엔진에 포함된 모든 웹 사이트를 악성 코드 배포 사이트로 표시했기 때문이다.

미국 시간 1월 31일 오전 6시 부터 8시까지 구글 검색의 모든 웹 사이트를 악성 코드 배포 사이트 표시하거나 Gmail에서 스팸 필터링에 의해 정상 메일을 스팸으로 인지 하는 사고가 발생했다.

그 결과 모든 링크가 악성 사이트를 관리 지침을 만드는 비영리 기관인 StopBadWare.org로 집중 됨에 따라 몸살을 앓기도 했다. 많은 사람들이 StopBadWare.org가 잘못된 정보를 구글에 전달해서 그런것으로 오해를 했고 이에 대한 시정 요구 공지가 올라오기도 했다.

기술도 막지 못한 최악의 인재
사고가 일어난지 한 시간만에  구글은 사이트를 한시간 만에 복구함과 동시에 악성 사이트 관리를 하는 사람이 "/"를 추가하는 바람에 일어난 실수라고 공식 인정했다.

사용자 삽입 이미지

일단 이번 사건은 구글 플랫폼의 신뢰도를 크게 떨어뜨리는 결정적인 계기가 될 확률이 높다. 악성 코드 배포 사이트 목록 관리를 자동 혹은 수동으로 편집하고 있었다고 시인했으며 결정적으로 사람의 손에 의존하고 있었음을 반증하는 것이다. (구글 편집 음모론 참조)

멀웨어 인지하는 작업은 아마 일개 아르바이트에 의해 이루어졌을 것으로 생각되는데 이들이 만든 목록을 전체 검색 엔진에 업로드하는 과정에서 URL 유효성 검증 정도는 기술적으로 쉽게 할수 있었을 것이다.

그럼에도 불구하고 이를 전체 서버에 적용(Deployment)하는 과정에서 오류를 냈기 때문에 적용 프로세스에 대한 문제도 있는 것 같다. 이에 대한 상세한 조사 결과를 공식적으로 나올 것 같다. (이는 작년 Daum의 한메일 사고와 거의 유사하다고 볼 수 있다.)

돋보이는 빠른 시정 능력
하지만, 구글의 대응 능력은 높히 사야 할 것 같다.  대략 문제 발생 한시간 정도 만에 자신들의 문제를 시정하고, 한 시간 후에 실수를 인정하는 공식 입장을 내 놓았다. 지메일 공지를 보면 문제의 배포 목록이 업로드 된 시간은 대략 새벽 6시 이것이 배포된 시점은 30분 후인 6시 30분이다. 문제를 인지한 것은 6시 50분이고 이를 시정한건 대략 7시 20분경이다.

구글 검색 엔진 인덱스는 '검색 인덱스'를 조각내 가진 천 여대의 서버가 한 세트로  이루어진 분산형 클러스터 박스로 이루어져 있다. 이 박수의 갯수는 적어도 수 만개가 있는 것으로 알려져 있다. 악성 배포 사이트 목록은 인덱스에 포함될 수 밖에 없는 성질의 것이기 때문에 인덱스를 새로 생성해서 배포를 해야 하는 것으로 생각된다.

그런데, 이 작업을 30분 만에 했다는 것은 거의 불가사의한 일이다. 물론 클러스터 박스가 가진 백업 데이터를 롤백(Roll back)했다고 볼 수 도 있는 데 그렇다고 해도 30분이라는 시간내에 수십만대 서버를 롤백했다는 것은 굉장히 빠른 속도이다.

아마 수 백대 아니 수 십대 서버에 서비스 적용(Deployment)를 해 본 사람이라면 이게 얼마나 빠르게 된 것인지 알 수 있을 것이다.

구글은  2006년에 분기당 10만대의 서버를 추가하고 있었고, 그로 인해 2007년  5천억건의 웹페이지를 인덱싱했다. 2008년 1조(兆)개의 웹 페이지를 인덱싱 하고 있는 걸로 봐서 총 서버 숫자가 100만대는 훨씬 넘는 것으로 알려져 있다.

악성 사이트 구분 노력 계속 되어야
어제 일어난 문제는 명백히 구글 내부의 실수로 밝혀졌지만, 솔직히 악성 배포 사이트에 대한 표시에 대한 오류는 이전에도 계속 제기되어 왔던 문제점이다. 구글의 데이터를 이용해서 파이어폭스, 사파리, 크롬 등 웹 브라우저들도 서비스를 제공하고 있기 때문에 Facebook을 악성 사이트로 표시하거나 하는 사건이 빈번히 일어나고 있다. 

물론 웹의 규모가 커짐에 따라 악성 코드 배포 사이트는 기하급수적으로 늘고 있고 이에 대한 해결책이 마련되고 있다. 하지만 이런 중요한 일이 하나의 검색 엔진에만 의해서 맡겨진다면 인터넷의 또 다른 위협이 될 지도 모르는 일이다.

검색 엔진을 통한 악성 사이트 구분 문제는 이어지는 ‘악성 사이트 차단’ 만능일까?을 참조하시면 더 자세한 것을 알 수 있습니다.

여러분의 생각

  1. 2009/02/02 00:51
    비밀댓글입니다
    • channy 2009/02/02 01:01
      아 네.. 맞습니다. 영어가 약해서 갑자기 단어를 써다보면 엉뚱한 단어를 쓰는 경우가 많네요. 지적해주셔서 감사합니다.
  2. Laputian 2009/02/02 01:24
    이게 저만 그런 게 아니었군요. ^^;;
  3. Mr.Met 2009/02/02 01:31
    어쩐지 몇몇 블로그에 들어가니까 악성사이트라고 뜨길래 놀랐네요;
  4. 나인테일 2009/02/02 01:36
    아.. 저도 엄청 놀랐지요.
    구글이 고장나니 이거 뭐 바보가 된 기분이더군요. 구글 의존률이 그렇게 높았다는데 새삼 놀랐습니다.
  5. 2009/02/02 05:19
    비밀댓글입니다
    • channy 2009/02/02 05:26
      감사합니다. 김 부장님 블로그도 잘 보고 있습니다. 유용한 IT 뉴스를 좋은 시각에서 전달해 주시고 있으시니까요. 제 소개를 보시면 아시겠지만 인터넷 업계에서 13년 정도 됐고 현재, Daum에서 근무하고 있습니다^^
  6. 활의노래 2009/02/02 08:11
    이런 일이 있었군요. -ㅅ-;;
  7. niceThink 2009/02/02 08:57
    저만 이런 문제가 있었는줄 알았는데,.
    검색해서 귀찮게 url 복사해다가 붙여넣어서 여기 저기 돌아다녔었는데,.

    사고였군요.
  8. kimatg 2009/02/02 09:03
    어제 확실히 뭔가 이상하다 했는데, 저만 그런게 아니었군요.

    암튼 고쳐졌으니 다행입니다 :)
  9. Odlinuf 2009/02/02 10:28
    우스갯소리입니다만, 갑자기 '/'를 추가한 사람의 직장 내 신변이 걱정되는군요. 어려우누 시기에 별 탈이 없어야할 텐데. :-)
  10. 月下 2009/02/02 16:20
    이런 일도 있었군요
    호주에 있고, 사는 집이 인터넷이 안되는 집이다 보니 ㅠㅠ
  11. 비됴왕 2009/02/02 22:00
    흠.. 이건 한시간 분량이 아닌데 분명히.. 롤백도 아닐테고.. 그냥.. 단순히 오류를 발견하고 /를 지운건 아닐까요.. 절대 불가능 한 일입니다. 물리적으로는..
    • channy 2009/02/02 22:29
      일단 악성사이트 목록이 내부 API Call로 처리하고 있다고 한다면 수정만으로 빠르게 적용 가능하겠지요. 사용자가 검색한 결과를 표시할 때마다 20개씩 URL을 악성 배포 사이트 검증 API에 콜을 하고 결과를 받는 경우가 될텐데요. 실제로 그렇게 내부가 운용되고 있는지 의문입니다. 다양한 메타 정보를 그런식으로 처리하고 있다면 부하가 엄청날텐데 말이죠.

      다른 한편으로 각 클러스터 박스에 동시에 롤백하라는 메시지만 보내면 백업 파일(GFS) 대체를 하는 거기 때문에 30분이면 가능할 것 같다는 생각도 듭니다. 문제는 분산 환경에서 인덱싱과 배포가 정말 그렇게 구현 가능한지가 구글의 기술력이 되겠죠. 근데 기존에 오류가 난 인덱스를 배포하는 와중에 에러를 인지하지 못했다는 것 또한 의문입니다.

      따라서 악성 배포 사이트 목록은 인덱스에 포함하지 않고 내부 API 콜을 했을 확률이 높다고 보여집니다.
  12. 마룬 2009/02/10 00:17
    아.. 뭔가 이상하다고 생각했더니, 오류가 있었군요~
  13. keylogger 2011/09/13 16:39
    일단 악성사이트 목록이 내부 API Call로 처리하고 있다고 한다면 수정만으로 빠르게 적용 가능하겠지요. 사용자가 검색한 결과를 표시할 때마다 20개씩 URL을 악성 배포 사이트 검증 API에 콜을 하고 결과를 받는 경우가 될텐데요. 실제로 그렇게 내부가 운용되고 있는지 의문입니다. 다양한 메타 정보를 그런식으로 처리하고 있다면 부하가 엄청날텐데 말이죠.

의견 쓰기

이름* 암호* 홈페이지(선택) 비밀글?