공격 표면은 외부에서 접근 가능한 모든 노출 지점을 뜻하며, 방어자는 이 범위를 먼저 파악해야 한다.[1] 노출 지점이 늘어날수록 점검해야 할 경로도 함께 증가하므로, 공격 표면을 줄이는 일은 보안의 출발점에 가깝다.

1. 개요

공격 표면은 단일 기능이나 개별 취약점을 뜻하지 않는다. 시스템, 서비스, 계정, 네트워크 경로, 외부 연동, 물리적 출입 지점처럼 공격자가 접촉할 수 있는 모든 면을 포함한다.[1]

이 개념은 사이버 공격의 경로를 이해하는 데 유용하다. 공격 표면을 분해해서 보면 무엇이 노출되어 있는지, 어디에 보안 취약점이 숨어 있는지, 어떤 접점이 먼저 줄어야 하는지 구분하기가 쉬워진다.

2. 구성 요소

공격 표면은 보통 네트워크, 소프트웨어, 클라우드, 사람, 물리적 접점으로 나누어 본다. 네트워크 측면에서는 공개 포트와 원격 접속 지점이 핵심이고, 소프트웨어 측면에서는 운영체제, 애플리케이션, 라이브러리, API가 포함된다.[2]

사람과 운영 절차도 공격 표면을 키운다. 계정 공유, 피싱 대응 미흡, 권한 부여 오류, 설정 변경 절차의 누락은 모두 자산 관리접근 통제가 느슨할 때 커진다. 물리적 공간에서는 출입 통제, 장비 접근, 저장매체 반출입이 노출 지점이 된다.[2]

3. 공격 표면 관리

공격 표면 관리는 이런 노출 지점을 찾아내고, 우선순위를 매기고, 지속적으로 줄이는 작업이다. 실제 운영에서는 방화벽 규칙, 공개 서비스, API 노출, 원격 관리 경로를 함께 본다.[3]

이 과정은 단발성 점검으로 끝나지 않는다. 새로운 서비스가 배포되거나 네트워크 보안 정책이 바뀌면 공격 표면도 즉시 달라지므로, 자산 목록과 설정 상태를 계속 갱신해야 한다. 사이버보안 운영에서 이 갱신 주기가 늦어지면 미확인 노출이 쌓이기 쉽다.[3]

4. 공격 표면과 취약점의 차이

공격 표면은 공격자가 닿을 수 있는 범위 전체를 가리키고, 취약점은 그 범위 안에서 실제로 악용 가능한 약점을 뜻한다. 따라서 공격 표면이 넓어도 취약점이 없을 수 있고, 공격 표면이 좁아도 치명적인 취약점 하나가 큰 사고로 이어질 수 있다.[1]

실무에서는 두 문제를 같이 다뤄야 한다. 공격 표면을 줄이면 노출 기회를 줄일 수 있고, 남아 있는 취약점을 제거하면 같은 표면 안에서도 피해 가능성을 낮출 수 있다. 그래서 보안 취약점 관리와 공격 표면 관리는 서로 보완적이다.[2]

5. 운영 시 유의점

공격 표면을 줄일 때는 기능을 무조건 닫는 방식보다, 우선순위를 나눠 적용하는 편이 낫다. 외부 공개 서비스, 관리 콘솔, 원격 접속, 비활성 계정, 오래된 연동부터 정리하면 가시적인 효과가 빠르게 나타난다.[3]

또한 표면을 줄이는 과정은 문서화가 필요하다. 어떤 자산이 제거되었는지, 어떤 포트가 닫혔는지, 어떤 예외가 남아 있는지 기록해야 후속 점검에서 자산 관리네트워크 보안 기준을 다시 확인할 수 있다.[2]

6. 같이 보기

이 주제는 사이버보안 운영 전반과 맞닿아 있다.[1]

7. 관련 문서

8. 인용 및 각주

[1] Ccsrc.nist.gov(새 탭에서 열림)

[2] Bblog.securelayer7.net(새 탭에서 열림)

[3] Ffidelissecurity.com(새 탭에서 열림)