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/>