DDOS 공격 (Distributed Denial of Service attack)
- 특정 서버나 컴퓨터, 네트워크 장비를 대상으로 많은 트래픽을 발생시켜 장애를 일으키는 대표적인 서비스 거부 공격
- 특정 공격자나 집단이 의도적으로 '디도스' 상황을 유발하는 것
- 디도스 공격 방법은 다양하지만, 사이트를 마비시키기 위하여 여러 클라이언트를 동원해 과도한 접속량을 주어 서버에 무리를 준다는 점은 똑같음
- 불특정 다수의 PC에 악성코드를 심어 유사시에 공격이 가능한 좀비 PC로 만든 뒤 공격에 동원함
- 악성코드에 감염된 수많은 좀비 PC가 공격자의 명령에 따라 일제히 서버가 허용하는 트래픽 용량을 넘어서는 대량의 트래픽을 서버에 전송하는 방식
- 이러한 공격은 대상 서버에 과도한 트래픽 소모 및 프로세스 진행, 과도한 입출력 등을 유발시키고 최종적으로 서버가 먹통이 되게 만듬
- 실제로 누가 공격했는지 알기 어려움
※ 대학교 수강신청, 콘서트 티케팅 때문에 웹사이트 접속이 폭주해서 먹통이 되는 것도 사실 디도스 공격과 같은 원리입니다. 다만 이쪽은 사이트를 공격하기 위해 일부러 서버를 터뜨린 것이 아니기 때문에 '공격'이라고 부르지 않습니다. 즉, 단순히 Distributed Denial of Service 상황으로 Attack이 빠진 그냥 디도스(DDoS)입니다.
DRDOS (Distributed Reflection Denial of Service)
- 기존 디도스(DDoS) 공격보다 한층 진화된 '분산 반사 서비스 거부 공격'
- 공격자가 출발지 IP 주소를 공격 대상의 IP 주소로 위조해 정상적인 서비스를 제공하는 서버들에게 요청을 보내고, 그 응답을 공격 대상이 받게 되는 원리
- IP Spoofing을 이용해 Internet Protocol의 약점과 서버들의 응답성을 악용한 공격
- IP Spoofing :
IP 자체의 보안 취약성을 악용한 것으로 자신의 IP 주소를 속여서 접속하는 공격
- IP Spoofing :
- 한국인터넷진흥원(KISA)의 ‘DDoS 공격 대응 가이드’에 의하면 이러한 DRDoS 공격은 출발지 IP 주소를 변조하고 공격 트래픽이 수많은 반사서버를 경유하기 때문에 공격의 근원지를 파악해 역추적하는 것이 거의 불가능하다고 함
방화벽 (Firewall)
- 미리 정의된 보안 규칙에 기반하여 들어오고 나가는 모든 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템
- 일반적으로 신뢰할 수 있는 내부 네트워크와 신뢰할 수 없는 외부 네트워크 사이에 장벽을 설정함
- 외부 트래픽은 장치의 포트를 통해서만 내부 네트워크에 도달할 수 있기에 방화벽은 설정을 통해 포트를 보호하며, 액세스 제어 목록이라고 하는 정의된 규칙을 기반으로 데이터 패킷을 허용하거나 차단
방화벽의 기능
- 접근통제 (Access Control)
- 허용된 패킷만을 통과시키는 Packet Filtering이나 Proxy 방식을 통해 효율적인 통제를 수행함
- 접근통제목록(ACL)에 의해 이루어지며 해당 규칙의 집합을 ‘방화벽 정책’이라 부르기도 함
- 주소 변환 NAT (Network Address Translation) 할당 기능
- 내부망의 주소를 외부와 분리하여 내부시스템을 보호하고 연결을 유지하기 위한 기능
- 가상 사설 네트워크를 지원하는 기술로, 외부 네트워크에서 내부 IP 주소를 숨김
- 인증 (Authentication)
- 메시지 인증 : VPN과 같은 신뢰할 수 있는 통신선을 통해 전송되는 메시지 신뢰성 보장
- 사용자 인증 : 방화벽을 지나가는 트래픽에 대한 사용자가 누군지에 대해 증명하는 기능(OTP, 토큰기반 인증, 패스워드 인증 등)
- 클라이언트 인증 : 모바일 사용자처럼 특수한 경우에 접속을 요구하는 호스트 자체에 대해 인가된 호스트인지 확인
- 감사 및 로깅 (Auditing & Logging)
- 정책 설정 및 변경, 관리자 접근, 네트워크 트래픽 허용 또는 차단과 관련한 사항 등 접속정보를 로그로 남김
- 만약 외부의 침입이 발생하면 로그분석 등을 통해 이를 추적할 수 있음
- 데이터 암호화 (Date Encryption)
- 방화벽간의 통신에서 전송하는 데이터(방화벽이 가지고 있는 설정값)를 암호화해서 보냄
방화벽의 한계점
- 바이러스 등 패킷 데이터 탐지에 한계
- 방화벽은 패킷의 IP주소와 포트번호로만 접근통제를 하기 때문에 데이터 내용까지 검사하긴 어려움
- 악의적인 내부 사용자의 공격을 막기가 어려움
- 방화벽은 보통 신뢰하지 않은 외부 네트워크로부터 신뢰하는 내부 네트워크를 보호하는 것이 주목적
- 내부자의 악용에는 방법이 없음
- 신규 악성코드 탐지 및 차단에도 한계
- 예측된 접속에 대한 규칙을 세우고 이에 대해서만 방어하기 때문에 새로운 형태의 공격에는 능동적으로 적용할 수 없음
- Intrusion Detection System
- 일정한 탐지 규칙에 따라 기존의 공격 유형을 탐지하면, 정보를 안전한 공간으로 전환하면서 이동 전화 또는 전자 우편 등으로 관리자에게 해당 내용을 즉시 전송하고 공격자에게 경고를 통보
- 공격 유형 견본을 수집한 뒤 탐지 규칙에 저장해, 들어오는 패킷과 탐지 규칙을 비교하며 판단하는 구조
- 공격 유형을 정의한 탐지 규칙을 지속적으로 갱신해야함
- 실시간 탐지 기능이 있지만 보통 사후 분석에 운용
- Out of Path 방식 (다른 장비들에 부하를 안 주기 위해)
침입 탐지 방식
- 서명 기반 탐지 기법
- 공격 유형을 탐지하는 데 있어 가장 일반적인 기법
- 기존의 공격 유형을 IDS 엔진에 미리 등록해 탐지를 수행하기 때문에 정확한 탐지가 가능
- IDS 엔진에 등록되어 있지 않거나 새로운 공격 유형인 경우에는 탐지가 불가능
- 정책 기반 탐지 기법
- 외부로부터 접속이 들어오는 경로를 정해놓고 미허가 경로를 통한 접속이 들어올 때 탐지하는 기법
- 예를 들어, 웹 서버 운영 시 80번 포트와 21번 포트를 활성 상태로 유지하는 대신, 21번 포트는 내부 접속만 가능하게 설정해놨다고 가정한다면, 이때 만약 외부에서 21번 포트 번호로 접속이 들어올 경우 침입으로 판단하는 것
- 이상 기반 탐지 기법
- 정량적 또는 통계적 분석에 따라 일정한 임계값을 설정한 뒤, 해당 임계값을 초과하는 접속이 들어올 때 침입으로 탐지하는 기법
- DDoS 공격이나 무차별 대입 공격 등의 탐지에 유용함
※ 방화벽과 IDS의 조합으로 보다 보안 강도가 높아졌지만, IDS는 어디까지나 탐지하는 시스템으로 네트워크 관리자가 그 탐지한 내용에 기반하여 보안 제어를 하지 않으면 공격을 막지 못하며, 실시간으로 공격을 차단하는 것은 불가능합니다. 그래서 IPS가 등장합니다.
- Intrusion Prevention System
- 침입탐지가 목적인 IDS의 기능을 넘어서 침입을 탐지했을 경우에 대한 대처까지 수행
- 악의적인 트래픽을 검출하여 통보 뿐만 아니라 일정한 차단 규칙에 따라 그에 해당하는 공격 유형을 방지하는 기능
- In-line 방식 (들어오는 거 보고 수상한 거 있으면 바로바로 차단하기 위해)
※ IDS만 독자적으로 사용하지 않으며, 보통 IDS와 IPS를 같이 사용합니다. IPS를 먼저 구성해서 내부에 들어오는 트래픽을 최소화 시키고 허용할건지, 아니면 패킷을 일단 많이 통과시키고 이후 분석 한다고 하면 IDS를 먼저 구성합니다.
※ | 방화벽 | IDS | IPS |
목적 | 접근통제 | 침입 탐지 | 침입 탐지 후 적극적 대응 |
패킷 차단 | O | X | O |
패킷 내용분석 | X | O | O |
분석 방법 | X | 시그니처 DB 기반 패턴 매칭 방식 알려진 공격패턴 탐지 비정상적 행위 탐지 |
|
동작 계층 | 전송 계층 네트워크 계층 |
네트워크 ~ 응용 계층 | 네트워크 ~ 응용 계층 |
장점 | 엄격한 접근통제 인가된 트래픽만 허용 |
실시간 탐지 사후분석 대응 |
실시간 대응 세션 기반 탐지 가능 |
단점 | 내부자 공격 취약 수동적 차단 |
변형패턴은 탐지 어려움 | 오탐 현상 자주 발생 고가 장비 |
시간이 흐르면서 방화벽의 보급이 늘어나고, 서비스하지 않는 모든 포트는 방화벽의 보안정책으로 차단되게 되었습니다. 서비스하는 포트 이외에는 인터넷으로 통해 접근이 불가능해지면서, 공격자들의 공격 대상이 줄어들게 되었습니다.
그런데 대부분의 조직에서 웹 서버는 기본적으로 사용하기 때문에 방화벽에서 HTTP와 HTTPS 서비스 포트는 열지 않을 수가 없습니다. 공격자의 입장에서는 HTTP와 HTTPS 이외에는 열려 있는 포트가 없다 보니, 웹 서비스만 집중적으로 연구해서 공격 기술을 개발할 수밖에 없는 환경이 된 것입니다.
이렇게 웹 기반 공격이 점점 발전되어 다양화되면서, 홈페이지가 변조되거나, 웹 서버를 해킹한 후에 이를 통해 사내의 DB서버에 접근해서 조직의 정보를 탈취하는 각종 침해사고가 빈번하게 발생되었습니다.
그래서 웹 해킹을 전담으로 하는 웹방화벽이 등장하게 되었습니다.
WAF (Web Application Firewall)
- 일반적인 네트워크 방화벽과는 달리 웹 애플리케이션 보안에 특화되어 개발된 솔루션
- ‘방화벽이 허용한 접근’ 안에서 발생할 수 있는 웹 공격을 탐지하고 차단하는 역할
- 직접적인 웹 공격 대응 뿐 아니라, ‘정보 유출 방지 솔루션’, ‘부정 로그인 방지 솔루션’, ‘웹사이트 위변조 방지 솔루션’ 같은 다양한 보안을 실현함
- 정책을 세세하게 설정 가능하지만, 관리하기 어려움
☆네트워크 구성