보안 위협 탐지
CheckPoint
mimimin
2022. 5. 13. 17:30
Smart View Tracker - 로그 관리
[ 벽돌 ]
- packer filtering에 의해 차단된 것
[ Smart Defense 메뉴 ]
- Network Intelligence: 초당 개수를 제한하는 방식
- Application Intelligence: 패턴 매칭 기법 사용
- Packet Filtering의 한계를 보완하기 위한 방법을 사용하고 잇음
[ Smart Defence에서 차단 이유 ]
- 기본적으로 패킷의 개수 등을 보고 허용 혹은 거부 결정
- sequence validator → 일련번호에 문제
- tcp header corrupt → brute force 등 문제
- echo request too long → 요청이 너무 긻
- Cross site script → script 태그가 발견됨
[ Teardrop (눈물) ]
- Tear drop: 찢어서 버린다는 의미 → 재조립 할 수 없음
- 패킷을 잘게 나누어서 보내면서 순서번호(Offset 값)를 조작 → 재조립 불가
[ IP and ICMP ]
- Max Ping size - ping 크기 제한
- IP Fragment - 재조립 안되는 IP Fragment 몇개까지 허용?
[ TCP ]
- SYN Defender = TCP incercept (CISCO)Server 앞에서 방화벽이 SYN을 받았을 때, 대신 ACK/SYN로 응답
- ACK가 오면 (정상적인 3-way Handshaking으로 판단하고 Server에게 전달)
- ACK가 오지 않으면 SYN Flooding 또는 Port Scanning으로 의심
- Sequence Verifier - 순서 번호가 맞는지 확인하는 기능
※ 기능을 많이 켜 놓으면 검사할게 많아지기 때문에 네트워크 속도는 느려짐
[ Application Intelligence ]
- 패턴 매치와 유사
- General HTTP Worm Catcherx
- Cross Site Scripting
- ex) Wiki → 게시판 스크립트를 업로드 하는 경우 많음
- html 태그 사용하지 않음
- [ ] 태그 사용
[ Ruleset의 현실 ]
- 일반적으로 제조사들이 약 150라인(내외) 추천 → 성능 고려
- 실제로 회사는 대체로 약 450라인 정도 사용 → 느려짐 (중복된 라인 등이 많이 있을 것임)
[ 침입탐지 시스템(IDS) ]
- 호스트 기반 침입탐지 시스템(HIDS) - 주요 컴퓨터에 설치
- 네트워크 기반 침입탐지 시스템(NIDS) - 네트워크 중간에 설치, 독립된 시스템
1) 오용탐지(Misuse)
- 공격 또는 악성코드의 패턴을 모아놓은 DB를 Signature DB라고 함(서명기반, Signature Base)
- ex) ‘ or 1=1 #
- 패킷이 들어오면 데이터 부분과 패턴을 비교 (Pattern Matching)
- 패턴이 일치하면 관리자에게 Alarm을 보냄
- 오탐이 거의 없음 (오탐: 공격이 아닌데 공격으로 간주하는 것), 미탐(공격인데 탐지못한 것)은 있음
- 패턴을 많이 모아놓았기 때문에 이것을 지식기반(Knowledge Base)라고 함
2) 이상탐지(Anomaly Detection)
- 정상적인 트래픽을 파악하기 위해서 약 2주간의 트래픽을 모아서 기준점 만듦 → 통계 기법을 활용(Statistical Based)
- 급격한 변화를 일으키거나 확률이 낮은 일이 발생하면 침입탐지를 알림
- → 요즘에는 회사에서 이벤트 안하고 클라우드에서 진행
- 기준점에서 많이 벗어나면(=임계치 초과) 이상하다고 탐지 → 평소와 다른 트래픽 → 관리자에게 Alarm
- 미탐은 거의 없지만 오탐이 많음 → 관리자들이 Alarm을 무시하게 됨(양치기 효과)
- 최근의 트래픽 기준점에 반영 → 신경망기법
- 새로운 트래픽 스스로 학습하는 방법 도입 → Machine Learning (오탐 줄이는 것이 목적)
- 이상 행위를 판단하기 때문에 행위 기반(Behavior)이라고도 함
[ Snort 패턴 보는 방법 ]
- msg : “ “ → 관리자의 Alert 창에 보여지는 내용
- flow: → 방향 (어느 쪽으로 가는지)
- $출발지_NET 포트 → $목적지_NET 포트 (트로이안은 내부에서 외부로 = 밖에서 안 뿐만 아니라 안에서 밖으로 나가는 것도 탐지)
- content : “ “ → 패턴 (공격 패턴 또는 악성코드 패턴)
- classtype: → 악성 행위의 분류
- sid: → 패턴의 고유 번호
- reference: 공식 취약점 번호. 취약점 분석 도구의 고유 번호, URL 등을 알려줌 → 어떤 공격인지 상세한 정보를 확인할 수 있음
- rev: 해당 패턴이 몇번째 번호인지 알려줌
[ VNC 탐지 패턴 사례 ]
- VNC 탐지 패턴 사례
- alert tcp $EXTERNAL_NET any -> $HOME_NET any ( msg:"APP-DETECT VNC server response"; flow:established; content:"RFB 0",depth 5; content:".0",depth 2,offset 7; metadata:ruleset community; classtype:misc-activity; sid:560; rev:9; )
- 웹취약점 분석도구(Acunetix) 패턴 사례
- alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS ( msg:"APP-DETECT Acunetix web vulnerability scan attempt"; flow:to_server,established; flowbits:set,acunetix-scan; http_header; content:"Acunetix-",fast_pattern,nocase; metadata:policy max-detect-ips drop,ruleset community; service:http; reference:url,www.acunetix.com; classtype:web-application-attack; sid:25358; rev:5; )
- 랜섬웨어 패턴 사례
- alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS ( msg:"INDICATOR-COMPROMISE Revil Kaseya ransomware log clearing http upload"; flow:to_server,established; file_data; content:"Server.CreateObject"; content:"KComWExec.execCmd",fast_pattern,nocase; metadata:impact_flag red,policy balanced-ips drop,policy connectivity-ips drop,policy max-detect-ips drop,policy security-ips drop,ruleset community; service:http; reference:url,doublepulsar.com/kaseya-supply-chain-attack-delivers-mass-ransomware-event-to-us-companies-76e4ec6ec64b; reference:url,www.huntress.com/blog/rapid-response-kaseya-vsa-mass-msp-ransomware-incident; classtype:web-application-attack; sid:57879; rev:2; )
- Hex Code 패턴 사례
- alert tcp $EXTERNAL_NET any -> $HOME_NET 749 ( msg:"INDICATOR-SHELLCODE kadmind buffer overflow attempt"; flow:to_server,established; content:"|00 C0 05 08 00 C0 05 08 00 C0 05 08 00 C0 05 08|",fast_pattern,nocase; metadata:ruleset community; reference:bugtraq,5731; reference:bugtraq,6024; reference:cve,2002-1226; reference:cve,2002-1235; reference:nessus,15015; reference:url,www.kb.cert.org/vuls/id/875073; classtype:shellcode-detect; sid:1894; rev:14; )
- Trojan 패턴 (방향이 반대방향 : Reverse Connection)
- alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS ( msg:"DELETED MALWARE-CNC Win.Trojan.Crysis variant outbound connection"; flow:to_server,established; http_header; content:"|0D 0A|Content-Length|3A 20|88|0D 0A|",fast_pattern,nocase; http_client_body; content:"+",depth 1,offset 71; content:"+",within 1,distance 3; metadata:ruleset community; classtype:trojan-activity; sid:26481; rev:4; )
[ Anti-Virus의 포털 사이트 ]
- virustotal.com
- 악성코드 여부 확인 가능
- Search → hash 값 넣으면 악성코드인지 확인해줌