X라는 애플리케이션이 있다고 가정해 보겠습니다. X에서 발행한 시스템 호출만 추적합니다. 예를 들어 "CS-STILo”. 시스템은 비정상적인 시스템 호출 시퀀스를 감지하여 코드 재사용 공격을 감지합니다.
공격이 탐지되었을 때 이를 차단하려면 어떻게 해야 합니까? Stackable Filesystems(예: Wrapfs)를 사용하여 실행하기 전에 시스템 호출을 중지할 수 있나요? 그렇지 않다면 다른 방법이 있나요?
답변1
가지다SELinux그리고갑옷을 적용(MAC - 필수 액세스 제어라고 함).
AFAIK RedHat, CentOS는 SELinux를 사용합니다.
SuSe, Debian 및 Ubuntu는 기본적으로 AppArmour를 사용합니다.
즉, SELinux 또는 AppArmor를 활성화할 때 어떤 애플리케이션/데몬이 어떤 리소스(포트, 소켓, 파일 시스템)에 액세스할 수 있는지에 대한 권한을 부여해야 합니다.
예를 들어, tomcat 데몬이 포트 3306에서 MySQL 데이터베이스에 액세스하거나 Apache 웹 서버가 파일 시스템에 액세스하도록 허용해야 합니다 /var/www
.
시스템 호출이 차단될 때마다, 즉. SELinux는 Tomcat이 /var/log/audit.log
Linux 버전에 따라 기록되거나 유사한 MySQL에 액세스하는 것을 방지합니다 .