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 PDF

Info

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
Application number
KR1020160073474A
Other languages
Korean (ko)
Inventor
한혁진
Original Assignee
한혁진
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한혁진 filed Critical 한혁진
Priority to KR1020160073474A priority Critical patent/KR101793829B1/en
Application granted granted Critical
Publication of KR101793829B1 publication Critical patent/KR101793829B1/en

Links

Images

Classifications

    • G06F17/5009
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network 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

The present invention relates to a distributed user behavior simulation system through forced script injection to a browser and, more specifically, to a user behavior simulation system, which is capable of injecting a user produced script composed of five modules including an injection tool, a browser, a distributed script execution module and an IP change tool, has two or more clouds forcefully inject the script to the browser, and simulates a user behavior therethrough. To this end, the distributed user behavior simulation system through the forced script injection to the browser comprises: a mobile terminal to which a mobile base station allocates an IP by a set unit; a client receiving the IP allocated to the mobile terminal from the mobile terminal and making a script; and a relay server receiving the script from the client and distributing the received script to other connected clients.

Description

브라우저에 강제 스크립트 주입을 통한 분산된 사용자 행동 시뮬레이션 시스템{Distributed users behavior simulation system through a forced injection script to the browser}Distributed user behavior simulation system through a forced script injection into a browser [

본 발명은 브라우저에 강제 스크립트 주입을 통한 분산된 사용자 행동 시뮬레이션 시스템에 관한 것으로, 더욱 상세하게는 인젝션 툴, 브라우저, 분산 스트립트 실행 모듈, 중계서버 및 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.

한국등록특허 제10-0912794호(실시간 웹 서버 해킹 분석 및 홈페이지 위변조 감시를 위한 웹 위협관리 시스템 및 그 방법)Korean Patent No. 10-0912794 (Web Threat Management System and its Method for Hacking Analysis and Website Forgery Monitoring in Real Time Web Server) 한국등록특허 제10-0867306호(이미지 분석기법을 이용한 홈페이지 변조점검 시스템 및 방법)Korean Patent No. 10-0867306 (Web site tampering check system and method using image analysis technique)

본 발명이 해결하고자 하는 과제는 웹 브라우저의 사용자 경험증가와 편의를 위해 만들어진 구조의 악용 여부를 사전에 점검하는 방안을 제안함에 있다.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 relay server 105 authenticates the clients 110, 110a to 110c and controls the client 110. [ The relay server 105 determines whether or not the connected client 110 has normally connected. In addition, the relay server 105 filters malicious code and distributes the script to a plurality of connected clients. To be more specific, the relay server 105 distributes a script provided from a specific client to another connected client.

클라이언트(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 relay server 105. To be more specific, the client 110 accesses the website server (or web site) using the created script, and provides the created script to the relay server 105. Further, the client 110 accesses the web site by using the script provided by the relay server in addition to the script created by the client.

모바일 단말(115, 115a 내지 115c)은 설치된 안드로이드 어플리케이션을 이용하여 IP를 할당받으며, 할당받은 IP를 클라이언트(110)로 제공한다. 본 발명과 관련하여 모바일 단말은 작성된 스크립트가 1회 반복되면 클라이언트로 새로운 IP를 제공하기 위해 새로운 IP를 할당받는다. 일반적으로 웹사이트는 접속한 클라이언트가 동일 작업을 반복수행 중 IP가 같으면 중복 실행이라고 판단하여 필터링한다. 따라서 본 발명은 이와 같은 문제점을 해결하기 위해 모바일 단말에서 일정 간격으로 새로운 IP를 할당받으며, 할당받은 IP를 클라이언트로 제공한다.The mobile terminals 115 and 115a to 115c are allocated an IP using the installed Android application and provide the assigned IP to the client 110. [ In connection with the present invention, the mobile terminal is assigned a new IP to provide a new IP to the client once the created script is repeated. Generally, when a connected client repeatedly performs the same operation, the web site judges that duplication is executed when the IPs are the same, and filters the same. Accordingly, in order to solve such a problem, the present invention provides a mobile terminal that receives a new IP at a predetermined interval and provides the allocated IP to a client.

클라이언트는 작성한 스크립트를 이용하여 웹 사이트를 접속함에 있어, 모바일 단말로부터 일정 단위로 제공받은 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)

삭제delete 삭제delete 클라이언트가 스크립트를 작성하고, 작성한 스크립트를 중계 서버로 전송하는 단계;
상기 클라이언트가 작성한 상기 스크립트를 이용하여 웹 사이트에 접속하는 단계;
상기 클라이언트가 연결된 모바일 단말로부터 새로운 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.
제 3항 내지 제 4항 중 어느 한 항에 있어서,
상기 모바일 단말은 모바일 기지국으로부터 할당받은 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.
KR1020160073474A 2016-06-13 2016-06-13 Distributed users behavior simulation system through a forced injection script to the browser KR101793829B1 (en)

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)

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