A Study of Step-by-step Countermeasures Model through Analysis of SQL Injection Attacks Code

공격코드 사례분석을 기반으로 한 SQL Injection에 대한 단계적 대응모델 연구

  • 김점구 (남서울대학교 컴퓨터학과) ;
  • 노시춘 (남서울대학교 컴퓨터학과)
  • Received : 2012.02.24
  • Accepted : 2012.03.19
  • Published : 2012.03.30

Abstract

SQL Injection techniques disclosed web hacking years passed, but these are classified the most dangerous attac ks. Recent web programming data for efficient storage and retrieval using a DBMS is essential. Mainly PHP, JSP, A SP, and scripting language used to interact with the DBMS. In this web environments application does not validate the client's invalid entry may cause abnormal SQL query. These unusual queries to bypass user authentication or da ta that is stored in the database can be exposed. SQL Injection vulnerability environment, an attacker can pass the web-based authentication using username and password and data stored in the database. Measures against SQL Inj ection on has been announced as a number of methods. But if you rely on any one method of many security hole ca n occur. The proposal of four levels leverage is composed with the source code, operational phases, database, server management side and the user input validation. This is a way to apply the measures in terms of why the accident preventive steps for creating a phased step-by-step response nodel, through the process of management measures, if applied, there is the possibility of SQL Injection attacks can be.

SQL Injection 기법은 공개된지 수년이 지났지만 웹해킹 공격중 가장 위험한 공격으로 분류되어 있다. 웹 프로그래밍은 자료의 효율적인 저장 및 검색을 위해 DBMS를 필수적으로 사용하고 있다. 주로 PHP,JSP,ASP 등의 스크립트 언어를 이용하여 DBMS와 연동한다. 이러한 웹 어플리케이션에서 클라이언트의 잘못된 입력값을 검증하지 않으므로 비정상적인 SQL 쿼리가 발생할 수 있다. 이러한 비정상적 쿼리는 사용자 인증을 우회하거나 데이터베이스에 저장된 데이터를 노출시킬 수 있다. 공격자는 SQL Injection 취약점을 이용하여 아이디와 암호를 몰라도 웹기반 인증을 통과할 수 있고 데이터베이스에 저장된 데이터를 열람해 볼 수 있다. SQL Injection에 대한 대책으로 다수의 방법이 발표되었다. 그러나 어느 한 가지 방법에 의존할 경우 많은 보안 공백이 발생할 수 있다. 단계적 대응모델은 사고 예방적 측면에서 소스코드 작성 단계, 서버 운용단계, 데이터베이스 핸드링 단계, 사용자 입력값 검증 활용 단계 등 대책을 프레임워크로 구성하여 적용하는 방법이다. 이 대응모델 을 적용할 경우 운용과정을 통해 존재하는 SQL Injection의 공격가능성을 보다 효과적으로 차단이 가능하다.

Keywords

References

  1. OWASP, CSRF Guard, http://www.owasp.org/index.php/CSRF_Guard
  2. David Gourley and Brian Totty, "HTTP: The Definitive Guide", O'Reilly Media, 2002.
  3. http://www.owasp.org/index.php/Cross- Site_Request_Forgery
  4. 이미정,노시춘, SQL Injection 취약점 진단 프로그램,2005.6
  5. Stepen Cost, An Introduction to SQL Injection Attacks,for Oracle develops, 2007.3
  6. http://redsea23.egloos.com/243019 SQL Injection 공격과 방어 방법
  7. 박상옥, 웹 관리자를 위한 응급처치법-SQL Injection 해킹 보안,2011.11
  8. http://www.krcert.or.kr/unim
  9. http://www.krcert.or.kr/index.jsp
  10. http://www.superuser.biz/tag/sql
  11. http://support.oullim.co.kr/portal/Tec hletter/200 80615/news4.htm
  12. http://dev.mysql.com/downloads/gui-tools/ 5.0.html
  13. http://kline03.egloos.com/445826
  14. http://www.google.co.kr/imgres?imgurl= http://blog.outsider.ne.kr/attach/1/1154314780
  15. http://database.sarang.net/database/postgres/ tutorial/lecture/c89.htm