KR101956725B1 - 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템 - Google Patents

인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템 Download PDF

Info

Publication number
KR101956725B1
KR101956725B1 KR1020180156309A KR20180156309A KR101956725B1 KR 101956725 B1 KR101956725 B1 KR 101956725B1 KR 1020180156309 A KR1020180156309 A KR 1020180156309A KR 20180156309 A KR20180156309 A KR 20180156309A KR 101956725 B1 KR101956725 B1 KR 101956725B1
Authority
KR
South Korea
Prior art keywords
file
dll
execution
authorized
access control
Prior art date
Application number
KR1020180156309A
Other languages
English (en)
Inventor
권진현
안호성
Original Assignee
주식회사 아신아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아신아이 filed Critical 주식회사 아신아이
Priority to KR1020180156309A priority Critical patent/KR101956725B1/ko
Application granted granted Critical
Publication of KR101956725B1 publication Critical patent/KR101956725B1/ko

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/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control 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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

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

Abstract

서버 시스템의 운영체제 상에서 실행되고, 상기 운영체제의 사용자 계층에서 실행되는 프로세스의 파일 접근 요청에 대하여 접근 통제를 수행하는, 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 관한 것으로서, 프로세스의 인가여부 속성을 저장하는 프로세스 정보 목록; 파일에 대한 접근통제 정책을 저장하는 접근통제정책 목록; 상기 프로세스가 실행파일에 대하여 실행을 요청하는 경우, 해당 실행파일이 인가된 파일인지 여부에 따라 해당 실행파일의 실행을 허용하거나 차단하는 실행파일 통제부; 실행파일이 인가된 파일인지 여부를 판단하는 실행인가 판단부; 상기 프로세스가 동적 라이브러리 파일(이하 DLL 파일)에 대한 열기 또는 닫기를 요청하는 경우, 해당 DLL 파일이 인가된 파일인지 여부에 따라 상기 프로세스의 인가여부 속성을 설정하는 DLL 파일 통제부; DLL 파일이 인가된 파일인지 여부를 판단하는 DLL인가 판단부; 및, 상기 프로세스가 실행파일 또는 DLL 파일이 아닌 일반 파일에 대한 접근을 요청하는 경우, 사전에 정해진 접근통제 정책에 따라 해당 일반 파일의 접근을 통제하되, 요청하는 프로세스의 인가여부 속성이 비인가이면 접근통제 정책에 의해 파일 접근이 허용되더라도 파일 접근을 차단하는 파일접근 통제부를 포함하는 구성을 마련한다.
상기와 같은 접근 통제 시스템에 의하여, 프로세스가 알려지지 않은 악성행위를 하는 동적 라이브러리 파일을 사용할 때, 프로세스 속성이 비인가 프로세스로 설정되기 때문에 보호되고 있는 파일에 대한 접근을 차단할 수 있다.

Description

인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템 { A system for server access control using permitted execution files and dynamic library files }
본 발명은 프로세스의 실행 영역의 코드가 있는 실행 파일과 동적 라이브러리 파일의 인가 파일 여부를 모두 판단하되, 인가된 프로세스의 여부를 동적 라이브러리 파일을 사용할 때 인가 파일 여부를 확인하고, 비인가 파일을 사용한 경우 비인가 프로세스로 설정하고, 이를 통해, 서버 시스템에서 접근 통제 정책에 의하여 보호되고 있는 파일에 대한 접근을 통제하는, 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 관한 것이다.
또한, 본 발명은 실행 및 변조되는 파일에 대한 인가 파일 여부를 판단하고, 인가 파일인 경우 변조를 통제하고 비인가 파일인 경우 실행을 통제하고, 그 다음, 실행된 프로세스가 새로운 동적 라이브러리 파일을 사용하고자 할 때, 해당 경로의 파일이 인가된 파일인지 여부를 판단하고, 비인가 동적라이브러리 파일을 사용한 경우 비인가 프로세스로 속성을 설정하는, 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 관한 것이다. 특히, 기존 접근 통제 방식에서 비인가 동적 라이브러리 파일 사용 여부를 판단하여 프로세스 속성을 설정하고, 이 프로세스 속성을 기반으로 보호되고 있는 파일의 접근을 통제한다.
또한, 본 발명은 알려지지 않은 악성코드의 행위 차단에 있어서, 파일이 실행될 때만 비인가 파일을 차단하기 때문에, 이미 실행된 프로세스가 동적 라이브러리 파일을 변조하여 오동작(악성행위)하는 것을 통제할 수 없는 기존 방식을 개선하는, 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 관한 것이다.
또한, 본 발명은 인가된 파일로 판단되어 실행된 프로세스라 하더라도 실행 영역의 데이터가 존재하는 동적 라이브러리 파일을 사용할 때, 동적 라이브러리 파일의 인가 파일 여부도 판단하고, 비인가 동적 라이브러리 파일을 사용하게 되면 비인가 프로세스로 프로세스 속성을 변경하고, 파일 접근 통제 정책에 의하여 보호되고 있는 문서, 설정 파일, 레지스트리 설정 값 등 중요 시스템 자원에 대하여 프로세스 경로가 파일 접근 통제 정책에 따라 접근이 허용되어도 프로세스 속성이 비인가 프로세스인 경우 접근을 차단하고, 프로세스 속성이 인가된 프로세스로 설정된 프로세스에 대해서만 중요 서버 시스템 자원에 대하여 접근을 허용하는, 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 관한 것이다.
일반적으로, 악성코드를 검출하기 위해 파일의 패턴 정보와 비정상적인 파일을 검색하기 위한 탐지 정보의 일치 여부를 판단한다. 즉, 종래 악성코드 검출 기술은 주로 블랙리스트(blacklist)를 활용한 바이러스 탐지 방식을 이용하고 있다.
그런데 알려지지 않은 악성코드가 전례 없이 증가함에 따라, 컴퓨터 단말 보호를 위해 알려져 있는 악성코드를 탐지하는 솔루션, 즉, 블랙리스트를 이용하는 솔루션에 더 이상 전적으로 의존할 수 없게 되었다. 또한, 알려지지 않은 악성코드의 위협을 식별하여도, 이 악성코드를 분석한 후 해당 악성코드의 시그너처를 생성하여 감염되어 있는 컴퓨터 단말에 적용하기까지는 어느 정도의 시간(예를 들어, 24시간에서 72시간 정도의 시간)이 필요하다. 따라서 새로운 악성코드가 반영되어 갱신되는 기간 동안 컴퓨터 단말의 데이터와 시스템은 위협에 노출된다.
따라서 이와 같은 환경에 처해있는 컴퓨터 단말 시스템들을 위한 대안으로써, 화이트 리스트 기반의 솔루션이 개발되어 연구되고 있다[특허문헌 1,2,3]. 즉, 상기 선행기술들은 인가된 파일에 대해서만 실행을 허용해주는 방식을 채용하고 있다. 또한, 화이트리스트 기반의 보안 솔루션과 블랙리스트 기반의 보안 솔루션을 함께 사용하면 가장 높은 보안성을 확보할 수 있게 된다.
그러나 이러한 화이트리스트 기반의 보안 기술은 실행 당시의 파일에 대해서만 인가 파일 여부를 판단하기 때문에, 인가된 프로세스가 악성행위를 하는 동적 라이브러리 파일을 사용하는 경우에는 방어할 수 없다. 즉, 종래의 화이트리스트 기반 보안 기술은 변조된 동적 라이브러리에 의한 악성 행위로부터 데이터 및 시스템을 보호할 수 없다.
다시 말하면, 상기 종래 기술은 파일의 실행 요청시 인가 파일 여부를 판단하여 실행을 허용 또는 차단한다. 따라서 인가 파일이 실행되어 프로세스로서 실행되면, 해당 프로세스가 변조된 동적 라이브러리 파일를 사용하더라도, 접근통제 시스템은 이 동적 라이브러리 파일에 의하여 수행되는 행위에 대하여 추가적인 통제를 진행하지 않는다. 즉, 알려지지 않은 악성코드가 동적 라이브러리 파일을 변조하여 인가된 프로세스를 통해 사용한 이후에는, 데이터 및 시스템 자원에 접근하여 유출 및 변조하는 행위에 대하여 거의 대응할 수 없다는 문제점이 있다.
한국등록특허 제10-1247943호(2013.04.02.공고) 한국등록특허 제10-1838973호(2018.03.19.공고) 한국등록특허 제10-1780891호(2017.09.21.공고)
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 파일 실행 및 변조 시 이 행위를 보류한 후, 해당 경로의 파일이 인가된 파일인지 판단하여, 인가된 파일인 경우 실행 허용 및 변조 차단을 하고, 비인가 파일인 경우 실행 차단 및 변조 허용을 하고, 프로세스가 실행된 후 동적 라이브라리 파일을 사용하거나 사용 종료한 경우, 동적 라이브러리 파일의 경로에 대한 인가 파일 여부를 판단하여, 비인가 동적 라이브러리 사용 횟수를 갱신하고 이를 기반으로 인가 프로세스 속성을 갱신하는, 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템을 제공하는 것이다.
또한, 본 발명의 목적은 프로세스가 파일 접근 통제 정책이 적용되어 보호되고 있는 경로의 파일을 접근할 때, 프로세스 경로 및 속성에 저장되어 있는 인가 프로세스 여부를 기반으로 접근 통제 정책을 적용하여, 프로세스 속성이 인가된 프로세스로 설정된 경우에만 보호되고 있는 파일에 대한 접근을 허용하고, 비인가된 동적 라이브러리 파일을 사용하여 프로세스 속성이 비인가 프로세스로 설정된 경우, 프로세스 경로가 동일하여도 접근 통제 정책에 의하여 보호되고 있는 파일에 대한 접근을 차단하는, 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템을 제공하는 것이다.
즉, 현재 프로세스가 사용하고 있는 동적 라이브러리 파일의 인가 여부를 판단하여, 프로세스 속성에 인가 프로세스 여부를 설정하고, 이 프로세스 속성을 기반으로 동일한 경로의 프로세스가 접근하여도, 인가 프로세스 여부에 따라 보호되고 있는 파일에 접근 허용 여부를 통제한다.
상기 목적을 달성하기 위해 본 발명은 서버 시스템의 운영체제 상에서 실행되고, 상기 운영체제의 사용자 계층에서 실행되는 프로세스의 파일 접근 요청에 대하여 접근 통제를 수행하는, 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 관한 것으로서, 프로세스의 인가여부 속성을 저장하는 프로세스 정보 목록; 파일에 대한 접근통제 정책을 저장하는 접근통제정책 목록; 상기 프로세스가 실행파일에 대하여 실행을 요청하는 경우, 해당 실행파일이 인가된 파일인지 여부에 따라 해당 실행파일의 실행을 허용하거나 차단하는 실행파일 통제부; 실행파일이 인가된 파일인지 여부를 판단하는 실행인가 판단부; 상기 프로세스가 동적 라이브러리 파일(이하 DLL 파일)에 대한 열기 또는 닫기를 요청하는 경우, 해당 DLL 파일이 인가된 파일인지 여부에 따라 상기 프로세스의 인가여부 속성을 설정하는 DLL 파일 통제부; DLL 파일이 인가된 파일인지 여부를 판단하는 DLL인가 판단부; 및, 상기 프로세스가 실행파일 또는 DLL 파일이 아닌 일반 파일에 대한 접근을 요청하는 경우, 사전에 정해진 접근통제 정책에 따라 해당 일반 파일의 접근을 통제하되, 요청하는 프로세스의 인가여부 속성이 비인가이면 접근통제 정책에 의해 파일 접근이 허용되더라도 파일 접근을 차단하는 파일접근 통제부를 포함하는 것을 특징으로 한다.
또, 본 발명은 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 있어서, 상기 실행파일 통제부, 상기 DLL파일 통제부, 및, 상기 파일접근 통제부는 상기 운영체제의 커널 계층에 구성되고, 상기 파일인가 판단부 및, DLL인가 판단부는 상기 운영체제의 사용자 계층에 구성되는 것을 특징으로 한다.
또, 본 발명은 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 있어서, 상기 DLL파일 통제부는 상기 DLL 파일의 접근 요청이 열기이고 상기 DLL 파일이 비인가인 경우, 상기 프로세스의 인가여부 속성을 비인가로 설정하고, 상기 프로세스의 비인가 파일의 참조 개수를 하나 증가시키고, 상기 DLL 파일의 접근 요청이 닫기이고 상기 DLL 파일이 비인가인 경우, 상기 프로세스의 비인가 파일의 참조 개수를 하나 감소시키고, 상기 프로세스의 비인가 파일의 참조 개수가 0이면 상기 프로세스의 인가여부 속성을 인가로 설정하는 것을 특징으로 한다.
또, 본 발명은 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 있어서, 상기 실행인가 판단부는 상기 실행파일의 실행 영역의 데이터에서 해시값을 생성하고, 생성된 해시값이 사전에 설정된 실행인가 파일리스트에 존재하면 인가된 파일로 판단하고, 존재하지 않으면 비인가 파일로 판단하고, 상기 DLL인가 판단부는 상기 DLL파일의 실행 영역의 데이터에서 해시값을 생성하고, 생성된 해시값이 사전에 설정된 DLL인가 파일리스트에 존재하면 인가된 파일로 판단하고, 존재하지 않으면 비인가 파일로 판단하는 것을 특징으로 한다.
또, 본 발명은 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 있어서, 상기 실행인가 판단부는 상기 실행파일의 인가 여부에 따라 실행파일의 실행 또는 변조에 대하여 통제하되, 상기 실행파일이 인가 파일인 경우, 수행되는 행위가 실행파일의 실행이면 실행을 허용하고, 파일 변조이면 변조를 차단하고, 상기 실행파일이 비인가 파일인 경우, 수행되는 행위가 파일 실행이면 실행을 차단하고, 파일 변조이면 변조를 허용하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 의하면, 프로세스가 알려지지 않은 악성행위를 하는 동적 라이브러리 파일을 사용할 때, 프로세스 속성이 비인가 프로세스로 설정되기 때문에 보호되고 있는 파일에 대한 접근을 차단할 수 있는 효과가 얻어진다.
즉, 알려지지 않은 악성 행위를 하는 동적 라이브러리 파일이 강제로 프로세스에 삽입이 되거나 사용되면, 이 동적 라이브러리 파일에 대한 인가 파일 여부를 판단하고, 비인가 파일로 판단된 경우 비인가 파일 사용 횟수를 증가시키고 프로세스 속성을 비인가 프로세스로 설정한다. 따라서 해당 프로세스가 접근 통제 정책에 의하여 보호되고 있는 파일을 접근 시도할 때, 프로세스 속성이 비인가 프로세스이면 프로세스 경로가 동일하여도 접근 행위를 차단함으로써, 동적 라이브러리가 삽입되거나 변조된 동적 라이브러리 파일을 사용하여도 프로세스 속성이 비인가 프로세스로 설정되기 때문에 파일 접근 통제 정책에 의하여 보호되고 있는 파일의 유출 및 변조 행위를 차단할 수 있다. 이를 통해, 변조된 동적 라이브러리 파일을 사용하여 프로세스가 오동작 행위를 하여도 서버 시스템을 안전하게 보호할 수 있다.
또한, 본 발명에 따른 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 의하면, 동적 라이브러리 파일의 해시값을 기반으로 동적 라이브러리 파일의 변조를 차단함으로써, 경로 기반으로 파일의 변조를 차단하는 기존의 기술에 비하여, 인가된 동적 라이브러리 파일에 대한 변조를 근본적으로 차단할 수 있는 효과가 얻어진다.
도 1은 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 2는 본 발명의 일실시예에 따른 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템의 구성에 대한 블록도.
도 3은 본 발명의 일실시예에 따른 실행파일 통제부의 구성에 대한 블록도.
도 4는 본 발명의 일실시예에 따른 파일인가 판단부의 구성에 대한 블록도.
도 5는 본 발명의 일실시예에 따른 DLL 파일 통제부의 구성에 대한 블록도.
도 6은 본 발명의 일실시예에 따른 DLL 인가 판단부의 구성에 대한 블록도.
도 7은 본 발명의 일실시예에 따른 파일접근 통제부의 구성에 대한 블록도.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명을 구현하기 위한 전체 시스템의 구성의 예에 대하여 도 1을 참조하여 설명한다.
도 1에서 보는 바와 같이, 본 발명은 통상의 서버 시스템 내에서 구현된다. 즉, 본 발명의 실시를 위한 전체 시스템은 서버 시스템 상에서의 하드웨어(60), 운영체제(OS, 20), 상기 운영체제 상에서 수행되는 프로세스(10), 접근통제 모듈(30), 파일검사 모듈(40), 및, 인가파일 목록을 저장하기 위한 데이터베이스(50)로 구성된다.
먼저, 하드웨어(60)는 하드디스크, USB와 같은 저장장치 자원을 말한다. 프로세스(10)가 파일을 생성하거나 변조하는 경우, 커널 계층을 통하여 생성된 파일 또는 변조된 내용이 하드웨어(60)에 저장된다. 즉, 하드웨어(60)의 저장장치에 파일이 생성되어 저장되거나, 프로세스(10)에 의해 변조된 내용이 파일에 반영되어 저장된다.
또한, 운영체제(20)는 서버 시스템에서 구동되는 통상의 운영체제(operating system)이다. 운영체제(20)는 사용자 계층과 커널 계층으로 구분하여 작업을 처리하며, 통상의 실행파일을 사용자 계층에서 프로세스로 실행시켜준다. 운영체제(20)의 커널계층은 사용자 계층에서 실행되는 프로세스의 시스템콜을 처리하는 시스템 처리모듈, 하드웨어 장치(60)를 제어하기 위한 드라이버 등으로 구성된다. 호출된 시스템콜은 커널계층의 시스템 처리모듈에서 처리되어, 필요한 경우 드라이버에 의해 시스템 자원 또는 하드웨어 장치(60)에 접근한다.
다음으로, 프로세스(10)는 실행 파일이 서버의 운영체제 상에서 실행되어 운영되고 있는 상태를 말하는 것으로서, 프로그램이라 부르기도 한다.
프로세스(10)는 하드웨어 장치(60)에 저장된 파일을 사용하기 위하여 시스템콜을 호출하고, 커널 계층의 시스템콜 함수는 프로세스(10)의 요청에 따라 하드웨어 장치(60)에 저장된 파일을 읽기, 실행, 닫기, 변조 등의 파일 작업을 수행한다. 필요한 경우 그 결과를 프로세스(10)로 회신한다.
한편, 프로세스(10)는 실행파일을 실행시켜 새로운 프로세스를 생성할 수 있다. 즉, 프로세스(10)는 파일실행 시스템콜이나 프로세스 생성 시스템콜(fork, execve 등)에 의해 생성된다. 즉, 하나의 프로세스가 파일실행 시스템콜에 의하여 파일을 실행시키면, 해당 파일의 실행에 의한 또 다른 프로세스가 생성될 수 있다. 이때, 생성하는 프로세스를 모 프로세스라 하고, 새로 생성되는 프로세스를 자 프로세스라 부르기로 한다.
또한, 프로세스(10)는 실행 중에 동적 라이브러리 파일(또는 DLL 파일)을 열어 가져와서(읽기), 해당 동적 라이브러리 파일 내의 프로그래밍 코드(또는 실행코드)를 실행시킬 수 있다. 즉, 프로레스(10)는 읽어온 DLL 파일의 실행코드를 실행시킬 수 있다. 이를 위해, 프로세스(10)는 동적 라이브러리 파일에 접근하여 읽거나(읽기, 열기), 닫는다. 또는 악의적인 프로세스 등은 동적 라이브러리 파일의 내용을 변조하기 위하여, 동적 라이브러리 파일에 접근하여 읽거나, 저장하거나, 닫는 작업을 수행할 수 있다.
또한, 프로세스(10)는 파일에 접근하여 파일 작업을 수행할 수 있다. 파일에 대한 접근은 열기(또는 읽기, read, open), 닫기(close) 등 파일 작업을 말한다. 특히, 변조 작업은 쓰기(write), 삭제(delete), 파일명 변경(rename) 등 파일 작업을 말한다. 한편, 넓은 의미에서 파일의 접근은 좁은 의미의 파일 접근 작업과, 변조 작업을 포함하는 개념으로 설명한다.
다음으로, 접근통제 모듈(30)은 프로세스(10)가 시스템콜을 통해 실행 파일을 실행시키거나 DLL 파일에 접근할 때, 해당 실행파일 또는 DLL 파일에 대하여 인가 여부를 판단하도록 하여, 판단 결과에 따라 해당 요청에 대하여 통제한다. 또한, 접근통제 모듈(30)은 실행파일이나 DLL 파일이 아닌 일반 파일에 대하여 접근 요청을 할 때, 파일 접근통제 정책에 따라 해당 일반 파일의 접근을 통제한다.
즉, 프로세스(10)가 실행파일에 대한 실행을 요청하는 경우, 접근통제 모듈(30)은 인가파일검사 모듈(40)에 요청하여 해당 실행파일의 인가 파일 여부를 확인하고, 인가 파일인 경우에 한하여 해당 실행파일이 실행되도록 통제한다.
또한, 프로세스(10)가 동적 라이브러리 파일(DLL 파일)을 사용하기 위하여 해당 DLL 파일에 대한 열기 또는 닫기를 요청하는 경우, 접근통제 모듈(30)은 인가파일검사 모듈(40)에 요청하여 해당 DLL 파일의 인가 파일 여부를 확인하고, 인가 파일 여부의 결과를 해당 프로세스(10)의 인가여부 속성에 반영한다.
특히, 접근통제 모듈(30)은 DLL 파일의 비인가 파일로 판단되면, DLL 파일의 열기를 요청한 프로세스(또는 요청 프로세스)의 인가여부 속성을 비인가로 설정한다. 그리고 해당 DLL 파일을 열기하는 것은 허용하도록 통제한다.
또한, 프로세스(10)가 실행파일 또는 DLL 파일이 아닌 일반 파일의 접근을 요청하는 경우, 접근통제 모듈(30)은 해당 파일에 대한 접근통제 정책에 따라, 프로세스의 인가여부 속성, 프로세스 경로, 행위별 허용 여부 등을 판별하여, 파일의 접근을 허용 또는 차단한다.
특히, 접근통제 모듈(30)은 프로세스의 인가여부 속성이 비인가로 설정되어 있는 경우, 파일의 접근을 차단한다.
이때, 접근통제 모듈(30)은 요청되는 파일의 경로를 조회하고, 해당 파일의 확장자를 확인하여, 실행파일 또는 DLL 파일을 구분하고, 그외의 파일을 일반 파일로 구분한다.
다음으로, 데이터베이스(50)는 인가된 실행파일의 검증 데이터를 리스트로 저장하는 실행인가 파일리스트(51), 인가된 DLL 파일의 검증 데이터를 리스트로 저장하는 DLL인가 파일리스트(52) 등으로 구성된다.
실행인가 파일리스트(51)는 인가된 실행파일을 검증할 수 있는 검증 데이터를 리스트로 저장한다. 바람직하게는, 실행파일의 검증 데이터는 해당 실행파일의 실행영역 데이터를 기반으로 생성된 해시값이다. 즉, 실행인가 파일리스트(51)는 인가된 실행파일의 해시값들을 리스트로 보유한다.
따라서 요청된 실행파일(또는 요청파일)로부터 해시값(또는 요청파일의 해시값)을 추출하고, 추출된 해시값이 실행인가 파일리스트(51) 내에 존재하면, 해당 요청파일은 인가된 실행파일로 검증(인증)된다. 즉, 요청파일의 해시값이 실행인가 파일리스트(51) 내의 어느 하나의 해시값과 동일하면, 해당 요청파일은 인가된 실행파일이다.
한편, 실행인가 파일리스트(51)는 사전에 구비된다. 즉, 블랙리스트 파일로 판단된 파일을 제외하고 서버 시스템에 존재하는 실행 파일을 검색하여, 실행인가 파일리스트(51)를 생성한다.
또한, DLL인가 파일리스트(52)는 인가된 DLL 파일을 검증할 수 있는 검증 데이터를 리스트로 저장한다. 바람직하게는, DLL 파일의 검증 데이터는 해당 DLL 파일의 실행영역 데이터를 기반으로 생성된 해시값이다. 즉, DLL인가 파일리스트(52)는 인가된 DLL 파일의 해시값들을 리스트로 보유한다.
따라서 요청된 DLL 파일(또는 요청 DLL 파일)로부터 해시값(또는 요청 DLL 파일의 해시값)을 추출하고, 추출된 해시값이 DLL인가 파일리스트(52) 내에 존재하면, 해당 요청 DLL 파일은 인가된 DLL 파일로 검증(인증)된다. 즉, 요청 DLL 파일의 해시값이 DLL인가 파일리스트(52) 내의 어느 하나의 해시값과 동일하면, 해당 요청 DLL 파일은 인가된 DLL 파일이다.
또한, DLL인가 파일리스트(52)도 사전에 구비된다. 즉, 블랙리스트 파일로 판단된 DLL 파일(동적 라이브러리 파일)을 제외하고 서버 시스템에 존재하는 DLL 파일을 검색하여, DLL인가 파일리스트(52)를 생성한다.
다음으로, 파일검사 모듈(40)은 실행파일 통제부(31) 또는 DLL파일 통제부(32)로부터 실행파일 또는 DLL 파일에 대한 검증을 요청받으면, 요청된 실행파일 또는 DLL 파일이 인가된 실행파일 또는 DLL 파일인지를 검증하고, 그 검증 결과를 회신한다.
즉, 파일검사 모듈(40)은 실행파일 통제부(31)로부터 실행파일이 인가된 파일 여부를 검증할 것을 요청받는다. 이때, 실행파일의 경로 정보를 함께 수신한다.
그리고 파일검사 모듈(40)은 실행파일의 경로를 참조하여, 해당 실행파일을 열고(open, read), 실행영역의 데이터의 해시값을 생성한다. 그리고 생성된 해시값이 실행인가 파일리스트(51)에 존재하는지를 검사한다.
즉, 생성된 해시값과, 실행인가 파일리스트(51)를 통하여 조회된 인가 파일 목록의 해시값을 비교하여, 동일한 해시값이 존재하는지 확인한다. 동일한 해시값이 있는 경우는 인가 파일로 판단하고, 동일한 해시값이 없는 경우는 비인가 파일로 판단한다.
또한, 이러한 검사를 통해, 해당 프로세스(10)가 실행하려 하는 실행파일이 최초에 등록된 파일의 실행 영역의 데이터에 비해 변조되었는지 판단할 수 있다.
또한, 파일검사 모듈(40)은 요청된 실행파일 또는 DLL 파일이 인가된 파일인지 또는 비인가된 파일인지의 결과를 실행파일 통제부(31) 또는 DLL파일 통제부(32)에 회신한다.
다음으로, 본 발명의 일실시예에 따른 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템의 구성을 도 2를 참조하여 보다 구체적으로 설명한다.
도 2에서 보는 바와 같이, 본 발명에 따른 역할 기반 접근 통제 시스템은 커널계층에 구성된 접근통제 모듈(30), 및, 사용자 계층에 구성된 파일검사 모듈(40)로 구성된다.
접근통제 모듈(30)은 실행파일의 실행 여부를 통제하는 실행파일 통제부(31), 프로세스 생성을 관리하는 프로세스생성 관리부(32), DLL 파일의 인가 여부에 따라 통제하는 DLL파일 통제부(33), 및, 일반 파일에 대하여 통제하는 파일접근 통제부(34)로 구성된다. 또한, 현재 실행되는 프로세스에 대한 속성 등 프로세스 정보를 저장하는 프로세스 정보 목록(36), 및, 파일에 대한 접근통제 정책을 저장하는 접근통제 정책 목록(37)을 더 포함하여 구성된다.
또한, 파일검사 모듈(40)은 실행파일에 대한 인가된 파일 여부를 판단하는 실행인가 판단부(41), 및, DLL 파일에 대한 인가된 파일 여부를 판단하는 DLL 인가 판단부(42)로 구성된다.
먼저, 실행파일 통제부(31)는 프로세스(10)가 실행파일에 대하여 실행을 요청하는 경우 또는 실행파일의 변조 행위를 하는 경우, 해당 실행파일(또는 요청된 실행파일)의 실행 또는 변조를 보류하고, 해당 실행파일이 인가 파일인지 여부를 판단하여 그 결과에 따라 해당 실행파일의 실행 또는 변조를 허용하거나 차단한다.
즉, 파일실행 통제부(31)는 해당 실행파일의 실행 또는 변조를 보류하고, 해당 실행파일의 인가 파일 여부의 판단을 실행인가 판단부(41)에 요청한다. 특히, 파일 경로를 조회하고 프로세스 정보를 조회한 후 실행/변조 행위를 보류시킨다. 그리고 조회된 프로세스의 정보와 파일 경로를 실행인가 판단부(41)에 전달한다.
그리고 파일실행 통제부(31)는 실행인가 판단부(41)로부터 인가 파일 여부에 대한 응답을 수신하면, 인가 파일 여부의 결과에 따라 보류된 행위(또는 보류된 해당 파일의 실행 또는 변조)에 대한 실행/변조 여부를 결정한다.
구체적인 수행 방법이 도 3에 도시되고 있다.
도 3a에서 보는 바와 같이, 먼저, 프로세스(10)가 파일 작업(실행 또는 변조 행위)을 요청하면, 파일실행 통제부(31)는 요청한 프로세스의 정보를 조회하고, 해당 파일의 경로를 조회한다. 즉, 프로세스 ID를 기반으로 프로세스 정보 목록에서 프로세스 정보를 조회하고, 파일 경로를 조회한다.
다음으로, 실행 파일 또는 라이브러리 파일 확장자인 경우 수행되고 있는 행위를 보류하고 조회된 파일 경로와 프로세스 정보를 실행인가 판단부(41)에 전달한다. 확장자가 실행 파일 및 라이브러리 파일 확장자가 아닌 경우 파일접근 통제부(34)에 전달한다.
다음으로, 도 3b에서 보는 바와 같이, 실행파일 통제부(31)는 인가파일 판단부(41)에 의해 전달된 인가 파일 여부에 따라 수행되는 행위에 대한 통제를 진행한다.
즉, 실행파일 통제부(31)는 수행이 보류된 행위를 인가 여부에 따라 다음과 같이 다시 수행한다. 인가 파일인 경우, 수행되는 행위가 파일 실행이면 실행을 허용하고, 파일 변조이면 변조를 차단한다. 비인가 파일인 경우, 수행되는 행위가 파일 실행이면 실행을 차단하고, 파일 변조이면 변조를 허용한다.
다음으로, 실행인가 판단부(41)는 실행인가 파일리스트(51)를 참조하여, 요청된 실행파일이 인가된 파일인지 여부를 판단한다.
앞서 설명한 바와 같이, 서버 시스템에서 존재하는 실행 가능한 모든 인가 파일에 대하여 해시값들이 실행인가 파일리스트(51)에 저장되어 있다. 그리고 실행인가 파일리스트(51)를 통하여, 저장된 해시값들을 조회하여 메모리상에 해시 테이블 형태로 로딩된다.
도 4에서 보는 바와 같이, 실행인가 판단부(41)는 실행파일 통제부(31)의 요청에 의하여 수행된다. 즉, 실행파일 통제부(31)에 의해 프로세스 정보와 파일의 경로를 전달 받으면, 실행인가 판단부(41)는 전달된 경로의 파일을 열어, 비교할 해시값을 생성하기 위한 데이터 영역을 조회한다.
먼저, 파일의 헤더 정보를 확인하여 실행 가능한 파일인지 확인하고, 실행 영역 데이터의 시작 번지를 확인한다. 시작 번지로 이동하여 실행 데이터의 크기만큼까지 데이터를 복사하고, 이 영역의 데이터로부터 해시값을 추출한다. 즉, 파일의 실행에 직접적으로 관련이 있는 데이터만으로 가지고 해시값을 생성한다. 즉, 동일한 실행을 하는 파일이면 동일한 해시값이 생성되도록 실행 영역의 데이터로 해시값을 생성한다.
요청된 실행파일에서 생성된 해시값이 메모리상에 존재하는 해시 테이블에 동일하게 존재하는지 검색을 진행한다. 동일한 해시값이 없는 경우 비인가 파일로 판정을 하고, 동일한 해시값이 있는 경우 인가파일로 판정한다.
판정된 결과는 실행파일 통제부(31)로 전달한다.
다음으로, 프로세스생성 관리부(32)는 프로세스가 생성될 때, 프로세스ID, 프로세스의 경로, 역할 등을 프로세스정보 목록(36)에 추가하여 저장하고, 해당 프로세스에 대한 접근통제 정책이 있으면 해당 접근통제 정책을 접근통제정책 목록(37)에 추가하여 저장한다.
즉, 프로세스생성 관리부(33)는 프로세스 생성 시 (프로세스 생성의 시스템콜 등에 의해) 호출된다. 바람직하게는, 실행파일 통제부(31)에서 실행파일의 실행이 허용되면, 실행파일을 실행하는 프로세스가 생성될 수 있다.
또한, 프로세스생성 관리부(33)는 호출될 때, 프로세스 ID와 프로세스 경로(프로세스 실행파일의 경로)를 인자(argument)로 전달받고 해당 프로세스의 프로세스 ID, 프로세스 경로, 프로세스 속성 등을 프로세스정보 목록(36)에 반영한다.
한편, 프로세스정보 목록(36)은 각 프로세스별로, 프로세스 ID, 프로세스 경로 등 프로세스 정보와, 프로세스의 인가여부, 비인가 DLL 참조 개수 등 프로세스 속성을 저장한다.
프로세스의 인가여부 속성은 인가 또는 비인가 값을 가지고, 인가는 인가된 프로세스를 나타내며, 비인가는 비인가된 프로세스임을 나타낸다.
또한, 비인가 DLL 참조 개수는 비인가된 DLL 파일을 몇개 참조하는지를 나타낸다. 즉, 해당 프로세스가 비인가된 DLL 파일을 참조하여 열기하면, 해당 참조 개수를 하나 증가시킨다. 그리고 해당 프로세스가 비인가된 DLL 파일을 닫으면, 해당 참조 개수를 하나 감소시킨다. 따라서 비인가 DLL 참조 개수가 0이면, 해당 프로세스가 비인가된 DLL 파일을 전혀 참조하지 않는다는 것을 의미한다.
또한, 프로세스생성 관리부(33)는 해당 프로세스에 대한 파일 접근의 통제 정책이 있으면, 해당 프로세스별 접근통제정책을 접근통제정책 목록(37)에 추가하여 반영한다.
다음으로, DLL파일 통제부(33)는 프로세스(10)가 DLL 파일에 대하여 접근(열기 또는 닫기)을 요청하는 경우, 해당 DLL 파일(또는 요청된 DLL 파일)의 접근을 보류하고, 해당 DLL 파일이 인가 파일인지 여부를 판단하여, 그 결과에 따라 해당 프로세스의 DLL관련 속성을 설정한다.
먼저, DLL파일 통제부(33)는 동적 라이브러리 파일(또는 DLL 파일)을 사용하기 위하여 파일 열기 및 닫기 행위에 대하여, 인가 파일 여부를 판단하기 위하여 DLL 인가 판단부(42)에 인가 파일 여부 판단을 요청한다. 이를 위해, DLL파일 통제부(33)는 수행되고 있는 프로세스의 정보 및 파일 경로를 조회하고, 이 정보를 DLL 인가 판단부(42)에 전달하여 인가 파일 여부에 대한 판단을 요청한다.
도 5a에서 보는 바와 같이, 프로세스(10)가 동적 라이브러리 파일(또는 DLL 파일)의 사용을 위하여 파일 열기 또는 닫기 행위를 수행하면, DLL파일 통제부(33)는 프로세스 ID를 기반으로 프로세스 정보 목록에서 프로세스 정보를 조회하고, 파일 경로를 조회한다.
즉, 요청하는 파일이 라이브러리 파일 확장자인 경우, DLL파일 통제부(33)는 프로세스 정보와 라이브러리 파일 경로를 로깅하고, 이 정보를 DLL 인가 판단부(42)에 전달한다. 확장자가 라이브러리 파일 확장자가 아닌 경우, 파일접근 통제부(34)에 전달한다.
또한, 도 5b에서 보는 바와 같이, DLL파일 통제부(33)는 DLL 인가 판단부(42)로부터 DLL 파일의 인가 여부를 회신받는다. 그리고 DLL파일 통제부(33)는 DLL 인가 판단부(42)에 의해 전달된 파일 인가 여부에 따라, 프로세스 속성을 설정한다.
즉, 인가 파일인 경우 프로세스 속성을 유지한다.
또한, 비인가 파일인 경우, 파일 열기이면 비인가 파일 참조 개수를 하나 증가시키고 비인가 프로세스로 설정한다. 또한, 파일 닫기이면 비인가 파일 참조 개수를 하나 감소시킨다. 그리고 비인가 파일 참조 개수가 0이면 인가 프로세스(비인가 여부 속성)로 설정하고 0이 아닌 경우 비인가 프로세스로 설정을 유지한다.
또한, DLL파일 통제부(33)는 수행이 보류된 행위를 인가 여부에 따라 다음과 같이 다시 수행한다. 인가 파일인 경우, 수행하는 행위가 DLL 파일의 파일 변조이면 변조를 차단한다. 비인가 파일인 경우, 수행되는 행위가 파일 변조이면 변조를 허용한다.
다음으로, DLL 인가 판단부(42)는 DLL인가 파일리스트(52)를 참조하여, 요청된 DLL 파일이 인가된 파일인지 여부를 판단한다.
앞서 설명한 바와 같이, 서버 시스템에서 존재하는 모든 동적 라이브러리 파일(또는 DLL 파일)에 대하여 해시값들이 라이브러리(DLL) 인가 파일리스트(52)에 저장되어 있다. 그리고 라이브러리 인가 파일리스트(52)를 통하여, 저장된 해시값들을 조회하여 메모리 상에 해시 테이블 형태로 로딩된다.
도 6에서 보는 바와 같이, 라이브러리(DLL) 인가 판단부(42)는 DLL파일 통제부(33)의 요청에 의하여 수행된다. 즉, DLL파일 통제부(33)에 의해 프로세스 정보와 파일의 경로를 전달 받으면, 라이브러리 인가 판단부(42)는 전달된 경로의 파일을 열어, 비교할 해시값을 생성하기 위한 파일 데이터 영역을 조회한다.
먼저, 파일의 헤더 정보를 확인하여 동적 라이브러리 파일인지 확인하고, 실행 영역 데이터 시작 번지를 확인한다. 그리고 시작 번지로 이동하여 실행 데이터의 크기만큼까지 데이터를 복사하고, 이 영역의 데이터로 해시값을 추출한다. 즉, 파일의 실행에 직접적으로 관련이 있는 데이터만으로 가지고 해시값을 생성한다. 즉, 동일한 실행을 하는 파일이면 동일한 해시값이 생성되도록 실행 영역의 데이터로 해시값을 생성한다.
요청된 DLL 파일에서 생성된 해시값이 메모리상에 존재하는 해시 테이블에 동일하게 존재하는지 검색을 진행한다. 동일한 해시값이 있는 경우 인가 파일로 판정을 하고, 동일한 해시값이 없는 경우 비인가 파일로 판정한다.
판정된 결과는 DLL파일 통제부(33)에 전달한다.
다음으로, 파일접근 통제부(34)는 접근통제 정책 또는 프로세스의 속성에 따라 파일(또는 일반 파일)에 대한 접근을 통제한다. 특히, 파일접근 통제부(34)는 접근통제 정책에 따라 해당 파일의 접근이 허용되더라도, 프로세스의 인가여부 속성이 비인가로 설정되어 있으면 해당 파일의 접근을 차단한다.
여기서 일반 파일의 접근은 읽기, 닫기 등 접근 작업 외에도 쓰기, 이름변경, 삭제 등 변조 작업도 포함할 수 있다.
도 7에서 보는 바와 같이, 파일접근 통제부(34)는 프로세스 경로와 더불어 프로세스의 속성(또는 인가여부 속성)을 조회하여, 인가 프로세스이면 보호되고 있는 파일의 접근을 허용하고, 비인가 프로세스이면 보호되고 있는 파일의 접근을 차단한다. 즉, 접근 통제 정책 대상이 되는 파일에 대해서만 프로세스의 경로가 동일하더라도(접근통제정책이 해당 프로세스의 접근을 허용하더라도) 비인가 프로세스이므로 차단한다.
즉, 파일접근 통제부(34)는 프로세스가 접근하고자 하는 파일의 경로에 정책이 존재하고, 프로세스의 정보를 조회하여 프로세스 경로 및 프로세스 속성을 기반으로 하여 프로세스의 경로가 일치하더라도 인가 프로세스인 경우에만 접근을 허용한다. 프로세스 경로가 일치하더라도 비인가 프로세스인 경우에는 접근 행위를 차단한다. 프로세스 경로는 프로세스의 실행파일의 경로이다.
한편, 접근통제 정책 목록(37)에는 파일에 대한 접근통제 정책을 리스트로 사전에 설정하여 저장해둔다. 프로세스가 접근하고자 하는 파일이 접근통제 정책 목록(37)에 존재하면 해당 파일에 대한 접근 통제를 수행한다.
바람직하게는, 접근통제 정책 목록(37)은 파일 경로(파일 식별정보)와 해당 파일에 대한 접근통제 내용으로 구성된다. 또한, 파일의 접근통제 내용은 사용자(사용자ID), 사용자 그룹(그룹ID), 프로세스 경로 등에 의해 차단 또는 허용하는 통제로 구성될 수 있다. 또한, 파일의 접근통제 정책은 파일의 경로, 파일명, 확장자 등을 기반으로 설정될 수 있다.
또한, 파일의 경로 전체 또는 일치하는 파일명, 또는 파일의 확장자가 일치하는지 판단하고, 일치하는 정책이 있는 경우 파일의 행위에 대하여 정책이 허용할 것인지 판단한다. 일례로서, 실행은 통제, 쓰기는 허용, 삭제는 허용 등이 정책으로 설정되어 있으면, 파일에 대한 접근 요청의 접근 행위를 기반으로 허용 차단 여부를 판단한다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 프로세스 20 : 운영체제
30 : 접근통제 모듈 31 : 실행파일 통제부
32 : 프로세스생성 관리부 33 : DLL 파일 통제부
34 : 파일접근 통제부
36 : 프로세스정보 목록 37 : 접근통제정책 목록
40 : 파일검사 모듈 41 : 실행인가 판단부
42 : DLL인가 판단부
50 : 데이터베이스 51 : 실행인가 파일리스트
52 : DLL인가 파일리스트
60 : 하드웨어

Claims (5)

  1. 서버 시스템의 운영체제 상에서 실행되고, 상기 운영체제의 사용자 계층에서 실행되는 프로세스의 파일 접근 요청에 대하여 접근 통제를 수행하는, 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템에 있어서,
    프로세스의 인가여부 속성을 저장하는 프로세스 정보 목록;
    파일에 대한 접근통제 정책을 저장하는 접근통제정책 목록;
    상기 프로세스가 실행파일에 대하여 실행을 요청하는 경우, 해당 실행파일이 인가된 파일인지 여부에 따라 해당 실행파일의 실행을 허용하거나 차단하는 실행파일 통제부;
    실행파일이 인가된 파일인지 여부를 판단하는 실행인가 판단부;
    상기 프로세스가 동적 라이브러리 파일(이하 DLL 파일)에 대한 열기 또는 닫기를 요청하는 경우, 해당 DLL 파일이 인가된 파일인지 여부에 따라 상기 프로세스의 인가여부 속성을 설정하는 DLL 파일 통제부;
    DLL 파일이 인가된 파일인지 여부를 판단하는 DLL인가 판단부; 및,
    상기 프로세스가 실행파일 또는 DLL 파일이 아닌 일반 파일에 대한 접근을 요청하는 경우, 사전에 정해진 접근통제 정책에 따라 해당 일반 파일의 접근을 통제하되, 요청하는 프로세스의 인가여부 속성이 비인가이면 접근통제 정책에 의해 파일 접근이 허용되더라도 파일 접근을 차단하는 파일접근 통제부를 포함하고,
    상기 실행파일 통제부, 상기 DLL파일 통제부, 및, 상기 파일접근 통제부는 상기 운영체제의 커널 계층에 구성되고,
    상기 파일인가 판단부 및, DLL인가 판단부는 상기 운영체제의 사용자 계층에 구성되는 것을 특징으로 하는 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 DLL파일 통제부는 상기 DLL 파일의 접근 요청이 열기이고 상기 DLL 파일이 비인가인 경우, 상기 프로세스의 인가여부 속성을 비인가로 설정하고, 상기 프로세스의 비인가 파일의 참조 개수를 하나 증가시키고, 상기 DLL 파일의 접근 요청이 닫기이고 상기 DLL 파일이 비인가인 경우, 상기 프로세스의 비인가 파일의 참조 개수를 하나 감소시키고, 상기 프로세스의 비인가 파일의 참조 개수가 0이면 상기 프로세스의 인가여부 속성을 인가로 설정하는 것을 특징으로 하는 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템.
  4. 제1항에 있어서,
    상기 실행인가 판단부는 상기 실행파일의 실행 영역의 데이터에서 해시값을 생성하고, 생성된 해시값이 사전에 설정된 실행인가 파일리스트에 존재하면 인가된 파일로 판단하고, 존재하지 않으면 비인가 파일로 판단하고,
    상기 DLL인가 판단부는 상기 DLL파일의 실행 영역의 데이터에서 해시값을 생성하고, 생성된 해시값이 사전에 설정된 DLL인가 파일리스트에 존재하면 인가된 파일로 판단하고, 존재하지 않으면 비인가 파일로 판단하는 것을 특징으로 하는 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템.
  5. 제1항에 있어서,
    상기 실행인가 판단부는 상기 실행파일의 인가 여부에 따라 실행파일의 실행 또는 변조에 대하여 통제하되, 상기 실행파일이 인가 파일인 경우, 수행되는 행위가 실행파일의 실행이면 실행을 허용하고, 파일 변조이면 변조를 차단하고, 상기 실행파일이 비인가 파일인 경우, 수행되는 행위가 파일 실행이면 실행을 차단하고, 파일 변조이면 변조를 허용하는 것을 특징으로 하는 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템.
KR1020180156309A 2018-12-06 2018-12-06 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템 KR101956725B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180156309A KR101956725B1 (ko) 2018-12-06 2018-12-06 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180156309A KR101956725B1 (ko) 2018-12-06 2018-12-06 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템

Publications (1)

Publication Number Publication Date
KR101956725B1 true KR101956725B1 (ko) 2019-03-11

Family

ID=65758818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180156309A KR101956725B1 (ko) 2018-12-06 2018-12-06 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템

Country Status (1)

Country Link
KR (1) KR101956725B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102101250B1 (ko) * 2019-09-11 2020-04-20 주식회사 아신아이 파일 시그니처 분석을 통한 프로세스 역할 기반 문서 파일 접근 통제 시스템

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101216986B1 (ko) * 2012-03-20 2012-12-31 주식회사 시큐브 동적 라이브러리 및 코드 사인 기반의 파일 및 폴더 접근 제어 시스템 및 방법
KR101247943B1 (ko) 2012-09-21 2013-04-02 주식회사 윈스테크넷 화이트리스트를 이용한 바이러스 검사 장치 및 방법
KR101657180B1 (ko) * 2015-05-04 2016-09-19 최승환 프로세스 접근 제어 시스템 및 방법
KR20170022797A (ko) * 2015-08-21 2017-03-02 주식회사 케이티 커널영역에서의 접근통제 효율화 방법,그 프로그램 및 시스템
KR20170090645A (ko) * 2016-01-29 2017-08-08 조성욱 랜섬웨어 바이러스에 의한 감염을 방지하는 시스템 및 방법
KR20170096699A (ko) * 2016-02-17 2017-08-25 박영춘 화이트리스트 및 블랙리스트에 기반한 랜섬웨어 차단 시스템 및 방법
KR101838973B1 (ko) 2016-02-17 2018-03-19 동명대학교산학협력단 화이트 리스트를 이용한 에이전트 기반 보안위협 모니터링 시스템
KR101899149B1 (ko) * 2018-04-30 2018-09-14 에스엠테크놀러지(주) 비정상 프로세스 감시 및 통제 시스템 및 방법, 상기 방법을 수행하기 위한 기록 매체

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101216986B1 (ko) * 2012-03-20 2012-12-31 주식회사 시큐브 동적 라이브러리 및 코드 사인 기반의 파일 및 폴더 접근 제어 시스템 및 방법
KR101247943B1 (ko) 2012-09-21 2013-04-02 주식회사 윈스테크넷 화이트리스트를 이용한 바이러스 검사 장치 및 방법
KR101657180B1 (ko) * 2015-05-04 2016-09-19 최승환 프로세스 접근 제어 시스템 및 방법
KR20170022797A (ko) * 2015-08-21 2017-03-02 주식회사 케이티 커널영역에서의 접근통제 효율화 방법,그 프로그램 및 시스템
KR20170090645A (ko) * 2016-01-29 2017-08-08 조성욱 랜섬웨어 바이러스에 의한 감염을 방지하는 시스템 및 방법
KR20170096699A (ko) * 2016-02-17 2017-08-25 박영춘 화이트리스트 및 블랙리스트에 기반한 랜섬웨어 차단 시스템 및 방법
KR101780891B1 (ko) 2016-02-17 2017-09-21 박영춘 화이트리스트 및 블랙리스트에 기반한 랜섬웨어 차단 시스템 및 방법
KR101838973B1 (ko) 2016-02-17 2018-03-19 동명대학교산학협력단 화이트 리스트를 이용한 에이전트 기반 보안위협 모니터링 시스템
KR101899149B1 (ko) * 2018-04-30 2018-09-14 에스엠테크놀러지(주) 비정상 프로세스 감시 및 통제 시스템 및 방법, 상기 방법을 수행하기 위한 기록 매체

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102101250B1 (ko) * 2019-09-11 2020-04-20 주식회사 아신아이 파일 시그니처 분석을 통한 프로세스 역할 기반 문서 파일 접근 통제 시스템

Similar Documents

Publication Publication Date Title
US9881013B2 (en) Method and system for providing restricted access to a storage medium
US9075984B2 (en) Secure system for allowing the execution of authorized computer program code
US8402269B2 (en) System and method for controlling exit of saved data from security zone
US8234477B2 (en) Method and system for providing restricted access to a storage medium
US10289860B2 (en) Method and apparatus for access control of application program for secure storage area
KR101565590B1 (ko) 역할기반 접근통제 및 인가된 파일 리스트를 통한 파일접근 통제 통합 시스템
US10650158B2 (en) System and method for secure file access of derivative works
US20100306851A1 (en) Method and apparatus for preventing a vulnerability of a web browser from being exploited
US8452740B2 (en) Method and system for security of file input and output of application programs
KR20010109271A (ko) 데이터보안 제공을 위한 시스템과 방법
RU2584507C1 (ru) Способ обеспечения безопасного выполнения файла сценария
WO2005081115A1 (en) Application-based access control system and method using virtual disk
CN111400723A (zh) 基于tee扩展的操作系统内核强制访问控制方法及系统
KR101967663B1 (ko) 인가된 프로세스의 역할 기반 접근 통제 시스템
US20240095402A1 (en) Methods and Systems for Recursive Descent Parsing
KR101956725B1 (ko) 인가된 실행 파일 및 동적 라이브러리 파일 기반 서버 접근 통제 시스템
KR101227187B1 (ko) 보안영역 데이터의 반출 제어시스템과 그 제어방법
CN117453344A (zh) 一种基于Linux系统调用的容器可信增强机制
KR20220085786A (ko) 랜섬웨어 방지
KR20220097037A (ko) 데이터 유출 방지 시스템
US10809924B2 (en) Executable memory protection
JP5126495B2 (ja) 安全度評価と連動するセキュリティの方針設定装置、そのプログラムおよびその方法
KR20200122014A (ko) 프로그램 보호를 기반으로 한 데이터 보안 방법
KR102623168B1 (ko) 데이터 보호 시스템
KR102309695B1 (ko) 호스트 침입 탐지를 위한 파일 기반 제어방법 및 장치

Legal Events

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