KR101632929B1 - 단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법 - Google Patents

단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법 Download PDF

Info

Publication number
KR101632929B1
KR101632929B1 KR1020140072567A KR20140072567A KR101632929B1 KR 101632929 B1 KR101632929 B1 KR 101632929B1 KR 1020140072567 A KR1020140072567 A KR 1020140072567A KR 20140072567 A KR20140072567 A KR 20140072567A KR 101632929 B1 KR101632929 B1 KR 101632929B1
Authority
KR
South Korea
Prior art keywords
web page
script
terminal
server
random
Prior art date
Application number
KR1020140072567A
Other languages
English (en)
Other versions
KR20150144009A (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 KR1020140072567A priority Critical patent/KR101632929B1/ko
Publication of KR20150144009A publication Critical patent/KR20150144009A/ko
Application granted granted Critical
Publication of KR101632929B1 publication Critical patent/KR101632929B1/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

Landscapes

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

Abstract

단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 웹 페이지 위변조 검증 시스템은, 단말의 웹 페이지 요청에 따라 상기 웹 페이지의 위변조 여부를 검증하기 위한 노네임 스크립트(noname script)를 상기 웹 페이지에 추가하여 상기 단말로 송신하는 서버; 및 상기 노네임 스크립트를 실행하여 상기 웹 페이지를 구성하는 요소들 중 일부 요소를 추출하고, 추출한 상기 일부 요소의 위변조 여부를 탐지하는 단말을 포함한다.

Description

단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법{TERMINAL, SYSTEM AND METHOD FOR VERIFYING FALSIFICATION OF WEB PAGE USING THE SAME}
본 발명의 실시예들은 서버 측에서 제공하는 웹 페이지의 위변조 여부를 검증하기 위한 기술과 관련된다.
최근, 인터넷 사용이 급증하면서 단순한 정보의 제공뿐만 아니라 각종 금융 거래 등의 전자상거래 및 기업의 기밀에 관한 거래 등 보안 중요도가 높은 거래가 인터넷을 통하여 이루어지게 되었다.
단순한 텍스트 메시지, 멀티미디어 전송과 달리 개인 정보 또는 기업의 기밀 등과 같은 보안의 중요도가 높은 정보가 송수신 되는 경우, 이러한 정보의 보안 및 신뢰성을 확보하는 것은 무엇보다 중요하다. 특히, HTML 페이지 등의 웹 페이지는 사용자 내부의 악성 프로그램 등에 의하여 위변조되는 경우가 빈번히 발생하며, 최근 금감원 전자거래 감독 규정에 대한 변경이 이루어짐에 따라 HTML 데이터의 무결성에 대한 검증 방법이 필요하게 되었다.
대한민국 공개특허공보 제10-2009-0011738 호 (2009.02.02)
본 발명의 실시예들은 서버 측에서 제공하는 웹 페이지의 위변조 여부를 검증하여 보다 신뢰된 서비스를 제공하기 위한 것이다.
본 발명의 예시적인 실시예에 따르면, 단말의 웹 페이지 요청에 따라 상기 웹 페이지의 위변조 여부를 검증하기 위한 노네임 스크립트(noname script)를 상기 웹 페이지에 추가하여 상기 단말로 송신하는 서버; 및 상기 노네임 스크립트를 실행하여 상기 웹 페이지를 구성하는 요소들 중 일부 요소를 추출하고, 추출한 상기 일부 요소의 위변조 여부를 탐지하는 단말을 포함하는, 웹 페이지 위변조 검증 시스템이 제공된다.
상기 서버는, 상기 웹 페이지의 위변조 여부를 검증하기 위한 스크립트 내의 변수(variable), 함수(function), 또는 인자값(parameter)의 전체 또는 일부를 랜덤 길이의 랜덤 값(random value)으로 치환하거나 해당 스크립트의 전체 또는 일부의 배열 순서를 랜덤하게 배치함으로써 상기 노네임 스크립트를 매번 다르게 생성할 수 있다.
상기 일부 요소는, 상기 웹 페이지를 구성하는 HTML 요소, 상기 웹 페이지를 구성하는 스크립트의 변수, 함수 및 인자값 중 하나 이상을 포함할 수 있다.
상기 단말은, 상기 웹 페이지의 렌더링 완료 이후 기설정된 탐지 주기에 따라, 상기 웹 페이지의 렌더링 완료 이전에 추출한 상기 일부 요소와 상기 웹 페이지의 렌더링 완료 이후에 추출한 상기 일부 요소를 비교하여 상기 일부 요소의 위변조 여부를 탐지할 수 있다.
상기 노네임 스크립트는, 자기 자신을 랜덤 정규화함으로써 랜덤 정규화 스크립트를 생성하도록 구성될 수 있다.
상기 서버는, 상기 서버 측에서 생성된 상기 랜덤 정규화 스크립트의 제 1 해시값을 생성한 후 상기 제 1 해시값을 키(key)로 하여 상기 웹 페이지를 암호화하고, 상기 노네임 스크립트를 암호화된 상기 웹 페이지에 추가하여 상기 단말로 송신할 수 있다.
상기 단말은, 상기 단말 측에서 생성된 상기 랜덤 정규화 스크립트의 제 2 해시값을 생성한 후 상기 제 2 해시값을 키로 하여 상기 웹 페이지를 복호화할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 서버에서, 단말로부터 웹 페이지의 요청을 수신하는 단계; 상기 서버에서, 요청 받은 상기 웹 페이지의 위변조 여부를 검증하기 위한 노네임 스크립트(noname script)를 생성하는 단계; 상기 서버에서, 상기 노네임 스크립트를 상기 웹 페이지에 추가하여 상기 단말로 송신하는 단계; 상기 단말에서, 상기 노네임 스크립트를 실행하여 상기 웹 페이지를 구성하는 요소들 중 일부 요소를 추출하는 단계; 및 상기 단말에서, 추출한 상기 일부 요소의 위변조 여부를 탐지하는 단계를 포함하는, 웹 페이지 위변조 검증 방법이 제공된다.
상기 노네임 스크립트를 생성하는 단계는, 상기 서버에서, 상기 웹 페이지의 위변조 여부를 검증하기 위한 스크립트 내의 변수(variable), 함수(function), 또는 인자값(parameter)의 전체 또는 일부를 랜덤 길이의 랜덤 값(random value)으로 치환하거나 해당 스크립트의 전체 또는 일부의 배열 순서를 랜덤하게 배치함으로써 상기 노네임 스크립트를 매번 다르게 생성할 수 있다.
상기 일부 요소는, 상기 웹 페이지를 구성하는 HTML 요소, 상기 웹 페이지를 구성하는 스크립트의 변수, 함수 및 인자값 중 하나 이상을 포함할 수 있다.
상기 일부 요소의 위변조 여부를 탐지하는 단계는, 상기 단말에서, 상기 웹 페이지의 렌더링 완료 이후 기설정된 탐지 주기에 따라, 상기 웹 페이지의 렌더링 완료 이전에 추출한 상기 일부 요소와 상기 웹 페이지의 렌더링 완료 이후에 추출한 상기 일부 요소를 비교하여 상기 일부 요소의 위변조 여부를 탐지할 수 있다.
상기 노네임 스크립트는, 자기 자신을 랜덤 정규화함으로써 랜덤 정규화 스크립트를 생성하도록 구성될 수 있다.
상기 웹 페이지 위변조 검증 방법은, 상기 단말로부터 상기 웹 페이지의 요청을 수신하는 단계의 수행 이후, 상기 서버가, 상기 서버 측에서 생성된 상기 랜덤 정규화 스크립트의 제 1 해시값을 생성하는 단계; 상기 서버에서, 상기 제 1 해시값을 키(key)로 하여 상기 웹 페이지를 암호화하는 단계; 및 상기 서버에서, 상기 노네임 스크립트를 암호화된 상기 웹 페이지에 추가하여 상기 단말로 송신하는 단계를 더 포함할 수 있다.
상기 웹 페이지 위변조 검증 방법은, 상기 요소를 추출하는 단계의 수행 전, 상기 단말이, 상기 단말 측에서 생성된 상기 랜덤 정규화 스크립트의 제 2 해시값을 생성하는 단계; 및 상기 단말에서, 상기 제 2 해시값을 키로 하여 상기 웹 페이지를 복호화하는 단계를 더 포함할 수 있다.
본 발명의 다른 예시적인 실시예에 따르면, 서버로 웹 페이지의 요청을 송신하며, 상기 웹 페이지의 위변조 여부를 검증하기 위한 노네임 스크립트(noname script)가 추가된 상기 웹 페이지를 상기 서버로부터 수신하는 웹 페이지 수신부; 및 상기 노네임 스크립트를 실행하여 상기 웹 페이지를 구성하는 요소들 중 일부 요소를 추출하고, 추출한 상기 일부 요소의 위변조 여부를 탐지하는 위변조 탐지부를 포함하는, 단말이 제공된다.
상기 노네임 스크립트는, 상기 웹 페이지의 위변조 여부를 검증하기 위한 스크립트 내의 변수(variable), 함수(function), 또는 인자값(parameter)의 전체 또는 일부가 랜덤 길이의 랜덤 값(random value)으로 치환되거나 해당 스크립트의 전체 또는 일부의 배열 순서가 랜덤하게 배치됨으로써 매번 다르게 생성되는 스크립트일 수 있다.
상기 일부 요소는, 상기 웹 페이지를 구성하는 HTML 요소, 상기 웹 페이지를 구성하는 스크립트의 변수, 함수 및 인자값 중 하나 이상을 포함할 수 있다.
상기 위변조 탐지부는, 상기 웹 페이지의 렌더링 완료 이후 기설정된 탐지 주기에 따라, 상기 웹 페이지의 렌더링 완료 이전에 추출한 상기 일부 요소와 상기 웹 페이지의 렌더링 완료 이후에 추출한 상기 일부 요소를 비교하여 상기 일부 요소의 위변조 여부를 탐지할 수 있다.
상기 노네임 스크립트는, 자기 자신을 랜덤 정규화함으로써 랜덤 정규화 스크립트를 생성하도록 구성될 수 있다.
상기 웹 페이지 수신부는, 상기 서버 측에서 생성된 상기 랜덤 정규화 스크립트의 제 1 해시값을 키(key)로 하여 암호화된 상기 웹 페이지, 및 암호화된 상기 웹 페이지에 추가된 상기 노네임 스크립트를 상기 서버로부터 수신할 수 있다.
상기 단말은, 상기 단말 측에서 생성된 상기 랜덤 정규화 스크립트의 제 2 해시값을 키로 하여 상기 웹 페이지를 복호화하는 복호화부를 더 포함할 수 있다.
본 발명의 실시예들에 따르면, 외부에서 조작이 불가능한 노네임 스크립트를 통해 웹 페이지를 구성하는 특정 요소의 위변조 여부를 탐지함으로써, 키보드 보안의 신뢰성을 높이고 웹 페이지를 구성하는 스크립트 및 HTML 자체의 위변조를 방지할 수 있다. 나아가, 오버레이(overlay)를 이용한 공격을 원천적으로 차단할 수 있다.
또한, 본 발명의 실시예들에 따르면, 웹 페이지에 삽입된 노네임 스크립트를 통해 웹 페이지의 위변조 여부를 탐지함으로써, 단말 측에 별도의 보안 프로그램을 설치할 필요가 없다.
또한, 본 발명의 실시예들에 따르면, 노네임 스크립트가 랜덤 정규화되어 생성되는 랜덤 정규화 스크립트의 해시값을 통해 웹 페이지를 암호화 및 복호화함으로써, 웹 페이지의 위변조를 방지하고 노네임 스크립트 자체의 무결성을 검증할 수 있다.
도 1은 본 발명의 일 실시예에 따른 웹 페이지 위변조 검증 시스템의 블록도
도 2는 본 발명의 일 실시예에 따른 단말의 상세 구성을 나타낸 블록도
도 3은 본 발명의 일 실시예에 따른 서버의 상세 구성을 나타낸 블록도
도 4는 본 발명의 제 1 실시예에 따른 웹 페이지 위변조 검증 방법을 도시한 순서도
도 5는 본 발명의 제 2 실시예에 따른 웹 페이지 위변조 검증 방법을 도시한 순서도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, “포함” 또는 “구비”와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도 1은 본 발명의 일 실시예에 따른 웹 페이지 위변조 검증 시스템(100)의 블록도이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 웹 페이지 위변조 검증 시스템(100)은 단말(102) 및 서버(104)를 포함하며, 단말(102) 및 서버(104)는 네트워크(106)를 통하여 서로 연결되어 데이터를 주고받는다. 여기서, 네트워크(106)는 단말(102) 및 서버(104) 간 데이터 송수신을 중계하기 위한 매개체로서, 유/무선 인터넷망, 이동통신망 등 패킷 통신이 가능한 모든 종류의 통신망을 포괄하는 의미로 사용된다.
단말(102)은 서버(104)로 웹 페이지의 요청을 송신하여 서버(104)로부터 웹 페이지를 수신한다. 단말(102)은 서버(104)와 네트워크를 통해 연결되어 웹 페이지를 제공받기 위한 장치로서, 예를 들어 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰, 태블릿 컴퓨터 등이 될 수 있다. 단말(102)은 내부에 탑재된 웹 브라우저(web browser), 또는 별도의 애플리케이션(application) 등을 통하여 서버(102)로부터 웹 페이지를 제공받을 수 있다. 웹 페이지는 예를 들어, HTML(HyperText Markup Language), CSS(Cascading Style Sheet), 자바스크립트(JavaScript) 등으로 구성될 수 있다.
또한, 단말(102)은 서버(104)로부터 수신한 웹 페이지의 위변조 여부를 검증한다. 이를 위해, 단말(102)은 서버(104)로부터 노네임 스크립트(noname script)를 수신할 수 있다. 노네임 스크립트는 웹 페이지의 위변조 여부를 검증하기 위한 스크립트로서, 서버(104)에서 생성될 수 있다. 서버(104)는 단말(102)의 웹 페이지 요청에 따라 노네임 스크립트를 웹 페이지에 추가하여 단말(102)로 송신할 수 있다. 노네임 스크립트는 단말(102)의 웹 브라우저 등을 통해 실행될 수 있으며, 단말(102)은 노네임 스크립트를 실행하여 웹 페이지를 구성하는 요소들 중 일부 요소를 추출하고, 추출한 일부 요소의 위변조 여부를 탐지할 수 있다. 이후, 단말(102)은 웹 페이지의 위변조 탐지 결과를 서버(104)에 송신할 수 있다. 여기서, 웹 페이지를 구성하는 요소는, 웹 페이지를 구성하는 HTML 요소, 웹 페이지를 구성하는 스크립트의 변수(variable), 함수(function) 및 인자값(parameter) 중 하나 이상을 포함할 수 있다. 웹 페이지를 구성하는 요소들 중에는 보안상 중요한 영역과 중요하지 않은 영역이 있을 수 있다. 이때, 노네임 스크립트에 의해 추출되는 요소는 웹 페이지를 구성하는 요소들 중 위변조가 일어나서는 안되는 영역, 즉 보안상 중요한 영역을 의미한다.
예를 들어, 웹 페이지가 전자 거래를 위한 이체 페이지인 경우, 사용자에 의해 입력된 비밀번호가 키 로깅(key logging) 프로그램에 의해 유출되는 것을 방지하기 위해 HTML 요소로서 <input type="password" enc="on">이 웹 페이지 내에 포함되어 있을 수 있다. 여기서, enc="on"인 경우 키보드 보안 프로그램이 작동하여 사용자에 의해 입력된 비밀번호의 유출을 방지할 수 있는 반면, 단말(102) 내부의 악성 프로그램 등에 의하여 enc="on"이 enc="off"로 변조되는 경우 키보드 보안 프로그램의 작동이 중지되어 사용자에 의해 입력된 비밀번호가 유출될 수 있다고 가정한다. 즉, enc="on"은 키보드 보안(keyboard security)을 위해 변조되지 않아야 하는 중요한 요소로서, 노네임 스크립트에 의해 추출되는 요소가 될 수 있다.
또한, 웹 페이지 내에는 이체 계좌번호 입력, 이체 금액 입력, 보안키 입력 등과 같은 중요한 기능을 수행하는 스크립트 함수, 예를 들어, "function a, function b, function c.."가 포함되어 있을 수 있다. "function a, function b, function c.." 역시 변조되지 않아야 하는 중요한 요소로서, 노네임 스크립트에 의해 추출되는 요소가 될 수 있다.
한편, 웹 페이지에는 웹 페이지의 화면 이미지, 배경, 색깔 등에 관한 스크립트 함수 등이 포함되어 있을 수도 있으며, 이들 스크립트 함수는 보안상 중요도가 떨어지는 영역으로서 노네임 스크립트에 의해 추출되지 않는 요소일 수 있다. 웹 페이지를 구성하는 요소들 중 어떤 요소가 추출되는지는 노네임 스크립트 내부의 특정 알고리즘에 의해 미리 설정되어 있을 수 있다.
또한, 단말(102)은 서버(104)로부터 수신한 웹 페이지의 위변조 여부를 탐지하기에 앞서, 네트워크(106) 상에서 웹 페이지의 위변조를 방지하고 서버(104)로부터 수신한 노네임 스크립트 자체의 무결성을 검증할 수 있다. 여기서, 노네임 스크립트 자체의 무결성이란 노네임 스크립트가 훼손, 손상, 위조, 변조되지 않아 본질의 기능이 변하지 않은 상태를 의미한다.
상술한 노네임 스크립트는 자기 자신을 랜덤 정규화함으로써 랜덤 정규화 스크립트를 생성하도록 구성될 수 있다. 서버(104)는 서버 측(104)에서 매번 다르게 생성된 랜덤 정규화 스크립트의 제 1 해시값을 키(key)로 하여 웹 페이지를 암호화하고, 암호화된 웹 페이지에 노네임 스크립트를 추가하여 단말(102)로 송신할 수 있다. 단말(102)은 단말(102) 측에서 생성된 랜덤 정규화 스크립트의 제 2 해시값을 키로 하여 웹 페이지를 복호화함으로써 네트워크(106)에서 웹 페이지의 위변조를 방지하고 노네임 스크립트 자체의 무결성을 검증할 수 있다.
서버(104)는 단말(102)로부터 웹 페이지의 요청을 수신하고, 웹 페이지의 위변조 여부를 검증하기 위한 노네임 스크립트를 생성한다. 이후, 서버(104)는 노네임 스크립트를 웹 페이지에 추가하여 단말(102)로 송신한다.
또한, 서버(104)는 상술한 바와 같이 서버 측(104)에서 생성된 랜덤 정규화 스크립트의 제 1 해시값을 키(key)로 하여 웹 페이지를 암호화하고, 암호화된 웹 페이지에 노네임 스크립트를 추가하여 단말(102)로 송신할 수도 있다. 이하에서는, 도 2 및 도 3을 참조하여 본 발명의 일 실시예에 따른 단말(102) 및 서버(104)의 상세 구성을 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 단말(102)의 상세 구성을 나타낸 블록도이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 단말(102)은 웹 페이지 수신부(202), 복호화부(204) 및 위변조 탐지부(206)를 포함한다.
웹 페이지 수신부(202)는 서버(104)로 웹 페이지의 요청을 송신하고, 서버(104)부터 웹 페이지를 수신한다. 서버(104)로부터 수신된 웹 페이지에는 노네임 스크립트가 삽입될 수 있다. 노네임 스크립트는 예를 들어, 웹 페이지를 구성하는 스크립트의 하단에 삽입될 수 있으나 노네임 스크립트의 삽입 위치가 이에 한정되는 것은 아니다.
노네임 스크립트는 웹 페이지의 위변조 여부를 검증하기 위해 실행되는 일종의 프로그램 코드로서, 예를 들어 자바스크립트(Javascript)와 같이 브라우저에서 직접 지원되는 언어로 작성될 수 있다. 노네임 스크립트는 웹 페이지를 구성하는 요소들 중 일부 요소를 추출하고, 추출한 일부 요소의 위변조 여부를 탐지하도록 구성될 수 있다. 이를 위해, 노네임 스크립트는 내부에 상술한 기능을 수행하는 특정 알고리즘을 포함하도록 구성될 수 있다.
상술한 노네임 스크립트는 이름이 없는 노네임(noname) 형태로 이루어질 수 있다. 노네임 스크립트는 예를 들어, 람다 함수(lambda function) 형태로서 다음과 같이 이루어질 수 있다.
function (){
………//스크립트 코드
})();
일반적인 스크립트의 경우 오버라이딩(overriding) 등을 통해 외부로부터의 조작이 용이한 반면, 본 발명의 실시예들에 따른 노네임 스크립트는 함수명이 존재하지 않는 스크립트로서 외부에서 조작이 불가능하다. 이에 따라, 노네임 스크립트에 악성 스크립트를 삽입(injection)하는 등의 행위가 원천적으로 불가능하다. 노네임 스크립트는 외부 함수에 의한 호출 없이 스스로 실행 가능하도록 구성될 수 있다.
또한, 노네임 스크립트는 웹 페이지의 위변조 여부를 검증하기 위한 스크립트가 랜덤 난독화됨으로써 생성될 수 있다. 랜덤 난독화란 해당 스크립트 내의 변수(variable), 함수(function), 또는 인자값(parameter)의 전체 또는 일부를 랜덤 길이의 랜덤 값(random value)으로 치환하거나 해당 스크립트의 전체 또는 일부의 배열 순서를 랜덤하게 배치하는 것을 의미한다. 이와 같은 랜덤 난독화 과정을 통해 매번 다른 형태의 노네임 스크립트가 생성될 수 있으며, 이에 따라 악의적인 사용자는 해당 스크립트의 내용을 파악할 수 없게 된다. 또한, 랜덤 난독화 과정은 해당 스크립트의 변수 또는 함수 등을 치환하는 것이지 해당 스크립트의 기능 자체를 변경하는 것은 아니므로, 랜덤 난독화 과정을 거치더라도 스크립트의 원래 기능은 그대로 유지된다.
한편, 웹 페이지 수신부(202)는 서버(104)로부터 암호화된 웹 페이지를 수신할 수도 있다. 상술한 바와 같이, 노네임 스크립트는 자기 자신을 랜덤 정규화함으로써 랜덤 정규화 스크립트를 생성하도록 구성될 수 있다. 서버(104)는 서버 측(104)에서 생성된 랜덤 정규화 스크립트를 해싱(hashing)하여 제 1 해시값을 생성할 수 있다. 이후, 서버(104)는 제 1 해시값을 키(key)로 하여 웹 페이지를 암호화하고, 암호화된 웹 페이지에 노네임 스크립트를 추가하여 웹 페이지 수신부(202)로 송신할 수 있다. 즉, 본 발명의 실시예들에 따르면, 암호화된 웹 페이지가 단말(102)로 송신되기 때문에 네트워크(106) 상에서 웹 페이지가 위변조되는 것을 방지할 수 있다.
복호화부(204)는 단말(102) 측에서 생성된 랜덤 정규화 스크립트를 해싱하여 제 2 해시값을 생성하고, 제 2 해시값을 키(key)로 하여 웹 페이지를 복호화한다. 상술한 바와 같이, 노네임 스크립트는 자기 자신을 랜덤 정규화함으로써 랜덤 정규화 스크립트를 생성하도록 구성될 수 있다. 정규화는 노네임 스크립트 내의 공백 또는 탭(tab) 등의 사용 방식, 대문자 또는 소문자의 사용 방식, 반복되는 데이터의 제거 방식 등을 일정한 형식으로 통일하는 것을 의미하며, 랜덤 정규화는 상기 정규화에 있어 정규화 대상 항목을 랜덤하게 결정하는 것을 의미한다.
예를 들어, 노네임 스크립트는 정규화 항목(예를 들어, 노네임 스크립트 내의 공백(탭 또는 스페이스) 제거 여부, 대문자 또는 소문자의 통일 여부, 반복되는 데이터 제거 여부 등)을 랜덤하게 선정하여 스스로 정규화할 수 있다. 이때, 노네임 스크립트는 정규화 알고리즘 또한 랜덤하게 선택하여 정규화할 수 있다. 예를 들어, 노네임 스크립트는 스페이스를 모두 탭으로 변환하거나, 또는 모든 탭을 스페이스로 변환하도록 정규화 알고리즘을 선택할 수 있다. 또한, 노네임 스크립트는 노네임 스크립트 내부의 문자를 모두 소문자로 변환하거나, 또는 모두 대문자로 변환하거나, 또는 소문자와 대문자를 번갈아 적용하는 정규화 알고리즘 중 어느 하나를 선택할 수도 있다. 또한, 노네임 스크립트는 정규화 대상 스크립트를 랜덤하게 정할 수도 있다. 예를 들어, 노네임 스크립트는 노네임 스크립트 전체에 정규화 알고리즘을 적용하거나, 또는 기설정된 일부의 노네임 스크립트에만 정규화 알고리즘을 적용할 수 있다.
이와 같이, 노네임 스크립트의 랜덤 정규화 과정을 통해 생성된 스크립트를 "랜덤 정규화 스크립트"로 칭하기로 한다. 상기 랜덤 정규화 스크립트는 네트워크(106) 상에서 웹 페이지가 위변조되는 것을 방지하고 노네임 스크립트 자체의 무결성을 검증하기 위한 해시값(hash value)을 제공하는 데 사용된다. 본 발명의 일 실시예에 따른 노네임 스크립트는 매번 다른 형태의 랜덤 정규화를 실행함으로써 위, 변조 및 역공학(reverse engineering)이 매우 어려운 랜덤 정규화 스크립트를 생성할 수 있다. 서버(104)는 노네임 스크립트의 랜덤 정규화를 위해, 노네임 스크립트 자체 코드를 인지하여 랜덤하게 정규화하는 랜덤 로직(랜덤 정규화 로직)을 정의하여 노네임 스크립트 내부에 삽입할 수 있다.
상술한 바와 같이, 서버(104)는 서버 측(104)에서 생성된 랜덤 정규화 스크립트의 제 1 해시값을 키(key)로 하여 웹 페이지를 암호화하고, 암호화된 웹 페이지에 노네임 스크립트를 추가하여 단말(102)로 송신할 수 있다.
단말(102)이 웹 브라우저 등을 통해 노네임 스크립트를 실행하는 경우, 노네임 스크립트는 자신의 코드를 인지하여 서버(104)에서 정의한 랜덤 정규화 로직에 따라 랜덤 정규화를 수행하며, 이에 따라 랜덤 정규화 스크립트가 생성된다. 이후, 단말(102)은 단말(102) 측에서 생성된 랜덤 정규화 스크립트의 제 2 해시값을 키로 하여 웹 페이지를 복호화할 수 있으며, 복호화된 웹 페이지는 브라우저에 의해 단말(102)의 화면 상에 출력될 수 있다. 노네임 스크립트가 위변조(삭제되는 경우를 포함함)되지 않은 경우, 단말(102) 측에서 생성된 랜덤 정규화 스크립트는 서버(104) 측에서 생성된 랜덤 정규화 스크립트와 동일하게 되며, 마찬가지로 제 1 해시값과 제 2 해시값 또한 동일하게 된다. 만약, 노네임 스크립트가 위변조된 경우 제 2 해시값은 제 1 해시값과 동일하지 않게 되며, 단말(102)은 암호화된 웹 페이지를 복호화할 수 없다. 이 경우, 웹 페이지는 단말(102)의 화면 상에 출력되지 않는다. 즉, 단말(102)은 웹 페이지의 위변조 여부를 탐지하기에 앞서, 랜덤 정규화 스크립트의 해시값을 통해 노네임 스크립트 자체의 무결성을 검증할 수 있으며, 특히 네트워크(106) 상에서 노네임 스크립트나 웹 페이지가 위변조되는 것을 방지할 수 있다.
위변조 탐지부(206)는 노네임 스크립트를 통해 웹 페이지를 구성하는 특정 요소의 위변조 여부를 탐지한다. 상술한 바와 같이, 노네임 스크립트 내부에는 웹 페이지를 구성하는 요소들 중 일부 요소를 추출하고 추출한 일부 요소의 위변조 여부를 탐지하는 특정 알고리즘이 포함될 수 있다. 단말(102)은 노네임 스크립트를 실행하여 웹 페이지의 렌더링(rendering) 완료 이전에 웹 페이지를 구성하는 요소를 추출함으로써 웹 페이지의 원문 코드를 획득할 수 있다. 웹 페이지의 렌더링 완료 이후, 위변조 탐지부(206)는 기설정된 탐지 주기에 따라 해당 요소의 위변조 여부를 탐지(또는 검증)할 수 있다. 즉, 웹 페이지의 렌더링 완료 이후, 위변조 탐지부(206)는 웹 페이지의 렌더링 완료 이전에 추출한 요소와 웹 페이지의 렌더링 완료 이후에 추출한 일부 요소를 비교함으로써 해당 요소가 위변조되었는지 여부를 탐지할 수 있다. 상술한 바와 같이, 노네임 스크립트는 이름이 없는 노네임(noname) 형태로 이루지므로 외부에서 조작이 불가능하다. 본 발명의 실시예들에 따르면, 외부에서 조작이 불가능한 노네임 스크립트를 통해 웹 페이지를 구성하는 일부 요소의 위변조 여부를 탐지함으로써, 키보드 보안의 신뢰성을 높이고 웹 페이지를 구성하는 스크립트 및 HTML 자체의 위변조를 방지할 수 있다. 나아가, 오버레이(overlay)를 이용한 공격을 원천적으로 차단할 수 있다. 또한, 본 발명의 실시예들에 따르면, 웹 페이지에 삽입된 노네임 스크립트를 통해 웹 페이지의 위변조를 탐지함으로써, 단말(102) 측에 별도의 보안 프로그램을 설치할 필요가 없다.
도 3은 본 발명의 일 실시예에 따른 서버(104)의 상세 구성을 나타낸 블록도이다. 도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 서버(104)는 노네임 스크립트 생성부(302), 암호화부(304) 및 ? 페이지 송신부(306)을 포함한다.
노네임 스크립트 생성부(302)는 단말의 웹 페이지 요청에 따라 노네임 스크립트(noname script)를 생성한다. 상술한 바와 같이, 노네임 스크립트는 함수명이 존재하지 않는 스크립트로서 외부에서 조작이 불가능하다. 이에 따라, 노네임 스크립트에 악성 스크립트를 삽입(injection) 등의 행위가 원천적으로 불가능하다. 노네임 스크립트는 외부 함수에 의한 호출 없이 스스로 실행 가능하도록 구성될 수 있다. 또한, 노네임 스크립트 생성부(302)는 웹 페이지의 위변조 여부를 검증하기 위한 스크립트를 랜덤 난독화함으로써 노네임 스크립트를 매번 다르게 생성할 수 있으며, 노네임 스크립트 자체 코드를 인지하여 랜덤하게 정규화하는 랜덤 로직(랜덤 정규화 로직)을 정의하여 노네임 스크립트 내부에 삽입할 수 있다.
암호화부(304)는 서버(104) 측에서 생성된 랜덤 정규화 스크립트의 제 2 해시값을 키(key)로 하여 웹 페이지를 암호화한다. 노네임 스크립트는 노네임 스크립트 생성부(302)에서 정의한 랜덤 정규화 로직에 따라 자기 자신을 랜덤 정규화함으로써 랜덤 정규화 스크립트를 생성하도록 구성될 수 있다. 상술한 바와 같이, 정규화는 노네임 스크립트 내의 공백 또는 탭(tab) 등의 사용 방식, 대문자 또는 소문자의 사용 방식, 반복되는 데이터의 제거 방식 등을 일정한 형식으로 통일하는 것을 의미하며, 랜덤 정규화는 상기 정규화에 있어 정규화 대상 항목을 랜덤하게 결정하는 것을 의미한다. 암호화부(304)는 서버 측(104)에서 생성된 랜덤 정규화 스크립트를 해싱함으로써의 제 1 해시값을 생성할 수 있으며, 제 1 해시값을 키(key)로 하여 웹 페이지를 암호화할 수 있다.
웹 페이지 송신부(306)는 웹 페이지에 노네임 스크립트를 추가하여 단말(102)에 송신할 수 있다. 또한, 웹 페이지 송신부(306)는 암호화부(304)에서 암호화된 웹 페이지에 노네임 스크립트를 추가하여 단말(102)에 송신할 수 있다. 이에 따라, 네트워크(106) 상에서 웹 페이지가 위변조되는 것을 방지할 수 있다.
도 4는 본 발명의 제 1 실시예에 따른 웹 페이지 위변조 검증 방법을 도시한 순서도이다.
먼저, 서버(104)는 단말(102)로부터 웹 페이지의 요청을 수신한다(S402).
다음으로, 서버(104)는 노네임 스크립트를 생성하고(S404), 웹 페이지에 노네임 스크립트를 추가하여 단말(102)로 송신한다(S406). 노네임 스크립트는 웹 페이지의 위변조 여부를 검증하기 위한 스크립트로서, 외부에서 조작이 불가능하며, 웹 페이지를 구성하는 요소들 중 일부 요소를 추출하고 추출한 일부 요소의 위변조 여부를 탐지하는 특정 알고리즘을 내부에 포함할 수 있다. 노네임 스크립트에 대해서는 앞서 상세히 설명하였으므로, 여기서는 그 자세한 설명을 생략하기로 한다.
다음으로, 단말(102)은 노네임 스크립트를 실행하여 웹 페이지를 구성하는 요소들 중 일부 요소를 추출한다(S408). 브라우저의 렌더링이 진행되는 과정에서, 노네임 스크립트는 웹 페이지를 구성하는 요소들 중 특정 요소를 추출할 수 있다. 즉, 브라우저의 렌더링 완료 이전에 단말(102)은 웹 페이지를 구성하는 특정 요소에 대한 원문 코드를 획득(다시 말해, 네트워크(106) 상에서 위변조가 없었다는 전제 하에, 단말(102)은 위변조가 발생하기 전의 데이터를 수집)할 수 있다. 여기서, 웹 페이지를 구성하는 요소는 웹 페이지를 구성하는 HTML 요소, 웹 페이지를 구성하는 스크립트의 변수, 함수 및 인자값 중 하나 이상을 포함할 수 있으며, 예를 들어 E2E 관련 코드(HTML), 자바스크립트 변수 및 함수 부분, 서버(104) 측에서 의도한 ActiveX/Plugin 모듈만 배포하고 있는지 여부를 확인하기 위한 요소, 통신 프로토콜(HTTP), 오버레이 감지(overlay detect) 관련 요소 등이 될 수 있다.
이후, 단말(102)은 추출한 일부 요소의 위변조 여부를 탐지할 수 있다(S410). 노네임 스크립트는 브라우저에 의해 렌더링되는 과정에서 자동 실행될 수 있다. 이때, 단말(102)은 웹 페이지의 렌더링 완료 이후 해당 요소의 위변조 여부를 주기적으로 탐지할 수 있다. 즉, 단말(102)은 웹 페이지의 렌더링 완료 이후, 웹 페이지의 렌더링 완료 이전에 추출한 요소와 웹 페이지의 렌더링 완료 이후에 추출한 일부 요소를 비교함으로써 해당 요소가 위변조되었는지 여부를 탐지할 수 있다. 상술한 바와 같이, 노네임 스크립트는 이름이 없는 노네임(noname) 형태로 이루어져 외부에서 조작이 불가능하므로, 웹 페이지의 위변조 탐지에 대한 신뢰성을 높일 수 있다. 특히, 본 발명의 실시예들에 따르면, 키보드 보안의 신뢰성을 높일 수 있으며 스크립트 자체의 위변조를 방지할 수 있다. 나아가, 오버레이(overlay)를 이용한 공격을 원천적으로 차단할 수 있다.
마지막으로, 단말(102)은 위변조 탐지 결과를 서버(104)로 송신한다(S412).
도 5는 본 발명의 제 2 실시예에 따른 웹 페이지 위변조 검증 방법을 도시한 순서도이다. 본 발명의 제 2 실시예에 따른 웹 페이지 위변조 검증 방법은 도 4와 비교하여 웹 페이지의 암호화 및 복호화를 위한 과정이 추가된다.
먼저, 서버(104)는 단말(102)로부터 웹 페이지의 요청을 수신한다(S502).
다음으로, 서버(104)는 노네임 스크립트를 생성한다(S504).
다음으로, 서버(104) 측에서 노네임 스크립트가 스스로 랜덤 정규화하여 랜덤 정규화 스크립트가 생성된다(S506). 이를 위해, 서버(104)는 노네임 스크립트 자체 코드를 인지하여 랜덤하게 정규화하는 랜덤 로직, 즉, 랜덤 정규화 로직을 정의하여 노네임 스크립트 내부에 삽입할 수 있다.
다음으로, 서버(104)는 랜덤 정규화 스크립트를 해싱하여 제 1 해시값을 생성하고(S508), 제 1 해시값을 키로 하여 웹 페이지를 암호화한다(S510). 또한, 서버(104)는 암호화된 웹 페이지에 노네임 스크립트를 추가하여 단말(102)로 송신한다(S512). 본 발명의 실시예들에 따르면, 암호화된 웹 페이지가 단말(102)로 송신되기 때문에 네트워크(106) 상에서 웹 페이지가 위변조되는 것을 방지할 수 있다.
다음으로, 단말(102) 측에서 노네임 스크립트가 스스로 랜덤 정규화하여 랜덤 정규화 스크립트가 생성된다(S514).
다음으로, 단말(102)은 단말(102) 측에서 생성된 랜덤 정규화 스크립트를 해싱하여 제 2 해시값을 생성하고(S516), 제 2 해시값을 키로 하여 암호화된 웹 페이지를 복호화한다(S518). 노네임 스크립트가 위변조(삭제되는 경우를 포함함)되지 않은 경우, 단말(102) 측에서 생성된 랜덤 정규화 스크립트는 서버(104) 측에서 생성된 랜덤 정규화 스크립트와 동일하게 되며, 마찬가지로 제 1 해시값과 제 2 해시값 또한 동일하게 된다. 만약, 노네임 스크립트가 위변조된 경우 제 2 해시값은 제 1 해시값과 동일하지 않게 되며, 단말(102)은 암호화된 웹 페이지를 복호화할 수 없다. 이 경우, 웹 페이지는 단말(102)의 화면 상에 출력되지 않는다. 즉, 단말(102)은 웹 페이지의 위변조 여부를 탐지하기에 앞서, 랜덤 정규화 스크립트의 해시값을 통해 노네임 스크립트 자체의 무결성을 검증할 수 있으며, 특히 네트워크(106) 상에서 노네임 스크립트나 웹 페이지가 위변조되는 것을 방지할 수 있다.
이후, 단말(102)은 노네임 스크립트를 통해 웹 페이지를 구성하는 요소들 중 일부 요소를 추출하고(S520), 추출한 일부 요소의 위변조 여부를 탐지한다(S522).
마지막으로, 단말(102)은 위변조 탐지 결과를 서버(104)로 송신한다(S524). 한편, 단말(102)에서 새로운 웹 페이지에 대한 요청이 이루어지면, 서버(104)에서 새로운 노네임 스크립트를 생성하고 상술한 과정을 반복하게 된다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 웹 페이지 위변조 검증 시스템
102 : 단말
104 : 서버
106 : 네트워크
202 : 웹 페이지 수신부
204 : 복호화부
206 : 위변조 탐지부
302 : 노네임 스크립트 생성부
304 : 암호화부
306 : 웹 페이지 송신부

Claims (21)

  1. 단말의 웹 페이지 요청에 따라 상기 웹 페이지의 위변조 여부를 검증하기 위한 노네임 스크립트(noname script)를 상기 웹 페이지에 추가하여 상기 단말로 송신하는 서버; 및
    상기 노네임 스크립트를 실행하여 상기 웹 페이지를 구성하는 요소들 중 일부 요소를 추출하고, 추출한 상기 일부 요소의 위변조 여부를 탐지하는 단말을 포함하며,
    상기 노네임 스크립트는, 함수명이 존재하지 않는 스크립트로서 함수에 의한 호출 없이 상기 웹 페이지가 렌더링되는 과정에서 자동 실행되는, 웹 페이지 위변조 검증 시스템.
  2. 청구항 1에 있어서,
    상기 서버는, 상기 웹 페이지의 위변조 여부를 검증하기 위한 스크립트 내의 변수(variable), 함수(function), 또는 인자값(parameter)의 전체 또는 일부를 랜덤 길이의 랜덤 값(random value)으로 치환하거나 해당 스크립트의 전체 또는 일부의 배열 순서를 랜덤하게 배치함으로써 상기 노네임 스크립트를 매번 다르게 생성하는, 웹 페이지 위변조 검증 시스템.
  3. 청구항 1에 있어서,
    상기 일부 요소는, 상기 웹 페이지를 구성하는 HTML 요소, 상기 웹 페이지를 구성하는 스크립트의 변수, 함수 및 인자값 중 하나 이상을 포함하는, 웹 페이지 위변조 검증 시스템.
  4. 청구항 1에 있어서,
    상기 단말은, 상기 웹 페이지의 렌더링 완료 이후 기설정된 탐지 주기에 따라, 상기 웹 페이지의 렌더링 완료 이전에 추출한 상기 일부 요소와 상기 웹 페이지의 렌더링 완료 이후에 추출한 상기 일부 요소를 비교하여 상기 일부 요소의 위변조 여부를 탐지하는, 웹 페이지 위변조 검증 시스템.
  5. 청구항 1에 있어서,
    상기 노네임 스크립트는, 자기 자신을 랜덤 정규화함으로써 랜덤 정규화 스크립트를 생성하도록 구성되는, 웹 페이지 위변조 검증 시스템.
  6. 청구항 5에 있어서,
    상기 서버는, 상기 서버 측에서 생성된 상기 랜덤 정규화 스크립트의 제 1 해시값을 생성한 후 상기 제 1 해시값을 키(key)로 하여 상기 웹 페이지를 암호화하고, 상기 노네임 스크립트를 암호화된 상기 웹 페이지에 추가하여 상기 단말로 송신하는, 웹 페이지 위변조 검증 시스템.
  7. 청구항 6에 있어서,
    상기 단말은, 상기 단말 측에서 생성된 상기 랜덤 정규화 스크립트의 제 2 해시값을 생성한 후 상기 제 2 해시값을 키로 하여 상기 웹 페이지를 복호화하는, 웹 페이지 위변조 검증 시스템.
  8. 서버에서, 단말로부터 웹 페이지의 요청을 수신하는 단계;
    상기 서버에서, 요청 받은 상기 웹 페이지의 위변조 여부를 검증하기 위한 노네임 스크립트(noname script)를 생성하는 단계;
    상기 서버에서, 상기 노네임 스크립트를 상기 웹 페이지에 추가하여 상기 단말로 송신하는 단계;
    상기 단말에서, 상기 노네임 스크립트를 실행하여 상기 웹 페이지를 구성하는 요소들 중 일부 요소를 추출하는 단계; 및
    상기 단말에서, 추출한 상기 일부 요소의 위변조 여부를 탐지하는 단계를 포함하며,
    상기 노네임 스크립트는, 함수명이 존재하지 않는 스크립트로서 함수에 의한 호출 없이 상기 웹 페이지가 렌더링되는 과정에서 자동 실행되는, 웹 페이지 위변조 검증 방법.
  9. 청구항 8에 있어서,
    상기 노네임 스크립트를 생성하는 단계는,
    상기 서버에서, 상기 웹 페이지의 위변조 여부를 검증하기 위한 스크립트 내의 변수(variable), 함수(function), 또는 인자값(parameter)의 전체 또는 일부를 랜덤 길이의 랜덤 값(random value)으로 치환하거나 해당 스크립트의 전체 또는 일부의 배열 순서를 랜덤하게 배치함으로써 상기 노네임 스크립트를 매번 다르게 생성하는, 웹 페이지 위변조 검증 방법.
  10. 청구항 8에 있어서,
    상기 일부 요소는, 상기 웹 페이지를 구성하는 HTML 요소, 상기 웹 페이지를 구성하는 스크립트의 변수, 함수 및 인자값 중 하나 이상을 포함하는, 웹 페이지 위변조 검증 방법.
  11. 청구항 8에 있어서,
    상기 일부 요소의 위변조 여부를 탐지하는 단계는,
    상기 단말에서, 상기 웹 페이지의 렌더링 완료 이후 기설정된 탐지 주기에 따라, 상기 웹 페이지의 렌더링 완료 이전에 추출한 상기 일부 요소와 상기 웹 페이지의 렌더링 완료 이후에 추출한 상기 일부 요소를 비교하여 상기 일부 요소의 위변조 여부를 탐지하는, 웹 페이지 위변조 검증 방법.
  12. 청구항 8에 있어서,
    상기 노네임 스크립트는, 자기 자신을 랜덤 정규화함으로써 랜덤 정규화 스크립트를 생성하도록 구성되는, 웹 페이지 위변조 검증 방법.
  13. 청구항 12에 있어서,
    상기 단말로부터 상기 웹 페이지의 요청을 수신하는 단계의 수행 이후,
    상기 서버가, 상기 서버 측에서 생성된 상기 랜덤 정규화 스크립트의 제 1 해시값을 생성하는 단계;
    상기 서버에서, 상기 제 1 해시값을 키(key)로 하여 상기 웹 페이지를 암호화하는 단계; 및
    상기 서버에서, 상기 노네임 스크립트를 암호화된 상기 웹 페이지에 추가하여 상기 단말로 송신하는 단계를 더 포함하는, 웹 페이지 위변조 검증 방법.
  14. 청구항 13에 있어서,
    상기 요소를 추출하는 단계의 수행 전,
    상기 단말이, 상기 단말 측에서 생성된 상기 랜덤 정규화 스크립트의 제 2 해시값을 생성하는 단계; 및
    상기 단말에서, 상기 제 2 해시값을 키로 하여 상기 웹 페이지를 복호화하는 단계를 더 포함하는, 웹 페이지 위변조 검증 방법.
  15. 서버로 웹 페이지의 요청을 송신하며, 상기 웹 페이지의 위변조 여부를 검증하기 위한 노네임 스크립트(noname script)가 추가된 상기 웹 페이지를 상기 서버로부터 수신하는 웹 페이지 수신부; 및
    상기 노네임 스크립트를 실행하여 상기 웹 페이지를 구성하는 요소들 중 일부 요소를 추출하고, 추출한 상기 일부 요소의 위변조 여부를 탐지하는 위변조 탐지부를 포함하며,
    상기 노네임 스크립트는, 함수명이 존재하지 않는 스크립트로서 함수에 의한 호출 없이 상기 웹 페이지가 렌더링되는 과정에서 자동 실행되는, 단말.
  16. 청구항 15에 있어서,
    상기 노네임 스크립트는, 상기 웹 페이지의 위변조 여부를 검증하기 위한 스크립트 내의 변수(variable), 함수(function), 또는 인자값(parameter)의 전체 또는 일부가 랜덤 길이의 랜덤 값(random value)으로 치환되거나 해당 스크립트의 전체 또는 일부의 배열 순서가 랜덤하게 배치됨으로써 매번 다르게 생성되는 스크립트인, 단말.
  17. 청구항 15에 있어서,
    상기 일부 요소는, 상기 웹 페이지를 구성하는 HTML 요소, 상기 웹 페이지를 구성하는 스크립트의 변수, 함수 및 인자값 중 하나 이상을 포함하는, 단말.
  18. 청구항 15에 있어서,
    상기 위변조 탐지부는, 상기 웹 페이지의 렌더링 완료 이후 기설정된 탐지 주기에 따라, 상기 웹 페이지의 렌더링 완료 이전에 추출한 상기 일부 요소와 상기 웹 페이지의 렌더링 완료 이후에 추출한 상기 일부 요소를 비교하여 상기 일부 요소의 위변조 여부를 탐지하는, 단말.
  19. 청구항 15에 있어서,
    상기 노네임 스크립트는, 자기 자신을 랜덤 정규화함으로써 랜덤 정규화 스크립트를 생성하도록 구성되는, 단말.
  20. 청구항 19에 있어서,
    상기 웹 페이지 수신부는, 상기 서버 측에서 생성된 상기 랜덤 정규화 스크립트의 제 1 해시값을 키(key)로 하여 암호화된 상기 웹 페이지, 및 암호화된 상기 웹 페이지에 추가된 상기 노네임 스크립트를 상기 서버로부터 수신하는, 단말.
  21. 청구항 20에 있어서,
    상기 단말 측에서 생성된 상기 랜덤 정규화 스크립트의 제 2 해시값을 키로 하여 상기 웹 페이지를 복호화하는 복호화부를 더 포함하는, 단말.
KR1020140072567A 2014-06-16 2014-06-16 단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법 KR101632929B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140072567A KR101632929B1 (ko) 2014-06-16 2014-06-16 단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140072567A KR101632929B1 (ko) 2014-06-16 2014-06-16 단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20150144009A KR20150144009A (ko) 2015-12-24
KR101632929B1 true KR101632929B1 (ko) 2016-06-23

Family

ID=55084085

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140072567A KR101632929B1 (ko) 2014-06-16 2014-06-16 단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101632929B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2638710C1 (ru) * 2016-10-10 2017-12-15 Акционерное общество "Лаборатория Касперского" Способы обнаружения вредоносных элементов веб-страниц
KR102040080B1 (ko) * 2018-02-22 2019-11-04 주식회사 알파비트 자바스크립트 자기보호 장치 및 그 방법
KR102419824B1 (ko) * 2020-12-07 2022-07-13 주식회사 앰진시큐러스 메뉴 구조 기반 웹 사이트의 유사도 평가 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100860573B1 (ko) * 2006-12-01 2008-09-26 (재)대구경북과학기술연구원 사용자 인증 방법
KR20090011738A (ko) 2007-07-27 2009-02-02 주식회사 모니터랩에이디엔 웹 콘텐츠 위변조 탐지 및 복구 시스템과 그 방법
KR20100049514A (ko) * 2010-03-16 2010-05-12 (주)아이시큐어 웹 사이트 점검 방법 및 그 시스템
KR101480040B1 (ko) * 2011-09-23 2015-01-07 네이버비즈니스플랫폼 주식회사 웹 페이지 변조 식별방법, 시스템 및 컴퓨터로 판독 가능한 기록매체
KR101452299B1 (ko) * 2012-11-14 2014-10-21 주식회사 예티소프트 무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버

Also Published As

Publication number Publication date
KR20150144009A (ko) 2015-12-24

Similar Documents

Publication Publication Date Title
CN111079128B (zh) 一种数据处理方法、装置、电子设备以及存储介质
CN101860540B (zh) 一种识别网站服务合法性的方法及装置
US8321924B2 (en) Method for protecting software accessible over a network using a key device
JP2016063533A (ja) 電子取引用のネットワーク認証方法
JP2019502997A (ja) ウェブページ、ウェブアプリ、およびアプリケーションをセキュリティ保護すること
CN101155028B (zh) 一种安全登录网站的方法和系统
CN114614994B (zh) Api接口数据的通信方法、装置、客户端及存储介质
CN103414727A (zh) 针对input密码输入框的加密保护系统及其使用方法
CN114244522B (zh) 信息保护方法、装置、电子设备及计算机可读存储介质
Lax et al. Digital document signing: Vulnerabilities and solutions
KR101632929B1 (ko) 단말, 및 이를 이용한 웹 페이지 위변조 검증 시스템 및 방법
CN101924734A (zh) 一种基于Web表单的身份认证方法及认证装置
KR101452299B1 (ko) 무결성이 보장되는 프로그램 코드를 이용한 보안 방법 및 서버
KR101967874B1 (ko) 주기적으로 변경되는 동적 코드 생성 방법과 그러한 동적 코드의 인증 방법
CN107548542B (zh) 经强化完整性及安全性的用户认证方法
KR20230127951A (ko) 데이터 보안 장치
KR100877593B1 (ko) 랜덤하게 맵핑되는 가변 패스워드에 의한 인증 보안 방법
CN110708155A (zh) 版权信息保护方法、系统、确权方法、装置、设备和介质
KR20130100032A (ko) 코드 서명 기법을 이용한 스마트폰 어플리케이션 배포 방법
KR101255258B1 (ko) 2차원바코드를 이용한 금융거래정보 인증 시스템 및 방법
JP2008176429A (ja) 機密情報漏洩防止システム、機密情報漏洩防止方法、機密情報漏洩防止プログラム
KR102355235B1 (ko) 웹 브라우저 기반 컨텐츠의 보안을 위한 서비스 제공 방법
CN103326992A (zh) 一种用于实现可信任邮箱的电子公证系统及方法
KR101152610B1 (ko) 가상 키보드 제공 방법
CN105323287B (zh) 第三方应用程序的登录方法及系统

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