구글 코드 검색(Google Code Search)의 공포

10

구글 검색(Google Web Search)에 주민등록번호가 나온다는 이야기처럼, 웹 프로그래머도 자신의 소스를 웹서버에 올리면 안될 것 같습니다. 구글 코드 검색은 가장 많은 소스를 인덱싱하고 있는데, 그 중에는 공개를 원하지 않지만, 편리성을 위해서 웹에 올린 소스들(심지어 압축을 한 소스마져도)을 검색해 줍니다.

구글 코드 검색 로고구글 코드 검색이 런칭된 이후 이삼구글에선 몇개의 검색어를 이용해서 결과를 살펴봤습니다. 구글랩(Google Labs)의 첫번째 서비스인데도 불구하고, 유니코드를 이용했기 때문에 한글 검색도 지원됩니다. “테터툴즈”, “제로보드”, “daum.net” 등의 검색결과는 매우 흥미로웠지만, 혹시나 하는 생각에 “정부”로 검색을 해 봤습니다.

정부“의 검색결과 법제처에서 운영하는 동북아 법령 정보센터라는 곳에 JSP 코드가 압축되어 올라온 것이 확인되었습니다. “대통령“으로 검색을 해도 비슷한 결과를 볼 수 있습니다. 확인 결과 단순한 게시판 소스인 것으로 확인됐지만, 구글 코드 검색으로 검색되지 않는 코드 마져도 검색을 해 준다는 사실이 확인되었고, 프로그래머들은 자신의 회사 코드가 구글 코드 검색에서 검색 되는지 확인을 할 필요가 있습니다.

외국 블로거들도 구글 코드 검색의 위험성을 알리고 있습니다. 래퍼엑스라는 블로그에선 아파치에서 구글 코드 검색을 피해가는 방법을 설명하고 있고, Tipsdr.com에선 구글 코드 검색을 이용해서 웹 서비스의 보안홀을 조심하라는 글이 올라오기도 합니다.

구글 코드 검색이 악용될 수 있는 언어는 컴파일이 필요 없는 소위 스크립트 언어라고 불리우는 것들입니다. 예를 들어서, PHP, JSP, ASP를 들 수 있습니다. deathbycomet.com에서 말하는 예재를 살펴 보도록 하겠습니다.

구글 코드 검색을 이용한 암호 알아보기 링크를 클릭해 보세요.

구글 코드 검색을 이용한 암호 알아내기

검색 결과를 보면 데이터베이스의 접속 계정과 암호를 알 수 있는 코드가 공개되어 있습니다.

일반적인 이야기지만, 웹서버에 소스가 올라와 있다고 해도 구글이나 어떤 검색엔진도 소스 코드를 얻어 올 수는 없습니다. 이 모든 것이 서버 관리자 혹은 프로그래머의 부주의에 의한 것이지만, 주민등록번호 유출때와 마찬가지로 이런 것들을 신경쓰기가 쉽지는 않습니다.

예를 들어서 웹서비스 개발을 SVN이나 혹은 CVS와 같은 협업툴을 이용할 경우 반드시 보안절차를 거칠 필요가 있고, robots.txt을 설정해 놓을 필요도 있습니다. 그리고, 백업용으로 전체 소스를 압축해서 보관하는 스크립트를 작성해서 주기적으로 실행하는 경우도 있으나, 이 경우도 구글 코드 검색에 의해서 누군가에게 알려질 수도 있습니다.

하지만, 이 내용이 일반적으로 PHP, ASP 그리고 JSP 혹은 CGI 등의 보안이 허술하다는 의미는 아닙니다. 주민등록번호가 검색엔진에 누출되었다고 해서 웹서버인 아파치 혹은 IIS 서버의 보안이 허술하다고 이해해서는 안되는 것과 마찬가지입니다.

About Author

구글 전문 블로그 “팔글-인사이드 구글”을 2003년 부터 운영했으며, 애드센스와 유사한 애드얼라이언스의 기획&개발에 참여한 바 있다.
IT 기업들의 생태계에 대해 관심이 많으며, 광고, 디지털 콘텐츠 판매 등 여러가지 실험을 진행하고 있다.

10 Comments

  1. 워프의 아이디와 비밀번호가 표시되는 부분에서는 놀라움 뿐이네요. 주민번호도 그렇거니와 이런것들 보면 가끔 구글이 무섭다는 생각까지 들 정도라니까요. :( 좋은 글 잘 보고갑니다.

  2. 하아, 정말 이제 소스 코드도 못 올려두겠군요. 무섭습니다.
    한국에선 저런 서비스는 오픈 이후의 데미지 때문에 상상도 못할 것 같은데, 구글은 그런 반발들은 어찌 대처하고 있는걸까요?

  3. 막연히 위험한 게 아니고
    코드검색으로 인해 보안의 구멍이 겉으로 드러난 걸로 봐도 되지않을까요

  4. 저건 어차피 샘플코드이니 문제없어 보이는데요. 실제로 운영중인 critical한 서버나 웹사이트의 id,password가 웹 상에 있을 가능성은 거의 없을거라고 봅니다만..

  5. 위 스샷에 나온 것은 샘플 코드가 아닙니다.
    실제로 검색가능하고, 사용가능(?) 할 수 있는 것들입니다.

    위 스샷의 검색어를 보면 -sample 을 이용해 최대한 sample 코드를 제외한 것을 볼 수 있습니다.

    그리고 실제로 잠시 테스트해본 결과 대부분이 압축파일 속에 있는 샘플코드였지만, 간혹 백업파일 속의 아이디와 비번도 보이는군요. 이럴 경우 즉각 악용될 수 있을 위험이 있는 듯 합니다.

  6. //Mr.Dust
    정말 그러네요. 테스트해보질 않고, 스샷만 봤더니..-_-;;
    코드 백업 올려두는 곳에서는 robot.txt 반드시 설정해 두어야 겠는데요..

  7. 이거 정말 무섭군요. 워드프레스뿐만이 아니라 각종 게시판 툴도 저렇게 될 수 있다는 걸테니까요.

    … 제 MySQL 비밀번호도 이제 곧 세상에 널리…

    robot.txt에 대해 심각한 고민은 해본 적이 없었는데, 이젠 그렇게 할 수도 없겠다는 생각이 듭니다.

  8. Pingback: likejazz.COM

  9. Pingback: 커피와 흐린여름날 : 웹개발, 사는 이야기, 관심사에 대한 지껄임

  10. Pingback: 개발로그 - devLog

하나의 댓글은 블로그를 풍성하게 만들 수 있습니다 :)