KR102084778B1 - Access control method and apparutus thereof - Google Patents

Access control method and apparutus thereof Download PDF

Info

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
Application number
KR1020180083337A
Other languages
Korean (ko)
Other versions
KR20200009235A (en
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 KR1020180083337A priority Critical patent/KR102084778B1/en
Publication of KR20200009235A publication Critical patent/KR20200009235A/en
Application granted granted Critical
Publication of KR102084778B1 publication Critical patent/KR102084778B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2141Access 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

접근 통제 방법 및 그 장치{ACCESS CONTROL METHOD AND APPARUTUS THEREOF}ACCESS CONTROL METHOD AND APPARUTUS THEREOF}

본 발명은 접근 통제 방법 및 그 장치에 관한 것으로, 보다 구체적으로는 메모리 중복 제거 기술(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 service providing system 10 according to the present invention may include a communication network 100, a web server 200, a user information DB 300 and a user terminal 400.

사용자 단말(400)과 웹 서버(200)는 통신 네트워크(100)를 통해 서로 연결될 수 있다. 통신 네트워크(100)는 유선 네트워크와 무선 네트워크를 포함할 수 있으며, 구체적으로, 근거리 네트워크(LAN: Local Area Network), 도시권 네트워크(MAN: Metropolitan Area Network), 광역 네트워크(WAN: Wide Area Network) 등 다양한 네트워크를 포함할 수 있다. 또한, 통신 네트워크(100)는 공지의 월드 와이드 웹(WWW: World Wide Web)을 포함할 수도 있다. 그러나, 본 발명에 따른 통신 네트워크(100)는 상기 열거된 네트워크에 국한되지 않고, 공지의 무선 데이터 네트워크, 공지의 전화 네트워크, 공지의 유/무선 텔레비전 네트워크 중 적어도 하나를 포함할 수도 있다.The user terminal 400 and the web server 200 may be connected to each other through the communication network 100. The communication network 100 may include a wired network and a wireless network, specifically, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), and the like. It can include a variety of networks. In addition, the communication network 100 may include a known World Wide Web (WWW). However, the communication network 100 according to the present invention is not limited to the networks listed above, and may include at least one of a known wireless data network, a known telephone network, and a known wired / wireless television network.

사용자 단말(400)은, 사용자 명령 등에 따라, 웹 브라우저(web browser)를 구동하여 웹 서버(200)에 접속할 수 있다. 이때, 사용자 단말(400)이 웹 서버(200)에 접속하기 위해서는 일련의 사용자 인증 과정(가령, 로그인 과정)이 필요하다.The user terminal 400 may access the web server 200 by driving a web browser according to a user command or the like. At this time, in order for the user terminal 400 to access the web server 200, a series of user authentication processes (eg, a login process) are required.

사용자 단말(400)은, 사용자 인증 성공 시, 웹 서버(200)로부터 제공받은 정보 및/또는 컨텐츠를 기반으로 다양한 웹 서비스(web service)를 제공할 수 있다.When the user authentication is successful, the user terminal 400 may provide various web services based on information and / or contents provided from the web server 200.

본 명세서에서 설명되는 사용자 단말(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 user terminal 400 described herein includes a mobile phone, a smart phone, a navigation terminal, a laptop computer, a digital broadcasting terminal, personal digital assistants (PDAs), portable multimedia player (PMP), navigation, Desktop PC, slate PC, tablet PC, ultrabook, wearable device, e.g., smartwatch, smart glass ), HMD (head mounted display), and the like.

사용자 정보 DB(300)는 웹 서버(200)에 가입된 단말 사용자들을 식별하기 위한 사용자 인증 정보를 저장하고 이를 관리할 수 있다. 여기서, 사용자 인증 정보는 단말 사용자들의 ID 정보 및 패스워드 정보를 포함할 수 있으며 반드시 이에 제한되지는 않는다.The user information DB 300 may store and manage user authentication information for identifying terminal users subscribed to the web server 200. Here, the user authentication information may include ID information and password information of terminal users, but is not limited thereto.

웹 서버(200)는 사용자 정보 DB(300)에 저장된 사용자 인증 정보(즉, 로그인 정보)를 이용하여 사용자 단말(400)의 접근을 통제할 수 있다. 가령, 웹 서버(200)에서 제공하는 로그인 페이지를 통해 로그인 정보가 입력되면, 웹 서버(200)는 로그인 페이지를 통해 입력된 로그인 정보와 사용자 정보 DB(300)에 저장된 로그인 정보를 비교하여 사용자 단말(400)의 접근을 허용하거나 혹은 해당 단말(400)의 접근을 차단할 수 있다.The web server 200 may control access of the user terminal 400 by using user authentication information (that is, login information) stored in the user information DB 300. For example, when the login information is input through the login page provided by the web server 200, the web server 200 compares the login information entered through the login page with the login information stored in the user information DB 300, and the user terminal. The access of the 400 may be allowed or the access of the corresponding terminal 400 may be blocked.

한편, 본 실시 예에서는, 웹 서버(200)에 구비된 인증 모듈(미도시)을 통해 사용자 단말(400)의 접속을 통제하는 것을 예시하고 있으나 반드시 이에 제한되지 않는다. 따라서, 웹 서버(200)는 별도의 인증 서버(미도시)와 연동하여 사용자 단말(400)의 접속을 통제할 수도 있다.Meanwhile, in the present exemplary embodiment, it is illustrated that the access of the user terminal 400 is controlled through an authentication module (not shown) provided in the web server 200, but is not limited thereto. Accordingly, the web server 200 may control access of the user terminal 400 in conjunction with a separate authentication server (not shown).

이러한 로그인 페이지를 이용한 접근 통제 방법과 함께, 웹 서버(200)는 메모리 중복 제거 기술을 이용한 접근 통제 방법을 추가적으로 사용하여 로그인 보안을 강화할 수 있다. 이는 악의적인 사용자가 로그인 페이지를 우회하여 웹 서버(200)에 접속하는 것을 방지하기 위함이다.In addition to the access control method using the login page, the web server 200 may further enhance the login security by additionally using the access control method using the memory deduplication technology. This is to prevent a malicious user from bypassing the login page and accessing the web server 200.

상술한 접근 통제 방법들이 동시 또는 순차적으로 수행되어 모든 보안 인증이 성공하면, 웹 서버(200)는 사용자 단말(400)의 접근을 허용하고, 해당 단말(400)에서 요청하는 웹 서비스를 제공할 수 있다.If the above-described access control methods are performed simultaneously or sequentially, and all security authentication is successful, the web server 200 allows access to the user terminal 400 and can provide the web service requested by the terminal 400. have.

한편, 이하에서는, 본 발명의 바람직한 실시 예에 따른 접근 통제 방법에 사용되는 메모리 중복 제거 기술(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 web server 200 according to the present invention may include a plurality of applications (applications, 210), an operating system (operating system 220), and hardware (hardware, 230).

복수의 애플리케이션들(210)은, 웹 서버(200)의 기본적인 동작들을 수행하기 위한 다양한 응용 프로그램들이다. 웹 서버(200)는 이러한 애플리케이션들을 이용하여 사용자 단말(400)에서 요구하는 웹 서비스와 관련된 다양한 동작들을 수행할 수 있다. The plurality of applications 210 are various application programs for performing basic operations of the web server 200. The web server 200 may perform various operations related to the web service requested by the user terminal 400 using these applications.

복수의 애플리케이션들(210)은, 웹 서비스를 제공하는 애플리케이션, 계정 로그인 정보를 이용하여 사용자 단말의 접근을 통제하는 애플리케이션, 메모리 중복 제거 기술을 이용하여 사용자 단말(400)의 접근을 통제하는 애플리케이션 등을 포함할 수 있다.The plurality of applications 210 includes an application that provides a web service, an application that controls access to the user terminal using account login information, an application that controls access to the user terminal 400 using memory deduplication technology, and the like. It may include.

하드웨어(230)는 컴퓨터나 그 주변 장치들을 의미하는 것으로서, 중앙처리장치(CPU), 메모리 및 기타 장치들을 포함할 수 있다. The hardware 230 refers to a computer or peripheral devices thereof, and may include a central processing unit (CPU), memory, and other devices.

중앙처리장치(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 web server 200. In addition, the memory may store a plurality of application programs (application programs or applications) running on the web server 200, data and instructions for the operation of the web server 200.

메모리는 플래시 메모리 타입(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 operating system 220 is system software that serves as an interface between a plurality of applications 210 and hardware 230.

운영체제(220)는 하드웨어 자원을 관리하고 소프트웨어의 실행 환경을 제공하는 커널(kernel)과, 상기 커널에 대한 인터페이스를 제공하는 시스템 콜(system call)과, 사용자 명령어에 대한 처리를 담당하는 쉘(shell)을 포함한다. 이 중 커널은 운영체제(220)의 가장 중요한 핵심 구성 요소이므로, 상기 커널을 운영체제라 지칭하기도 한다.The operating system 220 is a kernel that manages hardware resources and provides an execution environment for software, a system call that provides an interface to the kernel, and a shell that is responsible for processing user commands. ). Since the kernel is the most important core component of the operating system 220, the kernel is also referred to as an operating system.

운영체제(220)는 프로세스 관리 기능(가령, 동기화 기능, 스케줄링 기능 등), 하드웨어 관리 기능, 하드웨어 및 프로세스의 보안 기능 등과 같은 다양한 기능을 수행할 수 있다.The operating system 220 may perform various functions such as a process management function (eg, synchronization function, scheduling function, etc.), hardware management function, and hardware and process security function.

운영체제(220)는 시스템의 오버헤드(overhead)를 감소하고 시스템 성능을 최적화하기 위해 메모리 관리 기능을 수행할 수 있다. 즉, 운영체제(220)는 현재 실행 중인 프로세스들에게 메모리 공간을 할당하고, 해당 프로세스들이 종료되면 할당된 메모리 공간을 회수하는 동작을 수행할 수 있다.The operating system 220 may perform a memory management function to reduce system overhead and optimize system performance. That is, the operating system 220 may perform an operation of allocating memory space to currently running processes and reclaiming the allocated memory space when the processes are terminated.

운영체제(220)에서 사용되는 메모리 관리 기법으로는, 연속 메모리 할당(Contiguous Memory Allocation, CMA) 기법, 페이징(paging) 기법, 세그멘테이션(segmentation) 기법 및 메모리 중복 제거(Memory Deduplication) 기법 등이 있다.The memory management techniques used in the operating system 220 include a Contiguous Memory Allocation (CMA) technique, a paging technique, a segmentation technique, and a memory deduplication technique.

본 발명에서 사용되는 메모리 중복 제거 기법은, 동일한 내용이 기록된 가상 주소 공간들을 하나의 물리 메모리 페이지에 매핑(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 application 310 installed in the web server 200 may perform a specific function using virtual memory.

해당 애플리케이션(310)의 제1 기능이 실행되면, 애플리케이션(310)에 할당된 제1 가상 주소 영역(311)에 제1 기능에 대응하는 제1 데이터가 저장되고, 해당 애플리케이션(310)의 제2 기능이 실행되면, 어플리케이션(310)에 할당된 제2 가상 주소 영역(312)에 제2 기능에 대응하는 제2 데이터가 저장된다.When the first function of the application 310 is executed, the first data corresponding to the first function is stored in the first virtual address area 311 allocated to the application 310, and the second function of the application 310 When the function is executed, the second data corresponding to the second function is stored in the second virtual address area 312 allocated to the application 310.

도 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 operating system 320 sets the first virtual address area 311 to page A 331 of the physical memory area 330. And mapping the second virtual address area 312 to page B 332 of the physical memory area 330 to allocate physical memory resources to the corresponding application 310.

한편, 도 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 operating system 320 is configured to efficiently manage limited memory resources without affecting the currently running application. Physical deduplication technology can be used to allocate physical memory resources.

즉, 운영체제(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 operating system 320 maps the first virtual address area 311 to page C 333 of the physical memory area 330, and the second virtual address area 312 also maps to the same page C 333. You can share physical memory resources. In this case, the page 333 that has been deduplicated can be set as a copy on write (COW) page, meaning that it is possible to read pages but not write. For convenience of description below, a page 333 merged into one page through memory deduplication is referred to as a shared page or a deduplicated page. It is referred to as a page (a normal page or a non-deduplicated page).

이와 같이 물리 메모리 영역(330)이 중복 제거된 상태에서, 해당 애플리케이션(310)의 프로세스가 제2 가상 주소 영역(312)에 저장된 제2 데이터를 수정(Write Access)하게 되면, 제1 가상 주소 영역(311)에 저장된 제1 데이터와 제2 가상 주소 영역(312)에 저장된 제2 데이터 간에 동일성이 깨지게 되고, 그에 따라 더 이상 물리 메모리 영역을 공유할 수 없게 된다.As described above, when the physical memory area 330 is deduplicated, when the process of the application 310 modifies (Write Access) the second data stored in the second virtual address area 312, the first virtual address area The identity between the first data stored in 311 and the second data stored in the second virtual address area 312 is broken, and accordingly, the physical memory area can no longer be shared.

이러한 경우, 운영체제(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 operating system 320 cannot modify the shared page 333 indicated by the second virtual address area 312, and must copy the shared page 333 and then write to the copied page. do. For example, as shown in FIG. 5, the operating system 320 creates a new page D 334 by copying the shared page 333 and writes data 313 corresponding to the modification to the page D 334. do. To this end, the operating system 320 changes the physical memory area 330 corresponding to the second virtual address area 312 from a shared page (ie, pages C and 333) to a copy page (ie, pages D and 334). do.

이처럼, 서로 다른 가상 주소 영역에 저장된 데이터들 간의 동일성이 깨지면서 메모리 중복 제거가 해제되는 과정을 '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 application 610 installed in the web server 200 may perform a specific function using a virtual memory.

해당 애플리케이션(610)의 특정 기능이 실행되면, 애플리케이션(310)에 할당된 가상 주소 영역(611)에 특정 기능에 대응하는 데이터가 저장된다. 운영체제(620)는 가상 주소 영역(611)을 물리 메모리 영역(630)의 페이지 A(631)에 매핑함으로써 물리 메모리 자원을 해당 애플리케이션(610)에 할당하게 된다. 여기서, 페이지 A(631)는 메모리 중복 제거가 적용되지 않은 일반 페이지이다.When a specific function of the corresponding application 610 is executed, data corresponding to the specific function is stored in the virtual address area 611 allocated to the application 310. The operating system 620 allocates the physical memory resource to the corresponding application 610 by mapping the virtual address area 611 to page A 631 of the physical memory area 630. Here, page A 631 is a general page to which memory deduplication is not applied.

물리 메모리 영역(630)이 할당된 상태에서, 해당 애플리케이션(610)의 프로세스가 가상 주소 영역(611)에 저장된 데이터를 수정(Write Access)하게 되면, 운영체제(320)는 가상 주소 영역(611)이 지시하는 물리 메모리 영역(630)의 페이지 A(631)를 수정하게 된다.When the physical memory area 630 is allocated and the process of the corresponding application 610 corrects (Write Access) data stored in the virtual address area 611, the operating system 320 determines that the virtual address area 611 is The page A 631 of the physical memory area 630 indicated is corrected.

이러한 프로세스의 수정 요청에 대응하여, 운영체제(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 operating system 620 to write data to page A 631 of the physical memory area 630 is' Write to a non-deduplicated page. Access Time '. For example, the write access time for a non-deduplicated page may take about 10 ms to 15 ms.

한편, 도 7을 참조하면, 웹 서버(200)에 설치된 적어도 하나의 애플리케이션(710)은 가상 메모리(virtual memory)을 이용하여 특정 기능을 수행할 수 있다.Meanwhile, referring to FIG. 7, at least one application 710 installed in the web server 200 may perform a specific function using a virtual memory.

해당 애플리케이션(710)의 제1 기능이 실행되면, 애플리케이션(710)에 할당된 제1 가상 주소 영역(711)에 제1 기능에 대응하는 제1 데이터가 저장되고, 해당 애플리케이션(710)의 제2 기능이 실행되면, 어플리케이션(710)에 할당된 제2 가상 주소 영역(712)에 제2 기능에 대응하는 제2 데이터가 저장된다.When the first function of the application 710 is executed, the first data corresponding to the first function is stored in the first virtual address area 711 assigned to the application 710, and the second function of the application 710 is When the function is executed, the second data corresponding to the second function is stored in the second virtual address area 712 assigned to the application 710.

제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 operating system 720 maps the first virtual address area 711 to page A 731 of the physical memory area 730, and the second virtual address The regions 712 can also share physical memory resources by mapping to the same page A 731.

물리 메모리 영역(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 physical memory area 730 is deduplicated and the process of the corresponding application 710 corrects the second data stored in the second virtual address area 712 (Write Access), the operating system 320 is the second You cannot modify the shared page (i.e., pages A, 731) indicated by the virtual address area 712, copy the shared page 731, and then modify it to the copy page (i.e., pages B, 732). write). To this end, the operating system 720 changes the physical memory area 730 corresponding to the second virtual address area 712 from a shared page (ie, pages A and 731) to a copy page (ie, pages B and 732). do.

이러한 프로세스의 수정 요청에 대응하여, 운영체제(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 operating system 720 to write data to the shared page 731 of the physical memory area 730 is' Write Access Time for a deduplicated page. It is called '.

메모리 중복 제거 해제 시 발생하는 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 Equation 1 is satisfied.

Figure 112018070832946-pat00001
Figure 112018070832946-pat00001

도 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 access control device 800 according to the present invention may include a login page generation unit 810, an access time measurement unit 820, and an access control unit 830. The access control device 800 may be implemented in the web server 200 to identify clients.

로그인 페이지 생성부(810)는 웹 서버(200)에 설치된 애플리케이션의 일 프로세스 상에서 백그라운드(background)로 구동할 로그인 페이지(login page)를 생성할 수 있다. 여기서, 로그인 페이지는 단말 사용자의 로그인 계정 정보를 입력하기 위한 웹 페이지를 의미한다.The login page generator 810 may generate a login page to be driven as a background on one process of an application installed on the web server 200. Here, the login page means a web page for entering login account information of the terminal user.

로그인 페이지 생성부(800)에 의해 로그인 페이지가 생성되면, 웹 서버(200)의 운영체제는 로그인 페이지에 해당하는 데이터를 해당 프로세스의 가상 주소 영역에 저장하고, 상기 가상 주소 영역을 물리 메모리 영역의 특정 페이지에 매핑하게 된다.When the login page is generated by the login page generator 800, the operating system of the web server 200 stores data corresponding to the login page in the virtual address area of the corresponding process, and the virtual address area is specified in the physical memory area. Will map to the page.

접근 시간 측정부(820)는, 로그인 접속 시도 시, 운영체제의 커널이 로그인 접속 시도에 해당하는 데이터를 물리 메모리 영역의 페이지에 쓰는데 걸리는 시간(즉, Write Access Time)을 측정할 수 있다. 접근 시간 측정부(820)는 상기 측정된 Write Access Time에 관한 정보를 접근 통제부(830)로 제공할 수 있다.The access time measurement unit 820 may measure a time (that is, Write Access Time) 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 login access is attempted. The access time measurement unit 820 may provide information on the measured Write Access Time to the access control unit 830.

접근 통제부(830)는 접근 시간 측정부(820)로부터 수신된 Write Access Time에 관한 정보를 기반으로 사용자 단말(400)의 접근 허용 여부를 결정할 수 있다.The access control unit 830 may determine whether to allow the user terminal 400 to access based on the information on the Write Access Time received from the access time measurement unit 820.

본 발명에 따른 접근 통제 장치(800)는 단말 사용자가 로그인 페이지를 통해 웹 서버(200)에 접속하는 경우의 Write Access Time과 악의적인 사용자가 로그인 페이지를 우회하여 웹 서버(200)에 접속하는 경우의 Write Access Time이 서로 다르다는 점에 착안하여 사용자 단말(400)의 접근 허용 여부를 결정할 수 있다.The access control device 800 according to the present invention, when a terminal user accesses the web server 200 through a login page and a write access time when a malicious user bypasses the login page and accesses the web server 200 Given that the Write Access Time is different from each other, it is possible to determine whether to allow the access of the user terminal 400.

도 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 application 910 installed in the web server 200 may perform a function of generating a login page using virtual memory.

제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 virtual address area 911 allocated to the first process. The operating system 920 allocates physical memory resources to the first process by mapping the first virtual address area 911 to page A 931 of the physical memory area 930.

제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 virtual address area 912 allocated to the second process The data corresponding to the function is stored. Since the data stored in the first virtual address area 911 and the data stored in the second virtual address area 912 are not identical to each other, the operating system 920 sets the second virtual address area 912 to the physical memory area 930. Physical memory resources are allocated to the second process by mapping to page B 932 of. Here, page B 932 is a general page to which memory deduplication is not applied.

이와 같이 물리 메모리 영역(930)이 할당된 상태에서, 악의적인 사용자가 웹 서버(200)에 접속하기 위해 제2 가상 주소 영역(912)에 저장된 데이터를 수정(Write Access)하게 되면, 운영체제(320)는 제2 가상 주소 영역(912)이 지시하는 물리 메모리 영역(930)의 페이지 B(932)를 수정하게 된다. 따라서, 악의적인 사용자가 로그인 페이지를 우회하여 접속을 시도하는 경우의 Write Access Time은 일반 페이지에 대한 Write Access Time에 대응한다.When the physical memory area 930 is allocated as described above, when a malicious user writes data stored in the second virtual address area 912 to access the web server 200, the operating system 320 ) Modifies page B 932 of the physical memory area 930 indicated by the second virtual address area 912. Therefore, the write access time when a malicious user tries to access by bypassing the login page corresponds to the write access time for the general page.

한편, 도 10을 참조하면, 웹 서버(200)에 설치된 애플리케이션(1010)의 제1 프로세스는 가상 메모리(virtual memory)를 이용하여 로그인 페이지를 생성하는 기능을 수행할 수 있다.Meanwhile, referring to FIG. 10, the first process of the application 1010 installed in the web server 200 may perform a function of generating a login page using virtual memory.

제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 virtual address area 1011 allocated to the first process. The operating system 1020 allocates physical memory resources to the first process by mapping the first virtual address area 1011 to page A 1031 of the physical memory area 1030.

제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 virtual address area 1012 allocated to the second process The data corresponding to the login page is stored. Since the data stored in the first virtual address area 1011 and the data stored in the second virtual address area 1012 are identical to each other, the operating system 1020 sets the second virtual address area 1012 to the physical memory area 1030. By mapping to page A 1031, physical memory resources are shared.

이와 같이 물리 메모리 영역(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 physical memory area 1030 is deduplicated, when the terminal user modifies data stored in the second virtual address area 1012 (that is, when login information is input to the login page), the first virtual The identity between the data stored in the address area 1011 and the data stored in the second virtual address area 1012 is broken. In this case, the operating system 1020 copies a shared page (ie, pages A and 1031) indicated by the second virtual address area 1012 and then writes it to the copy page (ie, pages B and 1032). ). Therefore, the Write Access Time when a normal user tries to access through the login page corresponds to the Write Access Time for the shared page. As described above, due to the Copy On Write (COW) process, the Write Access Time for the shared page is longer than the Write Access Time for the general page.

다시, 도 8을 참조하면, 접근 통제부(830)는, 접근 시간 측정부(820)로부터 수신된 Write Access Time이 공유 페이지에 대한 Write Access Time에 대응하는 경우, 사용자 단말(400)이 정상적인 로그인 페이지를 통해 접속한 것으로 판단하여 웹 서버(200)로의 접근을 허용할 수 있다.Referring again to FIG. 8, the access control unit 830, when the Write Access Time received from the access time measurement unit 820 corresponds to the Write Access Time for the shared page, the user terminal 400 logs in normally It is determined that the user has accessed through the page, and access to the web server 200 may be allowed.

한편, 접근 통제부(830)는, 접근 시간 측정부(820)로부터 수신된 Write Access Time이 일반 페이지에 대한 Write Access Time에 대응하는 경우, 악의적인 사용자가 로그인 페이지를 우회하여 접속한 것으로 판단하여 웹 서버(200)로의 접근을 차단할 수 있다.On the other hand, the access control unit 830, if the Write Access Time received from the access time measuring unit 820 corresponds to the Write Access Time for the general page, it is determined that the malicious user bypassed the login page to access Access to the web server 200 may be blocked.

이상 상술한 바와 같이, 본 발명에 따른 접근 통제 장치는 메모리 중복 제거 기술을 이용한 접근 통제 방법을 추가적인 보안 강화 수단으로 사용함으로써, 악의적인 사용자가 로그인 페이지를 우회하여 웹 서버로 접속하는 것을 효과적으로 차단할 수 있다.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 access control device 800 according to the present invention may generate a login page to be driven in the background in advance on the security process of the web server 200 (S1110). At this time, the operating system of the web server 200 stores the data corresponding to the login page in the virtual address area of the corresponding process, and maps the virtual address area to a specific page of the physical memory area.

정상적인 사용자 또는 악의적인 사용자가 웹 서버(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 access control device 800 takes the kernel of the operating system to write data corresponding to the login access attempt to the page of the physical memory area. Time (Write Access Time) may be measured (S1130).

상기 측정 결과, 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 access control device 800 may determine that a normal user accesses through a login page and allow access to the web server 200. Yes (S1150). Here, the first threshold range represents an average range of Write Access Time for a deduplicated page.

한편, 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 access control device 800 may block access to the web server 200 by determining that a malicious user bypasses the login page to access. (S1170). Here, the second threshold range represents the average range of Write Access Time for a non-deduplicated page.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, 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)

특정 애플리케이션의 일 프로세스 상에서 구동할 로그인 페이지(login page)를 생성하는 로그인 페이지 생성부;
클라이언트의 로그인 접속 시도 시, 운영체제의 커널이 상기 로그인 접속 시도에 해당하는 데이터를 물리 메모리 영역의 페이지에 쓰는데 걸리는 시간인 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.
제1항에 있어서,
상기 특정 애플리케이션은, 메모리 중복 제거 기술(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).
제1항에 있어서,
상기 로그인 페이지는, 상기 클라이언트의 로그인 계정 정보를 입력하기 위한 웹 페이지임을 특징으로 하는 접근 통제 장치.
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.
삭제delete 제1항에 있어서,
상기 접근 통제부는, 상기 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.
제5항에 있어서,
상기 클라이언트가 정상적인 로그인 페이지를 통해 접속을 시도하는 경우의 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.
제6항에 있어서,
상기 제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.
제1항에 있어서,
상기 접근 통제부는, 상기 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.
제8항에 있어서,
상기 클라이언트가 로그인 페이지를 우회하여 접속을 시도하는 경우의 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.
제9항에 있어서,
상기 제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.
제1항 내지 제3항, 제5항 내지 제10항 중 어느 하나의 항에 따른 접근 통제 장치를 구비하는 웹 서버.A web server having an access control device according to any one of claims 1 to 3 and 5 to 10. 특정 애플리케이션의 일 프로세스 상에서 구동할 로그인 페이지(login 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.
청구항 제12항에 따른 방법이 컴퓨터로 실행 가능하도록 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored on a computer readable recording medium so that the method according to claim 12 is computer executable.
KR1020180083337A 2018-07-18 2018-07-18 Access control method and apparutus thereof KR102084778B1 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170119903A (en) * 2016-04-20 2017-10-30 닉스테크 주식회사 Apparatus and method for controlling malware including ransomware

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