2020-09-26 14:15 (토)
정보유출 주범, SQL인젝션 공격 어떻게 막나
상태바
정보유출 주범, SQL인젝션 공격 어떻게 막나
  • 길민권
  • 승인 2011.09.19 18:41
이 기사를 공유합니다

정보유출 대부분 SQL Injection과 XSS 취약점으로 인해 발생
전문 툴로 매일매일 점검하고 취약점 제거해야 방어 가능
국내 웹사이트 관리자들이 가장 어려워하고 있는 점은 바로 보안관리 부분이다. 특히 오는 9월 30일 전면 시행되는 개인정보보호법에는 기업들이 고객의 개인정보를 철저히 관리하고 만약 관리하지 못해 정보유출 사고가 발생하면 벌금과 형사처벌까지 가해질 수 있는 상황이다.
 
문일준 빛스캔(scan.bitscan.co.kr) 대표는 “강화된 개인정보보호법에 대응하기 위해서는 기업들의 웹취약점 관리가 가장 중요하다”며 “사이버 범죄자들이 정보를 빼내가기 위해 국내 웹 사이트를 대상으로 주로 공격하는 패턴은 SQL Injection 취약점과 XSS(Cross-site Scripting) 취약점을 이용한 공격이다. 이에 대한 대책이 있어야 한다”고 강조했다.
 
특히 개인정보 유출은 벌금과 담당자 형사처벌까지 이루어질 수 있는 상황이며 고객 신뢰도가 떨어지기 때문에 기업 비즈니스에도 큰 악영향을 미칠 수 있다. 이에 대한 대책에는 어떤 것들이 있는지 문 대표에게 들어봤다.  
 
최근 정보유출을 위한 공격에는 어떤 방법들이 주로 사용되고 있나?
최근 국내에서 발생하고 있는 정보유출은 대부분 SQL Injection 취약점으로 인한 데이터베이스 정보 유출을 들 수 있다. 물론 최근뿐만 아니라 지난 수 년 동안 꾸준히 발생하고 있으며 다만 최근에는 게임, 금융권과 같이 다양한 산업 분야로 확대되고 있는 추세다.
 
SQL Injection 취약점으로 대규모 개인정보를 유출할 수 있는데 반해 XSS(Cross-site Scripting) 취약점은 공격 대상을 정한 정교한 공격에 주로 사용된다. XSS 취약점을 이용한 공격은 국내보다 해외에 주로 발생하고 있으며, 국내에서는 SQL Injection 자체만으로 충분한 효과를 보고 있고, 금융권 사이트를 이용하기 위한 공인인증서와 같은 부가적인 절차 때문에 XSS 공격이 덜 사용된다고 추정할 수 있다. 하지만 XSS 취약점을 이용한 공격은 앞으로 더욱 기승을 부릴 가능성이 높다고 보여진다.
 
그럼 SQL인젝션과 XSS취약점 공격에 대한 방어는 어떻게 해야하나?
SQL Injection, XSS 취약점은 웹 애플리케이션에서 발생하는 대표적인 취약점으로 분류되고 있으며 OWASP Top 25 – 2010 개정판, CWE/SANS Top 25에서 이를 확인할 수 있다. 국내 보안 산업계에서는 WAF(웹 애플리케이션 방화벽)을 통해 웹 취약점을 차단 및 예방할 수 있다고 강조하고 있지만, 대부분 시그내쳐(Signature) 방식이기 때문에 우회하는 꼼수에 당할 가능성이 크다.
참고로 WAF 중에서는 WebKnight(윈도우 서버용 IIS 웹서버), ModSecurity(아파치 웹서버) 등 소프트웨어 방식으로 무료 제공되는 제품을 대안으로 제시하고 있지만, 이 또한 우회기법이 인터넷 상에 (동영상으로) 공개되어 있기 때문에 안전하다고 볼 수 없다.
 
결론적으로 웹 취약점을 해결하기 위해서는 웹 프로그래밍 언어 즉 웹소스 상에서 문제가 발생할 수 있는 부분을 원천적으로 안전하게 처리하도록 개발하는 시큐어 코딩(Secure Coding)이 반드시 필요하다. 아쉽게도, 해외에서 시큐어 코딩을 충분히 고려하여 개발하기 시작한 것도 몇 년 되지 않았고 국내에서는 더욱 상황이 열악하다고 볼 수 있다.
 
또한 개발 이후 즉 유지보수 측면에서 시큐어 코딩을 하기에는 더욱더 부담이 될 수 밖에 없다. 예를 들어, 어느 정도 규모가 되는 웹사이트라면 수만 라인 이상의 코드가 존재하고 처음 개발한 사람과 실제 유지보수하는 개발자와 동일하지 않는 경우가 많다. 이 경우 모든 웹소스에서 취약점이 발생할 수 있는 부분을 찾아 수정하는 것은 거의 현실적으로 불가능하다. 물론 시간과 인력에 따른 비용도 무시할 수 없는 상황이다.
 
빛스캔 비트스캐너와 비트파인더 사용으로 개인정보유출 어떻게 차단할 수 있을까?
빛스캔에서 제공하는 비트스캐너는 웹서비스 기반으로 동작하기 때문에 웹개발자 뿐만 아니라 실무적으로 약간 거리를 두고 있는 회사의 전산팀 또는 경영지원팀이 직접 참여할 수 있는 장점을 가지고 있다. 진단 후, 제공되는 보고서에서는 실제 문제점이 발생한 웹소스의 위치, 매개변수(인자)까지 일목요연하게 보여주기 때문에 유지보수담당자나 개발자에게 전달하여 짧은 시간내에 손쉽게 문제점을 해결할 수 있다. 또한, 다른 웹스캐너 제품과 달리 빠른 속도를 자랑하고 있어 자주 변경되는 웹사이트에서도 거의 매일 또는 일주일 단위로 웹취약점을 검수할 수 있다.
 
비트파인더 서비스를 이용해야 하는 목적을 설명하기 위해서는 잠시 SQL Injection 취약점에 대해서 다시 설명해야 한다.
 
앞서 SQL Injection 취약점을 통해서 공격자는 데이터베이스 정보를 탈취할 수 있다고 언급하였지만, 실제 최근에는 취약점을 통해 서버를 장악하거나, 악성코드 유포 경유지(웹쉘을 통해 웹소스에 악성코드를 유포하는 스크립트 삽입)로 이용한다. 또 Mass SQL Injection 공격(대규모 동시다발적인 데이터베이스 변조를 통해 가짜 백신 유포, DDoS 봇 배포)등 공격이 가능하다.
 
이 중에서 비트파인더 서비스는 악성코드 유포 경유지와 Mass SQL Injection 공격의 징후를 진단할 수 있다. 거꾸로 말씀드리면, 비트파인더 서비스에서 의심스러운 URL이 발견되었다면 해당 웹사이트는 이미 해킹된 상태라고 볼 수 있다는 것이다.
 
해외에서도 개인정보의 중요성이 더욱더 강조되고 있으며 그 예로 미국에서는 1만명 이상의 개인정보가 누출될 경우 5,000달러/일, 최대 2,000만 달러의 벌금형에 처할 수 있는 법안을 준비하는 것으로 알려지고 있다.
 
국내에서도 과거에는 유명 웹사이트에서 개인정보가 누출되었을 경우에 팝업창으로 사과 메시지를 띄우고 각 개인에게 비밀번호를 바꾸게 하는 정도의 소극적인 대응으로 일관하였다고 볼 수 있다. 하지만 개정된 개인정보보호법에 따르면 개인정보 누출의 정도에 따라 담당자 또는 대표이사까지 형사 처벌을 받게 법이 개정되고 있는 상황이다. 이러한 상황에 기업들은 정보유출을 발생시키고 있는 근원적인 문제점들을 적극적으로 찾아 제거해야 한다. [데일리시큐=길민권 기자]