보안 제품정보


SQL 인젝션 공격으로 100만개 웹페이지 감염 2012.01.09

웹애플리케이션 취약점 때문에 발생...시큐어 코딩 이뤄져야  


[보안뉴스 호애진] SQL 인젝션 공격은 특정 웹사이트에 악성코드 링크를 숨겨놓고 방문자를 감염시키는 방법이다.

 

이는 웹애플리케이션의 취약점으로 인해 발생하며 로그인 인증을 우회하거나 데이터베이스에 있는 아이디, 패스워드, 주민번호 등 개인정보를 유출할 수 있다.


현재 해외에서 발생한 ‘Lilupophilupop’ 공격은 그 피해의 심각성을 알리는 한 사례다. 이 공격으로 인해 현재 100만개의 웹페이지가 감염된 것으로 나타났다.


지난해 12월초 SANS의 인터넷 스톰 센터(the Internet Storm Center)가 이 공격을 감지했을 때만 해도 단지 80여개의 웹페이지가 감염됐을 뿐이었다. 그러나 한달여가 지난 지금 감염된 웹페이지의 수는 100만개를 넘어섰다. 이는 합법적인 웹사이트의 방문자를 허위 AV와 허위 어도비 플래시를 유포하는 악성 웹사이트로 리다이렉트한다.


이 공격은 리다이렉트되는 웹사이트의 이름을 따라 ‘Lilupophilupop’ 공격으로 알려졌다. 공격에 쓰이는 스트링은 대개 여러 테이블 안으로 주입된다. MSSQL 백엔드로 ASP나 콜드퓨전(ColdFusion)을 실행하는 사이트들이 주요 표적이다.


초기에 이 공격은 전적으로 자동화돼 급속히 전파되는 듯했다. 그러나 인터넷 스톰 센터의 마크 호프먼(Mark Hofman)에 따르면 이 공격은 현재 부분적으로 자동화되고 일부는 수동으로 이행되는 것으로 보인다. 호프먼은 “수동적 요소와 감염 사이트의 숫자로 미뤄볼 때 공격에 가담한 인원수가 상당하며 장기간 준비를 했다”는 결론을 내렸다.


공격자는 우선 시스템에 취약한 페이지가 없는지 탐색하고 어떤 제품을 사용 중인지 파악하려고 시도한다. 이는 다양한 IP 주소로부터 2주 정도 계속된다. 일단 취약한 페이지를 찾아내면 스크립트를 주입한다.


호프먼은 “사이트에 문제가 있는지 확인하려면 구글에서 “<script src=http://lilupophilupop.com/”를 입력해 검색하고 site:파라미터를 이용해 도메인을 집중 모니터링하라”고 조언하며, “페이지를 정상화시키기 위해서는 스크립트가 주입된 페이지를 파악해 주입지점을 찾아내는 것이 무엇보다 중요하다”고 지적했다.


아울러 “SQL 인젝션 공격은 사이트 개발 시 소스코드를 시큐어 코딩하지 못한 데 기인한다는 점을 잊지 말아야 할 것”이라며, 시큐어 코딩의 중요성을 강조했다.

[호애진 기자(boan5@boannews.com)]


<저작권자: 보안뉴스(http://www.boannews.com/) 무단전재-재배포금지>