KR102258638B1 - Systems and methods to block JavaScript-based web automation attacks and sniffing - Google Patents
Systems and methods to block JavaScript-based web automation attacks and sniffing Download PDFInfo
- Publication number
- KR102258638B1 KR102258638B1 KR1020200098588A KR20200098588A KR102258638B1 KR 102258638 B1 KR102258638 B1 KR 102258638B1 KR 1020200098588 A KR1020200098588 A KR 1020200098588A KR 20200098588 A KR20200098588 A KR 20200098588A KR 102258638 B1 KR102258638 B1 KR 102258638B1
- Authority
- KR
- South Korea
- Prior art keywords
- web page
- file
- web
- client terminal
- obfuscated
- Prior art date
Links
- 238000000034 method Methods 0.000 title abstract description 15
- 230000000903 blocking effect Effects 0.000 claims abstract description 18
- 238000009877 rendering Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 241001261858 Alsodes Species 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/128—Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2125—Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 웹 서버와 클라이언트 간의 기본적인 HTTP 통신에서 자바스크립트를 활용한 난독화 기능 및 암/복호화를 활용하고 HTML5에서 추가된 웹 스토리지 기술에 암호화 키를 적용하여 웹 서버에 대한 해킹 시도를 차단할 수 있으며, 도/감청을 통한 패킷 스니핑에 대해서도 안전하게 보호할 수 있는 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단방법 및 시스템에 관한 것이다.The present invention utilizes the obfuscation function and encryption/decryption using JavaScript in basic HTTP communication between the web server and the client, and applies an encryption key to the web storage technology added in HTML5 to block hacking attempts on the web server. It relates to a JavaScript-based web automation attack and sniffing blocking method and system that can safely protect against packet sniffing through eavesdropping and eavesdropping.
자바 스크립트(Java Script)는 미국의 넷스케이프 커뮤니케이션스사가 개발한 스크립트 언어이며, 다양한 환경에서 사용되고 있는데, 그 중 가장 대표적인 예로서 마이크로소프트사의 인터넷 익스플로러와 같은 웹브라우저에서 실행되는 스크립트 언어로 사용되고 있다. 이 경우 표준 HTML 문서에 삽입되어 인터랙티브(interactive)한 웹페이지를 제공할 수 있으며 특히 최근들어 클라이언트 컴퓨터의 성능이 좋아지면서 애니메이션이나 간단한 계산 등은 서버에 별도 요청을 하지 않아도 클라이언트 컴퓨터에서 자바 스크립트에 의한 프로그램 작동이 가능하기 때문에 서버와의 트래픽을 감소시키기 위해 최근 활용 범위가 넓어지고 있다. 하지만, 자바 스크립트는 스크립트 언어의 특성 상 소스 코드가 그대로 노출될 수 있어 보안상 취약할 수 있다. Java Script is a script language developed by Netscape Communications Inc. of the United States, and is used in various environments. Among them, as the most representative example, it is used as a script language executed in a web browser such as Microsoft's Internet Explorer. In this case, an interactive web page can be provided by being inserted into a standard HTML document. In particular, as the performance of the client computer has improved recently, animations and simple calculations can be performed by JavaScript on the client computer without making a separate request to the server. Because it is programmable, the range of its application is expanding recently to reduce traffic to and from the server. However, Javascript may be vulnerable to security because the source code may be exposed as it is due to the nature of the script language.
그 예로서, 도 1a과 같이 소정 웹페이지는 자바 스크립트를 사용할 수 있으며, 도 1a의 웹페이지의 소스코드는 도 1b에 도시되어 있다. 도 1b의 점선 부분에서 알 수 있는 바와 같이 도 1a의 웹페이지는 파일 포맷(format)이 일반적으로 JS인 자바 스크립트 파일을 포함(include)하는 방식으로 사용하고 있으며 자바 스크립트 파일의 경로 및 파일명도 확인할 수 있다. 이와 같이, 웹페이지에 자바 스크립트가 사용되는 경우 누구라도 소스 보기 등을 통해서 자바 스크립트 소스 코드, 또는 자바 스크립트 파일이 저장된 경로 및 그 파일명을 확인할 수 있기 때문에 제3자는 소스 코드 분석을 통한 악용에 사용할 수 있는 것이다.For example, as shown in FIG. 1A , a predetermined web page may use JavaScript, and the source code of the web page of FIG. 1A is shown in FIG. 1B . As can be seen from the dotted line in FIG. 1B, the web page of FIG. 1A is used in a manner that includes a JavaScript file whose file format is generally JS, and the path and file name of the JavaScript file can also be checked. can In this way, when JavaScript is used on a web page, anyone can check the JavaScript source code or the path where the JavaScript file is stored and the file name by viewing the source, so a third party can use it for abuse through source code analysis. it can be
따라서, 소스 코드가 쉽게 노출될 수 있는 자바 스크립트를 난독화하여 동일한 기능을 하면서도 제3자가 분석하기 쉽지 않도록 난독화하기 위한 기술이 요청되나 YUICompressor 또는 JSMin 같은 종래의 자바 스크립트 관련 기술들은 자바 스크립트 내의 파일의 크기를 최대한으로 줄이는 것이 목적일 뿐 난독화를 통해 소스 분석을 어렵게 하는 것을 목적으로 소스 코드를 변경하기 위한 방법은 제공하고 있지 않다.Therefore, a technology is requested to obfuscate JavaScript that can be easily exposed to source code and perform the same function while obfuscating it so that it is not easy for a third party to analyze it. However, conventional JavaScript-related technologies such as YUICompressor or JSMin are The goal is to reduce the size of the source code as much as possible, but it does not provide a method for changing the source code for the purpose of making source analysis difficult through obfuscation.
본 발명이 해결하고자 하는 과제는 종래의 문제점을 해결할 수 있는 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 시스템 및 방법을 제공하는 데 그 목적 있다.An object of the present invention is to provide a JavaScript-based web automation attack and sniffing blocking system and method that can solve the conventional problems.
삭제delete
삭제delete
상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 시스템은 웹 브라우저에서 실행할 웹 페이지를 요청하는 클라이언트 단말; 및 상기 클라이언트 단말의 접속이력을 기초로 난독화된 HTML 코드(파일)을 포함하는 웹 페이지 또는 난독화 및 암호화된 HTML 코드(파일)을 포함하는 웹 페이지를 상기 클라이언트 단말로 제공하는 웹 서버를 포함하고, 상기 웹 서버는 상기 클라이언트 단말이 웹 페이지에 접속한 이력을 판단하는 클라이언트 접속이력 판단부; 상기 클라이언트 단말에서 요청하는 웹 페이지를 제공하는 웹 페이지 제공부; 암호화 키값을 제공하는 Key 값 생성부; 상기 클라이언트 접속이력 판단부에서 상기 클라이언트 단말의 접속이 최초라고 판단될 경우, 상기 웹 서버에서 암호화 키값을 생성한 후, 생성된 암호화 키값을 상기 웹 페이지의 HTML 코드(파일)에 믹싱하여 난독화한 후 난독화된 HTML 코드(파일)이 포함된 웹 페이지를 제공하고, 상기 클라이언트 단말의 접속이 최초가 아니라고 판단되면, 이전에 제공된 암호화 키 값을 이용하여 상기 웹 페이지의 HTML 코드(파일)을 암호화한 후, 난독화하고, 난독화 및 암호화된 HTML 코드(파일)이 포함된 웹 페이지를 클라이언트 단말로 제공하는 HTML 난독화 및 암호화부를 포함하고, 상기 클라이언트 단말은 상기 난독화된 HTML 코드(파일)이 포함된 웹 페이지를 제공받을 경우, 상기 웹 브라우저에서 난독화된 웹 페이지 파싱 후, 상기 암호화 키 값을 상기 웹 브라우저의 웹 스토리지에 저장하고, 상기 난독화 및 암호화된 HTML 코드(파일)이 포함된 웹 페이지를 제공받을 경우, 난독화된 웹 페이지 파싱 후, 상기 웹 스토리지에 저장된 암호화 키 값으로 암호화된 HTML 코드(파일)을 복호화 및 렌더링하는 것을 특징으로 한다.A JavaScript-based web automation attack and sniffing blocking system according to an embodiment of the present invention for solving the above problems includes: a client terminal requesting a web page to be executed in a web browser; and a web server that provides a web page including an obfuscated HTML code (file) or a web page including an obfuscated and encrypted HTML code (file) to the client terminal based on the access history of the client terminal and a client access history determination unit for determining a history of the client terminal accessing a web page; a web page providing unit that provides a web page requested by the client terminal; a key value generator providing an encryption key value; When the client connection history determination unit determines that the connection of the client terminal is the first, the web server generates an encryption key value, and then mixes the generated encryption key value with the HTML code (file) of the web page to obfuscate. After providing a web page including the obfuscated HTML code (file), and if it is determined that the client terminal is not the first to connect, the HTML code (file) of the web page is encrypted using the previously provided encryption key value and an HTML obfuscation and encryption unit for obfuscating and providing a web page including the obfuscated and encrypted HTML code (file) to a client terminal, wherein the client terminal includes the obfuscated HTML code (file) When provided with a web page including In the case of receiving an encrypted web page, after parsing the obfuscated web page, the encrypted HTML code (file) is decrypted and rendered with the encryption key value stored in the web storage.
따라서, 본 발명의 일 실시예에 따른 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단방법을 사용하면, 웹서버와 클라이언트 간의 기본적인 HTTP 통신에서 자바스크립트를 활용한 난독화 기능 및 암/복호화를 활용하고 HTML5에서 추가된 웹 스토리지 기술을 접목하여 암호화 키를 관리하여 웹서버에 대한 해킹 시도를 차단할 수 있고, 도/감청을 통한 패킷 스니핑에 대해서도 안전하게 보호할 수 있다는 이점이 있다.Therefore, if the JavaScript-based web automation attack and sniffing blocking method according to an embodiment of the present invention is used, the obfuscation function and encryption/decryption using JavaScript are utilized in basic HTTP communication between the web server and the client, and HTML5 It has the advantage of being able to block hacking attempts on the web server by managing the encryption key by grafting the web storage technology added to the web storage technology, and to be able to safely protect against packet sniffing through wiretapping/eavesdropping.
기존에 ActiveX를 이용하여 만들어진 보안 솔루션들이 존재하지만 이는 웹 서버에서의 솔로션 적용 및 클라이언트에 추가적인 프로그램 설치를 필요로 한다. There are existing security solutions made using ActiveX, but this requires the application of a solution in the web server and the installation of additional programs in the client.
하지만 본 발명과 같이, 웹 브라우저에 내장된 기술을 활용하고 웹 서버 측에서 되돌려지는 HTML 코드(파일)만을 암호화하기에 웹 서버에서 나가는 외부 데이터에 적용하는 것만으로 간단히 구현할 수 있다.However, as in the present invention, it can be implemented simply by applying the technology built into the web browser and encrypting only the HTML code (file) returned from the web server side by applying it to external data leaving the web server.
도 1a는 자바스크립트를 사용하는 웹 페이지의 일 예시도이다.
도 1b는 도 1a의 웹 페이지의 소스 코드를 나타낸 예시도이다.
도 2는 본 발명의 일 실시예에 따른 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 시스템의 네트워크 구성도이다.
도 3은 도 1에 도시된 웹 서버의 세부 구성도이다.
도 4는 본 발명의 일 실시예에 따른 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단방법을 설명한 흐름도이다.
도 5는 도 2에 도시된 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 시스템에 적용한 HTML 원본 코드의 일 예시도이다.
도 6a는 도 5의 HTML 원본코드를 난독화 및 암호화한 일 예시도이다.
도 6a는 도 5의 HTML 원본코드를 난독화 및 암호화한 다른 일 예시도이다.
도 6a는 도 5의 HTML 원본코드를 난독화 및 암호화한 또 다른 일 예시도이다.
도 7a는 도 6a를 클라이언트 단말에서 랜더링한 예시도이다.
도 7b는 도 6b를 클라이언트 단말에서 랜더링한 예시도이다.
도 7c는 도 6c를 클라이언트 단말에서 랜더링한 예시도이다.1A is an exemplary diagram of a web page using JavaScript.
1B is an exemplary diagram illustrating the source code of the web page of FIG. 1A.
2 is a network configuration diagram of a JavaScript-based web automation attack and sniffing blocking system according to an embodiment of the present invention.
FIG. 3 is a detailed configuration diagram of the web server shown in FIG. 1 .
4 is a flowchart illustrating a JavaScript-based web automation attack and sniffing blocking method according to an embodiment of the present invention.
FIG. 5 is an exemplary view of an HTML source code applied to the JavaScript-based web automation attack and sniffing blocking system shown in FIG. 2 .
FIG. 6A is an exemplary diagram of obfuscating and encrypting the HTML original code of FIG. 5 .
FIG. 6A is another exemplary diagram of obfuscating and encrypting the HTML original code of FIG. 5 .
FIG. 6A is another exemplary diagram of obfuscating and encrypting the HTML original code of FIG. 5 .
7A is an exemplary diagram of FIG. 6A rendered by a client terminal.
FIG. 7B is an exemplary diagram of FIG. 6B rendered by the client terminal.
FIG. 7C is an exemplary diagram of FIG. 6C rendered by the client terminal.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are attached to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is said to be "connected" with another part, this includes not only "directly connected" but also "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, it means that other components may be further included, and one or more other features, not excluding other components, unless specifically stated to the contrary. It is to be understood that it does not preclude the presence or addition of any number, step, action, component, part, or combination thereof.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다. The terms "about", "substantially", and the like, as used throughout the specification, are used in or close to the numerical value when manufacturing and material tolerances specific to the stated meaning are presented, and are used to provide an understanding of the present invention. To assist, accurate or absolute numerical values are used to prevent unreasonable use of the stated disclosure by unscrupulous infringers. As used throughout the specification of the present invention, the term "step (to)" or "step of" does not mean "step for".
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In the present specification, the term "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized by using two or more hardware, or two or more units may be realized by one piece of hardware. Meanwhile,'~ unit' is not meant to be limited to software or hardware, and'~ unit' may be configured to be in an addressable storage medium or configured to reproduce one or more processors. Thus, as an example, '~' indicates components such as software components, object-oriented software components, class components and task components, and processes, functions, properties, and procedures , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays and variables. Components and functions provided in the'~ units' may be combined into a smaller number of elements and'~ units', or may be further separated into additional elements and'~ units'. In addition, components and'~ units' may be implemented to play one or more CPUs in a device or a security multimedia card.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다. In the present specification, some of the operations or functions described as being performed by a terminal, device, or device may be performed instead in a server connected to the terminal, device, or device. Likewise, some of the operations or functions described as being performed by the server may also be performed by a terminal, device, or device connected to the server.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.In this specification, some of the operations or functions described as mapping or matching with the terminal means mapping or matching the unique number of the terminal or the identification information of the individual, which is the identification information of the terminal. Can be interpreted as.
이하, 첨부된 도면들에 기초하여 본 발명의 일 실시예에 따른 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단방법을 보다 상세하게 설명하도록 한다.Hereinafter, a JavaScript-based web automation attack and sniffing blocking method according to an embodiment of the present invention will be described in more detail based on the accompanying drawings.
먼저, 본 발명을 설명하기에 앞서, 본 발명에서 사용하는 용어들에 대한 정의를 간단하게 설명한다.First, before describing the present invention, definitions of terms used in the present invention will be briefly described.
난독화는 어떠한 데이터가 있을 때의 의미는 동일하나 쉽게 알아볼 수 없게 수정함으로 의미한다. 예를 들어, 출력해야 할 값이 1501일 때, (15*10)+1451-100과 같이 데이터를 수정한다는 것을 의미한다. Obfuscation means that some data has the same meaning but is modified so that it cannot be easily recognized. For example, when the value to be output is 1501, it means that the data is modified as (15*10)+1451-100.
자바스트립트는 크롬, 인터넷 익스플로러 등 기존의 웹 브라우저에서 사용되는 프로그래밍 언어로서, 이를 이용하면 암호화와 같은 행위도 가능하다. 또한, 웹 페이지의 내용이 ABC 일 때 자바스크립트를 이용하여 “A1B2C3”에서 숫자를 제외한 글자만 출력하라” 등 난독화를 활용할 때도 자바스크립트가 사용된다.Javascript is a programming language used in existing web browsers such as Chrome and Internet Explorer. Using it, actions such as encryption are also possible. Also, when the content of the web page is ABC, JavaScript is also used to use obfuscation, such as “Output only letters excluding numbers in “A1B2C3” using JavaScript.
스니핑은 네트워크 상에서 전송되는 데이터를 해커가 은닉한 상태에서 수집하여 내용을 훔쳐보는 행위를 뜻한다.Sniffing refers to the act of stealing data transmitted over the network by collecting data in a hidden state by hackers.
웹 자동화 공격은 웹 서버에 대해 해킹을 시도하는 행위로서, 보통 해커가 웹 서버에 대해 공격에 사용하는 몇가지 데이터를 입력해 보고, 그 데이터가 처리되어 돌아온 데이터를 확인하여 공격 여부를 판별한다.A web automation attack is an act of hacking a web server. Usually, a hacker enters some data used for an attack on a web server, and checks the returned data after processing the data to determine whether an attack occurs.
웹 스토리지는 웹 브라우저에 내장된 저장소로서, 평소에는 웹 페이지에서 동작하는 게임에서 데이터를 저장하거나 이미지 같은 파일들의 캐쉬로 사용된다.Web storage is a storage built into a web browser and is usually used as a cache for files such as images or to store data in games that run on web pages.
도 2는 본 발명의 일 실시예에 따른 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 시스템의 네트워크 구성도이고, 도 3은 도 1에 도시된 웹 서버의 세부 구성도이고, 도 5는 도 2에 도시된 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 시스템에 적용한 HTML 원본 코드의 일 예시도이고, 도 6a는 도 5의 HTML 원본코드를 난독화 및 암호화한 일 예시도이고, 도 6a는 도 5의 HTML 원본코드를 난독화 및 암호화한 다른 일 예시도이고, 도 6a는 도 5의 HTML 원본코드를 난독화 및 암호화한 또 다른 일 예시도이고, 도 7a는 도 6a를 클라이언트 단말에서 랜더링한 예시도이고, 도 7b는 도 6b를 클라이언트 단말에서 랜더링한 예시도이고, 도 7c는 도 6c를 클라이언트 단말에서 랜더링한 예시도이다.2 is a network configuration diagram of a JavaScript-based web automation attack and sniffing blocking system according to an embodiment of the present invention, FIG. 3 is a detailed configuration diagram of the web server shown in FIG. 1, and FIG. 5 is FIG. It is an exemplary view of the HTML source code applied to the illustrated JavaScript-based web automation attack and sniffing blocking system, FIG. 6A is an example diagram of obfuscating and encrypting the HTML source code of FIG. 5, and FIG. It is another exemplary view of obfuscating and encrypting the HTML source code, FIG. 6A is another exemplary view of obfuscating and encrypting the HTML source code of FIG. 5, and FIG. 7A is an exemplary rendering of FIG. 6A at the client terminal. 7B is an exemplary diagram of FIG. 6B rendered by the client terminal, and FIG. 7C is an exemplary diagram of FIG. 6C rendered by the client terminal.
먼저, 도 1에 도시된 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 시스템(100)은 클라이언트 단말(200) 및 웹 서버(300)를 포함한다.First, the JavaScript-based web automation attack and sniffing blocking
상기 클라이언트 단말(200)은 웹 브라우저를 실행하는 단말로서, 웹 서버(300)로 원하는 HTML 파일이 포함된 웹 페이지를 요청하는 단말일 수 있다.The
상기 클라이언트 단말(200)은 웹 서버에서 제공된 난독화된 HTML 코드(파일)이 포함된 웹 페이지를 제공받을 경우, 상기 웹 브라우저에서 난독화된 웹 페이지 파싱 후, 상기 암호화 키 값을 상기 웹 브라우저의 웹 스토리지에 저장한다.When the
또한, 상기 클라이언트 단말(200)은 상기 난독화 및 암호화된 HTML 코드(파일)이 포함된 웹 페이지를 제공받을 경우, 난독화된 웹 페이지 파싱 후, 상기 웹 스토리지에 저장된 암호화 키 값으로 암호화된 HTML 코드(파일)을 복호화한 후, 복호화된 웹 페이지를 렌더링하는 단말일 수 있다(도 5 내지 도 7 참조)In addition, when the
상기 클라이언트 단말(200)은 스마트폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 폴더블 단말기(Foldable Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(Wearable Device, 예를 들어, 워치형 단말기(Smartwatch), 글래스형 단말기(Smart Glass), HMD(Head Mounted Display) 등 포함), 와이브로(Wibro) 단말기, IPTV(Internet Protocol Television) 단말기, 스마트 TV, 디지털방송용 단말기, AVN(Audio Video Navigation) 단말기, A/V(Audio/Video) 시스템, 플렉시블 단말기(Flexible Terminal), 디지털 사이니지 장치 등과 같은 다양한 단말기에 적용될 수 있다.The
다음으로, 상기 웹 서버(300)는 상기 클라이언트 단말에서 웹 페이지를 요청할 경우, 상기 클라이언트 단말의 접속이력 유무를 판단하고, 상기 클라이언트 단말의 접속이 최초인 경우, 웹 서버에서 암호화 키값을 생성한 후, 생성된 키값을 상기 웹 페이지의 HTML에 믹싱하여 난독화 및 암호화하고, 상기 클라이언트 단말의 접속이 최초가 아닌 경우, 이전에 제공된 암호화 키값을 이용하여 상기 웹 페이지의 HTML에 믹싱하여 난독화 및 암호화한 후, 믹싱된 HTML이 포함된 웹 페이지를 제공하는 구성일 수 있다.Next, when the web server requests a web page from the client terminal, the
상기 웹 서버(300)는 도 3을 참조, 클라이언트 접속이력 판단부(310), 웹 페이지 제공부(320), Key값 생성부(330), HTML 난독화 및 암호화부(340)를 포함한다.Referring to FIG. 3 , the
상기 클라이언트 접속이력 판단부(310)는 클라이언트 단말(200)이 웹 페이지에 접속한 이력을 판단하는 구성일 수 있다.The client connection
상기 웹 페이지 제공부(320)는 클라이언트가 요청한 웹 페이지를 제공하는 구성일 수 있다. 여기서, 웹 페이지는 HTML 코드(파일)로 구현된 정보일 수 있다.The web
상기 Key 값 생성부(330)는 클라이언트 단말의 웹 페이지 접속요청 시점을 기초로 생성되는 암호화 키 값으로, 후술하는 HTML 난독화 및 암호화부(340)에서 암호화 키를 이용하여 HTML 코드 또는 파일을 암호화하는데 사용된다.The
또한, 암호화 키는 HTML 난독화 및 암호화부(340)에서 웹 페이지를 난독화 및 암호화 시에 웹 페이지에 믹싱되어 제공된다.In addition, the encryption key is mixed and provided to the web page when the HTML obfuscation and
또한, 암호화 키는 웹 페이지에 믹싱되어 전송 후, 클라이언트 단말(200)의 웹 브라우저의 웹 스토리지에 저장되고, 렌더링(복호화) 과정시에 사용된다.In addition, the encryption key is mixed with the web page and transmitted, stored in the web storage of the web browser of the
다음으로, 상기 HTML 난독화 및 암호화부(340)는 상기 클라이언트 단말(200)의 접속이 최초인 경우, 웹 서버(300)에서 암호화 키값을 생성한 후, 생성된 키값을 상기 웹 페이지의 HTML 코드(파일)에 믹싱하여 난독화한 후 난독화된 HTML 코드(파일)이 포함된 웹 페이지를 제공한다.Next, the HTML obfuscation and
또한, 상기 HTML 난독화 및 암호화부(340)는 상기 클라이언트 단말(200)의 접속이 최초가 아닌 경우, 이전에 제공된 암호화 키 값을 이용하여 상기 웹 페이지의 HTML 코드(파일)을 암호화한 후, 난독화하고, 난독화 및 암호화된 HTML 코드(파일)이 포함된 웹 페이지를 클라이언트 단말(200)로 제공한다.In addition, the HTML obfuscation and
여기서, 상기 HTML 난독화 및 암호화부(340)는 상기 HTML 코드(파일)을 암호화하는데 있어, 블록형, 스트림형 암호화 알고리즘을 적용하여 암호화할 수 있고, 또한, 미국의 DES, AES, 한국의 SEED, ARIA를 포함하는 모든 암호화 기술을 적용하여 암호화할 수 있는 구성일 수 있다. 따라서, 제한된 암호화 알고리즘만을 사용하지는 않는다. Here, the HTML obfuscation and
도 4는 본 발명의 일 실시예에 따른 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 방법을 설명한 흐름도이다.4 is a flowchart illustrating a JavaScript-based web automation attack and sniffing blocking method according to an embodiment of the present invention.
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 난독화를 위한 웹 서비스 자동화 공격 차단방법(S700)은 먼저, 클라이언트 단말(200)에서 웹 서버(300)에 웹 페이지를 요청(S710)하면, 웹 서버(300)에서 상기 클라이언트 단말(200)의 접속이력 유무를 판단(S720)한다.As shown in FIG. 4 , in the method of blocking a web service automation attack for obfuscation according to an embodiment of the present invention ( S700 ), first, the
이후, 상기 클라이언트 단말의 접속이 최초인 경우, 웹 서버에서 암호화 키값을 생성한 후, 생성된 키값을 상기 웹 페이지의 HTML 코드(파일)에 믹싱하여 난독화한 후 난독화된 HTML 코드(파일)이 포함된 웹 페이지를 제공하고, 상기 클라이언트 단말의 접속이 최초가 아닌 경우, 이전에 제공된 암호화 키값을 이용하여 상기 웹 페이지의 HTML 코드(파일)을 암호화한 후, 난독화하고, 난독화 및 암호화된 HTML 코드(파일)이 포함된 웹 페이지를 제공(S730)한다.Thereafter, when the client terminal accesses for the first time, the web server generates an encryption key value, mixes the generated key value with the HTML code (file) of the web page and obfuscates the obfuscated HTML code (file) provides a web page including this, and when the connection of the client terminal is not the first time, the HTML code (file) of the web page is encrypted using the previously provided encryption key value, and then obfuscated, obfuscated and encrypted A web page including the HTML code (file) is provided (S730).
참고로, 난독화 및/또는 암호화된 HTML 파일은 클라이언트의 웹 페이지 요청 시점에 따라 서로 상이한 결과를 갖는다.For reference, the obfuscated and/or encrypted HTML files have different results depending on when the client requests the web page.
이는 클라이언트의 동일한 정보를 서로 다른 시점에 입력할 경우, 출력은 B, C, D..와 같이 99% 이상의 차이가 존재하도록 출력하기 위함이다.This is to output such that, when the same information of the client is input at different times, there is a difference of 99% or more, such as B, C, D..
이후, 상기 클라이언트 단말(200)에서 제공된 난독화된 웹 페이지를 파싱한 후 HTML 코드(파일)을 실행하거나 또는 난독화된 웹 페이지를 파싱 후 랜더링하여 복호화한 후, 복호화된 HTML을 실행(S740)한다.Thereafter, after parsing the obfuscated web page provided by the
따라서, 본 발명의 일 실시예에 따른 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단방법을 사용하면, 웹서버와 클라이언트 간의 기본적인 HTTP 통신에서 자바스크립트를 활용한 난독화 기능 및 암/복호화를 활용하고 HTML5에서 추가된 웹 스토리지 기술을 접목하여 암호화 키를 관리하여 웹서버에 대한 해킹 시도를 차단할 수 있고, 도/감청을 통한 패킷 스니핑에 대해서도 안전하게 보호할 수 있다는 이점이 있다.Therefore, if the JavaScript-based web automation attack and sniffing blocking method according to an embodiment of the present invention is used, the obfuscation function and encryption/decryption using JavaScript are utilized in basic HTTP communication between the web server and the client, and HTML5 It has the advantage of being able to block hacking attempts on the web server by managing the encryption key by grafting the web storage technology added to the web storage technology, and to be able to safely protect against packet sniffing through wiretapping/eavesdropping.
기존에 ActiveX를 이용하여 만들어진 보안 솔루션들이 존재하지만 이는 웹 서버에서의 솔로션 적용 및 클라이언트에 추가적인 프로그램 설치를 필요로 한다. 하지만 본 발명과 같이, 웹 브라우저에 내장된 기술을 활용하고 웹 서버 측에서 되돌려지는 HTML 코드(파일)만을 암호화하기에 웹 서버에서 나가는 외부 데이터에 적용하는 것만으로 간단히 구현할 수 있다.There are existing security solutions made using ActiveX, but this requires the application of a solution in the web server and the installation of additional programs in the client. However, as in the present invention, it can be implemented simply by applying the technology built into the web browser and encrypting only the HTML code (file) returned from the web server side by applying it to external data leaving the web server.
본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each block in the block diagram attached to the present invention and each step in the flowchart may be performed by computer program instructions. These computer program instructions may be embodied in a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, such that the instructions performed by the processor of the computer or other programmable data processing equipment may be configured in the respective blocks of the block diagram or of the flowchart. Each step creates a means for performing the described functions. These computer program instructions may also be stored in a computer-usable or computer-readable memory that may direct a computer or other programmable data processing equipment to implement a function in a particular manner, and thus the computer-usable or computer-readable memory. The instructions stored in the block diagram may also produce an item of manufacture containing instruction means for performing a function described in each block of the block diagram or each step of the flowchart. Since computer program instructions can also be mounted on a computer or other programmable data processing equipment, a series of operating steps are performed on a computer or other programmable data processing equipment to create a computer-executable process to create a computer or other programmable data processing equipment. It is also possible for the instructions to perform the processing equipment to provide steps for executing the functions described in each block of the block diagram and each step of the flowchart.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block or each step may represent a module, segment, or part of code that contains one or more executable instructions for executing the specified logical function(s). In addition, it should be noted that in some alternative embodiments, functions mentioned in blocks or steps may occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially simultaneously, or the blocks or steps may sometimes be performed in the reverse order depending on the corresponding function.
이상의 설명은 본 발명의 기술적 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains will be able to make various modifications and variations without departing from the essential characteristics of the present invention. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but to explain the technical idea, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.
100: 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 시스템
200: 클라이언트 단말
300: 웹 서버
310: 클라이언트 접속 판단부
320: 웹 페이지 제공부
330: Key 값 생성부
340: HTML 난독화 및 암호화부100: JavaScript-based web automation attack and sniffing blocking system
200: client terminal
300: web server
310: client access determination unit
320: web page providing unit
330: Key value generator
340: HTML obfuscation and encryption unit
Claims (2)
상기 클라이언트 단말의 접속이력을 기초로 난독화된 HTML 코드(파일)을 포함하는 웹 페이지 또는 난독화 및 암호화된 HTML 코드(파일)을 포함하는 웹 페이지를 상기 클라이언트 단말로 제공하는 웹 서버를 포함하고,
상기 웹 서버는
상기 클라이언트 단말이 웹 페이지에 접속한 이력을 판단하는 클라이언트 접속이력 판단부;
상기 클라이언트 단말에서 요청하는 웹 페이지를 제공하는 웹 페이지 제공부;
암호화 키값을 제공하는 Key 값 생성부;
상기 클라이언트 접속이력 판단부에서 상기 클라이언트 단말의 접속이 최초라고 판단될 경우, 상기 웹 서버에서 암호화 키값을 생성한 후, 생성된 암호화 키값을 상기 웹 페이지의 HTML 코드(파일)에 믹싱하여 난독화한 후 난독화된 HTML 코드(파일)이 포함된 웹 페이지를 제공하고, 상기 클라이언트 단말의 접속이 최초가 아니라고 판단되면, 이전에 제공된 암호화 키 값을 이용하여 상기 웹 페이지의 HTML 코드(파일)을 암호화한 후, 난독화하고, 난독화 및 암호화된 HTML 코드(파일)이 포함된 웹 페이지를 클라이언트 단말로 제공하는 HTML 난독화 및 암호화부를 포함하고,
상기 클라이언트 단말은
상기 난독화된 HTML 코드(파일)이 포함된 웹 페이지를 제공받을 경우, 상기 웹 브라우저에서 난독화된 웹 페이지 파싱 후, 상기 암호화 키 값을 상기 웹 브라우저의 웹 스토리지에 저장하고,
상기 난독화 및 암호화된 HTML 코드(파일)이 포함된 웹 페이지를 제공받을 경우, 난독화된 웹 페이지 파싱 후, 상기 웹 스토리지에 저장된 암호화 키 값으로 암호화된 HTML 코드(파일)을 복호화 및 렌더링하는 것을 특징으로 하는 자바스크립트 기반의 웹 자동화 공격 및 스니핑 차단 시스템a client terminal requesting a web page to be executed in a web browser; and
A web server that provides a web page including an obfuscated HTML code (file) or a web page including an obfuscated and encrypted HTML code (file) to the client terminal based on the access history of the client terminal, ,
The web server is
a client access history determination unit for determining a history of the client terminal accessing a web page;
a web page providing unit that provides a web page requested by the client terminal;
a key value generator providing an encryption key value;
When the client connection history determination unit determines that the connection of the client terminal is the first, the web server generates an encryption key value, and then mixes the generated encryption key value with the HTML code (file) of the web page to obfuscate After providing a web page including the obfuscated HTML code (file), and if it is determined that the client terminal is not the first to connect, the HTML code (file) of the web page is encrypted using the previously provided encryption key and then obfuscate and include an HTML obfuscation and encryption unit that provides a web page containing an obfuscated and encrypted HTML code (file) to a client terminal,
The client terminal
When receiving a web page including the obfuscated HTML code (file), after parsing the obfuscated web page in the web browser, the encryption key value is stored in the web storage of the web browser,
When receiving a web page containing the obfuscated and encrypted HTML code (file), after parsing the obfuscated web page, decrypting and rendering the encrypted HTML code (file) with the encryption key value stored in the web storage JavaScript-based web automation attack and sniffing blocking system, characterized in that
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200098588A KR102258638B1 (en) | 2020-08-06 | 2020-08-06 | Systems and methods to block JavaScript-based web automation attacks and sniffing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200098588A KR102258638B1 (en) | 2020-08-06 | 2020-08-06 | Systems and methods to block JavaScript-based web automation attacks and sniffing |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102258638B1 true KR102258638B1 (en) | 2021-06-01 |
Family
ID=76375970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200098588A KR102258638B1 (en) | 2020-08-06 | 2020-08-06 | Systems and methods to block JavaScript-based web automation attacks and sniffing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102258638B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115062317A (en) * | 2022-03-19 | 2022-09-16 | 万达信息股份有限公司 | Method for encrypting webpage content under heterogeneous CPU system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130140969A (en) * | 2012-05-24 | 2013-12-26 | 주식회사 엘지유플러스 | Method for providing encrypted web application, device, and recording medium thereof |
KR20160061141A (en) | 2014-11-21 | 2016-05-31 | 에스케이텔레콤 주식회사 | Method and apparatus for blocking web page attack |
US20170134347A1 (en) * | 2015-11-10 | 2017-05-11 | AO Kaspersky Lab | System amd method for secure transmission of web pages using encryption of their content |
-
2020
- 2020-08-06 KR KR1020200098588A patent/KR102258638B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130140969A (en) * | 2012-05-24 | 2013-12-26 | 주식회사 엘지유플러스 | Method for providing encrypted web application, device, and recording medium thereof |
KR20160061141A (en) | 2014-11-21 | 2016-05-31 | 에스케이텔레콤 주식회사 | Method and apparatus for blocking web page attack |
US20170134347A1 (en) * | 2015-11-10 | 2017-05-11 | AO Kaspersky Lab | System amd method for secure transmission of web pages using encryption of their content |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115062317A (en) * | 2022-03-19 | 2022-09-16 | 万达信息股份有限公司 | Method for encrypting webpage content under heterogeneous CPU system |
CN115062317B (en) * | 2022-03-19 | 2024-03-26 | 万达信息股份有限公司 | Method for encrypting webpage content under heterogeneous CPU system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10489561B2 (en) | Web application protection | |
US10069809B2 (en) | System and method for secure transmission of web pages using encryption of their content | |
US10313112B2 (en) | Browser security module | |
KR100808434B1 (en) | Method and system for monitoring user interaction with a computer | |
Patel | Performance analysis of AES, DES and Blowfish cryptographic algorithms on small and large data files | |
US10904227B2 (en) | Web form protection | |
CN109495426B (en) | Data access method and device and electronic equipment | |
US20140351583A1 (en) | Method of implementing a right over a content | |
CN111460503B (en) | Data sharing method, device, equipment and storage medium | |
KR20080101333A (en) | Secutiry method using virtual keyboard | |
CN110851800B (en) | Code protection method, device, system and readable storage medium | |
KR20130093557A (en) | System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction | |
JP2010072916A (en) | Data protection system and data protection method | |
KR102258638B1 (en) | Systems and methods to block JavaScript-based web automation attacks and sniffing | |
CN109343971B (en) | Browser data transmission method and device based on cache technology | |
EP3005207B1 (en) | Digital content execution control mechanism | |
CN115277225A (en) | Data encryption method, data decryption method and related equipment | |
Jemel et al. | Security assurance of local data stored by HTML5 web application | |
KR101511451B1 (en) | Method of encryption to keyboard input information | |
CN115952518B (en) | Data request method, device, electronic equipment and storage medium | |
CN114978620B (en) | Encryption method and decryption method for identity identification number | |
CN114826729B (en) | Data processing method, page updating method and related hardware | |
MacFadden et al. | Performance Impacts of JavaScript-Based Encryption of HTML5 Web Storage for Enhanced Privacy | |
Damsika et al. | A novel mechanism for secure e-tendering in an open electronic network | |
CN116708016A (en) | Sensitive data transmission method, server and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |