KR101416618B1 - An Intrusion Prevention System Using Enhanced Security Linux kernel - Google Patents

An Intrusion Prevention System Using Enhanced Security Linux kernel Download PDF

Info

Publication number
KR101416618B1
KR101416618B1 KR1020130008265A KR20130008265A KR101416618B1 KR 101416618 B1 KR101416618 B1 KR 101416618B1 KR 1020130008265 A KR1020130008265 A KR 1020130008265A KR 20130008265 A KR20130008265 A KR 20130008265A KR 101416618 B1 KR101416618 B1 KR 101416618B1
Authority
KR
South Korea
Prior art keywords
security
address
linux
attack
intrusion
Prior art date
Application number
KR1020130008265A
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 KR1020130008265A priority Critical patent/KR101416618B1/en
Application granted granted Critical
Publication of KR101416618B1 publication Critical patent/KR101416618B1/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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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/101Access control lists [ACL]

Abstract

The present invention relates to an intrusion prevention system based on a Linux kernel security, which detects an intrusion into a Linux system and limits an access authority of the access detected as an intrusion. The system includes: an IP table on which IP addresses which have to be blocked are recorded; a database which records the IP addresses which have to be blocked; a detecting engine which determines whether a packet which was not blocked by the IP table is an attack or not; a blocking engine which stores an IP address of the packet determined as an attack (hereinafter, an attack IP address) in the database, and orders to store the attack IP address in the IP table; and a resource monitoring module which shows the IP addresses stored in the database. The intrusion prevention system based on the Linux kernel security efficiently detects and prevents attacks such as unauthorized accesses to the system and illegally authorized acquisition, and reduces authority over the system when an intruder attempts to intrude, thereby preventing later intrusion attempts.

Description

리눅스 커널 보안 기반 침입방지 시스템 { An Intrusion Prevention System Using Enhanced Security Linux kernel }An Intrusion Prevention System Using Enhanced Security Linux kernel,

본 발명은 IP테이블(Iptables)을 통해서 예전에 공격을 시도했던 IP를 1차적으로 차단하고 그 외의 IP는 탐지엔진을 통해서 공격이라고 판명되는 경우에 차단엔진에서 상기 IP주소를 차단하게 하는 리눅스 커널 보안 기반 침입방지 시스템에 관한 것이다.
The present invention relates to a Linux kernel security system for blocking an IP address that has previously attempted an attack through an IP table (Iptables) and for blocking an IP address of a blocking engine in the case where another IP is determined to be an attack through a detection engine Based intrusion prevention system.

리눅스는 관련된 모든 소스가 공개되어 있다는 장점이 있기 때문에 Web 서버 등 인터넷 환경에서 사용되는 시스템에서부터 정보 가전에 이르기까지 매우 많은 응용 시스템들이 점차 리눅스를 바탕으로 개발되고 있다. 리눅스의 사용 범위나 분야의 증가와 함께 자연히 리눅스의 보안 문제도 매우 중요한 연구나 개발과제가 되고 있다. 커널과 일반 프로그램들을 비롯한 거의 모든 것의 소스가 공개되어 있어 많은 리눅스 시스템에 대한 해킹이 이루어지고 있기 때문이다. Because Linux has the advantage that all related sources are available, many application systems ranging from systems used in Internet environments such as Web servers to information appliances are gradually being developed based on Linux. Along with the increasing use of Linux, Linux security has become a very important research and development task. Because the source of almost everything, including the kernel and general programs, is open, and hacking on many Linux systems is taking place.

최근 컴퓨터·네트워크 보안의 필요성에 대한 대중 인식이 급속히 증가함에도 불구하고 보안대책을 제공하기 위한 지금의 노력은 성공하기가 어려울 것이란 점이 지적되고 있다. 이유는 현재의 보안에 대한 대부분의 노력은 기존의 주류를 이루는 운영체제, 즉 안전하지 않은 운영체제의 보안 기능을 그대로 이용하여 그 위에 응용 프로그램 수준에서 보안을 제공하는 잘못된 가정으로부터 출발하고 있기 때문이며, 결과적으로 "모래 위에 성 쌓기"를 초래할 것이라는 지적이다. Firewall, IDS 등이 응용프로그램 수준에서 보안을 제공하는 대표적 예이며, 이것들로 최근의 보안문제를 해결하지 못하고 있음은 여러 해킹사례와 문서에서 나타나고 있다.Although the public awareness of the need for computer and network security has increased rapidly, it is pointed out that the current effort to provide security measures will not be successful. The reason is that most of the current security efforts are based on the misunderstood assumption of using the existing mainstream operating system, that is, the security functions of the unsecured operating system, to provide security at the application level, It is pointed out that it will result in "casting on the sand." Firewalls, and IDS are examples of providing security at the application level, and these have not been addressed in recent security issues, as are seen in many hacking cases and documents.

한편, 미국은 1985년에 국방성 표준이 된 신뢰성 컴퓨터 평가 기준(TCSEC : Trusted Computer System Evaluation Criteria)을 근거로 이미 많은 보안 운영체제를 개발, 평가하여 군, 정부 등에서 사용하고 있다. TCSEC B1급 이상의 컴퓨터 시스템에서 구현하는 보안 운영체제는 대부분 보안 커널(Security Kernel)을 채택하고 있으며, B2급 이상의 평가를 받은 컴퓨터 시스템에 대해서는 해외로 수출을 금지하고 있는 상황이다. 따라서 국내에서도 정보보호 주권의 확립 차원에서 마치 무기체계와 같이 취급되고 있는 보안 운영체제의 연구 개발은 필수적이며 시급한 과제라 할 것이다.
On the other hand, the United States developed and evaluated many security operating systems based on the Trusted Computer System Evaluation Criteria (TCSEC), which became the standard of the Defense Department in 1985, and are used by the military, the government, and so on. Most of the security operating systems implemented in TCSEC B1 level or higher computer systems employ security kernels. For computer systems rated B2 or above, they are prohibited from exporting to overseas. Therefore, in order to establish the sovereignty of information security in Korea, research and development of a security operating system, which is treated like a weapon system, is an essential and urgent task.

다음으로, 리눅스의 보안 운영체제 및 보안 커널에 대한 종래 연구 내용을 보다 구체적으로 설명한다.Next, a more detailed description of the conventional research on the security operating system and the security kernel of Linux will be described.

보안운영체제는 기존의 운영체제 내에 내재되어 있는 문제점을 해결하기 위하여 보안 커널을 이식하고 인증, 암호화 등의 보안 서비스를 추가하여 구현한 신뢰할 수 있는 전산 환경이다. 보안운영체제는 참조모니터의 구현을 통해 사용자에 대한 식별 및 인증, 접근통제, 침입탐지 등의 기능을 통하여 커널 레벨로의 접근제어 및 알려지지 않은 공격에 대한 방어, 탐지 및 대응 등의 기능을 수행할 수 있다. 또한 엄격하게 분리된 영역에 로그, 감사기록을 두어 보호함으로써 불법침입자가 침입의 흔적을 제거하는 행위를 방지하는 기능을 포함하고 있다.The security operating system is a reliable computing environment implemented by porting a security kernel and adding security services such as authentication and encryption to solve problems inherent in the existing operating system. Through the implementation of the reference monitor, the security operating system can control access to the kernel level through the identification and authentication of the user, access control, and intrusion detection, and can perform functions such as defense against the unknown attack, detection and response have. It also includes a function to prevent illegal intruders from removing traces of intrusions by protecting logs and audit records in strictly separated areas.

운영체제 보안의 연구는 주로 접근제어를 중심으로 한 비밀성과 무결성 측면에서 집중적으로 이루어져 왔다. 미국의 경우 국방부, NIST, MITRE 등을 중심으로 안전한 컴퓨터시스템의 구축 및 평가 등에 관한 지속적인 연구 결과, 1983년에 "Orange Book" 으로 불리는 TCSEC 초안이 제정되었고, 1985년에 미 국방부 표준(DoD 5200. 28-STD)으로 채택되었다. 안전·신뢰성이 입증된 컴퓨터 시스템을 미 국방부 및 정부기관에 보급하기 위하여 TCSEC을 7가지 등급(D, C1, C2, B1, B2, B3, A1)으로 분류하여 각 기관별 특성에 맞는 컴퓨터 시스템을 도입·운영하도록 권고하고 있다.The study of operating system security has been mainly focused on the confidentiality and integrity of access control. In the United States, the TCSEC draft "Orange Book" was established in 1983 as a result of ongoing research into the construction and evaluation of safe computer systems centering on the Ministry of National Defense, NIST, and MITER. In 1985, 28-STD). TCSEC is classified into seven grades (D, C1, C2, B1, B2, B3, A1) in order to supply safe and reliable computer systems to the US Department of Defense and government agencies. · It is recommended to operate.

TCSEC은 안전한 컴퓨터 시스템이 제공해야 하는 기준을 보안정책, 책임성, 그리고 보증 및 문서부분으로 나누어서 각 등급별 요구사항을 정의해 놓고 있으며, 대부분의 기능과 보증 요구사항은 현재 ISO에서 국제 표준화한 CC(Common Criteria v2.1)와 보호프로파일(Protection Profile)에 반영되고 있으며, TCSEC의 평가등급도 CC와 상호 인정되고 있다. 특히, B1급 이상의 보안 운영체제는 보안정책과 책임성 측면에서 사용자 식별·인증, 주체(Subject ; 사용자, 프로세스) 및 객체(Object)의 보안 레이블에 따른 강제적 접근제어, 사용자 혹은 객체별 임의적 접근제어, 외부 미디어에 전송 시 레이블의 부착, 프린트 시 보안 레이블 출력, 객체 재사용 방지, 참조 모니터(Reference Monitor)를 이용한 완전한 접근중재(Complete Mediation), 감사, 신뢰성 경로 등의 기능을 최소한 가져야 한다.
The TCSEC defines the requirements that each computer system should provide for each level of security policy, accountability, and warranty and documentation, and most of the functionality and assurance requirements are currently supported by ISO (International Organization for Standardization) Common Criteria v2.1) and Protection Profile, and the evaluation level of TCSEC is also mutually recognized with CC. In particular, the security operating system of class B1 or higher is required to perform mandatory access control according to the security label of user identification, authentication, subject, user, process and object in terms of security policy and accountability, It should have at least functions such as attaching labels when transmitting to external media, outputting security labels at printing, preventing object reuse, complete mediation with reference monitor, audit, and reliability path.

한편, 보안 커널은 운영체제만을 대상으로 하지 않는다. 하드웨어와 펌웨어, 소프트웨어 어플리케이션과 같은 모든 전산 환경의 요소들이 보안대상이며 참조 모니터, 감사 모듈, 식별 및 인증 모듈 등 다양한 보안 메커니즘을 통합하여 구성된다.On the other hand, the security kernel does not target operating system only. All elements of the computing environment such as hardware, firmware, and software applications are subject to security and consist of various security mechanisms such as reference monitors, audit modules, identification and authentication modules.

보안 커널은 완전해야하기 때문에 다양한 요구사항이 존재하게 된다. 다음의 보안 커널에 대한 세 가지는 주요 요구사항이다. 첫 번째, 참조 모니터 개념을 수행하는 프로세스와는 분리되어야 한다. 그리고 그들은 부정하게 조작될 수 없어야 한다. 두 번째, 참조 모니터는 주체와 객체 사이에서 발생하는 모든 행위를 대상으로 접근 통제하여야 한다. 참조 모니터를 우회하여 회피하는 것은 불가능해야 한다. 즉, 보안 커널은 완전하고 잘못될 수 없는 방식으로 구현되어야만 한다. 마지막으로, 완전하고 포괄적인 방식으로 입증되고, 시험될 수 있도록 충분히 작아야 한다.
Because the secure kernel must be complete, there are various requirements. The following three key requirements for the secure kernel are: First, it should be separate from the process of performing the reference monitor concept. And they must not be tampered with. Second, the reference monitor must control access to all activities that occur between the subject and the object. It should be impossible to circumvent the reference monitor by avoiding it. That is, the secure kernel must be implemented in a way that is complete and can not be erroneous. Finally, it should be small enough to be proven and tested in a complete and comprehensive way.

리눅스 운영체제는 무료 또는 저렴한 비용으로 설치가 가능하며 다양한 플랫폼의 지원, 구조화된 설계, 다양한 공개 소프트웨어의 제공 등의 장점으로 인해 급속도로 보급되고 있다. 활용 분야는 주로 인터넷 서버(웹 서버, 메일 서버, DB 서버, 파일 서버 등)로서 비교적 성공적으로 시장을 점유하고 있다. 그러나 이에 비례하여 리눅스 시스템을 목표로 하는 해킹 사고 또한 급속히 증가하고 있다. 그러나 기존의 리눅스에 구현되어 있는 보안 기능이나 응용프로그램 수준에서의 보안성 제공은 증가 일로에 있는 보안문제 해결에 한계가 있다.The Linux operating system can be installed free or at a low cost, and is rapidly gaining popularity due to its advantages of supporting various platforms, structured design, and offering various open software. The application area is relatively successful as the Internet server (web server, mail server, DB server, file server, etc.). However, in proportion to this, a hacking accident aiming at the Linux system is also increasing rapidly. However, security features implemented in existing Linux and security at application level are limited in solving security problems.

한편 최근의 리눅스 운영체제의 커널 수준에서의 보안 연구는 그 필요성이나 취약성에 비하여 상당히 부족한 실정이다. 리눅스 커널 수준에서의 다중등급 보안 연구는 미국의Naval Postgraduate School에서 프로젝트로 진행되었으며, 리눅스 운영체제를 수정하여 컴퓨터 보안 교육용으로 다중등급 보안 기능을 구현한 예이다.On the other hand, recent Linux OS security researches at the kernel level are insufficient compared with the necessity or vulnerability. Multi-level security research at the Linux kernel level was conducted as a project at the Naval Postgraduate School in the United States and is an example of implementing multi-level security features for computer security education by modifying the Linux operating system.

그 외의 대부분 리눅스 운영체제 보안 연구는 Add-on 방식으로서 주로 네트워크 응용 프로그램, 유틸리티 수준에서의 보안 패치(patch) 등이 주류를 이룬다. 한편 미국 TIS 사에서는 카네기 멜론 대학에서 개발된 "Mach" 마이크로 커널을 이용하여 B3 등급 목표의 "DTMach(Distributed Trusted Mach)" 보안 커널을 개발하여 B3 등급 평가 수행 중 중단하였는데, 이 연구는 '97년 Synergy 프로젝트, DTOS(Distributed Trusted OS), Flask 프로젝트로 이어져 진행되었다. 이 Flask 프로젝트의 보안 커널 설계 개념이 1999. 9월부터 2000년 12월까지 NSA와 SCC, NAI Lab 등이 진행했던 "Secure Linux(seLinux)" 프로젝트에 반영되어 그 프로토타입이 개발되었으며 일부 소스 코드만 공개되어 있다. 국내에서는 유닉스, 리눅스 보안 커널 개발 연구는 소수의 대학, 벤처기업, 연구소에서 진행되고 있는 형편이다.
Most of the other Linux operating system security researches are add-on methods, mainly network application programs and utility-level security patches. On the other hand, US TIS developed the "DTMach (Distributed Trusted Mach)" security kernel for B3 grade using the "Mach" micro kernel developed by Carnegie Mellon University and discontinued B3 grade evaluation. Synergy project, DTOS (Distributed Trusted OS) and Flask project. The security kernel design concept of this Flask project was reflected in the "Secure Linux (seLinux)" project conducted by NSA, SCC and NAI Lab from September, 1999 to December, 2000, It is public. In Korea, research on the development of Unix and Linux security kernels is being conducted in a small number of universities, venture companies and research institutes.

즉, 운영체제 커널에 보안 기능을 추가하여 운영체제 자체의 보안 결함을 해결하고 보안성을 강화하는 것이 보안 운영체제(Sevure OS) 이다. 미국 국가안전보장국에서 주도로 개발한 보안 운영체제인 SElinux는 임의 접근 제어(Discretionary Access Control, DAC)만을 제공하는 기존의 리눅스 커널에 리눅스 보안 모듈(Linux Security Modules, LSM) 프레임워크를 이용하여 강제적인 접근 제어(Mandatory Access Control, MAC)를 구현한 커널기반의 서버사이드 보안 시스템이다.That is, it is the security operating system (Sevure OS) that security function is added to the operating system kernel to solve the security flaw of the operating system itself and to enhance security. SElinux, a security operating system developed primarily by the US National Security Agency, uses a Linux Security Modules (LSM) framework to force a traditional Linux kernel that provides discretionary access control (DAC) It is a kernel based server side security system that implements Mandatory Access Control (MAC).

현재 SELinux에서 지원할 수 있는 접근 통제 정책은 유형 강화(Type Enforcement, TE)와 역할 기반 접근통제(Role Based Access Control, RBAC), 다중등급 보안(Multi Level Security, MLS) 정책이 있다. 이와 같은 접근 통제 정책을 이용하여 시스템 보안 관리자는 사용자나 프로그램들을 지칭하는 주체와, 파일 및 디바이스들을 지칭하는 객체간에 엄격한 접근 제어 정책을 정의할 수 있다.Currently, SELinux supports the following types of access control policies: Type Enforcement (TE), Role Based Access Control (RBAC), and Multi Level Security (MLS) policies. Using this access control policy, the system security administrator can define strict access control policy between the entity that refers to the user or programs and the object that refers to files and devices.

SELinux에서 제공하는 기능을 응용하여 실제 침입에 대한 침입 탐지 시스템(Intrusion Detection System, IDS)과 유사한 역할을 수행할 수도 있다. 그러나 시스템 침입이 발생하였을 때 이에 대하여 신속한 대응이 요구되어지는 환경에서는 단지 침입에 대한 탐지 및 로깅만으로는 부족하다.By applying the functions provided by SELinux, it can play a role similar to the Intrusion Detection System (IDS) for actual intrusion. However, detection and logging of intrusions are not sufficient in an environment where prompt response is required when a system intrusion occurs.

따라서 침입을 탐지하였을 때 탐지 로그만을 남기는 것에서 더 나아가 탐지 시에 침입자로부터 시스템을 보호하기 위해 침입자의 시스템 사용 권한을 없애거나 최소화할 수 있도록 접근 제어 정책을 동적으로 수정한다면 침입 방지 시스템(Intrusion Prevention System, IPS)과 유사한 역할을 수행할 수 있을 것이다.
Therefore, if the access control policy is dynamically modified so as to eliminate or minimize the system usage right of the intruder in order to protect the system from the intruder at the time of detection, the intrusion prevention system (Intrusion Prevention System , And IPS).

[비특허문헌 1] 김정녀, 손승원, 이철훈, "안전한 운영체제 접근제어 정책에 대한 보안성 및 성능 시험", 정보처리학회논문지 D 제10-D권 제5호(2003.8).[Non-Patent Document 1] Kim, Jeong-won, Seungwon Son, and Cheol-Hoon Lee, "Security and Performance Testing of Secure OS Access Control Policies", Information Processing Society D D10-D Volume 5 (2003.8). [비특허문헌 2] National Security Agency, http://www.nsa.gov/research/selinux/index.shtml[Non-Patent Document 2] National Security Agency, http://www.nsa.gov/research/selinux/index.shtml [비특허문헌 3] http://www.tcpdump.org/[Non-Patent Document 3] http://www.tcpdump.org/ [비특허문헌 4] 엘리자베스 쯔위키 외 3저. 『Building Internet Firewalls』, 한빛미디어, 2003.[Non-Patent Document 4] Elizabeth Tswikey et al. Building Internet Firewalls, Hanvit Media, 2003. [비특허문헌 5] C. E. Landwehr, A. R. Bull, J. P. McDermott, and W. S. Choi, "A Taxonomy of Computer Program Security Flaws," ACM Computing Surveys, Vol. 26(3), pp. 211-254, 1994.[Non-Patent Document 5] C. E. Landwehr, A. R. Bull, J. P. McDermott, and W. S. Choi, "A Taxonomy of Computer Program Security Flaws," ACM Computing Surveys, Vol. 26 (3), pp. 211-254, 1994. [비특허문헌 6] M. Bishop and D. Bailey, "A Critical Analysis of Vulnerability Taxonomies," CSE-96-11, Sep. 1996[Non-Patent Document 6] M. Bishop and D. Bailey, "A Critical Analysis of Vulnerability Taxonomies," CSE-96-11, Sep. 1996 [비특허문헌 7] K. Jiwnani and M. Zelkowitz, "Maintaining Software with a Security Perspective," International Conference on Sofware Maintenance(ICSM'02), Montreal, Quebec, Cannada, Oct. 03-06, 2002.[Non-Patent Document 7] K. Jiwnani and M. Zelkowitz, "Maintaining Software with a Security Perspective," International Conference on Software Maintenance (ICSM'02), Montreal, Quebec, Cannada, Oct. 03-06, 2002. [비특허문헌 8] http://www.securityfocus.com/[Non-Patent Document 8] http://www.securityfocus.com/ [비특허문헌 9] I. Arce and E. Leby, "The Rising Threat of Vulnerabilities Due to Integer Errors", IEEE Security & Privacy, 77-82, Jul./Aug. 2003.[Non-Patent Document 9] I. Arce and E. Leby, " The Rising Threat of Vulnerabilities Due to Integer Errors ", IEEE Security & Privacy, 77-82, Jul./Aug. 2003. [비특허문헌 10] 김선영, 오창석. "패턴 매칭 기법을 적용한 DDoS 공격 탐지", 『한국콘텐츠학회 2005 추계 종합 학술대회 논문집』 제3권 제2호, 2005. pp.189-194.[Non-Patent Document 10] Kim, Sun-Young and Oh, Chang-Seok. "Detection of DDoS Attack Using Pattern Matching Technique", Journal of the Korea Contents Association, Vol. 3, No. 2, 2005. pp.189-194. [비특허문헌 11] 이영무 저. 『(최강) MySQL 4 바이블』, 가메출판사, 2003.[Non-Patent Document 11] Lee, Young-Moo; "(The Strongest) MySQL 4 Bible", GAME Publisher, 2003.

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, IP테이블(Iptables)을 통해서 예전에 공격을 시도했던 IP를 1차적으로 차단하고 그 외의 IP는 탐지엔진을 통해서 공격이라고 판명되는 경우에 차단엔진에서 상기 IP주소를 차단하게 하는 리눅스 커널 보안 기반 침입방지 시스템을 제공하는 것이다.An object of the present invention is to solve the above-mentioned problems, and it is an object of the present invention to provide a method and system for preventing an IP attack that has attempted an attack through an IP table (Iptables) And to provide a Linux kernel security-based intrusion prevention system that causes the blocking engine to block the IP address.

상기 목적을 달성하기 위해 본 발명은 에 관한 것으로서, 리눅스 시스템의 침입을 탐지하고, 침입으로 탐지된 접근에 접근 권한을 제한하는 리눅스 커널 보안 기반 침입방지 시스템에 관한 것으로서, 차단할 IP주소를 기록한 IP테이블; 차단할 IP주소를 기록하는 데이터베이스; 상기 IP테이블을 통해서 차단되지 않은 패킷에 대하여 공격 여부를 판명하는 탐지 엔진; 및, 공격으로 판단된 패킷의 IP주소(이하 공격 IP주소)를 상기 데이터베이스에 저장하고, 상기 공격 IP주소를 상기 IP테이블에 저장하도록 명령하는 차단 엔진 및, 상기 데이터베이스에 저장된 IP주소를 보여주는 자원 모니터링 모듈을 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention relates to a Linux kernel security-based intrusion prevention system for detecting an intrusion of a Linux system and restricting an access right to an access detected by an intrusion, ; A database for recording IP addresses to be blocked; A detection engine for verifying whether or not an unblocked packet is attacked through the IP table; A blocking engine for storing an IP address (hereinafter referred to as an attack IP address) of a packet determined as an attack in the database and storing the attacking IP address in the IP table; and a resource monitoring And a module.

또, 본 발명은 리눅스 커널 보안 기반 침입방지 시스템에 있어서, 상기 탐지 엔진은 상기 리눅스 시스템으로 들어온 패킷을 패킷 캡쳐 모듈을 이용하여 각 헤더 별로 MAC, IP주소, 포트(Port), TCP 플래그(TCP Flag) 중 어느 하나 이상을 수집하여 패킷을 검사하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided an intrusion prevention system based on Linux kernel security, wherein the detection engine detects a MAC, an IP address, a port, a TCP flag (TCP Flag ) And collects the packet to inspect the packet.

또, 본 발명은 리눅스 커널 보안 기반 침입방지 시스템에 있어서, 상기 탐지 엔진은 DOS(denial of service) 탐지 방법, SYN/ACK(SYN Flooding / ACK Storm) 탐지방법, DDoS(Distribute Denial of Sercice) 탐지방법, 포트 스캔(Port Scan) 탐지방법, TCP/SYN 스캔(TCP connect scan / SYN stealth scan) 탐지방법, 은닉 FIN/Xmas 스캔(Stealth FIN scan, Stealth Xmas scan) 탐지방법 중 어느 하나 이상을 이용하여 패킷을 검사하는 것을 특징으로 한다.According to another aspect of the present invention, there is provided a Linux kernel security-based intrusion prevention system including a denial of service (DOS) detection method, a SYN / ACK (SYN Floating / ACK Storm) detection method, a DDoS , A port scan detection method, a TCP / SYN scan (TCP connect scan / SYN stealth scan) detection method, a hidden FIN / Xmas scan (Stealth FIN scan) Is inspected.

또, 본 발명은 리눅스 커널 보안 기반 침입방지 시스템에 있어서, 상기 차단 엔진은 상기 IP테이블을 통해서 패킷을 차단하고, 상기 리눅스 시스템의 정보를 쉘 프로그램을 통해 추출하여 로그 파일에 기록하는 것을 특징으로 한다.According to another aspect of the present invention, in a Linux kernel security-based intrusion prevention system, the blocking engine blocks a packet through the IP table, extracts information of the Linux system through a shell program, and records the information in a log file .

또, 본 발명은 리눅스 커널 보안 기반 침입방지 시스템에 있어서, 상기 차단 엔진은, 상기 리눅스 시스템의 CPU, 메모리, 디스크의 사용률의 쉘 프로그래밍을 실시간으로 실행시켜서 업데이트 하는 상태 처리부; CPU 사용률을 쉘(Shell) 프로그래밍을 통해 추출하는 CPU 정보부; 메모리 사용률을 쉘(Shell) 프로그래밍을 통해 추출하는 메모리 정보부; 디스크 사용률을 Shell 프로그래밍을 통해 추출하는 디스크 정보부; 상기 데이터베이스에 저장된 IP주소를 불러와서 테이블(Iptables)에 추가하는 IP테이블 명령부; 상기 리눅스 시스템의 온(On)/오프(Off) 상태, 사용자들의 접속 현황을 추출하는 사용자 정보부; 및, 추출된 사용률, 상태, 현황을 저장하는 로그파일을 포함하는 것을 특징으로 한다.
According to another aspect of the present invention, there is provided an intrusion prevention system for a Linux kernel security system, the interception engine including: a status processor for executing shell programming of a usage rate of a CPU, a memory, and a disk of the Linux system in real time; A CPU information section for extracting CPU utilization through shell programming; A memory information part for extracting a memory usage rate through shell programming; A disk information part for extracting the disk usage rate through Shell programming; An IP table command unit for retrieving an IP address stored in the database and adding the IP address to a table (Iptables); An On / Off state of the Linux system, a user information part for extracting a connection state of users; And a log file for storing the extracted usage rate, status, and status.

상술한 바와 같이, 본 발명에 따른 리눅스 커널 보안 기반 침입방지 시스템에 의하면, 시스템에 대한 허가되지 않은 접근 및 불법적인 권한 획득과 같은 공격을 효과적으로 탐지하고 막을 수 있을 뿐만 아니라 침입자가 침입 시도시 시스템에 대한 권한을 축소함으로서 차후의 침입 시도까지 미리 예방할 수 있는 효과가 얻어진다.
As described above, according to the Linux kernel security-based intrusion prevention system according to the present invention, it is possible not only to effectively detect and prevent attacks such as unauthorized access to the system and acquisition of illegal rights, It is possible to prevent the intrusion attempts from occurring in advance.

도 1은 본 발명의 일실시예에 따른 리눅스의 보안 운영체제의 구조를 도시한 블록구성도.
도 2는 본 발명에 따른 리눅스의 보안 운영체제가 생성한 침입 탐지 로그의 일례.
도 3은 본 발명의 일실시예에 따른 리눅스의 보안 운영체제의 보안 커널의 동작 과정을 도시한 흐름도.
도 4는 본 발명에 따른 권한 제한을 위해 확장된 allow구문의 일례.
도 5는 본 발명의 일실시예에 따른 리눅스 커널 보안 기반 침입방지 시스템을 도시한 블록구성도.
도 6은 본 발명에 따른 리눅스 커널 보안 기반 침입방지 시스템의 탐지엔진의 동작 과정을 도시한 흐름도.
도 7은 본 발명에 따른 리눅스 커널 보안 기반 침입방지 시스템의 차단엔진의 구조를 도시한 블록구성도.
1 is a block diagram illustrating a structure of a security operating system of Linux according to an embodiment of the present invention;
2 is an example of an intrusion detection log generated by the security operating system of Linux according to the present invention.
3 is a flowchart illustrating an operation of a secure kernel of a secure operating system of Linux according to an embodiment of the present invention.
Figure 4 is an example of an allow clause extended for privilege restriction according to the present invention.
FIG. 5 is a block diagram illustrating a Linux kernel security-based intrusion prevention system according to an embodiment of the present invention; FIG.
FIG. 6 is a flowchart illustrating an operation process of a detection engine of a Linux kernel security-based intrusion prevention system according to the present invention; FIG.
FIG. 7 is a block diagram illustrating a structure of a blocking engine of a Linux kernel security-based intrusion prevention system according to the present invention; FIG.

이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the drawings.

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

먼저, 본 발명의 일실시예에 따른 리눅스의 보안 운영체제에 대하여 도 1을 참조하여 구체적으로 설명한다.First, a security operating system of Linux according to an embodiment of the present invention will be described in detail with reference to FIG.

도 1에서 보는 바와 같이, 본 발명에 따른 리눅스의 보안 운영체제는 객체 관리자 및 보안 서버로 구성된다.As shown in FIG. 1, the security operating system of Linux according to the present invention comprises an object manager and a security server.

객체 관리자(Object Manager)는 시스템에 제어 동작을 제공하고 보안 서버에서 특정 보안 정책에 대한 보안 결정이 이루어지면 보안 결정에 대한 수행을 담당한다. 또한 AVC(Active Vector Cache) 관리 정책의 적용과 변경 등의 기능을 제공한다.The Object Manager provides control operations to the system and, when a security decision is made for a specific security policy at the security server, performs the security decision. It also provides functions such as applying and changing AVC (Active Vector Cache) management policy.

보안 서버(Security Server)는 보안 정책을 결정하고 SID(Serurity ID)와 보안 컨텍스트(Security Context)간의 매핑을 유지하고 새로 생성되는 객체에 SID를 부여한다. 보안 운영체제 상에서 시스템의 자원에 대한 접근 권한은 다음에서 볼 수 있는 것과 같이 'allow' 구문에 의해 정의된다.The security server determines the security policy, maintains the mapping between the security ID (SID) and the security context, and assigns the SID to the newly created object. Access to the system's resources on the secure operating system is defined by the 'allow' syntax, as shown below.

allow user_t bin_t : file { read write };allow user_t bin_t: file {read write};

상기 구문에서 user_t란 타입을 가진 프로세스가 bin_t란 타입을 가진 파일에 대해 read, write 시스템 콜 요청을 허락하는 접근 정책이다.In the above syntax, a process with a type of user_t is an access policy that allows read and write system call requests for files of type bin_t.

이와 같은 보안 운영체제는 다음과 같은 기능을 제공한다.Such a security operating system provides the following functions.

먼저, 보안 운영체제는 자원에 대한 여러 가지 접근 통제를 수행하여, 유형 강화(Type Enforecement TE), 역할 기반 접근 통제(Role Based Access Control RBAC), 다중 등급 보안(Multi Level Security MLS)와 같은 접근 통제 정책을 지원한다.First, the security operating system performs various access control on the resource, and access control policies such as Type Enforcement TE, Role Based Access Control (RBAC), and Multi Level Security MLS .

또한, 보안 운영체제는 커널 보호를 위해, 공격자에 의한 커널 수정을 방지하기 위해 모듈 삽입이나 커널에 대한 직접 쓰기에 대한 보호를 할 수 있다. 그리고 보안 운영체제는 침입에 대한 피해 범위를 감소하기 위하여, 프로세스 실행시 필요한 최소한의 권한만 할당하여 피해 발생시 다른 프로세스나 시스템에 끼치는 영향을 최소화한다. 그리고 감사 기능으로서, 시스템에 일어나는 보안 규칙 위배에 대한 정보는 파일로 기록되어 감사 자료로 활용할 수 있다.In addition, the security operating system can protect against kernel insertion by inserting modules or direct writing to the kernel to prevent kernel modification by the attacker. To reduce the scope of the attack, the security operating system minimizes the impact on other processes or systems in case of damage by allocating only the minimum privileges required to execute the process. As an audit function, information about violation of security rules occurring in the system can be recorded in a file and used as audit data.

이러한 기능들은 리눅스 보안 모듈(Linux Security Module, LSM) 프레임워크를 이용하여 삽입 가능한 커널 모듈로 개발되었고 모듈 삽입을 통해 기존에 제공되던 DAC 접근 제어 기능들을 대체한다.
These features were developed as an insertable kernel module using the Linux Security Module (LSM) framework and replace DAC access control functions that were previously provided through module insertion.

예를 들어, 침입자는 버퍼 오버플로우 기법과 같은 메모리 조작을 통하여 프로세스에 시스템 쉘을 실행하는 등의 악성 코드를 삽입할 수 있다. 그러나 보안 운영체제가 제어하는 시스템에서는 삽입한 악성 코드의 실행에 필요한 권한을 획득할 수 없어서 이와 같은 공격으로 인한 피해를 막을 수 있다. 또한 보안 운영체제는 이러한 불법 접근에 대한 감사 정보를 기록할 수 있어서 감사 자료로 사용할 수 있다.For example, an intruder can inject malicious code, such as running a system shell into a process, through memory manipulation, such as a buffer overflow technique. However, the system controlled by the security operating system can not obtain the privilege necessary to execute the inserted malicious code, thereby preventing damage caused by such an attack. In addition, the security operating system can record audit information on this unauthorized access and can be used as audit data.

도 2에서는 보안 운영체제가 생성한 버퍼 오버플로우 공격 탐지 로그를 보여준다. 도 2의 로그 정보에서 ftp 데몬(in.ftpd)을 통하여 쉘이 실행되려 했었고(shell_exec_t) 그러한 접근이 거부되었다는(denied { excute }) 것을 알 수 있다. 일반적으로 ftp 데몬에서는 이러한 종류의 접근이 일어나지 않는다. 더군다나 이러한 행동은 시스템에서 어떠한 예외사항으로 발생한 비정상적인 행동이다. 결과적으로 이것은 침입자가 ftp 데몬을 이용하여 버퍼 오버플로우 공격을 시도한 확실한 증거라 할 수 있다.FIG. 2 shows a buffer overflow attack detection log generated by the security operating system. It can be seen from the log information of FIG. 2 that the shell was attempted to be executed via the ftp daemon (in.ftpd) (shell_exec_t) and that such access was denied (excuted). Generally, this kind of access does not happen with the ftp daemon. Furthermore, these behaviors are abnormal behaviors that occur as an exception to the system. As a result, this is a clear indication that an attacker has attempted a buffer overflow attack using the ftp daemon.

위와 같이 보안 운영체제의 기능을 응용하여 비정상적인 접근에 대한 로그를 기록할 수 있다. 그렇지만 커널의 로그 정보에는 침입에 대한 증거가 될 수 있는 비정상적인 접근에 대한 로그와 다수의 일반적인 시스템 관련 로그가 같이 저장되고 어떠한 종류의 로그가 위험한지 커널 내에서 판단할 수 없다. 따라서 침입에 대한 좀 더 효과적인 대응을 할 수 있도록 어떠한 종류의 접근 정보가 위험한지를 커널 스스로 판단할 수 있도록 할 수 있게 하는 기능의 구현이 필요하다.
By applying the functions of the security operating system as above, logs of abnormal accesses can be recorded. However, the kernel's log information does not include a log of abnormal accesses that can be evidence of an intrusion and many general system-related logs, and can not determine in the kernel what kind of logs are dangerous. It is therefore necessary to implement a function that allows the kernel to determine what kind of access information is dangerous so that it can respond more effectively to the intrusion.

본 발명에서는 보안 운영체제의 접근 제어 언어를 확장하여 어떠한 종류의 접근 정보가 위험한지를 판단하는 "보안 검사"와 그에 대한 대응으로 접근 제어 리스트를 제한된 접근 제어 리스트로 변경하는 "권한 제한" 기능을 추가한 강화된 보안 커널 시스템을 구성한다.In the present invention, a "security check" for determining what kind of access information is dangerous by expanding the access control language of the security operating system and a "rights restriction" function for changing the access control list to a restricted access control list in response thereto are added Configure an enhanced secure kernel system.

보안 검사와 권한 제한 과정을 추가함으로서 침입 시도시 해당 침입을 탐지하고 차단할 뿐만 아니라 침입자에 대한 시스템 접근 제어 정책을 수정하여 침입자에 대한 시스템의 권한을 제한할 수 있게 된다. 도 3에서는 비정상적인 접근이 발생하였을 시에 피해를 예방하기 위해 "보안 검사"와 "권한 제한"을 수행하여 침입자에게 제한된 접근 제어가 적용되는 과정을 보여준다.By adding a security check and an authority restriction process, it is possible to restrict the system privilege to the intruder by modifying the system access control policy for the intruder as well as detecting and blocking the intrusion upon the intrusion attempt. FIG. 3 shows a process in which a limited access control is applied to an intruder by performing a "security check" and a "permission restriction" in order to prevent damage when an abnormal access occurs.

보안 검사는 어떠한 종류의 접근 정보가 위험한지를 침입 탐지 데이터베이스를 참조하여 판단하게 된다. 침입 탐지 데이터베이스에 위험하다고 판단할 수 있는 접근 정보를 기술하기 위하여 보안 운영체제의 접근 제어 언어에 "strict" 란 문법을 추가한다. 이 문법은 앞서 설명한 "allow" 문법과 사용 방법이 유사하다.The security check determines which type of access information is dangerous by referring to the intrusion detection database. Add "strict" syntax to the access control language of the security operating system to describe access information that can be considered dangerous to the intrusion detection database. This grammar is similar to the "allow" syntax described above.

예를 들어, 다음과 같이 strict 문법을 사용한 문구를 작성할 수 있다.For example, you can write a strict grammar as follows:

strict ftpd_t shell_exec_t:file { execute };strict ftpd_t shell_exec_t: file {execute};

상기 구문은 침입자가 ftp 데몬을 버퍼 오버플로우 방식으로 공격하여 시스템 쉘을 실행하는 공격을 정의한 strict 구문이다. 만약 "strict" 구문에 해당하는 접근이 발생하면 "권한 제한"을 통하여 침입자는 행동이 제한될 것이다. 이러한 보안 검사 기능에서 비정상적인 쉘 실행 및 관리자 권한 획득 시도, 설정파일나 로그파일 등의 변조나 삭제, 자원들에 대한 허가되지 않은 접근 등을 탐지할 수 있다.
The above syntax is a strict statement that defines an attack that invokes the system shell by attacking the ftp daemon in a buffer overflow manner. If access to the "strict" syntax occurs, intruders will be restricted from doing so through "permission restrictions". These security checks can detect unauthorized shell execution and attempts to acquire administrator privileges, tampering or deletion of configuration files or log files, and unauthorized access to resources.

앞 단계에서는 보안 검사를 통하여 모든 접근에 대한 접근 위반 여부를 판단하였다. 만약 그 과정에서 접근 위반이 탐지되어지면, 해당 침입에 대한 피해를 최소화하기 위해 "권한제한"을 실행하여 제한된 접근 제어 정책을 적용한다. 이는 보안 검사의 결과에 따라서 해당 접근에 대한 접근 정책이 동적으로 달라질 수 있다는 것을 의미한다. 권한 제한은 침입이 발생하였을 때 침입자에게서 시스템에 대한 권한을 축소하는 기능을 수행한다.In the previous step, all accesses were checked for access violation through security check. If an access violation is detected in the process, a restricted access control policy is enforced by executing "permission restrictions" to minimize the damage to the attack. This means that depending on the result of the security check, the access policy for the access can be dynamically changed. The privilege restriction function is to reduce the privilege on the system from the intruder when an intrusion occurs.

제한된 접근 제어 정책의 정의를 위하여 보안 운영체제의 구문중 'allow' 구문을 확장한다. 'allow' 구문의 끝에 보안 등급에 해당하는 state 옵션을 두어서 해당 state에 따라 정책을 변경할 수 있도록 하였다.To define the restricted access control policy, we extend the 'allow' statement in the syntax of the security operating system. At the end of the 'allow' statement, the state option corresponding to the security level is placed so that the policy can be changed according to the corresponding state.

도 4는 권한 제한을 위해 확장된 allow 구문을 보여준다.Figure 4 shows the allow syntax extended for permission restrictions.

접근 위반이 탐지되기 전에는 state 1 상태가 적용되어 파일에 대한 쓰기, 읽기, 삭제 등의 기능을 수행할 수 있지만 보안 검사에 의해 접근 위반이 탐지되면 state의 값은 3으로 변경된다. 따라서 파일에 대한 생성, 쓰기, 삭제 등의 권한은 삭제되고 읽기와 같은 최소한의 권한만 허가되어 ftp 데몬의 업로드를 제한하게 된다.Before an access violation is detected, the state 1 state is applied to perform write, read, and delete operations on the file. However, when an access violation is detected by the security check, the state value is changed to 3. Therefore, permissions to create, write, and delete files are deleted, and only the minimum permissions such as read are allowed to limit uploading of the ftp daemon.

이러한 state값은 권한 제한을 위하여 확장된 allow 구문에 추가된 값으로서 보안 검사에서 수정되어지고. 권한 제한에서 어떠한 접근 제어 정책을 적용해야 할지를 결정하는데 사용되어진다. 이 값은 커널 내부의 변수이고 유저레벨의 애플리케이션에서 수정을 할 수 없다. 유저레벨 애플리케이션에서 보안 등급을 변경할 수 없기 때문에 침입자에 의한 보안등급의 변조를 막을 수 있다.
These state values are added to the extended allow statement for permission restrictions and are modified in the security check. It is used to determine what access control policies should be applied in the authorization constraints. This value is internal to the kernel and can not be modified by user-level applications. Because user level applications can not change the security level, it is possible to prevent tampering by the intruder.

다음으로, 본 발명의 보안 운영체제에서 이용하는 리눅스의 공격탐지 시스템(Snort, 스노트), 패킷캡쳐 모듈(Libpcap), 및, IP테이블(Iptables)에 대하여 설명한다.Next, a Linux attack detection system (Snort, Snort), a packet capture module (Libpcap), and an IP table (Iptables) used in the security operating system of the present invention will be described.

리눅스 IDS인 스노트(Snort)는 오픈소스로 제작이 되어 전 세계적으로 가장 많은 사용자를 보유하고 있다. 상당량의 정보를 처리하며 NIDS, HIDS 모두를 지원하고 IDS 제작에 많은 참고가 된다. 그러나 스노트(Snort)자체만으로는 GUI를 지원하지 않으며 문자로 된 정보를 이용하기 때문에 관리자가 사용 하기 어려울뿐더러 발생 시간과 정보 인지 시간의 차이가 많이 날수 있다는 약점을 가지고 있다.Linux IDS Snort is made open source and has the largest number of users worldwide. It handles a lot of information, supports both NIDS and HIDS, and is a great reference for IDS production. Snort itself, however, does not support GUIs, and because it uses textual information, it is difficult for administrators to use it, and it has a weak point in that there is a lot of difference between the time of occurrence and the time of information.

스노트(Snort)는 network에서 실시간 traffic 분석과 packet logging을 뛰어나게 수행하는 네트워크 침입 탐지 시스템(NIDS)이다. 스노트(Snort)는 프로토콜 분석과 packet의 내용 조사, 패턴매칭이 가능하며, 버퍼 오버플로우나 스텔스 포트스캔, CGI 공격, SMB 탐지,OS fingerprinting 시도 등 다양한 공격과 탐지를 발견하는데 사용할 수 있다. 또한 traffic을 잡아내기 위해 유용한 modular plugin 구조를 가진 탐지 엔진과 같은 매우 유연한 rule language를 사용한다. 스노트(Snort)는 syslog, 사용자가 지정한 특정 파일, UNIX의 socket이나 Sambaclient를 이용한 windows popup 메세지와 일체된 alerting mechanism 같은 real-time 경보가 가능하다. Snort is a network intrusion detection system (NIDS) that performs real-time traffic analysis and packet logging on the network. Snort allows protocol analysis, packet content inspection, pattern matching, and can be used to detect various attacks and detections such as buffer overflows, stealth port scans, CGI attacks, SMB detections, and OS fingerprinting attempts. It also uses a very flexible rule language, such as a detection engine with a modular plugin structure that is useful for capturing traffic. Snort is capable of real-time alerts such as syslog, specific files specified by the user, alerting mechanisms integrated with windows popup messages using UNIX socket or Sambaclient.

스노트(Snort)는 주요한 세 가지 기능이 있다. 첫째로 스노트(Snort)는 tcpdump와 같은 packet sniffer로 바로 사용할 수 있다. 그리고 네트워크 traffic debugging에 유용한 packet logger 기능이 있다. 마지막으로 완벽한 네트워크 침입 탐지 시스템(NIDS) 기능을 가지고 있다. 스노트(Snort)는 외부 호스트의 ip 주소를 이름으로한 logging 디렉토리에 tcpdump binary format이나 스노트(Snort)의 ASCII format packet을 기록한다. 스노트(Snort)는 libpcap이 있는 곳이면 어디에서든 사용이 가능하다. Snort has three main functions. First, Snort can be used directly as a packet sniffer, such as tcpdump. There is also a packet logger function useful for network traffic debugging. Finally, it has a complete network intrusion detection system (NIDS) capability. Snort records tcpdump binary format or Snort's ASCII format packet in the logging directory with the ip address of the external host as the name. Snort can be used anywhere libpcap is available.

한편, 스노트(Snort) 프로그램은 몇 가지 구성 요소들이 플러그인 형태로 이루어져 있어 쉽게 각자의 환경에 따라 변경하고 수정할 수 있도록 되어 있는데, 기본적으로 스니퍼(sniffer), 전처리 프로세서(preprocessor), 탐지엔진, 로깅(출력) 등 4가지 구성요소로 이루어져 있다.Snort is a plug-in that allows you to easily change and modify the configuration of your snort, sniffer, preprocessor, detection engine, logging, (Output).

스노트(Snort)는 먼저 스니퍼를 통해 스노트(Snort) IDS를 통과하는 모든 패킷을 수집하게 된다. 여기에서 수집된 데이터는 바로 룰 기반의 탐지 엔진을 거치지 않고 그 전에 preprocessor를 통해 보다 효율적인 공격 탐지를 위해 HTTP 인코딩 플러그인이나 포트스캔 등 몇 가지 플러그인을 먼저 거치면서 매칭이 되는지 확인하게 된다. 물론 preprocessor 역시 모듈화 되어 있어 각자의 환경에 불필요하다면 disable 할 수 있다. 이를테면 RPC 트래픽에 대해 탐지할 필요가 없다면 RPC 관련 preprocessor를 주석처리하면 된다. Snort first collects all packets passing through the Snort IDS via the sniffer. The data collected here is not routed through a rule-based detection engine, but rather through a preprocessor to check for a more efficient attack detection by matching some plug-ins such as HTTP encoding plug-ins or port scans first. Of course, the preprocessor is also modular and can be disabled if it is not necessary for your environment. For example, if you do not need to detect RPC traffic, you can comment out the RPC-related preprocessor.

그리고 preprocessor를 통과한 패킷은 스노트(Snort) IDS의 핵심이라 할 수 있는 룰 기반의 탐지엔진을 거치면서 사전에 정의된 탐지룰과 매칭되는지 확인하게 된다. 만약 룰에 매칭되었을 경우에는 사전에 정의된 정책에 따라 로그에 남게 되고, 그렇지 않은 경우 통과를 하게 된다.Packets that pass through the preprocessor are checked through a rule-based detection engine, which is the core of Snort IDS, to match predefined detection rules. If the rule is matched, it will remain in the log according to the predefined policy, otherwise it will pass.

다음으로, 패킷캡쳐 모듈(Libpcap, Portable Packet Capturing Library)은 간단하게 패킷을 캡쳐하기 위한 함수모음(라이브러리)이다. 패킷캡쳐 모듈(Libpcap) 외에도 패킷 캡쳐를 위한 도구들이 있기는 하지만 대부분의 경우 운영체제에 종속적이어서 운영체제별로 코드를 다시 짜야 한다는 불편함이 있다. 대표적인 도구로는 SOCK_PACKET, LSF, SNOOP, SNIT 등이 있으나 Libpcap은 운영체제에 상관없이 범용적으로 사용가능한 API를 제공해줌으로 공용프로그램 혹은 공용라이브러리의 제작이 가능하도록 도와준다. Libpcap을 이용한 가장 대표적인 프로그램으로는 tcpdump와 SAINT 같은 프로그램들이 있으며 상용 IDS제품의 상당수가 패킷분석을 위해서 Libpcap을 사용하고 있다.Next, the Portable Packet Capturing Library (Libpcap) is a function collection (library) for capturing packets. In addition to the packet capture module (Libpcap), there are tools for packet capture, but in most cases it is dependent on the operating system, so it is inconvenient to rewrite the code for each operating system. Typical tools include SOCK_PACKET, LSF, SNOOP, and SNIT. However, Libpcap provides APIs that can be used universally regardless of operating system, thus helping to make public programs or public libraries. The most popular programs using Libpcap are programs such as tcpdump and SAINT, and many commercial IDS products use Libpcap for packet analysis.

다음으로, IP테이블(Iptables)은 패킷 필터링 기능을 설정하는데 사용할 수 있는 프로그램으로서 커널의 패킷 필터링 테이블에 필터링 규칙을 삽입하거나 삭제하는 도구이다. 크게 2개의 테이블로 나눌 수 있는데 하나는 패킷을 걸러주는 역할을 하는 필터(filter) 테이블이고 다른 하나는 시작주소와 목적지 주소를 따로 지정하여 차단이 가능한 나트(nat) 테이블이다. 필터(filter)보다는 나트(nat)가 많이 사용되는데 그 이유는 시작주소와 목적지주소를 각각 설정 가능하기 때문이다. nat를 사용 시 네트워크의 주소를 변환할 때 사용하는 테이블을 '-t' 옵션을 이용하여 명기해야 한다. 기본 필터링은 논리적인 3개의 체인으로 구성되어 있고 각각 INPUT, OUTPUT, FORWARD라는 이름을 가지고 있으며 체인의 정책에 따라 패킷의 ACCEPT 혹은 DROP을 결정한다.
Next, the IP table (Iptables) is a program that can be used to configure the packet filtering function and is a tool for inserting or deleting filtering rules into the kernel packet filtering table. There are two tables, one is a filter table that filters packets and the other is a nat table that can be blocked by specifying a start address and a destination address separately. A lot of nat is used rather than a filter because the start address and the destination address can be set respectively. When you use nat, you need to specify the table to use when converting the network address by using '-t' option. Basic filtering consists of three logical chains named INPUT, OUTPUT, and FORWARD, respectively, which determine the ACCEPT or DROP of a packet according to the policy of the chain.

다음으로, 본 발명의 일실시예에 따른 리눅스 커널 보안 기반 침입방지 시스템을 도 5를 참조하여 구체적으로 설명한다.Next, a Linux kernel security-based intrusion prevention system according to an embodiment of the present invention will be described in detail with reference to FIG.

도 5에서 보는 바와 같이, 시스템에 들어오는 데이터는 IP테이블(Iptables)을 통해서 예전에 공격을 시도했던 IP를 1차적으로 차단하고 그 외의 IP는 탐지엔진을 통해서 공격이라고 판명되는 경우는 차단엔진에게 해당 IP를 전달한다. 차단 엔진에서는 IP를 IP테이블(Iptables)에게 차단하라는 명령을 전달한 후 데이터베이스(DB)에 차단 IP를 저장하게 된다. 1차 IP테이블(Iptables)을 지나 탐지엔진에도 문제가 없는 IP는 시스템에서 서비스를 이용할 수 있다. 자원 모니터링(자원 모니터링 모듈)는 DB를 통해서 시스템의 정보를 GUI를 통해 보여준다.As shown in FIG. 5, the data coming into the system is primarily blocked by the IP table (Iptables) and the other IPs are attacked through the detection engine. IP. The blocking engine sends a command to the IP table (Iptables) to block the IP and stores the blocking IP in the database (DB). IP that is not problematic in the detection engine beyond the primary IP table (Iptables) can use the service in the system. Resource monitoring (resource monitoring module) shows the system information through DB through GUI.

다음으로, 탐지 엔진에 대하여 보다 구체적으로 설명한다.Next, the detection engine will be described in more detail.

도 6에서 보는 바와 같이, 탐지 엔진은 공격자로부터 들어온 패킷을 Pcap을 이용하여 각 헤더 별로 필요한 정보(mac, IP, Port, TCP Flag 등)를 수집한 다음 탐지 모듈을 통해서 패킷을 검사하여 공격이라고 판단되면 차단엔진으로 공격 정보를 전달한다.As shown in FIG. 6, the detection engine collects necessary information (mac, IP, Port, TCP Flag, etc.) for each header using Pcap from the attacker, checks the packet through the detection module, And transmits the attack information to the blocking engine.

이때, 탐지 엔진은 DOS(denial of service) 탐지 방법, SYN/ACK(SYN Flooding / ACK Storm) 탐지방법, DDoS(Distribute Denial of Sercice) 탐지방법, 포트 스캔(Port Scan) 탐지방법, TCP/SYN 스캔(TCP connect scan / SYN stealth scan) 탐지방법, 은닉 FIN/Xmas 스캔(Stealth FIN scan, Stealth Xmas scan) 탐지방법 등을 이용하여 탐지한다.At this time, the detection engine may include a denial of service (DOS) detection method, a SYN / ACK (SYN Flooding / ACK Storm) detection method, a DDoS (Distribute Denial of Sercice) detection method, a port scan detection method, (TCP connect scan / SYN stealth scan) detection method, and a hidden FIN / Xmas scan (stealth FIN scan) method.

먼저, DOS(denial of service)의 탐지 방법은 공격시도라고 판단되는 IP에 대해서 연결리스트를 만든다. 이 때 리스트의 크기를 넘게 되면 마지막 노드를 삭제 하고 새로 생성되는 노드는 처음에 삽입시킨다. 1초 안에 다음 공격이 이루어지게 되면 카운트를 1증가 시키고 1초를 넘게 된다면 카운트를 1로 초기화하면서 공격 횟수가 200이상이 된다면 공격으로 판단하게 된다.First, a denial of service (DOS) detection method creates a connection list for an IP that is determined to be an attack attempt. If the size of the list is exceeded, delete the last node and insert the newly created node first. If the next attack occurs within 1 second, the count is incremented by 1, and if it exceeds 1 second, the count is reset to 1, and if the attack count reaches 200, the attack is determined.

다음으로, SYN Flooding / ACK Storm의 탐지방법은 특정 주소로부터 SYN/ACK신호가 들어오게 된다면 일단 공격으로 의심을 하며 SYN/ACK리스트에 상대의 정보를 저장하면서 그 횟수가 시스템에 영향을 줄 수 있는 일정 수 이상이 된다면 공격으로 판단한다.Next, if the SYN / ACK signal is received from a specific address, the detection method of SYN Flooding / ACK Storm suspends the attack and stores information of the counterpart in the SYN / ACK list, If it is more than a certain number, it is judged as an attack.

다음으로, DDoS(Distribute Denial of Sercice) 탐지방법은 공격자리스트에 공격 시도라고 판단된 IP들의 정보들 중에서 1초 안에 동시에 특정 서비스로 공격이 이루어 졌다면 의도적인 DDoS공격으로 판단한다.Next, the detection method of the DDoS (Distributed Denial of Sercice) is determined to be an intentional DDoS attack if an attack is made to a specific service simultaneously within one second among the information of the IPs determined to be an attack attempt on the list of attackers.

다음으로, 포트 스캔(Port Scan) 탐지방법은 포트 table을 만들고 스캐닝이 시도 되는 포트를 table에 저장한다. 저장된 포드들 중에서 특정 스캐닝이 완벽하게 이루어 졌고 table의 크기가 일정 수 이상이 된다면 그 스캐닝 공격으로 판단하고 그렇지 않다면 스캐닝 시도로 판단한다.Next, the port scan detection method creates a port table and stores the port to be scanned in a table. If the scanning is completed perfectly and the size of the table becomes more than a certain number of the stored pods, it is judged as a scanning attack. Otherwise, it is judged as a scanning attempt.

다음으로, TCP connect scan / SYN stealth scan 의 탐지방법은 SYN가 들어 왔을 때는 일단 SYN scan으로 의심을 한다. SYN/ACK를 보냈을 때 연결이 끊긴다면 stealth scan으로 판단하고 완전한 연결이 이루어진다면 connect scan으로 판단한다.Next, the detection method of TCP connect scan / SYN stealth scan suspends SYN scan when SYN comes in. If SYN / ACK is sent, it is determined as stealth scan. If complete connection is made, it is decided as connect scan.

다음으로, Stealth FIN scan, Stealth Xmas scan 의 탐지방법은 FIN이 들어 왔을 때는 FIN scan으로 의심하고 FIN, URG, PUSH가 들어왔을 때는 Xmas scan으로 의심한다. 스캔이 실패 했을 경우는 RST을 보내고 성공 했을 경우는 패킷을 무시하는데 이때 FIN, Xmas scan으로 판단한다.Next, the detection method of the Stealth FIN scan and the Stealth Xmas scan is suspected to be FIN scan when the FIN comes in, and Xmas scan when the FIN, URG, and PUSH comes in. If the scan fails, the RST is sent. If the scan is successful, the packet is ignored. In this case, it is determined as FIN or Xmas scan.

다음으로, 차단 엔진에 대하여 보다 구체적으로 설명한다.Next, the blocking engine will be described in more detail.

도 7에서 보는 바와 같이, 차단 엔진은 상태 처리부(Stat.sh), CPU 정보부(CPU_info.sh), 메모리 정보부(Memory_info.sh), 디스크 정보부(Disk_info.sh), IP테이블 명령부(Iptables command), 사용자 정보부(Userinfo.sh), 로그파일(LOG_File)로 구성된다.7, the blocking engine includes a status processor (Stat.sh), a CPU information unit (CPU_info.sh), a memory information unit (Memory_info.sh), a disk information unit (Disk_info.sh), an IP table command unit (Iptables command) , A user information section (Userinfo.sh), and a log file (LOG_File).

차단 엔진이 구동 되는 순간 MySql로부터 전체 차단 IP리스트를 받아와서 IP테이블(Iptables) Command를 통해 차단을 하게 된다. 차단되는 IP는 서버로의 접근이 차단된다. 시스템의 정보(CPU, Memory, Disk)는 stat.sh를 통해서 Log 파일에 기록하게 되고 그 기록된 내용은 MySql에 DB로 기록을 하게 된다. User의 접속 상태와 시스템에 누가 들어와 있는지에 대한 정보를 담고 있는 Userinfo는 Log 파일을 통해 기록을 하게 되고 그 기록된 파일은 Soket통신을 통해서 GUI에 정보를 보내지게 된다.At the moment when the blocking engine is started, it receives a list of all blocked IPs from MySql and blocks through IP table (Iptables) command. Blocked IPs are blocked from accessing the server. System information (CPU, Memory, Disk) is recorded in log file through stat.sh, and recorded contents are recorded in DB in MySql. Userinfo, which contains information about the user's connection status and who is in the system, logs through the log file, and the recorded file is sent to the GUI via Soket communication.

바람직하게는, 상태 처리부(Stat.sh), CPU 정보부(CPU_info.sh), 메모리 정보부(Memory_info.sh), 디스크 정보부(Disk_info.sh), IP테이블 명령부(Iptables command), 사용자 정보부(Userinfo.sh)는 시스템에 구동되고 있는 각각의 쉘 스크립트로 구현된다.Preferably, the status processing unit (Stat.sh), the CPU information unit (CPU_info.sh), the memory information unit (Memory_info.sh), the disk information unit (Disk_info.sh), the IP table command unit (Iptables command) sh) is implemented in each shell script running on the system.

상태 처리부(Stat.sh)는 CPU, Memory, Disk의 사용률의 쉘 프로그래밍을 실시간으로 실행시켜서 업데이트 하는 역할을 수행한다.The state processing unit (Stat.sh) executes the shell programming of the usage rates of CPU, Memory, and Disk in real time and updates.

CPU 정보부(CPU_info.sh)는 CPU 사용률을 Shell 프로그래밍을 통해 추출하고, 메모리 정보부(Memory_info.sh)는 Memory 사용률을 Shell 프로그래밍을 통해 추출하고, 디스크 정보부(Disk_info.sh)는 Disk 사용률을 Shell 프로그래밍을 통해 추출한다.The CPU information part (CPU_info.sh) extracts the CPU usage rate through Shell programming, the memory information part (Memory_info.sh) extracts the memory usage rate through Shell programming, and the disk information part (Disk_info.sh) .

IP테이블 명령부(Iptables command)는 처음 시스템이 실행을 하게 되면 IP테이블(Iptables)가 초기화 되기 때문에 DB에 저장되어 있는 차단 IP를 불러와서 IP테이블(Iptables)에 추가한다. 또한, 사용자 정보부(Userinfo.sh)는 시스템 On, Off 상황, User들의 접속현황(접속시간과 유지 시간도 알 수 있음)을 추출한다.The IP table command (Iptables command) is used to initialize the IP table (Iptables) when the system is first executed. Therefore, the blocked IP stored in the DB is loaded and added to the IP table (Iptables). Also, the user information section (Userinfo.sh) extracts the system On, Off status, and the connection status of the users (the connection time and the maintenance time are also known).

로그파일(LOG_File)은 앞서 설명한 구성요소들의 쉘 프로그래밍의 모든 추출된 정보들을 로그 파일로 기록하고, 그 로그 파일을 통해서 DB / Socket 통신을 이용해서 정보들을 전달한다.
The log file (LOG_File) records all the extracted information of shell programming of the above mentioned components into a log file, and transmits the information through DB / Socket communication through the log file.

본 발명에서는 보안 운영체제의 기능을 확장하여 리눅스 커널의 강화된 보안 시스템을 구성하였다. 기존의 네트워크 기반 침입 탐지 시스템과 다르게 시스템 성능에 끼치는 영향이 적다. 또한, 본 발명에 의한 시스템은 기존의 서명으로 한 탐지 방법과 다르게, 시스템에 대한 허가되지 않은 접근 및 불법적인 권한 획득과 같은 공격을 효과적으로 탐지하고 막을 수 있을 뿐만 아니라 침입자가 침입 시도시 시스템에 대한 권한을 축소함으로서 차후의 침입 시도까지 미리 예방할 수 있다.In the present invention, an enhanced security system of the Linux kernel is constructed by extending the function of the security operating system. Unlike existing network-based intrusion detection systems, it has little impact on system performance. In addition, the system according to the present invention can effectively detect and prevent attacks such as unauthorized access to the system and unauthorized acquisition of authority, as well as detection methods using existing signatures, By reducing authority, future intrusion attempts can be prevented in advance.

또한, 본 발명에 의한 시스템은 리눅스 기반 IPS를 구현하여 실시간 자원모니터링 및 패킷 분석으로 탐지된 침입을 IP테이블(Iptables)을 이용하여 관리자의 개입 없이 능동적으로 차단할 수 있음을 알 수 있었다.
In addition, the system according to the present invention can implement a Linux-based IPS and actively block intrusions detected by real-time resource monitoring and packet analysis using an IP table (Iptables) without an administrator intervention.

이상, 본 발명자에 의해서 이루어진 발명을 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
The invention made by the present inventors has been described concretely with reference to the embodiments. However, it is needless to say that the present invention is not limited to the embodiments, and that various changes can be made without departing from the gist of the present invention.

Claims (5)

리눅스 시스템의 침입을 탐지하고, 침입으로 탐지된 접근에 접근 권한을 제한하는 리눅스 커널 보안 기반 침입방지 시스템에 있어서,
차단할 IP주소를 기록한 IP테이블;
차단할 IP주소를 기록하는 데이터베이스;
상기 IP테이블을 통해서 차단되지 않은 패킷에 대하여 공격 여부를 판명하는 탐지 엔진; 및,
공격으로 판단된 패킷의 IP주소(이하 공격 IP주소)를 상기 데이터베이스에 저장하고, 상기 공격 IP주소를 상기 IP테이블에 저장하도록 명령하는 차단 엔진 및,
상기 데이터베이스에 저장된 IP주소를 보여주는 자원 모니터링 모듈을 포함하고,
상기 차단 엔진은 상기 IP테이블을 통해서 패킷을 차단하고, 상기 리눅스 시스템의 정보를 쉘 프로그램을 통해 추출하여 로그 파일에 기록하는 것을 특징으로 하는 리눅스 커널 보안 기반 침입방지 시스템.
In a Linux kernel security-based intrusion prevention system that detects the intrusion of a Linux system and restricts access to an attack-detected access,
An IP table in which an IP address to be blocked is recorded;
A database for recording IP addresses to be blocked;
A detection engine for verifying whether or not an unblocked packet is attacked through the IP table; And
A blocking engine that stores an IP address (hereinafter, an attack IP address) of a packet determined as an attack in the database and stores the attacking IP address in the IP table;
And a resource monitoring module for displaying an IP address stored in the database,
Wherein the blocking engine blocks packets through the IP table and extracts the information of the Linux system through a shell program and records the information in a log file.
제1항에 있어서,
상기 탐지 엔진은 상기 리눅스 시스템으로 들어온 패킷을 패킷 캡쳐 모듈을 이용하여 각 헤더 별로 MAC, IP주소, 포트(Port), TCP 플래그(TCP Flag) 중 어느 하나 이상을 수집하여 패킷을 검사하는 것을 특징으로 하는 리눅스 커널 보안 기반 침입방지 시스템.
The method according to claim 1,
The detection engine collects at least one of a MAC, an IP address, a port, and a TCP flag (TCP Flag) for each header by using a packet capture module and inspects a packet received in the Linux system. Linux kernel based security intrusion prevention system.
제1항에 있어서,
상기 탐지 엔진은 DOS(denial of service) 탐지 방법, SYN/ACK(SYN Flooding / ACK Storm) 탐지방법, DDoS(Distribute Denial of Sercice) 탐지방법, 포트 스캔(Port Scan) 탐지방법, TCP/SYN 스캔(TCP connect scan / SYN stealth scan) 탐지방법, 은닉 FIN/Xmas 스캔(Stealth FIN scan, Stealth Xmas scan) 탐지방법 중 어느 하나 이상을 이용하여 패킷을 검사하는 것을 특징으로 하는 리눅스 커널 보안 기반 침입방지 시스템.
The method according to claim 1,
The detection engine may include a denial of service (DOS) detection method, a SYN / ACK (SYN Flooding / ACK Storm) detection method, a DDoS (Distributed Denial of Sercice) detection method, a port scan detection method, A TCP connect scan / SYN stealth scan detection method, and a stealth FIN scan / stealth Xmas scan detection method.
삭제delete 제1항에 있어서, 상기 차단 엔진은,
상기 리눅스 시스템의 CPU, 메모리, 디스크의 사용률의 쉘 프로그래밍을 실시간으로 실행시켜서 업데이트 하는 상태 처리부;
CPU 사용률을 쉘(Shell) 프로그래밍을 통해 추출하는 CPU 정보부;
메모리 사용률을 쉘(Shell) 프로그래밍을 통해 추출하는 메모리 정보부;
디스크 사용률을 Shell 프로그래밍을 통해 추출하는 디스크 정보부;
상기 데이터베이스에 저장된 IP주소를 불러와서 테이블(Iptables)에 추가하는 IP테이블 명령부;
상기 리눅스 시스템의 온(On)/오프(Off) 상태, 사용자들의 접속 현황을 추출하는 사용자 정보부; 및,
추출된 사용률, 상태, 현황을 저장하는 로그파일을 포함하는 것을 특징으로 하는 리눅스 커널 보안 기반 침입방지 시스템.
2. The engine of claim 1,
A status processing unit for executing shell programming of a usage rate of a CPU, a memory, and a disk of the Linux system in real time to update the shell program;
A CPU information section for extracting CPU utilization through shell programming;
A memory information part for extracting a memory usage rate through shell programming;
A disk information part for extracting the disk usage rate through Shell programming;
An IP table command unit for retrieving an IP address stored in the database and adding the IP address to a table (Iptables);
An On / Off state of the Linux system, a user information part for extracting a connection state of users; And
And a log file for storing the extracted usage rate, status, and status of the Linux kernel based intrusion prevention system.
KR1020130008265A 2013-01-24 2013-01-24 An Intrusion Prevention System Using Enhanced Security Linux kernel KR101416618B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130008265A KR101416618B1 (en) 2013-01-24 2013-01-24 An Intrusion Prevention System Using Enhanced Security Linux kernel

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130008265A KR101416618B1 (en) 2013-01-24 2013-01-24 An Intrusion Prevention System Using Enhanced Security Linux kernel

Publications (1)

Publication Number Publication Date
KR101416618B1 true KR101416618B1 (en) 2014-07-09

Family

ID=51741515

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130008265A KR101416618B1 (en) 2013-01-24 2013-01-24 An Intrusion Prevention System Using Enhanced Security Linux kernel

Country Status (1)

Country Link
KR (1) KR101416618B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117354052A (en) * 2023-12-04 2024-01-05 北京国双科技有限公司 Network intrusion protection system based on data identification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050000734A (en) * 2003-06-24 2005-01-06 주식회사 케이티네트웍스 A system for controlling communication and a method thereof
KR20060121409A (en) * 2005-05-24 2006-11-29 권영미 A design of intrusion detection and protection system using netfilter framework
KR20110037645A (en) * 2009-10-07 2011-04-13 한국전자통신연구원 Apparatus and method for protecting ddos

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050000734A (en) * 2003-06-24 2005-01-06 주식회사 케이티네트웍스 A system for controlling communication and a method thereof
KR20060121409A (en) * 2005-05-24 2006-11-29 권영미 A design of intrusion detection and protection system using netfilter framework
KR20110037645A (en) * 2009-10-07 2011-04-13 한국전자통신연구원 Apparatus and method for protecting ddos

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117354052A (en) * 2023-12-04 2024-01-05 北京国双科技有限公司 Network intrusion protection system based on data identification
CN117354052B (en) * 2023-12-04 2024-03-12 北京国双科技有限公司 Network intrusion protection system based on data identification

Similar Documents

Publication Publication Date Title
US20190166147A1 (en) Secure computing environment
US7398389B2 (en) Kernel-based network security infrastructure
US20060026683A1 (en) Intrusion protection system and method
Zimba Malware-free intrusion: a novel approach to ransomware infection vectors
Gupta et al. Taxonomy of cloud security
Alotaibi et al. Sdn-based detection of self-propagating ransomware: the case of badrabbit
Deng et al. Lexical analysis for the webshell attacks
Shan et al. Enforcing mandatory access control in commodity OS to disable malware
Carter et al. Intrusion prevention fundamentals
Hong et al. SysFlow: Toward a Programmable Zero Trust Framework for System Security
Shan et al. Tracer: enforcing mandatory access control in commodity OS with the support of light-weight intrusion detection and tracing
Pallavi et al. An analysis on network security tools and systems
Malik et al. Multi pronged approach for ransomware analysis
Urias et al. Applying a threat model to cloud computing
KR101416618B1 (en) An Intrusion Prevention System Using Enhanced Security Linux kernel
Sharma et al. Smartphone security and forensic analysis
Khamdamov et al. Method of developing a web-application firewall
Kakareka Detecting system intrusions
Kumar et al. A review on 0-day vulnerability testing in web application
Hassan et al. Enterprise Defense Strategies Against Ransomware Attacks: Protection Against Ransomware Attacks on Corporate Environment
Panagiotakopoulos Assessing open and closed EDRs
Cahill Combatting Advanced Malware Designed to Evade Detection
Geogen et al. Mobile malware
Kamble Penetration Testing on Android and Windows
Albanese et al. The Case for Using Layered Defenses to Stop Worms

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170623

Year of fee payment: 4