2024-04-20 19:45 (토)
대학-기업-병원 등 80여 개 사이트 개인정보 유출 위험
상태바
대학-기업-병원 등 80여 개 사이트 개인정보 유출 위험
  • 길민권
  • 승인 2013.09.26 07:38
이 기사를 공유합니다

구글 검색만으로 관리자 권한 탈취와 개인정보 다량 유출 가능해
구글 해킹을 통한 국내 80여개 웹사이트가 심각한 취약성을 가지고 있다는 것이 발견됐다. 구글검색만으로 웹사이트의 관리자 페이지가 노출되고 접근까지 가능하며 SQL인젝션 공격까지 가능한 것으로 드러나 관리자 권한 획득도 가능한 상황이다. 이들 사이트의 취약점으로 인해 상당수의 개인정보 유출로 이어질 수 있어 신속한 조치가 필요한 상황이다.
 
해당 취약점을 발견하고 데일리시큐에 상세 리포트로 제보한 0xsoju팀 정홍교(안양부흥고 3학년) 학생은 “구글 검색을 통해 많은 사이트가 취약 하다는 것을 발견했고 이를 통해 많은 개인정보가 유출될 가능성이 있어 분석 후 해당 사이트에 취약점을 권고하는 방식으로 활동하고 있다”며 “해커들에게 악의적으로 취약점들이 악용되지 않기를 바라는 마음으로 보고서를 작성해 데일리시큐에 제보하게 됐다. 신속하게 보안조치가 이루어지길 바란다”고 밝혔다.
 
또 “취약한 사이트 중 현재 사용이 되지 않는 사이트도 있었지만, 사용하지 않음에도 불구하고 개인정보가 그대로 방치된 경우도 있어 위험한 상황인 만큼 조치가 필요하다”며 “현재 연락이 가능한 사이트는 연락을 통해 개별적인 취약점 분석 보고서를 작성해 패치 권고를 한 상태”라고 덧붙였다. 0xsoju팀은 청소년으로 구성된 각종 웹 서비스, 서버 취약점 분석 및 점검 전문팀이다.


<취약점 보고서 일부 내용 캡쳐>
 
취약한 80여 개 사이트는 구글 검색 상용구를 이용하면 관리자 페이지가 노출되고 있으며 추가적인 상용구 사용 혹은 전문화된 툴을 제작해 사용하면 더욱 많은 곳이 발견될 것으로 보인다.
 
노출된 관리자 페이지에 접근하면 SQL인젝션 공격이 대부분 가능하며 이를 통해 관리자 권한을 획득할 수 있다. 이를 통해 홈페이지의 모든 권한을 가질 수 있어 모든 기능 사용 및 모든 회원정보를 조회하고 유출할 수 있어 문제다.
 
이번에 발견된 취약한 사이트는 병원, 대학교, 쇼핑몰, 연구기관, 대기업 계열 및 일반기업 등 크고 작은 80여 개 사이트이며 대부분 관리자 페이지 노출 및 관리자 권한탈취, 개인정보 유출이 가능한 상황인 것으로 밝혀졌다. 유출될 수 있는 개인정보가 많게는 1만 건에서 100여 건까지 다양하다.
 
정군은 보고서를 통해 구글해킹을 통한 관리자 페이지 노출 방지 방법과 SQL INJECTION 방지를 위한 대책도 제시했다. 구체적인 방법은 다음과 같다.
 
우선 구글해킹을 통한 관리자 페이지 노출 방지를 위해서는 검색엔진 배제표준을 적용해야 한다. 검색엔진 배제표준을 적용하기 위해서는 다음과 같은 내용으로 된 robots.txt 파일을 웹서버의 루트 디렉토리에 저장한다.
User-Agent: *
Disallow:/
 
또한 메타태그를 적용하기 위해서는 삭제하려는 웹페이지의 소스코드 파일(HTML 파일)에 <META NAME = GOOGLEBOT" CONTENT= "NOINDEX, NOFOLLOW">를 포함한다.
 
이제 구글의 자동제외 시스템에 접속해 개인정보 노출이 발견된 웹페이지를 캐쉬에서 삭제 처리해달라고 요청한다. 정상적인 프로세스를 거칠 경우 삭제 처리는 요청 후 일주일 정도 소요된다. 1. 구글 회원 가입 및 로그인        
구글 자동삭제 시스템 이용을 위해서 먼저 구글 웹사이트에 가입 한 후 로그인한다.
2. 구글 자동삭제 시스템에 접속
(1) 로그인 상태에서 다음과 같은 구글 자동삭제 시스템에 방문    
https://www.google.com/webmasters/tools/removals?hl=ko
(위 주소를 복사해 주소창에 붙여넣기 하기)
(2) 초기 화면에서 “Google 검색결과에서 시한이 지났거나 ”사용하지 않는 링크“로서, 404-파일을 찾을 수 없음 오류에 해당되는 링크입니다”를 선택하고 “다음” 버튼을 선택.
3. Google 검색결과에서 기한이 지난 링크제거
(1) “Google 웹 검색결과” 를 선택합니다.
(2)  “웹페이지 또는 이미지 URL”에 삭제한 홈페이지 URL 주소를 입력하고 “요청 제출”을 클릭.  (이 때, 구글 캐쉬 주소를 입력하면 삭제처리가 되지 않으므로 주의)
4. 삭제 요청 처리 상태 확인자동 삭제처리 시스템에서 “내 제거 요청”을 클릭하면 현재 삭제 요청 정보 및 처리 상태를 확인할 수 있다. 
 
다음은 SQL INJECTION 방지 방안이다.
우선 데이터베이스와 연동을 하는 스크립트의 모든 파라미터들을 점검하여 사용자의 입력 값이 SQL injection을 발생시키지 않도록 수정한다.
 
다음 사용자 입력이 SQL injection을 발생시키지 않도록 사용자 입력 시 특수문자(' " / ; : Space -- +등)가 포함되어 있는지 검사하여 허용되지 않은 문자열이나 문자가 포함된 경우에는 에러로 처리한다.
 
SQL 서버의 에러 메시지를 사용자에게 보여주지 않도록 설정한다. 공격자는 리턴 되는 에러 메시지에 대한 분석을 통하여 공격에 성공할 수 있는 SQL Injection 스트링을 알아낼 수 있다. 따라서 SQL 서버의 에러 메시지를 외부에 제공하지 않도록 한다.
 
그리고 웹 애플리케이션이 사용하는 데이터베이스 사용자의 권한을 제한한다. 가능하면 일반 사용자 권한으로는 모든 system stored procedures에 접근하지 못하도록 해 웹 애플리케이션의 SQL Injection 취약점을 이용해 데이터베이스 전체에 대한 제어권을 얻거나 데이터베이스를 운용중인 서버에 대한 접근이 불가능하도록 한다.
 
데일리시큐는 이번 분석보고서를 KISA에 전달해 구글해킹에 의한 관리자 권한탈취 및 개인정보 유출 사고가 발생하지 않도록 조치할 예정이다.
 
데일리시큐 길민권 기자 mkgil@dailysecu.com 
■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★