누가 무엇을 노리는가 — 위협 모델
보안을 공부할 때 가장 먼저 해야 할 질문은 "누가 공격하는가"입니다. 모든 위협을 동등하게 방어하려 하면 비용이 폭발합니다. 위협 모델은 공격자가 누구인지, 무엇을 원하는지, 어떤 능력을 갖췄는지를 정의하는 작업입니다. 그 다음에야 적절한 방어 수단을 설계할 수 있습니다.
공격자의 종류와 목적
네트워크를 노리는 공격자는 하나가 아닙니다. 스크립트 키디는 인터넷에서 구한 자동화 도구로 무작위 대상을 스캔합니다. 목적은 재미나 연습인 경우가 많습니다. 금전적 동기를 가진 범죄 집단은 랜섬웨어를 퍼뜨리거나 개인정보를 훔쳐 팝니다. 국가 배후 해킹 그룹은 장기간 잠복하며 핵심 인프라를 노립니다. 내부자 위협은 조직 내부 사람이 의도적으로 혹은 실수로 정보를 유출합니다.
공격자의 목적은 크게 기밀성 침해, 무결성 침해, 가용성 침해로 나뉩니다. 데이터를 몰래 읽는 것이 기밀성 침해, 데이터를 몰래 바꾸는 것이 무결성 침해, 서비스를 멈추게 하는 것이 가용성 침해입니다. 이 세 가지를 묶어 CIA 트라이어드라 부릅니다.
패시브 공격과 액티브 공격
공격 방식은 크게 수동(passive)과 능동(active)으로 나뉩니다.
패시브 공격은 네트워크 트래픽을 가로채 읽기만 합니다. 공격자는 아무것도 보내지 않으므로 흔적이 거의 없습니다. 무선 네트워크에서 암호화되지 않은 패킷을 스니핑하는 것이 대표적입니다. 탐지하기 어렵기 때문에 오랜 기간 지속될 수 있습니다.
액티브 공격은 패킷을 위조하거나 삽입하거나 변조합니다. 중간자 공격(MITM)은 공격자가 통신 경로 중간에 끼어들어 양쪽 모두와 개별적으로 통신하면서 내용을 가로채거나 변조합니다. DoS(Denial of Service) 공격은 대량의 트래픽이나 요청을 쏟아내 서비스를 마비시킵니다.
신뢰 경계를 정의해야 한다
위협 모델의 실용적 출발점은 신뢰 경계를 그리는 것입니다. 내 조직 내부 트래픽과 외부에서 들어오는 트래픽을 구분합니다. 어떤 포트가 열려 있고, 어떤 프로토콜이 오가며, 어떤 데이터가 가장 민감한지를 목록으로 만듭니다. 이 경계를 명확히 해야 방화벽 규칙을 올바르게 설계할 수 있고, 어디에 암호화가 필요한지를 판단할 수 있습니다.
다음 절에서는 이 신뢰 경계를 구현하는 첫 번째 장치인 방화벽을 살펴봅니다.