234. IPS (Intrusion Prevention System, 침입 방지 시스템)
⚠️ 이 문서는 방화벽(Firewall)이 열어준 80포트를 타고 들어온 해킹 패킷을 발견하고도 옆에서 "해킹이다!"라고 경고 알람만 울릴 뿐 정작 길을 막지 못해 속수무책이던 수동적인 IDS(침입 탐지 시스템)의 무능함을 박살 내기 위해, **아예 사내망으로 들어오는 메인 랜선을 물리적으로 가로막고 서서(In-band 배치), 지나가는 모든 패킷의 배를 갈라 악성 코드가 발견되는 그 즉시 허공으로 패킷을 날려버리고(Drop) 능동적으로 해커를 사살하는 실전형 방어 무기인 'IPS(침입 방지 시스템)'**를 다룹니다.
핵심 인사이트 (3줄 요약)
- 본질: 탐지(Detection)를 넘어 방지(Prevention)를 수행한다. IDS가 CCTV라면, IPS는 길목 한가운데 서서 몽둥이를 들고 있는 '무장 경비병'이다. 오용 탐지(시그니처)나 이상 탐지를 통해 1바이트의 악성코드라도 캐치하면 물리적으로 선을 끊어버린다.
- 가치: 관리자가 자고 있는 새벽 3시에 디도스(DDoS)나 제로데이 해킹 공격이 들어와도, 장비 스스로 0.1초 만에 판단하여 악성 패킷을 버려주므로 회사 서버가 털리는 것을 실시간으로 완벽하게 방어해 내는 1차 방어선이다.
- 기술 체계 (치명적 한계): 본선(메인 랜선)을 막고 서 있는 인라인(In-line / In-band) 구조이므로, 정상 고객을 해커로 오해해서 차단해 버리는 **'오탐(False Positive)의 재앙'**과, 기계가 뻗었을 때 사내 인터넷이 다 끊기는 단일 장애점(SPOF) 리스크를 무조건 바이패스(Fail-Open) 기술로 극복해야만 한다.
Ⅰ. 방관자 IDS의 한계와 무장 경비병 IPS의 등판
소리쳐봤자 이미 도둑은 금고를 털어갔다. 문을 막아 세워라.
- IDS(Out-of-band)의 치명적 무능함:
- 어제 배운 IDS는 스위치 옆구리에서 복사본(Mirror) 패킷만 구경한다.
- 해커가 악성 패킷을 쏘면 IDS가 0.1초 만에 "해킹입니다!"라고 보안팀장 스마트폰에 문자를 쏜다.
- 하지만 0.1초 만에 악성 패킷 원본은 이미 서버로 도착했고, 서버는 랜섬웨어에 감염되어 폭파되었다. 사후 약방문에 불과하다.
- IPS의 인라인 (In-line) 권력:
- IPS는 스위치 옆으로 빠지지 않는다. 인터넷에서 들어오는 메인 랜선을 아예 자기 기계에 꽂아버린다(직렬/인라인 연결).
- 인터넷 $\rightarrow$ 방화벽 $\rightarrow$ IPS $\rightarrow$ 사내 스위치 $\rightarrow$ 서버 순서로 모든 트래픽이 무조건 IPS의 뱃속을 거쳐 가게 통제한다.
- 능동적 차단 (Drop & TCP Reset):
- 지나가는 패킷 껍데기를 까보니 수배 전단지(Signature)에 있는 SQL 인젝션 공격 문자열(
UNION SELECT)이 들어있다. - IPS는 0.001초 만에 이 패킷을 쓰레기통에 폐기(Drop)해버리고, 해커의 PC로 가짜
TCP RST(연결 끊기)신호를 쏴서 통신 채널 자체를 완전히 박살 내버린다. 사내 서버는 공격이 있었는지조차 모른 채 평온을 유지한다.
- 지나가는 패킷 껍데기를 까보니 수배 전단지(Signature)에 있는 SQL 인젝션 공격 문자열(
📢 섹션 요약 비유: IDS는 은행 천장에 매달린 고화질 CCTV입니다. 복면강도가 총을 꺼내면 사이렌은 기가 막히게 울리지만, 강도가 돈을 털고 도망가는 걸 물리적으로 막을 순 없습니다(차단 불가). IPS는 은행 정문에 서 있는 터미네이터 로봇 가드(인라인)입니다. 들어오는 모든 손님의 가방을 직접 열어보고, 권총(악성코드)이 발견되면 그 자리에서 손님을 걷어차고 문 밖으로 내동댕이치는(Drop) 강력하고 실질적인 무력 대응 시스템입니다.
Ⅱ. IPS 운영의 딜레마: 양날의 검
정의로운 철퇴는 때때로 선량한 시민의 머리를 깬다.
- 오탐(False Positive)의 끔찍한 재앙:
- IPS는 의심스러우면 일단 차단하고 본다.
- 새벽에 사내 개발팀 과장님이 정상적인 서버 대용량 백업 스크립트를 돌렸다.
- IPS의 이상 탐지(Anomaly) 엔진이 "어? 평소에 안 하던 대용량 트래픽이 발생하네? 데이터 유출 해킹이다!"라며 개발팀 과장님의 패킷을 가차 없이 끊어버린다(차단). 다음 날 아침 회사 백업 데이터가 다 날아가는 대형 사고가 터진다.
- 방화벽은 규칙이 명확해 오탐이 적지만, IPS는 패턴의 융통성 때문에 정상 트래픽을 해킹으로 착각해 끊어버리는 **'비즈니스 차단 사고(오탐)'**가 끊임없이 발생하여 보안팀의 등골을 빼먹는다.
- 튜닝(Tuning)과 모니터링 모드의 필수성:
- 그래서 IPS 기계를 처음 사 오면 절대 '차단 모드(Prevention)'로 켜지 않는다.
- 처음 한 달간은 IDS처럼 '경고 모드(Detection only)'로 켜두고 지켜본다.
- "아, 룰 번호 104번은 우리 회사 시스템의 정상 패킷을 계속 해킹으로 오해하네?" $\rightarrow$ 이 룰은 예외 처리(Whitelist)로 빼버리는 지독한 룰 튜닝 노가다를 거친 뒤에야 비로소 차단 스위치를 켠다.
📢 섹션 요약 비유: 로봇 가드(IPS)는 범죄자를 잘 잡지만 의심병이 너무 심합니다. 선량한 직원이 주머니에서 검은색 지갑을 꺼내려고(정상 통신) 손을 넣었는데, 로봇 가드는 "총을 꺼낸다(오탐, False Positive)!"라고 착각하고 직원의 뚝배기를 깨버립니다(차단). 회사가 마비되죠. 그래서 처음 한 달간 로봇 가드에게 총 대신 뿅망치를 주고(경고 모드), 어떤 행동이 진짜 위협이고 어떤 게 평범한 직원들의 습관(튜닝)인지 달달 학습시킨 뒤에야 비로소 진짜 실탄(차단 모드)을 장전시켜 주는 길들이기 기간이 필수입니다.
Ⅲ. 병목 현상과 페일 오픈 (Fail-Open) 생존술
보안보다 더 중요한 것은 인터넷이 끊기지 않는 것이다.
- 단일 장애점(SPOF)의 공포와 트래픽 병목:
- IPS는 10Gbps의 트래픽 패킷 내용물을 하나하나 돋보기로 다 뜯어봐야 한다. CPU와 메모리 부하가 엄청나다. (성능 병목 지점)
- 만약 디도스(DDoS) 트래픽이 폭주해서 IPS 기계의 CPU가 100%를 치고 연기를 뿜으며 사망해 버리면 어떻게 될까?
- 인라인(직렬)으로 꽂혀 있기 때문에, IPS 기계가 죽으면 사내 1만 명의 인터넷이 모조리 끊기는 대형 장애(SPOF)가 터져버린다.
- 구원의 기술: 페일 오픈 (Fail-Open / Bypass):
- 이 재앙을 막기 위해 IPS 장비에는 특수한 랜카드(Bypass NIC)가 달려있다.
- 기계의 CPU가 죽거나 전원 코드가 뽑히는 순간, 랜카드 내부의 릴레이 스위치가 '찰칵' 하고 붙으면서 **"보안 검사를 포기하고 그냥 들어오는 랜선과 나가는 랜선을 물리적인 구리선으로 직통 연결해 버려라!"**라는 마법을 부린다.
- 비록 10분간 해킹 무방비 상태(보안 공백)가 되더라도, 사내 인터넷은 절대 끊기지 않고 트래픽이 슝슝 지나가게(Pass) 살려두는 엔터프라이즈 인프라의 위대한 생존 철학이다. (반대로 보안이 목숨보다 중요한 군부대는 망이 죽어버리는 Fail-Close를 택한다.)
📢 섹션 요약 비유: 고속도로 톨게이트(IPS)에서 직원이 과로로 쓰러졌습니다. 차단기를 꽉 닫아놓고 구급차가 올 때까지 차들을 세워두면 고속도로가 지옥이 됩니다(인터넷 단절). 페일 오픈(Fail-Open) 기술은 직원이 쓰러지는 순간, 차단기 바(Bar)가 펑 하고 허공으로 날아가 버리며 "오늘 하루 요금소 공짜! 그냥 밟고 지나가세요!"라며 톨게이트를 뻥 뚫린 일직선 국도로 만들어버리는 것입니다. 비록 무면허 운전자(해커)가 몇 명 통과할 위험은 있지만, 수만 대의 자동차 물류망(사내 서비스)이 마비되는 최악의 국가 재난은 피하게 해주는 고육지책입니다.