1. 방화벽(Firewall) 1-1) 방화벽의 기술적 정의 방화벽은 네트워크 트래픽을 IP 주소와 포트 번호, 프로토콜 등을 기반으로 사전에 정의된 보안 정책 에 따라 허용하거나 차단하는 보안 장치 1-2) 방화벽의 대표적인 동작 방식 Packet Filtering : IP 포트, 프로토콜 등의 정보를 기준으로 개별 패킷을 허용/차단함 Stateful Inspection: 개별 패킷 뿐 아니라 연결 상태(State)를 추적하여 정상적 세션에 속한 트래픽인지도 판단 Application Firewall: 애플리케이션 계층의 요청 내용까지 검사하여 통제 보안 엔지니어 적으로 Packet Filtering까지 실무적 우선순위 라고 함. Stateful이나 Apllication의 경우는 대개 네트워크 아키텍쳐 엔지니어링 영역이라고 함. 1-3) 방화벽이 필요한 이유 방화벽은 신뢰할 수 있는 네트워크와 그렇지 않는 네트워크 사이의 통신을 통제하며 허가되지 않은 트래픽의 접근을 차단하기 위해 필요 네트워크에 연결된 시스템은 외부에서 접근 가능한 공격 표면이 존재 → 공격 가능 범위를 줄이기 위해서 통신 허용 범위를 정책적으로 제한할 필요가 있음 엄밀히 말하자면 방화벽은 공격을 막는 개념이 아니라, 시스템과 통신할 수 있는 경로를 줄이는 것 ( 불필요한 통신과 접근 경로를 줄여 공격 표면을 축소하는 역할 ) → 정리하자면 방화벽의 본질은 해킹 차단 장비보단, 허가받지 않은 접근 제한 및 공격 표면을 줄이기 위해, “통신을 보안 정책에 따라 통제하는 시스템” 1-4) 방화벽의 한계점 기본적으로 IP나 포트 번호 기반으로 트래픽의 허용/차단을 결정 문제는 IP나 포트번호는 얼마든지 공격자가 우회하거나 랜덤하게 바꿀 수 있음 → IP나 포트 번호를 지정해서 네트워크 인프라를 보호하기에는 매우 제한적임 그렇기 때문에 실무적으로 방화벽 뿐 아니라 IDS, IPS 더 나아가 WAF라고 불리는 웹 방화벽까지 구성해서 사용 하게 된다고 합니다. (트래픽을 고도화해서 관리하기 위한 목적 → WAF: 웹 방화벽 사용되나 잘 못 운영 시 오히려 내부 보안을 해칠 수 있어서 도입 시 많이 고민하게 된다고 함.) 2. DoS, DDoS 2-1) DoS와 DDoS의 기술적 정의 : 서비스 거부 공격 DoS DoS(Denial Of Service): 서비스 거부 공격 DoS: 공격자가 특정 서버나 네트워크 장비에 과도한 트래픽을 발생시켜 정상적인 사용자가 서비스를 이용하지 못하게 만드는 공격 → 공격 트래픽을 발생시키는 주체가 하나의 시스템인 경우 전통적인 DoS 라고 볼 수 있음. DDoS DDoS(Distributed Denial Of Service): 분산된 서비스 거부 공격 DDoS는 DoS와 목적은 비슷하지만, 여러 시스템이 분산되어 공격 트래픽을 발생기시킨다는 차이가 있음. 2-2) 서비스 거부 공격의 목적 서비스 거부 공격의 궁극적인 목적은 가용성(Availability)를 저해 하는 것 → 가용성을 저해하기 위해서 서비스가 사용할 수 있는 자원(Resource)를 고갈 시키거나 정상적인 처리를 방해 함 여기서 말하는 서비스가 사용할 수 있는 자원은 CPU, 메모리, 네트워크 등이며 네트워크 대역폭이 포화됌 서버의 처리 능력이 고갈됨 CPU 사용량 과도하게 증가 메모리 등의 시스템 자원 부족 특정 애플리케이션의 처리 능력의 한계 등으로 가용성(Availability) 저해 가 발생될 수 있음. 2-3) DDoS 공격의 흐름 일반적으로 공격자가 혼자서 많은 트래픽을 발생시켜 공격을 하는 게 쉽지 않음. → 그래서 공격자 본인이 공격 수행을 위해서 사전에 공격을 위한 환경 조성을 함 악성코드 유형 중 하나인 Bot Bot에 감염되면 공격자가 원격으로 시스템을 통제할 수 있음 → 여러 PC에 Bot 감염 Bot에 감염된 PC 간의 네트워크를 형성함 → 이것을 Botnet 이라고 부름 이로써 공격자는 Botnet을 컨트롤 할 수 있는 컨트롤 타워 C&C(Command & Control) 를 만들고, 이를 통해서 Botnet에 있는 모든 PC에게 특정 대상에게 공격을 수행하도록 지시함. 2-4) DDoS 공격 방식 SYN Flood, UDP Flood, HTTP Flood, 증폭(반사) 공격은 DDoS에서 대표적으로 다루는 공격 기법(Attack Vector) 이들은 DDoS의 “종류”라기보다 DDoS를 발생시키는 구체적인 방식 이라고 이해하는 게 정확함 SYN Flood → TCP 연결 과정의 SYN을 대량으로 보내 연결 상태 자원 을 소모시킴. (L4) UDP Flood → UDP 패킷을 대량으로 보내 네트워크 대역폭·패킷 처리 자원 등을 소모시킴. (L3/L4) HTTP Flood → HTTP GET/POST 요청을 대량으로 보내 웹 서버의 애플리케이션 처리 자원 을 소모시킴. (L7) 증폭·반사 공격 → 제3의 서버(Reflector)를 이용해, 출발지 IP를 피해자의 IP로 속이는 등의 방식으로 요청보다 큰 응답 트래픽을 피해자에게 보내 대역폭을 포화 시킴. (L3/L4) 2-5) Anti-DDoS Anti-DDoS는 인터넷에서 내부 네트워크로 들어오는 대량의 공격 트래픽을 탐지·필터링하여 내부 서비스에 도달하기 전에 처리하는 DDoS 대응 장비 위치: 일반적으로 인터넷과 가까운 구간에 배치됌 → 공격 트래픽이 내부 장비까지 들어오기 전에 최대한 처리 위함 (인터넷) - Anti-DDoS - 방화벽 - IDS/IPS - (고도화 시 WAF) 방화벽과 IPS 경우는 거의 필수적으로 구성하는 장비이다 역할: DDoS 공격 트래픽을 탐지하고 차단·필터링·트래픽 제어 하여 내부 서비스의 가용성을 보호 방화벽과 차이: 방화벽은 보안 정책에 따른 접근 통제 가 중심이고, DDoS 대응 장비는 대량 공격 트래픽으로 인한 서비스 장애 방어 가 중심 3. IDS, IPS 3-1) IDS 기술적 정의 IDS(Intrusion Detection System)는 네트워크 또는 시스템에서 발생하는 악의적인 활동이나 비정상적인 행위를 탐지하고 관리자에게 경고하는 보안 시스템 핵심은 탐지(Detection) 임 : 탐지 → 경보 IDS 존재 이유 : 공격이나 침해를 사람이 모든 로그와 트래픽을 직접 확인해서 발견하기 어렵기 때문 → 탐지 자동화 3-2) IPS의 기술적 정의 IPS(Intrusion Prevention System)는 네트워크나 시스템의 활동을 실시간으로 감시하고, 공격이나 침입으로 판단되는 트래픽을 탐지한 뒤 차단하거나 대응하는 보안 시스템 핵심은 Prevention(방지) 임: 탐지 → 차단 IPS 존재 이유: 기존의 IDS만으로는 공격이 매우 빠르게 진행될 수 있어서 사람이 경고를 확인하고 대응하는 데 늦을 수 있음 → IPS를 통해 탐지와 차단을 자동화 해서 공격에 보다 즉각적으로 대응 3-3) 공격 탐지 방식 (IDS, IPS 공통) 1. Signature-based Detection 이미 알려진 공격 패턴(Signature)과 현재 발생한 데이터를 비교하는 방식 장점: 알려진 공격을 비교적 명확하게 탐지할 수 있다 단점: 새로운 공격이나 기존 패턴을 변형한 공격을 놓칠 수 있다 2. Anomaly-based Detection 정상적인 트래픽이나 시스템의 평상시 행동 기준(Baseline) 을 정하고, 그 기준에서 벗어난 이상 징후를 탐지하는 방식. (Anomaly : 이상, 예외, 변칙이라는 뜻) 장점: 알려지지 않은 공격이 우연히 탐지될 수 ᅵᄋᄊ음 단점: 오탐이 많을 수 있음 실무적으로는, Signature-Based Detection과 Anomaly-based Detection을 조합해서 정탐을 최대화, 오탐을 최소화하는 방식을 많이 사용 한다고 함. 잘 작동하는 탐지 패턴을 만들었어도 시간이 지남에 따라 오탐/미탐 발생률이 높아질 수 있어서 주기적인 점검을 한다고 함 3-4) IDS와 IPS의 차이점 핵심 차이: IDS와 IPS의 가장 큰 차이는 IDS는 탐지·경보 중심이고, IPS는 탐지 후 자동 차단까지 수행한다는 것 이다. (추가적으로 IPS는 IDS에 비해 가격이 매우 비싸다: 온프레미스로 IPS를 도입 시 억단위 돈까지 들어간다 ) IDS: Out of Band에서 트래픽을 분석 하여 침입을 탐지하고 경보 하지만, 통신 자체를 차단하지 않는다. IPS: 트래픽을 인라인으로 검사 하며 공격으로 판단하면 해당 트래픽을 차단·중단 한다. 따라서 IPS는 프로덕션에 영향을 주지 않는 IDS과 달리 오탐으로 인한 정상 트래픽 차단 위험이 있으므로 , 차단 정책과 탐지 정확도 관리가 중요하다. 참고 Out of Band: 실제 트래픽 경로 위에 있지 않고, 트래픽의 복사본을 받아 분석 Inline: 트래픽 경로 위에 직접 위치 IPS에서의 트레이드 오프, 이로 인한 용도의 차이 IPS는 Inline방식으로 인해 두가지 특성을 갖는다. Inline 방식에서 오탐은 서비스 장애와 직결되므로 오탐에 대해 민감하다 → 정책을 보수적으로 잡게 된다. IPS에서 인라인 위에서 트래픽을 확인하는 과정에서 저장 기능보다 전달 성능이 중요 하다. (해당 자원이 부족하면 트래픽 확인 처리가 밀려 서비스 장애가 될 수 있음) IPS에서는 패킷을 분석을 위해 저장하는 것 보다 빠르게 확인하고 차단하는 것이 더 중요하게 된다 ( 전달·검사 성능과 저장·분석 부하 사이의 trade-off 관계 ) 정리하자면, IPS는 오탐에 민감하여 공격이라고 확실히 판정되는 트래픽만 차단 하게 되고, 로그 저장 및 분석보단 패킷을 빠르게 확인하고 차단하는 용도에 자원이 집중 된다. 따라서 보안 운영에서 IDS와 IPS는 둘이 요구하는 역할이 다르게 된다. IDS는: “무슨 일이 발생하고 있는지 파악하자.” 라는 성격이 강해. 그래서 탐지, 모니터링, 분석, 보안 관제 에 적합해. 반면 IPS는: “위협이라고 판단되면 즉시 대응하자.” 라는 성격이 강해. 그래서 자동화된 방어와 실시간 차단 에 적합해. 그런 특성의 차이로 인해, 금융권 같이 네트워크 유입이 많거나 자체적인 트래픽 분석 및 고도화의 목적이 있는 경우는 IDS를 도입하는 경향 네트워크 트래픽을 미러링해서 장비에 로그를 저장한 후 사후 분석을 위한 목적도 있고 또한 인라인 IPS는 성능 여유를 위해 룰을 보수적·경량으로 유지해야 하므로, 트래픽이 많을수록 사각과 튜닝 수요가 커지고, 이를 서비스 영향 없이 감당하는 곳이 Out Of Band 인 IDS다 이 있다. 이러한 IDS와 IPS의 특성적 차이 와 그로 인한 보안 운영 관점에서의 용도 차이 를 잘 연결해서 정리하면 좋다. 4. 정리 이렇게 DoS, DDoS같은 서비스 거부 공격과 함께, 보안 장치인 방화벽과 IDS, IPS에 대해서 정리해보았다. 지금까지 여러 보안 장치들에 대해 알아보았지만, 실무적으로 네트워크 보안 인프라를 구성할 때 필수적으로 들어가는 장비는 방화벽과 IPS 라고 한다. 3줄 요약 방화벽은 네트워크 트래픽을 IP주소와 포트번호 등을 기반으로 보안 정책에 따라 제어하는 장치이며, 공격 표면을 줄여주는 장점이 있으나 IP, 포트번호 조작으로 우회가 가능하여 단일 방화벽만으로는 네트워크 보안에 취약하다. 서비스 거부 공격(DoS, DDoS)은 공격자가 과도한 트래픽을 발생시켜 서비스의 가용성을 저해하는 공격 방식이며, DDoS의 경우 공격자가 bot이라는 악성 코드 유형을 통해 여러 pc들을 감염시킨 후 공격 명령을 하는 흐름으로 공격이 진행된다. 인터넷 최전단의 Anti-DDoS 장비로 1차 대응된다. IDS와 IPS는 공격 트래픽을 감지하고 대응하는 시스템들이며, IDS는 “Detection(탐지) → Alert(경보)”에 집중되고, IPS는 Prevention(차단)에 집중된다. Inline 방식/OutOfBound 방식의 차이로 인해 보안 운영 시 IDS는 “탐지, 모니터링, 분석”에 주로 사용되고, IPS는 “실시간 차단”에 주로 사용된다.