DDoS
분산된 서비스 거부공격
웹사이트 또는 네트워크 리소스 (서버,서비스) 운영이 불가능하도록 악성 트래픽을 피해자한테 대량으로 보내는 공격
공격자가 c&c(command & control)라고 불리우는 컨트롤 서버(마스터)를 이용해서
감염된 좀비 pc를 원격으로 동작시켜 피해자 pc를 공격하는 방식
좀비pc는 찾기 쉽지만 공격자는 누구인지 찾기 힘들다.
디도스 장비를 통해서 어느정도 커버가 가능
디도스 장비가 얼마만큼의 대역폭을 소화할 수 있는지를 기준
DDoS 장비
일반적으로 IP주소 및 포트 기반으로 임계치 기반의 이상 트래픽 탐지 한다.
DoS: 단일 IP를 기준으로 패킷의 양을 측정
DDoS : 다수 출발지 IP 기준으로 보호대상에 인입되는 트래픽의 양을 측정
최근에는 TCP, HTTP 특성을 이용한 인증 기반으로 정상 사용자인지 봇인지를 확인하고 자동화된 공격을 방어한다.
https://www.ahnlab.com/ko/image/img_upload/product/2312222103155331.pdf
Firewall (방화벽)
IP와 Port를 바탕으로 패킷필터링 즉 허용/차단하는 장비이다. 네트워크 트래픽을 필터링하고 제어하는 장비이다.
외부 네트워크로부터 내부 네트워크를 보호하기 위한 네트워크 구성요소의 하나
예를 들면 악성 IP를 차단하거나 특정 포트로만 웹사이트로 연결되게끔 정책을 열어둔다.
방화벽의 기능 (=장점)
1.접근제어 (Access Control) : 외부에서 내부로 들어오는 패킷 필터링
( 탐지패턴을 넣어서 허용할 패킷을 허용,차단 결정 ip와 포트번호 검열)
2.사용자 인증 (User Authentication) : 사용자에 대한 식별
(정상적인 패킷도 출처가 불분명한 사용자로부터 들어오는 것은 허용하면 안되니, 패스워드 인증, 토큰 기반 인증, otp 인증 등을 이용하여 식별)
3. 감사 및 로깅 (Auditing & Logging) : 허용, 차단된 패킷 접근에 대한 기록 과 그 기록을 바탕으로 감사활동을 함
4. 주소 변환 (NAT) : 내부 사용자의 ip를 다른 ip 주소로 변환을 시켜서 공개적으로 드러나지 않도록 하는 역할
5. 프록시 (Proxy) : 외부에서 방화벽을 거쳐서 내부로 들어올 수 있도록 중계 서버 역할
( 공격자의 입장에서 침입하기 어렵도록)
방화벽 단점
1.ip와 포트 번호를 바탕으로 허용,차단에 대한 역할밖에 못하여 제한된 서비스
2.우회하는 트래픽이 제어 불가 = > 허용된 ip로 우회를 해서 들어오면 제어불가능
3.내부 사용자로부터 감염이 이루어져 외부로 나가는 형태는 방화벽이 탐지할 수 없다.
4. ip와 포트번호의 형태가 아닌 다른 형태로 들어오는 공격은 탐지나 차단하지 못한다. =>사회공학적 공격 등
방화벽 종류
1.패킷필터링 (Packet Filtering)
3계층과 4계층단에서 IP 주소와 포트 등을 이용해 패킷을 허용하거나 금지하는 방식이다.
2.애플리케이션 게이트웨이(Application Gateway)
7계층에서 동작하며 서비스마다 별도의 프록시가 구동되어 서버와 클라이언트 사이에서 관리를 하게 된다.
3.상태추적 (Stateful Packet Inspection)
2계층과 3계층 단에서 패킷들을 상태정보 테이블에 일정시간 저장하여 빠른 속도로 처리하고 패킷변조를 막을 수 있다.
IDS
침입 탐지
IDS의 기능
모니터링을 통해 실시간으로 탐지하는 기능
방화벽에서 허용된 패킷들을 규칙에 따라 탐지
실시간으로 탐지가 가능하고 사후에 탐지해서 검사하는 기능도 포함
들어온 정보들을 바탕으로 분석하여 새로운 침입 패턴을 만들어 탐지한다.
IDS의 장점
-탐지된 정보를 바탕으로 상세하게 분석해서 같은 공격이 들어왔을 때 완벽하게 대응할 수 있어 적극적인 방어 가능
-방화벽과 다르게 내부 사용자에 대한 방어도 가능
(외부에서 내부 뿐만아니라 내부에서 외부로 나가는 것도 탐지,차단에 대한 정책을 만들어
패턴으로 넣을 수 있음)
-탐지된 정보를 바탕으로 분석해서 공격의 근원지 추적이 어느정도 가능
IDS의 단점
-대규모 네트워크에서는 들어오는 패킷들 데이터 양이 많아서 시간적으로 비효율적이다보니 운영 및 관리 어려움
-탐지패턴을 장비에 넣어놓아야지만 탐지가 되어 새로운 침입기법에 대해서는 즉각적 대응하지 못함
-공격이 들어왔을 때 바로 차단이 되지 못하여 보안사고의 근본적인 해결책이 되지 못함
설치위치
NIDS
네트워크 경로에 IDS를 위치해놓고 네트워크를 통해 오고가는 트래픽 분석하는 시스템
(+)
비용이 적다. =>PC가 흐르는 네트워크 경로에다만 설치를 해주면 되서 설치되는 장치의 숫자가 적다.
구현 및 관리 쉬움 => 운영체제가 무엇이든 상관없다
캡처된 트래픽에 대해 공격자가 제거하기 어려움.
(-)
암호화된 패킷을 분석할 수 없음 => 평문이 아닌 암호화된 트래픽에 복호화기능까지 제공하지 않음
고속 네트워크환경에서 패킷 손실률이 많아 탐지율이 떨어짐. => 한번에 많은 양이 들어오니까
호스트 내부에서 수행되는 비정상적 행위에 대해 탐지 할 수 없음 => 네트워크에 흐르는 정보만 확인가능하다보니
HIDS
각각의 호스트(서버나 PC) 에 위치해 있는 IDS
(+)
정확한 탐지기능
복호화된 데이터를 분석하고 패킷손실이 없음. =>네트워크가 아닌 내부 사용자에 위치되어 있는 형태라서
추가적인 장비가 필요하지 않음. => pc에 설치된 백신처럼
(-)
운영체제(os)와 호스트의 성능에 의존적이라 구현이 용이하지 않음
해커의 로그 변조 가능성과 dos 공격으로 ids 무력화 가능하다.
침입탐지방식
오용탐지(misuse detection ) 방식 = 지식기반 탐지
분석한 정보를 바탕으로 공격 탐지패턴을 만들어서 장비에 넣어서 탐지하는 방법
(+)
오탐율이 낮다.
트로이목마, 백도어 같은 악성코드에 대한 공격의 탐지가 가능
(-)
새로운 공격 탐지를 위해 지속적으로 공격 패턴에 대한 갱신이 필요하다.
제로데이 공격(패턴에 없는 새 공격)은 탐지가 불가능
비정상행위 탐지(anomaly detection) 방식 = 행위기반 탐지
정상적인 행위 패턴을 기준(프로파일)로 설정하고 기준(프로파일) 범위를 벗어나는 경우 침입으로 탐지
(+)
임계치 설정하는 방식이라 패턴 업데이트 불필요
데이터베이스 관리가 용이하고 알려지지 않은 공격도 탐지가 가능
(정확도가 높은 것은 아니지만 얻어 걸릴 가능성有)
(-)
오탐율이 높다. => 러프하게 범위를 설정하다보니까
정상과 비정상을 구분하기 위한 임계치 설정이 어려움.
IPS
침입 탐지 + 차단
네트워크 구성하는 실무에서는 방화벽과 IPS는 보통 운영한다. (더 상세하게 분석 시 IDS 추가적 운영)
IP + 포트번호 + 데이터에 해당하는 영역 (응용프로그램 수준의 공격과 패턴) 탐지 및 차단할 수 있다.
NIPS
네트워크 인라인에 들어가서 트래픽을 검사
특정 룰 ( 보통은 Snort룰 등으로 문자열 탐지) 을 사용해서 시그니처를 기준으로 탐지/차단하는 장비
자동차단룰이 걸린 시그니처는 TCP reset 패킷을 보내(차단) 세션이 끊기게 된다.
다양한 포트를 통해 들어오는 것을 확인할 수 있다.
HIPS
호스트(서버나 PC)에 설치되며 내부에서 주로 애플리케이션(software),파일,프로세스,레지스트리, 네트워크 통신을 감시
특정 룰(특정 파일에 접근,중요 레지스트리 변경, 악성 프로세스 생성,실행여부 등)을 사용해서 시그니처를 기준으로 탐지/차단하는 장비
호스트가 고위험 ip에게 연결을 시도한다든가 악성 앱 또는 악성코드가 시스템 api(운영체제와 어플리케이션 간의 상호작용을 위한 api) 를 호출한다든가 등등 내부의 악성 활동을 탐지한다.
WAF (Web Application Firewall)
웹방화벽으로 웹서버 앞 단에 위치하여 7계층의 HTTP 트래픽을 검사한다.
웹 애플리케이션 관련 요청들을 분석하는 데 특화된 룰을 적용하여 탐지하는 역할을 수행한다.
SQL 인젝션이나 XSS 같은 웹 기반 취약점 공격을 탐지하기 위한 룰셋이 매우 정교하게 설계되었다.
예를 들어, HTTP request에 있는 파라미터, 헤더, URI 를 분석하여 SQL 인젝션이나 XSS와 같은 공격을 탐지할 수 있다.
쿠키, 헤더, URI 등등 각각에서 탐지될 문자열을 지정해두어서 정교하게 잡을 수 있다.