Closed

Description
안녕하세요. 프로세스를 필터링하는 프로젝트를 진행하고 있습니다.
참고서적은 직접 설계하고 개발하는 IOT 백신입니다
질문을 위한 배경설명이 다소 장황한점 양해 부탁드립니다..
현재 진행 된 사항은 리눅스 환경에서 Linux Security Model 프레임워크를 활용하여, 프로세스가 생성될때 단일패턴과 비교 후 차단까지는 구현한 상태입니다.
이어서 사용자레벨에 존재하는 파일형태의 시그니처 DB를 생성 후 매칭하는 방식으로 개발하려 했으나,
프로세스 발생시마다, 사용자 레벨& 커널레벨 의 문맥교환으로 발생하는 부하와,
결정적으로 사용자레벨에 있는 파일을 커널레벨에서 read write하면 보안상 좋지 않다. 라는 문서를 보게되어 계획을 변경했습니다.
하여, 궁여지책으로 모듈을 두개로 나누어 개발하는 방향으로 생각중입니다.
- 탐지용 커널모듈과 DB용 커널모듈을 분리
- DB용 커널은 시그니처 패턴이 하드코딩 되어있는 상태로(대략 100개) 탐지용 커널이 활용 할 수 있도록 심볼을 노출시킵니다. (메모리에 올림..)
- 탐지용 커널모듈은 실시간으로 생성되는 프로세스를 감시하며 메모리에 DB용 커널모듈이 올려주는 패턴과 비교하여 허용/차단을 실시함
- 위의 방법으로 개발시 발생할 수 있는 문제점이 궁금합니다. 그것을 보완하기 위해서는 어떻게 해야 할까요?
- 시그니처를 관리하기 위한 방법에 대해 조언을 부탁드립니다. 필요하다면 전체 구조를 변경 할 예정입니다.
감사합니다.