KR101793829B1 - Distributed users behavior simulation system through a forced injection script to the browser - Google Patents
Distributed users behavior simulation system through a forced injection script to the browser Download PDFInfo
- Publication number
- KR101793829B1 KR101793829B1 KR1020160073474A KR20160073474A KR101793829B1 KR 101793829 B1 KR101793829 B1 KR 101793829B1 KR 1020160073474 A KR1020160073474 A KR 1020160073474A KR 20160073474 A KR20160073474 A KR 20160073474A KR 101793829 B1 KR101793829 B1 KR 101793829B1
- Authority
- KR
- South Korea
- Prior art keywords
- script
- client
- browser
- mobile terminal
- simulation system
- Prior art date
Links
- 238000013515 script Methods 0.000 title claims abstract description 78
- 238000004088 simulation Methods 0.000 title abstract description 16
- 238000002347 injection Methods 0.000 title abstract description 15
- 239000007924 injection Substances 0.000 title abstract description 15
- 238000000034 method Methods 0.000 claims description 14
- 230000008859 change Effects 0.000 abstract description 6
- 230000006399 behavior Effects 0.000 description 11
- 235000014510 cooky Nutrition 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010223 real-time analysis Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G06F17/5009—
-
- 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/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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
본 발명은 브라우저에 강제 스크립트 주입을 통한 분산된 사용자 행동 시뮬레이션 시스템에 관한 것으로, 더욱 상세하게는 인젝션 툴, 브라우저, 분산 스트립트 실행 모듈, 중계서버 및 ip변경툴을 포함하는 5개의 모듈로 구성된 유저가 제작한 스크립트를 주입하는 것이 가능하며, 적어도 2대 이상의 클라이언트가 브라우저에 스크립트를 강제 주입하는 방안에 관한 것이다.
The present invention relates to a distributed user behavior simulation system through forced injection of a script into a browser, and more particularly to a user system composed of five modules including an injection tool, a browser, a distributed script execution module, a relay server and an ip change tool It is possible to inject the produced script, and at least two or more clients are forced to inject the script into the browser.
최근 국내 웹사이트의 보안 취약성과 관련하여 악성코드 유포사이트나 사기쇼핑몰 등 네티즌들을 위험에 빠뜨릴 수 있는 웹사이트 수가 무려 1만2000여 개를 넘어섰다. 웹사이트 곳곳이 '함정'인 셈이다.Recently, the number of websites that could put malicious code distribution sites and fraudulent shopping malls at risk for the security vulnerability of domestic websites has exceeded 12,000. Web sites are all 'traps'.
또한 최신의 해킹 기법은 웹사이트를 통한 악성코드를 유포하는 방식도 보다 교묘해지고 있는 실정이다. In addition, the latest hacking techniques are becoming more sophisticated in how they distribute malicious code through websites.
일반적으로 이 같은 방식은 웹사이트를 해킹한 뒤 이용자 PC가 접속할 경우, 악성코드 숙주서버와 링크되는 코드를 홈페이지 안에 숨겨놓는 경우가 대부분인데, 웹사이트 개발 중, 사전에 xss, csrf 공격 등을 모의 테스트 하여 취약한 부분을 발견하고, 보완할 수 있도록 웹사이트 개발자에게 정보를 제공하는 것에 핵심이 있다고 할 수 있다.Generally, in this case, when a user's PC accesses a website after hacking, most of the code linking with the malicious code host server is hidden in the homepage. In the course of developing the website, a simulation of xss and csrf attacks It is crucial to provide information to web site developers so that they can test and detect vulnerabilities and supplement them.
이러한 시대적 상황을 배경으로 다양한 보안장비 및 소프트웨어들이 개발되었음에도 왜 네트워크를 통하여 공격 및 전파되는 위협으로부터 자유롭지 못한 것은 웹이 주는 다양한 편의성 때문이다. 이러한 편의성은 종종 공격자로 하여금 유용한 Evasion(탐지 회피)기술이 된다.Even though various security equipment and software have been developed in the background of this situation, why the web is not free from the threat of attack and propagation through the network is due to various convenience of the web. This convenience is often a useful Evasion technique for attackers.
상기 회피 기술을 이용한 해킹 공격에 공격당하는 경우, 보통 관리자들에게 발견되지 않으며, 아주 오랜기간 동안 웹 서버의 서비스 내에 활동하는 각종 정보들을 유출 및 열람하고, 추가적으로 발생되는 부가 정보를 얻기 위하여 시스템 내에 인위적으로 기생한다. In case of being attacked by the hacking attack using the avoiding technique, it is not usually found by the administrators. In order to obtain and obtain additional information that is generated in the service of the web server for a long period of time, .
더불어 공격자는 자신에게 주어진 제어권을 이용하여 웹서버 내지는 서비스에 접속하는 정상 사용자들에게 악의적인 프로그램을 내려보내기 위하여 초기 웹페이지 내(디폴트 웹페이지)를 수정하는 방법들을 널리 이용하고 있다.
In addition, an attacker widely uses methods of modifying the initial web page (default web page) to send a malicious program to a normal user accessing a web server or a service using the control right given to the user.
본 발명이 해결하고자 하는 과제는 웹 브라우저의 사용자 경험증가와 편의를 위해 만들어진 구조의 악용 여부를 사전에 점검하는 방안을 제안함에 있다.A problem to be solved by the present invention is to propose a method for checking whether or not an exploited structure has been exploited in order to increase the user experience of a web browser and for convenience.
본 발명이 해결하고자 하는 다른 과제는 웹 브라우저를 악성 스크립트를 이용한 해킹으로부터 보호하는 방안을 제안함에 있다.Another problem to be solved by the present invention is to provide a method for protecting a web browser from hacking using a malicious script.
본 발명이 해결하고자 하는 또 다른 과제는 웹 브라우저를 다양한 루트를 이용하여 접속하는 경우, 웹 브라우저가 사전에 이를 감지할 수 있는지 여부를 확인하는 방안을 제안함에 있다.Another problem to be solved by the present invention is to propose a method for confirming whether or not a web browser can detect it in advance when accessing the web browser using various routes.
발명이 해결하려는 과제는 클라이언트 단에서 악성 스크립트 모의 테스트를 실행하여 해킹 공격을 감지하고 관리자에게 경고하여 원천적인 공격의 흐름인 보안취약점(Security Hole)을 감지하고, 내부 웹 서버 프로그램 및 소스 코드 상의 문제점을 진단하여 외부의 침해사고를 고도의 경험 없이 자동으로 분석 및 실시간 분석할 수 방안을 제안하는 것을 목적으로 한다.
The problem to be solved by the invention is to execute a malicious script simulation test at a client terminal to detect a hacking attack and warn an administrator to detect a security hole as a flow of an original attack and to detect an internal web server program and a problem The purpose of this paper is to propose an automatic analysis and real - time analysis of an external infringement accident without a high level of experience.
이를 위한 본 발명의 브라우저에 강제 스크립트 주입을 통한 분산된 사용자 행동 시뮬레이션 시스템은 설정된 단위로 모바일 기지국으로부터 IP를 할당받는 모바일 단말, 상기 모바일 단말로부터 상기 모바일 단말이 할당받은 IP를 제공받으며, 스크립트를 작성하는 클라이언트 및 상기 클라이언트로부터 스크립트를 제공받으며, 제공받은 스크립트를 연결된 다른 클라이언트로 배포하는 중계 서버를 포함한다.
A distributed user behavior simulation system for injecting a forced script into a browser of the present invention comprises a mobile terminal that receives an IP allocated from a mobile station in a predetermined unit, receives an IP allocated by the mobile terminal from the mobile terminal, And a relay server that receives a script from the client and distributes the received script to another connected client.
본 발명의 브라우저에 강제 스크립트 주입을 통한 분산된 사용자 행동 시뮬레이션 시스템은 클라이언트 단에서 악성스크립트 모의 테스트를 실행하여 해킹 공격을 감지하고 관리자에게 경고하여 원천적인 공격의 흐름인 보안취약점(Security Hole)을 감지하고, 내부 웹 서버 프로그램 및 소스 코드 상의 문제점을 진단하여 외부의 침해사고를 고도의 경험 없이 자동적으로 분석 및 실시간 분석하여, 추후 해커에 의한 웹 사이트 공격을 차단할 수 있는 장점이 있다.
The distributed user behavior simulation system through the forced script injection to the browser of the present invention executes a malicious script simulation test at the client terminal to detect a hacking attack and warns the administrator to detect a security hole as a flow of the original attack And diagnoses the problems on the internal web server program and the source code, thereby automatically analyzing and real-time analyzing an external invasion accident without a high degree of experience, and is capable of blocking a website attack by a hacker in the future.
도 1은 본 발명의 일실시 예에 따른 브라우저에 강제 스크립트 주입을 통한 분산된 사용자 행동 시뮬레이션 시스템을 도시하고 있다.
도 2는 본 발명의 일실시 예에 따른 스크립트를 이용하여 웹 사이트에 접속한 예를 도시하고 있다.
도 3은 본 발명의 일실시 예에 따른 다수의 클라이언트를 분산 스크립트를 실행한 예를 도시하고 있다.
도 4는 본 발명의 일실시 예에 따른 클라이언트(본 발명에서 제안하는 브라우저)의 화면을 도시하고 있다.
도 5는 본 발명의 일실시 예에 따른 모바일 단말의 화면을 도시하고 있다.
도 6은 모바일 단말에 설치된 IP_CHanGE_V5(IP 변동) 앱을 도시하고 있다.
도 7은 클라이언트에 설치된 실행 파일을 활성화 화면을 도시하고 있다.
도 8은 본 발명의 일실시 예에 따른 클라이언트의 화면을 도시하고 있다.
도 9는 본 발명에 따른 인젝션을 설명하는 도면이다.Figure 1 illustrates a distributed user behavior simulation system via forced script injection into a browser in accordance with an embodiment of the present invention.
FIG. 2 illustrates an example of accessing a web site using a script according to an embodiment of the present invention.
FIG. 3 illustrates an example of executing a distributed script for a plurality of clients according to an embodiment of the present invention.
FIG. 4 shows a screen of a client (a browser proposed by the present invention) according to an embodiment of the present invention.
FIG. 5 illustrates a screen of a mobile terminal according to an exemplary embodiment of the present invention.
FIG. 6 shows an IP_CHANGE_V5 (IP change) application installed in a mobile terminal.
7 shows an activation screen for an executable file installed in the client.
FIG. 8 illustrates a screen of a client according to an embodiment of the present invention.
9 is a view for explaining injection according to the present invention.
전술한, 그리고 추가적인 본 발명의 양상들은 첨부된 도면을 참조하여 설명되는 바람직한 실시 예들을 통하여 더욱 명백해질 것이다. 이하에서는 본 발명의 이러한 실시 예를 통해 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 설명하기로 한다.BRIEF DESCRIPTION OF THE DRAWINGS The foregoing and further aspects of the present invention will become more apparent from the following detailed description of preferred embodiments with reference to the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the embodiments of the present invention, examples of which are illustrated in the accompanying drawings.
추가로 본 툴의 기능 중 하나인 분산스크립트 실행 기능을 활용하면 더욱더 오차 없이 목표로 하는 웹사이트에 위변조된 웹사이트 유저의 각종 행위에서 비롯한 웹사이트의 작동 및 오류를 사전에 감지할 수 있다. 이 툴은 웹사이트 서비스중에 발생하는 모든 방문자들의 행위를 시뮬레이션 가능하다.In addition, using the distributed script execution function, which is one of the functions of this tool, it is possible to detect the operation and error of the web site including the various behaviors of the website user who is falsified on the target website without any error. This tool is able to simulate the behavior of all visitors during a website service.
과거에는 주로 MS 윈도 보안업데이트만 제대로 받으면 웹 바이러스 피해를 최소화할 수 있었지만, 최근에는 웹 서버 자체에 대한 응용프로그램 및 데이터베이스에 대한 종합적인 보안 업데이트가 시급해지고 있다.In the past, it was possible to minimize the damage of web viruses mainly by receiving MS Windows security update, but recently, comprehensive security update for application and database for web server itself is urgent.
아무리 잘 제작된 코드라도, 웹사이트의 방문자의 행위를 모두 방어할 수는 없다. 많은 시나리오를 설정하여 투표조작, 방문자 수 조작 등의 어뷰징 툴과 같은 행태를 사전에 시뮬레이션하는 것은 웹서비스 품질 향상을 위한 필수 조치이다. 이와 같은 형태의 방문자들의 단합에 의한 조작 등은 코드로 방어할 수 없다.No matter how well-crafted code is, it can not defend all the behavior of visitors to your website. Setting up many scenarios to simulate behaviors such as voting and manipulation of visitors, such as an observer tool, is a necessary step to improve Web service quality. This type of manipulation by unification of visitors can not be defended by code.
너무 많은 시나리오가 존재하기 때문에 예상 가능한 여러 시나리오를 사전에 모의 실험해보고 그 결과를 바탕으로 통계를 만들어 꾸준히 관리, 점검의 매뉴얼로 만들어 내는 방법만 가능하다.Because there are too many scenarios, it is only possible to simulate various scenarios that can be predicted, and to make statistics based on the results, and to make them consistently manage and check manuals.
본 발명과 관련하여 "스크립트"는 javascript와 javascript를 응용한 각종 javascript 라이브러리를 지칭한다. 또한, "클라이언트"는 ip변경,스크립트인젝션 기능이 추가된 웹브라우저를 지칭한다.In the context of the present invention, "script" refers to various javascript libraries using javascript and javascript. Also, "client" refers to a web browser to which an ip change and a script injection function are added.
도 1은 본 발명의 일실시 예에 따른 브라우저 위변조 사전 모의 테스트 시스템을 도시하고 있다. 이하 도 1을 이용하여 본 발명의 일실시 예에 따른 브라우저 위변조 사전 모의 테스트 시스템에 대해 상세하게 알아보기로 한다.Figure 1 illustrates a browser forgery pre-simulation test system in accordance with an embodiment of the present invention. Hereinafter, a browser forgery pre-simulation test system according to an embodiment of the present invention will be described in detail with reference to FIG.
도 1에 의하면 브라우저에 강제 스크립트 주입을 통한 분산된 사용자 행동 시뮬레이션 시스템은 모바일 단말, 중계 서버, 및 클라이언트를 포함한다. 물론 상술한 구성 이외에 다른 구성이 본 발명에서 제안하는 브라우저에 강제 스크립트 주입을 통한 분산된 사용자 행동 시뮬레이션 시스템에 포함될 수 있다.Referring to FIG. 1, a distributed user behavior simulation system using a forced script injection in a browser includes a mobile terminal, a relay server, and a client. Of course, other configurations than the above-described configuration may be included in the distributed user behavior simulation system through forced script injection to the browser proposed by the present invention.
일 예로 웹사이트 서버는 브라우저에 강제 스크립트 주입을 통한 분산된 사용자 행동 시뮬레이션 시스템에서 사전 점검이 요구되는 웹사이트의 서버이다.For example, a web site server is a web site server that requires a pre-check in a distributed user behavior simulation system through a forced script injection into a browser.
중계 서버(105)는 클라이언트(110, 110a 내지 110c)를 인증하며, 클라이언트(110)를 제어한다. 중계 서버(105)는 접속한 클라이언트(110)가 정상적으로 접속하였는지 여부를 판단한다. 또한, 중계 서버(105)는 악성코드를 필터링하며, 스크립트를 접속한 다수의 클라이언트로 배포한다. 부연하여 설명하면, 중계 서버(105)는 특정 클라이언트로부터 제공받은 스크립트를 연결된 다른 클라이언트로 배포한다.The
클라이언트(110)는 스크립트를 작성하고, 작성한 스크립트를 이용하여 웹 사이트 서버에 접속한다. 클라이언트(110)는 중계 서버(105)로부터 제공받은 스크립트를 이용하여 접속한다. 부연하여 설명하면, 클라이언트(110)는 작성한 스크립트를 이용하여 웹 사이트 서버(또는 웹 사이트)에 접속하며, 작성한 스크립트를 중계 서버(105)로 제공한다. 또한, 클라이언트(110)는 자신이 작성한 스크립트 이외에 중계 서버로부터 제공받은 스크립트를 이용하여 웹 사이트에 접속한다.The client 110 creates a script and accesses the website server using the created script. The client 110 connects using the script provided from the
모바일 단말(115, 115a 내지 115c)은 설치된 안드로이드 어플리케이션을 이용하여 IP를 할당받으며, 할당받은 IP를 클라이언트(110)로 제공한다. 본 발명과 관련하여 모바일 단말은 작성된 스크립트가 1회 반복되면 클라이언트로 새로운 IP를 제공하기 위해 새로운 IP를 할당받는다. 일반적으로 웹사이트는 접속한 클라이언트가 동일 작업을 반복수행 중 IP가 같으면 중복 실행이라고 판단하여 필터링한다. 따라서 본 발명은 이와 같은 문제점을 해결하기 위해 모바일 단말에서 일정 간격으로 새로운 IP를 할당받으며, 할당받은 IP를 클라이언트로 제공한다.The
클라이언트는 작성한 스크립트를 이용하여 웹 사이트를 접속함에 있어, 모바일 단말로부터 일정 단위로 제공받은 IP를 이용하여 웹 사이트에 접속한다. 이와 같은 경우, 클라이언트는 하나의 스크립트를 실행하더라도 중계서버에 접속한 유저가 많으면 자신이 작성한 스크립트 이외에 중계 서버로부터 제공받은 다른 클라이언트가 작성한 스크립트를 동시에 실행할 수 있으므로 스크립트의 실행 횟수가 급격하게 증가한다.The client connects to the web site by using the created script, and accesses the web site by using the IP provided by the mobile terminal in a predetermined unit. In this case, even if a client executes a single script, the number of users who access the relay server can simultaneously execute a script created by another client provided by the relay server in addition to the script created by the client, so that the number of execution of the script increases sharply.
부연하여 설명하면, 브라우저는 동일한 스크립트를 이용하여 웹 사이트에 접속하는 클라이언트가 동일한 IP로 접속하는 경우에는 하나의 클라이언트로 인식하는 반면, 상이한 IP로 접속하는 경우에는 상이한 클라이언트로 인식한다. 따라서 하나의 클라이언트는 모바일 단말로 제공받은 IP 개수와 중계 서버로부터 제공받은 스크립트의 개수를 곱한 수만큼 상이한 형태로 브라우저 서버에 접속하는 것이 가능하다. In other words, when a client accessing a web site using the same script uses a same IP, the browser recognizes the client as a single client. On the other hand, when browsing through a different IP, the browser recognizes the client as a different client. Therefore, it is possible for one client to access the browser server in a different form multiplied by the number of IPs provided to the mobile terminal and the number of scripts provided from the relay server.
여기에 쿠키를 조작하고, 원시 헤더(header) 정보를 조작하면 완벽히 다른 접속자(클라이언트)로 인식하여 웹사이트 관리자는 동일작업을 반복하여도 구분해 낼 수 없다.If the cookie is manipulated and the header information is manipulated, it is recognized as a completely different client (client), and the web site administrator can not distinguish even if the same operation is repeated.
본 발명은 특정 브라우저를 이용하여 중계 서버에 접속하면 조작하고자 하는 웹사이트로 이동하여 그 웹사이트를 제어할 수 있는 스크립트를 작성한다. 클라이언트가 작성한 스크립트는 타겟이 되는 원본 웹사이트에 없는 기능들이다.In the present invention, when a user accesses a relay server using a specific browser, the script is moved to a web site to be operated and a script capable of controlling the web site is created. Scripts written by the client are functions that are not found on the target web site.
악성 스크립트는 추가할 스크립트 코드를 게시판에 글쓰기하여 필터링을 피하는 형태로 발전해 왔다. 하지만 본 발명에서 제안하는 방법은 타겟이 되는 웹사이트를 보여주는 브라우저에 스크립트를 인젝션 한다.Malicious scripts have evolved to avoid filtering by writing script code to be added on the bulletin board. However, the method proposed by the present invention injects a script into a browser showing a target web site.
도 2는 본 발명의 일실시 예에 따른 스크립트를 이용하여 웹 사이트에 접속한 예를 도시하고 있다. 도 2에 의하면, jquery 스크립트를 추가로 daum.net 웹사이트에 인젝션하여 jquery 함수를 호출하여 daum.net 웹사이트를 접속하여 조작한 예를 도시하고 있다.FIG. 2 illustrates an example of accessing a web site using a script according to an embodiment of the present invention. Referring to FIG. 2, the jquery script is further injected into the daum.net website, and the jquery function is called to access and manipulate the daum.net website.
도 3은 본 발명의 일실시 예에 따른 다수의 클라이언트를 이용하여 분산 스크립트를 실행한 예를 도시하고 있다. 특히 도 3은 3개의 클라이언트가 중계서버에 접속하며, 중계 서버는 접속한 각 클라이언트들에게 특정 스크립트에 대한 실행 명령을 보내며, 각 클라이언트는 특정 웹 사이트에 접속하여 스크립트를 수행한다. 일 예로 스크립트의 명령은 "네이버에서 '야후 서비스' 키워드를 검색하라", 또는 "네이버에서 '구글' 키워드를 검색하라" 이다.
FIG. 3 illustrates an example of executing a distributed script using a plurality of clients according to an embodiment of the present invention. In particular, in FIG. 3, three clients connect to a relay server, and the relay server sends an execution command for a specific script to each connected client, and each client accesses a specific web site to execute a script. For example, the script's command is "Search for 'Yahoo Service' keyword on Naver," or "Search Google" keyword on Naver.
이하에서는 클라이언트가 웹 사이트에 접속하는 과정에 대해 알아보기로 한다.Hereinafter, a process of a client accessing a web site will be described.
도 4는 본 발명의 일실시 예에 따른 클라이언트(본 발명에서 제안하는 브라우저)의 화면을 도시하고 있다. 도 4에 의하면 클라이언트는 실행파일 2개와 dll파일을 포함하며, 실행파일은 choeen_browser와 Choeenserver이다. 물론 실행파일은 클라이언트의 브라우저에 따라 달라질 수 있다. FIG. 4 shows a screen of a client (a browser proposed by the present invention) according to an embodiment of the present invention. 4, the client includes two executable files and a dll file, and the executable files are choeen_browser and Choeenserver. Of course, the executable file may vary depending on the client's browser.
도 5는 본 발명의 일실시 예에 따른 모바일 단말의 화면을 도시하고 있다. 도 5에 의하면, 모바일 단말은 IP_CHanGE_V5 앱이 설치된다. IP_CHanGE_V5앱은 모바일 단말의 사용자의 요청에 따라 외부 서버로 IP 할당을 요청하며, 모바일 기지국으로부터 IP를 할당받아 클라이언트의 ip를 바꿔주는 기능을 수행한다. 물론 IP_CHanGE_V5 앱은 외부 서버로부터 동일한 IP를 할당받는 것이 아니라 매번 상이한 IP를 할당받는다.FIG. 5 illustrates a screen of a mobile terminal according to an exemplary embodiment of the present invention. Referring to FIG. 5, an IP_CHANGE_V5 app is installed in the mobile terminal. IP_CHANGE_V5 The application requests IP allocation to the external server according to the request of the user of the mobile terminal, and allocates the IP from the mobile base station and changes the ip of the client. Of course, the IP_CHANGE_V5 app is not assigned the same IP from the external server but is assigned a different IP each time.
도 6은 모바일 단말에 설치된 IP_CHanGE_V5(IP 변동) 앱을 도시하고 있다. 도 6에 도시되어 있는 바와 같이 설치된 IP_CHanGE_V5 앱에 의해 외부 서버로부터 IP를 할당받는 것이 가능하다.FIG. 6 shows an IP_CHANGE_V5 (IP change) application installed in a mobile terminal. It is possible to receive an IP from an external server by the installed IP_CHANGE_V5 app as shown in FIG.
도 7은 클라이언트에 설치된 실행 파일을 활성화한 화면을 도시하고 있다. 일 예로 클라이언트 사용자가 만든 파일인 임시 파일을 임시로 ‘script source file’이라고 하며, 파일 확장자는 ‘choeen’이라 한다. 임시 파일은 암호화되어 있어 해당 클라이언트에서만 복호화가 가능하다. 'script source file'은 개별적으로 배포가 가능한 형태다.Fig. 7 shows a screen in which an executable file installed in the client is activated. For example, a temporary file created by a client user is temporarily called a 'script source file', and a file extension is called 'choeen'. The temporary file is encrypted and can be decrypted only by the client. The 'script source file' is a separately distributable form.
실행 파일은 모바일 단말에 설치된 IP 변동 앱으로부터 제공받은 IP 변동을 중계하는 기능을 수행한다. 부연하여 설명하면, 실행 파일은 클라이언트의 IP를 모바일 단말로부터 제공받은 IP로 변경하여 브라우저 서버에 접속하도록 하는 기능을 수행한다.The executable file relays the IP fluctuation provided from the IP fluctuation app installed in the mobile terminal. In other words, the executable file has a function of changing the IP of the client to an IP provided from the mobile terminal and connecting to the browser server.
도 8(a)는 클라이언트의 화면을 도시하고 있다. 이에 대해 구체적으로 살펴보기로 한다. 도 8(b)는 중계 서버의 화면을 도시하고 있다. 도 8(b)에 의하면, 오른쪽에는 중계 서버에 접속한 클라이언트에 대한 정보가 표시된다.8 (a) shows a screen of a client. This will be described in detail. 8 (b) shows a screen of the relay server. According to Fig. 8 (b), information on the client connected to the relay server is displayed on the right side.
도 8(c)는 클라이언트가 접속한 브라우저 화면을 도시하고 있다. 도 8(c)에 도시되어 있는 바와 같이 브라우저의 고유기능이 전부 표시되며, 일반적인 검색 기능도 가능하다.Fig. 8 (c) shows a browser screen accessed by the client. As shown in Fig. 8 (c), all the unique functions of the browser are displayed, and a general search function is also possible.
도 8(d)는 클라이언트가 접속한 브라우저 다른 화면을 도시하고 있다. 도 8(d)는 ‘웹’ 탭 옆에 위치한 ‘리퀘스트’ 탭을 클릭한 화면이다. 리퀘스트는 클라이언트에서 http 서버에 요청하는 값을 실시간으로 확인할 수 있다.Fig. 8 (d) shows another screen of the browser connected by the client. FIG. 8 (d) is a screen in which a 'request' tab is located next to the 'Web' tab. The request can check the value requested by the client to the http server in real time.
도 8(e)는 클라이언트가 접속한 브라우저 다른 화면을 도시하고 있다. 도 8(e)는 ‘리퀘스트’ 탭 옆에 위치한 ‘헤더’ 탭을 클릭한 화면이다. 헤더는 리퀘스트 리스폰 등을 확인할 수 있다.8 (e) shows another screen of the browser connected by the client. 8 (e) is a screen in which a 'header' tab located next to the 'request' tab is clicked. The header can identify the request responder and the like.
도 8(f)는 클라이언트가 접속한 브라우저 다른 화면을 도시하고 있다. 도 8(f)는 ‘헤더’ 탭 옆에 위치한 ‘쿠키’ 탭을 클릭한 화면이다. 쿠키는 웹브라우저 방문시에 생성되는 쿠키의 내용을 실시간으로 확인할 수 있다. 이하에서는 클라이언트 화면의 왼쪽에 배치된 파트에 대해 설명하기로 한다.Fig. 8 (f) shows another screen of the browser connected by the client. FIG. 8 (f) is a screen in which the 'Cookies' tab located next to the 'Header' tab is clicked. A cookie can check the contents of a cookie generated when a web browser is visited in real time. Hereinafter, the part arranged on the left side of the client screen will be described.
도 8(g)는 클라이언트가 접속한 브라우저 다른 화면을 도시하고 있다. 도 8(g)는 로그인을 수행하고, 중계 서버와 접속을 수행하는 창이다. 상술한 바와 같이 본 발명에서 제안하는 Choeenserver 파일은 중계 서버와 접속한 이후에 사용이 가능하다.Fig. 8 (g) shows another screen of the browser connected by the client. Fig. 8 (g) is a window for performing login and performing connection with a relay server. As described above, the Choeenserver file proposed by the present invention can be used after connection with the relay server.
도 8(h)는 클라이언트가 접속한 브라우저 다른 화면을 도시하고 있다. 도 8(h)는 ‘로그인’ 탭 옆에 위치한 ‘콘솔’ 탭을 클릭한 화면이다. 콘솔은 디비킹용으로 사용할 수 있도록 여러 가지 정보를 표시하는 역할을 한다. 부연하여 설명하면, 콘솔은 에러, 실행 후 결과 등을 표시한다.8 (h) shows another screen of the browser connected by the client. FIG. 8 (h) is a screen which is clicked on the 'Console' tab located next to the 'Login' tab. The console is responsible for displaying a variety of information that can be used for debugging. In other words, the console displays errors, results after execution, and so on.
도 8(i)는 클라이언트가 접속한 브라우저 다른 화면을 도시하고 있다. 도 8(i)는 ‘콘솔’ 탭 옆에 위치한 ‘프록시’ 탭을 클릭한 화면이다. 프록시는 프록시 서버를 이용하여 우회 접속하는 것이 가능하다. 본 발명에서 제안하는 프록시는 도 8(j)에 도시되어 있는 바와 같이 프록시 목록을 메모장에 기재한 상태에서 수 천개씩 한 번에 호출하여 순차적으로 변경하는 기능을 수행한다. 부연하여 설명하면, 사용자가 작성한 스크립트는 루틴이 한번 돌면 자동으로 변경된다.Fig. 8 (i) shows another screen of the browser connected by the client. 8 (i) is a screen in which the 'Proxies' tab located next to the 'Console' tab is clicked. A proxy can be bypassed using a proxy server. As shown in FIG. 8 (j), the proxy proposed in the present invention performs a function of sequentially calling several thousands of proxy lists in a state where they are listed on a notepad at a time. In other words, a user-written script is automatically changed once the routine is run.
도 8(k)는 클라이언트가 접속한 브라우저 다른 화면을 도시하고 있다. 도 8(k)는 ‘프록시’ 탭 옆에 위치한 ‘HTML’ 탭을 클릭한 화면이다. HTML는 클릭한 오브젝트의 속성을 확인하여 용이하게 스크립트를 작성할 수 있도록 한다.8 (k) shows another screen of the browser connected by the client. 8 (k) is a screen where the 'HTML' tab located next to the 'proxy' tab is clicked. HTML allows you to easily create a script by checking the attributes of the clicked object.
도 8(l)는 클라이언트가 접속한 브라우저 다른 화면을 도시하고 있다. 도 8(l)는 ‘HTML’ 탭 옆에 위치한 ‘헤더’ 탭을 클릭한 화면이다. 헤더는 원하는 헤더값을 넣고 리퀘스트할 수 있다. http 프로토콜 서버는 사용자가 원하는 헤더값에 반응하여 결과를 다르게 보여준다.Fig. 8 (l) shows another screen of the browser connected by the client. 8 (1) is a screen in which the 'Header' tab located next to the 'HTML' tab is clicked. The header can be requested with the desired header value. The http protocol server responds to the header value you want and displays the results differently.
도 8(m)에 표시되는 화면의 하단부는 스크립트를 작성하고, 루틴을 돌리고, 저장해서 재활용하는 파트이다.The lower part of the screen shown in Fig. 8 (m) is a part for creating a script, turning a routine, storing it, and recycling it.
도 8(n)은 클라이언트가 접속한 브라우저 다른 화면을 도시하고 있다. 도 8(n)은 적성된 스크립트를 파일로 저장하며, 목록을 읽어오는 파트이며, 도 8(o)과 같이 작성된 스크립트는 특정 폴더에 저장된다.Fig. 8 (n) shows another screen of the browser connected by the client. Fig. 8 (n) is a part for storing the script as a file and reading the list, and the script created as shown in Fig. 8 (o) is stored in a specific folder.
도 8(p)은 클라이언트가 접속한 브라우저 다른 화면을 도시하고 있다. 도 8(p)은 사용자가 작성한 스크립트를 여러 가지 다양한 옵션을 추가하여 실제로 실행시키는 창이다. 루프를 돌려 반복수행하면서 루프가 1회 끝나면 다른 설정으로 자동 변경한다.Fig. 8 (p) shows another screen of the browser connected by the client. 8 (p) is a window in which a script created by the user is actually executed by adding various options. Repeat the loop and repeat the loop once, then change to another setting automatically.
도 8(q)는 클라이언트가 접속한 브라우저 다른 화면을 도시하고 있다. 도 8(q)는 스크립트를 실행해볼 수 있는 창이다. 작성된 스크립트는 추가(add) 버튼을 클릭하여 스크립트 루프에 추가한다.8 (q) shows another screen of the browser connected by the client. 8 (q) is a window in which a script can be executed. The created script is added to the script loop by clicking the add button.
도 9는 본 발명에 따른 인젝션을 설명하는 도면이다. 9 is a view for explaining injection according to the present invention.
도 9에 의하면, 기존의 경우 웹 서버에서 오디너리(ordinary browser) 브라우저로 http 프로토콜 방식으로, response된 데이터를 수신하나, 본 발명은 웹 서버, 변형 브라우저 및 스크립트 인젝션 파트를 포함하며, http 프로토콜 방식으로, response된 데이터를 수신하는 과정에서 사용자가 추가한 스크립트를 인젝션하는 단계가 추가된다.According to FIG. 9, in the conventional case, the web server receives the response data in the http protocol format from an ordinary browser browser. The present invention includes a web server, a modified browser, and a script injection part. and a step of injecting a script added by the user in the process of receiving the response data is added.
본 발명은 도면에 도시된 일실시 예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the scope of the present invention .
105: 중계 서버 110: 클라이언트
115: 모바일 단말105: Relay server 110: Client
115: mobile terminal
Claims (5)
상기 클라이언트가 작성한 상기 스크립트를 이용하여 웹 사이트에 접속하는 단계;
상기 클라이언트가 연결된 모바일 단말로부터 새로운 IP를 제공받는 단계; 및
상기 클라이언트가 제공받은 상기 IP와 작성한 상기 스크립트를 이용하여 상기 웹 사이트에 접속하는 단계;를 포함함을 특징으로 하는 클라이언트에서 웹 사이트 접속 방법.
Creating a script by a client and transmitting the created script to a relay server;
Accessing a web site using the script created by the client;
Receiving a new IP from a mobile terminal to which the client is connected; And
And accessing the web site using the IP provided by the client and the created script.
상기 클라이언트가 제공받은 상기 스크립트를 이용하여 웹 사이트에 접속하는 단계;
상기 클라이언트가 연결된 모바일 단말로부터 새로운 IP를 제공받는 단계; 및
상기 클라이언트가 제공받은 상기 IP와 상기 스크립트를 이용하여 상기 웹 사이트에 접속하는 단계;를 포함함을 특징으로 하는 클라이언트에서 웹 사이트 접속 방법.
The client receiving a script created by another client from the relay server;
Accessing a web site using the script provided by the client;
Receiving a new IP from a mobile terminal to which the client is connected; And
And accessing the web site using the IP and the script provided by the client.
상기 모바일 단말은 모바일 기지국으로부터 할당받은 IP를 상기 클라이언트로 제공함을 특징으로 하는 클라이언트에서 웹 사이트 접속 방법.5. The method according to any one of claims 3 to 4,
Wherein the mobile terminal provides the IP address allocated by the mobile station to the client.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160073474A KR101793829B1 (en) | 2016-06-13 | 2016-06-13 | Distributed users behavior simulation system through a forced injection script to the browser |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160073474A KR101793829B1 (en) | 2016-06-13 | 2016-06-13 | Distributed users behavior simulation system through a forced injection script to the browser |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101793829B1 true KR101793829B1 (en) | 2017-11-06 |
Family
ID=60384361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160073474A KR101793829B1 (en) | 2016-06-13 | 2016-06-13 | Distributed users behavior simulation system through a forced injection script to the browser |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101793829B1 (en) |
-
2016
- 2016-06-13 KR KR1020160073474A patent/KR101793829B1/en active IP Right Grant
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11924234B2 (en) | Analyzing client application behavior to detect anomalies and prevent access | |
US10581895B2 (en) | Time-tagged pre-defined scenarios for penetration testing | |
US9773109B2 (en) | Alternate files returned for suspicious processes in a compromised computer network | |
EP3479281B1 (en) | Method and computer system for determining a threat score | |
ES2882125T3 (en) | System and procedure to identify attacks on the Internet | |
CN110119614B (en) | System and method for detecting hidden behavior of browser extension | |
WO2019018033A2 (en) | Methods, systems, and media for testing insider threat detection systems | |
US20230004637A1 (en) | Secure web framework | |
WO2013079113A1 (en) | Secure cloud browsing client-server system and method of secure remote browsing using the same | |
CN111683047A (en) | Unauthorized vulnerability detection method and device, computer equipment and medium | |
Wang et al. | A new cross-site scripting detection mechanism integrated with HTML5 and CORS properties by using browser extensions | |
CN108512805B (en) | Network security defense method and network security defense device | |
Permann et al. | Cyber assessment methods for SCADA security | |
US20240291847A1 (en) | Security risk remediation tool | |
Khan et al. | Security assessment of four open source software systems | |
Barhoom et al. | A new server-side solution for detecting cross site scripting attack | |
KR101793829B1 (en) | Distributed users behavior simulation system through a forced injection script to the browser | |
Jayaraman et al. | Enforcing request integrity in web applications | |
Niemietz | Analysis of UI redressing attacks and countermeasures | |
Kilaru | Improving techniques for SQL injection defenses | |
Ban | Protect Smart Homes from Inter-Rule Vulnerabilities: Large-Scale Testbed, Static and Dynamic Techniques | |
Song | Improving security of web applications based on mainstream technology | |
Luo | Evaluating Mobile-Browser Security with Dynamic Analysis Techniques | |
Boström et al. | Selecting Better Attacks for Cyber Defense Exercises: Criteria to Enhance Cyber Range Content | |
EP3522057A1 (en) | System and method of detecting hidden behavior of a browser extension |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |