KR100824789B1 - 웹서버의 업로드 파일의 검증 방법 및 그 장치 - Google Patents

웹서버의 업로드 파일의 검증 방법 및 그 장치 Download PDF

Info

Publication number
KR100824789B1
KR100824789B1 KR1020060057353A KR20060057353A KR100824789B1 KR 100824789 B1 KR100824789 B1 KR 100824789B1 KR 1020060057353 A KR1020060057353 A KR 1020060057353A KR 20060057353 A KR20060057353 A KR 20060057353A KR 100824789 B1 KR100824789 B1 KR 100824789B1
Authority
KR
South Korea
Prior art keywords
file
user
user computer
web server
receiving
Prior art date
Application number
KR1020060057353A
Other languages
English (en)
Other versions
KR20080000085A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=39212448&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR100824789(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by (주)트리니티소프트 filed Critical (주)트리니티소프트
Priority to KR1020060057353A priority Critical patent/KR100824789B1/ko
Publication of KR20080000085A publication Critical patent/KR20080000085A/ko
Application granted granted Critical
Publication of KR100824789B1 publication Critical patent/KR100824789B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 웹서버의 업로드 파일의 검증 방법 및 그 장치에 관한 것이다. 본 발명에 따른 웹서버의 업로드 파일의 검증 방법은 (a) 인터넷을 포함하는 통신망을 통하여 사용자 컴퓨터로부터 접속을 받는 단계, (b) 상기 사용자 컴퓨터로부터 상기 사용자의 회원 아이디 및 패스워드를 제공받아, 미리 저장되어 있는 회원 아이디 및 패스워드 정보를 기초로 상기 사용자를 인증하는 단계, (c) 상기 인증결과 상기 사용자가 미리 등록되어 있는 정당한 사용자인 경우 상기 사용자 컴퓨터로부터 소정의 파일 및 상기 파일이 저장되어야 할 폴더 정보를 전송받아, 이를 임시 저장소에 임시 저장하는 단계, (d) 상기 파일의 보안 취약성을 분석하는 단계 및 (e) 상기 분석결과 상기 업로드 된 파일에 보안 취약성이 없는 경우 상기 폴더 정보에 대응되는 폴더로 상기 파일을 이동하여 저장하는 단계를 포함하는 것을 특징으로 한다. 본 발명에 따르면 웹 서버에 개발자(사용자)들이 업로드 하는 웹 애플리케이션(cgi, asp, jsp, php, perl, python, etc.) 파일들에 대하여, 소스 레벨에서 취약성을 분석하여 서비스 적합 여부를 판단함으로써 개발자들에 의해서 발생할 수 있는 웹 애플리케이션 취약성을 근본적으로 예방할 수 있는 장점이 있다.

Description

웹서버의 업로드 파일의 검증 방법 및 그 장치{Inspection Method for uploaded file of Web server}
도 1은 본 발명이 적용되는 전체 시스템의 구성도이다.
도 2는 본 발명이 적용된 웹 서버의 바람직한 실시예의 블록구성도이다.
도 3은 본 발명에 따라 업로드 파일을 검증하는 방법의 바람직한 실시예의 순서도이다.
본 발명은 웹서버의 업로드 파일의 검증 방법 및 그 장치에 관한 것이다.
최근 발생하는 인터넷 상의 침해 사고들을 살펴보면 웹 애플리케이션 취약성을 이용한 공격이 점점 늘어나고 있으며, 가트너의 발표 자료에 따르면 침해 사고 중 75%이상이 웹 애플리케이션 취약성을 이용한 공격이라고 한다. 웹 애플리케이션의 보안 취약성들은 웹 서버 자체의 취약한 부분도 있지만 웹 애플리케이션 개발 시 발생한 취약성들이 상당수 존재하며, 계속적으로 발생하는 것이 현실이다. 특히 웹 호스팅에 사용되는 웹서버의 경우와 같이 많은 사용자가 함께 사용하는 웹서버의 경우에는 웹 애플리케이션의 보안 취약성이 문제로 된다.
그러나 현재 이러한 웹 애플리케이션의 보안 취약성 발생을 근원적으로 막을 수 있는 방법이 제공되지 않아 문제이다.
본 발명이 이루고자 하는 기술적 과제는 웹서버의 업로드 파일의 검증 방법 및 그 장치를 제공하는데 있다.
상기 문제점을 해결하기 위한 본 발명에 따른 웹서버의 업로드 파일의 검증 방법은 (a) 인터넷을 포함하는 통신망을 통하여 사용자 컴퓨터로부터 접속을 받는 단계, (b) 상기 사용자 컴퓨터로부터 상기 사용자의 회원 아이디 및 패스워드를 제공받아, 미리 저장되어 있는 회원 아이디 및 패스워드 정보를 기초로 상기 사용자를 인증하는 단계, (c) 상기 인증결과 상기 사용자가 미리 등록되어 있는 정당한 사용자인 경우 상기 사용자 컴퓨터로부터 소정의 파일 및 상기 파일이 저장되어야 할 폴더 정보를 전송받아, 이를 임시 저장소에 임시 저장하는 단계, (d) 상기 파일의 보안 취약성을 분석하는 단계 및 (e) 상기 분석결과 상기 업로드 된 파일에 보안 취약성이 없는 경우 상기 폴더 정보에 대응되는 폴더로 상기 파일을 이동하여 저장하는 단계를 포함하는 것을 특징으로 한다.
또한 상기 웹서버의 업로드 파일의 검증 방법의 상기 (a) 단계는 미리 설정된 특정한 포트만을 통하여 상기 사용자 컴퓨터로부터 접속을 받는 것을 특징으로 할 수 있으며,
또한 상기 웹서버의 업로드 파일의 검증 방법의 상기 (d) 단계의 분석은 쿠 키(Cookie)변조 또는 쿠키 버퍼 오버플로우( Buffer Overflow)여부의 진단, 에이치티티피 메소드( HTTP Method)의 진단, 파라미터 변조 검사, 에스큐엘 인젝션( SQL Injection ) 검사 중 어느 하나 이상을 포함하는 것을 특징으로 할 수 있다.
또한 웹서버의 업로드 파일의 검증 방법은 (f) 상기 업로드 된 파일의 분석결과를 저장하고, 상기 사용자 컴퓨터로부터 분석결과 제공요청이 있는 경우 상기 분석결과를 상기 사용자 컴퓨터로 전송하는 단계를 더 포함하는 것을 특징으로 할 수도 있다.
상기 문제점을 해결하기 위한 본 발명에 따른 웹서버의 업로드 파일의 검증 장치는 인터넷을 포함하는 통신망을 통하여 사용자 컴퓨터로부터 접속을 받고, 상기 사용자 컴퓨터로부터 상기 사용자의 회원 아이디 및 패스워드를 제공받아 미리 저장되어 있는 회원 아이디 및 패스워드 정보를 기초로 상기 사용자를 인증하며, 상기 인증결과 상기 사용자가 미리 등록되어 있는 정당한 사용자인 경우 상기 사용자 컴퓨터로부터 소정의 파일 및 상기 파일이 저장되어야 할 폴더 정보를 전송받아, 이를 임시 저장소에 임시 저장하는 업로드 파일 수신부 및 상기 업로드 된 파일의 보안 취약성을 분석하고, 상기 분석결과 파일에 보안 취약성이 없는 경우 상기 폴더 정보에 대응되는 폴더로 상기 파일을 이동하여 저장하는 업로드 파일 분석부를 포함하는 것을 특징으로 한다.
이하에서는 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.
도 1은 본 발명이 적용되는 전체 시스템의 구성도이다.
참조번호 101은 사용자 컴퓨터를 의미하는 것으로, 업로드 되는 파일을 작성하는 사용자가 사용하는 컴퓨터이다. 위 업로드 되는 파일이란 대표적으로는 웹 애플리케이션 프로그램 파일이 될 수 있다.
참조번호 102는 웹서버를 의미하는 것으로, 위 사용자가 작성한 웹 애플리케이션 프로그램이 업로드 되어 인터넷을 통하여 위 웹 애플리케이션 프로그램에서 구현된 기능을 제공하는 서버를 의미한다.
도 2는 본 발명이 적용된 웹 서버의 바람직한 실시예의 블록구성도이다. 본 발명에 따른 웹서버의 업로드 파일의 검증 장치는 업로드 파일 수신부(201), 업로드 파일 분석부(202)를 포함하며, 분석결과 제공부(203)를 더 포함될 수 있다.
업로드 파일 수신부(201)는 사용자 컴퓨터( 도 1의 101 참조 )로부터 인터넷 등의 통신망을 통하여 접속 받고, 위 사용자 컴퓨터로부터 위 사용자의 아이디 및 패스워드를 제공받아 회원 DB에 미리 저장되어 있는 아이디 및 패스워드를 기초로 위 사용자가 정당한 사용자인지 여부를 검증한다. 그 후 위 사용자가 정당한 사용자인 경우 위 사용자 컴퓨터로부터 소정의 파일 및 위 사용자가 위 업로드 된 파일을 저장하고자 하는 폴더 정보를 전송받아 이를 임시 저장소( 업로드 파일 임시 저장부 )에 저장한다.
한편 위 업로드 파일 수신부(201)는 미리 설정된 특정한 포트만을 이용하여 위 사용자 컴퓨터로부터 접속을 받을 수 있다.
업로드 파일 분석부(202)는 위 업로드 된 파일을 분석하여 보안상 취약점이 있는지 여부를 검사한다. 보안상 취약점의 분석은 종래에 알려진 모든 방법이 적용 될 수 있는데 그 예를 들면, 웹 애플리케이션에서 사용하는 쿠키 변조 가능성 여부의 검사, 에스큐엘 인젝션 공격 가능성 여부의 검사( SQL Injection ), 각종 파라미터 값의 변조 가능성 여부의 검사, 에이치티티피 메소드( HTTP Method) 설정치 변경 및 삭제 가능성 여부의 검사, 세션 하이재킹(Session Hijacking) 가능성 여부의 검사 등이 포함될 수 있다. 이러한 분석방법은 종래에 알려진 것으로 본 명세서에서는 이에 대하여 더 이상의 자세한 설명은 생략토록 한다.
그 후 업로드 파일 분석부(202)는 분석결과를 저장하고, 위 분석결과 이상이 없으면 위 업로드 파일을 임시 저장소에서 위 폴더로 이동하여 저장한다.
분석결과 제공부(203)는 위 사용자등의 분석결과 제공요청이 있는 경우 그에 응하여 위 분석결과 정보를 제공하는 기능을 수행한다. 여기서 분석결과 정보란 위 업로드 된 파일에 보안 취약성이 있는지 여부, 보안 취약성이 있으면 어떤 종류의 취약성이 있으며, 어느 위치에 보안 취약성이 있는지 등의 정보를 포함한다.
그 외 웹서버에는 웹서비스 제공부(204)가 있을 수 있는데, 위 웹서비스 제공부(204)는 위 업로드 된 파일( 웹 애플리케이션 파일 )에 구현된 기능을 인터넷을 통하여 제공하는 기능을 수행한다.
지금까지 설명한 웹서버의 업로드 파일 검증 장치는 웹서버와 일체로 구현될 수도 있으며, 웹서버와는 별도의 서버(컴퓨터)에 구현될 수도 있다.
도 3은 본 발명에 따라 업로드 파일을 검증하는 방법의 바람직한 실시예의 순서도이다.
먼저 미리 설정된 특정한 포트를 통하여 사용자로부터 접속을 받는다(301). 그 후 미리 저장된 회원정보를 기초로 접속한 사용자를 인증(302)하고, 위 인증결과 위 사용자가 정당한 사용자인지 판단(303)하여 정당한 사용자인 경우 사용자로부터 소정의 파일( 웹 애플리케이션 파일 )을 전송받는다(304). 그 후 위 전송받은 파일을 임시 저장소에 저장(305)한다.
그 후 전송받은 웹 애플리케이션 파일의 보안 취약성을 분석(306)하여 보안 취약성이 존재하는지 여부를 판단(307)하고, 보안 취약성이 존재하지 않는 경우 전송 받은 파일을 상기 사용자가 요청한 폴더에 이동하여 저장(308)하고, 위 분석결과 정보를 저장(309)한다.
그 후 사용자 컴퓨터로부터 분석결과 제공요청이 있으면, 상기 분석결과정보를 상기 사용자 컴퓨터에 제공(310)한다.
위 303 단계에서 정당한 사용자가 아닌 경우 위 사용자 컴퓨터와의 접속을 차단(311)하고 위 301 단계로 이동하며,
위 307 단계에서 위 업로드 된 파일에 보안 취약성이 존재하는 경우에는 임시 저장된 파일을 삭제하고, 309 단계로 이동한다.
여기서 위 301 단계, 310 단계는 생략이 가능한 부가적인 단계이다.
지금까지 본 발명에 따른 바람직한 실시예를 상세히 살펴보았다. 본 발명의 범위는 위에서 예시한 실시예에 한정되지 않으며 본 발명의 기술적 사상이 적용된 경우라면 모두 본 발명의 범위에 속한다고 할 것이다.
한편, 본 발명에 따른 방법들은 컴퓨터로 실행시킬 수 있는 컴퓨터프로그램으로 제작하는 것이 가능하며, 상기 컴퓨터프로그램은 컴퓨터로 읽을 수 있는 기록매 체( CD, 하드 및 플로피 디스크, 각종 메모리 장치 등 )에 기록되는 것이 가능하다.
본 발명에 따르면 웹 서버에 개발자(사용자)들이 업로드 하는 웹 애플리케이션(cgi, asp, jsp, php, perl, python, etc.) 파일들에 대하여, 소스 레벨에서 취약성을 분석하여 서비스 적합 여부를 판단함으로써 개발자들에 의해서 발생할 수 있는 웹 애플리케이션 취약성을 근본적으로 예방할 수 있는 장점이 있다.

Claims (6)

  1. (a) 인터넷을 포함하는 통신망을 통하여 사용자 컴퓨터로부터 접속을 받는 단계;
    (b) 상기 사용자 컴퓨터로부터 상기 사용자의 회원 아이디 및 패스워드를 제공받아, 미리 저장되어 있는 회원 아이디 및 패스워드 정보를 기초로 상기 사용자를 인증하는 단계;
    (c) 상기 인증결과 상기 사용자가 미리 등록되어 있는 정당한 사용자인 경우 상기 사용자 컴퓨터로부터 소정의 파일 및 상기 파일이 저장되어야 할 폴더 정보를 전송받아, 이를 임시 저장소에 임시 저장하는 단계;
    (d) 상기 파일의 보안 취약성을 분석하는 단계; 및
    (e) 상기 분석결과 상기 업로드 된 파일에 보안 취약성이 없는 경우 상기 폴더 정보에 대응되는 폴더로 상기 파일을 이동하여 저장하는 단계를 포함하는 것을 특징으로 하는 웹서버의 업로드 파일의 검증 방법.
  2. 제 1 항에 있어서, 상기 (a) 단계는
    미리 설정된 특정한 포트만을 통하여 상기 사용자 컴퓨터로부터 접속을 받는 것을 특징으로 하는 웹서버의 업로드 파일의 검증 방법.
  3. 제 1 항에 있어서, 상기 (d) 단계의 분석은
    쿠키(Cookie)변조 또는 쿠키 버퍼 오버플로우( Buffer Overflow)여부의 진단, 에이치티티피 메소드( HTTP Method)의 진단, 파라미터 변조 검사, 에스큐엘 인젝션( SQL Injection ) 검사 중 어느 하나 이상을 포함하는 것을 특징으로 하는 웹서버의 업로드 파일의 검증 방법.
  4. 제 1 항에 있어서,
    (f) 상기 업로드 된 파일의 분석결과를 저장하고, 상기 사용자 컴퓨터로부터 분석결과 제공요청이 있는 경우 상기 분석결과를 상기 사용자 컴퓨터로 전송하는 단계를 더 포함하는 것을 특징으로 하는 웹서버의 업로드 파일의 검증방법.
  5. 제 1 항 내지 제 4 항의 방법 중 어느 한 항의 방법을 컴퓨터로 실행시킬 수 있는 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  6. 인터넷을 포함하는 통신망을 통하여 사용자 컴퓨터로부터 접속을 받고, 상기 사용자 컴퓨터로부터 상기 사용자의 회원 아이디 및 패스워드를 제공받아 미리 저장되어 있는 회원 아이디 및 패스워드 정보를 기초로 상기 사용자를 인증하며, 상기 인증결과 상기 사용자가 미리 등록되어 있는 정당한 사용자인 경우 상기 사용자 컴퓨터로부터 소정의 파일 및 상기 파일이 저장되어야 할 폴더 정보를 전송받아, 이를 임시 저장소에 임시 저장하는 업로드 파일 수신부; 및
    상기 업로드 된 파일의 보안 취약성을 분석하고, 상기 분석결과 파일에 보안 취약성이 없는 경우 상기 폴더 정보에 대응되는 폴더로 상기 파일을 이동하여 저장하는 업로드 파일 분석부를 포함하는 것을 특징으로 하는 웹서버의 업로드 파일의 검증 장치.
KR1020060057353A 2006-06-26 2006-06-26 웹서버의 업로드 파일의 검증 방법 및 그 장치 KR100824789B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060057353A KR100824789B1 (ko) 2006-06-26 2006-06-26 웹서버의 업로드 파일의 검증 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060057353A KR100824789B1 (ko) 2006-06-26 2006-06-26 웹서버의 업로드 파일의 검증 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20080000085A KR20080000085A (ko) 2008-01-02
KR100824789B1 true KR100824789B1 (ko) 2008-04-23

Family

ID=39212448

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060057353A KR100824789B1 (ko) 2006-06-26 2006-06-26 웹서버의 업로드 파일의 검증 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100824789B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101458820B1 (ko) * 2013-10-15 2014-11-07 순천향대학교 산학협력단 공공 클라우드 환경에서의 안전한 데이터 관리 시스템 및 기법
CN107800718A (zh) * 2017-11-29 2018-03-13 中科信息安全共性技术国家工程研究中心有限公司 一种文件上传漏洞的预警方法装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060131431A (ko) * 2005-06-16 2006-12-20 김학병 기밀정보의 유출을 방지하는 네트워크 디바이스 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060131431A (ko) * 2005-06-16 2006-12-20 김학병 기밀정보의 유출을 방지하는 네트워크 디바이스 및 그 방법

Also Published As

Publication number Publication date
KR20080000085A (ko) 2008-01-02

Similar Documents

Publication Publication Date Title
US8141138B2 (en) Auditing correlated events using a secure web single sign-on login
US9348991B2 (en) User management of authentication tokens
CN110213215B (zh) 一种资源访问方法、装置、终端和存储介质
US20180218145A1 (en) Systems and methods for access control to web applications and identification of web browsers
CN107211016B (zh) 会话安全划分和应用程序剖析器
US9112828B2 (en) Method for defending against session hijacking attacks and firewall
US8266676B2 (en) Method to verify the integrity of components on a trusted platform using integrity database services
US9876804B2 (en) Method and system for detecting unauthorized access to and use of network resources
JP5802848B2 (ja) モバイル環境用のトロイの木馬化されたアプリケーション(アプリ)を特定するためのコンピュータ実装方法、非一時コンピュータ読み取り可能な媒体およびコンピュータシステム
US10362019B2 (en) Managing security credentials
KR101569753B1 (ko) 보안 로그인 시스템, 방법 및 장치
US9767262B1 (en) Managing security credentials
CN114598540A (zh) 访问控制系统、方法、装置及存储介质
US11444936B2 (en) Managing security credentials
JP2007529056A5 (ko)
US9461986B2 (en) Single sign-on for disparate servers
CN116319024B (zh) 零信任系统的访问控制方法、装置及零信任系统
KR20150026587A (ko) 신규 기기로부터의 로그인 알림 기능 제공 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
RU2601147C2 (ru) Система и способ выявления целевых атак
CN114065162A (zh) 业务系统的风险管控方法、装置和计算可读存储介质
KR102336605B1 (ko) 악성 트래픽 검출 방법 및 그 장치
Tayouri et al. White Paper-Cybersecurity in Agile Cloud Computing--Cybersecurity Guidelines for Cloud Access
CN110301127B (zh) 用于预测性令牌验证的装置和方法
KR100824789B1 (ko) 웹서버의 업로드 파일의 검증 방법 및 그 장치
KR101775517B1 (ko) 빅데이터 보안 점검 클라이언트, 빅데이터 보안 점검 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
J206 Request for trial to confirm the scope of a patent right
J204 Invalidation trial for patent
J301 Trial decision

Free format text: TRIAL DECISION FOR CONFIRMATION OF THE SCOPE OF RIGHT_AFFIRMATIVE REQUESTED 20110801

Effective date: 20120319

J206 Request for trial to confirm the scope of a patent right
J301 Trial decision

Free format text: TRIAL DECISION FOR INVALIDATION REQUESTED 20111122

Effective date: 20130227

Free format text: TRIAL DECISION FOR CONFIRMATION OF THE SCOPE OF RIGHT_AFFIRMATIVE REQUESTED 20120503

Effective date: 20130227

J121 Written withdrawal of request for trial
J121 Written withdrawal of request for trial
FPAY Annual fee payment

Payment date: 20140210

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180410

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 12