KR102263945B1 - Security program and computing device for providing security function per each user session and method thereof - Google Patents

Security program and computing device for providing security function per each user session and method thereof Download PDF

Info

Publication number
KR102263945B1
KR102263945B1 KR1020190025814A KR20190025814A KR102263945B1 KR 102263945 B1 KR102263945 B1 KR 102263945B1 KR 1020190025814 A KR1020190025814 A KR 1020190025814A KR 20190025814 A KR20190025814 A KR 20190025814A KR 102263945 B1 KR102263945 B1 KR 102263945B1
Authority
KR
South Korea
Prior art keywords
executing
security
service process
agent
executed
Prior art date
Application number
KR1020190025814A
Other languages
Korean (ko)
Other versions
KR20190026724A (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
Priority claimed from KR1020170096135A external-priority patent/KR101957991B1/en
Application filed by 주식회사 테르텐 filed Critical 주식회사 테르텐
Priority to KR1020190025814A priority Critical patent/KR102263945B1/en
Publication of KR20190026724A publication Critical patent/KR20190026724A/en
Application granted granted Critical
Publication of KR102263945B1 publication Critical patent/KR102263945B1/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/604Tools and structures for managing or administering access control systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 실시 예들에 따라, 컴퓨터와 결합되어 보안 방법을 수행하기 위해 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에서, 상기 보안 방법은 서비스 프로세스를 서비스 세션에서 실행하는 단계와, 실행된 상기 서비스 프로세스가 에이전트 프로세스들 각각을 사용자 세션들 각각에서 실행하는 단계와, 실행된 상기 서비스 프로세스가 상기 사용자 세션들 각각에서 실행되는 상기 에이전트 프로세스들 각각의 실행을 중지 또는 종료하는 이벤트를 차단하거나 상기 에이전트 프로세스들 중에서 적어도 하나의 실행이 중지 또는 종료되더라도 중지 또는 종료된 적어도 하나의 에이전트 프로세스를 다시 실행시키는 방법으로 상기 에이전트 프로세스들 각각의 실행을 유지하는 단계를 포함한다.According to embodiments of the present invention, in a computer program stored in a computer-readable storage medium in combination with a computer to perform a security method, the security method includes the steps of: executing a service process in a service session; Executing each of the agent processes in each of the user sessions, and the executed service process interrupts or terminates the execution of each of the agent processes executed in each of the user sessions, or blocks an event from among the agent processes and maintaining the execution of each of the agent processes as a method of re-executing the stopped or terminated at least one agent process even if the at least one execution is stopped or terminated.

Description

사용자 세션 별로 보안 기능을 제공하는 보안 프로그램, 보안 서비스 제공 방법, 및 컴퓨팅 장치{SECURITY PROGRAM AND COMPUTING DEVICE FOR PROVIDING SECURITY FUNCTION PER EACH USER SESSION AND METHOD THEREOF}A security program providing a security function for each user session, a method of providing a security service, and a computing device {SECURITY PROGRAM AND COMPUTING DEVICE FOR PROVIDING SECURITY FUNCTION PER EACH USER SESSION AND METHOD THEREOF}

본 발명의 개념에 따른 실시 예들은 보안 프로그램, 보안 서비스 제공 방법, 및 컴퓨팅 장치에 관한 것으로, 특히 사용자 세션 별로 보안 기능을 제공하는 보안 프로그램, 보안 서비스 제공 방법, 및 컴퓨팅 장치에 관한 것이다.Embodiments according to the concepts of the present invention relate to a security program, a method for providing a security service, and a computing device, and more particularly, to a security program for providing a security function for each user session, a method for providing a security service, and a computing device.

인터넷 및 네트워크 관련 기술의 발달로 인하여, 누구나 손쉽게 정보를 공유할 수 있게 되었다. 이에 따라, 공유되지 않아야 할 정보까지 유출되는 문제가 발생하고 있다.With the development of Internet and network-related technologies, anyone can easily share information. Accordingly, there is a problem in that even information that should not be shared is leaked.

이러한 정보의 유출을 막기 위해, 보안 기능을 제공하는 보안 프로그램이 다양하게 제공되고 있으나, 상기 보안 프로그램은 전자 장치에서 수행되는 작업이 보안 작업인지 여부와 무관하게 항상 가동되므로, 비-보안 작업을 수행하는 사용자는 수동으로 상기 보안 프로그램을 비활성화 해야 하는 번거로움이 있었다. In order to prevent the leakage of such information, various security programs that provide a security function are provided. However, since the security program is always operated regardless of whether the operation performed by the electronic device is a security operation, a non-security operation is performed. The user had the hassle of manually disabling the security program.

또한, 전자 장치의 사용자에 따라 서로 다른 보안 기능을 원하는 경우에는, 각 사용자마다 별도의 보안 프로그램을 일일이 설치해야 하므로, 설치의 번거로움 및 관리의 번거로움이 있었다.In addition, when different security functions are desired according to users of the electronic device, since separate security programs must be installed for each user one by one, installation and management are cumbersome.

한국 등록특허공보 제10-1060277호 (2011. 08. 29. 공고)Korean Patent Publication No. 10-1060277 (2011. 08. 29. Announcement) 한국 공개특허공보 제10-2016-0085140호 (2016. 07. 15. 공개)Korean Patent Publication No. 10-2016-0085140 (published on July 15, 2016)

본 발명이 해결하고자 하는 과제는 로그인 된 사용자 계정별로 보안 환경을 구축할 수 있는 보안 프로그램, 보안 서비스 제공 방법 및 컴퓨팅 장치를 제공하는 것이다.An object of the present invention is to provide a security program, a method for providing a security service, and a computing device capable of establishing a security environment for each logged-in user account.

본 발명이 해결하고자 하는 과제는 운영 체제의 사용자 세션들 각각에서 복수 개의 에이전트 프로세스들 각각을 실행하고, 실행 중인 상기 복수 개의 에이전트 프로세스들 각각의 실행의 안정성을 보장할 수 있는 보안 프로그램, 보안 서비스 제공 방법 및 컴퓨팅 장치를 제공하는 것에 있다.The problem to be solved by the present invention is to execute each of a plurality of agent processes in each of user sessions of an operating system, and provide a security program and a security service that can ensure the stability of each of the running agent processes To provide a method and a computing device.

본 발명이 해결하고자 하는 과제는 컴퓨팅 장치의 보안 영역 상에서만 데이터가 리드되거나 또는 라이트 될 수 있도록, 사용자 세션 상에서 실행되는 프로세스를 제어할 수 있는 보안 프로그램, 보안 서비스 제공 방법 및 컴퓨팅 장치를 제공하는 것에 있다.The problem to be solved by the present invention is to provide a security program, a method for providing a security service, and a computing device capable of controlling a process executed in a user session so that data can be read or written only in a secure area of a computing device. have.

본 발명의 실시 예들에 따라, 컴퓨터와 결합되어 보안 방법을 수행하기 위해 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에서, 상기 보안 방법은 서비스 프로세스를 서비스 세션에서 실행하는 단계와, 실행된 상기 서비스 프로세스가 에이전트 프로세스들 각각을 사용자 세션들 각각에서 실행하는 단계와, 실행된 상기 서비스 프로세스가 상기 사용자 세션들 각각에서 실행되는 상기 에이전트 프로세스들 각각의 실행을 중지 또는 종료하는 이벤트를 차단하여 상기 에이전트 프로세스들 각각의 실행을 유지하는 단계를 포함한다.
컴퓨터와 결합되어 보안 방법을 수행하기 위해 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에서, 상기 보안 방법은 서비스 프로세스를 서비스 세션에서 실행하는 단계와, 실행된 상기 서비스 프로세스가 에이전트 프로세스들 각각을 사용자 세션들 각각에서 실행하는 단계와, 실행된 상기 서비스 프로세스가 상기 에이전트 프로세스들 중에서 적어도 하나의 실행이 중지 또는 종료되더라도 중지 또는 종료된 적어도 하나의 에이전트 프로세스를 다시 실행시켜 상기 에이전트 프로세스들 각각의 실행을 유지하는 단계를 포함한다.
According to embodiments of the present invention, in a computer program stored in a computer-readable storage medium in combination with a computer to perform a security method, the security method includes the steps of: executing a service process in a service session; Executing each of the agent processes in each of the user sessions, and blocking the event that the executed service process stops or terminates the execution of each of the agent processes executed in each of the user sessions to each of the agent processes maintaining the execution of
In a computer program stored in a computer-readable storage medium in combination with a computer to perform a security method, the security method includes: executing a service process in a service session; Executing in each, and maintaining the execution of each of the agent processes by re-executing the stopped or terminated agent process even if the executed service process stops or terminates the execution of at least one of the agent processes includes steps.

본 발명의 실시 예들에 따른 보안 서비스 제공 방법은 컴퓨터에서 실행되는 운영 체제의 서비스 세션에서 서비스 프로세스를 실행하는 단계와, 실행된 상기 서비스 프로세스가 상기 운영 체제의 사용자 세션들 각각에서 에이전트 프로세스들 각각을 실행하는 단계와, 실행된 상기 서비스 프로세스가 상기 에이전트 프로세스들 각각이 상기 사용자 세션들 각각에서 현재 실행되고 있는지를 판단하는 단계와, 판단의 결과에 따라, 상기 서비스 프로세스가 상기 사용자 세션들 중에서 해당하는 에이전트 프로세스가 실행되고 있지 않은 사용자 세션을 식별하고, 식별된 실행되고 있지 않은 사용자 세션에서 상기 해당하는 에이전트 프로세스를 다시 실행하는 단계를 포함한다.
본 발명의 실시 예들에 따른 보안 서비스 제공 방법은 컴퓨터에서 실행되는 운영 체제의 서비스 세션에서 서비스 프로세스를 실행하는 단계와, 실행된 상기 서비스 프로세스가 상기 운영 체제의 사용자 세션들 각각에서 에이전트 프로세스들 각각을 실행하는 단계와, 실행된 상기 서비스 프로세스가 상기 사용자 세션들 각각에서 현재 실행중인 프로세스에 관한 프로세스 목록을 획득하고, 상기 프로세스 목록을 이용하여 상기 에이전트 프로세스들 각각이 상기 사용자 세션들 각각에서 현재 실행되고 있는지를 판단하는 단계와, 판단의 결과에 따라, 상기 서비스 프로세스가 상기 사용자 세션들 중에서 해당하는 에이전트 프로세스가 실행되고 있지 않은 사용자 세션을 식별하고, 식별된 실행되고 있지 않은 사용자 세션에서 상기 해당하는 에이전트 프로세스를 다시 실행하는 단계를 포함한다.
A security service providing method according to embodiments of the present invention includes the steps of executing a service process in a service session of an operating system running on a computer, and the executed service process performs each of the agent processes in each of the user sessions of the operating system. executing; determining, by the executed service process, whether each of the agent processes is currently being executed in each of the user sessions; and according to a result of the determination, the service process is selected from among the user sessions. identifying a user session in which the agent process is not running, and re-executing the corresponding agent process in the identified non-running user session.
A security service providing method according to embodiments of the present invention includes the steps of executing a service process in a service session of an operating system running on a computer, and the executed service process performs each of the agent processes in each of the user sessions of the operating system. executing, wherein the executed service process obtains a process list related to a process currently running in each of the user sessions, and each of the agent processes is currently executed in each of the user sessions by using the process list determining whether there is, and according to a result of the determination, the service process identifies a user session in which a corresponding agent process is not running from among the user sessions, and the corresponding agent in the identified non-executing user session re-running the process.

본 발명의 실시 예들에 따른 프로세서, 저장 장치, 및 통신 인터페이스를 포함하는 컴퓨팅 장치에서, 상기 저장 장치는 일반 영역과 보안 영역을 포함하고, 상기 일반 영역은 보안 프로그램을 저장하고, 상기 보안 프로그램은 상기 컴퓨팅 장치와 결합되어 보안 방법을 수행하기 위한 명령들을 포함하고, 상기 보안 방법은 상기 컴퓨팅 장치에서 실행되는 운영 체제의 서비스 세션에서 서비스 프로세스를 실행하는 단계와, 실행된 상기 서비스 프로세스가 상기 운영 체제의 사용자 세션들 각각에서 에이전트 프로세스들 각각을 실행하는 단계와, 실행된 상기 서비스 프로세스가 상기 사용자 세션들 각각에서 실행되는 상기 에이전트 프로세스들 각각의 실행을 중지 또는 종료하는 이벤트를 차단하여 상기 에이전트 프로세스들 각각의 실행을 유지하는 단계를 포함한다.
본 발명의 실시 예들에 따른 프로세서, 저장 장치 및 통신 인터페이스를 포함하는 컴퓨팅 장치에 있어서, 상기 저장 장치는 일반 영역과 보안 영역을 포함하고, 상기 일반 영역은 보안 프로그램을 저장하고, 상기 보안 프로그램은 상기 컴퓨팅 장치와 결합되어 보안 방법을 수행하기 위한 명령들을 포함하고, 상기 보안 방법은 상기 컴퓨팅 장치에서 실행되는 운영 체제의 서비스 세션에서 서비스 프로세스를 실행하는 단계와, 실행된 상기 서비스 프로세스가 상기 운영 체제의 사용자 세션들 각각에서 에이전트 프로세스들 각각을 실행하는 단계와, 실행된 상기 서비스 프로세스가 상기 에이전트 프로세스들 중에서 적어도 하나의 실행이 중지 또는 종료되더라도 중지 또는 종료된 적어도 하나의 에이전트 프로세스를 다시 실행시켜 상기 에이전트 프로세스들 각각의 실행을 유지하는 단계를 포함한다.
In a computing device including a processor, a storage device, and a communication interface according to embodiments of the present invention, the storage device includes a general area and a security area, the general area stores a security program, and the security program includes the In combination with a computing device, the method includes instructions for performing a security method, the method comprising: executing a service process in a service session of an operating system running on the computing device; Executing each of the agent processes in each of the user sessions, and blocking the event that the executed service process stops or terminates the execution of each of the agent processes executed in each of the user sessions to each of the agent processes maintaining the execution of
In a computing device including a processor, a storage device, and a communication interface according to embodiments of the present invention, the storage device includes a general area and a security area, the general area stores a security program, and the security program includes the In combination with a computing device, the method includes instructions for performing a security method, the method comprising: executing a service process in a service session of an operating system running on the computing device; Executing each of the agent processes in each of the user sessions, and the executed service process re-executing the stopped or terminated agent process even if the execution of at least one of the agent processes is stopped or terminated to the agent and maintaining execution of each of the processes.

본 발명의 실시 예들에 따른 보안 프로그램은, 로그인된 사용자 계정에 따라 보안 환경을 구축할 수 있으므로, 로그인된 사용자 계정이 보안 계정이 아닌 경우, 상기 보안 프로그램에 의해 제공되는 보안 기능들이 별도의 조작 없이 자동으로 종료되어 리소스 사용량이 감소하는 효과가 있다.Since the security program according to the embodiments of the present invention can build a security environment according to the logged-in user account, when the logged-in user account is not a security account, the security functions provided by the security program are not operated separately. It is automatically terminated, which has the effect of reducing resource usage.

본 발명의 실시 예들에 따른 보안 프로그램은, 사용자 세션들 각각에서 복수 개의 에이전트 프로세스들 각각을 실행하고, 실행 중인 복수 개의 에이전트 프로세스들 각각의 실행의 안정성을 보장할 수 있으므로, 상기 보안 프로그램의 안정성이 향상되는 효과가 있다.The security program according to the embodiments of the present invention executes each of a plurality of agent processes in each of the user sessions, and can ensure the stability of each of the running plurality of agent processes, so that the stability of the security program is improved. has an improving effect.

본 발명의 실시 예들에 따른 보안 프로그램은, 상기 보안 프로그램이 실행되는 컴퓨팅 장치의 보안 영역이 아닌 비-보안 영역 상에서 처리되는 데이터의 리드 또는 라이트를 차단할 수 있는 효과가 있다.The security program according to embodiments of the present invention has an effect of blocking reading or writing of data processed in a non-security area other than the secure area of the computing device in which the security program is executed.

도 1은 본 발명의 실시 예들에 따른 보안 시스템을 개념적으로 나타낸다.
도 2는 본 발명의 실시 예들에 따른 운영 체제의 세션들을 개념적으로 나타낸다.
도 3은 본 발명의 실시 예들에 따른 보안 프로그램을 개념적으로 나타낸다.
도 4는 본 발명의 실시 예들에 따른 보안 프로그램의 작동을 설명하기 위한 플로우 차트이다.
도 5는 본 발명의 실시 예들에 따른 보안 프로그램의 작동을 설명하기 위한 도면이다.
도 6은 본 발명의 실시 예들에 따른 접근 제어 모듈(또는 접근 제어 프로세스)의 작동을 설명하기 위한 플로우 차트이다.
도 7은 본 발명의 실시 예들에 따른 접근 제어 모듈의 작동을 설명하기 위한 도면이다.
1 conceptually illustrates a security system according to embodiments of the present invention.
2 conceptually illustrates sessions of an operating system according to embodiments of the present invention.
3 conceptually illustrates a security program according to embodiments of the present invention.
4 is a flowchart for explaining the operation of a security program according to embodiments of the present invention.
5 is a view for explaining the operation of a security program according to embodiments of the present invention.
6 is a flowchart for explaining the operation of an access control module (or access control process) according to embodiments of the present invention.
7 is a view for explaining the operation of the access control module according to embodiments of the present invention.

이하, 첨부된 도면들을 참조하여 본 발명을 실시하기 위한 구체적인 내용을 설명한다.Hereinafter, detailed contents for carrying out the present invention will be described with reference to the accompanying drawings.

본 명세서에서 프로그램(program) 또는 모듈(module)이라 함은, 특정한 결과를 얻기 위하여, 데이터 처리 기능을 가지는 전자 장치 내에서 사용되는 명령어들(또는 프로그램 코드들)을 포함하는 컴퓨터 소프트웨어를 의미한다. 즉, 상기 전자 장치의 프로세서(또는 CPU)는 상기 프로그램을 실행하고, 상기 프로그램에 포함된 명령들에 따라 다양한 기능을 수행할 수 있다. 상기 프로그램은 비-일시적인 매체 (non-transitory medium)에 저장되고, 통신 네트워크를 통해 배포될 수 있다.As used herein, a program or module means computer software including instructions (or program codes) used in an electronic device having a data processing function to obtain a specific result. That is, the processor (or CPU) of the electronic device may execute the program and perform various functions according to instructions included in the program. The program may be stored in a non-transitory medium and distributed through a communication network.

본 명세서에서, 프로세스(process)라 함은 전자 장치에서 실행되고 있는 작업 단위를 의미한다. 예컨대, 프로그램이 실행되면, 상기 프로그램에 포함된 명령들에 해당하는 프로세스들이 생성되고, 생성된 프로세스들이 상기 전자 장치 내에서 실행된다.In this specification, a process means a unit of work being executed in an electronic device. For example, when a program is executed, processes corresponding to commands included in the program are generated, and the generated processes are executed in the electronic device.

즉, 프로그램은 저장된 데이터(또는 파일)이고, 프로세스는 프로그램이 실행됨에 따라 생성되는 작업이다. 따라서, 하나의 프로그램이 여러 번 실행되는 경우, 여러 개의 프로세스들이 생성될 수 있다.That is, a program is stored data (or files), and a process is a task created as the program is executed. Accordingly, when one program is executed multiple times, multiple processes may be created.

그러나 프로그램의 기능과 상기 프로그램에 해당하는 프로세스의 기능을 구별하기가 어려운 경우도 있으므로, 본 명세서에서는 구별이 필요한 경우를 제외하고, 프로그램과 프로세스를 혼동하여 사용할 수도 있다.However, since it is sometimes difficult to distinguish a function of a program from a function of a process corresponding to the program, in the present specification, the program and the process may be used interchangeably, except when a distinction is required.

본 명세서에서, 장치에서 실행되는 프로그램 또는 프로세스가 어떤 기능을 수행한다 함은, 상기 프로그램 또는 상기 프로세스의 제어 또는 명령에 따라 상기 장치가 상기 어떤 기능을 수행함을 의미한다. 즉, 본 명세서에서 설명되는 프로그램 또는 프로세스의 기능은, 상기 프로그램 또는 상기 프로세스가 실행되는 장치에 의해 수행되는 기능으로 이해될 수 있다.In this specification, when a program or process executed in a device performs a certain function, it means that the device performs the certain function according to a control or command of the program or the process. That is, a function of a program or process described in this specification may be understood as a function performed by an apparatus in which the program or process is executed.

도 1은 본 발명의 실시 예들에 따른 보안 시스템을 개념적으로 나타낸다. 도 1을 참조하면, 보안 시스템(10)은 전자 장치(100)와 관리 서버(500)를 포함할 수 있다.1 conceptually illustrates a security system according to embodiments of the present invention. Referring to FIG. 1 , the security system 10 may include an electronic device 100 and a management server 500 .

전자 장치(100)는 보안 프로그램(200)을 실행하고, 보안 프로그램(200)의 실행에 따라 보안 프로그램(200)에 의해 제공되는 보안 기능을 수행할 수 있다. 실시 예들에 따라, 전자 장치(100)는 연산(operation) 처리 기능을 수행할 수 장치일 수 있다. 예컨대, 전자 장치(100)는 컴퓨터(computer) 또는 모바일(mobile) 장치일 수 있고, 상기 모바일 장치는 태블릿 PC, 스마트폰(smartphone), 모바일 인터넷 장치 (mobile internet device(MID)), 사물 인터넷(Internet of Things(IoT)) 장치, 또는 웨어러블 컴퓨터일 수 있으나, 이에 한정되는 것은 아니다.The electronic device 100 may execute the security program 200 and perform a security function provided by the security program 200 according to the execution of the security program 200 . According to embodiments, the electronic device 100 may be a device capable of performing an operation processing function. For example, the electronic device 100 may be a computer or a mobile device, and the mobile device includes a tablet PC, a smartphone, a mobile internet device (MID), and an Internet of Things (IoT). It may be an Internet of Things (IoT)) device, or a wearable computer, but is not limited thereto.

전자 장치(100)는 프로세서(110), 드라이브(또는 데이터 저장 장치; 120), 입출력 인터페이스(130), 및 통신 인터페이스(140)를 포함할 수 있다.The electronic device 100 may include a processor 110 , a drive (or data storage device) 120 , an input/output interface 130 , and a communication interface 140 .

프로세서(110)는 전자 장치(100)의 전반적인 작동을 제어할 수 있다. 실시 예들에 따라, 프로세서(110)는 다양한 연산들을 수행할 수 있고, 전자 장치(100) 장치의 구성 요소들(110, 120, 130 및 140)의 작동을 제어할 수 있다.The processor 110 may control the overall operation of the electronic device 100 . According to embodiments, the processor 110 may perform various operations and may control operations of the components 110 , 120 , 130 and 140 of the electronic device 100 .

프로세서(110)는 데이터 저장 장치(120)에 저장된 프로그램(예컨대, 보안 프로그램(200))을 실행할 수 있다. 예컨대, 프로세서(110)는 데이터 저장 장치(120)에 저장된 프로그램의 코드(code)로부터 명령들(instruction)을 페치(fetch)하고, 페치된 명령들에 기초하여 전자 장치(100)의 작동을 제어할 수 있다.The processor 110 may execute a program (eg, the security program 200 ) stored in the data storage device 120 . For example, the processor 110 fetches instructions from a code of a program stored in the data storage device 120 , and controls the operation of the electronic device 100 based on the fetched instructions. can do.

예컨대, 프로세서(110)는 CPU(central processing unit), GPU(graphics processing unit), 애플리케이션 프로세서(application processor(AP)), 커뮤니케이션 프로세서(communication processor(CP)) 또는 GPGPU(general-purpose computing on graphics processing units)를 의미할 수 있으나 이에 한정되는 것은 아니다.For example, the processor 110 may include a central processing unit (CPU), a graphics processing unit (GPU), an application processor (AP), a communication processor (CP), or general-purpose computing on graphics processing (GPGPU). units), but is not limited thereto.

데이터 저장 장치(120)는 전자 장치(100)의 작동에 필요한 데이터 또는 정보를 저장할 수 있다. 실시 예들에 따라, 데이터 저장 장치(120)는 불휘발성(non-volatile) 메모리 장치일 수 있다. 예컨대, 데이터 저장 장치(120)는 ROM(read only memory), 플래시 메모리(flash memory), NVRAM(non volatile RAM), HDD(hard disk drive) 또는 SDD(solid state drive)일 수 있으나 이에 한정되는 것은 아니다.The data storage device 120 may store data or information necessary for the operation of the electronic device 100 . In some embodiments, the data storage device 120 may be a non-volatile memory device. For example, the data storage device 120 may be a read only memory (ROM), a flash memory, a non volatile RAM (NVRAM), a hard disk drive (HDD), or a solid state drive (SDD), but is not limited thereto. no.

데이터 저장 장치(120)는 비-보안 영역(non-secure region; 121)과 보안 영역(secure region; 123)을 포함할 수 있다.The data storage device 120 may include a non-secure region 121 and a secure region 123 .

비-보안 영역(121)은 일반 계정(비-보안 계정)으로 로그인했을 때 접근 가능한 데이터 저장 영역이고, 보안 영역(123)은 보안 계정으로 로그인했을 때 접근 가능한 데이터 저장 영역이다.The non-security area 121 is a data storage area accessible when logging in with a general account (non-security account), and the security area 123 is a data storage area accessible when logging in with a security account.

보안 영역(123)은 가상 드라이브 이미지(virtual drive image)로 구현될 수 있으나 이에 한정되는 것은 아니다. 실시 예들에 따라, 보안 영역(123)에 저장된 데이터는 암호화된 데이터일 수 있다.The security area 123 may be implemented as a virtual drive image, but is not limited thereto. According to embodiments, data stored in the security area 123 may be encrypted data.

비-보안 영역(121)에는 보안 프로그램(200)과 운영 체제(operating system(OS); 300)가 저장될 수 있다.A security program 200 and an operating system (OS) 300 may be stored in the non-security area 121 .

보안 프로그램(200)은 장치(100)에 의해 실행될 수 있는 소프트웨어, 컴퓨터프로그램, 또는 컴퓨터프로그램 코드들의 집합일 수 있다. 보안 프로그램(200)은 컴퓨터로 읽을 수 있는 컴퓨터프로그램(또는 컴퓨터프로그램 코드)으로 작성되고, 컴퓨터로 판독 가능한 기록 매체(예컨대, 데이터 저장 장치, 메모리 장치, 데이터베이스, 또는 프로세서)에 저장되고 실행될 수 있다.The security program 200 may be software, a computer program, or a set of computer program codes that may be executed by the device 100 . The security program 200 may be written as a computer-readable computer program (or computer program code), stored in a computer-readable recording medium (eg, a data storage device, a memory device, a database, or a processor) and executed. .

보안 프로그램(200)은 OS(300)의 세션들(sessions) 각각에서 실행될 수 있고, 상기 세션들 각각에 로그인된 각 사용자 계정에 해당하는 보안 기능을 수행할 수 있다. 나아가, 보안 프로그램(200)은 세션들 각각에서 실행이 유지될 수 있다.The security program 200 may be executed in each of the sessions of the OS 300 and may perform a security function corresponding to each user account logged into each of the sessions. Furthermore, the secure program 200 may be kept running in each of the sessions.

OS(300)는, 전자 장치(100) 또는 프로세서(110)에 의해 실행되는 프로그램(예컨대, 보안 프로그램(200))에 해당하는 기능이 수행될 수 있도록, 전자 장치 (100)의 구성 요소들(110, 120, 130, 및 140)을 제어 또는 관리할 수 있는 프로그램 일수 있다. The OS 300 includes the components (() of the electronic device 100 so that a function corresponding to the electronic device 100 or a program (eg, the security program 200) executed by the processor 110 can be performed. 110, 120, 130, and 140) may be a program capable of controlling or managing them.

예컨대, OS(300)는 윈도우즈(Windows®), 맥 OS(Mac OS®), 리눅스(Linux®), 유닉스(Unix®), 안드로이드(Android®) 또는 iOS®일 수 있으나 이에 한정되는 것은 아니다.For example, the OS 300 may be Windows (Windows ® ), Mac OS (Mac OS ® ), Linux (Linux ® ), Unix ® , Android (Android ® ) or iOS ® , but is not limited thereto.

OS(300)는 커널(kernel; 310), 미들웨어(middle ware; 320), 및 API (application programming interface; 330) 중에서 적어도 하나를 포함할 수 있다.The OS 300 may include at least one of a kernel 310 , middle ware 320 , and an application programming interface (API) 330 .

커널(310)은, 전자 장치(100) 또는 프로세서(110)에 의해 실행되는 프로그램(예컨대, 보안 프로그램(200))에 해당하는(또는 프로그램에 포함된 명령들에 의해 구현되는) 기능이 수행될 수 있도록, 전자 장치(100)의 구성 요소들(110, 120, 130, 및 140) 각각의 작동을 제어할 수 있다.The kernel 310 may perform a function corresponding to (or implemented by instructions included in the program) of a program (eg, the security program 200 ) executed by the electronic device 100 or the processor 110 . Thus, the operation of each of the components 110 , 120 , 130 , and 140 of the electronic device 100 may be controlled.

실시 예들에 따라, 커널(310)은 미들웨어(320), API(330), 또는 보안 프로그램(200)이 전자 장치(100)의 구성 요소들(110, 120, 130 및 140)에 접근하여 시스템 리소스들을 제어할 수 있도록 인터페이스를 제공할 수 있다.According to embodiments, in the kernel 310 , the middleware 320 , the API 330 , or the security program 200 accesses the components 110 , 120 , 130 , and 140 of the electronic device 100 to obtain system resources. Interfaces can be provided to control them.

미들웨어(320)는 API(145) 또는 보안 프로그램(200)이 커널(310)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다.The middleware 320 may play an intermediary role so that the API 145 or the security program 200 communicates with the kernel 310 to exchange data.

API(330)는 커널(310) 또는 미들웨어(320)에서 제공되는 기능을 제어하기 위해 사용되는 명령어들을 포함하는 인터페이스일 수 있다. 예컨대, API(330)는 데이터(또는 파일) 제어, 창 제어, 영상 처리, 또는 문자 제어 등을 위한 적어도 하나의 인터페이스(또는, 명령어)를 포함할 수 있다. 실시 예들에 따라, 보안 프로그램 (200)은 API(330)에 포함된 명령어들을 이용할 수 있다.The API 330 may be an interface including commands used to control functions provided by the kernel 310 or the middleware 320 . For example, the API 330 may include at least one interface (or command) for data (or file) control, window control, image processing, or text control. According to embodiments, the security program 200 may use commands included in the API 330 .

입출력 인터페이스(130)는 외부(예컨대, 전자 장치(100)의 사용자 또는 주변 장치(peripheral device; 400))로부터 전자 장치(100)로 입력된 명령 또는 데이터를 전자 장치(100)의 구성 요소들(110, 120, 130 및 140)로 전달하거나 또는 전자 장치(100)의 구성 요소들(110, 120, 130 및 140)로부터 전송된 명령 또는 데이터를 상기 외부로 출력할 수 있다.The input/output interface 130 transmits commands or data input to the electronic device 100 from an external (eg, a user of the electronic device 100 or a peripheral device 400 ) to the components ( Commands or data transmitted to 110 , 120 , 130 and 140 or transmitted from the components 110 , 120 , 130 and 140 of the electronic device 100 may be output to the outside.

실시 예들에 따라, 입출력 인터페이스(130)는 입력 장치(410)를 통해 입력된 입력 데이터를 전자 장치(100)의 구성 요소들(110, 120, 130 및 140)로 전달할 수 있고, 전자 장치(100)의 구성 요소들(110, 120, 130 및 140)로부터 출력된 출력 데이터를 출력 장치(420)를 통해 출력할 수 있다.According to embodiments, the input/output interface 130 may transmit input data input through the input device 410 to the components 110 , 120 , 130 and 140 of the electronic device 100 , and the electronic device 100 . ), output data output from the components 110 , 120 , 130 and 140 may be output through the output device 420 .

예컨대, 입력 장치(410)는 키보드(keyboard), 마우스(mouse), 터치 패드 (touchpad), 또는 터치 스크린(touch screen)일 수 있으나 이에 한정되는 것은 아니다. 예컨대, 출력 장치(420)는 디스플레이(display) 장치, 스피커, 또는 프린터일 수 있으나 이에 한정되는 것은 아니다.For example, the input device 410 may be a keyboard, a mouse, a touchpad, or a touch screen, but is not limited thereto. For example, the output device 420 may be a display device, a speaker, or a printer, but is not limited thereto.

비록, 도 1에는 입력 장치(410)와 출력 장치(420)가 전자 장치(100)로부터 분리되어 도시되어 있으나, 실시 예들에 따라, 입력 장치(410)와 출력 장치(420)는 전자 장치(100)에 포함되어 있을 수 있다.Although the input device 410 and the output device 420 are illustrated separately from the electronic device 100 in FIG. 1 , according to embodiments, the input device 410 and the output device 420 are the electronic device 100 . ) may be included.

통신 인터페이스(140)는 전자 장치(100)와 관리 서버(500) 사이의 데이터 통신을 제어할 수 있다. 실시 예들에 따라, 통신 인터페이스(140)는 유선 또는 무선 통신 네트워크를 이용하여 관리 서버(500)로 사용자 계정(ACC)을 전송하고, 관리 서버(500)로부터 사용자 계정(ACC)에 해당하는 보안 정책(또는 정책 정보; PCY)을 수신할 수 있다.The communication interface 140 may control data communication between the electronic device 100 and the management server 500 . According to embodiments, the communication interface 140 transmits a user account (ACC) to the management server 500 using a wired or wireless communication network, and a security policy corresponding to the user account (ACC) from the management server 500 . (or policy information; PCY).

예컨대, 통신 인터페이스(140)는 통신 네트워크를 이용하여 관리 서버(500)와 데이터를 주고받을 수 있다. 상기 통신 네트워크는 컴퓨터 네트워크, 인터넷, 또는 이동통신 네트워크일 수 있다. 상기 컴퓨터 네트워크는 LAN(local area network) 또는 WAN(wide area network)일 수 있고, 상기 이동통신 네트워크는 LTETM (long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 일 수 있으나, 본 발명의 실시 예들이 통신 네트워크의 종류에 제한되는 것은 아니다.For example, the communication interface 140 may send and receive data to and from the management server 500 using a communication network. The communication network may be a computer network, the Internet, or a mobile communication network. The computer network may be a local area network (LAN) or a wide area network (WAN), and the mobile communication network is a long-term evolution (LTE TM ), LTE Advance (LTE-A), or code division multiple access (CDMA) network. , WCDMA (wideband CDMA), UMTS (universal mobile telecommunications system), WiBro (Wireless Broadband), or GSM (Global System for Mobile Communications), but embodiments of the present invention are not limited to the type of communication network.

실시 예들에 따라, 프로세서(110), 저장 장치(120), 입출력 인터페이스(130) 및 통신 인터페이스(140)는 연결 회로(예컨대, 버스(bus))를 통해 서로 연결되어 데이터를 주고받을 수 있다.According to embodiments, the processor 110 , the storage device 120 , the input/output interface 130 , and the communication interface 140 may be connected to each other through a connection circuit (eg, a bus) to exchange data.

관리 서버(500)는 통신 네트워크를 통해 전자 장치(100)와 데이터를 주고받을 수 있다. 실시 예들에 따라, 관리 서버(500)는 액세스 가능한 데이터베이스(또는 데이터 저장 장치)를 더 포함할 수 있고, 관리 서버(500)는 상기 데이터베이스를 액세스하여 데이터를 리드(read) 또는 라이트(write)할 수 있다.The management server 500 may exchange data with the electronic device 100 through a communication network. According to embodiments, the management server 500 may further include an accessible database (or data storage device), and the management server 500 accesses the database to read or write data. can

도 2는 본 발명의 실시 예들에 따른 운영 체제의 세션들을 개념적으로 나타낸다. 도 1과 도 2를 참조하면, OS(300)는 세션들(SS과 CS1~CSn; n은 3 이상의 자연수)을 생성하고, 세션들(SS과 CS1~CSn)을 관리할 수 있다.2 conceptually illustrates sessions of an operating system according to embodiments of the present invention. 1 and 2 , the OS 300 may create sessions (SS and CS1 to CSn; n is a natural number equal to or greater than 3) and manage the sessions (SS and CS1 to CSn).

각 세션(session; SS과 CS1~CSn)은 OS(300)에 의해 생성(또는 활성화)되는 사용자 환경으로서, 각 세션(SS과 CS1~CSn) 상(on)에서 프로세스가 실행될 수 있다. 실시 예들에 따라, 각 세션(SS, 및 CS1~CSn)은 OS(300)가 실행될 때 생성될 수 있다.Each session (SS and CS1 to CSn) is a user environment created (or activated) by the OS 300, and a process may be executed on (on) each session (SS and CS1 to CSn). According to embodiments, each session SS and CS1 to CSn may be created when the OS 300 is executed.

세션들(SS과 CS1~CSn)은 하나의 서비스 세션(SS)과 복수 개의 사용자 세션들 (CS1~CSn)을 포함할 수 있다. The sessions SS and CS1 to CSn may include one service session SS and a plurality of user sessions CS1 to CSn.

서비스 세션(SS)은 전자 장치(100)가 부팅(booting)됨에 따라, OS(300)가 실행되면 자동으로 생성되며, OS(300)가 종료될 때 소멸 (또는 제거) 된다.The service session SS is automatically created when the OS 300 is executed as the electronic device 100 is booted, and is destroyed (or removed) when the OS 300 is terminated.

서비스 세션(SS)은 OS(300)에 의해 생성될 수 있는 세션들(SS와 CS1~CSn) 중에서 가장 강력한(또는 높은) 권한을 가진다. 실시 예들에 따라, 서비스 세션(SS)은 사용자 세션들(CS1~CSn) 상(on)에서 프로세스를 실행할 수 있고, 사용자 세션들 (CS1~CSn) 상에서 실행되는 프로세스를 모니터, 중지, 종료, 또는 변경할 수 있다. 실시 예들에 따라, 서비스 세션(SS) 상에서 실행되는 프로세스는 사용자 세션 (CS1~CSn) 상에서 실행되는 프로세스에 의해 중지, 종료, 또는 변경되지 않는다.The service session SS has the strongest (or highest) authority among the sessions SS and CS1 to CSn that can be created by the OS 300 . According to embodiments, the service session SS may execute a process on the user sessions CS1 to CSn, and monitor, stop, terminate, or terminate a process running on the user sessions CS1 to CSn. can be changed According to embodiments, the process executed on the service session SS is not stopped, terminated, or changed by the process executed on the user sessions CS1 to CSn.

각 사용자 세션(CS1~CSn)은 OS(300)에 각 사용자 계정(ACC1~ACCn; 집합적으로 ACC)이 로그인 됨에 따라 생성되고, 로그인된 각 사용자 계정(ACC1~ACCn)이 로그오프(log off) 될 때 소멸될 수 있다. 실시 예들에 따라, 제1사용자 세션(CS1)은, 제1사용자 계정(ACC1)이 OS(300)에 로그인될 때, 생성되고, 로그인된 제1사용자 계정(ACC1)이 로그오프 될 때 소멸될 수 있다.Each user session (CS1 to CSn) is created as each user account (ACC1 to ACCn; collectively, ACC) is logged into the OS 300, and each logged in user account (ACC1 to ACCn) is logged off ) can be destroyed when According to embodiments, the first user session CS1 is created when the first user account ACC1 logs in to the OS 300 and is destroyed when the logged-in first user account ACC1 is logged off. can

도 2에는 예시적으로 제1사용자 계정(ACC1)이 보안 계정(SCACC)인 것으로 도시되어 있으나 이에 한정되는 것은 아니다. 보안 계정(SCACC)의 개수는 복수 개일 수 있다.FIG. 2 exemplarily illustrates that the first user account ACC1 is a security account SCACC, but is not limited thereto. The number of security accounts (SCACC) may be plural.

도 3은 본 발명의 실시 예들에 따른 보안 프로그램을 개념적으로 나타낸다. 도 1 내지 도 3을 참조하면, 보안 프로그램(200)은 서비스 모듈(210), 에이전트 모듈(220), 및 복수 개의 보안 모듈들(230-1~230-6)을 포함할 수 있다.3 conceptually illustrates a security program according to embodiments of the present invention. 1 to 3 , the security program 200 may include a service module 210 , an agent module 220 , and a plurality of security modules 230-1 to 230-6.

비록, 본 명세서에는 보안 프로그램(200)을 서비스 모듈(210), 에이전트 모듈(220), 및 복수 개의 보안 모듈들(230-1~230-6)로 나누어 설명하나, 보안 프로그램 (200)은 통합된 하나의 프로그램, 소프트웨어, 또는 프로그램 코드일 수 있다.Although, in the present specification, the security program 200 is divided into a service module 210, an agent module 220, and a plurality of security modules 230-1 to 230-6, but the security program 200 is integrated may be a single program, software, or program code.

서비스 모듈(210)은 에이전트 모듈(220)을 실행할 수 있다. 실시 예들에 따라, 서비스 모듈(210)은 각 사용자 세션(CS1~CSn) 상에서 에이전트 모듈(220)을 실행할 수 있다.The service module 210 may execute the agent module 220 . According to embodiments, the service module 210 may execute the agent module 220 on each user session CS1 to CSn.

서비스 모듈(210)은 에이전트 모듈(220)을 실행하고, 실행된 에이전트 모듈 (220)의 실행을 유지할 수 있다. 이에 대해서는 뒤에서 상세히 설명한다.The service module 210 may execute the agent module 220 and maintain the execution of the executed agent module 220 . This will be described in detail later.

에이전트 모듈(220)은 복수 개의 보안 모듈들(230-1~230-6) 각각의 실행(또는 인에이블)을 제어할 수 있다. 실시 예들에 따라, 에이전트 모듈(220)은 복수 개의 보안 모듈들(230-1~230-6)의 각각의 실행 여부를 제어할 수 있다.The agent module 220 may control the execution (or enable) of each of the plurality of security modules 230-1 to 230-6. According to embodiments, the agent module 220 may control whether each of the plurality of security modules (230-1 ~ 230-6) is executed.

실시 예들에 따라, 에이전트 모듈(220)은, 관리 서버(500)로부터 전송된 보안 정책(PCY)에 기초하여, 복수 개의 보안 모듈들(230-1~230-6) 중에서 적어도 하나를 실행(또는 활성화)할 수 있다.According to embodiments, the agent module 220, based on the security policy (PCY) transmitted from the management server 500, executes at least one of the plurality of security modules (230-1 ~ 230-6) (or can be activated).

복수 개의 보안 모듈들(230-1~230-6) 각각은 전자 장치(100)에 대한 보안 기능을 제공할 수 있다. 비록, 도 3에는 6개의 보안 모듈들(230-1~230-6)만이 기재되어 있으나 이는 예시적인 것이며, 본 발명의 실시 예들은 보안 모듈들의 개수에 한정되는 것은 아니다.Each of the plurality of security modules 230 - 1 to 230 - 6 may provide a security function for the electronic device 100 . Although only six security modules 230 - 1 to 230 - 6 are described in FIG. 3 , these are exemplary, and embodiments of the present invention are not limited to the number of security modules.

접근 제어 모듈(230-1)은 사용자 세션들(CS1~CSn)에서 생성된(또는 처리될) 이벤트가 보안 영역(123)을 액세스하는지를 판단하고, 상기 이벤트가 보안 영역 (123)을 액세스할 때에만 상기 이벤트가 처리되도록 상기 이벤트를 제어할 수 있다.The access control module 230-1 determines whether an event generated (or to be processed) in the user sessions CS1 to CSn accesses the security area 123 , and when the event accesses the security area 123 , Only the event can be controlled so that the event is processed.

가상 드라이브 모듈(230-2)은 가상 드라이브 이미지를 생성할 수 있다. 실시 예들에 따라, 가상 드라이브 모듈(230-2)은 크기(또는 데이터의 양) 정보를 입력받고, 입력된 크기 정보에 해당하는 가상 드라이브 이미지를 생성할 수 있다. OS (200)는 생성된 가상 드라이브 이미지를 마운트 (mount)하고, 상기 가상 드라이브 이미지에 해당하는 가상 드라이브를 할당(또는 생성)할 수 있다. 실시 예들에 따라, 상기 가상 드라이브는 보안 영역(123)에 포함될 수 있다.The virtual drive module 230 - 2 may create a virtual drive image. According to embodiments, the virtual drive module 230 - 2 may receive size (or amount of data) information and may generate a virtual drive image corresponding to the input size information. The OS 200 may mount the created virtual drive image and allocate (or create) a virtual drive corresponding to the virtual drive image. In some embodiments, the virtual drive may be included in the security area 123 .

워터마크 생성 모듈(230-3)은 워터마크 데이터를 생성하고, 생성된 워터마크 데이터를 출력할 수 있다. OS(300)는 전자 장치(100)의 출력 장치를 통해 상기 워터마크 데이터를 표시할 수 있다.The watermark generating module 230 - 3 may generate watermark data and output the generated watermark data. The OS 300 may display the watermark data through an output device of the electronic device 100 .

화면 캡처 방지 모듈(230-4)은 사용자 세션들(CS1~CSn)에 해당하는 화면 (screen)의 유출(또는 캡처)을 차단할 수 있다. 실시 예들에 따라, 화면 캡처 방지 모듈(230-4)은 각 사용자 세션(CS1~CSn)의 화면에 해당하는 화면 데이터의 저장(또는 캡처)을 차단하고, 상기 화면 데이터가 외부로 전송되는 것을 차단할 수 있다.The screen capture prevention module 230 - 4 may block leakage (or capture) of screens corresponding to user sessions CS1 to CSn. According to embodiments, the screen capture prevention module 230 - 4 blocks the storage (or capture) of screen data corresponding to the screen of each user session CS1 to CSn, and blocks the screen data from being transmitted to the outside. can

화면 캡처 방지 모듈(230-4)은 화면 유출(또는 캡처) 기능 가지는 화면 유출(또는 캡처) 프로그램의 실행을 차단, 중지, 또는 종료할 수 있다. 예컨대, 상기 화면 유출 프로그램은 화면 캡처 프로그램, 원격 제어 프로그램, 및 스트리밍 프로그램을 의미할 수 있으나 이에 한정되는 것은 아니다.The screen capture prevention module 230 - 4 may block, stop, or terminate the execution of a screen leak (or capture) program having a screen leak (or capture) function. For example, the screen leaking program may mean a screen capture program, a remote control program, and a streaming program, but is not limited thereto.

실시 예들에 따라, 화면 캡처 방지 모듈(230-4)은 각 사용자 세션(CS1~CSn) 상에서 실행중인 각 프로세스(또는 프로그램)를 모니터하고, 모니터 결과에 따라, 실행되는 프로세스가 화면 유출 프로그램인지 아닌지를 판단할 수 있다.According to embodiments, the screen capture prevention module 230 - 4 monitors each process (or program) running on each user session CS1 to CSn, and according to the monitor result, whether the executed process is a screen leak program or not can be judged

실시 예들에 따라, 화면 캡처 방지 모듈(230-4)은 실행되는 프로세스의 패턴을 분석하고, 분석 결과에 따라, 실행되는 프로세스가 화면 유출 프로그램인지를 판단하거나, 또는 화면 유출 프로그램들의 리스트를 참조하여 상기 실행되는 프로세스가 화면 유출 프로그램인지 아닌지를 판단할 수 있다.According to embodiments, the screen capture prevention module 230 - 4 analyzes a pattern of an executed process, and determines whether the executed process is a screen leak program, or refers to a list of screen leak programs according to the analysis result. It may be determined whether the executed process is a screen leaking program or not.

화면 캡처 방지 모듈(230-4)은 클립보드(clipboard)의 사용(예컨대, 프린트 스크린 키(print screen key)를 통한 클립보드의 사용)을 차단할 수 있다.The screen capture prevention module 230 - 4 may block use of a clipboard (eg, use of a clipboard through a print screen key).

유해 사이트 차단 모듈(230-5)은 전자 장치(100)가 유해 사이트에 접속하는 것을 차단할 수 있다. 실시 예들에 따라, 유해 사이트 차단 모듈(230-5)은 전자 장치(100)가 접속하려는 웹사이트(website)가 유해 사이트일 때, 상기 웹사이트로의 접속을 차단할 수 있다.The harmful site blocking module 230 - 5 may block the electronic device 100 from accessing the harmful site. According to embodiments, the harmful site blocking module 230 - 5 may block access to the website when the website to be accessed by the electronic device 100 is a harmful website.

프로세스 실행 제어 모듈(230-6)은 각 사용자 세션(CS1~CSn)에서 실행되는 각 프로세스가 허용된 프로세스인지 아닌지를 판단하고, 상기 프로세스가 상기 허용된 프로세스가 아닐 때에는 상기 프로세스의 실행을 차단, 중지, 또는 종료할 수 있다.The process execution control module 230-6 determines whether each process executed in each user session CS1 to CSn is an allowed process or not, and blocks execution of the process when the process is not the allowed process, You can stop or quit.

도 4는 본 발명의 실시 예들에 따른 보안 프로그램의 작동을 설명하기 위한 플로우 차트이고, 도 5는 본 발명의 실시 예들에 따른 보안 프로그램의 작동을 설명하기 위한 도면이다.4 is a flowchart for explaining the operation of the security program according to the embodiments of the present invention, and FIG. 5 is a diagram for explaining the operation of the security program according to the embodiments of the present invention.

도 1 내지 도 5를 참조하면, 프로세서(110)는 서비스 모듈(210)을 서비스 세션(SS) 상(on)에서 실행할 수 있다(S1010). 실시 예들에 따라, 프로세서(110)는 서비스 모듈(210)을 데이터 저장 장치(120)로부터 프로세서(110)에 의해 접근 가능한 메모리(상기 메모리는 프로세서(110)의 내부 또는 외부에 존재할 수 있음)에 로드 (load)하고, 서비스 모듈(210)에 해당하는 서비스 프로세스(SVP)를 생성하고, 생성된 서비스 프로세스(SVP)를 서비스 세션(SS)에서 실행할 수 있다.1 to 5 , the processor 110 may execute the service module 210 in a service session SS (on) (S1010). According to embodiments, the processor 110 stores the service module 210 in a memory accessible by the processor 110 from the data storage device 120 (the memory may exist inside or outside the processor 110 ). It may load, generate a service process (SVP) corresponding to the service module 210 , and execute the generated service process (SVP) in the service session (SS).

실행된 서비스 프로세스(SVP)는 각 사용자 세션(CS1~CSn) 상에서 각 에이전트 프로세스(AGP1~AGPn)를 실행할 수 있다(S1020). 실시 예들에 따라, 프로세서 (110)는 에이전트 모듈(220)을 데이터 저장 장치(120)로부터 메모리로 로드하고, 에이전트 모듈(220)에 해당하는 에이전트 프로세스들(AGP1~AGPn)을 생성하고, 생성된 에이전트 프로세스들(AGP1~AGPn) 각각을 해당하는 사용자 세션들(CS1~CSn) 각각에서 실행할 수 있다. 예컨대, 제1에이전트 프로세스(AGP1)는 제1사용자 세션(CS1) 상에서 실행된다.The executed service process SVP may execute each agent process AGP1 to AGPn on each user session CS1 to CSn (S1020). According to embodiments, the processor 110 loads the agent module 220 from the data storage device 120 to the memory, creates the agent processes (AGP1 ~ AGPn) corresponding to the agent module 220, and the generated Each of the agent processes AGP1 to AGPn may be executed in each of the corresponding user sessions CS1 to CSn. For example, the first agent process AGP1 is executed on the first user session CS1.

에이전트 프로세스들(AGP1~AGPn)은 하나의 에이전트 모듈(220)로부터 생성된 것이므로, 에이전트 프로세스들(AGP1~AGPn) 각각의 기능은 서로 동일할 수 있다.Since the agent processes AGP1 to AGPn are generated from one agent module 220, the functions of each of the agent processes AGP1 to AGPn may be the same.

서비스 프로세스(SVP)는 각 사용자 세션(CS1~CSn)에서 실행되는 각 에이전트 프로세스(AGP1~AGPn)의 실행을 유지할 수 있다(S1030). 실시 예들에 따라, 서비스 프로세스(SVP)는 사용자 세션들(CS1~CSn) 각각에서 실행되는 에이전트 프로세스들(AGP1~AGPn) 각각의 실행을 중지 또는 종료하는 이벤트를 차단하거나, 에이전트 프로세스들(AGP1~AGPn) 중에서 적어도 하나의 실행이 중지(또는 종료)되더라도 중지(또는 종료된) 적어도 하나의 에이전트 프로세스를 다시 실행시키는 방법으로 에이전트 프로세스들(AGP1~AGPn) 각각의 실행을 유지할 수 있다.The service process SVP may maintain execution of each agent process AGP1 to AGPn executed in each user session CS1 to CSn ( S1030 ). According to embodiments, the service process (SVP) blocks an event to stop or terminate the execution of each of the agent processes (AGP1 to AGPn) executed in each of the user sessions (CS1 to CSn), or the agent processes (AGP1 to) Even if the execution of at least one of the AGPn) is stopped (or terminated), the execution of each of the agent processes AGP1 to AGPn may be maintained by re-executing the stopped (or terminated) at least one agent process.

실시 예들에 따라, 서비스 프로세스(SVP)는 복수 개의 에이전트 프로세스들 (AGP1~AGPn) 각각이 사용자 세션들(CS1~CSn) 각각에서 현재 실행되고 있는지를 판단할 수 있다. 예컨대, 서비스 프로세스(SVP)는 사용자 세션들(CS1~CSn) 각각에서 현재 실행중인 프로세스에 관한 프로세스 목록을 획득하고, 상기 프로세스 목록을 이용(또는 참조)하여 복수 개의 에이전트 프로세스들(AGP1~AGPn) 각각이 사용자 세션들(CS1~CSn) 각각에서 현재 실행되고 있는지를 판단할 수 있다.According to embodiments, the service process SVP may determine whether each of the plurality of agent processes AGP1 to AGPn is currently running in each of the user sessions CS1 to CSn. For example, the service process (SVP) obtains a process list related to a process currently running in each of the user sessions (CS1 to CSn), and uses (or refers to) the process list to process a plurality of agent processes (AGP1 to AGPn) It may be determined whether each of the user sessions CS1 to CSn is currently being executed.

실시 예들에 따라, 서비스 프로세스(SVP)는 주기적으로(periodically) 또는 실시간으로(on-the-fly or real time) 복수 개의 에이전트 프로세스들(AGP1~AGPn) 각각이 사용자 세션들(CS1~CSn) 각각에서 현재 실행되고 있는지를 판단할 수 있다.According to embodiments, the service process (SVP) periodically (periodically) or in real time (on-the-fly or real time) a plurality of agent processes (AGP1 ~ AGPn) each of the user sessions (CS1 ~ CSn) You can determine whether it is currently running in .

판단의 결과에 따라, 서비스 프로세스(SVP)는, 사용자 세션들(CS1~CSn) 중에서, 해당 에이전트 프로세스가 실행되고 있지 않은 사용자 세션을 식별하고, 식별된 사용자 세션 상에서 상기 해당 에이전트 프로세스를 다시 실행할 수 있다. 예컨대, 제2에이전트 프로세스(AGP2)가 제2사용자 세션(CS2) 상에서 실행되고 있지 않을 때, 서비스 프로세스(SVP)는 제2사용자 세션(CS2) 상에서 제2에이전트 프로세스 (AGP2)를 다시 실행할 수 있다.According to the result of the determination, the service process (SVP) may identify a user session in which the corresponding agent process is not running from among the user sessions CS1 to CSn, and execute the corresponding agent process again on the identified user session. have. For example, when the second agent process AGP2 is not running on the second user session CS2, the service process SVP may run the second agent process AGP2 again on the second user session CS2. .

따라서, 서비스 프로세스(SVP)는 사용자 세션들(CS1~CSn) 각각에서 실행 중인 복수 개의 에이전트 프로세스들(AGP1~AGPn) 각각의 실행의 안정성을 보장할 수 있으므로, 본 발명의 실시 예들에 따른 보안 프로그램(200)의 안정성이 향상되는 효과가 있다.Accordingly, since the service process SVP can ensure the stability of the execution of each of the plurality of agent processes AGP1 to AGPn running in each of the user sessions CS1 to CSn, the security program according to the embodiments of the present invention There is an effect that the stability of (200) is improved.

에이전트 프로세스들(AGP1~AGPn) 각각은, 에이전트 프로세스들(AGP1~AGPn) 각각이 실행되는 사용자 계정들(CS1~CSn) 각각에 로그인된 사용자 계정들 (ACC1~ACCn) 각각이 보안 계정(SCACC)인지를 판단할 수 있다(S1040). 예컨대, 제1에이전트 프로세스(AGP1)는 제1사용자 계정(ACC1)에 로그인된 제1사용자 계정(ACC1)이 보안 계정(SCACC)인지 아닌지를 판단할 수 있다. Each of the agent processes (AGP1 ~ AGPn), each of the user accounts (ACC1 ~ ACCn) logged in to each of the user accounts (CS1 ~ CSn) in which the agent processes (AGP1 ~ AGPn) run, each of the security account (SCACC) Recognition may be determined (S1040). For example, the first agent process AGP1 may determine whether the first user account ACC1 logged into the first user account ACC1 is a security account SCACC.

실시 예들에 따라, 에이전트 프로세스들(AGP1~AGPn) 각각은, 보안 프로그램 (200)의 설정 파일(configuration file)을 참조하여, 사용자 계정들(ACC1~ACCn) 각각이 보안 계정(SCACC)인지 아닌지를 판단할 수 있다.According to embodiments, each of the agent processes AGP1 to AGPn refers to a configuration file of the security program 200 and determines whether each of the user accounts ACC1 to ACCn is a security account SCACC. can judge

에이전트 프로세스들(AGP1~AGPn) 각각은, 사용자 계정들(ACC1~ACCn) 각각이 보안 계정(SCACC)일 때(S1040의 YES), 사용자 계정들(ACC1~ACCn) 각각을 통신 네트워크를 통해 관리 서버(500)로 전송할 수 있다(S1050). 예컨대, 제1에이전트 프로세스(AGP1)는 제1사용자 계정(ACC1)을 통신 네트워크를 통해 관리 서버(500)로 전송할 수 있다.Each of the agent processes (AGP1 to AGPn), when each of the user accounts (ACC1 to ACCn) is a security account (SCACC) (YES in S1040), each of the user accounts (ACC1 to ACCn) through a communication network to the management server It can be transmitted to (500) (S1050). For example, the first agent process AGP1 may transmit the first user account ACC1 to the management server 500 through the communication network.

에이전트 프로세스들(AGP1~AGPn) 각각은, 사용자 계정들(ACC1~ACCn) 각각에 해당하는 보안 정책들(PCY1~PCYn; 집합적으로 PCY) 각각을 통신 네트워크를 통해 관리 서버(500)로부터 수신할 수 있다(S1060). 예컨대, 제1에이전트 프로세스 (AGP1)는 제1사용자 계정(ACC1)에 해당하는 제1보안 정책(PCY1)을 통신 네트워크를 통해 관리 서버(500)로부터 수신할 수 있다.Each of the agent processes (AGP1 to AGPn) receives each of the security policies (PCY1 to PCYn; collectively PCY) corresponding to each of the user accounts (ACC1 to ACCn) from the management server 500 through the communication network. It can be (S1060). For example, the first agent process AGP1 may receive the first security policy PCY1 corresponding to the first user account ACC1 from the management server 500 through the communication network.

보안 정책들(PCY1~PCYn)은 룩업 테이블(look up table) 형태로 관리 서버 (500)에 저장되어 있을 수 있다. 보안 정책들(PCY1~PCYn) 각각은 어떤 보안 프로세스를 실행할지 말지를 지시할 수 있다.The security policies PCY1 to PCYn may be stored in the management server 500 in the form of a lookup table. Each of the security policies PCY1 to PCYn may indicate which security process is to be executed or not.

에이전트 프로세스들(AGP1~AGPn) 각각은, 보안 정책들(PCY1~PCYn) 각각에 기초하여, 보안 프로세스들(SCP1~SCPn) 각각을 실행할 수 있다(S1070).Each of the agent processes AGP1 to AGPn may execute each of the security processes SCP1 to SCPn based on each of the security policies PCY1 to PCYn ( S1070 ).

보안 프로세스들(SCP1~SCPn) 각각은 도 3에 도시된 보안 모듈들(230-1~230-6) 중에서 적어도 하나가 실행됨에 따라 실행된 적어도 하나의 프로세스일 수 있다. 비록, 도 5에는 보안 프로세스들(SCP1~SCPn) 각각이 하나의 프로세스로 도시되어 있으나, 실시 예들에 따라 보안 프로세스들(SCP1~SCPn) 각각은 복수 개의 프로세스들의 집합일 수 있다.Each of the security processes SCP1 to SCPn may be at least one process executed as at least one of the security modules 230-1 to 230-6 shown in FIG. 3 is executed. Although each of the security processes SCP1 to SCPn is illustrated as one process in FIG. 5 , each of the security processes SCP1 to SCPn may be a set of a plurality of processes according to embodiments.

예컨대, 제1에이전트 프로세스(AGP1)는, 제1보안 정책(PCY1)에 기초하여, 제1보안 프로세스(SCP1)를 실행할 수 있다. For example, the first agent process AGP1 may execute the first security process SCP1 based on the first security policy PCY1 .

실시 예들에 따라, 프로세서(110)는 제1보안 정책(PCY1)에 기초하여, 복수 개의 보안 모듈들(230-1~230-6) 중에서 적어도 하나를 데이터 저장 장치(120)로부터 메모리로 로드하고, 상기 적어도 하나의 보안 모듈에 해당하는 적어도 하나의 제1보안 프로세스(SCP1)를 생성하고, 생성된 제1보안 프로세스(SCP1)를 제1사용자 세션(CS1) 상에서 실행할 수 있다. 프로세서(110)는 나머지 사용자 세션들 (CS2~CSn) 각각에 대해서도 앞에서 설명한 작동과 동일 또는 유사한 작동을 수행할 수 있으므로, 나머지 사용자 세션들(CS2~CSn) 각각에 대한 설명을 생략한다.According to embodiments, the processor 110 loads at least one of the plurality of security modules 230-1 to 230-6 from the data storage device 120 into the memory based on the first security policy PCY1, and , may generate at least one first security process SCP1 corresponding to the at least one security module, and execute the generated first security process SCP1 on the first user session CS1. Since the processor 110 may perform the same or similar operation to the above-described operation for each of the remaining user sessions CS2 to CSn, a description of each of the remaining user sessions CS2 to CSn will be omitted.

에이전트 프로세스들(AGP1~AGPn) 각각은, 사용자 계정들(ACC1~ACCn) 각각이 보안 계정(SCACC)이 아닐 때(S1040의 NO), 보안 프로세스들(SCP1~SCPn) 각각의 실행을 중지 또는 종료할 수 있다(S1080). 예컨대, 제1에이전트 프로세스(AGP1)는 현재 제1사용자 세션(CS1) 상에서 실행 중인 제1보안 프로세스(SCP1)의 실행을 중지 또는 종료할 수 있다.Each of the agent processes AGP1 to AGPn stops or terminates the execution of each of the security processes SCP1 to SCPn when each of the user accounts ACC1 to ACCn is not the security account SCACC (NO in S1040) You can (S1080). For example, the first agent process AGP1 may stop or terminate the execution of the first security process SCP1 currently running in the first user session CS1 .

제1사용자 계정(ACC1)이 보안 계정(SCACC)이 아닐 때, 프로세서(110)는 현재 사용자 계정들(ACC1~ACCn) 각각에서 실행 중인 제1보안 프로세스(SCP1)의 실행을 중지, 종료, 또는 비활성화할 수 있다.When the first user account ACC1 is not the security account SCACC, the processor 110 stops, terminates, or can be deactivated.

따라서, 보안 프로그램(200)(또는 보안 프로그램(200)을 실행하는 전자 장치 (100))은 로그인된 각 사용자 계정(ACC1~ACCn)에 따라 보안 환경을 구축할 수 있으므로, 사용자 계정(ACC1~ACCn) 별로 보안 프로그램을 설치할 필요가 없다.Accordingly, since the security program 200 (or the electronic device 100 executing the security program 200 ) can build a security environment according to each logged-in user account ACC1 to ACCn, the user accounts ACC1 to ACCn ), there is no need to install any security programs.

또한, 보안 프로그램(200)은, 비-보안 계정일 때, 보안 프로그램(200)에 의해 제공되는 보안 기능들을 자동으로 비활성화할 수 있으므로, 비-보안 계정을 이용하는 사용자는 보안 기능의 활성화로 인한 성능 저하를 느끼지 않을 수 있다. 즉, 리소스 사용량이 감소할 수 있다.In addition, since the security program 200 may automatically deactivate the security functions provided by the security program 200 when it is a non-security account, the user using the non-security account can perform performance due to the activation of the security function. You may not feel any deterioration. That is, resource usage may be reduced.

도 6은 본 발명의 실시 예들에 따른 접근 제어 모듈(또는 접근 제어 프로세스)의 작동을 설명하기 위한 플로우 차트이다. 도 7은 본 발명의 실시 예들에 따른 접근 제어 모듈의 작동을 설명하기 위한 도면이다.6 is a flowchart for explaining the operation of an access control module (or an access control process) according to embodiments of the present invention. 7 is a view for explaining the operation of the access control module according to embodiments of the present invention.

설명의 편의상, 도 6과 도 7의 제1사용자 세션(CS1)에 로그인된 제1사용자 계정(ACC)은 보안 계정(SCACC)이라고 가정하고, 제1사용자 세션(CS1) 상에서의 작동에 대해서만 설명한다.For convenience of explanation, it is assumed that the first user account ACC logged into the first user session CS1 of FIGS. 6 and 7 is a security account SCACC, and only the operation on the first user session CS1 will be described. do.

도 1 내지 도 7을 참조하면, 제1사용자 세션(CS1) 상에서 접근 제어 프로세스(ACP)가 실행될 수 있다(S2010). 실시 예들에 따라, 제1에이전트 프로세스(AGP1)는, 접근 제어 프로세스(ACP)의 실행을 지시하는 제1보안 정책(PCY)에 기초하여, 접근 제어 프로세스(ACP)를 제1사용자 세션(CS1) 상에서 실행할 수 있다.1 to 7 , the access control process ACP may be executed on the first user session CS1 ( S2010 ). According to embodiments, the first agent process (AGP1) performs the access control process (ACP) on the first user session (CS1) based on the first security policy (PCY) instructing the execution of the access control process (ACP). can be run on

예컨대, 프로세서(110)는, 제1보안 정책(PCY1)에 기초하여, 접근 제어 모듈 (230-1)을 데이터 저장 장치(120)로부터 프로세서(110)에 의해 접근 가능한 메모리로 로드하고, 접근 제어 모듈(230-1)에 해당하는 접근 제어 프로세스(ACP)를 생성하고, 생성된 접근 제어 프로세스(ACP)를 제1사용자 세션(CS1) 상에서 실행할 수 있다.For example, the processor 110 loads the access control module 230-1 from the data storage device 120 into a memory accessible by the processor 110 based on the first security policy PCY1, and controls access An access control process ACP corresponding to the module 230-1 may be generated, and the generated access control process ACP may be executed on the first user session CS1.

실행된 접근 제어 프로세스(SCP)는 제1사용자 세션(CS1) 상에서 실행되는 프로세스(P)를 모니터할 수 있다(S2020). 실시 예들에 따라, 접근 제어 프로세스 (SCP)는 제1사용자 세션(CS1) 상에서 실행되는 프로세스(P)에 의해 생성된 적어도하나의 이벤트(EVENT1~EVENT3)를 모니터할 수 있다.The executed access control process (SCP) may monitor the process (P) executed on the first user session (CS1) (S2020). According to embodiments, the access control process SCP may monitor at least one event EVENT1 to EVENT3 generated by the process P executed on the first user session CS1.

실시 예들에 따라, 도 7에 도시된 바와 같이, 제1사용자 세션(CS1) 상에서 실행되는 접근 제어 프로세스(ACP)는 프로세스(P)에 인젝팅(injecting) 되어, 프로세스(P)가 실행될 때 프로세스(P)와 함께 실행될 수 있다. 프로세스(P)에 인젝팅된 접근 제어 프로세스(ACP)는 프로세스(P)에 할당된 메모리 영역을 탐색할 수 있다. According to embodiments, as shown in FIG. 7 , the access control process ACP executed on the first user session CS1 is injected into the process P, and when the process P is executed, the process It can be executed with (P). The access control process (ACP) injected into the process (P) may search the memory area allocated to the process (P).

실시 예들에 따라, 보안 프로그램(200)은 프로세스(P)에 접근 제어 프로세스 (ACP)를 삽입(또는 인젝팅(injecting))하기 위한 삽입기(injector)를 더 포함할 수 있다. 예컨대, 상기 삽입기는 제1사용자 세션(CS1) 상에서 새로운 프로세스가 실행되는지 아닌지를 탐지하고, 새로운 프로세스가 실행될 때, 새롭게 실행되는 프로세스가 접근 제어 모듈 (230-1)을 자동으로 로드하도록 할 수 있다.According to embodiments, the security program 200 may further include an injector for inserting (or injecting) the access control process (ACP) into the process (P). For example, the inserter may detect whether or not a new process is executed on the first user session CS1, and when the new process is executed, the newly executed process may automatically load the access control module 230-1. .

모니터의 결과에 따라, 접근 제어 프로세스(SCP)는 제1사용자 세션(CS1) 상에서 실행되는 프로세스(P)에서 생성된 적어도 하나의 이벤트(EVENT1~EVENT3)가 보안 영역(123) 상에서 처리되는지를 판단할 수 있다(S2030).According to the result of the monitor, the access control process (SCP) determines whether at least one event (EVENT1 to EVENT3) generated in the process (P) executed on the first user session (CS1) is processed on the security area (123) It can be done (S2030).

실시 예들에 따라, 각 이벤트(EVENT1~EVENT3)는 데이터의 리드(read) 또는 라이트(write)를 지시하는 명령일 수 있다. 실시 예들에 따라, 접근 제어 프로세스 (SCP)는 제1사용자 세션(CS1) 상에서 실행되는 프로세스(P)에서 생성된 하나 또는 그 이상의 이벤트들(EVENT1~EVENT3)에 포함된 드라이브 경로(path)가 보안 영역 (123)을 지시하는지를 판단할 수 있다.According to example embodiments, each event EVENT1 to EVENT3 may be a command instructing to read or write data. According to embodiments, in the access control process (SCP), the drive path included in one or more events (EVENT1 to EVENT3) generated in the process (P) executed on the first user session (CS1) is secure. It may be determined whether the region 123 is indicated.

접근 제어 프로세스(SCP)는, 판단(S2030)의 결과에 따라, 제1사용자 세션 (CS1) 상에서 실행되는 프로세스(P)에서 생성된 하나 또는 그 이상의 이벤트들 (EVENT1~EVENT3)의 처리 여부를 제어할 수 있다.The access control process SCP controls whether one or more events EVENT1 to EVENT3 generated in the process P executed on the first user session CS1 are processed according to the result of the determination S2030 can do.

실시 예들에 따라, 각 이벤트(EVENT1~EVENT3)가 보안 영역(123) 상에서 처리되지 않을 때(S2030의 NO), 접근 제어 프로세스(SCP)는 각 이벤트(EVENT1~EVENT3)의 처리(또는 진행)를 중지할 수 있다(S2040). 예컨대, 도 7에 도시된 제1이벤트 (EVENT1)는 비-보안 영역(121; 예컨대, C 드라이브) 상에서 처리되고, 제2이벤트 (EVENT2)는 비-보안 영역(121; 예컨대, D 드라이브) 상에서 처리되므로, 접근 제어 프로세스(SCP)는 제1이벤트(EVENT1)와 제2이벤트(EVENT2)의 처리를 중지할 수 있다.According to embodiments, when each event (EVENT1 to EVENT3) is not processed on the security area 123 (NO in S2030), the access control process (SCP) processes (or proceeds) each event (EVENT1 to EVENT3) It can be stopped (S2040). For example, the first event EVENT1 shown in FIG. 7 is processed in the non-secure area 121 (eg, drive C), and the second event EVENT2 is processed in the non-secure area 121 (eg, drive D). Therefore, the access control process SCP may stop processing the first event EVENT1 and the second event EVENT2.

실시 예들에 따라, 각 이벤트(EVENT1~EVENT3)가 보안 영역(123) 상에서 처리될 때(S2030의 YES), 접근 제어 프로세스(SCP)는 각 이벤트(EVENT1~EVENT3)의 처리(또는 진행)를 방해하지 않을 수 있다. 즉, 이 경우(S2030의 YES), 접근 제어 프로세스(SCP)는 각 이벤트(EVENT1~EVENT3)에 대해 아무런 동작을 수행하지 않을 수 있다.According to embodiments, when each event EVENT1 to EVENT3 is processed on the security area 123 (YES in S2030), the access control process SCP interrupts the processing (or progress) of each event EVENT1 to EVENT3. may not That is, in this case (YES in S2030), the access control process (SCP) may not perform any operation for each event (EVENT1 ~ EVENT3).

예컨대, 도 7에 도시된 제3이벤트(EVENT3)는 보안 영역(123; 예컨대, H 드라이브) 상에서 처리되므로, 접근 제어 프로세스(SCP)는 제3이벤트(EVENT3)에 대해 아무런 동작을 수행하지 않을 수 있다.For example, since the third event EVENT3 shown in FIG. 7 is processed on the security area 123 (eg, H drive), the access control process SCP may not perform any action on the third event EVENT3. have.

따라서, 제1사용자 세션(CS1; 보안 계정) 상에서 실행되는 접근 제어 프로세스(SCP)는 보안 영역(123)이 아닌 비-보안 영역(121) 상에서 처리되는 데이터의 리드 또는 라이트를 차단할 수 있으므로, 보안 계정(SCACC)을 통해 로그인한 사용자는 보안 영역(123) 상에서만 데이터를 리드하거나 또는 라이트 할 수 있으므로, 전자 장치(100)의 보안이 강화되는 효과가 있다.Therefore, the access control process (SCP) executed on the first user session (CS1; security account) can block the reading or writing of data processed in the non-secure area 121 rather than the secure area 123 , so the security Since the user logged in through the account SCACC can read or write data only in the security area 123 , the security of the electronic device 100 is enhanced.

본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those of ordinary skill in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Accordingly, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.

100; 전자 장치
110: 프로세서
120: 드라이브 또는 데이터 저장 장치
121: 비-보안 영역
123: 보안 영역
130: 입출력 인터페이스
140: 통신 인터페이스
200: 보안 프로그램
210: 서비스 모듈
220: 에이전트 모듈
300: 운영 체제(OS)
310: 커널
320: 미들웨어
330: API
410: 입력 장치
420: 출력 장치
500: 관리 서버
SS: 서비스 섹션
SVP: 서비스 프로세스
CS1~CSn: 사용자 세션들
AGP1~AGPn: 에이전트 프로세스들
100; electronic device
110: processor
120: drive or data storage device
121: non-security zone
123: security zone
130: input/output interface
140: communication interface
200: security program
210: service module
220: agent module
300: Operating System (OS)
310: kernel
320: middleware
330: API
410: input device
420: output device
500: management server
SS: service section
SVP: Service Process
CS1-CSn: User sessions
AGP1~AGPn: agent processes

Claims (13)

컴퓨터와 결합되어 보안 방법을 수행하기 위해 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 보안 방법은,
서비스 프로세스를 서비스 세션에서 실행하는 단계;
실행된 상기 서비스 프로세스가 에이전트 프로세스들 각각을 사용자 세션들 각각에서 실행하는 단계; 및
실행된 상기 서비스 프로세스가 상기 사용자 세션들 각각에서 실행되는 상기 에이전트 프로세스들 각각의 실행을 중지 또는 종료하는 이벤트를 차단하여 상기 에이전트 프로세스들 각각의 실행을 유지하는 단계를 포함하는 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium for performing a security method in combination with a computer, the computer program comprising:
The security method is
running the service process in the service session;
executing, by the executed service process, each of the agent processes in each of user sessions; and
In a computer-readable storage medium comprising the step of maintaining the execution of each of the agent processes by blocking an event that the service process executed stops or terminates the execution of each of the agent processes executed in each of the user sessions stored computer programs.
컴퓨터와 결합되어 보안 방법을 수행하기 위해 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 보안 방법은,
서비스 프로세스를 서비스 세션에서 실행하는 단계;
실행된 상기 서비스 프로세스가 에이전트 프로세스들 각각을 사용자 세션들 각각에서 실행하는 단계; 및
실행된 상기 서비스 프로세스가 상기 에이전트 프로세스들 중에서 적어도 하나의 실행이 중지 또는 종료되더라도 중지 또는 종료된 적어도 하나의 에이전트 프로세스를 다시 실행시켜 상기 에이전트 프로세스들 각각의 실행을 유지하는 단계를 포함하는 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium for performing a security method in combination with a computer, the computer program comprising:
The security method is
running the service process in the service session;
executing, by the executed service process, each of the agent processes in each of user sessions; and
Computer-readable comprising the step of re-executing the stopped or terminated agent process to maintain execution of each of the agent processes even if the executed service process stops or terminates the execution of at least one of the agent processes A computer program stored on a storage medium.
컴퓨터와 결합되어 보안 방법을 수행하기 위해 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 보안 방법은,
서비스 프로세스를 서비스 세션에서 실행하는 단계;
실행된 상기 서비스 프로세스가 에이전트 프로세스들 각각을 사용자 세션들 각각에서 실행하는 단계;
실행된 상기 서비스 프로세스가 상기 에이전트 프로세스들 각각이 상기 사용자 세션들 각각에서 현재 실행되고 있는지를 판단하는 단계; 및
판단의 결과에 따라, 상기 서비스 프로세스가 상기 사용자 세션들 중에서 해당하는 에이전트 프로세스가 실행되고 있지 않은 사용자 세션을 식별하고, 식별된 실행되고 있지 않은 사용자 세션에서 상기 해당하는 에이전트 프로세스를 다시 실행하는 단계를 포함하는 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium for performing a security method in combination with a computer, the computer program comprising:
The security method is
running the service process in the service session;
executing, by the executed service process, each of the agent processes in each of user sessions;
determining, by the executed service process, whether each of the agent processes is currently running in each of the user sessions; and
according to the result of the determination, the service process identifying a user session in which the corresponding agent process is not running among the user sessions, and re-executing the corresponding agent process in the identified non-executing user session; A computer program stored on a computer-readable storage medium comprising a computer program.
컴퓨터와 결합되어 보안 방법을 수행하기 위해 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 보안 방법은,
서비스 프로세스를 서비스 세션에서 실행하는 단계;
실행된 상기 서비스 프로세스가 에이전트 프로세스들 각각을 사용자 세션들 각각에서 실행하는 단계;
실행된 상기 서비스 프로세스가 상기 사용자 세션들 각각에서 현재 실행중인 프로세스에 관한 프로세스 목록을 획득하고, 상기 프로세스 목록을 이용하여 상기 에이전트 프로세스들 각각이 상기 사용자 세션들 각각에서 현재 실행되고 있는지를 판단하는 단계; 및
판단의 결과에 따라, 상기 서비스 프로세스가 상기 사용자 세션들 중에서 해당하는 에이전트 프로세스가 실행되고 있지 않은 사용자 세션을 식별하고, 식별된 실행되고 있지 않은 사용자 세션에서 상기 해당하는 에이전트 프로세스를 다시 실행하는 단계를 포함하는 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable storage medium for performing a security method in combination with a computer, the computer program comprising:
The security method is
running the service process in the service session;
executing, by the executed service process, each of the agent processes in each of user sessions;
obtaining, by the service process, a list of processes currently running in each of the user sessions, and determining whether each of the agent processes is currently running in each of the user sessions using the process list ; and
according to the result of the determination, the service process identifying a user session in which the corresponding agent process is not running among the user sessions, and re-executing the corresponding agent process in the identified non-executing user session; A computer program stored on a computer-readable storage medium comprising a computer program.
컴퓨터에서 실행되는 운영 체제의 서비스 세션에서 서비스 프로세스를 실행하는 단계;
실행된 상기 서비스 프로세스가 상기 운영 체제의 사용자 세션들 각각에서 에이전트 프로세스들 각각을 실행하는 단계; 및
실행된 상기 서비스 프로세스가 상기 사용자 세션들 각각에서 실행되는 상기 에이전트 프로세스들 각각의 실행을 중지 또는 종료하는 이벤트를 차단하여 상기 에이전트 프로세스들 각각의 실행을 유지하는 단계를 포함하는 보안 서비스 제공 방법.
executing a service process in a service session of an operating system running on the computer;
executing, by the executed service process, each of the agent processes in each of the user sessions of the operating system; and
and maintaining the execution of each of the agent processes by blocking an event in which the executed service process stops or terminates the execution of each of the agent processes executed in each of the user sessions.
컴퓨터에서 실행되는 운영 체제의 서비스 세션에서 서비스 프로세스를 실행하는 단계;
실행된 상기 서비스 프로세스가 상기 운영 체제의 사용자 세션들 각각에서 에이전트 프로세스들 각각을 실행하는 단계; 및
실행된 상기 서비스 프로세스가 상기 에이전트 프로세스들 중에서 적어도 하나의 실행이 중지 또는 종료되더라도 중지 또는 종료된 적어도 하나의 에이전트 프로세스를 다시 실행시켜 상기 에이전트 프로세스들 각각의 실행을 유지하는 단계를 포함하는 보안 서비스 제공 방법.
executing a service process in a service session of an operating system running on the computer;
executing, by the executed service process, each of the agent processes in each of the user sessions of the operating system; and
and maintaining the execution of each of the agent processes by re-executing the stopped or terminated agent process even if the executed service process stops or terminates the execution of at least one of the agent processes. Way.
컴퓨터에서 실행되는 운영 체제의 서비스 세션에서 서비스 프로세스를 실행하는 단계;
실행된 상기 서비스 프로세스가 상기 운영 체제의 사용자 세션들 각각에서 에이전트 프로세스들 각각을 실행하는 단계;
실행된 상기 서비스 프로세스가 상기 에이전트 프로세스들 각각이 상기 사용자 세션들 각각에서 현재 실행되고 있는지를 판단하는 단계; 및
판단의 결과에 따라, 상기 서비스 프로세스가 상기 사용자 세션들 중에서 해당하는 에이전트 프로세스가 실행되고 있지 않은 사용자 세션을 식별하고, 식별된 실행되고 있지 않은 사용자 세션에서 상기 해당하는 에이전트 프로세스를 다시 실행하는 단계를 포함하는 보안 서비스 제공 방법.
executing a service process in a service session of an operating system running on the computer;
executing, by the executed service process, each of the agent processes in each of the user sessions of the operating system;
determining, by the executed service process, whether each of the agent processes is currently running in each of the user sessions; and
according to the result of the determination, the service process identifying a user session in which the corresponding agent process is not running among the user sessions, and re-executing the corresponding agent process in the identified non-executing user session; How to provide security services, including.
컴퓨터에서 실행되는 운영 체제의 서비스 세션에서 서비스 프로세스를 실행하는 단계;
실행된 상기 서비스 프로세스가 상기 운영 체제의 사용자 세션들 각각에서 에이전트 프로세스들 각각을 실행하는 단계;
실행된 상기 서비스 프로세스가 상기 사용자 세션들 각각에서 현재 실행중인 프로세스에 관한 프로세스 목록을 획득하고, 상기 프로세스 목록을 이용하여 상기 에이전트 프로세스들 각각이 상기 사용자 세션들 각각에서 현재 실행되고 있는지를 판단하는 단계; 및
판단의 결과에 따라, 상기 서비스 프로세스가 상기 사용자 세션들 중에서 해당하는 에이전트 프로세스가 실행되고 있지 않은 사용자 세션을 식별하고, 식별된 실행되고 있지 않은 사용자 세션에서 상기 해당하는 에이전트 프로세스를 다시 실행하는 단계를 포함하는 보안 서비스 제공 방법.
executing a service process in a service session of an operating system running on the computer;
executing, by the executed service process, each of the agent processes in each of the user sessions of the operating system;
obtaining, by the service process, a list of processes currently running in each of the user sessions, and determining whether each of the agent processes is currently running in each of the user sessions using the process list ; and
according to the result of the determination, the service process identifying a user session in which the corresponding agent process is not running among the user sessions, and re-executing the corresponding agent process in the identified non-executing user session; How to provide security services, including.
프로세서, 저장 장치, 및 통신 인터페이스를 포함하는 컴퓨팅 장치에 있어서,
상기 저장 장치는 일반 영역과 보안 영역을 포함하고,
상기 일반 영역은 보안 프로그램을 저장하고,
상기 보안 프로그램은 상기 컴퓨팅 장치와 결합되어 보안 방법을 수행하기 위한 명령들을 포함하고,
상기 보안 방법은,
상기 컴퓨팅 장치에서 실행되는 운영 체제의 서비스 세션에서 서비스 프로세스를 실행하는 단계;
실행된 상기 서비스 프로세스가 상기 운영 체제의 사용자 세션들 각각에서 에이전트 프로세스들 각각을 실행하는 단계; 및
실행된 상기 서비스 프로세스가 상기 사용자 세션들 각각에서 실행되는 상기 에이전트 프로세스들 각각의 실행을 중지 또는 종료하는 이벤트를 차단하여 상기 에이전트 프로세스들 각각의 실행을 유지하는 단계를 포함하는 컴퓨팅 장치.
A computing device comprising a processor, a storage device, and a communication interface, the computing device comprising:
The storage device includes a general area and a security area,
The general area stores a security program,
The security program includes instructions for performing a security method in combination with the computing device,
The security method is
executing a service process in a service session of an operating system running on the computing device;
executing, by the executed service process, each of the agent processes in each of the user sessions of the operating system; and
and maintaining the execution of each of the agent processes by blocking an event in which the executed service process stops or terminates the execution of each of the agent processes executed in each of the user sessions.
프로세서, 저장 장치 및 통신 인터페이스를 포함하는 컴퓨팅 장치에 있어서,
상기 저장 장치는 일반 영역과 보안 영역을 포함하고,
상기 일반 영역은 보안 프로그램을 저장하고,
상기 보안 프로그램은 상기 컴퓨팅 장치와 결합되어 보안 방법을 수행하기 위한 명령들을 포함하고,
상기 보안 방법은,
상기 컴퓨팅 장치에서 실행되는 운영 체제의 서비스 세션에서 서비스 프로세스를 실행하는 단계;
실행된 상기 서비스 프로세스가 상기 운영 체제의 사용자 세션들 각각에서 에이전트 프로세스들 각각을 실행하는 단계; 및
실행된 상기 서비스 프로세스가 상기 에이전트 프로세스들 중에서 적어도 하나의 실행이 중지 또는 종료되더라도 중지 또는 종료된 적어도 하나의 에이전트 프로세스를 다시 실행시켜 상기 에이전트 프로세스들 각각의 실행을 유지하는 단계를 포함하는 컴퓨팅 장치.
A computing device comprising a processor, a storage device, and a communication interface, the computing device comprising:
The storage device includes a general area and a security area,
The general area stores a security program,
The security program includes instructions for performing a security method in combination with the computing device,
The security method is
executing a service process in a service session of an operating system running on the computing device;
executing, by the executed service process, each of the agent processes in each of the user sessions of the operating system; and
Computing device comprising the step of maintaining the execution of each of the agent processes by re-executing the stopped or terminated agent process even if the executed service process stops or terminates the execution of at least one of the agent processes.
프로세서, 저장 장치 및 통신 인터페이스를 포함하는 컴퓨팅 장치에 있어서,
상기 저장 장치는 일반 영역과 보안 영역을 포함하고,
상기 일반 영역은 보안 프로그램을 저장하고,
상기 보안 프로그램은 상기 컴퓨팅 장치와 결합되어 보안 방법을 수행하기 위한 명령들을 포함하고,
상기 보안 방법은,
상기 컴퓨팅 장치에서 실행되는 운영 체제의 서비스 세션에서 서비스 프로세스를 실행하는 단계;
상기 서비스 프로세스가 상기 운영 체제의 사용자 세션들 각각에서 에이전트 프로세스들 각각을 실행하는 단계;
실행된 상기 서비스 프로세스가 상기 에이전트 프로세스들 각각이 상기 사용자 세션들 각각에서 현재 실행되고 있는지를 판단하는 단계; 및
판단의 결과에 따라, 상기 서비스 프로세스가 상기 사용자 세션들 중에서 해당 에이전트 프로세스가 실행되고 있지 않은 사용자 세션을 식별하고, 식별된 실행되고 있지 않은 사용자 세션 상에서 상기 해당 에이전트 프로세스를 다시 실행하는 단계를 포함하는 컴퓨팅 장치.
A computing device comprising a processor, a storage device, and a communication interface, the computing device comprising:
The storage device includes a general area and a security area,
The general area stores a security program,
The security program includes instructions for performing a security method in combination with the computing device,
The security method is
executing a service process in a service session of an operating system running on the computing device;
the service process executing each of the agent processes in each of the user sessions of the operating system;
determining, by the executed service process, whether each of the agent processes is currently running in each of the user sessions; and
according to the result of the determination, the service process identifying a user session in which the corresponding agent process is not running among the user sessions, and re-executing the corresponding agent process on the identified non-executing user session computing device.
프로세서, 저장 장치 및 통신 인터페이스를 포함하는 컴퓨팅 장치에 있어서,
상기 저장 장치는 일반 영역과 보안 영역을 포함하고,
상기 일반 영역은 보안 프로그램을 저장하고,
상기 보안 프로그램은 상기 컴퓨팅 장치와 결합되어 보안 방법을 수행하기 위한 명령들을 포함하고,
상기 보안 방법은,
상기 컴퓨팅 장치에서 실행되는 운영 체제의 서비스 세션에서 서비스 프로세스를 실행하는 단계;
상기 서비스 프로세스가 상기 운영 체제의 사용자 세션들 각각에서 에이전트 프로세스들 각각을 실행하는 단계;
실행된 상기 서비스 프로세스가 상기 사용자 세션들 각각에서 현재 실행중인 프로세스에 관한 프로세스 목록을 획득하고, 상기 프로세스 목록을 이용하여 상기 에이전트 프로세스들 각각이 상기 사용자 세션들 각각에서 현재 실행되고 있는지를 판단하는 단계; 및
판단의 결과에 따라, 상기 서비스 프로세스가 상기 사용자 세션들 중에서 해당 에이전트 프로세스가 실행되고 있지 않은 사용자 세션을 식별하고, 식별된 실행되고 있지 않은 사용자 세션 상에서 상기 해당 에이전트 프로세스를 다시 실행하는 단계를 포함하는 컴퓨팅 장치.
A computing device comprising a processor, a storage device, and a communication interface, the computing device comprising:
The storage device includes a general area and a security area,
The general area stores a security program,
The security program includes instructions for performing a security method in combination with the computing device,
The security method is
executing a service process in a service session of an operating system running on the computing device;
the service process executing each of the agent processes in each of the user sessions of the operating system;
obtaining, by the service process, a list of processes currently running in each of the user sessions, and determining whether each of the agent processes is currently running in each of the user sessions using the process list ; and
according to the result of the determination, the service process identifying a user session in which the corresponding agent process is not running among the user sessions, and re-executing the corresponding agent process on the identified non-executing user session computing device.
제9항, 제10항, 제11항, 또는 제12항 중 어느 하나의 항에 있어서, 상기 보안 방법은,
상기 에이전트 프로세스들 각각은, 상기 에이전트 프로세스들 각각이 실행되는 사용자 계정들 각각에 로그인된 사용자 계정들 각각이 보안 계정인지를 판단하는 단계를 더 포함하는 컴퓨팅 장치.
The method of any one of claims 9, 10, 11, or 12, wherein the security method comprises:
Each of the agent processes, the computing device further comprising the step of determining whether each of the user accounts logged into each of the user accounts in which each of the agent processes are executed is a security account.
KR1020190025814A 2017-07-28 2019-03-06 Security program and computing device for providing security function per each user session and method thereof KR102263945B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190025814A KR102263945B1 (en) 2017-07-28 2019-03-06 Security program and computing device for providing security function per each user session and method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170096135A KR101957991B1 (en) 2017-07-28 2017-07-28 Security program and computing device for providing security function per each user session and method thereof
KR1020190025814A KR102263945B1 (en) 2017-07-28 2019-03-06 Security program and computing device for providing security function per each user session and method thereof

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170096135A Division KR101957991B1 (en) 2017-07-28 2017-07-28 Security program and computing device for providing security function per each user session and method thereof

Publications (2)

Publication Number Publication Date
KR20190026724A KR20190026724A (en) 2019-03-13
KR102263945B1 true KR102263945B1 (en) 2021-06-11

Family

ID=65761977

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190025814A KR102263945B1 (en) 2017-07-28 2019-03-06 Security program and computing device for providing security function per each user session and method thereof

Country Status (1)

Country Link
KR (1) KR102263945B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101080264B1 (en) * 2009-09-24 2011-11-08 양정만 Apparatus for providing multi user service
KR101060277B1 (en) 2010-11-23 2011-08-29 (주)지인소프트 Combine management system for company that discrimination manages a department another company member pc of company and method thereof
KR102175745B1 (en) 2015-01-07 2020-11-06 주식회사 케이티 Apparatus and system for providing security solution platform corresponding to security object and method thereof

Also Published As

Publication number Publication date
KR20190026724A (en) 2019-03-13

Similar Documents

Publication Publication Date Title
CN110651269B (en) Isolated container event monitoring
KR102255767B1 (en) Systems and methods for virtual machine auditing
KR101489301B1 (en) Virtual environment system and operating method of the system
US10528735B2 (en) Malicious code protection for computer systems based on process modification
US20180307860A1 (en) Managing configurations of computing terminals
US8938782B2 (en) Systems and methods for providing network access control in virtual environments
US20040025165A1 (en) Systems and methods for extending operating system functionality for an application
US10545851B2 (en) Breakpoint insertion into kernel pages
US10318275B2 (en) Software update apparatus and method in virtualized environment
JP2006178936A (en) Computer security management, such as in virtual machine or hardened operating system
RU2584507C1 (en) Method of providing safe execution of script file
CN114096964A (en) Secure code execution
US9244705B1 (en) Intelligent micro-virtual machine scheduling
Weisberg et al. Enhancing Transportation System Networks Reliability by Securer Operating System
US7797727B1 (en) Launching an application in a restricted user account
US9292324B2 (en) Virtual machine supervision by machine code rewriting to inject policy rule
CN113239329A (en) System for realizing trusted execution environment of mobile terminal application program
US9477538B2 (en) Method and system for the support of application specific policies for conventional operating systems
KR102263945B1 (en) Security program and computing device for providing security function per each user session and method thereof
KR101957991B1 (en) Security program and computing device for providing security function per each user session and method thereof
CN117441162A (en) Storage procedures in databases
CN114722404A (en) Method and system for realizing any number of EAPP based on RISC-V
CN117034330B (en) macOS-based safety protection method, macOS-based safety protection equipment and storage medium
JP5710547B2 (en) Information processing apparatus, monitoring method, and monitoring program
KR102084778B1 (en) Access control method and apparutus thereof

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant