드디어 시작된 프로젝트! 관련 업에 종사했던 경험 때문에 아래와 같은 주제를 맡았다...
FW(Firewall) 개념
접근제어리스트를 기반으로 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템. 신뢰할 수 있는 내부 네트워크, 신뢰할 수 없는 외부 네트워크 간의 장벽을 구성한다. 서로 다른 네트워크를 지나는 데이터를 허용하거나 거부하거나 검열, 수정이 가능하다.
IDS(Instrusion Detection System) 개념
실시간으로 네트워크 상에서 발생하는 트래픽, 이벤트들을 모니터링해 이상징후를 탐지하고 경고하는 시스템.
- 내·외부망의 접속점에 위치하여 방화벽의 부족한 부분을 보완하기 위해 사용되는 시스템
- 네트워크 상에서 발생하는 의심스러운 행동을 발견하고 경고음 전달
- 이상징후 및 침해사고 분석을 위해 로그 조회 기능 지원
- 차단과 같은 컨트롤은 불가
구성방식
IDS를 통한 트래픽 모니터링 방식은 두가지가 존재한다. 미러링 방식과 인라인 방식이다.
- 미러링 방식(Mirroring Mode)
TAP장비와 같은 네트워크 장비의 미러링 포트 기능을 사용하여 네트워크 패킷을 복제하여 원래 목적지와 제어장비로 패킷을 복제시킨 후 모니터링 하는 방식.
스위치 미러링 모드(Mirroring Mode)의 경우에는 네트워크 패킷의 부하가 클 경우 패킷의 유실 가능성이 있다.
탭 장비를 사용한 미러링 모드를 구성할 경우 물리적인 탭 장비에서 네트워크 패킷을 복제하기 때문에 패킷의 유실 가능성이 적다. 탭 장비의 장애가 발생할 경우 자체 바이패스를 지원하기에 하단 서비스의 영향도를 줄일 수 있다.
- 인라인 방식(In-line Mode)
인라인 모드(In-line Mode)는 모든 패킷이 보안장비를 거쳐 목적지로 도달하는 방식이다.
보안정책에 따라서 패킷을 Pass or Drop이 가능하다. 따라서 침해 위협이 있는 패킷은 자동 차단이 가능하므로 보안성을 높이는 방법 중 하나이다.
다만, 모든 패킷을 받아야 하기 때문에 부하로 인한 장비 장애가 발생할 수 있다. 장애 발생 당시 하단 서비스에 영향이 갈 수 있기에 물리적인 Bypass 또는 이중화를 통해 Fail-over가 될 수 있도록 하여야 한다.
* Fail-over: 컴퓨터 서버, 시스템, 네트워크 등에서 이상이 생겼을때 시스템 대체 작동 또는 장애 극복을 위하여 예비 시스템으로 자동전환되는 기능이다.
출처: https://ehdtn1219.tistory.com/86
IPS(Instrusion Detection System) 개념
실시간으로 네트워크 상에서 발생하는 트래픽, 이벤트들을 모니터링해 이상징후를 탐지, 경고, 차단하는 시스템.
- 악의적인 트래픽을 검출 및 부정한 액세스 탐지.
- 탐지된 패턴을 분석해 패킷을 차단하거나 세션을 끊어 실시간 방어
- 알려지지 않은 공격도 차단 가능, 오탐이 잦다는 단점 존재
[토막상식]
TMS(Threat Management System) 개념
다수의 장비를 관리하며 다양한 위협 정보를 종합적으로 모니터링하고 분석하며 연동된 장비들과 유기적으로 대응하는 차세대 네트워크 통합 위협 관리 플랫폼... 사실 말이 거창하지 IPS다. 관제 대상 기관은 기관 내에 설치된 장비를 통해 관제 기관으로 정보를 보내온다. 그럼 관제는 TMS를 통해 하루종일 이상징후를 모니터링 한다.
차이점
간단하다. IDS는 탐지'만'하고 IPS는 차단'도' 가능하다.
스노트(Snort) 개념
1998년 SourceFire사의 CTO Martin Roesch에 의해 발표된 오픈 소스 프로그램. 실시간 트래픽 분석과 패킷 로깅을 수행하는 침입탐지시스템(IDS)이다. 프로토콜과 패킷 분석, 패턴 매칭이 가능하며 다양한 공격을 탐지하고 분석하는데 유용하다. 또한 룰을 직접 작성해 적용 및 탐지, 분석이 가능하다.
룰(Rule) 개념
네트워크 상에서 패킷 데이터 분석을 통해 공격의 유무와 위험도를 판단하기 위해 지정한 패턴 및 규칙. 종종 정책이라고도 부른다.
현업 나가면 벤더사 룰, 기관 자체 룰, 국정원 룰 이렇게 세 가지를 기반으로 분석 및 차단을 진행한다. 여기서 우리가 만들어 적용할 정책은 기관 자체 룰이라고 생각하면 된다.
스노트 기능
Packet Sniffer: 네트워크 상의 패킷을 sniffing하여 보여주는 기능
Packet Logger: 모니터링한 패킷을 저장하고 로그에 남기는 기능
IDS/IPS: 네트워크 트래픽을 분석해 공격을 탐지/차단하는 기능
스노트 시그니처
시그니쳐는 패턴이라는 이름으로 불리기도 한다. 다른 뜻으로는 악성코드 파일을 유니크하게 식별하기 위해 사용되는 방법 혹은 백신 프로그램이 파일들을 스캔할 때 해당 파일을 유일하게 식별할 수 있도록 사용되는 특정 데이터 부분을 말한다.
출처: 하우리 블로그(https://hauri.co.kr/security/issue_view.html?intSeq=93&p)
스노트의 시그니처는 아래와 같이 구성된다.
[액션] [송신 IP] [송신 port] [방향] [수신 IP] [수신 port] ([룰 옵션])
- 룰 헤더와 룰 옵션
- 룰 옵션은 선택사항이지만 일반적으로 룰 옵션이 훨씬 더 많이 사용된다.
Rule Header
- 액션
alert: 경고를 발생시킨다.
log: 로그를 기록한다.
pass: 패킷을 무시한다.
active: alert를 발생시키고 대응하는 dynamic을 유효화 한다.
dynamic: active에 의해 유효화된 경우 한쪽의 패킷을 기록한다.
- 송수신 IP, port
211.11.22.33 80
211.11.22.0/24 443
any 80 또는 211.11.22.33 any 또는 any any 와 같이 사용 가능하다.
'$HOME_NET' 와 같이 snort.conf에서 지정한 변수를 참조할 수도 있다.
- 방향
-> 또는 <>
Rule Option
세미콜론(;)을 이용하여 옵션과 옵션을 구분한다.
msg: 지정한 메시지가 이벤트 명으로 사용된다.
dsize: dzise:<바이트, dsize:바이트<>바이트 와 같이 상한선, 하한선, 범위를 지정할 수 있다.
content: 문자, 바이너리로 패턴을 탐지한다.
content:"문자"
content:| 00 01 0A AA |
content: "| 90 90 90 | /bin/sh"
offset: 검색을 시작할 byte수를 지정한다.
depth: offset부터 시작하여 검색할 byte수를 지정한다.
nocase: 대소문자를 구별하지 않는다.
flags: TCP 제어 플래그를 지정한다. F, S, FA, FSA 등으로 지정 가능하다.
pcre: 정규식을 사용한다.
threshold: 패킷의 발생량을 기반으로 탐지한다.
아직까지 흔히 사용 되고 있지만 공식적으론 사용을 권장하지 않는다.
비슷한 기능을 하진 detection_filter 사용이 권장된다.
스노트(Snort) 사용법
설치법은 어렵지 않다. 아직 VM웨어 세팅중이라 Cent OS와 리눅스 환경은 차차 추가할 예정이다.
윈도우에서 스노트 사용하는 법
1. Snort(https://snort.org/) 다운로드 및 설치
2. WinPcap(https://www.winpcap.org/install/default.htm) 다운로드 및 설치
3. 환경변수 수정해주기
path 편집
새로 만들기 -> C:\Snort\bin\ 추가
4. 명령어 프롬프트(cmd)를 관리자 권한으로 실행
5. snort -W 입력
6. ^^
'외부활동' 카테고리의 다른 글
프로젝트 3주차 (0) | 2022.11.16 |
---|---|
악성코드 분석 수업 (0) | 2022.11.15 |
케이쉴드 주니어 9기 합격 (0) | 2022.09.26 |
경찰청 방문 (0) | 2019.12.24 |
2019 누리캅스 활동을 마무리 하면서 (0) | 2019.12.20 |