KR102084778B1 - Access control method and apparutus thereof - Google Patents
Access control method and apparutus thereof Download PDFInfo
- Publication number
- KR102084778B1 KR102084778B1 KR1020180083337A KR20180083337A KR102084778B1 KR 102084778 B1 KR102084778 B1 KR 102084778B1 KR 1020180083337 A KR1020180083337 A KR 1020180083337A KR 20180083337 A KR20180083337 A KR 20180083337A KR 102084778 B1 KR102084778 B1 KR 102084778B1
- Authority
- KR
- South Korea
- Prior art keywords
- access
- page
- login
- write
- access time
- Prior art date
Links
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
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- 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/602—Providing cryptographic facilities or services
-
- 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/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 웹 서버에 구현된 접근 통제 장치에 관한 것으로, 특정 애플리케이션의 일 프로세스 상에서 구동할 로그인 페이지를 생성하는 로그인 페이지 생성부; 클라이언트의 로그인 접속 시도 시, 운영체제의 커널이 상기 로그인 접속 시도에 해당하는 데이터를 물리 메모리 영역의 페이지에 쓰는데 걸리는 시간인 Write Access Time을 측정하는 접근 시간 측정부; 및 상기 접근 시간 측정부로부터 수신된 Write Access Time에 관한 정보를 기반으로 상기 클라이언트의 접근 허용 여부를 결정하는 접근 통제부를 포함한다.The present invention relates to an access control device implemented in a web server, a login page generator for generating a login page to run on one process of a specific application; An access time measuring unit measuring a write access time, which is a time taken by a kernel of an operating system to write data corresponding to the login access attempt to a page of a physical memory area when a client attempts to access the login; And an access control unit determining whether to allow the client to access based on the information on the Write Access Time received from the access time measurement unit.
Description
본 발명은 접근 통제 방법 및 그 장치에 관한 것으로, 보다 구체적으로는 메모리 중복 제거 기술(Memory Deduplication Technique)을 이용한 접근 통제 방법 및 그 장치에 관한 것이다.The present invention relates to an access control method and apparatus, and more particularly, to an access control method and apparatus using a memory deduplication technique.
불특정 다수를 대상으로 하는 인터넷 환경에서 클라이언트를 식별하는 방법의 중요성과 가치는 점점 증대되고 있다. 그러나 다양한 위장 및 은폐 수단의 발전과 현존하는 보안 기술의 한계로 인하여 클라이언트의 식별이 현실적으로 매우 어려운 실정이다.The importance and value of how to identify a client in an Internet environment targeting an unspecified number of people is increasing. However, due to the development of various camouflage and concealment means and limitations of existing security technologies, the identification of clients is very difficult in reality.
이로 인해, 현재 온라인 상에서는 크고 작은 보안 문제들이 계속 발생하고 있다. 이 중 가장 대표적인 보안 문제인 피싱(phishing)은 계속 발전하고 있고 최근 더욱 정교해져서 일반인들이 피싱 사이트를 식별하고 이를 방어하기는 매우 어려운 실정이다. 또한, 피싱뿐만이 아니라 다른 침입 수법도 점차 정교해지고 있어 방어 솔루션에 대한 관심도 점차 증대되고 있다.As a result, security problems, large and small, continue to occur online today. Phishing, the most common security problem, continues to evolve and has become more sophisticated in recent years, making it very difficult for the general public to identify and defend against phishing sites. In addition, not only phishing, but also other intrusion methods are becoming more sophisticated, and interest in defense solutions is gradually increasing.
악의적인 사용자가 서비스 제공자의 네트워크에 침입하여 바이러스 등을 퍼뜨리거나 개인정보 등을 유출시키는 상황이 발생하면, 그로 인해 야기되는 피해가 심각해질 뿐만 아니라, 그 당시에 누가 접속을 했는지 추적하는 것도 곤란하다. 따라서, 웹 서버 운영자는 네트워크 상에서 악의적으로 접근하는 블랙 접속자의 접근을 차단하기 위하여 웹 서버를 방문하는 클라이언트들을 식별(인증)할 필요가 있다.When a malicious user invades a network of a service provider and spreads a virus or leaks personal information, the damage caused by it is serious, and it is also difficult to track who was connected at the time. Therefore, the web server operator needs to identify (authenticate) clients visiting the web server in order to block the access of the black accessor maliciously accessing the network.
이러한 클라이언트 식별을 위해, 웹 페이지를 통한 계정 로그인(ID/PW) 방법과 함께 가상 사설망(Virtual Private Network, VPN), 멀티팩터 인증(multi-factor authentication, MFA), 통합위협관리시스템(Unified Threat Management, UTM) 등과 같은 다양한 보안 솔루션들을 사용하는 것이 바람직하다. 하지만, 일부 웹 서버 운영자들은 경제적/정책적 이유 등으로 인해 계정 로그인 방법 이외의 추가적인 보안 솔루션들을 적용하지 않고 있다. 따라서, 웹 페이지를 통한 계정 로그인 방법만을 적용하는 경우, 악의적인 사용자가 해당 웹 페이지를 우회하여 웹 사이트에 접속하는 것을 방지할 필요가 있다.To identify these clients, a virtual private network (VPN), multi-factor authentication (MFA), integrated threat management system (Unified Threat Management) along with an account login (ID / PW) method via a web page , UTM). However, some web server operators do not apply additional security solutions other than the account login method due to economic and policy reasons. Therefore, when only the account login method through the web page is applied, it is necessary to prevent a malicious user from bypassing the web page and accessing the web site.
본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다. 또 다른 목적은, 메모리 중복 제거 기술을 이용하여 웹 서버에 대한 비정상적인 로그인 접속을 효과적으로 차단할 수 있는 접근 통제 방법 및 그 장치를 제공함에 있다.The present invention aims to solve the above and other problems. Another object is to provide an access control method and apparatus for effectively blocking abnormal login access to a web server using a memory deduplication technology.
또 다른 목적은, 메모리 중복 제거 기술을 이용한 접근 통제 장치를 구비하는 웹 서버를 제공함에 있다.Another object is to provide a web server having an access control device using a memory deduplication technology.
상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 특정 애플리케이션의 일 프로세스 상에서 구동할 로그인 페이지를 생성하는 로그인 페이지 생성부; 클라이언트의 로그인 접속 시도 시, 운영체제의 커널이 상기 로그인 접속 시도에 해당하는 데이터를 물리 메모리 영역의 페이지에 쓰는데 걸리는 시간인 Write Access Time을 측정하는 접근 시간 측정부; 및 상기 접근 시간 측정부로부터 수신된 Write Access Time에 관한 정보를 기반으로 상기 클라이언트의 접근 허용 여부를 결정하는 접근 통제부를 포함하는 접근 통제 장치를 제공한다.According to an aspect of the present invention to achieve the above or other object, a login page generation unit for generating a login page to run on a process of a specific application; An access time measuring unit measuring a Write Access Time, which is the time it takes for the kernel of the operating system to write data corresponding to the login access attempt to a page in the physical memory area when the client attempts to access the login; And an access control unit determining whether to allow the client to access based on the information on the Write Access Time received from the access time measurement unit.
본 발명의 다른 측면에 따르면, 특정 애플리케이션의 일 프로세스 상에서 구동할 로그인 페이지를 미리 생성하는 단계; 클라이언트의 로그인 접속 시도 시, 운영체제의 커널이 상기 로그인 접속 시도에 해당하는 데이터를 물리 메모리 영역의 페이지에 쓰는데 걸리는 시간인 Write Access Time을 측정하는 단계; 및 상기 측정된 Write Access Time에 관한 정보를 기반으로 상기 클라이언트의 접근 허용 여부를 결정하는 단계를 포함하는 접근 통제 방법을 제공한다. According to another aspect of the present invention, the step of generating a login page to run on one process of a specific application in advance; Measuring a Write Access Time, which is the time it takes for the kernel of the operating system to write data corresponding to the login access attempt to the page of the physical memory area when the client attempts to access the login; And determining whether to allow the client to access based on the measured Write Access Time information.
본 발명의 또 다른 측면에 따르면, 특정 애플리케이션의 일 프로세스 상에서 구동할 로그인 페이지를 미리 생성하는 과정; 클라이언트의 로그인 접속 시도 시, 운영체제의 커널이 상기 로그인 접속 시도에 해당하는 데이터를 물리 메모리 영역의 페이지에 쓰는데 걸리는 시간인 Write Access Time을 측정하는 과정; 및 상기 측정된 Write Access Time에 관한 정보를 기반으로 상기 클라이언트의 접근 허용 여부를 결정하는 과정이 컴퓨터 상에서 실행 가능하도록 컴퓨터 판독 가능한 기록 매체에 저장된 프로그램을 제공한다.According to another aspect of the invention, the process of generating in advance a login page to run on one process of a specific application; Measuring a Write Access Time, which is the time it takes for the kernel of the operating system to write data corresponding to the login access attempt to the page of the physical memory area when the client attempts to access the login; And a program stored in a computer-readable recording medium so that a process of determining whether or not the client is allowed to access based on the measured Write Access Time information is executable on a computer.
본 발명의 실시 예들에 따른 접근 통제 방법 및 그 장치의 효과에 대해 설명하면 다음과 같다.The effects of the access control method and the device according to the embodiments of the present invention are as follows.
본 발명의 실시 예들 중 적어도 하나에 의하면, 메모리 중복 제거 기술을 이용한 접근 통제 방법을 추가적인 보안 강화 수단으로 사용함으로써, 악의적인 사용자가 로그인 페이지를 우회하여 웹 서버로 접속하는 것을 차단할 수 있다는 장점이 있다.According to at least one of the embodiments of the present invention, by using an access control method using a memory deduplication technique as an additional security enhancement means, it is possible to block a malicious user from bypassing a login page and accessing a web server. .
본 발명의 실시 예들 중 적어도 하나에 의하면, 메모리 중복 제거 기술을 이용한 접근 통제 방법을 추가적인 보안 강화 수단으로 사용함으로써, 별도의 보안 솔루션을 웹 서버에 구축하는데 소요되는 시간과 비용을 감소할 수 있다는 장점이 있다.According to at least one of the embodiments of the present invention, by using an access control method using a memory deduplication technique as an additional security enhancement means, it is possible to reduce the time and cost required to build a separate security solution on a web server There is this.
다만, 본 발명의 실시 예들에 따른 접근 통제 방법 및 그 장치가 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the access control method according to the embodiments of the present invention and the effect that the device can achieve are not limited to those mentioned above, and other effects not mentioned in the technical field to which the present invention belongs from the following description It will be clearly understood by those with ordinary knowledge.
도 1은 본 발명의 일 실시 예에 따른 웹 서비스 제공 시스템을 도시하는 도면;
도 2는 본 발명의 일 실시 예에 따른 웹 서버의 운영체제를 나타내는 도면;
도 3 내지 도 5는 메모리 중복 제거 기술을 설명하기 위해 참조되는 도면;
도 6 및 도 7은 메모리 중복 제거 기술의 Copy On Write로 인한 Write Access Time의 차이를 설명하기 위해 참조되는 도면;
도 8은 본 발명의 일 실시 예에 따른 접근 통제 장치의 구성 블록도;
도 9는 악의적인 사용자가 로그인 페이지를 우회하여 접속을 시도하는 경우의 Write Access Time을 설명하기 위해 참조되는 도면;
도 10은 단말 사용자가 로그인 페이지를 통해 접속을 시도하는 경우의 Write Access Time을 설명하기 위해 참조되는 도면;
도 11은 본 발명의 일 실시 예에 따른 접근 통제 방법을 설명하는 절차 흐름도.1 is a view showing a web service providing system according to an embodiment of the present invention;
2 is a view showing an operating system of a web server according to an embodiment of the present invention;
3 to 5 are diagrams referenced to describe a memory deduplication technique;
6 and 7 are views for explaining a difference in Write Access Time due to Copy On Write in the memory deduplication technology;
8 is a block diagram of an access control apparatus according to an embodiment of the present invention;
9 is a diagram referred to describe Write Access Time when a malicious user attempts to access by bypassing a login page;
10 is a view referred to describe a Write Access Time when a terminal user attempts to access through a login page;
11 is a flowchart illustrating a method of controlling access according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 즉, 본 발명에서 사용되는 '부'라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '부'는 어떤 역할들을 수행한다. 그렇지만 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '부'들로 결합되거나 추가적인 구성요소들과 '부'들로 더 분리될 수 있다.Hereinafter, exemplary embodiments disclosed herein will be described in detail with reference to the accompanying drawings, but the same or similar elements are assigned the same reference numbers regardless of the reference numerals, and overlapping descriptions thereof will be omitted. The suffixes "modules" and "parts" for the components used in the following description are given or mixed only considering the ease of writing the specification, and do not have meanings or roles distinguished from each other in themselves. That is, the term 'unit' used in the present invention refers to a hardware component such as software, FPGA or ASIC, and 'unit' performs certain roles. However, 'wealth' is not limited to software or hardware. The 'unit' may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example, 'part' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, Includes subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays and variables. The functionality provided within components and 'parts' may be combined into a smaller number of components and 'parts' or further separated into additional components and 'parts'.
또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.In addition, in describing the embodiments disclosed in the present specification, when it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed herein, detailed descriptions thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in the present specification, and the technical spirit disclosed in the specification is not limited by the accompanying drawings, and all modifications included in the spirit and technical scope of the present invention , It should be understood to include equivalents or substitutes.
본 발명은 메모리 중복 제거 기술(Memory Deduplication Technique)을 이용하여 웹 서버에 대한 비정상적인 로그인 접속을 효과적으로 차단할 수 있는 접근 통제 방법 및 그 장치를 제안한다.The present invention proposes an access control method and apparatus capable of effectively blocking abnormal login access to a web server using a memory deduplication technique.
이하에서는, 본 발명의 다양한 실시 예들에 대하여, 도면을 참조하여 상세히 설명한다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the drawings.
도 1은 본 발명의 일 실시 예에 따른 웹 서비스 제공 시스템을 도시하는 도면이다.1 is a view showing a web service providing system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명에 따른 웹 서비스 제공 시스템(10)은, 통신 네트워크(100), 웹 서버(200), 사용자 정보 DB(300) 및 사용자 단말(400) 등을 포함할 수 있다.Referring to FIG. 1, the web
사용자 단말(400)과 웹 서버(200)는 통신 네트워크(100)를 통해 서로 연결될 수 있다. 통신 네트워크(100)는 유선 네트워크와 무선 네트워크를 포함할 수 있으며, 구체적으로, 근거리 네트워크(LAN: Local Area Network), 도시권 네트워크(MAN: Metropolitan Area Network), 광역 네트워크(WAN: Wide Area Network) 등 다양한 네트워크를 포함할 수 있다. 또한, 통신 네트워크(100)는 공지의 월드 와이드 웹(WWW: World Wide Web)을 포함할 수도 있다. 그러나, 본 발명에 따른 통신 네트워크(100)는 상기 열거된 네트워크에 국한되지 않고, 공지의 무선 데이터 네트워크, 공지의 전화 네트워크, 공지의 유/무선 텔레비전 네트워크 중 적어도 하나를 포함할 수도 있다.The
사용자 단말(400)은, 사용자 명령 등에 따라, 웹 브라우저(web browser)를 구동하여 웹 서버(200)에 접속할 수 있다. 이때, 사용자 단말(400)이 웹 서버(200)에 접속하기 위해서는 일련의 사용자 인증 과정(가령, 로그인 과정)이 필요하다.The
사용자 단말(400)은, 사용자 인증 성공 시, 웹 서버(200)로부터 제공받은 정보 및/또는 컨텐츠를 기반으로 다양한 웹 서비스(web service)를 제공할 수 있다.When the user authentication is successful, the
본 명세서에서 설명되는 사용자 단말(400)에는 휴대폰, 스마트 폰(smart phone), 내비게이션 단말, 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 내비게이션, 데스크톱 PC(desktop PC), 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등이 포함될 수 있다.The
사용자 정보 DB(300)는 웹 서버(200)에 가입된 단말 사용자들을 식별하기 위한 사용자 인증 정보를 저장하고 이를 관리할 수 있다. 여기서, 사용자 인증 정보는 단말 사용자들의 ID 정보 및 패스워드 정보를 포함할 수 있으며 반드시 이에 제한되지는 않는다.The user information DB 300 may store and manage user authentication information for identifying terminal users subscribed to the
웹 서버(200)는 사용자 정보 DB(300)에 저장된 사용자 인증 정보(즉, 로그인 정보)를 이용하여 사용자 단말(400)의 접근을 통제할 수 있다. 가령, 웹 서버(200)에서 제공하는 로그인 페이지를 통해 로그인 정보가 입력되면, 웹 서버(200)는 로그인 페이지를 통해 입력된 로그인 정보와 사용자 정보 DB(300)에 저장된 로그인 정보를 비교하여 사용자 단말(400)의 접근을 허용하거나 혹은 해당 단말(400)의 접근을 차단할 수 있다.The
한편, 본 실시 예에서는, 웹 서버(200)에 구비된 인증 모듈(미도시)을 통해 사용자 단말(400)의 접속을 통제하는 것을 예시하고 있으나 반드시 이에 제한되지 않는다. 따라서, 웹 서버(200)는 별도의 인증 서버(미도시)와 연동하여 사용자 단말(400)의 접속을 통제할 수도 있다.Meanwhile, in the present exemplary embodiment, it is illustrated that the access of the
이러한 로그인 페이지를 이용한 접근 통제 방법과 함께, 웹 서버(200)는 메모리 중복 제거 기술을 이용한 접근 통제 방법을 추가적으로 사용하여 로그인 보안을 강화할 수 있다. 이는 악의적인 사용자가 로그인 페이지를 우회하여 웹 서버(200)에 접속하는 것을 방지하기 위함이다.In addition to the access control method using the login page, the
상술한 접근 통제 방법들이 동시 또는 순차적으로 수행되어 모든 보안 인증이 성공하면, 웹 서버(200)는 사용자 단말(400)의 접근을 허용하고, 해당 단말(400)에서 요청하는 웹 서비스를 제공할 수 있다.If the above-described access control methods are performed simultaneously or sequentially, and all security authentication is successful, the
한편, 이하에서는, 본 발명의 바람직한 실시 예에 따른 접근 통제 방법에 사용되는 메모리 중복 제거 기술(Memory Deduplication Technique)과, 상기 메모리 중복 제거 기술에서 발생하는 Copy On Write 과정과, 상기 Copy On Write 과정으로 인해 증가되는 Write access time에 대해 상세히 설명하도록 한다.On the other hand, in the following, the memory deduplication technique (Memory Deduplication Technique) used in the access control method according to a preferred embodiment of the present invention, the Copy On Write process occurring in the memory deduplication technology, and the Copy On Write process The increased write access time will be described in detail.
도 2는 본 발명의 일 실시 예에 따른 웹 서버의 운영체제를 나타내는 도면이다.2 is a view showing an operating system of a web server according to an embodiment of the present invention.
도 2를 참조하면, 본 발명에 따른 웹 서버(200)는, 복수의 애플리케이션들(applications, 210), 운영체제(operating system, 220) 및 하드웨어(hardware, 230)를 포함할 수 있다.Referring to FIG. 2, the
복수의 애플리케이션들(210)은, 웹 서버(200)의 기본적인 동작들을 수행하기 위한 다양한 응용 프로그램들이다. 웹 서버(200)는 이러한 애플리케이션들을 이용하여 사용자 단말(400)에서 요구하는 웹 서비스와 관련된 다양한 동작들을 수행할 수 있다. The plurality of
복수의 애플리케이션들(210)은, 웹 서비스를 제공하는 애플리케이션, 계정 로그인 정보를 이용하여 사용자 단말의 접근을 통제하는 애플리케이션, 메모리 중복 제거 기술을 이용하여 사용자 단말(400)의 접근을 통제하는 애플리케이션 등을 포함할 수 있다.The plurality of
하드웨어(230)는 컴퓨터나 그 주변 장치들을 의미하는 것으로서, 중앙처리장치(CPU), 메모리 및 기타 장치들을 포함할 수 있다. The
중앙처리장치(CPU)는 외부에서 정보를 입력 받고, 기억하고, 컴퓨터 프로그램 명령어를 해석하여 연산하며, 외부로 출력하는 기능을 수행한다. 상기 중앙처리장치(CPU)는 제어장치, 연산장치 및 레지스터들로 구성될 수 있다. The central processing unit (CPU) receives information from outside, stores it, interprets computer program instructions, calculates them, and outputs them to the outside. The central processing unit (CPU) may be composed of a control unit, a computing unit, and registers.
메모리는 웹 서버(200)의 다양한 기능을 지원하는 데이터를 저장하는 기능을 수행한다. 또한, 메모리는 웹 서버(200)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 웹 서버(200)의 동작을 위한 데이터들 및 명령어들을 저장할 수 있다.The memory performs a function of storing data supporting various functions of the
메모리는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.The memory includes flash memory type, hard disk type, solid state disk type, SDD type (Silicon Disk Drive type), multimedia card micro type, and card Type of memory (e.g. SD or XD memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM) ), PROM (programmable read-only memory), magnetic memory, magnetic disks, and optical disks.
운영체제(220)는 복수의 애플리케이션(210)과 하드웨어(230) 사이의 인터페이스 역할을 담당하는 시스템 소프트웨어이다.The
운영체제(220)는 하드웨어 자원을 관리하고 소프트웨어의 실행 환경을 제공하는 커널(kernel)과, 상기 커널에 대한 인터페이스를 제공하는 시스템 콜(system call)과, 사용자 명령어에 대한 처리를 담당하는 쉘(shell)을 포함한다. 이 중 커널은 운영체제(220)의 가장 중요한 핵심 구성 요소이므로, 상기 커널을 운영체제라 지칭하기도 한다.The
운영체제(220)는 프로세스 관리 기능(가령, 동기화 기능, 스케줄링 기능 등), 하드웨어 관리 기능, 하드웨어 및 프로세스의 보안 기능 등과 같은 다양한 기능을 수행할 수 있다.The
운영체제(220)는 시스템의 오버헤드(overhead)를 감소하고 시스템 성능을 최적화하기 위해 메모리 관리 기능을 수행할 수 있다. 즉, 운영체제(220)는 현재 실행 중인 프로세스들에게 메모리 공간을 할당하고, 해당 프로세스들이 종료되면 할당된 메모리 공간을 회수하는 동작을 수행할 수 있다.The
운영체제(220)에서 사용되는 메모리 관리 기법으로는, 연속 메모리 할당(Contiguous Memory Allocation, CMA) 기법, 페이징(paging) 기법, 세그멘테이션(segmentation) 기법 및 메모리 중복 제거(Memory Deduplication) 기법 등이 있다.The memory management techniques used in the
본 발명에서 사용되는 메모리 중복 제거 기법은, 동일한 내용이 기록된 가상 주소 공간들을 하나의 물리 메모리 페이지에 매핑(mapping)함으로써, 한정된 메모리 자원을 효율적으로 관리하는 기술이다. 일 예로, KSM(Kernel Same-page Merging)이라는 명칭의 메모리 중복 제거 기술이 리눅스 운영체제(Linux OS)에 사용되고 있다.The memory deduplication method used in the present invention is a technique for efficiently managing limited memory resources by mapping virtual address spaces having the same contents onto one physical memory page. For example, a memory deduplication technology called Kernel Same-page Merging (KSM) is used in a Linux operating system (Linux OS).
도 3 내지 도 5는 메모리 중복 제거 기술을 설명하기 위해 참조되는 도면이다.3 to 5 are diagrams referred to for describing a memory deduplication technique.
도 3 내지 도 5를 참조하면, 웹 서버(200)에 설치된 적어도 하나의 애플리케이션(310)은 가상 메모리(virtual memory)을 이용하여 특정 기능을 수행할 수 있다.3 to 5, at least one
해당 애플리케이션(310)의 제1 기능이 실행되면, 애플리케이션(310)에 할당된 제1 가상 주소 영역(311)에 제1 기능에 대응하는 제1 데이터가 저장되고, 해당 애플리케이션(310)의 제2 기능이 실행되면, 어플리케이션(310)에 할당된 제2 가상 주소 영역(312)에 제2 기능에 대응하는 제2 데이터가 저장된다.When the first function of the
도 3에 도시된 바와 같이, 제1 데이터의 내용과 제2 데이터의 내용이 서로 상이한 경우, 운영체제(320)는 제1 가상 주소 영역(311)을 물리 메모리 영역(330)의 페이지 A(331)에 매핑하고, 제2 가상 주소 영역(312)을 물리 메모리 영역(330)의 페이지 B(332)에 매핑함으로써 물리 메모리 자원을 해당 애플리케이션(310)에 할당하게 된다.As shown in FIG. 3, when the contents of the first data and the contents of the second data are different from each other, the
한편, 도 4에 도시된 바와 같이, 제1 데이터의 내용과 제2 데이터의 내용이 서로 동일한 경우, 운영체제(320)는 현재 실행 중인 애플리케이션에 영향을 주지 않으면서 한정된 메모리 자원을 효율적으로 관리하기 위한 메모리 중복 제거 기술을 사용하여 물리 메모리 자원을 할당할 수 있다.Meanwhile, as illustrated in FIG. 4, when the contents of the first data and the contents of the second data are identical to each other, the
즉, 운영체제(320)는 제1 가상 주소 영역(311)을 물리 메모리 영역(330)의 페이지 C(333)에 매핑하고, 제2 가상 주소 영역(312)도 동일한 페이지 C(333)에 매핑함으로써 물리 메모리 자원을 공유할 수 있다. 이때, 메모리 중복 제거된 페이지(즉, 페이지 C, 333)는 읽는 것은 가능하나 기록은 불가능하다는 의미로 해당 페이지(333)를 COW(Copy on Write) 페이지로 설정할 수 있다. 이하 설명의 편의상, 메모리 중복 제거를 통해 하나의 페이지로 병합된 페이지(333)를 '공유 페이지(a shared page or a deduplicated page)'라 지칭하도록 하고, 메모리 중복 제거가 적용되지 않은 페이지를 '일반 페이지(a normal page or a non-deduplicated page)'라 지칭하도록 한다.That is, the
이와 같이 물리 메모리 영역(330)이 중복 제거된 상태에서, 해당 애플리케이션(310)의 프로세스가 제2 가상 주소 영역(312)에 저장된 제2 데이터를 수정(Write Access)하게 되면, 제1 가상 주소 영역(311)에 저장된 제1 데이터와 제2 가상 주소 영역(312)에 저장된 제2 데이터 간에 동일성이 깨지게 되고, 그에 따라 더 이상 물리 메모리 영역을 공유할 수 없게 된다.As described above, when the
이러한 경우, 운영체제(320)는 제2 가상 주소 영역(312)이 지시하는 공유 페이지(333)를 수정할 수는 없고, 공유 페이지(333)를 복사(copy)한 다음 복사 페이지에 수정(write)해야 한다. 가령, 도 5에 도시된 바와 같이, 운영체제(320)는 공유 페이지(333)를 복사하여 새로운 페이지 D(334)를 생성하고, 수정 사항에 대응하는 데이터(313)를 페이지 D(334)에 쓰게 된다. 이를 위해, 운영체제(320)는 제2 가상 주소 영역(312)에 대응하는 물리 메모리 영역(330)을 공유 페이지(즉, 페이지 C, 333)에서 복사 페이지(즉, 페이지 D, 334)로 변경하게 된다.In this case, the
이처럼, 서로 다른 가상 주소 영역에 저장된 데이터들 간의 동일성이 깨지면서 메모리 중복 제거가 해제되는 과정을 'Copy On Write(COW)'라 지칭한다. 상기 Copy On Write(COW)로 인해, 메모리 페이지에 대한 Write Access Time의 차이가 발생하게 된다.As described above, a process in which memory deduplication is canceled while the identity between data stored in different virtual address areas is broken is referred to as 'Copy On Write (COW)'. Due to the Copy On Write (COW), a difference in Write Access Time for a memory page occurs.
도 6 및 도 7은 메모리 중복 제거 기술의 Copy On Write로 인한 Write Access Time의 차이를 설명하기 위해 참조되는 도면이다.6 and 7 are diagrams referred to explain differences in Write Access Time due to Copy On Write in the memory deduplication technology.
도 6을 참조하면, 웹 서버(200)에 설치된 적어도 하나의 애플리케이션(610)은 가상 메모리(virtual memory)를 이용하여 특정 기능을 수행할 수 있다.Referring to FIG. 6, at least one
해당 애플리케이션(610)의 특정 기능이 실행되면, 애플리케이션(310)에 할당된 가상 주소 영역(611)에 특정 기능에 대응하는 데이터가 저장된다. 운영체제(620)는 가상 주소 영역(611)을 물리 메모리 영역(630)의 페이지 A(631)에 매핑함으로써 물리 메모리 자원을 해당 애플리케이션(610)에 할당하게 된다. 여기서, 페이지 A(631)는 메모리 중복 제거가 적용되지 않은 일반 페이지이다.When a specific function of the
물리 메모리 영역(630)이 할당된 상태에서, 해당 애플리케이션(610)의 프로세스가 가상 주소 영역(611)에 저장된 데이터를 수정(Write Access)하게 되면, 운영체제(320)는 가상 주소 영역(611)이 지시하는 물리 메모리 영역(630)의 페이지 A(631)를 수정하게 된다.When the
이러한 프로세스의 수정 요청에 대응하여, 운영체제(620)가 물리 메모리 영역(630)의 페이지 A(631)에 데이터를 쓰는(Write)데 걸리는 시간을 '일반 페이지(a non-deduplicated page)에 대한 Write Access Time'이라 지칭한다. 일 예로, 일반 페이지(a non-deduplicated page)에 대한 Write Access Time은 약 10㎲ 내지 15㎲가 소요될 수 있다.In response to the request for modification of the process, the time taken by the
한편, 도 7을 참조하면, 웹 서버(200)에 설치된 적어도 하나의 애플리케이션(710)은 가상 메모리(virtual memory)을 이용하여 특정 기능을 수행할 수 있다.Meanwhile, referring to FIG. 7, at least one
해당 애플리케이션(710)의 제1 기능이 실행되면, 애플리케이션(710)에 할당된 제1 가상 주소 영역(711)에 제1 기능에 대응하는 제1 데이터가 저장되고, 해당 애플리케이션(710)의 제2 기능이 실행되면, 어플리케이션(710)에 할당된 제2 가상 주소 영역(712)에 제2 기능에 대응하는 제2 데이터가 저장된다.When the first function of the
제1 데이터의 내용과 제2 데이터의 내용이 서로 동일한 경우, 운영체제(720)는 제1 가상 주소 영역(711)을 물리 메모리 영역(730)의 페이지 A(731)에 매핑하고, 제2 가상 주소 영역(712)도 동일한 페이지 A(731)에 매핑함으로써 물리 메모리 자원을 공유할 수 있다.When the content of the first data and the content of the second data are the same, the
물리 메모리 영역(730)이 중복 제거된 상태에서, 해당 애플리케이션(710)의 프로세스가 제2 가상 주소 영역(712)에 저장된 제2 데이터를 수정(Write Access)하게 되면, 운영체제(320)는 제2 가상 주소 영역(712)이 지시하는 공유 페이지(즉, 페이지 A, 731)를 수정할 수는 없고, 공유 페이지(731)를 복사(copy)한 다음 복사 페이지(즉, 페이지 B, 732)에 수정(write)하게 된다. 이를 위해, 운영체제(720)는 제2 가상 주소 영역(712)에 대응하는 물리 메모리 영역(730)을 공유 페이지(즉, 페이지 A, 731)에서 복사 페이지(즉, 페이지 B, 732)로 변경하게 된다.When the
이러한 프로세스의 수정 요청에 대응하여, 운영체제(720)가 물리 메모리 영역(730)의 공유 페이지(731)에 데이터를 쓰는(Write)데 걸리는 시간을 '공유 페이지(a deduplicated page)에 대한 Write Access Time'이라 지칭한다.In response to the request for modification of the process, the time required for the
메모리 중복 제거 해제 시 발생하는 Copy On Write(COP)로 인해, 공유 페이지를 복사하는 시간과 가상 주소 영역을 물리 메모리 영역의 복사 페이지에 매핑하는 시간이 추가적으로 발생하기 때문에, 공유 페이지(a deduplicated page)에 대한 Write Access Time은 일반 페이지(a non-deduplicated page)에 대한 Write Access Time보다 길게 된다. 일 예로, 공유 페이지(a deduplicated page)에 대한 Write Access Time은 대략 40㎲ 정도가 소요될 수 있다.A shared page (a deduplicated page) because the Copy On Write (COP) that occurs when deduplication of memory occurs causes additional time to copy the shared page and map the virtual address area to the copy page of the physical memory area. Write Access Time for is longer than Write Access Time for a non-deduplicated page. For example, Write Access Time for a deduplicated page may take approximately 40 ms.
상술한 바와 같이, 운영체제에서 메모리 중복 제거 기술을 사용하여 메모리를 관리하는 경우, 일반 페이지(a non-deduplicated page)에 대한 Write Access Time과 공유 페이지(a deduplicated page)에 대한 Write Access Time은 항상 아래 수학식 1의 관계를 만족하게 된다.As described above, when the memory is managed by the operating system using memory deduplication, the Write Access Time for a non-deduplicated page and the Write Access Time for a deduplicated page are always shown below. The relationship of
도 8은 본 발명의 일 실시 예에 따른 접근 통제 장치의 구성 블록도이다.8 is a block diagram of an access control device according to an embodiment of the present invention.
도 8을 참조하면, 본 발명에 따른 접근 통제 장치(800)는 로그인 페이지 생성부(810), 접근 시간 측정부(820) 및 접근 통제부(830)를 포함할 수 있다. 상기 접근 통제 장치(800)는 클라이언트들을 식별하기 위해 웹 서버(200)에 구현될 수 있다. Referring to FIG. 8, the
로그인 페이지 생성부(810)는 웹 서버(200)에 설치된 애플리케이션의 일 프로세스 상에서 백그라운드(background)로 구동할 로그인 페이지(login page)를 생성할 수 있다. 여기서, 로그인 페이지는 단말 사용자의 로그인 계정 정보를 입력하기 위한 웹 페이지를 의미한다.The
로그인 페이지 생성부(800)에 의해 로그인 페이지가 생성되면, 웹 서버(200)의 운영체제는 로그인 페이지에 해당하는 데이터를 해당 프로세스의 가상 주소 영역에 저장하고, 상기 가상 주소 영역을 물리 메모리 영역의 특정 페이지에 매핑하게 된다.When the login page is generated by the
접근 시간 측정부(820)는, 로그인 접속 시도 시, 운영체제의 커널이 로그인 접속 시도에 해당하는 데이터를 물리 메모리 영역의 페이지에 쓰는데 걸리는 시간(즉, Write Access Time)을 측정할 수 있다. 접근 시간 측정부(820)는 상기 측정된 Write Access Time에 관한 정보를 접근 통제부(830)로 제공할 수 있다.The access
접근 통제부(830)는 접근 시간 측정부(820)로부터 수신된 Write Access Time에 관한 정보를 기반으로 사용자 단말(400)의 접근 허용 여부를 결정할 수 있다.The
본 발명에 따른 접근 통제 장치(800)는 단말 사용자가 로그인 페이지를 통해 웹 서버(200)에 접속하는 경우의 Write Access Time과 악의적인 사용자가 로그인 페이지를 우회하여 웹 서버(200)에 접속하는 경우의 Write Access Time이 서로 다르다는 점에 착안하여 사용자 단말(400)의 접근 허용 여부를 결정할 수 있다.The
도 9는 악의적인 사용자가 로그인 페이지를 우회하여 접속을 시도하는 경우의 Write Access Time을 설명하기 위해 참조되는 도면이고, 도 10은 단말 사용자가 로그인 페이지를 통해 접속을 시도하는 경우의 Write Access Time을 설명하기 위해 참조되는 도면이다.9 is a view referred to describe Write Access Time when a malicious user attempts to access by bypassing the login page, and FIG. 10 shows Write Access Time when a terminal user attempts to access through the login page. It is a drawing referred to for explanation.
도 9를 참조하면, 웹 서버(200)에 설치된 애플리케이션(910)의 제1 프로세스는 가상 메모리(virtual memory)를 이용하여 로그인 페이지를 생성하는 기능을 수행할 수 있다.Referring to FIG. 9, the first process of the
제1 프로세스를 통해 로그인 페이지 생성 기능이 실행되면, 제1 프로세스에 할당된 제1 가상 주소 영역(911)에 로그인 페이지에 대응하는 데이터가 저장된다. 운영체제(920)는 제1 가상 주소 영역(911)을 물리 메모리 영역(930)의 페이지 A(931)에 매핑함으로써 물리 메모리 자원을 제1 프로세스에 할당하게 된다.When the login page generation function is executed through the first process, data corresponding to the login page is stored in the first
제1 프로세스를 통해 로그인 페이지가 백그라운드로 실행 중인 상태에서 악의적인 사용자가 제2 프로세스를 통해 로그인 페이지를 우회하여 접속하는 기능을 실행하는 경우, 제2 프로세스에 할당된 제2 가상 주소 영역(912)에 해당 기능에 대응하는 데이터가 저장된다. 제1 가상 주소 영역(911)에 저장된 데이터와 제2 가상 주소 영역(912)에 저장된 데이터가 서로 동일하지 않기 때문에, 운영체제(920)는 제2 가상 주소 영역(912)을 물리 메모리 영역(930)의 페이지 B(932)에 매핑함으로써 물리 메모리 자원을 제2 프로세스에 할당하게 된다. 여기서, 페이지 B(932)는 메모리 중복 제거가 적용되지 않은 일반 페이지이다.When the login page is running in the background through the first process and the malicious user bypasses the login page through the second process to execute the function of accessing, the second
이와 같이 물리 메모리 영역(930)이 할당된 상태에서, 악의적인 사용자가 웹 서버(200)에 접속하기 위해 제2 가상 주소 영역(912)에 저장된 데이터를 수정(Write Access)하게 되면, 운영체제(320)는 제2 가상 주소 영역(912)이 지시하는 물리 메모리 영역(930)의 페이지 B(932)를 수정하게 된다. 따라서, 악의적인 사용자가 로그인 페이지를 우회하여 접속을 시도하는 경우의 Write Access Time은 일반 페이지에 대한 Write Access Time에 대응한다.When the
한편, 도 10을 참조하면, 웹 서버(200)에 설치된 애플리케이션(1010)의 제1 프로세스는 가상 메모리(virtual memory)를 이용하여 로그인 페이지를 생성하는 기능을 수행할 수 있다.Meanwhile, referring to FIG. 10, the first process of the
제1 프로세스를 통해 로그인 페이지 생성 기능이 실행되면, 제1 프로세스에 할당된 제1 가상 주소 영역(1011)에 로그인 페이지에 대응하는 데이터가 저장된다. 운영체제(1020)는 제1 가상 주소 영역(1011)을 물리 메모리 영역(1030)의 페이지 A(1031)에 매핑함으로써 물리 메모리 자원을 제1 프로세스에 할당하게 된다.When the login page generation function is executed through the first process, data corresponding to the login page is stored in the first
제1 프로세스를 통해 로그인 페이지가 백그라운드로 실행 중인 상태에서, 정상적인 사용자가 제2 프로세스를 통해 웹 사이트에 접속하여 동일한 로그인 페이지를 호출하는 경우, 제2 프로세스에 할당된 제2 가상 주소 영역(1012)에 로그인 페이지에 대응하는 데이터가 저장된다. 제1 가상 주소 영역(1011)에 저장된 데이터와 제2 가상 주소 영역(1012)에 저장된 데이터가 서로 동일하기 때문에, 운영체제(1020)는 제2 가상 주소 영역(1012)을 물리 메모리 영역(1030)의 페이지 A(1031)에 매핑함으로써 물리 메모리 자원을 공유하게 된다.When the login page is running in the background through the first process and a normal user accesses the website through the second process and calls the same login page, the second
이와 같이 물리 메모리 영역(1030)이 중복 제거된 상태에서, 단말 사용자가 제2 가상 주소 영역(1012)에 저장된 데이터를 수정하게 되면(즉, 로그인 정보를 로그인 페이지에 입력하게 되면), 제1 가상 주소 영역(1011)에 저장된 데이터와 제2 가상 주소 영역(1012)에 저장된 데이터 간의 동일성이 깨지게 된다. 이러한 경우, 운영체제(1020)는 제2 가상 주소 영역(1012)이 지시하는 공유 페이지(즉, 페이지 A, 1031)를 복사(copy)한 다음 복사 페이지(즉, 페이지 B, 1032)에 수정(write)하게 된다. 따라서, 정상적인 사용자가 로그인 페이지를 통해 접속을 시도하는 경우의 Write Access Time은 공유 페이지에 대한 Write Access Time에 대응한다. 앞에서 설명한 바와 같이, Copy On Write(COW) 과정으로 인해, 공유 페이지에 대한 Write Access Time은 일반 페이지에 대한 Write Access Time보다 더 길게 된다.As described above, when the
다시, 도 8을 참조하면, 접근 통제부(830)는, 접근 시간 측정부(820)로부터 수신된 Write Access Time이 공유 페이지에 대한 Write Access Time에 대응하는 경우, 사용자 단말(400)이 정상적인 로그인 페이지를 통해 접속한 것으로 판단하여 웹 서버(200)로의 접근을 허용할 수 있다.Referring again to FIG. 8, the
한편, 접근 통제부(830)는, 접근 시간 측정부(820)로부터 수신된 Write Access Time이 일반 페이지에 대한 Write Access Time에 대응하는 경우, 악의적인 사용자가 로그인 페이지를 우회하여 접속한 것으로 판단하여 웹 서버(200)로의 접근을 차단할 수 있다.On the other hand, the
이상 상술한 바와 같이, 본 발명에 따른 접근 통제 장치는 메모리 중복 제거 기술을 이용한 접근 통제 방법을 추가적인 보안 강화 수단으로 사용함으로써, 악의적인 사용자가 로그인 페이지를 우회하여 웹 서버로 접속하는 것을 효과적으로 차단할 수 있다.As described above, the access control device according to the present invention can effectively block a malicious user from bypassing a login page and accessing a web server by using an access control method using a memory deduplication technique as an additional security enhancement means. have.
도 11은 본 발명의 일 실시 예에 따른 접근 통제 방법을 설명하는 절차 흐름도이다.11 is a flowchart illustrating a procedure of an access control method according to an embodiment of the present invention.
도 11을 참조하면, 본 발명에 따른 접근 통제 장치(800)는 웹 서버(200)의 보안 프로세스 상에서 백그라운드로 구동할 로그인 페이지를 미리 생성할 수 있다(S1110). 이때, 웹 서버(200)의 운영체제는 로그인 페이지에 해당하는 데이터를 해당 프로세스의 가상 주소 영역에 저장하고, 상기 가상 주소 영역을 물리 메모리 영역의 특정 페이지에 매핑하게 된다.Referring to FIG. 11, the
정상적인 사용자 또는 악의적인 사용자가 웹 서버(200)로 로그인 접속을 시도하는 경우(S1120), 접근 통제 장치(800)는 운영체제의 커널이 로그인 접속 시도에 해당하는 데이터를 물리 메모리 영역의 페이지에 쓰는데 걸리는 시간(Write Access Time)을 측정할 수 있다(S1130).When a normal user or a malicious user attempts login access to the web server 200 (S1120), the
상기 측정 결과, Write Access Time이 제1 임계치 범위에 존재하는 경우(S1140), 접근 통제 장치(800)는 정상적인 사용자가 로그인 페이지를 통해 접속하는 것으로 판단하여 웹 서버(200)로의 접근을 허용할 수 있다(S1150). 여기서, 제1 임계치 범위는 공유 페이지(a deduplicated page)에 대한 Write Access Time의 평균 범위를 나타낸다.As a result of the measurement, when the Write Access Time exists in the first threshold range (S1140), the
한편, Write Access Time이 제2 임계치 범위에 존재하는 경우(S1160), 접근 통제 장치(800)는 악의적인 사용자가 로그인 페이지를 우회하여 접속하는 것으로 판단하여 웹 서버(200)로의 접근을 차단할 수 있다(S1170). 여기서, 제2 임계치 범위는 일반 페이지(a non-deduplicated page)에 대한 Write Access Time의 평균 범위를 나타낸다.On the other hand, if the Write Access Time is in the second threshold range (S1160), the
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The above-described present invention can be embodied as computer readable codes on a medium on which a program is recorded. The computer-readable medium, continue to store executable computer program, or may be temporarily stored for a run or download. In addition, the medium may be one which can be a variety of recording device or storage means of a single or several hardware combined form, is not limited to the medium to be directly connected to any computer system, there distributed to the network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks, And program instructions including ROM, RAM, flash memory, and the like. In addition, the media can be recorded to storage media managed as an example for other media, website, etc. supplied to the app store or other retail distributor of various software applications, and servers. Accordingly, the above detailed description should not be construed as limiting in all respects, but should be considered illustrative. The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.
10: 웹 서비스 제공 시스템 100: 통신 네트워크
200: 웹 서버 300: 사용자 정보 DB
400: 사용자 단말 210: 애플리케이션들
220: 운영체제 230: 하드웨어
800: 접근 통제 장치 810: 로그인 페이지 생성부
820: 접근 시간 측정부 830: 접근 통제부10: web service providing system 100: communication network
200: Web server 300: User information DB
400: user terminal 210: applications
220: operating system 230: hardware
800: access control device 810: login page generator
820: access time measurement unit 830: access control unit
Claims (13)
클라이언트의 로그인 접속 시도 시, 운영체제의 커널이 상기 로그인 접속 시도에 해당하는 데이터를 물리 메모리 영역의 페이지에 쓰는데 걸리는 시간인 Write Access Time을 측정하는 접근 시간 측정부; 및
상기 접근 시간 측정부로부터 수신된 Write Access Time에 관한 정보를 기반으로 상기 클라이언트의 접근 허용 여부를 결정하는 접근 통제부를 포함하고,
상기 로그인 페이지는 상기 물리 메모리 영역에서 메모리 중복 제거를 위한 공유 페이지(deduplicated page)를 생성하기 위해 사용되는 것을 특징으로 하는 접근 통제 장치.A login page generation unit that generates a login page to be run on one process of a specific application;
An access time measuring unit measuring a Write Access Time, which is the time it takes for the kernel of the operating system to write data corresponding to the login access attempt to a page in the physical memory area when the client attempts to access the login; And
And an access control unit determining whether to allow the client to access based on the information on the Write Access Time received from the access time measurement unit.
The login page is used to generate a shared page (deduplicated page) for memory deduplication in the physical memory area, characterized in that the access control device.
상기 특정 애플리케이션은, 메모리 중복 제거 기술(Memory Deduplication Technique)을 이용하여 클라이언트의 접근을 통제하는 애플리케이션임을 특징으로 하는 접근 통제 장치.According to claim 1,
The specific application is an access control device, characterized in that the application to control the access of the client using a memory deduplication technique (Memory Deduplication Technique).
상기 로그인 페이지는, 상기 클라이언트의 로그인 계정 정보를 입력하기 위한 웹 페이지임을 특징으로 하는 접근 통제 장치.According to claim 1,
The login page, the access control device, characterized in that the web page for entering the login account information of the client.
상기 접근 통제부는, 상기 Write Access Time이 제1 임계치 범위에 존재하는 경우, 상기 클라이언트가 정상적인 로그인 페이지를 통해 접속한 것으로 판단하여 상기 로그인 접속을 허용하는 것을 특징으로 하는 접근 통제 장치.According to claim 1,
The access control unit, if the Write Access Time is within the first threshold range, the access control device, characterized in that to allow the login access by determining that the client access through a normal login page.
상기 클라이언트가 정상적인 로그인 페이지를 통해 접속을 시도하는 경우의 Write Access Time은 공유 페이지에 대한 Write Access Time에 대응하는 것을 특징으로 하는 접근 통제 장치.The method of claim 5,
When the client attempts to access through a normal login page, the Write Access Time corresponds to the Write Access Time for the shared page.
상기 제1 임계치 범위는, 상기 공유 페이지에 대한 Write Access Time의 범위를 나타내는 것을 특징으로 하는 접근 통제 장치.The method of claim 6,
The first threshold range, access control device characterized in that it represents a range of Write Access Time for the shared page.
상기 접근 통제부는, 상기 Write Access Time이 제2 임계치 범위에 존재하는 경우, 상기 클라이언트가 로그인 페이지를 우회하여 접속한 것으로 판단하여 상기 로그인 접속을 차단하는 것을 특징으로 하는 접근 통제 장치.According to claim 1,
The access control unit, if the Write Access Time is in the second threshold range, the access control device, characterized in that to block the login access by determining that the client access by bypassing the login page.
상기 클라이언트가 로그인 페이지를 우회하여 접속을 시도하는 경우의 Write Access Time은 일반 페이지(a non-deduplicated page)에 대한 Write Access Time에 대응하는 것을 특징으로 하는 접근 통제 장치.The method of claim 8,
When the client attempts to access by bypassing the login page, the Write Access Time corresponds to the Write Access Time for a non-deduplicated page.
상기 제2 임계치 범위는, 상기 일반 페이지에 대한 Write Access Time의 범위를 나타내는 것을 특징으로 하는 접근 통제 장치.The method of claim 9,
The second threshold range, access control device characterized in that it represents a range of Write Access Time for the general page.
클라이언트의 로그인 접속 시도 시, 운영체제의 커널이 상기 로그인 접속 시도에 해당하는 데이터를 물리 메모리 영역의 페이지에 쓰는데 걸리는 시간인 Write Access Time을 측정하는 단계; 및
상기 측정된 Write Access Time에 관한 정보를 기반으로 상기 클라이언트의 접근 허용 여부를 결정하는 단계를 포함하고,
상기 로그인 페이지는 상기 물리 메모리 영역에서 메모리 중복 제거를 위한 공유 페이지(deduplicated page)를 생성하기 위해 사용되는 것을 특징으로 하는 접근 통제 방법.Generating in advance a login page to be run on one process of a specific application;
Measuring a Write Access Time, which is the time it takes for the kernel of the operating system to write data corresponding to the login access attempt to the page of the physical memory area when the client attempts to access the login; And
And determining whether to allow the client to access based on the measured Write Access Time information.
The login page is used to create a shared page (deduplicated page) for deduplication of memory in the physical memory area.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180083337A KR102084778B1 (en) | 2018-07-18 | 2018-07-18 | Access control method and apparutus thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180083337A KR102084778B1 (en) | 2018-07-18 | 2018-07-18 | Access control method and apparutus thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200009235A KR20200009235A (en) | 2020-01-30 |
KR102084778B1 true KR102084778B1 (en) | 2020-04-23 |
Family
ID=69321380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180083337A KR102084778B1 (en) | 2018-07-18 | 2018-07-18 | Access control method and apparutus thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102084778B1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170119903A (en) * | 2016-04-20 | 2017-10-30 | 닉스테크 주식회사 | Apparatus and method for controlling malware including ransomware |
-
2018
- 2018-07-18 KR KR1020180083337A patent/KR102084778B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20200009235A (en) | 2020-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107710209B (en) | System and method for using per-application profiles in a computing device | |
CN111522595B (en) | Transient application | |
US10509905B2 (en) | Ransomware mitigation system | |
US10599842B2 (en) | Deceiving attackers in endpoint systems | |
US9177129B2 (en) | Devices, systems, and methods for monitoring and asserting trust level using persistent trust log | |
CN112805708B (en) | Protecting selected disks on a computer system | |
US8973090B1 (en) | Systems and methods for protecting platform-as-a-service platforms | |
US10831915B2 (en) | Method and system for isolating application data access | |
US10958687B2 (en) | Generating false data for suspicious users | |
US11080385B1 (en) | Systems and methods for enabling multi-factor authentication for seamless website logins | |
CN109997138B (en) | System and method for detecting malicious processes on a computing device | |
US10992713B2 (en) | Method of and system for authorizing user to execute action in electronic service | |
US9219728B1 (en) | Systems and methods for protecting services | |
US10542005B2 (en) | Connection control for virtualized environments | |
US11151273B2 (en) | Controlling installation of unauthorized drivers on a computer system | |
US11496511B1 (en) | Systems and methods for identifying and mitigating phishing attacks | |
KR102084778B1 (en) | Access control method and apparutus thereof | |
US20190303305A1 (en) | Systems and methods for providing secure memory | |
US11606689B1 (en) | Systems and methods for authenticating application points of entry to prevent unauthorized use of locked mobile applications | |
US10747900B1 (en) | Discovering and controlling sensitive data available in temporary access memory | |
US9128743B1 (en) | Graphic visualization of a suspended virtual machine | |
US10547637B1 (en) | Systems and methods for automatically blocking web proxy auto-discovery protocol (WPAD) attacks | |
US12001567B1 (en) | Protections against command line security vulnerabilities | |
US11882123B2 (en) | Kernel level application data protection | |
US20230421556A1 (en) | Distribution of secure client devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |