| [보안칼럼] 지상 최대의 Mass SQL 인젝션 공격 발생...허위백신 유도 | 2011.08.24 | |||||
감염된 웹페이지 수 약 6억2,800만 페이지에 이르러 8월 하순에 허위 백신(Fake AV)을 설치하게끔 유도하는 대규모의 SQL 인젝션 공격이 전세계적으로 감행되었으며 이 공격을 통해 감염된 웹페이지 수가 약 6억2,800만 페이지에 이르고 있다. 감염된 수치는 구글에서 검색해 낸 것으로 일부 중복된 점을 간과하더라도 엄청난 전파력을 보이고 있다.
<구글에서 허위백신 설치 유도 URL을 검사하여 산출된 감염된 웹페이지> 해외에서는 약 1~2일 전부터 공격이 진행되었으리라 추정되지만 국내 웹사이트에서 피해가 발생한 시점은 8월 23일 오후 10시가 약간 넘어선 시점이며 이후로 약 수백여개의 국내 웹사이트가 부지불식간에 감염되는 피해가 발생하고 있다. 구글에서 국내 도메인(.KR)을 대상으로 검색해 본 결과 다음과 같이 약 120여만개의 웹페이지가 감염되어 있는 것으로 나타나고 있으며 이 수치는 시간이 지날수록 늘어날 것으로 추정된다.
<국내 웹사이트(.KR)에서 감염된 웹페이지> 주: 구글의 검색 결과는 실시간이 아니라 누적된 통계 기반이므로 구글이 검색 결과를 반영하는데에는 시간이 소요된다. 따라서 웹페이지의 중복 및 반영 시간을 충분히 감안해야 한다. 실제 감염된 웹사이트의 소스를 분석해 보면 아래 화면과 같이 데이터베이스에 URL을 삽입 또는 변조하는 공격인 SQL 인젝션 취약점으로 파악되고 있다. 이러한 Mass SQL Injection 공격은 특정한 시각을 기점으로 동시다발적으로 수백 수천개의 웹사이트에 동일한 SQL Injection 공격을 행하는 것을 말하며 거의 대부분 데이터베이스에 허위백신(가짜 백신)을 설치하도록 유도하는 경유지 URL을 삽입하는 형태로 진행된다. 그 외에도 악성코드를 유포하도록 정교하게 다듬어진 추가적인 공격을 위해 사용되기도 한다. 필자가 4월 초에 보안뉴스를 통해 허위백신에 대한 기사를 게재한 적이 있다. [보안 칼럼] 허위백신 설치 급증의 비밀 http://www.boannews.com/media/view.asp?idx=25507&kind=1&search=title&find=lizamoon 지난 번 글에서도 언급했지만 ur.php라는 패턴은 허위백신을 설치하는 공격 형태이며 꾸준히 발생하고 있다. 아래 도표는 지난 3월 25일 경 발생한 Lizamoon URL과 그 이후에 최근까지 유포된 허위백신 URL이다. 약 5개월 동안 12개 정도의 신규 URL이 발생한 것으로 이 수치는 그 이전의 수치와 거의 동일하다.
<3월 25일 이후 8월 23일까지 발생한 허위백신 관련 URL. 위에서부터 날짜순> 이렇게 대규모로 감염되는 Mass SQL Injection 공격을 차단 또는 예방하기 위해서는 두말할 필요도 없이 웹 소스의 보안을 강화해야 한다. 즉 웹 개발자(그리고 PM) 단에서부터 프로그래밍을 진행하면서 웹 취약점이 발생할 소지가 있는 부분은 미리미리 보완을 해 나가는 보안 코딩(Secure Coding)이 꾸준히 요구된다. 최근 해외 보안시장 조사 전문 업체인 오범(Ovum)에 따르면 소니와 같은 기업들에게서 발생한 해킹 사고의 원인으로 웹 개발 및 구축시에 보안을 간과했기 때문이라고 언급한 사례가 있다. 즉 웹 개발자들이 웹서비스 및 웹애플리케이션의 보안보다는 기능상에 더 중점을 두고 있기 때문에 발생한다고 한다. 국내 웹개발 나아가서 SI 업체의 실제 개발 환경을 보면 해외 SW 개발에 비해 현실적으로 열악하다고 말할 수 있다. 대기업의 수주, 그리고 을, 병, 정에 이르는 하청 구조에서 일정, 단가뿐만 아니라 인력적인 수급자체가 문제인 것이 사실이다. 이러한 열악한 환경에서 하청 업체의 개발자들이 제대로 된 개발할 수 있을지, 기능과 더불어 보안에 신경쓸 수 있는 여지가 있을지 독자들이 판단하길 바란다. 아울러 웹사이트나 블로그를 통해 웹 애플리케이션의 개발 정보, 팁들을 공유하는 이용자들과 학원 등 현업에서 초보 개발자를 양산해나는 업계 관계자에게 부탁하고 싶은 것이 있다. 웹 사이트에서 PHP, ASP, JSP 등의 프로그래밍 언어에 대한 개발 방법, 팁 등을 언급한 글이 있다면 다시 한번 살펴 보고 올린 웹 소스에서 취약점이 발생할만한 부분이 있다면 웹소스를 수정해 주길 바란다. 또한 IT 학원에서도 짧은 시간 내에 많은 내용을 교육하기에 바쁘다 보니 웹 보안에 대해 간과하는 경우가 많다. 학원 강사부터도 강좌 내용에 웹 보안에 맞는 소스를 소개하고 시간이 날 때마다 웹취약점에 대해 경각심을 주입하며 웹 보안 문제를 해결할 수 있는 안전한 보안 코딩에 대해 꾸준히 강조하고 교육하길 바란다. 개발에 있어 ‘모방은 창조의 어머니’이며 초보 개발자는 잘 짜여진 소스를 통해 더욱더 안전한 코딩을 발판으로 탄탄한 개발자의 길로 나아갈 수 있을 것이다. 추신: 8월 24일 오전 10시경에 구글에서 검색한 결과는 앞서 언급한 수치보다 현저하게 낮게 나타난다. 통계상 문제일 수도 있으므로 1, 2일 후에 검색하면 어느정도인지 추정할 수 있을 것이다.
<글 : 문일준 빛스캔 대표(moonslab@bitscan.co.kr)> <저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지> |
||||||
|
|