반환 주소 앞 손상 탐지
스택 프레임의 카나리 값이 바뀌면 함수 반환 전에 프로세스를 중단한다.
컴파일 옵션, 커널 메모리 정책, MAC, 방화벽, 로그 모니터링은 서로 다른 실패 지점을 겨냥한다.
스택 프레임의 카나리 값이 바뀌면 함수 반환 전에 프로세스를 중단한다.
스택과 힙을 실행 불가 페이지로 표시해 주입한 쉘코드 실행을 어렵게 만든다.
스택, 힙, 라이브러리, PIE 실행 파일의 위치를 무작위화해 ROP 주소 계산을 어렵게 한다.
Full RELRO는 동적 링킹 뒤 GOT를 읽기 전용으로 바꿔 함수 포인터 덮어쓰기를 막는다.
SELinux나 AppArmor가 프로세스 타입별 파일, 네트워크, capability 사용 범위를 제한한다.
AIDE, Tripwire, 패키지 검증은 시스템 바이너리와 설정 파일이 몰래 바뀌었는지 비교한다.
인증 실패, sudo 사용, 비정상 포트, 새 SetUID 파일을 함께 보면 단일 로그보다 침해 흐름이 잘 보인다.
iptables나 nftables는 허용한 서비스만 열고 기존 연결 상태를 추적해 노출면을 줄인다.