Nothing Special   »   [go: up one dir, main page]

KR101061255B1 - 웹 서버와 클라이언트 간의 통신을 감시하는 웹 보안 관리 장치 및 방법 - Google Patents

웹 서버와 클라이언트 간의 통신을 감시하는 웹 보안 관리 장치 및 방법 Download PDF

Info

Publication number
KR101061255B1
KR101061255B1 KR1020090033792A KR20090033792A KR101061255B1 KR 101061255 B1 KR101061255 B1 KR 101061255B1 KR 1020090033792 A KR1020090033792 A KR 1020090033792A KR 20090033792 A KR20090033792 A KR 20090033792A KR 101061255 B1 KR101061255 B1 KR 101061255B1
Authority
KR
South Korea
Prior art keywords
input data
client
web server
information
web
Prior art date
Application number
KR1020090033792A
Other languages
English (en)
Other versions
KR20100115182A (ko
Inventor
장동호
이준희
Original Assignee
주식회사 파이오링크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 파이오링크 filed Critical 주식회사 파이오링크
Priority to KR1020090033792A priority Critical patent/KR101061255B1/ko
Priority to JP2009170433A priority patent/JP2010250791A/ja
Publication of KR20100115182A publication Critical patent/KR20100115182A/ko
Application granted granted Critical
Publication of KR101061255B1 publication Critical patent/KR101061255B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 웹 서버와 클라이언트 사이에 설치되어 상호 간의 통신을 감시하는 웹 보안 관리 장치 및 방법에 관한 것으로서, 클라이언트로부터 통신 패킷이 수신되면, 통신 패킷이 웹 서버에 제출(Summit)할 입력 데이터를 포함하는 통신 패킷인지를 체크하고, 체크 결과, 웹 서버에 제출할 입력 데이터를 포함하는 통신 패킷이면, 입력 데이터와 관련된 사용자 입력 폼의 유효성 검증 정보를 이용하여 입력 데이터의 유효성을 체크하고, 체크 결과 유효하지 않은 데이터이면, 입력 데이터를 에러 처리한다.
웹 서버, 클라이언트, 웹 브라우저, 클라이언트 사이드 스크립트, 해킹

Description

웹 서버와 클라이언트 간의 통신을 감시하는 웹 보안 관리 장치 및 방법{Apparatus and method for web security management to monitoring communication between web-server and client}
본 발명은 예를 들면 방화벽과 같은 웹 보안 기술에 관련되며, 특히 클라이언트에서 웹 서버로 제출하는 폼에 포함된 입력 데이터의 변조를 통한 해킹을 차단하는 기술에 관한 것이다.
웹 서버는 클라이언트의 웹 서비스 요청에 따라 해당 클라이언트로 웹 서버에서 제공하는 사용자 입력 폼(Form)을 전송한다. 웹 서버로부터 수신된 사용자 입력 폼에 사용자 아이디, 패스워드와 같은 입력 데이터가 입력되면, 클라이언트는 해당 비즈니스 로직에 적합한 입력인지를 검증한다. 즉, 클라이언트는 클라이언트 사이드 스크립트(Client side script)를 동작시켜 자체적으로 해당 입력 데이터가 유효한 데이터인지 검증한다. 여기서, 클라이언트 사이드 스크립트는 클라이언트에서 실행되는 웹 언어로써 예를 들면, 입력 데이터가 텍스트 및 숫자와 허용된 일 부 특수 문자만으로 구성된 문자열인지를 체크하는 자바스크립트(Java scrpit) 등이 될 수 있다. 이 같은 클라이언트 사이드 스크립트를 동작시켜 사용자 입력 폼에 입력된 입력 데이터의 유효성이 검증되면, 클라이언트는 유효성이 검증된 입력 데이터를 포함하는 데이터 입력 폼을 웹 서버로 전송하여 웹 사이트에서 제공되는 웹 서비스를 이용하는 것이 일반적인 웹 서비스 과정이다.
그러나, 이 같은 웹 서비스 과정을 통해 클라이언트로부터 입력 데이터를 수신하는 웹 서버는 SQL 인젝션(Injection)과 같은 형태의 공격을 의도하는 변조된 입력 데이터를 수신하는 위험에 노출되어 있다. 예를 들어, 해킹 공격자는 웹 프로시(Web proxy)를 통해 클라이언트에서 유효성 여부가 검증되어 웹 서버로 전송되는 입력 데이터를 변조한다. 뿐만 아니라, 해킹 공격자는 브라우저를 거치지 않고 자신이 직접 생성한 입력 데이터를 클라이언트 사이드 스크립트의 검증을 우회하여 웹 서버로 전송한다. 이에 따라, 웹 서버는 해킹 공격자에 의해 변조되거나 유효성 여부가 검증되지 않은 입력 데이터를 수신하여, 이 데이터가 의도와 달리 SQL로 해석되어 데이터 베이스를 액세스(Access)하거나 또다른 시스템 명령어로 해석되어 사용자 권한을 변경하여 해킹 공격에 노출될 위험에 처할 수 있다. 이와 같이, 해킹 공격자에 의해 변조되거나 유효성 여부가 검증되지 않은 입력 데이터를 수신한 웹 서버는 기저장된 다수의 사용자들의 정보가 외부로 유출되는 등의 웹 해킹 사고가 발생하는 문제가 있다.
본 발명은 이와 같은 문제점을 해결하고자 하는 것으로서, 클라이언트에 수신된 사용자 입력 폼을 악용한 해킹 공격자의 공격을 차단함을 목적으로 한다.
나아가, 본 발명에 따른 웹 보안 관리 장치는 웹 서버로 전송되는 입력 데이터의 유효성 여부를 체크함으로써, 웹 서버로 변조된 입력 데이터가 전송되어 해킹이 발생하지 못하도록 하는 것을 목적으로 한다.
전술한 기술적 과제는 후술하는 본 발명의 특징적인 양상들에 의해 달성된다. 본 발명은 웹 서버와 클라이언트 사이에 설치된 웹 보안 관리 장치에서 상호 간의 통신을 감시함으로써 달성된다. 일 양상에 따르면, 클라이언트로부터 통신 패킷이 수신되면, 통신 패킷이 웹 서버에 제출(Summit)할 입력 데이터를 포함하는 통신 패킷인지를 체크하고, 체크 결과, 웹 서버에 제출할 입력 데이터를 포함하는 통신 패킷이면, 입력 데이터와 관련된 사용자 입력 폼의 유효성 검증 정보를 이용하여 입력 데이터의 유효성을 체크하고, 체크 결과 유효하지 않은 데이터이면, 입력 데이터를 에러 처리한다.
본 발명의 추가적인 양상에 따르면, 입력 데이터를 포함하는 통신 패킷은 액션 유알엘(Action URL)로 구성되며, 통신 패킷인지를 체크하는 것은 클라이언트로부터 수신된 통신 패킷이 액션 유알엘인지를 체크한다.
본 발명의 추가적인 양상에 따르면, 본 방법은 클라이언트의 웹 서비스 요청에 따라, 웹 서버로부터 수신된 사용자 입력 폼을 클라이언트 측으로 전송하고, 사용자 입력 폼의 유효성 검증 정보를 저장한다.
본 발명의 추가적인 양사에 따르면, 에러 처리는 클라이언트 측으로 입력 데이터와 관련된 에러 정보 메시지를 전송한다.
본 발명의 이 같은 양상에 따라 웹 보안 관리 장치는 클라이언트로부터 웹 서버로 제출할 입력 데이터가 수신되면, 수신된 입력 데이터가 해킹 공격자에 의해 변조된 입력 데이터인지를 체크하고, 그에 따라 에러가 체크되면, 해당 입력 데이트에 대한 에러 정보를 클라이언트에 전송하고, 변조된 입력 데이터가 웹 서버로 전송되는 것을 차단함으로써, 공격에 의해 의도적인 웹 서버 해킹을 차단할 수 있다.
본 발명의 추가적인 양상에 따르면, 입력 데이터의 유효성을 체크는 유효성 검증 정보에 포함된 필드 특정 정보를 이용하여 액션 유알엘에 포함된 입력 데이터를 획득하고, 유효성 검증 정보에 포함된 입력 검증 코드 정보를 이용하여 입력 데이터가 유효한 정보인지를 체크한다.
본 발명의 추가적인 양상에 따르면, 필드 특정 정보는 액션 유알엘에 포함된 입력 데이터가 입력되는 범위 혹은 알파벳, 숫자, 특수 기호와 같이 입력 데이터로 사용되도록 정의된 데이터 종류이며, 입력 검증 코드 정보는 필드 특정 정보를 통해 획득된 입력 데이터가 유효한 정보인지를 체크하는 유효성 검증 프로그램이다.
본 발명의 이 같은 양상에 따라 클라이언트 측에서 웹 서버로 제출할 액션 유알엘에 포함된 입력 데이터를 획득하고, 유효성 검증 프로그램을 이용하여 획득된 입력 데이터가 유효한지를 체크할 수 있다.
상술한 바와 같이 본 발명에 따른 웹 서버와 클라이언트 사이에 설치되어 상호 간의 통신을 감시하는 웹 보안 관리 장치 및 방법은 웹 보안 관리 장치를 통해 클라이언트에서 입력된 입력 데이터에 유효한지를 체크함으로써, 웹 서버에 SQL 인젝션을 통해 변조된 입력 데이터가 수신되는 것을 차단할 수 있다. 즉, 해킹 공격자는 클라이언트에서 자체적으로 클라이언트 사이드 스크립트를 통해 유효성 여부가 검증된 입력 데이터를 변조한다. 뿐만 아니라, 해킹 공격자는 자체적으로 위조된 입력 데이터를 생성하고, 클라이언트 사이드 스크립트의 검증을 우회하여 입력 데이터를 웹 서버로 전송한다. 이때, 본 발명에 따른 웹 보안 관리 장치는 해킹 공격자에 의해 변조되거나 위조된 웹 서버로 전송되는 입력 데이터의 유효성 여부를 재검증함으로써, 해킹 공격자에 의해 변조되거나 위조된 입력 데이터가 웹 서버로 전송되는 것을 차단할 수 있다. 이에 따라, 웹 서버는 변조된 입력 데이터에 의한 해킹 공격에서 보호되어 웹 서버 내의 보안성을 향상시킬 수 있다.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명 되는 바람직한 실시예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명을 이러한 실시예들을 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 웹 서버와 클라이언트 사이에 설치된 웹 보안 관리 장치에서 상호 간의 통신을 감시하는 방법을 도시한 절차도이다.
도 1에 도시된 바와 같이, 클라이언트(100)는 다수의 웹 사이트들 중 적어도 하나의 웹 사이트에서 제공하는 웹 서비스를 이용하기 위하여 해당 웹 사이트의 웹 서버(300)로 접속을 요청한다(S100). 여기서, 웹 서버(300)로 접속을 요청하는 클라이언트(100)는 일반 사용자가 사용하는 컴퓨터와 컴퓨터에 설치되어 있는 넷스케이프 또는 인터넷 익스플로러와 같은 웹 브라우저를 말한다. 이 같은 클라이언트(100)의 웹 서버(300) 접속 요청에 따라, 웹 보안 장치(200)는 접속을 시도한 클라이언트(100)가 해당 웹 사이트의 웹 서버(300)에 접속되도록 접속 요청 정보를 전송한다(S110). 접속 요청 정보를 수신한 웹 서버(300)는 클라이언트(100) 측으로 전송할 사용자 입력 폼을 웹 보안 관리 장치(200)로 전송한다(S120). 여기서, 사용자 입력 폼은 사용자의 아이디, 패스워드와 같은 사용자 정보를 입력하기 위한 HTML(Hyper Text Markup Language)로 구성된 웹 페이지이다. 그러나, 본 발명은 이에 한정되지 않으며, 사용자 입력 폼은 결제 창이나 검색 창 등에 입력되는 데이터를 서버로 전송하는 일반적인 양식을 포괄한다.
이 같은 사용자 입력 폼이 수신되면, 웹 보안 관리 장치(200)는 수신된 사용 자 입력 폼을 클라이언트(100)로 전송한다. 이때, 웹 보안 관리 장치(200)는 클라이언트(100)로 전송할 사용자 입력 폼에 포함된 유효성 검증 정보를 유효성 검증 정보 저장부에 저장한다(S130, S140). 여기서, 유효성 검증 정보는 클라이언트(100)로부터 입력되어 수신된 입력 데이터가 유효한지를 검증하는 정보로써, 필드 특정 정보와 입력 검증 코드 정보를 포함한다. 이 같은 필드 특정 정보와 입력 검증 코드 정보는 하기에서 상세히 설명하기로 한다. 한편, 웹 보안 관리 장치(200)로부터 사용자 입력 폼을 수신한 클라이언트(100)는 웹 사이트에서 제공하는 웹 서비스를 이용하기 위하여 웹 서버(300)에 제출(summit)할 사용자의 아이디, 패스워드와 같은 사용자 정보가 입력된 입력 데이터를 웹 보안 관리 장치(200)로 전송한다(S150). 이때, 클라이언트(100)는 입력 데이터가 입력되면, 자체적으로 해당 비즈니스 로직에 적합한 입력인지를 검증한 후, 입력 데이터를 웹 보안 관리 장치(200)로 전송함이 바람직하다. 이후, 웹 보안 관리 장치(200)는 유효성 검증 정보 저장부에 저장된 유효성 검증 정보를 이용하여 클라이언트(100)로부터 수신된 입력 데이터의 유효성을 체크한다(S160). 이 같이, 웹 보안 관리 장치(200)가 클라이언트(100)로부터 수신된 입력 데이터의 유효성을 체크하는 방법은 도 2를 통해 달성할 수 있다.
도 2는 본 발명의 일 실시예에 따른 웹 보안 관리 장치에서 클라이언트로부터 수신된 입력 데이터의 유효성을 체크하는 방법을 도시한 흐름도이다.
도시된 바와 같이, 클라이언트(100)로부터 웹 서버(300)에 제출할 입력 데이 터를 포함하는 통신 패킷이 수신되면, 웹 보안 관리 장치(200)는 유효성 검증 정보에 포함된 필드 특정 정보를 이용하여 수신된 통신 패킷에서 입력 데이터를 획득한다(S161). 여기서, 입력 데이터를 포함하는 통신 패킷은 본 발명의 추가적인 양상에 따라 액션 유알엘(Action URL)로 구성되는 것이 바람직하다. 즉, 웹 보안 관리 장치(200)는 클라이언트(100)로부터 웹 서버(300)에 전송할 다수의 통신 패킷들이 수신되면, 수신된 다수의 통신 패킷들 중 액션 유알엘로 구성된 통신 패킷이 있는지를 체크한다. 체크 결과, 액션 유알엘로 구성된 통신 패킷이면, 웹 보안 관리 장치(200)는 유효성 검증 정보에 포함된 필드 특정 정보를 이용하여 액션 유알엘에 포함된 입력 데이터를 획득한다. 여기서, 필드 특정 정보는 웹 서버(300)에 제출할 액션 유알엘에 포함된 입력 데이터가 입력되는 범위 혹은 입력 데이터로 사용되는 알파벳, 숫자, 특수 기호와 같이 정의된 데이터 종류로써, 웹 보안 관리 장치(200)는 이 같은 필드 특정 정보를 이용하여 클라이언트(100)로부터 수신된 입력 데이터를 획득한다.
이후, 웹 보안 관리 장치(200)는 유효성 검증 정보에 포함된 입력 검증 코드 정보를 이용하여 획득된 입력 데이터가 유효한 정보인지를 체크한다(S162). 여기서, 입력 검증 코드 정보는 획득된 입력 데이터가 입력되는 범위가 올바른지 혹은 입력 데이터가 알파벳, 숫자, 특수 기호와 같은 데이터 종류에 맞는 유효한 정보인지를 체크하는 유효성 검증 프로그램이다.
일 실시예에 따라, 웹 보안 관리 장치(200)는 웹 서버(300)로부터 수신된 사용자 입력 폼을 이용하여 입력 데이터가 유효한지를 검증하는 클라이언트(100)와 같이 유사한 방법으로 입력 데이터가 유효한지를 검증한다. 클라이언트(100)로부터 유효한 정보인지 검증된 입력 데이터가 획득되면, 웹 보안 관리 장치(200)는 입력 검증 코드 정보를 통해 입력 데이터가 유효한지를 재검증한다. 이후, 웹 보안 관리 장치(200)는 입력 검증 코드 정보를 통해 재검증된 입력 데이터에 대한 검증 결과값을 통해 입력 데이터의 유효성 여부를 체크한다.
체크 결과 입력 데이터가 유효하지 않으면, 웹 보안 관리 장치(200)는 클라이언트(100)로부터 입력된 입력 데이터를 에러 처리하고, 에러 처리한 입력 데이터에 대한 에러 메시지를 클라이언트(100) 측으로 전송한다. 예를 들어, 해킹 공격자는 클라이언트(100)에서 자체적으로 클라이언트 사이드 스크립트를 통해 유효성 여부가 검증된 입력 데이터를 변조한다. 뿐만 아니라, 해킹 공격자는 자체적으로 위조된 입력 데이터를 생성하고, 클라이언트 사이드 스크립트의 검증을 우회하여 입력 데이터를 웹 서버로 전송한다. 이와 같이, 해킹 공격자로부터 SQL 인젝션을 통해 변조되거나 또는 위조된 입력 데이터가 수신되면, 웹 보안 관리 장치(200)는 상술한 바와 같이 입력 검증 코드 정보를 통해 수신된 입력 데이터를 유효성 여부를 재검증하고, 그 결과 유효하지 않은 것으로 체크되면, 수신된 입력 데이터를 에러 처리한다. 이때, 웹 보안 관리 장치(200)는 에러 처리한 입력 데이터에 대한 에러 메시지를 클라이언트(100) 측으로 전송함이 바람직하다.
그러나, 본 발명에 따른 웹 보안 관리 장치(100)는 이에 한정하지 않으며, 에러 처리한 입력 데이터를 실시간으로 삭제하거나 혹은 에러 처리한 입력 데이터를 저장할 수 있다. 이에 따라, 웹 서버(300)는 해킹 공격자에 의해 변조되거나 위조된 입력 데이터를 통해 해킹을 당하거나 내부적으로 오류가 발생하는 것을 방지할 수 있다.
한편, 체크 결과 입력 데이터가 유효하면, 웹 보안 관리 장치(200)는 클라이언트(100)로부터 입력된 입력 데이터를 웹 서버(300)로 제출한다(S180). 이에 따라, 웹 서버(300)는 유효성이 검증된 입력 데이터만을 수신하여 해당 클라이언트(100)와 정상적으로 통신을 개시하게 되고, 클라이언트(100)는 해당 웹 사이트에서 제공하는 웹 서비스를 이용하게 된다. 이하에서는 본 발명의 일 실시예에 따른 웹 보안 관리 장치(200)의 각각의 구성에 대해서 상세히 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 웹 서버와 클라이언트 사이에 설치되어 통신을 감시하는 웹 보안 관리 장치에 대한 구성을 도시한 블록도이다.
도시된 바와 같이, 웹 보안 관리 장치(200)는 송수신부(210), 패턴 정보 저장부(220), 검사부(230), 유효성 검증 처리부(240), 유효성 검증 정보 저장부(250), 감시 처리부(260), 에러 처리부(270)를 포함한다. 송수신부(210)는 다수의 클라이언트(100)들로부터 수신된 통신 패킷을 해당 웹 서버(300)로 전송하고, 다수의 웹 서버(300)들로부터 수신된 통신 패킷을 해당 클라이언트(100)로 전송한다. 여기서, 통신 패킷은 다수의 클라이언트(100)들이 웹 사이트에서 제공하는 웹 서비스를 이용하기 위한 이용 관련 정보이다. 그리고, 클라이언트(100)는 일반 사용자가 사용하는 컴퓨터와 컴퓨터에 설치되어 있는 넷스케이프 또는 인터넷 익스플로러와 같은 웹 브라우저를 말한다.
패턴 정보 저장부(220)는 사용자 입력 폼과 관련된 패턴 정보 또는 웹 서버(300)로 제출할 입력 데이터를 포함하는 패턴 정보가 저장되는 구성이다. 검사부(230)는 송수신부(210)를 통해 웹 서버(300) 또는 클라이언트(100)로부터 통신 패킷이 수신되면, 패턴 정보 저장부(220)에 저장된 패턴 정보를 이용하여 수신된 통신 패킷이 사용자 입력 폼과 관련된 통신 패킷인지 또는 웹 서버(300)에 제출할 입력 데이터를 포함하는 통신 패킷인지를 검사한다. 여기서, 입력 데이터를 포함하는 통신 패킷은 본 발명의 추가적인 양상에 따라 액션 유알엘(Action URL)로 구성되는 것이 바람직하다. 즉, 검사부(230)는 웹 서버(300) 또는 클라이언트(100)로부터 통신 패킷들이 수신되면, 패턴 정보 저장부(220)에 저장된 패턴 정보를 이용하여 수신된 통신 패킷이 사용자 입력 폼인지 혹은 입력 데이터를 포함한 액션 유알엘인지를 검사한다.
이 같은 검사부(230)의 검사 결과에 따라, 유효 검증 처리부(240)와 감시 처리부(260)는 동작을 수행하게 된다. 검사부(230)의 검사 결과에 따라, 웹 서버(300)로부터 수신된 통신 패킷이 사용자 입력 폼이면, 유효성 검증 처리부(240)는 수신된 사용자 입력 폼을 해당 클라이언트(100)로 전송한다. 여기서, 사용자 입력 폼은 사용자의 아이디, 패스워드와 같은 사용자 정보를 입력하기 위한 HTML로 구성된 웹 페이지이다. 그러나, 본 발명은 이에 한정되지 않으며, 사용자 입력 폼은 결제 창이나 검색 창 등에 입력되는 데이터를 서버로 전송하는 일반적인 양식을 포괄한다. 한편, 유효성 검증 처리부(240)는 클라이언트(100)로 전송할 사용자 입력 폼에서 유효성 검증 정보를 획득하여 유효성 검증 정보 저장부(250)에 저장한 다. 여기서, 유효성 검증 정보는 클라이언트(100)로부터 입력되어 수신된 입력 데이터가 유효한지를 검증하는 정보로써, 필드 특정 정보와 입력 검증 코드 정보를 포함한다. 필드 특정 정보와 입력 검증 코드 정보는 하기에서 상세히 설명하기로 한다.
한편, 검사부(230)의 검사 결과에 따라, 클라이언트(100)로부터 수신된 통신 패킷이 입력 데이터를 포함하는 액션 유알엘이면, 감시 처리부(260)는 유효성 검증 정보 저장부(250)에 저장된 유효성 검증 정보를 이용하여 클라이언트(100)로부터 수신된 액션 유알엘에 포함된 입력 데이터가 유효한지를 체크한다. 여기서, 클라이언트(100)는 사용자로부터 입력된 입력 데이터가 해당 비즈니스 로직에 적합한 입력 데이터인지를 자체적으로 검증한 후, 웹 서버(300)에 제출할 입력 데이터를 포함하는 액션 유알엘을 웹 보안 관리 장치(200) 측으로 전송한다. 이 같이 유효성이 검증된 입력 데이터를 포함하는 액션 유알엘이 수신되면, 감시 처리부(260)는 입력 데이터 획득부(262)와 입력 데이터 체크부(264)를 통해 수신된 입력 데이터가 유효한지를 체크한다.
입력 데이터 획득부(262)는 유효성 검증 정보에 포함된 필드 특정 정보를 이용하여 클라이언트(100)로부터 수신된 액션 유알엘로부터 입력 데이터를 획득한다. 입력 데이터 체크부(264)는 유효성 검증 정보에 포함된 입력 검증 코드 정보를 이용하여 입력 데이터 획득부(262)로부터 획득된 입력 데이터가 유효한 정보인지를 체크한다. 즉, 사용자 입력 폼을 수신한 클라이언트(100)로부터 유효성이 검증된 입력 데이터를 포함하는 액션 유알엘이 수신되면, 감시 처리부(260)의 입력 데이터 획득부(262)는 유효성 검증 정보 저장부(250)로부터 수신된 액션 유알엘과 관련된 유효성 검증 정보를 획득한다. 이후, 입력 데이터 획득부(262)는 획득된 유효성 검증 정보에 포함된 필드 특정 정보를 이용하여 클라이언트(100)로부터 수신된 액션 유알엘에 포함된 입력 데이터를 획득한다. 여기서, 필드 특정 정보는 웹 서버(300)에 제출할 액션 유알엘에 포함된 입력 데이터가 입력되는 범위 혹은 입력 데이터로 사용되는 알파벳, 숫자, 특수 기호와 같이 정의된 데이터 종류로써, 입력 데이터 획득부(262)는 이 같은 필드 특정 정보를 이용하여 클라이언트(100)로부터 수신된 액션 유알엘로부터 입력 데이터를 획득한다.
이 같은 필드 특정 정보를 이용하여 입력 데이터가 획득되면, 입력 데이터 체크부(264)는 유효성 검증 정보에 포함된 입력 검증 코드 정보를 이용하여 입력 데이터가 유효한 정보인지를 체크한다. 여기서, 입력 검증 코드 정보는 획득된 입력 데이터가 입력되는 범위가 올바른지 혹은 입력 데이터가 알파벳, 숫자, 특수 기호와 같은 데이터 종류에 맞는 유효한 정보인지를 체크하는 유효성 검증 프로그램이다.
일 실시예에 따라, 입력 데이터 체크부(264)는 웹 서버(300)로부터 수신된 사용자 입력 폼을 이용하여 입력 데이터가 유효한지를 검증하는 클라이언트(100)와 같이 유사한 방법으로 입력 데이터가 유효한지를 검증한다. 클라이언트(100)로부터 검증된 입력 데이터가 획득되면, 웹 보안 관리 장치(200)는 입력 검증 코드 정보를 통해 입력 데이터가 유효한지를 재검증한다. 이후, 웹 보안 관리 장치(200)는 입력 검증 코드 정보를 통해 재검증된 입력 데이터에 대한 검증 결과값을 통해 입력 데이터의 유효성 여부를 체크한다.
입력 데이터 체크부(264)를 통해 입력 데이터가 유효하지 않은 것으로 체크되면, 에러 처리부(270)는 클라이언트(100)로부터 수신된 입력 데이터를 에러 처리한다. 이때, 에러 처리부(270)는 에러 처리한 입력 데이터에 대한 에러 메시지를 클라이언트(100) 측으로 전송함이 바람직하다. 예를 들어, 해킹 공격자는 클라이언트(100)에서 자체적으로 클라이언트 사이드 스크립트를 통해 유효성 여부가 검증된 입력 데이터를 변조한다. 뿐만 아니라, 해킹 공격자는 자체적으로 위조된 입력 데이터를 생성하고, 클라이언트 사이드 스크립트의 검증을 우회하여 입력 데이터를 웹 서버로 전송한다. 이와 같이, 해킹 공격자로부터 SQL 인젝션을 통해 변조되거나 또는 위조된 입력 데이터가 수신되면, 입력 데이터 체크부(264)는 입력 검증 코드 정보를 통해 수신된 입력 데이터가 변조 또는 위조되어 유효하지 않은 것으로 체크한다. 이에 따라, 에러 처리부(270)는 입력 데이터를 에러 처리하고, 에러 처리한 입력 데이터에 대한 에러 메시지를 클라이언트(100) 측으로 전송한다. 그러나, 본 발명에 따른 에러 처리부(270)는 이에 한정하지 않으며, 에러 처리한 입력 데이터를 실시간으로 삭제하거나 혹은 에러 처한 입력 데이터를 저장할 수 있다. 이 같이, 웹 보안 관리 장치(200)는 웹 서버(300)로 제출할 입력 데이터에 대한 유효성 여부를 체크함으로써, 웹 서버(300)에 변조된 입력 데이터가 수신되는 것을 차단할 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 웹 서버와 클라이언트 사이에 설치된 웹 보안 관리 장치에서 상호 간의 통신을 감시하는 방법을 도시한 절차도,
도 2는 본 발명의 일 실시예에 따른 웹 보안 관리 장치에서 클라이언트로부터 수신된 입력 데이터의 유효성을 체크하는 방법을 도시한 흐름도,
도 3은 본 발명의 일 실시예에 따른 웹 서버와 클라이언트 사이에 설치되어 통신을 감시하는 웹 보안 관리 장치에 대한 구성을 도시한 블록도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 클라이언트 200 : 웹 보안 관리 장치
210 : 송수신부 220 : 패턴 정보 저장부
230 : 검사부 240 : 유효성 검증 처리부
250 : 유효성 검증 정보 저장부 260 : 감시 처리부
262 : 입력 데이터 획득부 264 : 입력 데이터 체크부
270 : 에러 처리부 300 : 웹 서버

Claims (12)

  1. 웹 서버와 클라이언트 사이에 설치된 웹 보안 관리 장치에서 상호 간의 통신을 감시하는 방법에 있어서,
    상기 클라이언트의 웹 서비스 요청에 따라, 상기 웹 서버로부터 사용자 입력 폼을 수신하여 상기 클라이언트 측으로 전송하고, 상기 클라이언트 측으로 전송한 사용자 입력 폼의 유효성 검증 정보를 저장하는 단계와;
    상기 클라이언트로부터 통신 패킷이 수신되면, 상기 통신 패킷이 상기 웹 서버에 제출(Summit)할 입력 데이터를 포함하는 통신 패킷인지를 체크하는 단계와;
    상기 체크 결과, 상기 웹 서버에 제출할 입력 데이터를 포함하는 통신 패킷이면, 상기 입력 데이터와 관련되어 기저장된 사용자 입력 폼의 유효성 검증 정보를 이용하여 상기 입력 데이터의 유효성을 체크하는 단계와;
    상기 체크 결과 유효하지 않은 데이터이면, 상기 입력 데이터를 에러 처리하는 단계;
    를 포함하는 것을 특징으로 하는 웹 서버와 클라이언트 사이에 설치된 웹 보안 관리 장치에서 상호 간의 통신을 감시하는 방법.
  2. 제 1 항에 있어서, 상기 입력 데이터를 포함하는 통신 패킷은:
    액션 유알엘(Action URL)로 구성되며,
    상기 통신 패킷인지를 체크하는 단계는
    상기 클라이언트로부터 수신된 통신 패킷이 상기 액션 유알엘인지를 체크하는 것을 특징으로 하는 웹 서버와 클라이언트 사이에 설치된 웹 보안 관리 장치에서 상호 간의 통신을 감시하는 방법.
  3. 삭제
  4. 제 1 항에 있어서, 상기 에러 처리하는 단계는:
    상기 클라이언트 측으로 상기 입력 데이터와 관련된 에러 정보 메시지를 전송하는 것을 특징으로 하는 웹 보안 관리 장치를 이용한 웹 서버와 클라이언트 사이에 설치된 웹 보안 관리 장치에서 상호 간의 통신을 감시하는 방법.
  5. 제 2 항에 있어서, 상기 입력 데이터의 유효성을 체크하는 단계는:
    상기 유효성 검증 정보에 포함된 필드 특정 정보를 이용하여 상기 액션 유알엘에 포함된 입력 데이터를 획득하는 단계와;
    상기 유효성 검증 정보에 포함된 입력 검증 코드 정보를 이용하여 상기 입력 데이터가 유효한 정보인지를 체크하는 단계;
    를 포함하는 것을 특징으로 하는 웹 서버와 클라이언트 사이에 설치된 웹 보안 관리 장치에서 상호 간의 통신을 감시하는 방법.
  6. 제 5 항에 있어서, 상기 필드 특정 정보는:
    상기 액션 유알엘에 포함된 입력 데이터가 입력되는 범위 혹은 알파벳, 숫자, 특수 기호와 같이 상기 입력 데이터로 사용되도록 정의된 데이터 종류이며,
    입력 검증 코드 정보는
    상기 필드 특정 정보를 통해 획득된 입력 데이터가 유효한 정보인지를 체크하는 유효성 검증 프로그램인 것을 특징으로 하는 웹 서버와 클라이언트 사이에 설치된 웹 보안 관리 장치에서 상호 간의 통신을 감시하는 방법.
  7. 웹 서버와 클라이언트 사이에 설치되어 통신을 감시하는 웹 보안 관리 장치에 있어서,
    상기 웹 서버 및 상기 클라이언트와 통신 패킷을 송수신하여 하는 송수신부와;
    상기 송수신부를 통해 상기 웹 서버로부터 수신된 통신 패킷이 사용자 입력 폼이면, 상기 사용자 입력 폼을 상기 클라이언트로 전송하고, 상기 사용자 입력 폼 정보에 포함된 유효성 검증 정보를 유효성 검증 정보 저장부에 저장하는 유효성 검증 처리부와;
    상기 송수신부를 통해 상기 클라이언트로부터 수신된 통신 패킷이 상기 웹 서버로 제출할 입력 데이터를 포함하는 통신 패킷이면, 상기 유효성 검증 정보 저장부에 저장된 유효성 검증 정보를 이용하여 상기 통신 패킷에 포함된 입력 데이터가 유효한지를 체크하는 감시 처리부와;
    상기 체크 결과 상기 입력 데이터가 유효하지 않은 것으로 체크되면, 상기 입력 데이터를 에러 처리하는 에러 처리부;
    를 포함하는 것을 특징으로 하는 웹 서버와 클라이언트 사이에 설치되어 통신을 감시하는 웹 보안 관리 장치.
  8. 삭제
  9. 제 7 항에 있어서, 상기 입력 데이터를 포함하는 통신 패킷은:
    액션 유알엘(Action URL)로 구성되며,
    상기 장치는:
    상기 사용자 입력 폼과 관련된 패턴 정보 또는 상기 액션 유알엘과 관련된 패턴 정보가 저장되는 패턴 정보 저장부와;
    상기 송수신부를 통해 상기 웹 서버 또는 상기 클라이언트로부터 통신 패킷이 수신되면, 상기 패턴 정보 저장부에 저장된 패턴 정보를 이용하여 상기 수신된 통신 패킷이 사용자 입력 폼인지 또는 상기 입력 데이터를 포함하는 액션 유알엘인지를 검사하는 검사부;
    를 더 포함하는 것을 특징으로 하는 웹 서버와 클라이언트 사이에 설치되어 통신을 감시하는 웹 보안 관리 장치.
  10. 제 9 항에 있어서, 상기 감시 처리부는;
    상기 유효성 검증 정보에 포함된 필드 특정 정보를 이용하여 상기 입력 데이터를 획득하는 입력 데이터 획득부와;
    상기 유효성 검증 정보에 포함된 입력 검증 코드 정보를 이용하여 상기 입력 데이터가 유효한 정보인지를 체크하는 입력 데이터 체크부;
    를 포함하는 것을 특징으로 하는 웹 서버와 클라이언트 사이에 설치되어 통신을 감시하는 웹 보안 관리 장치.
  11. 제 10 항에 있어서, 상기 필드 특정 정보는:
    상기 액션 유알엘에 포함된 입력 데이터가 입력되는 범위 혹은 알파벳, 숫자, 특수 기호와 같이 상기 입력 데이터로 사용되도록 정의된 데이터 종류이며,
    입력 검증 코드 정보는
    상기 필드 특정 정보를 통해 획득된 입력 데이터가 유효한 정보인지를 체크하는 유효성 검증 프로그램인 것을 특징으로 하는 ㄴ웹 서버와 클라이언트 사이에서 통신을 감시하는 웹 보안 관리 장치.
  12. 제 7 항에 있어서, 상기 에러 처리부는:
    상기 송수신부를 통해 상기 클라이언트 측으로 상기 입력 데이터와 관련된 에러 메시지 정보를 전송하는 것을 특징으로 하는 웹 서버와 클라이언트 사이에 설치되어 통신을 감시하는 웹 보안 관리 장치.
KR1020090033792A 2009-04-17 2009-04-17 웹 서버와 클라이언트 간의 통신을 감시하는 웹 보안 관리 장치 및 방법 KR101061255B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090033792A KR101061255B1 (ko) 2009-04-17 2009-04-17 웹 서버와 클라이언트 간의 통신을 감시하는 웹 보안 관리 장치 및 방법
JP2009170433A JP2010250791A (ja) 2009-04-17 2009-07-21 ウェブサーバとクライアントとの間の通信を監視するウェブ保安管理装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090033792A KR101061255B1 (ko) 2009-04-17 2009-04-17 웹 서버와 클라이언트 간의 통신을 감시하는 웹 보안 관리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20100115182A KR20100115182A (ko) 2010-10-27
KR101061255B1 true KR101061255B1 (ko) 2011-09-01

Family

ID=43134141

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090033792A KR101061255B1 (ko) 2009-04-17 2009-04-17 웹 서버와 클라이언트 간의 통신을 감시하는 웹 보안 관리 장치 및 방법

Country Status (2)

Country Link
JP (1) JP2010250791A (ko)
KR (1) KR101061255B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102081741B1 (ko) 2013-12-10 2020-02-26 주식회사 우리은행 여신 서비스 제공 방법, 이를 위한 가입 화면 제어 방법 및 이를 실행하는 서버
CN107454041B (zh) 2016-05-31 2020-06-02 阿里巴巴集团控股有限公司 防止服务器被攻击的方法及装置
CN109376510A (zh) * 2018-08-28 2019-02-22 中国平安人寿保险股份有限公司 前端信息验证方法、装置、存储介质和计算机设备
KR102370197B1 (ko) * 2020-11-06 2022-03-04 엘아이지넥스원 주식회사 소부대 운용을 위한 디지털 무전기의 통화품질 제어방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390172B1 (en) * 2003-03-22 2003-07-04 Knowledge Info Net Service Inc Method and system for controlling internet contents providing service using redirection method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311278B1 (en) * 1998-09-09 2001-10-30 Sanctum Ltd. Method and system for extracting application protocol characteristics
JP2007004685A (ja) * 2005-06-27 2007-01-11 Hitachi Ltd 通信情報監視装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100390172B1 (en) * 2003-03-22 2003-07-04 Knowledge Info Net Service Inc Method and system for controlling internet contents providing service using redirection method

Also Published As

Publication number Publication date
KR20100115182A (ko) 2010-10-27
JP2010250791A (ja) 2010-11-04

Similar Documents

Publication Publication Date Title
EP2144420B1 (en) Web application security filtering
CN107209830B (zh) 用于识别并抵抗网络攻击的方法
US8667294B2 (en) Apparatus and method for preventing falsification of client screen
Jovanovic et al. Preventing cross site request forgery attacks
Li et al. Security issues in OAuth 2.0 SSO implementations
US8332627B1 (en) Mutual authentication
US9294479B1 (en) Client-side authentication
US20100100928A1 (en) Secure network computing
CA2762706A1 (en) Method and system for securing communication sessions
CN108259619B (zh) 网络请求防护方法及网络通信系统
CN102073822A (zh) 防止用户信息泄漏的方法及系统
EP3476077B1 (en) Password generation device and password verification device
CN110995672A (zh) 一种用于软件开发的网络安全认证方法
US8566589B1 (en) Method and apparatus for identifying a web server
US7974956B2 (en) Authenticating a site while protecting against security holes by handling common web server configurations
KR101061255B1 (ko) 웹 서버와 클라이언트 간의 통신을 감시하는 웹 보안 관리 장치 및 방법
KR101452299B1 (ko) 무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버
US20160366172A1 (en) Prevention of cross site request forgery attacks
KR102449282B1 (ko) 웹사이트 보안강화를 위한 사이트 복제 장치
CN114760078B (zh) 一种防止恶意篡改页面请求参数的方法和系统
CN101222481B (zh) 一种安全提交用户信息的方法和客户端
CN103581121B (zh) 一种web应用的登录认证方法及系统
CN118202350A (zh) 检测并防止跨站点请求伪造缓解特征的不一致使用
Gao et al. A research of security in website account binding
Lincke Understanding Software Threats and Vulnerabilities

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160823

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170804

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190826

Year of fee payment: 9