psad란?

2011. 4. 7. 10:25카테고리 없음




@Psad (Port Scan Attack Detector)
 

- 포트 스캔 공격 탐지

- psad는 자신이 관리하는 네트워크로 시도된 스캔 공격을 탐지함

- 의심스러운 포트 스캔은 공격의 조기 신호이므로 psad를 활용하여 자신 주변에 어떤 패킷이 떠돌아 다니는지 파악하는데 쓰임

- 로그에는 포트 스캔을 하느라 열려있지 않은 포트들로 떠들썩하게 보내진 다수의 패킷이 기록되어 있음(공격자가 눈에 띄지 않게 포트스캔을 수행할 수도 있음)

- psad는 약한 IDS라고 볼 수도 있음.( 접속을 허용하는 포트가 아니라서 혹은 비정상적인 패킷이라서 애당초 DROP된 패킷에 대해서만 탐지하기 때문, 보통의 IDS는 열려있는 포트로 들어오는 패킷에 대한 검사를 수행함)

- 포트스캔 목적으로 보내진 패킷이 아닌 패킷들의 기록(패킷 자체가 웜등의 공격 패킷일 수가 있음)

- 부가기능 : 서명 매칭 기능 (패킷들이 어떤 종류의 악의적 패킷인지 밝혀냄)

- 단점 : psad는 기본적으로 애플리케이션 계층 데이터에 대한 검사를 수행하지 않음 (psad가 fwsnort와 함께 사용되면 더 나은 IDS의 기능을 수행할 수 있음)

 
 

@ 작동방식
 

- iptables가 남긴 로그에 전적으로 기반함

- 남겨진 로그에는 커널이 DROP 시킨 패킷들에 대한 정보가 상세히 기술돼 있음

- iptables가 남긴 로그를 분석해서 포트 스캔을 탐지함

- 분석된 내용을 기반으로 능동적 응답이 가능함

 

1. 커널

- DROP된 패킷(허용되지 않은 패킷)에 대해서 LOG를 남김 (log level은 바꿀수 있지만 기본레벨은 warning임)

- 로그 후 버리기 전략 (로그를 남긴 후 그 패킷은 버림)

 

2. 커널이 발생시킨 warning 레벨 로그 메시지

- syslog에게 전달

- syslog의 작동은 syslog.conf에 의해서 조작됨

 

* syslog.conf

- psad 작동에 대한 설정 파일 ( /etc/psad/psad.conf )

- psadfifo에 kern.=warn을 기록하게 되있기 때문에 syslog는 이 명명된 파이프에 warning 레벨 커널 로그를 기록

- 기록된 로그에는 DROP된 패킷에 대한 정보 뿐만 아니라 네트워크와 관련없는 warning 레벨 커널 로그도 끼어있음

 

* kmsgsd (psad와 함께 동작하는 도우미 데몬)

- psadfifo에서 DROP된 패킷에 관련된 로그만 추려서 fwdata 로그 파일에 저장함

- kmsgsd가 신경 안쓴 다른 로그들은 그냥 버려진다.

 

3. psad는 kmsgsd가 몇초마다 fwdata를 갱신하면 그것을 분석하는 일을 담당

- 쌓인 로그를 이용해서 뽑아낼 수 있는 여러가지 통계 수치들을 사용자가 보기 좋게 정리하는 작업을 함

- 탐지기의 역할 또한 수행 (사용자에게 수시로 수상한 트래픽에 대해서 보고)

 

 

@ 참고사항
 

- 모든 침입탐지 시스템들은 침입탐지에 100%의 신뢰를 가질 수 없음 (언제나 오류를 발생시킴)

- 긍정오류 (공격이 아닌데 공격시도로 판단)

- 부정오류 (공격인데 공격시도를 탐지 못하는 경우)

 
<참고사이트:
http://www.cipherdyne.org/psad/