계층적 방어

취약점 하나가 곧 침해가 되지 않도록 여러 계층에서 막는다

버퍼 오버플로우, 악성 코드, 권한 탈취는 서로 다른 경로로 들어오지만 입력 검증, 실행 방지, 강제 접근 제어, 감시가 함께 작동해야 한다.

메모리 공격 방어

경계 검사 문자열 복사는 버퍼 크기를 기준으로 제한하고, 널 종료 여부까지 확인한다.
스택 카나리 반환 주소 앞의 임의 값을 확인해 스택 변조를 함수 반환 전에 탐지한다.
주소 무작위화 스택, 힙, 코드 영역 위치를 예측하기 어렵게 만들어 코드 재사용 공격 비용을 높인다.

침해 이후 확산 제한

강제 접근 보안 컨텍스트와 프로파일이 루트 권한 프로세스의 허용되지 않은 파일 접근도 차단한다.
방화벽 기본 입력 차단 뒤 기존 연결, 관리 포트, 서비스 포트만 명시적으로 허용한다.
무결성 검사 중요 실행 파일의 해시 변화를 감시해 루트킷이나 파일 변조 징후를 찾는다.
네트워크 필요한 포트만 열고 비정상 연결 시도를 기록한다.
운영체제 보안 패치, 강제 접근 제어, 감사 로그를 유지한다.
애플리케이션 입력 검증과 안전한 함수 사용으로 취약점 발생 가능성을 줄인다.
데이터 암호화, 해시, 백업으로 유출과 변조 피해를 줄인다.