234. IPS (Intrusion Prevention System, 침입 방지 시스템)

⚠️ 이 문서는 방화벽(Firewall)이 열어준 80포트를 타고 들어온 해킹 패킷을 발견하고도 옆에서 "해킹이다!"라고 경고 알람만 울릴 뿐 정작 길을 막지 못해 속수무책이던 수동적인 IDS(침입 탐지 시스템)의 무능함을 박살 내기 위해, **아예 사내망으로 들어오는 메인 랜선을 물리적으로 가로막고 서서(In-band 배치), 지나가는 모든 패킷의 배를 갈라 악성 코드가 발견되는 그 즉시 허공으로 패킷을 날려버리고(Drop) 능동적으로 해커를 사살하는 실전형 방어 무기인 'IPS(침입 방지 시스템)'**를 다룹니다.

핵심 인사이트 (3줄 요약)

  1. 본질: 탐지(Detection)를 넘어 방지(Prevention)를 수행한다. IDS가 CCTV라면, IPS는 길목 한가운데 서서 몽둥이를 들고 있는 '무장 경비병'이다. 오용 탐지(시그니처)나 이상 탐지를 통해 1바이트의 악성코드라도 캐치하면 물리적으로 선을 끊어버린다.
  2. 가치: 관리자가 자고 있는 새벽 3시에 디도스(DDoS)나 제로데이 해킹 공격이 들어와도, 장비 스스로 0.1초 만에 판단하여 악성 패킷을 버려주므로 회사 서버가 털리는 것을 실시간으로 완벽하게 방어해 내는 1차 방어선이다.
  3. 기술 체계 (치명적 한계): 본선(메인 랜선)을 막고 서 있는 인라인(In-line / In-band) 구조이므로, 정상 고객을 해커로 오해해서 차단해 버리는 **'오탐(False Positive)의 재앙'**과, 기계가 뻗었을 때 사내 인터넷이 다 끊기는 단일 장애점(SPOF) 리스크를 무조건 바이패스(Fail-Open) 기술로 극복해야만 한다.

Ⅰ. 방관자 IDS의 한계와 무장 경비병 IPS의 등판

소리쳐봤자 이미 도둑은 금고를 털어갔다. 문을 막아 세워라.

  1. IDS(Out-of-band)의 치명적 무능함:
    • 어제 배운 IDS는 스위치 옆구리에서 복사본(Mirror) 패킷만 구경한다.
    • 해커가 악성 패킷을 쏘면 IDS가 0.1초 만에 "해킹입니다!"라고 보안팀장 스마트폰에 문자를 쏜다.
    • 하지만 0.1초 만에 악성 패킷 원본은 이미 서버로 도착했고, 서버는 랜섬웨어에 감염되어 폭파되었다. 사후 약방문에 불과하다.
  2. IPS의 인라인 (In-line) 권력:
    • IPS는 스위치 옆으로 빠지지 않는다. 인터넷에서 들어오는 메인 랜선을 아예 자기 기계에 꽂아버린다(직렬/인라인 연결).
    • 인터넷 $\rightarrow$ 방화벽 $\rightarrow$ IPS $\rightarrow$ 사내 스위치 $\rightarrow$ 서버 순서로 모든 트래픽이 무조건 IPS의 뱃속을 거쳐 가게 통제한다.
  3. 능동적 차단 (Drop & TCP Reset):
    • 지나가는 패킷 껍데기를 까보니 수배 전단지(Signature)에 있는 SQL 인젝션 공격 문자열(UNION SELECT)이 들어있다.
    • IPS는 0.001초 만에 이 패킷을 쓰레기통에 폐기(Drop)해버리고, 해커의 PC로 가짜 TCP RST(연결 끊기) 신호를 쏴서 통신 채널 자체를 완전히 박살 내버린다. 사내 서버는 공격이 있었는지조차 모른 채 평온을 유지한다.

📢 섹션 요약 비유: IDS는 은행 천장에 매달린 고화질 CCTV입니다. 복면강도가 총을 꺼내면 사이렌은 기가 막히게 울리지만, 강도가 돈을 털고 도망가는 걸 물리적으로 막을 순 없습니다(차단 불가). IPS는 은행 정문에 서 있는 터미네이터 로봇 가드(인라인)입니다. 들어오는 모든 손님의 가방을 직접 열어보고, 권총(악성코드)이 발견되면 그 자리에서 손님을 걷어차고 문 밖으로 내동댕이치는(Drop) 강력하고 실질적인 무력 대응 시스템입니다.


Ⅱ. IPS 운영의 딜레마: 양날의 검

정의로운 철퇴는 때때로 선량한 시민의 머리를 깬다.

  1. 오탐(False Positive)의 끔찍한 재앙:
    • IPS는 의심스러우면 일단 차단하고 본다.
    • 새벽에 사내 개발팀 과장님이 정상적인 서버 대용량 백업 스크립트를 돌렸다.
    • IPS의 이상 탐지(Anomaly) 엔진이 "어? 평소에 안 하던 대용량 트래픽이 발생하네? 데이터 유출 해킹이다!"라며 개발팀 과장님의 패킷을 가차 없이 끊어버린다(차단). 다음 날 아침 회사 백업 데이터가 다 날아가는 대형 사고가 터진다.
    • 방화벽은 규칙이 명확해 오탐이 적지만, IPS는 패턴의 융통성 때문에 정상 트래픽을 해킹으로 착각해 끊어버리는 **'비즈니스 차단 사고(오탐)'**가 끊임없이 발생하여 보안팀의 등골을 빼먹는다.
  2. 튜닝(Tuning)과 모니터링 모드의 필수성:
    • 그래서 IPS 기계를 처음 사 오면 절대 '차단 모드(Prevention)'로 켜지 않는다.
    • 처음 한 달간은 IDS처럼 '경고 모드(Detection only)'로 켜두고 지켜본다.
    • "아, 룰 번호 104번은 우리 회사 시스템의 정상 패킷을 계속 해킹으로 오해하네?" $\rightarrow$ 이 룰은 예외 처리(Whitelist)로 빼버리는 지독한 룰 튜닝 노가다를 거친 뒤에야 비로소 차단 스위치를 켠다.

📢 섹션 요약 비유: 로봇 가드(IPS)는 범죄자를 잘 잡지만 의심병이 너무 심합니다. 선량한 직원이 주머니에서 검은색 지갑을 꺼내려고(정상 통신) 손을 넣었는데, 로봇 가드는 "총을 꺼낸다(오탐, False Positive)!"라고 착각하고 직원의 뚝배기를 깨버립니다(차단). 회사가 마비되죠. 그래서 처음 한 달간 로봇 가드에게 총 대신 뿅망치를 주고(경고 모드), 어떤 행동이 진짜 위협이고 어떤 게 평범한 직원들의 습관(튜닝)인지 달달 학습시킨 뒤에야 비로소 진짜 실탄(차단 모드)을 장전시켜 주는 길들이기 기간이 필수입니다.


Ⅲ. 병목 현상과 페일 오픈 (Fail-Open) 생존술

보안보다 더 중요한 것은 인터넷이 끊기지 않는 것이다.

  1. 단일 장애점(SPOF)의 공포와 트래픽 병목:
    • IPS는 10Gbps의 트래픽 패킷 내용물을 하나하나 돋보기로 다 뜯어봐야 한다. CPU와 메모리 부하가 엄청나다. (성능 병목 지점)
    • 만약 디도스(DDoS) 트래픽이 폭주해서 IPS 기계의 CPU가 100%를 치고 연기를 뿜으며 사망해 버리면 어떻게 될까?
    • 인라인(직렬)으로 꽂혀 있기 때문에, IPS 기계가 죽으면 사내 1만 명의 인터넷이 모조리 끊기는 대형 장애(SPOF)가 터져버린다.
  2. 구원의 기술: 페일 오픈 (Fail-Open / Bypass):
    • 이 재앙을 막기 위해 IPS 장비에는 특수한 랜카드(Bypass NIC)가 달려있다.
    • 기계의 CPU가 죽거나 전원 코드가 뽑히는 순간, 랜카드 내부의 릴레이 스위치가 '찰칵' 하고 붙으면서 **"보안 검사를 포기하고 그냥 들어오는 랜선과 나가는 랜선을 물리적인 구리선으로 직통 연결해 버려라!"**라는 마법을 부린다.
    • 비록 10분간 해킹 무방비 상태(보안 공백)가 되더라도, 사내 인터넷은 절대 끊기지 않고 트래픽이 슝슝 지나가게(Pass) 살려두는 엔터프라이즈 인프라의 위대한 생존 철학이다. (반대로 보안이 목숨보다 중요한 군부대는 망이 죽어버리는 Fail-Close를 택한다.)

📢 섹션 요약 비유: 고속도로 톨게이트(IPS)에서 직원이 과로로 쓰러졌습니다. 차단기를 꽉 닫아놓고 구급차가 올 때까지 차들을 세워두면 고속도로가 지옥이 됩니다(인터넷 단절). 페일 오픈(Fail-Open) 기술은 직원이 쓰러지는 순간, 차단기 바(Bar)가 펑 하고 허공으로 날아가 버리며 "오늘 하루 요금소 공짜! 그냥 밟고 지나가세요!"라며 톨게이트를 뻥 뚫린 일직선 국도로 만들어버리는 것입니다. 비록 무면허 운전자(해커)가 몇 명 통과할 위험은 있지만, 수만 대의 자동차 물류망(사내 서비스)이 마비되는 최악의 국가 재난은 피하게 해주는 고육지책입니다.