SQL Injection 기법은 공개된지 수년이 지났지만 웹해킹 공격중 가장 위험한 공격으로 분류되어 있다. 웹 프로그래밍은 자료의 효율적인 저장 및 검색을 위해 DBMS를 필수적으로 사용하고 있다. 주로 PHP,JSP,ASP 등의 스크립트 언어를 이용하여 DBMS와 연동한다. 이러한 웹 어플리케이션에서 클라이언트의 잘못된 입력값을 검증하지 않으므로 비정상적인 SQL쿼리가 발생할 수 있다. 이러한 비정상적 쿼리는 사용자 인증을 우회하거나 데이터베이스에 저장된 데이터를 노출시킬 수 있다. 공격자는 SQL Injection 취약점을 이용하여 아이디와 암호를 몰라도 웹기반 인증을 통과할 수 있고 데이터베이스에 저장된 데이터를 열람해 볼 수 있다. SQL Injection에 대한 대책으로 다수의 방법이 발표되었다. 그러나 어느 한 가지 방법에 의존할 경우 많은 보안 공백이 발생할 수 있다. 단계적 대응모델은 사고 예방적 측면에서 소스코드 작성 단계, 서버 운용단계, 데이터베이스 핸드링 단계, 사용자 입력값 검증 활용 단계 등 대책을 프레임워크로 구성하여 적용하는 방법이다. 이 대응모델 을 적용할 경우 운용과정을 통해 존재하는 SQL Injection의 공격가능성을 보다 효과적으로 차단이 가능하다.
SQL Injection 기법은 공개된지 수년이 지났지만 웹해킹 공격중 가장 위험한 공격으로 분류되어 있다. 웹 프로그래밍은 자료의 효율적인 저장 및 검색을 위해 DBMS를 필수적으로 사용하고 있다. 주로 PHP,JSP,ASP 등의 스크립트 언어를 이용하여 DBMS와 연동한다. 이러한 웹 어플리케이션에서 클라이언트의 잘못된 입력값을 검증하지 않으므로 비정상적인 SQL 쿼리가 발생할 수 있다. 이러한 비정상적 쿼리는 사용자 인증을 우회하거나 데이터베이스에 저장된 데이터를 노출시킬 수 있다. 공격자는 SQL Injection 취약점을 이용하여 아이디와 암호를 몰라도 웹기반 인증을 통과할 수 있고 데이터베이스에 저장된 데이터를 열람해 볼 수 있다. SQL Injection에 대한 대책으로 다수의 방법이 발표되었다. 그러나 어느 한 가지 방법에 의존할 경우 많은 보안 공백이 발생할 수 있다. 단계적 대응모델은 사고 예방적 측면에서 소스코드 작성 단계, 서버 운용단계, 데이터베이스 핸드링 단계, 사용자 입력값 검증 활용 단계 등 대책을 프레임워크로 구성하여 적용하는 방법이다. 이 대응모델 을 적용할 경우 운용과정을 통해 존재하는 SQL Injection의 공격가능성을 보다 효과적으로 차단이 가능하다.
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...
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 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.
* 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 Injection의 공격 가능성을 보다 효율적으로 차단이 가능하다. 본 연구에서 제안된 방법을 시스템 운용현장에서 참고하여 SQL Injection 대처할 수 있기를 기대한다.
질의응답
핵심어
질문
논문에서 추출한 답변
웹 애플리케이션에서 데이터베이스와 연동되는 부분은 어떻게 나눌 수 있는가?
스크립트 코드로 구성된 웹 애플리케이션에서 사용자로부터 SQL문을 입력받는 부분, 즉 데이터베이스와 연동되는 부분은 크게 로그인, 검색, 게시판으로 나눌 수 있다. 어느 사이트에서든 로그인을 하려면 아이디와 비밀번호를 입력해야 한다.
HTTP를 사용하는 웹사이트가 왜 구조적으로 해킹 공격이 가능하다고 여겨지는가?
Web상에서 작동하는 프로그램을 일반적으로 CGI (Common Gateway Inte rface)라 하는데 웹 게시판이나 쇼핑몰 등이 있으며 웹해킹 시 대부분 CGI를 목표로 한다. 인트라넷시스템에서는 방화벽을 이용하여 취약한 포트를 차단하지만 80번 포트는 방화벽이 차단하지 못하는 웹사이트이다. 이는 HTTP를 사용하는 웹사이트에서 해킹공격이 구조적으로 가능하게 되어있음을 의미한다.
단계적 대응모델은 무엇인가?
그러나 어느 한 가지 방법에 의존할 경우 많은 보안 공백이 발생할 수 있다. 단계적 대응모델은 사고 예방적 측면에서 소스코드 작성 단계, 서버 운용단계, 데이터베이스 핸드링 단계, 사용자 입력값 검증 활용 단계 등 대책을 프레임워크로 구성하여 적용하는 방법이다. 이 대응모델 을 적용할 경우 운용과정을 통해 존재하는 SQL Injection의 공격가능성을 보다 효과적으로 차단이 가능하다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.