KR20080004904A - Real-time web intigrity verification system - Google Patents

Real-time web intigrity verification system Download PDF

Info

Publication number
KR20080004904A
KR20080004904A KR1020060063820A KR20060063820A KR20080004904A KR 20080004904 A KR20080004904 A KR 20080004904A KR 1020060063820 A KR1020060063820 A KR 1020060063820A KR 20060063820 A KR20060063820 A KR 20060063820A KR 20080004904 A KR20080004904 A KR 20080004904A
Authority
KR
South Korea
Prior art keywords
integrity
data
web
verifying
real
Prior art date
Application number
KR1020060063820A
Other languages
Korean (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 KR1020060063820A priority Critical patent/KR20080004904A/en
Publication of KR20080004904A publication Critical patent/KR20080004904A/en

Links

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A system for verifying web integrity in real-time is provided to defend a direct homepage attack deleting or altering data of a web server, or changing a link of a webpage by constructing a robust security service added to a usual security system such as a firewall and an SSL(Secure Socket Layer)/TLS(Transport Layer Security). A real-time web integrity verifying system is implemented based on an Open SSL, and an integrity data generating module and an integrity verifying module using an SHA(Secure Hash Algorithm)-1 and an N-gram based indexing technique are linked with a squid proxy server and an Apache web server. The system includes an integrity data database for verifying the integrity and a raw data database for restoring raw data. The Apache web server is linked with the integrity data generating module and the squid proxy server is linked with the integrity verifying module. The integrity data generating module generates integrity data for all data used in the web server and stores the integrity data to the integrity data database. The integrity verifying module verifies the integrity of the raw data by loading the raw data and the integrity data from each database when a user requests the web service.

Description

실시간 웹 무결성 검증 시스템{Real-time Web Intigrity Verification System}Real-time Web Intigrity Verification System

1. Proxy ServerProxy Server

워크스테이션 혹은 PC 사용자와 인터넷의 사이에서 중개 역할을 수행하는 서버로서, 그 기관의 보안 및 관리 제어와 캐시(cache) 서비스를 가능하게 한다. 프록시 서버가 사용자로부터 Web 페이지 요청과 같은 인터넷 서비스 요청을 받으면, 하나의 캐시 서버로서 이전에 다운 로드된 Web 페이지들의 로컬 캐시를 탐색한다. 만일 요청한 페이지가 발견되면, 인터넷에 요청을 내보낼 필요 없이 그 페이지를 사용자에게 제공한다. 만일 그 페이지가 캐시에 없으면, 프록시 서버는 요청한 사용자를 대신해서 하나의 클라이언트(client)로써 자신의 IP 주소들 중의 하나를 사용해서 인터넷상의 서버에 그 페이지를 요청한다. 요청한 페이지가 수신되면, 프록시 서버는 이것을 원래의 요청으로 연관시켜 사용자에게 전송하게 된다.A server that acts as an intermediary between a workstation or PC user and the Internet, enabling the organization's security and administrative control and cache services. When a proxy server receives an Internet service request from a user, such as a web page request, it searches the local cache of previously downloaded web pages as a cache server. If the requested page is found, the page is presented to the user without the need to send a request to the Internet. If the page is not in the cache, the proxy server requests the page from a server on the Internet using one of its IP addresses as a client on behalf of the requesting user. When the requested page is received, the proxy server associates it with the original request and sends it to the user.

본 논문에서 제안하는 실시간 웹 무결성 검증 시스템 설계 시 빠른 인터넷 서비스를 위해 가장 많이 사용하는 스퀴드 프록시 서버를 사용하며, 프록시 서버에서 무결성 데이터를 검증함으로서 이미 검증한 웹 페이지에 대해서는 요청 시 바로 사용자에게 제공하여 프록시 서버의 사용 이점을 최대한으로 이용하였다. 또한, 프록시 서버를 역방향으로 설계하여 데이터 변조 시 원본 데이터를 제공하는 웹 서버를 방화벽 내부에 두어 더욱 안전한 보안 시스템을 구성토록 하였다.When designing the real-time web integrity verification system proposed in this paper, we use the squid proxy server which is used most often for fast internet service, and by verifying the integrity data in the proxy server, the web page that has already been verified is provided to the user upon request. We took full advantage of the use of a proxy server. In addition, the proxy server is designed in the reverse direction, so that a web server that provides the original data when data is tampered with is placed inside a firewall to form a more secure security system.

Figure 112006048781727-PAT00001
Figure 112006048781727-PAT00001

역방향 프록시 서버 구성도                    Reverse Proxy Server Diagram

2. 2. SHASHA -1 -One

SHA-1(Secure Hash Algorithm-1)는 1993년 NIST에서 설계한 SHA의 취약부분을 수정하여 개발된 SHA의 새로운 버전이다. SHA-1은 MD4에 기반한 160비트의 해쉬 함수로, MD4라는 공통된 기반을 가지고 있기 때문에 많은 부분이 MD5와 비슷하다. SHA-1은 5개의 32비트 워드로 구성된 160비트 상태(state)를 가지고 있고, MD5와 같이 32비트 워드를 섞는 4개의 라운드를 가지고 있으며, 각각의 메시지 블록을 4번 이용하는 대신, SHA-1은 메시지 블록의 16워드를 필요로 하는 80워드로 확장(stretch)하기 위해서 선형 재귀(linear recurrence)를 이용한다. SHA-1에서 이 용되는 선형 재귀가 각 메시지 비트가 적어도 12번 혼합 함수에서 사용될 수 있도록 보장함으로서, 충돌 범위는 단계로 늘릴 수 있다. SHA-1은 MD5와 비교하여 속도는 2~3배 정도 속도가 느리지만, 그만큼 더 안전하다는 평가 속에 널리 이용되고 있다. 본 논문에서 SHA-1은 HTML 문서나 이미지, 그리고 각 웹 스크립트 파일 같은 각 웹 서비스 데이터에 대한 무결성 데이터를 생성하고 검증하는데 이용된다.Secure Hash Algorithm-1 (SHA-1) is a new version of SHA that was developed by modifying the weaknesses of SHA designed by NIST in 1993. SHA-1 is a 160-bit hash function based on MD4, and much of it is similar to MD5 because it has a common base of MD4. SHA-1 has a 160-bit state consisting of five 32-bit words, four rounds of 32-bit words, such as MD5, and instead of using each message block four times, SHA-1 Linear recurrence is used to stretch the 16 blocks of the message block to 80 words. The linear recursion used in SHA-1 ensures that each message bit can be used in at least 12 blending functions, thereby increasing the collision range in steps. SHA-1 is two to three times slower than MD5, but is widely used in the assessment that it is safer. In this paper, SHA-1 is used to generate and verify integrity data for each web service data such as HTML documents, images, and each web script file.

3. N-gram3. N-gram

문장·음성의 인식이나 이해를 하려면 문법 처리가 필요하다. 그런데 자연 언어(한국어, 영어 등)의 문법은 매우 복잡하기 때문에 인간의 발화(發話)는 정규 문법에 따르지 않는 경우가 많다. 종래의 문장 인식에서는 음소·단어 인식을 한 후에 규칙에 따라 기술된 문법 처리를 적용하고 최후에 오류를 수정하는 방법이 주류였으나, 최근에는 단어열을 확률적으로 취급하는 언어 모델이 성행되어 연구, 실용화되고 있다. N-gram은 이와 같은 확률적 언어 모델의 대표적인 것으로서, n개 단어의 연쇄를 확률적으로 표현해 두면 실제로 발성된 문장의 기록을 계산할 수 있다.Grammar processing is required to recognize and understand sentences and voices. However, since the grammar of natural language (Korean, English, etc.) is very complicated, human speech does not always follow the regular grammar. In the conventional sentence recognition, after the phoneme and word recognition, the grammar processing described according to the rules is applied and the error correction method is finally used. It is put to practical use. N-gram is a representative of such a stochastic language model. When a chain of n words is represented probabilistically, a record of a spoken sentence can be calculated.

N-gram은 HTML 문서에 대해 더욱 정확한 무결성 검증을 위해 사용된다. 예를 들어 웹 페이지에 대해 문서의 위치가 바뀌어도 문제가 없는 경우에 대해 SHA-1의 해쉬 값을 통한 무결성 검증시 데이터 변조에 의한 오류가 발생하였다고 검증하게 된다. 이러한 HTML 문서의 경우는 N-gram으로 추출한 결과값으로 무결성을 한번 더 검증함으로서 해쉬값으로 무결성 검증 오류 시에도 올바른 웹 데이터로 판정하여 부정확한 무결성 검증에 대한 문제를 방지할 수 있다. N-grams are used for more accurate integrity verification of HTML documents. For example, if there is no problem even if the position of the document is changed with respect to the web page, it is verified that an error due to data tampering occurs during integrity verification through the hash value of SHA-1. In the case of such HTML documents, the integrity value is verified once more with the N-gram extracted result, so that even if the integrity verification error is a hash value, the correct web data can be determined to prevent the problem of incorrect integrity verification.

실시간 웹 무결성 검증 시스템은 방화벽, SSL/TLS 등 기존의 보안 시스템에 추가되어 사용자에게 좀 더 안전한 웹 서비스를 제공하기 위한 목적으로 설계되었다. 이 시스템은 사용자에게 웹 서비스를 제공하기 전에 요청한 웹 페이지에 대한 데이터의 무결성을 검증하여, XSS 취약점 공격, SQL 삽입(injection) 공격, 파일 업로드 취약점 공격 등의 직접적인 홈페이지 변조 공격에 대비하고 있다. 만약, 해킹에 의해 웹 서비스 데이터가 변조되어 무결성 검증 시 오류가 나타나면 웹 서버를 통해 원본 데이터를 가져와 사용자에게 항시 문제없는 웹 서비스를 제공하게 된다. 실시간 웹 무결성 검증 시스템은 프록시 서버와 웹 서버에서 SHA-1과 N-gram 기반 색인 기법을 이용하여 무결성 데이터를 생성하고 검증하게 된다.Real-time web integrity verification system is designed to provide more secure web services to users by adding to existing security systems such as firewall and SSL / TLS. The system verifies the integrity of the data for the requested web page before providing the web service to the user, preparing for direct homepage tampering attacks such as XSS vulnerability attacks, SQL injection attacks, and file upload vulnerability attacks. If the web service data is tampered with by hacking and an error occurs during the integrity verification, the original data is retrieved from the web server to provide the user with a web service at all times. Real-time web integrity verification system uses SHA-1 and N-gram based indexing techniques to generate and verify integrity data in proxy server and web server.

기본적으로 실시간 웹 무결성 검증 시스템은 Open SSL 기반으로 구현하였으며, 스퀴드 프록시 서버와 아파치 웹서버에 SHA-1와 N-gram 기반 색인 기법을 이용한 생성 및 검증 모듈을 연동하였다. DB는 MySQL을 이용하여 무결성 검증을 위한 무결성 데이터 DB와 원본 데이터 복구를 위한 원본 데이터 DB를 각각 구성하였다. 기본적으로 SSL 및 방화벽의 보안 시스템을 구성하여 홈페이지 변조 공격 외 다른 해킹 공격 역시도 방어할 수 있도록 하였다. Basically, the real-time web integrity verification system is implemented based on Open SSL, and the generation and verification module using SHA-1 and N-gram-based indexing technique is integrated with Squid proxy server and Apache web server. The database is composed of the integrity data DB for integrity verification and the original data DB for original data recovery using MySQL. Basically, the security system of SSL and firewall is configured to prevent other hacking attacks in addition to homepage tampering attacks.

실시간 웹 무결성 검증 시스템은 프록시 서버와 아파치 웹 서버의 연동 보안 기술로, 아파치 웹 서버에는 무결성 데이터 생성 모듈, 스퀴드 프록시 서버에는 무결성 검증 모듈이 각각 연동된다. 무결성 데이터 생성 모듈은 웹 서비스에 이용되는 모든 데이터에 대한 무결성 데이터를 생성하여 DB에 저장하게 되며, 무결성 검증 모듈은 사용자가 웹 서비스 요청 시 원본 데이터와 무결성 데이터를 DB에서 가져와 원본데이터에 대한 무결성을 검증한다.The real-time web integrity verification system is an interworking security technology between a proxy server and an Apache web server. An integrity data generation module is linked to an Apache web server, and an integrity verification module is linked to a squid proxy server. Integrity data generation module generates integrity data of all data used for web service and saves it in DB. Integrity verification module imports original data and integrity data from DB when user requests web service and checks integrity of original data. Verify.

Figure 112006048781727-PAT00002
Figure 112006048781727-PAT00002

실시간 웹 무결성 검증 시스템 모듈의 구성도            Diagram of Real-time Web Integrity Verification System Module

1. 무결성 데이터 생성 모듈1. Integrity data generation module

아파치 웹 서버에 연동된 무결성 데이터 생성 모듈은 SHA-1과 N-gram을 이용 하여 해쉬값으로 무결성 데이터를 생성한다. 이미지, 그리고 PHP나 JSP의 웹 스크립트 파일 등은 DB에 있는 원본 데이터를 이용하여 무결성 데이터를 생성, DB에 저장하게 된다. 또한 HTML 문서는 해쉬 값만이 아닌 N-gram을 통해 각 명령어를 추출한 무결성 데이터를 하나 더 만들어 DB에 저장한다. 웹 페이지 업데이트 실시간으로 웹 파일에 대한 무결성 데이터를 바로 생성함으로서 사용자가 원하는 웹 서비스 이용 시 즉각적으로 무결성 검증을 할 수 있도록 한다.The integrity data generation module linked to the Apache web server generates the integrity data as a hash value using SHA-1 and N-gram. Images and web script files of PHP or JSP generate integrity data using the original data in DB and store it in DB. Also, HTML document creates one more integrity data extracted from each command through N-gram, not just hash value, and stores it in DB. Web page update Instantly generate integrity data on web files in real time so that users can immediately verify integrity when using web services.

2. 무결성 검증 모듈2. Integrity Verification Module

스퀴드 프록시 서버에 연동된 무결성 검증 모듈은 원본 데이터와 무결성 데이터를 비교하여 데이터의 무결성을 검증한다. HTML 문서는 해쉬 값과 N-gram 추출 데이터를 이용하여 무결성을 검증하고, 각 웹 페이지에 맞는 이미지 및 웹 스크립트 파일의 원본 데이터와 무결성 데이터를 DB에서 가져와 무결성을 검증한다. 데이터에 이상이 없을 시는 바로 사용자에게 웹 서비스를 제공하며, 데이터가 변조되었다고 판단 시는 웹 서비스에 연결된 원본 데이터 DB를 통해 가져온 원본 데이터로 복구하여 사용자에게 안전한 웹 서비스를 제공하게 된다.The integrity verification module linked to the Squid Proxy Server verifies the integrity of the data by comparing the original data with the integrity data. HTML document verifies integrity by using hash value and N-gram extracted data and verifies integrity by importing original data and integrity data of image and web script file suitable for each web page from DB. If there is no abnormality in the data, the web service is provided to the user immediately. If it is determined that the data has been tampered with, the secured web service is provided to the user by recovering the original data obtained through the original data DB connected to the web service.

방화벽, SSL/TLS 등 기존의 보안 시스템에 실시간 웹 무결성 검증 시스템을 포함해 더욱 더 강건한 보안 서비스를 구축함으로서 정부기관이나 기업들의 웹 서버 데이터를 삭제, 또는 변조하거나 웹 페이지의 링크를 바꾸는 등 홈페이지에 대 한 직접적인 공격을 방어할 수 있다. 아울러 OSGi를 이용한 웹 기반 무결성 홈네트워크 보안 서비스를 구축하여 사용자에게 집안의 상태 정보 등을 안전하게 서비스함으로서 더욱 안전한 홈네트워크 보안기술 개발에 도움이 될 것이라 생각한다.By building a more robust security service, including real-time web integrity verification system in existing security systems such as firewalls, SSL / TLS, etc., you can delete or alter web server data of government agencies or corporations, or change links on web pages. You can defend against direct attacks. In addition, I believe that it will help to develop more secure home network security technology by constructing web-based integrity home network security service using OSGi to securely service user's status information.

Claims (1)

안전성 있는 인터넷 서비스를 구성하기 위한 하나의 일환으로, 사용자에게 안전한 웹 서비스 제공을 위한 실시간 웹 무결성 검증 시스템을 제안. 프록시 서버와 웹 서버의 연동 보안 기술로, 데이터 무결성 검증을 위한 SHA-1과 N-gram의 효율적인 hybrid 방식 기법을 이용한 이 시스템은 XSS 취약점 공격, SQL 삽입 공격, 파일 업로드 취약점 공격 등을 방어하고 정부기관 및 기업뿐만이 아닌 홈네트워크 환경에서도 안전한 보안 서비스를 제공.As part of constructing secure internet services, we propose a real-time web integrity verification system for providing secure web services to users. The interlocking security technology between proxy server and web server. Using efficient hybrid method of SHA-1 and N-gram for data integrity verification, this system defends against XSS vulnerability attack, SQL injection attack, file upload vulnerability, etc. Provides secure security services in home network environments as well as institutions and companies.
KR1020060063820A 2006-07-07 2006-07-07 Real-time web intigrity verification system KR20080004904A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060063820A KR20080004904A (en) 2006-07-07 2006-07-07 Real-time web intigrity verification system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060063820A KR20080004904A (en) 2006-07-07 2006-07-07 Real-time web intigrity verification system

Publications (1)

Publication Number Publication Date
KR20080004904A true KR20080004904A (en) 2008-01-10

Family

ID=39215485

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060063820A KR20080004904A (en) 2006-07-07 2006-07-07 Real-time web intigrity verification system

Country Status (1)

Country Link
KR (1) KR20080004904A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810178A (en) * 2012-11-07 2014-05-21 江苏仕德伟网络科技股份有限公司 Webpage integrity calculation method
KR20200114489A (en) 2019-03-28 2020-10-07 네이버비즈니스플랫폼 주식회사 Method, apparatus and computer program for processing URL collected in web site
KR20210076455A (en) 2019-12-16 2021-06-24 삼성에스디에스 주식회사 Method and apparatus for automated verifying of xss attack
KR20220042860A (en) 2020-09-28 2022-04-05 네이버클라우드 주식회사 Method, apparatus and computer program for diagnosing RFI(remote file inclusion) vulnerability

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810178A (en) * 2012-11-07 2014-05-21 江苏仕德伟网络科技股份有限公司 Webpage integrity calculation method
KR20200114489A (en) 2019-03-28 2020-10-07 네이버비즈니스플랫폼 주식회사 Method, apparatus and computer program for processing URL collected in web site
KR20210076455A (en) 2019-12-16 2021-06-24 삼성에스디에스 주식회사 Method and apparatus for automated verifying of xss attack
KR20220042860A (en) 2020-09-28 2022-04-05 네이버클라우드 주식회사 Method, apparatus and computer program for diagnosing RFI(remote file inclusion) vulnerability

Similar Documents

Publication Publication Date Title
CN109257340B (en) Website tamper-proof system and method based on block chain
KR102545407B1 (en) Distributed document and entity validation engine
JP6853364B2 (en) Systems and methods for implementing blockchain-based digital certificates
JP7235764B2 (en) Industrial data validation using a secure distributed ledger
US10291408B2 (en) Generation of Merkle trees as proof-of-work
US8560841B2 (en) Request authentication token
JP5867875B2 (en) Signature verification program
JP4949232B2 (en) Method and system for linking a certificate to a signed file
US10511628B1 (en) Detecting realtime phishing from a phished client or at a security server
JP2020517200A (en) Block chain-based document management method using UTXO-based protocol and document management server using this method
US20080091954A1 (en) Method and system for facilitating printed page authentication, unique code generation and content integrity verification of documents
CN111901337B (en) File uploading method, system and storage medium
CN111033506B (en) Editing script verification with matching and differencing operations
JP5121930B2 (en) How to provide a textual representation of cryptographic values
CN101465848A (en) Secure digital signature system
JP2020511018A (en) System and method for generating digital marks
WO2021021283A1 (en) Security certificate identity analysis
Jøsang et al. What you see is not always what you sign
US20210117404A1 (en) Offline verification with document filter
KR20080004904A (en) Real-time web intigrity verification system
CN111209029A (en) Code modification determination method and device, electronic equipment and storage medium
Boyar et al. Quotable signatures for authenticating shared quotes
US20220368533A1 (en) System and method to cryptographically validate rich query results
US20090044018A1 (en) Section Inclusion and Section Order Authentication Method for Computer Electronic Documents
EP3985918B1 (en) Method of verifying origin of a signed file

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Withdrawal due to no request for examination