일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- stream buffer
- 오탐
- header dos
- idps
- Reassembly
- DDOS
- 크롬 탐지
- dsize
- IDS
- 미탐
- 탐지
- 시그니처
- SSL
- 수리카타
- Suricata
- isdataat
- snort
- chromium 탐지
- signatrue
- slowloris
- 재조합
- TLS
- stream_size
- 암호화
- chrome 탐지
- rule
- IPS
- HTTP2
- flowbits
- sinature
- Today
- Total
목록snort (8)
linefilt
Snort, Suricata는 TCP 재조합과 HTTP 파서를 제공하기 떄문에, TCP Segmentation이나 우회하는 공격을 탐지할 수 있다. 그러나 파서의 식별 처리 범위를 넘어서는 데이터 길이로 구성된 패킷 간의 탐지 또는 별도의 트랜잭션 메시지와 처럼 개별적인 패킷 간의 탐지를 위해서는 flowbits를 사용하여 chain을 구성해야 한다. 그럼에도 불구하고 flowbits는 multiplexing을 기본적으로 지원하는 HTTP2에서는 견고한 탐지를 위해 사용하기는 어렵다. flowbits는 동일한 5-Tuple을 기준으로 flow를 식별하기 때문에 HTTP2 내부의 multiplexing이 존재하더라도 동일한 존재로 보일뿐이다. 사용자는 stream 2의 Header와 Data를 조건으로 하..
dsize dsize는 일반적으로 IP, 및 TCP, UDP 패킷의 페이로드를 매치하는데 사용할 수 있다. isdataat isdataat은 보통 페이로드 존재에 대한 유효성을 검사하는데 사용한다. 스트림 탐지에서 isdataat은 누적 길이를 기반하여 판단한다. Payload Header 대부분의 프로토콜들은 각각 자신들의 메시지에 대한 정보를 담고 있다. 이 정보를 탐지하여 길이를 유추할 수 있다. 상황에 따라 각 옵션들을 적절히 사용하는 것이 중요하다. dsize는 가급적 원래의 메시지 자체가 300이하와 같이 작은 메시지에 대해서 사용하는 것이 적절하다. 클라이언트는 각각의 MTU 사이즈를 직접 조정할 수 있기에 큰 값을 매치하는 것은 우회 가능성을 높인다. 서버 접속에서 너무 작은 MTU에 대한..
원격 데스크톱은 대상 컴퓨터가 원격 데스크톱을 허용해두었다면, 윈도의 mstsc 이용해서 간단하게 접속할 수 있고 RDP 환경에서는 대부분의 기능을 거의 동일하게 사용할 수 있기에 많은 표적이 될 수 있다. 그림 1은 윈도우에서 mstsc를 이용한 원격 데스크톱 접속 시 패킷, 그림 2는 우분투에서 RDV, KRDC, Remmina를 통해서 접속 시의 패킷 페이로드를 나타낸다. 두 개의 패킷에서 공통적으로 찾아볼 수 있는 패턴은 |03 00 00|과 |e0 00 00 00 00| 이며, 이 패턴들은 Emerging-Threats Open 룰에서도 거의 동일하다시피 찾아볼 수 있는 패턴이다. 이처럼 RDP가 경유하는 구간에서는 IDS, IPS의 간단한 정책만으로도 RDP 요청을 탐지할 수 있다. 문제는 R..
Client에서 Scan과 Crawler의 차이라고 한다면 서버의 데이터를 가져온(GET) 뒤 데이터 파싱의 유무라고 볼 수 있다. 이를 다시 중간 경유지인 네트워크 구간 탐지 관점(IDS뿐만 아니라)으로 본다면, URL Scan과 Crawler의 특별한 차이는 없다. Crawler는 많은 정보를 가져오기 위해서 결국 URL을 탐색해야 되기 때문이다. 외부 구간이 HTTPS 프로토콜을 사용하더라도 리버스 프록시 등을 이용해서 내부 구간에 있는 IDS를 통해서 탐지가 가능 하기 때문에 특정 스캐너가 가지고 있는 문자열을 기반으로 탐지 할 수 있다. 하지만, Scanner를 식별할 수 있는 패턴은 변경이 가능하며, 이러한 종류가 너무 많다는 것이 가장 큰 문제이다. 또한 Injection과 같은 공격과 달리..
무료 인증서의 보편화로 인하여 기업의 서비스 뿐만 아니라 개인 도메인에 대한 암호화에 대한 처리는 날이 갈수록 높아지는 상황에서, 특히 응용프로그램 제어 뿐만 아니라 악성 코드를 배포하기 위한 서버 또한 암호화 통신을 하여 제어하기 어렵게 만들고 있다. 전용 암복호화 장비나 HAproxy와 같은 리버스 프록시를 이용하여 종단 서버구간의 페이로드를 식별하는 방법이 있지만, 성능 문제나 일부 응용프로그램들은 복호화 불가능한 문제가 여전히 남아있다. Inspection이 불가능한 패킷을 TCP 헤더 및 SSL/TLS Handshake 패턴을 통한 제어 alert tcp $HOME_NET any -> $EXTERNAL_NET 443 (msg:"web.telegram"; flow:to_server,establis..
악성행위에 사용되는 페이로드 단일 패킷 사이즈에 존재 할 수도 있고 다양한 상황에 따라 패킷의 경계부분에 위치하여, 분할되는 경우가 있을 수 있다. 그렇기 때문에 IDS, IPS에서 특정 패턴을 검사하기 위해서 스트림 재 조합 기능은 반드시 필요한 기능이다. 물론 사용되는 모든 룰들이 재 조합 기능을 필요로 하는 것은 아니나, 특정 상황에서는 오로지 재 조합되지 않은 단일 패킷만 검출해서 확인해야 하는 경우도 있다. raw 기반 (Transport Layer) 재조합은 시퀀스 번호와 같이 4계층에서 순서를 정렬할 수 있는 TCP만 지원한다. 룰 제작 측면에서 suricata reassembly 설정에 대하여 확인하며, 본 글에서는 크게 3가지 항목으로 분류로 진행한다. TCP 스트림 재 조합 깊이 (de..
IDS 및 IPS의 로그는 일반적으로 방화벽보다는 더 많은 정보를 제공하기 때문에 유용하게 사용할 수 있다. 하지만 관리자 입장에서 기록은 되어야 하나 우선순위가 낮은 로그도 있을 수 있으며, 중복적으로 발생하는 로그들로 인해서 불필요한 쓰레기 값으로 취급될 수 있다. threshold는 이처럼 불필요한 로그를 줄이는데 사용할 수 있다. threshold: type , track , count , seconds ; threshold type은 limit, threshold, both 3가지가 있다. limit: limit은 seconds 동안 count 만큼 까지만 로그를 발생시킨다. threshold: type threshold, track by_src, count 7, seconds 60 60초 동안..
테스트 환경 Emerging Threats Rules ( approximately 18,000 Rules)Intel Xeon E5-2620v4 8 core 16 threads Intel X540-T2 10G Network Adapter 4 DIMM, DDR4 21300 48GB RAM CPU - Rx queue 1:1 dedicated/pining Set affinity Suricata v4.1rc IPS mode(worker)/AF-Packet(v3), Hyperscan 4.7.0Throughput: Iperf3 1518 bytes, 65 threads(per threads 1 Src IP, 1 Dst IP, Dst Port 80 / Total 65 sessions) 180 초간 평균 값 무작위 룰 적..