$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

공격코드 사례분석을 기반으로 한 SQL Injection에 대한 단계적 대응모델 연구
A Study of Step-by-step Countermeasures Model through Analysis of SQL Injection Attacks Code 원문보기

정보·보안논문지 = Journal of information and security, v.12 no.1, 2012년, pp.17 - 25  

김점구 (남서울대학교 컴퓨터학과) ,  노시춘 (남서울대학교 컴퓨터학과)

초록
AI-Helper 아이콘AI-Helper

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

Abstract AI-Helper 아이콘AI-Helper

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 envi...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

제안 방법

  • 검증절차는 입력값 크기, 특수문자 의 경우 위험하지 않은 문자로 치환 후 입력값이 허용범위 내에 존재하는지 검사하는 방식이다. SQL Injection 취약점 진단시스템을 사용하여 SQL Injection 분석을 통한 공격기법을 진단하고 데이터 형에 따른 injection 패턴을 조사한다. 설계단계에서는 변수명세, 인터페이스를 설계하여 검색엔진을 개발한다.
  • SQL Injection을 유발시키는 웹시스템 구조는 다양하며 본 연구에 인용한 소프트웨어 구조는 윈도우 운영체제 환경에서 스크립트 코드(Script Code) 언어를 MS-SQL에 연동하여 DBMS를 핸들링하는 방법을 전제로 했다. 이 구조를 분석대상으로 선택한 것은 RDBMS를 연동하는 방법으로 일반적으로 가장 많이 사용하는 사례이기 때문이다.
  • o 알려진 공격패턴을 기반으로 사용자입력 사용이 불가능한 스트링을 결정한다. 새로운 공격에 대비해서 사용자 입력으로 사용가능한 최소의 문자 집합을 결정한다.
  • 다수의 SQL Injection 대책이 있지만 어느 한가지 방법만 의존 시 많은 보안 공백을 발생 시킬 수 있다. 본 연구에서 제안하는 단계적 대응방안 모델은 대책의 구조를 사용단계, 개발단계, 운용단계 구분하여 발생 가능한 취약성에 대해 단계적인 대책을 적용한다.
  • 설계단계에서는 변수명세, 인터페이스를 설계하여 검색엔진을 개발한다. 분석결과를 토대로 엔진을 설계하며 변수명세, 인터페이스를 설계한다. SQL 공격진단 엔진에 사용될 명세를 기반으로 함수를 작성한다.
  • SQL 서버 운용, 데이터베이스 핸들링 등 영역별로 보안이행 사항을 정립한다. 연구내용은 요구사항 분석, 보안방법론, 이행방법 평가의 순서로 기술한다.
  • 이 툴을 이용 시 공격 대상 서버의 시스템 명령까지 내릴 수 있으며 데이터 조회와 수정도 가능하여 심각한 문제를 야기한다. 이와 같은 환경에서 웹해킹의 과제인 SQL Injection 공격에 대처하기 위해 SQL Injection 공격코드 분석과 단계적 대응방법 모델을 제안한다. 연구순서는 웹해킹 동향, SQL Injection 공격코드 분석, 단계적 대응방법, 결론의 순서이다.
  • 종합적 대응방안은 소스코드 작성단계와 웹서버 운용단계, SQL 서버 관리단계, 데이터베이스 핸드링 공통단계, 그리고 사용자 입력값 검증 공통활용 단계 5개단계로 설정한다. 대응방안을 단계적으로 적용하여 존재하는 SQL Injection의 공격가능성을 보다 철저히 차단해야한다.

이론/모형

  • o 입력값 검증범위는 나타나거나 저장된 데이터를 받아들이기 전에 길이, 유형, 구성, 비즈니스 규칙에 대한 모든 데이터이다. 검증을 위해 표준검증 메커니즘을 적용한다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
웹 애플리케이션에서 데이터베이스와 연동되는 부분은 어떻게 나눌 수 있는가? 스크립트 코드로 구성된 웹 애플리케이션에서 사용자로부터 SQL문을 입력받는 부분, 즉 데이터베이스와 연동되는 부분은 크게 로그인, 검색, 게시판으로 나눌 수 있다. 어느 사이트에서든 로그인을 하려면 아이디와 비밀번호를 입력해야 한다.
HTTP를 사용하는 웹사이트가 왜 구조적으로 해킹 공격이 가능하다고 여겨지는가? Web상에서 작동하는 프로그램을 일반적으로 CGI (Common Gateway Inte rface)라 하는데 웹 게시판이나 쇼핑몰 등이 있으며 웹해킹 시 대부분 CGI를 목표로 한다. 인트라넷시스템에서는 방화벽을 이용하여 취약한 포트를 차단하지만 80번 포트는 방화벽이 차단하지 못하는 웹사이트이다. 이는 HTTP를 사용하는 웹사이트에서 해킹공격이 구조적으로 가능하게 되어있음을 의미한다.
단계적 대응모델은 무엇인가? 그러나 어느 한 가지 방법에 의존할 경우 많은 보안 공백이 발생할 수 있다. 단계적 대응모델은 사고 예방적 측면에서 소스코드 작성 단계, 서버 운용단계, 데이터베이스 핸드링 단계, 사용자 입력값 검증 활용 단계 등 대책을 프레임워크로 구성하여 적용하는 방법이다. 이 대응모델 을 적용할 경우 운용과정을 통해 존재하는 SQL Injection의 공격가능성을 보다 효과적으로 차단이 가능하다.
질의응답 정보가 도움이 되었나요?

참고문헌 (15)

  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 

저자의 다른 논문 :

관련 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로