KR102214162B1 - A user-based object access control system using server's hooking - Google Patents

A user-based object access control system using server's hooking Download PDF

Info

Publication number
KR102214162B1
KR102214162B1 KR1020200157996A KR20200157996A KR102214162B1 KR 102214162 B1 KR102214162 B1 KR 102214162B1 KR 1020200157996 A KR1020200157996 A KR 1020200157996A KR 20200157996 A KR20200157996 A KR 20200157996A KR 102214162 B1 KR102214162 B1 KR 102214162B1
Authority
KR
South Korea
Prior art keywords
access
server
user
information
access control
Prior art date
Application number
KR1020200157996A
Other languages
Korean (ko)
Inventor
오소영
김대옥
염창주
김정호
서병선
Original Assignee
주식회사 넷앤드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 넷앤드 filed Critical 주식회사 넷앤드
Priority to KR1020200157996A priority Critical patent/KR102214162B1/en
Application granted granted Critical
Publication of KR102214162B1 publication Critical patent/KR102214162B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • 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
    • G06F21/31User authentication
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to a user-based object access control system through server hooking, which controls object access according to an object access policy assigned to an individual user when accessing a server with a service account of the server to access an object such as a file or a directory in the server in a gateway-based access control system in which a gateway is provided between a user terminal and the server to perform relay therebetween. The system comprises: an access policy management unit which stores and manages access authority information for each user with respect to an object of the server as an access control policy; a connection information management unit which manages connection information including user information and server access information as information generated when the user terminal accesses the server; an access authority authentication unit which authenticates an access authority of a user with respect to a specific object; a hooking unit which hooks a system call of an object access request and obtains information of a request process and a request object of the system call; a verification information generation unit which obtains server access information from request process information of the hooked system call, and generates verification information including the server access information and information of the request object; and an object access control unit which requests access authority authentication of the user for a corresponding request object from the access authority authentication unit and controls access according to the authentication result. By controlling object access according to the object access policy assigned to the user by using the above system, even if different users own the authority of the same service account, the access authority can be controlled for each user and for each file and directory.

Description

서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템 { A user-based object access control system using server's hooking }User-based object access control system using server's hooking}

본 발명은 사용자 단말과 서버 사이에 게이트웨이를 구비하여 중계하는 게이트웨이 기반의 접근 통제 체계에서, 서버의 서비스 계정으로 서버에 접속하여 서버 내의 파일, 디렉토리 등 객체를 접근할 때, 사용자에 따라 부여된 객체 접근 정책에 따라 객체 접근을 제어하는, 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템에 관한 것이다.The present invention is a gateway-based access control system in which a gateway is provided between a user terminal and a server and is relayed. When accessing objects such as files and directories in the server by accessing a server with a service account of the server, an object assigned according to the user It relates to a user-based object access control system through server hooking, which controls object access according to an access policy.

특히, 본 발명은 게이트웨이를 통해 사용자 인증(Authentication)을 거쳐 인가(Authorized)된 사용자에게, 서비스 계정 단위의 접근 제한 방식 외에도, 서버 내 존재하는 파일 및 디렉토리 단위의 접근 제어 기술을 활용하여, 사용자 권한별로 미세 분할된 접근 제어를 제공하는, 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템에 관한 것이다.In particular, the present invention provides a user authorized through a gateway through user authentication, in addition to a service account-based access restriction method, as well as a file and directory-based access control technology that exists in the server. It relates to a user-based object access control system through server hooking, which provides finely divided access control for each.

일반적으로, 정부 공공기관은 주요 정보통신 기반시설의 기술적 취약점 분석/평가 항목으로 루트(root) 계정의 직접적인 원격 접속 제한, 1인-1계정 사용, 계정 공유 사용 금지 등을 제시하고 있다. 이러한 규정으로 인하여 장비에 접근할 때 대상 장비의 정보(IP)/프로토콜(포트)/계정 단위로 접근 권한을 분리하는 방식이 통상적으로 채용되고 있다.In general, government and public institutions are proposing restrictions on direct remote access of the root account, use of one person to one account, and prohibition of using account sharing as items for analyzing/evaluating technical weaknesses of major information and communication infrastructure. Due to these regulations, when accessing a device, a method of separating the access authority in units of information (IP)/protocol (port)/account of the target device is generally adopted.

그러나 기술적/금전적 문제로 인하여, 단일 계정을 공유하여 사용하거나, 미 분리되지 않고 정확하지 않은 접근 권한 등을 사용하는 환경이 존재하고 있다. 또한, 오래된 보안 장비의 경우 기본 계정(Default 계정)의 초기 아이디/패스워드(ID/PW)를 그대로 사용하거나 변경 기능을 제공하지 않는 장비들이 존재한다.However, due to technical/financial issues, there are environments in which a single account is shared and used, or unseparated and inaccurate access rights are used. Also, in the case of old security devices, there are devices that use the initial ID/password (ID/PW) of the default account or do not provide a change function.

이러한 상황의 경우 책임추적성(Accountability)을 확보할 수 없으므로 추가적으로 제어할 수 있는 기술이 필요하다. 책임추적성(Accountability)은 시스템 내의 각 개인은 유일하게 식별되어야 한다는 정보 보호 원칙을 말한다. 즉, 이 원칙에 의해서 정보 처리 시스템은 정보 보호 규칙을 위반한 개인을 추적할 수 있고, 각 개인은 자신의 행위에 대해서 책임을 지게 될 수 있다.In such a situation, since accountability cannot be secured, additional control technology is required. Accountability refers to the principle of information protection that each individual in the system must be uniquely identified. In other words, according to this principle, the information processing system can track individuals who violate information protection rules, and each individual can be held liable for his or her actions.

또한, 최고 관리자 계정인 루트(root) 계정이나 다른 어플리케이션과 연동에 사용하는 계정 등은 단일 계정을 사용하므로, 해당 계정을 공유할 수밖에 없는 상황이다. 이런 상황에서는 필연적으로 사용자가 필요한 권한보다 더 많은 권한을 부여받게 된다. 실제로는 모든 사용자에게 적절한 권한이 부여되지 않았음에도 보안 체계를 구축하였다고 안도하여 보안 불감증에 빠질 수 있다.In addition, since the root account, which is the super administrator account, or the account used for linking with other applications, uses a single account, it is inevitable to share the account. In this situation, inevitably, the user is granted more rights than necessary. In fact, even though all users are not given proper authority, they may be relieved that a security system has been established, leading to security insensitivity.

앞서 설명했듯이 일반적으로 대상 장비의 정보(IP)/프로토콜(포트)/계정 단위로 접근 권한을 부여한다. 하지만 이 방식으로 권한을 부여하면 서로 다른 사용자가 동일한 계정을 소유할 경우 동일한 권한을 갖는 문제점이 있다. 이 문제점을 보완하기 위한 두 가지 방안이 있다.As described above, in general, access rights are granted in units of information (IP)/protocol (port)/account of the target device. However, if the authority is granted in this way, there is a problem in that different users have the same authority when they have the same account. There are two ways to compensate for this problem.

첫 번째 방안은 1인-1계정 방식이다. 사용자마다 새로운 계정을 생성하여 필요한 권한만 부여하고, 생성한 계정의 권한을 해당 사용자에게 부여한다[특허문헌 1]. 이 방안은 보안 관리자의 업무 부담이 매우 크며, 새로운 사용자가 생길 때마다 계정을 새로 생성해야 하고, 기존 사용자의 권한을 변경할 때마다 계정의 권한을 수정해야 하므로 불편함이 발생하여 관리 소홀로 이어질 수 있다는 문제점이 있다. The first option is a one-person account method. A new account is created for each user, and only the necessary authority is granted, and the authority of the created account is granted to the user [Patent Document 1]. This method is very burdensome for the security administrator, and the account needs to be created every time a new user is created, and the account's privileges must be modified every time the privileges of an existing user are changed, which can lead to inconvenient and neglected management. There is a problem that there is.

두 번째 방안은 계정을 공유하여 사용하되, 접근 통제 솔루션을 통해 접근 이력을 관리하며 사용하는 방식이다. 이 방안은 계정을 공유하여 사용하므로 사용자가 필요한 권한보다 더 많은 권한을 갖게 된다.The second method is to share and use accounts, but manage and use the access history through an access control solution. In this scheme, accounts are shared and used, so users have more privileges than they need.

그런데 이러한 방안은 리눅스/유닉스에서 지원하는 DAC(Discretionary Access Control)도 활용할 수 없다. DAC란 파일 또는 디렉토리의 권한을 계정, 그룹으로 나누어 읽기, 쓰기, 실행 등의 접근을 통제하는 기능이다. 운영체제(OS)에서 관리하는 파일 소유 계정(User Identifier, UID) 또는 파일 소유 그룹(Group Identifier, GID) 기반으로 접근을 통제하므로 실제 사용자가 다르더라도 계정이 같다면 동일한 권한을 부여 받는다. However, such a method cannot utilize the DAC (Discretionary Access Control) supported by Linux/Unix. DAC is a function that divides the permissions of a file or directory into accounts and groups, and controls access to read, write, and execute. Access is controlled based on the file owning account (User Identifier, UID) or file owning group (Group Identifier, GID) managed by the operating system (OS).

결과적으로 보안에 구멍이 생길 수밖에 없는 한계가 존재한다.As a result, there is a limit to the security hole.

첫 번째 방안과 두 번째 방안 모두 루트(root) 계정 또는 유사한 최고 관리자 계정을 공유해서 사용한다면 특정 사용자의 악의적인 행위를 사전에 차단할 수 없다. 해당 계정에 접근 가능한 모든 사용자가 같은 권한을 가지므로 사용자별로 접근을 통제할 수 없기 때문이다.If both the first and second options share a root account or a similar super administrator account, malicious actions of specific users cannot be blocked in advance. This is because all users who can access the account have the same authority, so access cannot be controlled for each user.

관리자 계정은 모든 권한이 있으므로 백도어(Backdoor)를 설치하여 보안 체계를 우회하거나, 아무나 접근할 수 없는 패스워드 정보가 담긴 파일(/etc/shadow 등) 또는 디렉토리에 부여된 DAC 권한을 낮출 수 있다. 이 경우 일반 사용자도 해당 파일 또는 디렉토리에 마음껏 접근할 수 있게 된다. 기존 기술은 이러한 위험 상황이 발생하기 전 대처가 불가능할 뿐만 아니라 사후 대처 시 원인을 규명하기도 까다롭다.Since the administrator account has full privileges, you can install a backdoor to bypass the security system, or lower the DAC privileges granted to files (such as /etc/shadow) or directories containing password information that no one can access. In this case, even general users can freely access the file or directory. Existing technologies are not only impossible to cope with before such a dangerous situation occurs, and it is also difficult to identify the cause when responding afterwards.

한국등록특허 제10-1565590호(2015.11.04.공고)Korean Patent Registration No. 10-1565590 (Announcement on November 4, 2015)

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 사용자 단말과 서버 사이에 게이트웨이를 구비하여 중계하는 게이트웨이 기반의 접근 통제 체계에서, 서버의 서비스 계정으로 서버에 접속하여 서버 내의 파일, 디렉토리 등 객체를 접근할 때, 사용자에 따라 부여된 객체 접근 정책에 따라 객체 접근을 제어하는, 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템을 제공하는 것이다.An object of the present invention is to solve the above-described problems, in a gateway-based access control system in which a gateway is provided and relayed between a user terminal and a server. It provides a user-based object access control system through server hooking, which controls object access according to the object access policy assigned by the user when accessing the object, etc.

또한, 본 발명의 목적은 게이트웨이를 통해 사용자 인증(Authentication)을 거쳐 인가(Authorized)된 사용자에게, 서비스 계정 단위의 접근 제한 방식 외에도, 서버 내 존재하는 파일 및 디렉토리 단위의 접근 제어 기술을 활용하여, 사용자 권한별로 미세 분할된 접근 제어를 제공하는, 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템을 제공하는 것이다.In addition, it is an object of the present invention to use a file and directory-based access control technology existing in a server in addition to a service account-based access restriction method to a user who is authenticated through a gateway through user authentication, It provides a user-based object access control system through server hooking, which provides finely divided access control by user authority.

또한, 본 발명의 목적은 인증을 거친 사용자에게 부여할 서비스 계정 단위의 접근 권한 비교에 따라, 장비 접근 제한 뿐만 아니라 계정 권한이 있더라도 파일 및 디렉토리 제한하는 접근 권한은 권한이 없으면 해당 파일 및 디렉토리에 접근이 불가하는, 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템을 제공하는 것이다.In addition, it is an object of the present invention to restrict access to devices, as well as access rights to restrict files and directories even if they have account rights, according to a comparison of access rights per service account to be granted to authenticated users. This is impossible, to provide a user-based object access control system through server hooking.

또한, 본 발명의 목적은 파일, 디렉토리 등 객체에 접근 시 커널 영역(Kernel Space)에서 LSM 후킹(LINUX Security Module Hooking) 기술을 이용하여 접근 권한을 소유하고 있는지를 재확인하여 인가하는, 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템을 제공하는 것이다.In addition, an object of the present invention is to reconfirm and approve whether an object such as a file or a directory is accessed by using LSM hooking (LINUX Security Module Hooking) technology in the kernel space, through server hooking. It is to provide a user-based object access control system.

상기 목적을 달성하기 위해 본 발명은 서버에 설치되는 시스템으로서, 상기 서버는 접근통제 게이트웨이의 중계를 통해 사용자 단말과 통신하는, 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템에 관한 것으로서, 상기 서버의 객체에 대한 사용자별 접근권한 정보를 접근제어 정책으로 저장하고 관리하는 접근정책 관리부; 상기 사용자 단말에서 상기 서버로 연결할 때 발생하는 정보로서, 사용자 정보, 및 서버접속 정보를 포함하는 연결 정보를 관리하는, 연결정보 관리부; 특정 객체에 대한 사용자의 접근 권한을 인증하는 접근권한 인증부; 객체 접근 요청의 시스템콜을 후킹하고, 상기 시스템콜의 요청 프로세스와 요청 객체의 정보를 획득하는 후킹부; 후킹된 시스템콜의 요청 프로세스 정보로부터 서버접속 정보를 획득하여, 상기 서버접속 정보와 요청 객체의 정보를 포함하는 검증 정보를 생성하는 검증정보 생성부; 및, 해당 요청 객체에 대한 사용자의 접근권한 인증을 상기 접근권한 인증부로 요청하고, 인증 결과에 따라 접근을 제어하는 객체접근 제어부를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention relates to a system installed in a server, wherein the server communicates with a user terminal through a relay of an access control gateway, and relates to a user-based object access control system through server hooking, wherein the server object An access policy management unit that stores and manages access rights information for each user as an access control policy; A connection information management unit for managing connection information including user information and server connection information as information generated when connecting from the user terminal to the server; An access right authentication unit for authenticating a user's access right to a specific object; A hooking unit for hooking a system call of an object access request and obtaining information on a request process of the system call and a request object; A verification information generation unit that obtains server access information from the hooked system call request process information, and generates verification information including the server access information and the request object information; And an object access control unit that requests authentication of a user's access right to the requested object to the access authority authentication unit, and controls access according to the authentication result.

또, 본 발명은 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템에 있어서, 상기 시스템은, 상기 서버의 객체들에 대한 정보를 수집하고, 수집된 객체 정보를 상기 접근통제 게이트웨이에 전송하는 객체정보 수집부를 더 포함하고, 상기 접근정책 관리부는 상기 접근통제 게이트웨이에서 설정된 접근제어 정책을 수신하되, 자신이 속하는 서버의 객체들에 대한 접근제어 정책만을 수신하여 저장하는 것을 특징으로 한다.In addition, the present invention provides a user-based object access control system through server hooking, wherein the system collects information on objects of the server and transmits the collected object information to the access control gateway. Further comprising, the access policy management unit is characterized in that receiving the access control policy set in the access control gateway, but receiving and storing only the access control policy for objects of the server to which it belongs.

또, 본 발명은 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템에 있어서, 상기 객체접근 제어부는 상기 검증 정보를 상기 접근권한 인증부로 전송하여, 해당 요청 객체에 대한 사용자의 접근권한 인증을 요청하고, 상기 접근권한 인증부는 상기 객체접근 제어부로부터 전달받은 검증 정보의 서버접속 정보를 이용하여 연결 정보를 검색하고, 검색된 연결 정보로부터 사용자 정보를 획득하는 것을 특징으로 한다.In addition, in the present invention, in a user-based object access control system through server hooking, the object access control unit transmits the verification information to the access authority authentication unit, requests authentication of the user's access right to the requested object, and the The access authority authentication unit is characterized in that it searches for connection information using server access information of verification information received from the object access control unit, and obtains user information from the searched connection information.

또, 본 발명은 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템에 있어서, 상기 접근권한 인증부는 해당 객체에 대한 접근제어 정책이 전혀 존재하지 않으면 접근권한 인증을 통과한 것으로 판단하고, 객체가 접근제어 정책의 대상에 포함되면 접근제어 정책에 접근권한이 있는 경우에만 접근권한 인증을 통과한 것으로 판단하는 것을 특징으로 한다.In addition, in the present invention, in the user-based object access control system through server hooking, the access authorization unit determines that the access authorization has passed if there is no access control policy for the object, and the object has an access control policy. If it is included in the target of, it is characterized in that it is judged that the access right authentication has passed only when the access right is granted in the access control policy.

또, 본 발명은 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템에 있어서, 상기 서버접속 정보는 가상콘솔 주소, 또는, 가상콘솔 주소 및 서비스 계정을 포함하는 것을 특징으로 한다.In addition, according to the present invention, in a user-based object access control system through server hooking, the server access information includes a virtual console address, or a virtual console address and a service account.

또, 본 발명은 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템에 있어서, 상기 사용자에 대한 사용자 인증은 상기 접근통제 게이트웨이에서 수행되고, 상기 서버에 접속할 때 사용되는 서비스 계정과는 다른 것을 특징으로 한다.In addition, in the user-based object access control system through server hooking, the present invention is characterized in that the user authentication for the user is performed by the access control gateway and is different from a service account used when accessing the server.

또, 본 발명은 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템에 있어서, 상기 후킹부는 LSM 후킹(LINUX Security Module Hooking) 기술을 이용하여 후킹하는 것을 특징으로 한다.In addition, the present invention is characterized in that in the user-based object access control system through server hooking, the hooking unit is hooked using LSM hooking (LINUX Security Module Hooking) technology.

또, 본 발명은 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템에 있어서, 상기 접근정책 관리부, 상기 연결정보 관리부, 상기 접근권한 인증부는 상기 서버의 사용자 계층에 구비되고, 상기 후킹부, 상기 검증정보 생성부, 상기 객체접근 제어부(37)는 상기 서버의 커널 계층에 구비되는 것을 특징으로 한다.In addition, the present invention in the user-based object access control system through server hooking, the access policy management unit, the connection information management unit, the access authority authentication unit is provided in the user layer of the server, the hooking unit, the verification information generation Second, the object access control unit 37 is provided in the kernel layer of the server.

상술한 바와 같이, 본 발명에 따른 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템에 의하면, 사용자에 따라 부여된 객체 접근 정책에 따라 객체 접근을 제어함으로써, 서로 다른 사용자가 동일한 서비스 계정의 권한을 소유하더라도 각 사용자별로 파일 및 디렉토리 별로 접근 권한을 제어할 수 있는 효과가 얻어진다.As described above, according to the user-based object access control system through server hooking according to the present invention, object access is controlled according to the object access policy granted according to the user, even if different users have the same service account authority. The effect of controlling the access rights for each file and directory for each user is obtained.

이를 통해, 운영체제(OS)에서 기본으로 검사하는 파일 및 디렉토리의 접근 권한인 DAC(Discretionary Access Control)의 실수가 있더라도 커널 영역 중 제일 마지막에서 접근 권한을 한번 더 검사할 수 있다. 따라서 매 접근에 대한 적절한 인증 절차를 수행하여 제로 트러스트 보안을 실현시킬 수 있다.Through this, even if there is a mistake in the DAC (Discretionary Access Control), which is the access rights of files and directories that are checked by the operating system (OS), the access rights can be checked once more at the very end of the kernel area. Therefore, zero trust security can be realized by performing an appropriate authentication procedure for each access.

제로 트러스트(Zero Trust) 방식이란 시스템 외/내부를 따로 나누지 않고 모든 곳이 위험하다고 전제하고, 적절한 인증 절차 없이는 절대 신뢰하지 않고, 시스템에 접근하려는 모두에 대해 권한을 부여하기 전에 재차 신원을 확인해야 한다는 개념이다. 특히, 이 방식의 보안 관점과 정책에 의하면, 시스템 전체를 한꺼번에 지켜야 할 하나의 큰 덩어리로 보지 않고, 모든 부분들을 '미세 분할(micro-segmentation)'요소로 나누고, 각 요소에 대해 '과립형 경계 시행(granular perimeter enforcement)'방식으로 보안을 적용해야 한다.The Zero Trust method assumes that all places are dangerous without dividing the system outside/inside separately, and without proper authentication procedures, never trust, and before granting authority to everyone who wants to access the system, the identity must be verified again. It is a concept. In particular, according to the security perspective and policy of this method, the entire system is not viewed as one large mass to be observed at once, but all parts are divided into'micro-segmentation' elements, and'granular boundary' for each element. Security should be applied in a'granular perimeter enforcement' way.

도 1은 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 2는 본 발명의 일실시예에 따른 서버의 구성에 대한 블록도.
도 3은 본 발명의 일실시예에 따른 체크 모듈의 구성에 대한 블록도.
도 4는 본 발명의 일실시예에 따른 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템의 구성에 대한 블록도.
도 5는 본 발명의 일실시예에 따른 접근통제 게이트웨이에서, 권한 통제를 할 파일 및 디렉토리를 선택하는 예시 화면.
도 6은 본 발명의 일실시예에 따른 접근통제 게이트웨이에서, 파일 및 디렉토리를 대상으로 사용자별 접근 제어 정책을 설정하는 예시 화면.
도 7은 본 발명의 일실시예에 따른 연결정보를 나타낸 예시도.
도 8은 본 발명의 일실시예에 따른 가상콘솔 정보 및 서비스 계정을 알아내는 과정을 나타낸 예시 화면.
1 is a block diagram of an entire system for implementing the present invention.
Figure 2 is a block diagram of the configuration of a server according to an embodiment of the present invention.
3 is a block diagram of a configuration of a check module according to an embodiment of the present invention.
4 is a block diagram showing the configuration of a user-based object access control system through server hooking according to an embodiment of the present invention.
5 is an exemplary screen for selecting files and directories for authority control in an access control gateway according to an embodiment of the present invention.
6 is an exemplary screen for setting an access control policy for each user for files and directories in an access control gateway according to an embodiment of the present invention.
7 is an exemplary view showing connection information according to an embodiment of the present invention.
8 is an exemplary screen showing a process of finding virtual console information and service accounts according to an embodiment of the present invention.

이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.Hereinafter, specific details for the implementation of the present invention will be described with reference to the drawings.

또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In addition, in describing the present invention, the same parts are denoted by the same reference numerals, and repeated explanations thereof are omitted.

먼저, 본 발명을 실시하기 위한 전체 시스템의 구성에 대하여 도 1을 참조하여 설명한다.First, a configuration of an entire system for implementing the present invention will be described with reference to FIG. 1.

도 1에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 사용자 단말(10), 서버(40), 서버(40)에 설치된 접근제어 모듈(30), 및, 서버(40)의 접근을 통제하는 접근통제 게이트웨이(20)로 구성된다. 또한, 사용자 단말(10)과 접근통제 게이트웨이(20)는 네트워크(미도시)를 통해 연결된다.As shown in Figure 1, the entire system for implementing the present invention controls the access of the user terminal 10, the server 40, the access control module 30 installed in the server 40, and the server 40 It consists of an access control gateway (20). In addition, the user terminal 10 and the access control gateway 20 are connected through a network (not shown).

먼저, 사용자 단말(10)은 사용자가 사용하는 컴퓨팅 단말로서, PC, 노트북, 태플릿PC, 스마트폰, 패블릿 등이다. 또한, 사용자 단말(10)은 네트워크(미도시)를 통해 서버(40) 또는 접근통제 게이트웨이(20)에 연결할 수 있는 네트워크 기능을 보유한다. 또한, 사용자 단말(10)은 접근통제 클라이언트(11) 또는 통신 어플리케이션(12) 등 프로그램 시스템이 설치되어 실행될 수 있다.First, the user terminal 10 is a computing terminal used by the user, such as a PC, a notebook computer, a tablet PC, a smart phone, and a phablet. In addition, the user terminal 10 has a network function capable of connecting to the server 40 or the access control gateway 20 through a network (not shown). In addition, the user terminal 10 may be installed and executed a program system such as an access control client 11 or a communication application 12.

또한, 사용자 단말(10)에는 통신 어플리케이션(12)이 설치되어, 통신 어플리케이션(12)을 통해 서버(40)에 접속하여 통신 작업이 수행될 수 있다. 통신 어플리케이션(12)은 사용자가 서버(40)에 원격 접근하기 위한 다양한 터미널 툴로서, 통신 프로토콜을 통해 서버(40)에 접속하고 통신을 수행한다. 바람직하게는, 통신 어플리케이션(12)은 서버(40)에 접속하기 위한 텔넷(TELNET) 또는 SSH(secure shell) 등 원격접속 프로토콜에 의한 통신 프로그램, 쉘 스크립트, 통신 어플리케이션 등 통신용 프로그램 시스템이다.In addition, a communication application 12 is installed in the user terminal 10, and a communication operation may be performed by accessing the server 40 through the communication application 12. The communication application 12 is a variety of terminal tools for a user to remotely access the server 40, and connects to the server 40 through a communication protocol and performs communication. Preferably, the communication application 12 is a communication program system, such as a communication program, a shell script, a communication application, etc. using a remote access protocol such as Telnet or SSH (secure shell) for accessing the server 40.

한편, 통신 어플리케이션(12)은 서버(40)에 접속하여 통신을 수행하나, 실제로 접근통제 게이트웨이(20)을 통해 우회적으로 서버(40)에 접속한다. 즉, 통신 어플리케이션(12)은 자신의 입장에서 서버(40)와 직접적으로 통신하는 것으로 작동한다. 예를 들어, 통신 어플리케이션(12)은 서버 정보와 프로토콜 정보(IP주소 및 포트)로 세션을 설정하고 서버(40)에 접근하나, 통신 어플리케이션(12)의 통신 패킷 등이 변조되어 접근통제 게이트웨이(20)로 우회된다.On the other hand, the communication application 12 connects to the server 40 to perform communication, but actually connects to the server 40 indirectly through the access control gateway 20. That is, the communication application 12 operates by directly communicating with the server 40 from its own standpoint. For example, the communication application 12 establishes a session with server information and protocol information (IP address and port) and accesses the server 40, but the communication packet of the communication application 12 is modulated and the access control gateway ( 20).

사용자 단말(10)이 서버(40)에 접근한다는 것은 실제로, 사용자 단말(10)에 설치되는 통신 어플리케이션(12)을 통해 서버(40)에 접근하는 것이다. 그러나 이하에서 설명의 편의를 위하여, 사용자 단말(10) 또는 통신 어플리케이션(12)이 서버(40)에 접근하는 것으로 설명한다.That the user terminal 10 accesses the server 40 is actually accessing the server 40 through the communication application 12 installed in the user terminal 10. However, in the following description, for convenience of description, the user terminal 10 or the communication application 12 will be described as accessing the server 40.

또한, 사용자 단말(10)에는 접근통제 게이트웨이(20)와의 우회를 위한 전용 어플리케이션, 즉, 접근통제 클라이언트(11)가 설치되어, 통신 어플리케이션(12)이 서버(40)에 접근할 때 서버(40)와 송수신하는 패킷을 접근통제 게이트웨이(20)로 우회시키게 된다.In addition, a dedicated application for bypassing the access control gateway 20, that is, an access control client 11, is installed in the user terminal 10, and when the communication application 12 approaches the server 40, the server 40 ) And the packet transmitted/received to the access control gateway 20.

또한, 접근통제 클라이언트(11)는 접근통제 게이트웨이(20)에 대한 접근을 위한 인증(또는 사용자 인증)을 수행하거나, 사용자가 접근할 수 있는 서버(40)에 대한 정보, 즉, 서버 정보와 프로토콜 정보(IP주소, 프로토콜 포트번호) 등 접속가능 서버 정보를 전달받을 수 있다.In addition, the access control client 11 performs authentication (or user authentication) for access to the access control gateway 20, or information about the server 40 that the user can access, that is, server information and protocol. Accessible server information such as information (IP address, protocol port number) can be received.

한편, 사용자 단말(10)은 통신 어플리케이션(12)의 패킷을 최초로 접근통제 게이트웨이(20)에 우회시킬 때, 목적지의 IP 주소 및 포트번호 등 서버(40)의 접근 정보를 접근통제 게이트웨이(20)에 전달한다.On the other hand, when the user terminal 10 bypasses the packet of the communication application 12 to the access control gateway 20 for the first time, the access control gateway 20 transmits access information of the server 40 such as the destination IP address and port number. To pass on.

다음으로, 서버(40)은 적어도 1개가 설치된다. 즉, 서버(40)은 다수 개가 설치될 수 있다.Next, at least one server 40 is installed. That is, a plurality of servers 40 may be installed.

바람직하게는, 서버(40)은 유닉스 또는 리눅스 등의 유닉스 기반의 운영체제로 운영된다.Preferably, the server 40 is operated by a Unix-based operating system such as Unix or Linux.

서버(40)는 사용자 단말(10)로부터 네트워크(미도시)를 통해 접속 요청을 받고, 요청에 따라 접속을 허용하여 통신을 수행시켜준다. 이때, 바람직하게는, 서버(40)은 통신 프로토콜을 통해 사용자 단말(10)과 통신을 수행한다. 특히, 텔넷(TELNET) 또는 SSH(secure shell) 등 원격접속 프로토콜을 통해 통신을 수행한다. 일례로서, CLI(Command-Line Interface, 명령줄 인터페이스) 방식의 원격접속 프로토콜을 통해 통신을 수행할 수 있다.The server 40 receives a connection request from the user terminal 10 through a network (not shown), and allows the connection according to the request to perform communication. At this time, preferably, the server 40 communicates with the user terminal 10 through a communication protocol. In particular, communication is performed through remote access protocols such as TELNET or SSH (secure shell). As an example, communication may be performed through a remote access protocol of a command-line interface (CLI) method.

또한, 서버(40)는 사용자 단말(10) 또는 통신 어플리케이션(12)의 접속을 허용하고 서버 서비스를 제공한다. 구체적으로, 서버(40)는 통신 프로토콜을 이용하여, 사용자 단말(10)로부터 명령문 등 메시지를 수신하고, 해당 메시지의 명령 또는 요청을 수행하고 그 결과(또는 결과 메시지)를 사용자 단말(10)에 전송한다. 이때, 사용자 단말(10)과, 서버(40) 사이에는 세션이 형성되고, 세션 내에서 접속 요청 또는 메시지, 결과내용 등이 통신 프로토콜을 통해 데이터 패킷으로 송수신된다.In addition, the server 40 allows access to the user terminal 10 or the communication application 12 and provides a server service. Specifically, the server 40 receives a message such as a command from the user terminal 10 using a communication protocol, performs a command or request for the message, and sends the result (or result message) to the user terminal 10. send. At this time, a session is formed between the user terminal 10 and the server 40, and a connection request, message, result content, etc. are transmitted and received as data packets through a communication protocol within the session.

한편, 위에서 설명된 서버(40)과 사용자 단말(10)과의 통신은 직접 연결되어 처리되지 않고, 접근통제 게이트웨이(20)를 통해 연결된다. 즉, 사용자 단말(10)의 요청 메시지는 접근통제 게이트웨이(20)를 통해 서버(40)로 전달되고, 또한, 서버(40)의 응답 메시지도 접근통제 게이트웨이(20)을 통해 사용자 단말(10)에 전달된다.Meanwhile, communication between the server 40 and the user terminal 10 described above is not directly connected and processed, but is connected through the access control gateway 20. That is, the request message of the user terminal 10 is transmitted to the server 40 through the access control gateway 20, and the response message of the server 40 is also transmitted to the user terminal 10 through the access control gateway 20. Is passed on.

한편, 바람직하게는, 서버(40)은 방화벽(firewall)이 설치되고, 접근통제 게이트(30)로부터 수신되는 데이터(또는 데이터 패킷)만을 통과시키도록, 통제 정책을 설정할 수 있다. 따라서 사용자 단말(10)은 직접 서버(50)에 접근할 수 없고 반드시 접근통제 게이트웨이(20)을 통해서만 서버(40)에 접근할 수 있다. 만약 게이트웨이(20)로 패킷 경로를 변경하지 않고 패킷 그대로 서버(40)로 전송되면, 접근통제 구축 조건인 게이트웨이 이외의 서버 접근 경로는 모두 차단하는 방화벽 정책에 의하여 차단되어 접근을 할 수 없다.Meanwhile, preferably, the server 40 may have a firewall installed and set a control policy so that only data (or data packets) received from the access control gate 30 pass. Therefore, the user terminal 10 cannot directly access the server 50 and can access the server 40 only through the access control gateway 20. If the packet path is not changed to the gateway 20 and the packet is transmitted to the server 40 as it is, access to the server is blocked by a firewall policy that blocks all server access paths other than the gateway, which is an access control construction condition.

한편, 서버(40)는 사용자의 서버 접속에 대하여, 서비스 계정과 비밀번호를 이용하여 인증(또는 서비스 인증)을 수행하고, 서비스 인증이 통과된 경우에만 서버 접속을 허용하고, 서버의 서비스를 제공한다. 서비스 계정은 아이디(또는 서비스 아이디, 접속 아이디)로 식별한다. 또한, 해당 서비스 계정은 패스워드(password)에 의해 인증된다. 이하에서, 서버(40)의 서비스 계정에 대한 패스워드를 계정 비밀번호라 부르기로 한다.On the other hand, the server 40 performs authentication (or service authentication) using a service account and password for the user's server access, allows server access only when the service authentication passes, and provides the server service. . Service accounts are identified by ID (or service ID, access ID). In addition, the service account is authenticated by a password. Hereinafter, the password for the service account of the server 40 will be referred to as an account password.

한편, 서비스 계정은 서버(40)에 의해 등록되어 관리되는 계정을 말한다. 서비스 계정은 다수의 사용자에 의해 공유될 수 있다. 즉, 서로 다른 사용자가 동일한 서비스 계정을 이용하여 서버(40)에 접속할 수 있다.Meanwhile, the service account refers to an account registered and managed by the server 40. Service accounts can be shared by multiple users. That is, different users can access the server 40 using the same service account.

다음으로, 접근통제 게이트웨이(20)는 사용자 단말(10)과 서버(40) 사이의 네트워크(미도시) 상에 설치되는 게이트웨이로서, 사용자 단말(10)과 서버(40) 사이를 모니터링하여 중계한다.Next, the access control gateway 20 is a gateway installed on a network (not shown) between the user terminal 10 and the server 40, and monitors and relays between the user terminal 10 and the server 40. .

즉, 접근통제 게이트웨이(20)는 사용자 단말(10)이 접근통제 클라이언트(11)를 통해 우회되어 접속되면, 사용자 단말(10)과 서버(40) 사이에서 메시지(또는 데이터 패킷)를 중계한다. 이때, 서버(40)과의 사이에서 세션(이하 서버용 세션)을 형성하고, 사용자 단말(10)과의 사이에서 세션(이하 클라이언트용 세션)을 형성한다. 그리고 접근통제 게이트웨이(20)는 형성된 세션(클라이언트용 세션 및 서버용 세션)을 통해, 사용자 단말(10)의 메시지를 서버(40)에 중계한다. 즉, 사용자 단말(10)로부터 수신되는 메시지(또는 데이터 패킷)를 수신하여 서버(40)에 전달하고, 서버(40)로부터 결과(또는 결과 메시지, 데이터 패킷)를 수신하여 사용자 단말(10)로 전달한다. 이하에서, 메시지는 패킷 또는 IP 패킷으로 전달되므로, 메시지와 패킷을 혼용한다.That is, the access control gateway 20 relays a message (or data packet) between the user terminal 10 and the server 40 when the user terminal 10 is connected by bypassing through the access control client 11. In this case, a session (hereinafter, referred to as a server session) is formed with the server 40 and a session (hereinafter, referred to as a client session) is formed with the user terminal 10. In addition, the access control gateway 20 relays the message of the user terminal 10 to the server 40 through the formed session (client session and server session). That is, a message (or data packet) received from the user terminal 10 is received and transmitted to the server 40, and a result (or result message, data packet) is received from the server 40 to the user terminal 10. Deliver. In the following, since a message is delivered as a packet or an IP packet, a message and a packet are mixed.

이때, 접근통제 게이트웨이(20)는 수신되는 메시지를 분석하고, 해당 메시지의 중계/차단 여부를 결정하거나, 통신 내용을 모니터링하고 저장할 수 있다. 즉, 사전에 정해진 보안 정책 또는 접근통제 정책에 따라, 해당 메시지를 서버(40)에 전송하거나 차단하는 등 모니터링하고, 통신 내용을 로그에 기록하고 저장할 수 있다.At this time, the access control gateway 20 may analyze the received message, determine whether to relay/block the message, or monitor and store communication contents. That is, according to a predetermined security policy or an access control policy, a corresponding message may be transmitted to the server 40 or monitored, such as blocking, and the communication contents may be recorded and stored in a log.

또한, 접근통제 게이트웨이(20)는 각 사용자에 대하여 사용자 계정을 관리하고, 사용자 계정에 대한 인증(또는 사용자 인증)을 수행한다. 즉, 접근통제 게이트웨이(20)는 사용자 인증이 통과된 사용자에 대해서만 서버(40) 간의 중계를 수행해준다.In addition, the access control gateway 20 manages a user account for each user, and performs authentication (or user authentication) for the user account. That is, the access control gateway 20 relays between the servers 40 only for the user who has passed the user authentication.

사용자 계정에 대한 인증 또는 사용자 인증은 아이디/패스워드 방식, 생체 인증 등 다양한 인증 방식을 적용할 수 있다. 또한, 사용자 계정은 사용자 아이디에 의해 식별된다.For authentication or user authentication for a user account, various authentication methods such as ID/password method and biometric authentication can be applied. Also, the user account is identified by the user ID.

사용자 계정은 앞서 설명된 서비스 계정과 다르다. 즉, 서비스 계정은 서버(40)에서 등록되어 관리되는 계정이고, 사용자 계정은 접근통제 게이트웨이(20)에서 등록되어 관리되는 계정이다. 또한, 사용자 계정은 각 사용자에 대해 고유하게 부여되는 계정이고, 서비스 계정은 다수의 사용자에 의해 공유될 수 있다.The user account is different from the service account described above. That is, the service account is an account registered and managed by the server 40, and the user account is an account registered and managed by the access control gateway 20. Also, the user account is an account that is uniquely assigned to each user, and the service account can be shared by multiple users.

예를 들어, 사용자 A의 사용자 계정은 userA이고, 사용자 B의 사용자 계정은 userB라고 가정한다. 이때, 사용자 A는 접근통제 게이트웨이(20)에서 사용자 계정 userA로 인증 받고, 서버의 서비스 계정인 루트(root) 계정으로 서버(40)에 접속할 수 있다. 또한, 사용자 B는 접근통제 게이트웨이(20)에서 사용자 계정 userB로 인증 받고, 서버의 서비스 계정인 루트(root) 계정으로 서버(40)에 접속할 수 있다. 결과적으로, 사용자 A와 B는 모두 동일한 루트 계정(서비스 계정)에 접속할 수 있다. 즉, 사용자 A와 B는 각각 서로 다른 사용자 계정을 가지나, 동일한 서비스 계정으로 접속할 수 있다.For example, assume that user A's user account is userA, and user B's user account is userB. At this time, the user A is authenticated as a user account userA in the access control gateway 20, and may access the server 40 with a root account, which is a service account of the server. In addition, the user B is authenticated as a user account userB by the access control gateway 20, and may access the server 40 with a root account, which is a service account of the server. As a result, both users A and B can access the same root account (service account). That is, users A and B each have different user accounts, but can access the same service account.

또한, 접근통제 게이트웨이(20)는 사용자 단말(10)과 서버(40) 사이를 중계할 때 중계하는 연결 정보를 수집하여 보유한다. 연결 정보는 사용자 아이디, 장비 정보(서버 정보 또는 서버 주소), 서비스 계정, 가상콘설 정보 등으로 구성된다.In addition, the access control gateway 20 collects and holds connection information that is relayed when relaying between the user terminal 10 and the server 40. Connection information is composed of user ID, equipment information (server information or server address), service account, virtual console information, etc.

또한, 접근통제 게이트웨이(20)는 서버(40)의 파일 또는 디렉토리 등 객체에 대한 정보를 수집하고, 수집된 객체에 대한 사용자 접근 제어 정책을 설정한다. 즉, 사용자 접근 제어 정책은 각 객체 또는 객체의 군에 대하여 사용자별로 세부적으로 설정되는 접근 정책을 말한다.In addition, the access control gateway 20 collects information on objects such as files or directories of the server 40 and sets a user access control policy for the collected objects. That is, the user access control policy refers to an access policy that is set in detail for each user for each object or group of objects.

다음으로, 접근제어 모듈(30)은 서버(40)에 설치되는 모듈로서, 일부 기능은 서버(40)의 운영체제의 커널에 설치되고, 일부는 서버(40)의 사용자 레벨의 프로그램으로 설치된다.Next, the access control module 30 is a module installed in the server 40, and some functions are installed in the kernel of the operating system of the server 40, and some are installed as user-level programs of the server 40.

접근제어 모듈(30)은 객체 접근을 요청하는 시스템콜을 후킹하여, 해당 객체에 대한 사용자 접근을 제어한다. 즉, 접근제어 모듈(30)은 해당 시스템콜을 호출한 사용자를 알아내고, 해당 객체에 대한 사용자 접근 제어 정책을 참조하여, 해당 사용자가 해당 객체에 대한 접근 권한을 가지는지를 판단한다. 판단 결과에 따라, 해당 객체의 접근을 허용하거나 차단한다.The access control module 30 hooks a system call requesting access to an object, and controls user access to the object. That is, the access control module 30 finds out the user who has called the corresponding system call, and determines whether the user has access rights to the object by referring to the user access control policy for the object. Depending on the judgment result, access to the object is allowed or blocked.

또한, 접근제어 모듈(30)은 자신이 설치된 서버(40)의 객체들을 수집하여, 수집된 객체 정보를 접근통제 게이트웨이(20)에 전송한다. 이때, 접근통제 게이트웨이(20)의 요청에 의해 해당 정보를 전송하거나, 주기적으로 전송할 수 있다.In addition, the access control module 30 collects objects of the server 40 in which it is installed, and transmits the collected object information to the access control gateway 20. In this case, the information may be transmitted or periodically transmitted at the request of the access control gateway 20.

또한, 접근제어 모듈(30)은 자신이 설치된 서버(40)의 객체들 또는 객체 군에 대한 사용자별 접근제어 정책을 접근통제 게이트웨이(20)로부터 수신하여 저장해둔다.In addition, the access control module 30 receives and stores user-specific access control policies for objects or groups of objects of the server 40 installed therein from the access control gateway 20.

다음으로, 본 발명의 일실시예에 따른 서버(40) 및 서버(40)에 설치된 접근제어 모듈(30)의 구성에 대하여 도 2를 참조하여 설명한다.Next, configurations of the server 40 and the access control module 30 installed in the server 40 according to an embodiment of the present invention will be described with reference to FIG. 2.

도 2에서 보는 바와 같이, 서버(40)에는 운영체제(OS, 80)와 접근제어 모듈(30)이 설치되어 운영된다. 접근제어 모듈(30)은 운영체제(80) 내에 설치되는 후킹 모듈(30a) 및 접근보안 모듈(30b)과 운영체제(80) 상에서 설치되는 정책체크 모듈(30c)로 구성된다.As shown in FIG. 2, an operating system (OS, 80) and an access control module 30 are installed and operated in the server 40. The access control module 30 is composed of a hooking module 30a and an access security module 30b installed in the operating system 80, and a policy check module 30c installed on the operating system 80.

먼저, 운영체제(80)는 서버 시스템을 운영하는 시스템 프로그램으로서, 통상 커널계층이라고 부르기도 한다. 일반적으로 서버(또는 컴퓨터)의 소프트웨어 프로그램들은 사용자 계층에서 프로세스(60)로 실행된다.First, the operating system 80 is a system program that operates a server system, and is usually referred to as a kernel layer. In general, software programs on the server (or computer) are executed as process 60 at the user layer.

특히, 운영체제(80)는 서버 시스템의 저장매체(41)를 관리하고 사용자 프로세스(60)에 저장매체 접근에 대한 서비스를 제공한다. 이때, 운영체제(80)는 저장매체를 파일 시스템으로 논리적으로 구성하여 관리한다. 따라서 파일 또는 디렉토리 등 객체는 파일 시스템에서 관리된다.In particular, the operating system 80 manages the storage medium 41 of the server system and provides a service for accessing the storage medium to the user process 60. At this time, the operating system 80 logically organizes and manages the storage medium as a file system. Therefore, objects such as files or directories are managed in the file system.

또한, 운영체제(80)의 커널계층은 API함수 등 시스템콜을 처리하는 시스템콜 오픈 모듈(81), 시스템콜 요청의 객체에 대해 검사(체크)를 수행하는 체크 모듈(82), 파일/디렉토리를 접근하는 객체접근 드라이버(83) 등으로 구성된다.In addition, the kernel layer of the operating system 80 includes a system call open module 81 that processes system calls such as API functions, a check module 82 that checks (checks) an object of a system call request, and files/directories. It is composed of an object access driver 83 to access.

구체적으로, 사용자 프로세스(60)는 서버 시스템의 파일 시스템(83)의 자원을 이용하기 위해서 시스템콜을 호출하고, 운영체제(80)는 시스템콜 오픈 모듈(81)에 의해 시스템콜을 접수(오픈)하여, 파일 시스템 또는 저장매체에 대한 접근 요청을 처리한다. 구체적으로, 운영체제(80)가 제공하는 시스템콜(open(), read(), write() 등)에 의해, 파일이 열기(open), 생성, 변경, 쓰기 작업 등이 수행된다.Specifically, the user process 60 calls a system call to use the resources of the file system 83 of the server system, and the operating system 80 receives (opens) a system call by the system call open module 81 Thus, it processes the request for access to the file system or storage medium. Specifically, by system calls (open(), read(), write(), etc.) provided by the operating system 80, files are opened, created, changed, and written.

또한, 체크 모듈(82)은 시스템콜에서 요청되는 객체(파일/디렉토리 등)를 검사한다. 구체적으로, 객체의 아이노드(i-node) 검사, 에러 검사(체크), DAC(Discretionary Access Control) 검사 등을 수행한다.In addition, the check module 82 checks an object (file/directory, etc.) requested in the system call. Specifically, an i-node check, an error check (check), and a discretionary access control (DAC) check of an object are performed.

즉, 도 3에서 보는 바와 같이, 체크 모듈(82)은 요청된 객체(파일 또는 디렉토리 등)에 대해 아이노드(i-node)를 검사하는 아이노드 체크부(82a), 에러를 체크하는 에러 체크부(82b), 요청된 객체에 대한 DAC 검사를 수행하는 DAC 체크부(82c)로 구성된다.That is, as shown in FIG. 3, the check module 82 checks an inode check unit 82a for checking an i-node for a requested object (file or directory, etc.), and an error check for checking an error. It consists of a unit 82b and a DAC check unit 82c that performs a DAC check on the requested object.

또한, 체크 모듈(82)에 의해 파일/디렉토리의 접근이 정상이고 허용되면, 객체접근 드라이버(83)가 저장매체(41)를 제어하여, 파일/디렉토리 요청작업을 수행한다. 즉, 객체접근 드라이버(83)는 아이노드(i-node) 등 파일시스템에 대한 정보를 참조하여, 저장매체(41)에 저장된 파일/디렉토리를 접근하여 필요한 작업을 수행한다.In addition, if the access to the file/directory is normal and allowed by the check module 82, the object access driver 83 controls the storage medium 41 to perform a file/directory request operation. That is, the object access driver 83 refers to information on a file system such as an i-node, accesses a file/directory stored in the storage medium 41, and performs a necessary operation.

다음으로, 사용자 프로세스(60)는 서버의 서비스 프로그램이 운영체제 상에서 실행되는 상태를 말한다. 프로세스(60)는 컴퓨터 시스템의 자원(파일 시스템 등)을 이용하기 위하여, 시스템 동적 라이브러리(Win32.dll 등)의 API(Application programming interface) 함수 또는 시스템콜을 호출한다.Next, the user process 60 refers to a state in which the service program of the server is executed on the operating system. The process 60 calls an API (Application Programming Interface) function or a system call of a system dynamic library (Win32.dll, etc.) in order to use resources (file system, etc.) of the computer system.

일례로서, 프로세스(60)는 파일을 생성, 열기(open), 실행 작업 등을 하기 위하여, API함수 등 시스템콜을 호출한다. 한편, 이때, 프로세스(60)는 해당 파일/디렉토리 등 객체의 경로와 프로세스 정보 등을 인자로 전달한다.As an example, the process 60 calls a system call such as an API function to create, open, or execute a file. Meanwhile, at this time, the process 60 transmits the path of an object such as a corresponding file/directory and process information as parameters.

다음으로, 접근통제 모듈(30)은 커널 계층에 설치되는 후킹 모듈(30a) 및 접근보안 모듈(30b)과, 사용자 계층에 설치되는 정책체크 모듈(30c)로 구성된다.Next, the access control module 30 is composed of a hooking module 30a and an access security module 30b installed in the kernel layer, and a policy check module 30c installed in the user layer.

먼저, 후킹 모듈(30a)은 시스템콜의 처리 모듈 사이에서 후킹하는 모듈이다. 특히, 후킹 모듈(30a)는 통상의 LSM 후킹(LINUX Security Module Hooking) 기술을 이용하여 구현된다.First, the hooking module 30a is a module that hooks between system call processing modules. In particular, the hooking module 30a is implemented using a conventional LSM hooking (LINUX Security Module Hooking) technology.

또한, 후킹 모듈(30a)은 운영체제(80)의 체크 모듈(82)과 객체접근 드라이버(83) 사이에서 후킹하도록 구성된다. 이를 통해, 운영체제(80)에서 제공되는 객체 검사(체크)가 수행된 이후, 접근제어 정책에 따른 접근제어를 수행하게 한다. 이렇게 구성함으로써, 운영체제(80)에서 제공하는 파일 및 디렉토리의 접근 권한인 DAC(Discretionary Access Control) 통제를 적용시킬 수 있다.In addition, the hooking module 30a is configured to hook between the check module 82 of the operating system 80 and the object access driver 83. Through this, after the object inspection (check) provided by the operating system 80 is performed, access control according to the access control policy is performed. By configuring in this way, DAC (Discretionary Access Control) control, which is an access authority for files and directories provided by the operating system 80, can be applied.

다음으로, 접근보안 모듈(30b)은 해당 시스템콜을 호출한 사용자(또는 사용자 아이디)를 알아내어 검증 정보를 생성하고, 검증 정보를 정책체크 모듈(30c)로 전달하여 사용자 접근 제어 정책에 맞는지를 체크하도록 요청한다. 또한, 접근보안 모듈(30b)은 정책체크 모듈(30c)의 체크 결과에 따라 해당 객체의 접근을 허용하거나 차단한다.Next, the access security module 30b finds out the user (or user ID) who called the system call, generates verification information, and passes the verification information to the policy check module 30c to determine whether the user access control policy is met. Ask to check. In addition, the access security module 30b allows or blocks access to the object according to the check result of the policy check module 30c.

다음으로, 정책체크 모듈(30c)은 사용자 접근 제어 정책을 저장하여 관리하고, 접근보안 모듈(30b)의 요청에 따라, 해당 객체의 사용자 접근 제어 정책을 참조하여, 해당 사용자가 해당 객체에 대한 접근 권한을 가지는지를 판단한다. 판단 결과를 접근보안 모듈(30b)에 회신한다.Next, the policy check module 30c stores and manages the user access control policy, and according to the request of the access security module 30b, the user accesses the object by referring to the user access control policy of the object. Determine whether you have authority. The determination result is returned to the access security module 30b.

또한, 정책체크 모듈(30c)은 자신이 설치된 서버(40)의 객체들을 수집하여, 수집된 객체 정보를 접근통제 게이트웨이(20)에 전송한다. 또한, 정책체크 모듈(30c)은 자신이 설치된 서버(40)의 객체들 또는 객체 군에 대한 사용자별 접근제어 정책을 접근통제 게이트웨이(20)로부터 수신하여 저장해둔다.In addition, the policy check module 30c collects objects of the server 40 in which it is installed, and transmits the collected object information to the access control gateway 20. In addition, the policy check module 30c receives and stores user-specific access control policies for objects or groups of objects of the server 40 installed therein from the access control gateway 20.

다음으로, 본 발명의 일실시예에 따른 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템(30)의 세부 구성에 대하여 도 4를 참조하여 설명한다.Next, a detailed configuration of the user-based object access control system 30 through server hooking according to an embodiment of the present invention will be described with reference to FIG. 4.

본 발명에 따른 접근 제어 시스템(30)은 앞서 설명한 접근제어 모듈로 구현될 수 있다. 이하에서 접근 제어 시스템의 도면부호를 접근제어 모듈과 동일한 도면 부호로 사용한다.The access control system 30 according to the present invention may be implemented with the access control module described above. Hereinafter, the reference numerals of the access control system are used as the same reference numerals as the access control module.

도 4에서 보는 바와 같이, 본 발명의 일실시예에 따른 접근제어 시스템(30)은 객체 정보를 수집하는 객체정보 수집부(31), 접근제어 정책을 저장하고 관리하는 접근정책 관리부(32), 사용자 단말에서 서버로 연결되는 정보를 관리하는 연결정보 관리부(33), 주어진 객체에 대한 사용자의 접근을 인증하는 접근권한 인증부(34), 객체 접근 요청의 시스템콜의 처리를 후킹하는 후킹부(35), 검증 정보를 생성하는 검증정보 생성부(36), 및, 객체에 대한 사용자의 접근 인증을 요청하고 그 인증 결과에 따라 접근을 제어하는 객체접근 제어부(37)로 구성된다.As shown in FIG. 4, the access control system 30 according to an embodiment of the present invention includes an object information collection unit 31 that collects object information, an access policy management unit 32 that stores and manages access control policies, A connection information management unit 33 that manages information connected from the user terminal to the server, an access authority authentication unit 34 that authenticates the user's access to a given object, and a hooking unit that hooks the processing of the system call of the object access request ( 35), a verification information generation unit 36 that generates verification information, and an object access control unit 37 that requests authentication of a user's access to an object and controls access according to the authentication result.

또한, 객체정보 수집부(31), 접근정책 관리부(32), 연결정보 관리부(33), 접근권한 인증부(34)는 사용자 계층에 구비되고, 후킹부(35), 검증정보 생성부(36), 객체접근 제어부(37)는 커널 계층에 구비된다.In addition, an object information collection unit 31, an access policy management unit 32, a connection information management unit 33, and an access authority authentication unit 34 are provided in the user layer, and a hooking unit 35, a verification information generation unit 36 ), the object access control unit 37 is provided in the kernel layer.

먼저, 객체정보 수집부(31)는 자신이 설치된 서버(40)의 객체들을 수집하고, 수집된 객체 정보를 접근통제 게이트웨이(20)에 전송한다.First, the object information collection unit 31 collects objects of the server 40 on which it is installed, and transmits the collected object information to the access control gateway 20.

수집 정보는 최상위/하위에 존재하는 파일/디렉토리 등 객체(또는 객체의 절대경로), 각 객체의 아이노드(i-node) 정보를 수집한다. 여기서, 객체는 파일 또는 디렉토리를 말한다. 아이노드(i-node)는 파일 및 디렉토리의 고유한 값으로, 파일시스템에 단 하나만 존재하고 그 값으로 디렉토리나 파일을 찾을 때 사용될 수 있다.Collected information collects objects (or absolute paths of objects) such as files/directories existing at the top/bottom level, and i-node information of each object. Here, the object refers to a file or directory. An i-node is a unique value for files and directories, and only one exists in the filesystem and can be used to find a directory or file with that value.

각 객체(파일 또는 디렉토리)의 절대 경로는 제한할(제어할) 객체(파일 및 디렉토리)에 대한 정보를 수집하기 위한 용도로 사용된다. 또한, 각 파일 및 디렉토리의 아이노드는 파일 및 디렉토리 별로 고유한 값으로 구분되는 용도로 사용된다.The absolute path of each object (file or directory) is used for collecting information about objects (files and directories) to be restricted (controlled). In addition, the inode of each file and directory is used for the purpose of classifying each file and directory with a unique value.

한편, 객체정보 수집부(31)는 객체 정보를 접근통제 게이트웨이(20)에 전송할 때, 자신의 서버 정보(또는 장비 정보)를 함께 전송할 수 있다. 또한, 접근통제 게이트웨이(20)는 다수의 서버(40)로부터 객체 정보를 수집하므로, 장비 정보를 포함하여 객체 정보를 수집한다.Meanwhile, when transmitting object information to the access control gateway 20, the object information collection unit 31 may transmit its own server information (or equipment information) together. In addition, since the access control gateway 20 collects object information from a plurality of servers 40, it collects object information including equipment information.

다음으로, 접근정책 관리부(32)는 자신이 설치된 서버(40)의 객체들 또는 객체 군에 대한 사용자별 접근권한을 나타내는 접근제어 정책을 접근통제 게이트웨이(20)로부터 수신하여 저장한다.Next, the access policy management unit 32 receives from the access control gateway 20 and stores the access control policy representing the access rights for each user to the objects or object groups of the server 40 in which it is installed.

이때, 접근통제 게이트웨이(20)에서, 수집된 객체를 대상으로, 등록된 사용자 계정(또는 사용자 아이디) 별로 권한을 할당하여 접근제어 정책을 설정한다. 즉, 관리자 등이 접근통제 게이트웨이(20)에 접속하여 각 서버의 객체에 대한 사용자별 접근 권한(또는 접근제어 정책)을 설정한다.At this time, the access control gateway 20 sets an access control policy by assigning rights to the collected objects for each registered user account (or user ID). That is, an administrator or the like accesses the access control gateway 20 and sets the user-specific access rights (or access control policies) for objects of each server.

접근제어 정책은 장비, 객체, 서비스 계정, 사용자 등으로 구성된다. 추가적으로, 접근권한(또는 권한 종류)을 더 포함할 수 있다.The access control policy consists of equipment, objects, service accounts, and users. Additionally, it may further include access rights (or types of rights).

장비는 서버를 나타내며, 서버의 주소, 즉, 서버의 IP주소를 값으로 가진다. 또한, 객체는 파일 또는 디렉토리로서, 절대 경로를 값으로 가진다. 또한, 서비스 계정은 서버에 접속할 때의 접속 계정을 나타낸다. 사용자는 사용자 아이디 또는 사용자 계정으로서, 접근통제 게이트웨이에서 인증되는 사용자의 식별자이다.The device represents the server and has the server's address, that is, the server's IP address. Also, an object is a file or directory and has an absolute path as a value. Also, the service account represents a connection account when connecting to the server. A user is a user ID or user account, and is an identifier of a user authenticated at the access control gateway.

한편, 권한은 해당 객체에 대한 접근 권한을 가지는지 없는지를 나타내고, 세부적으로, 해당 객체의 읽기(read), 쓰기(write), 삭제(remove) 등 작업 형태에 따른 세부 권한을 설정할 수 있다.On the other hand, the permission indicates whether or not the object has access permission, and in detail, detailed permission according to the operation type such as read, write, and remove of the object can be set.

한편, 접근정책 관리부(32)는 접근제어 정책 중에서 장비 정보를 제외한 나머지 정보만 수신하여 저장할 수 있다. 접근정책 관리부(32)는 특정 서버 내에 설치된 모듈의 기능이므로, 장비는 항상 고정되어 특정된다. 또한, 접근정책 관리부(32)는 접근통제 게이트웨이(20)로부터 자신의 서버(장비)에 속하는 접근제어 정책만 수신하여 저장한다.Meanwhile, the access policy management unit 32 may receive and store only information other than equipment information from among the access control policies. Since the access policy management unit 32 is a function of a module installed in a specific server, equipment is always fixed and specified. In addition, the access policy management unit 32 receives and stores only the access control policy belonging to its server (equipment) from the access control gateway 20.

도 5에서 보는 바와 같이, 먼저, 파일 및 디렉토리 단위로 권한을 제어할 대상 장비(또는 서버)를 선택한다. 선택한 대상 장비에 제한할 파일 및 디렉토리(또는 객체)를 선택한다. 바람직하게는, 다중 선택이 가능하다. 도 5와 같이, 설정된 정책 내용을 접근통제 게이트웨이(20) 내에 저장한다.As shown in FIG. 5, first, a target device (or server) to control authority is selected in units of files and directories. Select files and directories (or objects) to be restricted to the selected target device. Preferably, multiple choices are possible. As shown in FIG. 5, the set policy content is stored in the access control gateway 20.

선택된 파일 또는 디렉토리(또는 객체)는 접근 권한을 가지는 경우에만 접근할 수 있다. 즉, 제한 설정을 설정한 파일에 대한 접근 권한을 소유하고 있지 않을 경우 접근할 수 없다. 한편, 선택되지 않은 객체는 접근을 제한하지 않는다. The selected file or directory (or object) can be accessed only if you have access rights. In other words, if you do not own the access rights to the file for which the restriction setting is set, you cannot access it. Meanwhile, access to unselected objects is not restricted.

다음으로, 도 6에서 보는 바와 같이, 파일 및 디렉토리 등 객체에 대하여 사용자별로 접근 권한을 설정한다. 즉, 선택된 객체에 대하여 미세 분할한 접근 권한을 어떤 사용자에게 부여할 것인지, 접근 권한을 부여하는 설정을 수행한다.Next, as shown in FIG. 6, access rights are set for each user for objects such as files and directories. That is, the setting of which user to grant finely divided access rights to the selected object and granting access rights is performed.

예를 들면, 도 6의 접근권한의 1번째 라인은 루트(root) 계정 접근 권한으로서, 도 5에서 제한하지 않은 파일 및 디렉토리에 대한 접근 권한을 부여한 것이다.For example, the first line of the access rights of FIG. 6 is the root account access rights, and the access rights to files and directories that are not restricted in FIG. 5 are granted.

또한, 도 6의 접근권한의 2번째 라인은 "root 계정 /etc 폴더"에 대한 접근 권한으로서, 도 5에서 제한한 파일 및 디렉토리 중 /etc 폴더에 해당 되는 접근 권한을 나타낸다.In addition, the second line of the access rights of FIG. 6 is the access rights to the "root account /etc folder", and indicates the access rights corresponding to the /etc folder among the files and directories restricted in FIG. 5.

또한, 도 6의 접근권한의 3번째 라인은 "root 계정 /etc/shadow 파일"에 대한 접근 권한으로서, 도 5에서 제한한 파일 및 디렉토리 중 /etc/shadow 파일에 해당 되는 접근 권한을 나타낸다.In addition, the third line of the access authority of FIG. 6 is the access authority to the "root account /etc/shadow file", and indicates the access authority corresponding to the /etc/shadow file among the files and directories restricted in FIG. 5.

다음으로, 연결정보 관리부(33)는 접근통제 게이트웨이(20)로부터 서버(40)로 연결되는 정보를 수신하여 저장한다.Next, the connection information management unit 33 receives and stores information connected to the server 40 from the access control gateway 20.

접근통제 게이트웨이(20)에서, 사용자 단말(10)이 서버(40)로 접속하여 연결되면, 이때의 연결 정보를 저장해둔다. 연결정보 관리부(33)는 접근통제 게이트웨이(20)와 연동하여, 해당 연결 정보를 수신하여 관리하고, 특히, 바람직하게는, 해당 연결 정보를 실시간으로 갱신한다.In the access control gateway 20, when the user terminal 10 connects to the server 40 and is connected, the connection information at this time is stored. The connection information management unit 33 interworks with the access control gateway 20 to receive and manage the connection information, and particularly, preferably, updates the connection information in real time.

도 7에서 보는 바와 같이, 연결 정보는 사용자, 장비, 서비스 계정, 가상콘솔 주소로 구성된다. 특히, 서비스 계정 및/또는 가상콘솔 주소는 서버에 접속할 때 발생되는 정보로서, 서버접속 정보라 부르기로 한다. 동일한 서비스 계정으로 동시에 2명 이상의 사용자가 각각 서버(40)에 접속할 수 있다. 이때, 가상콘솔 주소로 해당 서버접속을 식별할 수 있다. 따라서 서버접속 정보는 가상콘솔 주소만으로 구성될 수도 있다.As shown in FIG. 7, the connection information is composed of a user, a device, a service account, and a virtual console address. In particular, the service account and/or the virtual console address is information generated when accessing the server, and will be referred to as server access information. Two or more users can access the server 40 at the same time with the same service account. At this time, the server connection can be identified by the virtual console address. Therefore, the server access information may consist of only the virtual console address.

사용자는 사용자 아이디 또는 사용자 계정으로서, 접근통제 게이트웨이에서 인증되는 사용자의 식별자이다. 또한, 장비는 서버를 나타내며, 서버의 주소, 즉, 서버의 IP주소를 값으로 가진다. 서비스 계정은 서버에 접속할 때의 접속 계정을 나타낸다. 또한, 가상콘솔 주소는 tty번호 또는 tty주소 등 서버에서 생성하는 가상콘솔에 부여되는 고유의 식별자이다.A user is a user ID or user account, and is an identifier of a user authenticated at the access control gateway. In addition, the device represents a server and has the server's address, that is, the server's IP address. The service account represents the connection account when connecting to the server. In addition, the virtual console address is a unique identifier given to the virtual console generated by the server, such as a tty number or tty address.

한편, 연결정보 관리부(33)는 연결 정보 중에서 장비 정보를 제외한 나머지 정보만 수신하여 저장할 수 있다. 연결정보 관리부(33)는 특정 서버 내에 설치된 모듈의 기능이므로, 장비는 항상 고정되어 특정된다. 또한, 연결정보 관리부(33)는 접근통제 게이트웨이(20)로부터 자신의 서버(장비)에 속하는 연결 정보만 수신하여 저장한다.Meanwhile, the connection information management unit 33 may receive and store only information other than the equipment information among the connection information. Since the connection information management unit 33 is a function of a module installed in a specific server, equipment is always fixed and specified. In addition, the connection information management unit 33 receives and stores only connection information belonging to its server (equipment) from the access control gateway 20.

예를 들면, 접근통제 게이트웨이(20)를 통해, 사용자 또는 사용자 단말(10)이, 부여 받은 접근 권한 장비에 로그인을 시도한다. 이때, 접근통제 게이트웨이(20)는 대상 장비(또는 서버(40))에 연결시켜 줄 때 가상콘솔 정보(tty 정보) 등 연결정보를 저장하고, 해당 연결 정보를 연결정보 관리부(33)로 전달한다. 즉, 사용자의 접속한 장비의 계정과 터미널 tty 기준으로 연결정보를 저장한다.For example, through the access control gateway 20, the user or the user terminal 10 attempts to log in to the granted access authority device. At this time, the access control gateway 20 stores connection information such as virtual console information (tty information) when connecting to the target device (or server 40), and transmits the connection information to the connection information management unit 33 . In other words, it stores connection information based on the user's connected device account and terminal tty.

여기서, tty는 현재 접속한 콘솔 또는 터미널을 의미한다. 일반적으로, 콘솔 접속은 tty0, tty1 로 식별하고, SSH 터미널 접속에서는 /dev/pts/0, /dev/pts/1 … 등으로 식별된다.Here, tty means the currently connected console or terminal. In general, console access is identified as tty0, tty1, and SSH terminal access is /dev/pts/0, /dev/pts/1… Is identified as such.

다음으로, 접근권한 인증부(34)는 주어진 검증 정보에 대하여, 접근제어 정책을 참조하여 사용자의 접근 권한을 인증한다. Next, the access right authentication unit 34 authenticates the user's access right with reference to the access control policy for the given verification information.

즉, 검증 정보의 서버접속 정보(가상콘솔 주소 등)로 연결 정보를 찾고, 찾은 연결 정보에서 사용자를 검색한다. 그리고 검증 정보의 객체에 대한 해당 사용자의 접근 권한을 접근 제어 정책에서 검색하여, 해당 접근 권한이 허용되는지 여부로 인증을 수행한다. 접근권한을 가지면 인증을 통과한 것이고 그렇지 않으면 인증되지 않는 것이다.In other words, it searches for connection information with server access information (virtual console address, etc.) of the verification information, and searches for a user from the found connection information. In addition, the user's access right to the object of the verification information is retrieved from the access control policy, and authentication is performed based on whether the corresponding access right is allowed. If you have access rights, you have passed authentication, otherwise you are not authenticated.

먼저, 접근권한 인증부(34)는 객체의 경로 정보, 가상콘솔 정보, 서비스 계정 등 검증 정보를 수신한다. 특히, 객체접근 제어부(37)로부터 검증정보를 전달받는다.First, the access authority authentication unit 34 receives verification information such as path information of an object, virtual console information, and service account. In particular, verification information is received from the object access control unit 37.

접근권한 인증부(34)는 검증 정보의 서버접속 정보(가상콘솔 정보, 서비스 계정 등)에 부합하는 연결 정보를 검색한다. 또는 검증 정보의 가상콘솔 정보만으로 연결 정보를 검색할 수 있다. 즉, 가상콘솔 주소(tty주소)는 특정 서버 내에서는 고유하게 부여되기 때문에, 가상콘솔 주소만으로 연결정보를 찾을 수 있다.The access authority authentication unit 34 searches for connection information corresponding to the server access information (virtual console information, service account, etc.) of the verification information. Alternatively, connection information can be searched with only the virtual console information of the verification information. That is, since the virtual console address (tty address) is uniquely assigned within a specific server, connection information can be found only with the virtual console address.

이때, 접근권한 인증부(34)는 연결정보 관리부(33)를 통해 연결 정보를 참조한다.At this time, the access right authentication unit 34 refers to the connection information through the connection information management unit 33.

연결 정보는 사용자, (장비), 서버접속 정보로 구성된다. 서버접속 정보는 가상콘솔 주소, 또는, 서비스 계정과 가상콘솔 주소 등으로 구성된다. 따라서 접근권한 인증부(34)는 연결 정보로부터 해당 연결의 사용자 정보(또는 사용자 아이디, 사용자 계정)를 찾을 수 있다.Connection information consists of user, (equipment), and server access information. The server access information consists of a virtual console address, or a service account and a virtual console address. Accordingly, the access right authentication unit 34 may find user information (or user ID, user account) of the connection from the connection information.

또한, 접근권한 인증부(34)는 해당 사용자와, 검증 정보의 객체 정보에 부합되는 접근 제어 정책을 검색한다. 접근권한 인증부(34)는 검색된 정책이 존재하고, 해당 정책에서 접근 권한이 허용되고 있으면, 접근 인증을 통과한 것으로 판단한다.In addition, the access authority authentication unit 34 searches for an access control policy corresponding to the user and object information of the verification information. If the searched policy exists and the access right is permitted in the policy, the access right authentication unit 34 determines that the access authentication has passed.

또한, 접근권한 인증부(34)는 해당 객체에 대한 접근제어 정책이 전혀 존재하지 않은 경우에도, 접근 인증을 통과한 것으로 판단한다. 즉, 객체가 접근제어 정책의 대상에 포함되지 않으면, 해당 객체에 대한 접근은 언제나 허용된다.In addition, even when the access control policy for the object does not exist at all, the access right authentication unit 34 determines that the access authentication has passed. That is, if an object is not included in the object of the access control policy, access to the object is always allowed.

따라서, 바람직하게는, 사용자 정보(또는 연결정보)를 찾기 전에 접근제어 정책 내에 해당 객체에 대한 정책이 있는지를 먼저 검색한다. 그래서 정책이 없으면 인증을 통과시키고, 정책이 있으면 사용자 정보(또는 연결정보)를 찾는 과정을 수행한다.Therefore, preferably, before searching for user information (or connection information), it is first searched for whether there is a policy for the object in the access control policy. So, if there is no policy, authentication is passed, and if there is a policy, the process of finding user information (or connection information) is performed.

다음으로, 후킹부(35)는 객체 접근 요청의 시스템콜의 처리를 후킹한다.Next, the hooking unit 35 hooks the processing of the system call of the object access request.

바람직하게는, 후킹부(35)는 시스템콜의 처리 모듈 사이에서 후킹하는 드라이버를 설치하여, 객체 접근 요청의 시스템콜 처리를 후킹한다. 후킹 방식은 LSM 후킹(LINUX Security Module Hooking) 기술을 이용하여 구현된다. 즉, 운영체제의 LSM(Linux Security Module)에 후킹 모듈이 인식되도록, 후크(hook) 목록에 모듈 후크를 추가한다.Preferably, the hooking unit 35 installs a driver that hooks between the system call processing modules, and hooks the system call processing of the object access request. The hooking method is implemented using LSM hooking (LINUX Security Module Hooking) technology. That is, a module hook is added to the hook list so that the hooking module is recognized by the operating system's Linux Security Module (LSM).

LSM(Linux Security Module)은 LSM 후크(Hook) 리스트에 등록된 모듈 내에서 순서대로 동작된다.LSM (Linux Security Module) operates in order within the modules registered in the LSM Hook list.

특히, 후킹부(35)는 운영체제(80)에서 제공되는 객체 검사(체크)가 수행된 이후 과정에서 후킹한다.In particular, the hooking unit 35 hooks in a process after object inspection (check) provided by the operating system 80 is performed.

한편, 후킹부(35)에서 후킹하는 것은 시스템콜을 처리하기 위한 절차의 제어권을 후킹한 것이다. 또한, 시스템콜 요청은 특정 프로세스가 특정 객체를 접근하고자 요청한 것이다. 따라서 이때의 특정 프로세스와 특정 객체를 각각 요청 프로세스와 요청 객체라 부르기로 한다.On the other hand, hooking in the hooking unit 35 is hooking the control right of a procedure for processing a system call. In addition, a system call request is a request by a specific process to access a specific object. Therefore, the specific process and specific object at this time will be called the request process and the request object, respectively.

시스템콜이 발생하여 특정 객체에 접근할 때 LSM 후킹 기법을 통해 제어권을 획득함에 따라 요청 프로세스와 요청 객체에 대한 정보를 획득할 수 있다. 요청 프로세스와 요청 객체에 대한 정보를 기준으로 접근을 시도하기 때문에, 요청 프로세스와 요청 객체에 대한 정보를 획득할 수 있다.When a system call occurs and a specific object is accessed, information about the request process and the request object can be obtained by obtaining control through the LSM hooking technique. Since access is attempted based on the request process and information on the request object, information on the request process and the request object can be obtained.

다음으로, 검증정보 생성부(36)는 검증 정보를 생성한다.Next, the verification information generation unit 36 generates verification information.

검증정보는 객체의 경로 정보와 서버접속 정보로 구성된다. 서버접속 정보는 가상콘솔 주소, 또는, 서비스 계정과 가상콘솔 주소 등으로 구성된다.Verification information consists of object path information and server connection information. The server access information consists of a virtual console address, or a service account and a virtual console address.

객체의 경로 정보는 파일 또는 디렉토리 등 객체의 절대 경로를 나타낸다. 또한, 가상콘솔 정보는 가상콘솔 주소로서, tty번호 또는 tty주소 등 서버에서 생성하는 가상콘솔에 부여되는 고유의 식별자이다. 또한, 서비스 계정은 서버에 접속할 때의 접속 계정을 나타낸다.The object path information indicates the absolute path of the object such as a file or directory. In addition, the virtual console information is a virtual console address, which is a unique identifier given to a virtual console generated by the server such as a tty number or a tty address. Also, the service account represents a connection account when connecting to the server.

한편, 검증정보 생성부(36)는 후킹부(35)로 호출되며, 이때, 시스템콜을 호출하는 프로세스(또는 프로세스 아이디)(또는 요청 프로세스)와, 접근 대상인 객체(파일 또는 디렉토리)(또는 요청 객체)를 알 수 있다.On the other hand, the verification information generation unit 36 is called by the hooking unit 35, and at this time, the process (or process ID) (or request process) that calls the system call and the object (file or directory) to be accessed (or request) Object).

또한, 도 8과 같이, 검증정보 생성부(36)는 해당 프로세스의 아이디를 식별자로 하여, 서비스 계정과 가상콘솔 정보를 검색할 수 있다. 통상의 리눅스 등 운영체제 내에는 프로세스 아이디를 통해 접속 계정(서비스 계정)과 해당 계정의 가상콘솔 정보를 확인할 수 있는 명령어 등이 존재한다.In addition, as shown in FIG. 8, the verification information generation unit 36 may search service account and virtual console information by using the ID of the process as an identifier. In a typical operating system such as Linux, there are commands for checking the access account (service account) and virtual console information of the account through the process ID.

또한, 검증정보 생성부(36)은 접근 대상인 객체 정보를 전달받기 때문에, 객체의 절대 경로를 알 수 있다.In addition, since the verification information generation unit 36 receives information on the object to be accessed, the absolute path of the object can be known.

따라서 검증정보 생성부(36)은 전달받은 프로세스 정보와 객체 정보를 이용하여, 객체의 경로 정보, 가상콘솔 정보, 서비스 계정 등 검증 정보를 생성할 수 있다.Accordingly, the verification information generation unit 36 may generate verification information such as path information of an object, virtual console information, and service account by using the received process information and object information.

다음으로, 객체접근 제어부(37)는 검증 정보를 전달받아, 객체에 대한 사용자의 접근 인증을 요청하고, 그 인증 결과에 따라 접근을 제어한다.Next, the object access control unit 37 receives the verification information, requests authentication of the user's access to the object, and controls the access according to the authentication result.

즉, 객체접근 제어부(37)는 검증정보 생성부(36)로부터 검증 정보를 전달받는다. 앞서 본 바와 같이, 검증정보는 객체의 경로 정보와 서버접속 정보(가상콘솔 주소, 또는, 서비스 계정과 가상콘솔 주소 등)로 구성된다.That is, the object access control unit 37 receives the verification information from the verification information generation unit 36. As previously seen, the verification information is composed of object path information and server access information (virtual console address, or service account and virtual console address, etc.).

또한, 객체접근 제어부(37)는 검증 정보를 접근권한 인증부(34)로 전달하고, 접근 제어 정책에 따른 허용 여부의 판단(해당 객체의 접근제어 인증)을 요청한다.In addition, the object access control unit 37 transmits the verification information to the access authority authentication unit 34, and requests the determination of whether to allow or not according to the access control policy (access control authentication of the object).

또한, 객체접근 제어부(37)는 접근권한 인증부(34)로부터 인증 결과를 수신하고, 인증 결과에 따라 시스템콜의 객체 접근 요청을 허용하거나 차단한다. 즉, 인증이 통과되는 경우에만 객체 접근 요청을 허용하여, 객체 접근 요청의 다음 단계를 실행하도록 제어한다.In addition, the object access control unit 37 receives the authentication result from the access authority authentication unit 34, and allows or blocks the object access request of the system call according to the authentication result. That is, the object access request is allowed only when authentication passes, and the next step of the object access request is controlled.

다음으로, 본 발명에 따른 접근 제어 시스템이 수행되는 예를 설명한다.Next, an example in which the access control system according to the present invention is performed will be described.

첫번째의 케이스는 /etc/shadow 파일에 대한 내용 확인을 시도하는 예이다.The first case is an example of trying to check the contents of the /etc/shadow file.

먼저, /etc/shadow의 파일의 내용을 확인하는 명령어(vi /etc/shadow) 실행한다.First, execute the command (vi /etc/shadow) to check the contents of the /etc/shadow file.

다음으로, 운영체제(OS)의 기본 확인(체크) 절차를 수행한다.Next, a basic verification (check) procedure of the operating system (OS) is performed.

다음으로, LSM 후크(Hook)가 발생된다.Next, an LSM hook is generated.

다음으로, 커널 계층(Kernel Space)의 보안 모듈은 사용자 계층(User Space)의 모듈(Daemon)에게 접근 권한 검증 요청을 진행하며, 검증 정보를 함께 전달한다. 검증정보는 다음과 같다.Next, the security module of the kernel layer (Kernel Space) proceeds to request the access right verification to the module (Daemon) of the user layer (User Space), and delivers the verification information together. The verification information is as follows.

{/etc/shadow , 1114, /dev/pts/0, root}{/etc/shadow, 1114, /dev/pts/0, root}

다음으로, 정책 데이터에 루트(root) 계정 중 /etc/shadow 파일에 대한 권한이 있는지 확인하고, 접근 권한을 소유하고 있으므로 접근 가능 허용(Allow) 답변을 전송한다.Next, check if the policy data has permission to the /etc/shadow file among the root accounts, and because you own the access right, send an Allow answer.

다음으로, 첫번째의 상황은 정상적으로 수행된다.Next, the first situation is performed normally.

두번째의 케이스는 /etc/passwd 파일에 대한 내용 확인을 시도하는 예이다.The second case is an example of trying to check the contents of the /etc/passwd file.

먼저, /etc/passwd의 파일의 내용을 확인하는 명령어(vi /etc/passwd) 실행한다.First, run the command (vi /etc/passwd) to check the contents of the /etc/passwd file.

다음으로, 운영체제(OS)의 기본 확인(체크) 절차를 수행한다.Next, a basic verification (check) procedure of the operating system (OS) is performed.

다음으로, LSM 후크(Hook)가 발생된다.Next, an LSM hook is generated.

다음으로, 커널 계층(Kernel Space)의 보안 모듈은 사용자 계층(User Space)의 모듈(Daemon)에게 접근 권한 검증 요청을 진행하며, 검증 정보를 함께 전달한다. 검증정보는 다음과 같다.Next, the security module of the kernel layer (Kernel Space) proceeds to request the access right verification to the module (Daemon) of the user layer (User Space), and delivers the verification information together. The verification information is as follows.

{/etc/passwd , 1113, /dev/pts/0, root}{/etc/passwd, 1113, /dev/pts/0, root}

다음으로, 정책 데이터에 루트(root) 계정 중 /etc/passwd 파일에 대한 권한이 있는지 확인하고, 접근 권한이 없으므로 접근 불가능 차단(Deny) 답변을 전송한다.Next, check if the policy data has permission to the /etc/passwd file among the root accounts, and send a Deny answer because there is no access right.

다음으로, 정책 데이터에 root 계정 중 /etc/passwd 파일에 대한 권한이 있는지 확인해보니 [첨부 파일-4] 접근 권한이 없으므로 접근 불가능 Deny 답변 전송Next, check if the policy data has permission to the /etc/passwd file among the root accounts.

다음으로, LSM 후크(Hook)에서 명령어 수행을 승인하지 않아 명령어가 수행되지 않는다.Next, the command is not executed because the command execution is not approved by the LSM hook.

다음으로, 두번째의 케이스의 상황은 권한 부족으로 수행할 수 없다.Next, the situation in the second case cannot be performed due to lack of authority.

2개의 케이스를 통해 동일한 계정에 대한 접근 권한을 소유하고 있지만 커널 계층(Kernel Space)에서 파일 및 디렉토리 별로 접근 권한 제어를 한번 더 확인함으로써 세분화된 접근 제어를 실현할 수 있다.In two cases, the user owns access rights to the same account, but it is possible to realize granular access control by checking the access rights control for each file and directory in the kernel space.

다음으로, 본 발명의 효과에 대하여 보다 구체적으로 설명한다.Next, the effect of the present invention will be described in more detail.

본 발명은 단일 계정에 대해 파일 및 디렉토리 별로 접근 권한을 분할 관리하는 기술로 하위와 같은 이점을 얻을 수 있다.The present invention is a technology that divides and manages access rights for a single account for each file and directory, and can obtain the same advantages as below.

관리자의 인적 실수로 인한 DAC 권한의 누락이 있더라도 파일 및 디렉토리 접근 권한의 유무를 재 확인함으로써 보안 문제를 사전에 차단할 뿐 아니라, 작업한 내용에 대하여 접근 제어 솔루션 측에서 이력을 적재할 수 있다. 따라서 보안 문제 발생 시 사후 처리에 빠른 대응까지 겸비할 수 있다.Even if there is an omission of DAC authority due to a human error of the administrator, it not only prevents security problems in advance by re-checking the existence of file and directory access rights, but also allows the access control solution to load the history of work contents. Therefore, when a security problem occurs, it can be combined with quick response to post-processing.

반대로 명확한 권한 분리를 하지 못하는 환경에서 필요이상의 권한을 부여할 수 밖에 없는 경우에도, 권한 미 제어로 인해 노출(개인 정보 또는 패스워드 등)되는 상황을 사전 방지할 수 있게 되는 효과를 얻을 수 있다.On the contrary, even in an environment where clear authority separation is not possible, more than necessary authority can be granted, the effect of being able to prevent exposure (personal information or password, etc.) due to non-authority control can be obtained.

기본으로 제한할 파일 및 디렉토리 접근 권한이 정의되어 있기 때문에 보안 담당자가 부재하더라도 동일한 보안 레벨을 유지할 수 있으며, 보안 담당자의 변경이 일어나더라도 이전 담당자의 DAC 관리 방식을 참조 또는 유지하지 않고 자신의 보안 방식으로 손쉽게 변경할 수 있다. 종래기술에 의하면, DAC 변경을 하게 되면 권한 누락이 발생될 수 있으므로 변경 시 관련된 사용자와 사용자 그룹에 대해 철저히 확인 후 변경했어야 했다.Since the file and directory access rights to be restricted are defined by default, the same level of security can be maintained even in the absence of a security officer, and even if the security officer changes, their own security method without referring or maintaining the DAC management method of the previous person in charge It can be changed easily. According to the prior art, if the DAC is changed, a permission omission may occur. Therefore, when changing, the related user and user group should be thoroughly checked and then changed.

새로운 장비가 추가된 경우에는 현재까지의 프로세스만 파악하여 현재 프로세스를 그대로 적용하면 되며, 이후 변경사항이 생길 경우 해당 내용에 대해서만 설정하면 되므로 담당자의 업무 강도를 현저히 낮추어 업무효율성 및 편의성을 제공할 수 있다.When new equipment is added, it is only necessary to grasp the process up to now and apply the current process as it is.If changes are made afterwards, only the relevant content needs to be set, thus significantly lowering the work intensity of the person in charge and providing work efficiency and convenience have.

또한 외부 작업자에게 해당 서버에 대한 접근 권한을 부여하더라도 중요 파일 및 디렉토리에 대한 제어를 한번 더 진행하기 때문에 유출 및 변조되지 않도록 제어할 수 있다.In addition, even if an external worker is given access to the server, the control of important files and directories is performed once more, so that it is not leaked or altered.

결론적으로, 본 발명은 접근통제 게이트웨이를 통해 최소한의 인증(Authentication)을 거쳐 인가(Authorized)된 사용자에게 서버 내 존재하는 파일 및 디렉토리 단위의 접근 제어 기술을 활용하여, 미세 분할된 접근 통제 방식으로 제로 트러스트 방식을 현실화 시킬 수 있다.In conclusion, the present invention uses a file and directory-based access control technology existing in the server to an authorized user through minimal authentication through an access control gateway, and uses a finely divided access control method to zero. The trust method can be realized.

이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.In the above, the invention made by the present inventor has been described in detail according to the above embodiment, but the invention is not limited to the above embodiment, and it goes without saying that various modifications can be made without departing from the gist of the invention.

10 : 사용자 단말 11 : 접근통제 클라이언트
12 : 통신어플리케이션 20 : 접근통제 게이트웨이
30 : 접근제어 시스템 30a : 후킹 모듈
30b : 접근보안 모듈 30c : 정책체크 모듈
31 : 객체정보 수집부 32 : 접근정책 관리부
33 : 접근권한 인증부 34 : 후킹부
35 : 검증정보 생성부 36 : 객체접근 제어부
40 : 서버 41 : 저장매체
80 : 운영체제 81 : 시스템콜 오픈 모듈
82 : 체크 모듈 82a : 아이노드 체크부
82b : 에러 체크부 82c : DAC 체크부
83 : 객체접근 드라이브
10: user terminal 11: access control client
12: communication application 20: access control gateway
30: access control system 30a: hooking module
30b: access security module 30c: policy check module
31: object information collection unit 32: access policy management unit
33: access authority authentication unit 34: hooking unit
35: verification information generation unit 36: object access control unit
40: server 41: storage medium
80: operating system 81: system call open module
82: check module 82a: inode check unit
82b: error check unit 82c: DAC check unit
83: object access drive

Claims (8)

서버에 설치되는 시스템으로서, 상기 서버는 접근통제 게이트웨이의 중계를 통해 사용자 단말과 통신하는, 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템에 있어서,
상기 서버의 객체에 대한 사용자별 접근권한 정보를 접근제어 정책으로 저장하고 관리하는 접근정책 관리부;
상기 사용자 단말에서 상기 서버로 연결할 때 발생하는 정보로서, 사용자 정보, 및 서버접속 정보를 포함하는 연결 정보를 관리하는, 연결정보 관리부;
특정 객체에 대한 사용자의 접근 권한을 인증하는 접근권한 인증부;
객체 접근 요청의 시스템콜을 후킹하고, 상기 시스템콜의 요청 프로세스와 요청 객체의 정보를 획득하는 후킹부;
후킹된 시스템콜의 요청 프로세스 정보로부터 서버접속 정보를 획득하여, 상기 서버접속 정보와 요청 객체의 정보를 포함하는 검증 정보를 생성하는 검증정보 생성부; 및,
해당 요청 객체에 대한 사용자의 접근권한 인증을 상기 접근권한 인증부로 요청하고, 인증 결과에 따라 접근을 제어하는 객체접근 제어부를 포함하는 것을 특징으로 하는 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템.
A system installed in a server, wherein the server communicates with a user terminal through a relay of an access control gateway, in a user-based object access control system through server hooking,
An access policy management unit for storing and managing user-specific access right information for the object of the server as an access control policy;
A connection information management unit for managing connection information including user information and server access information as information generated when connecting from the user terminal to the server;
An access right authentication unit for authenticating a user's access right to a specific object;
A hooking unit for hooking a system call of an object access request and obtaining information on a request process of the system call and a request object;
A verification information generation unit that obtains server access information from the hooked system call request process information, and generates verification information including the server access information and the request object information; And,
A user-based object access control system through server hooking, comprising: an object access control unit that requests authentication of a user's access rights to a corresponding request object to the access authority authentication unit and controls access according to an authentication result.
제1항에 있어서,
상기 시스템은, 상기 서버의 객체들에 대한 정보를 수집하고, 수집된 객체 정보를 상기 접근통제 게이트웨이에 전송하는 객체정보 수집부를 더 포함하고,
상기 접근정책 관리부는 상기 접근통제 게이트웨이에서 설정된 접근제어 정책을 수신하되, 자신이 속하는 서버의 객체들에 대한 접근제어 정책만을 수신하여 저장하는 것을 특징으로 하는 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템.
The method of claim 1,
The system further includes an object information collection unit for collecting information on objects of the server and transmitting the collected object information to the access control gateway,
The access policy management unit receives the access control policy set in the access control gateway, but receives and stores only access control policies for objects of a server to which it belongs.
제1항에 있어서,
상기 객체접근 제어부는 상기 검증 정보를 상기 접근권한 인증부로 전송하여, 해당 요청 객체에 대한 사용자의 접근권한 인증을 요청하고,
상기 접근권한 인증부는 상기 객체접근 제어부로부터 전달받은 검증 정보의 서버접속 정보를 이용하여 연결 정보를 검색하고, 검색된 연결 정보로부터 사용자 정보를 획득하는 것을 특징으로 하는 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템.
The method of claim 1,
The object access control unit transmits the verification information to the access authority authentication unit to request the user's access authority authentication for the requested object,
The access authority authentication unit searches for connection information using server access information of the verification information received from the object access control unit, and obtains user information from the searched connection information, a user-based object access control system through server hooking. .
제1항에 있어서,
상기 접근권한 인증부는 해당 객체에 대한 접근제어 정책이 전혀 존재하지 않으면 접근권한 인증을 통과한 것으로 판단하고, 객체가 접근제어 정책의 대상에 포함되면 접근제어 정책에 접근권한이 있는 경우에만 접근권한 인증을 통과한 것으로 판단하는 것을 특징으로 하는 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템.
The method of claim 1,
If the access control policy for the object does not exist at all, the access authority authentication unit determines that the access authority authentication has passed, and if the object is included in the object of the access control policy, the access authority is authenticated only when the access control policy has access authority. User-based object access control system through server hooking, characterized in that it is determined that it has passed.
제1항에 있어서,
상기 서버접속 정보는 가상콘솔 주소, 또는, 가상콘솔 주소 및 서비스 계정을 포함하는 것을 특징으로 하는 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템.
The method of claim 1,
The server access information is a user-based object access control system through a server hooking, characterized in that it includes a virtual console address, or a virtual console address and a service account.
제1항에 있어서,
상기 사용자에 대한 사용자 인증은 상기 접근통제 게이트웨이에서 수행되고, 상기 서버에 접속할 때 사용되는 서비스 계정과는 다른 것을 특징으로 하는 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템.
The method of claim 1,
User authentication for the user is performed by the access control gateway, and is different from a service account used when accessing the server.
제1항에 있어서,
상기 후킹부는 LSM 후킹(LINUX Security Module Hooking) 기술을 이용하여 후킹하는 것을 특징으로 하는 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템.
The method of claim 1,
The user-based object access control system through server hooking, characterized in that the hooking unit hooks using LSM hooking (LINUX Security Module Hooking) technology.
제1항에 있어서,
상기 접근정책 관리부, 상기 연결정보 관리부, 상기 접근권한 인증부는 상기 서버의 사용자 계층에 구비되고, 상기 후킹부, 상기 검증정보 생성부, 상기 객체접근 제어부(37)는 상기 서버의 커널 계층에 구비되는 것을 특징으로 하는 서버 후킹을 통한 사용자 기반 객체 접근 제어 시스템.
The method of claim 1,
The access policy management unit, the connection information management unit, and the access authority authentication unit are provided in the user layer of the server, and the hooking unit, the verification information generation unit, and the object access control unit 37 are provided in the kernel layer of the server. User-based object access control system through server hooking, characterized in that.
KR1020200157996A 2020-11-23 2020-11-23 A user-based object access control system using server's hooking KR102214162B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200157996A KR102214162B1 (en) 2020-11-23 2020-11-23 A user-based object access control system using server's hooking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200157996A KR102214162B1 (en) 2020-11-23 2020-11-23 A user-based object access control system using server's hooking

Publications (1)

Publication Number Publication Date
KR102214162B1 true KR102214162B1 (en) 2021-02-09

Family

ID=74559066

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200157996A KR102214162B1 (en) 2020-11-23 2020-11-23 A user-based object access control system using server's hooking

Country Status (1)

Country Link
KR (1) KR102214162B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100959276B1 (en) * 2009-10-26 2010-05-26 에스지에이 주식회사 A system for preventing installation of malicious codes using a control list at the kernel level and the computer-readable recording medium having recording the program thereof
KR20110105947A (en) * 2010-03-22 2011-09-28 주식회사 시큐브 Shared folder access control system and method using internet protocol
KR101565590B1 (en) 2015-01-07 2015-11-04 (주) 바이러스체이서 A system for expanding the security kernel with system for privilege flow prevention based on white list

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100959276B1 (en) * 2009-10-26 2010-05-26 에스지에이 주식회사 A system for preventing installation of malicious codes using a control list at the kernel level and the computer-readable recording medium having recording the program thereof
KR20110105947A (en) * 2010-03-22 2011-09-28 주식회사 시큐브 Shared folder access control system and method using internet protocol
KR101565590B1 (en) 2015-01-07 2015-11-04 (주) 바이러스체이서 A system for expanding the security kernel with system for privilege flow prevention based on white list

Similar Documents

Publication Publication Date Title
US9686262B2 (en) Authentication based on previous authentications
JP4625181B2 (en) Security location identification method and system
US9558343B2 (en) Methods and systems for controlling access to resources and privileges per process
RU2523113C1 (en) System and method for target installation of configured software
US8893300B2 (en) Security systems and methods to reduce data leaks in enterprise networks
US7428754B2 (en) System for secure computing using defense-in-depth architecture
KR101229205B1 (en) Ip for switch based acl's
US6883098B1 (en) Method and computer system for controlling access by applications to this and other computer systems
US20050182958A1 (en) Secure, real-time application execution control system and methods
US20050182966A1 (en) Secure interprocess communications binding system and methods
US20090282457A1 (en) Common representation for different protection architectures (crpa)
US8272043B2 (en) Firewall control system
JP4558402B2 (en) Principal moves across security boundaries without service interruption
KR102214162B1 (en) A user-based object access control system using server's hooking
US7653934B1 (en) Role-based access control
Basu et al. Strengthening Authentication within OpenStack Cloud Computing System through Federation with ADDS System
Sujarwo et al. Enterprise firewall virtualization design
KR20240110793A (en) System and method for providing dual endpoint access control for remote cloud-storage resources
WO2023028094A1 (en) System and method for providing dual endpoint access control of remote cloud-stored resources
Rahalkar et al. Operating System Basics
WO2023170504A1 (en) Secure remote connection enabling system
CN118056380A (en) Limiting lateral traversal within a computer network
Faden et al. Case Study: Solaris Trusted Extensions

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant