도전과제: SQL 주입 공격 차단

SQL 주입 공격이란?

SQL 주입 공격은 관계형 데이터베이스에서 주로 사용되는 SQL(구조적 쿼리 언어)의 취약점을 이용하여 데이터베이스를 마비시키거나 침입합니다. 웹사이트를 파괴 또는 침입하는 주된 방법으로 사용횟수가 갈수록 높아가는 이 공격은 웹사이트 내에서 다양한 유형의 기능을 공격합니다. SQL 주입 공격은 애플리케이션에 직접 공격을 시도하거나 데이터베이스에 로직을 전달하여 내부에 저장된 데이터를 능동적으로 빼가기도 합니다.

모든 웹 공격의 27%를 차지하는 SQL 주입

QL 주입은 2번째로 많이 발생(27%)하는 위협 유형으로서 웹 양식에 SQL 선언을 입력하여 사이트에 연결된 데이터베이스를 조종하는 방식으로 웹사이트를 공격합니다. 평균적으로 표적대상 웹 애플리케이션은 시간당 71회의 SQL 주입 공격을 당합니다. 일부 경우에는 특정 사이트/애플리케이션에 대한 SQL 공격이 시간당 최대 1,300회까지 시도되기도 합니다. 이러한 공격은 사이트 성능 저하에서부터 완전한 서비스 거부 상태에 이르는 다양한 악영향을 미칠 뿐 이나라 데이터 도난 및 개인 정보 공개 가능성도 노출시킵니다.

그리고 재정적 손실도 있습니다. 2012년 6월, LinkedIn에 감행된 공격으로 인해 6,500,000개 이상의 비밀 번호가 도난되었으며 직접적인 피해 복구에만 약 $1,000,000의 비용이 유발됐으며 추후 공격 예방을 위한 필수 업그레이드에 $2,000,000-$3,000,000의 추가 비용이 발생했습니다. 출처: zdnet.com.

뉴스에 보도된 공격 사례

주요 뉴스 사이트, 인터넷 포털, 온라인 소매업체, 정부 기관 등 다양한 조직에 대규모 공격이 발생한 바 있습니다. 일부 사례는 다음과 같습니다.

  • 2012년 7월, Yahoo!는 D22Ds Company라는 해커 조직의 공격을 받아 450,000개의 로그인 인증 정보를 도난당했습니다. 관련 기사
  • 매스컴을 통해서도 널리 알려진 소니 웹사이트 공격은 수백만 사용자의 개인 정보를 유출했으며 쿠폰, 다운로드 키, 비밀 번호 등이 도난당했습니다. 관련 기사
  • 2010년에는 루마니아 해커의 소행으로 보이는 SQL 주입 공격에 영국 해군 웹사이트가 피해를 입었습니다. 관련 기사

SQL 주입 공격을 차단해 주는 Kona Site Defender

Kona Site Defender는 디도스 공격 뿐 아니라 SQL 주입 및 크로스 사이트 스트립트와 같은 웹 애플리케이션 공격까지도 차단해 주는 다기능 방어 솔루션입니다. 이 솔루션은 HTTP/S 요청/응답의 심화된 패킷 분석 및 부하 분석 작업을 지원하는 사전 정의 및 사용자 구성 웹 애플리케이션 방화벽 규칙과 같은 정교한 애플리케이션 레이어 제어 기능을 통해 SQL 주입, 크로스 사이트 스크립팅 등의 공격을 식별하고 차단할 수 있습니다.

Web Application Firewall을 배치하여 SQL 주입 공격을 차단하는 방법에 대한 자세한 내용을 참조하시기 바랍니다.