보안관리자로써 경력이 3-4년 된 분들이라면 침입차단시스템과 침입탐지시스템과 같은 기본적인 보안장비 자체에 대한 지식과 운영경험은 아주 뛰어나리라 생각된다. 하지만 그런 중급 보안관리자라 하더라도 쉽게 접근하기 어렵다고 느끼는 분야가 있다면
"침해사고 분석(Forensic)"이 아닌가 한다.
본 문서에는 Windows 2000 서버를 대상으로 보안관리자는 물론 일반 IT관리자들도 손쉽게 접근할 수 있는
"침해사고 분석" 절차에 대해서 알아보겠다.
비정상 네트워크 확인
1. 비정상 네트워크 연결 확인
1) 목적
- 대상 시스템에서 네트워크를 통하여 열려 있는 서비스를 확인하고 불필요한 서비스가 동작 중인지의 여부를 확인한다.
2) 점검 방법
① [시작] →[실행] →cmd 입력 후 엔터
② cmd창에서 netstat 실행
③ -na 옵션을 통해서 열려있거나 연결된 TCP/UDP 포트 확인 가능
④ cmd창에서 netstat -na | findstr LISTENING 실행하여 Listen하고 있는 TCP 포트 확인
C:>netstat -na | findstr LISTENING |
⑤ cmd창에서 netstat -na | findstr LISTENING 실행하여 Listen하고 있는 UDP 포트 확인
C:>netstat -na -p udp | findstr *:* |
2. 비정상 네트워크와 매핑된 프로세스 확인
1) 목적
- 공개 툴인 fport를 이용하여 TCP/UDP 포트와 매핑된 프로그램(프로세스)를 확인한다.
2) 점검 방법
① [시작] →[실행] →cmd 입력 후 엔터
② cmd창에서 fport 실행
③ 다운로드 사이트
- http://www.foundstone.com/resources/freetools.htm
3. 비정상 NetBIOS 연결 확인
1) 목적
- 대상 시스템에서 네트워크를 통하여 열려 있는 서비스 중에서 비정상적인 NetBIOS 연결을 확인한다.
2) 점검 방법
① 시작] a [실행] a cmd 입력 후 엔터
② cmd창에서 net share 실행 a 공유된 자원 확인
③ cmd창에서 net view 실행 a 공유된 자원 확인
④ cmd창에서 net session 실행 a 연결되어 있는 세션 확인
⑤ cmd창에서 net use 실행 a 연결되어 있는 네트워크 자원 확인
비정상 프로세스 확인
1. 비정상 프로세스 확인
1) 목적
- 대상 시스템에서 실행중인 프로세스를 점검하여 트로이안목마/백도어 등 관리자가 실행하지 않았거나 인지하고 있지 못하는 의심스러운 프로세스를 점검한다.
2) 점검 방법
- Windows 리소스 KIT에서 제공하고 있는 프로세스, 서비스 관련 툴을 사용한다.
Tlist
① [시작] →[실행] →cmd 입력 후 엔터
② cmd창에서 tlist 실행
③ 실행중인 프로세스와 해당 작업명을 확인 가능
Pulist
① [시작] →[실행] →cmd 입력 후 엔터
② cmd창에서 pulist 실행
③ 실행중인 프로세스와 해당 소유자 확인 가능
비정상 서비스 확인
1. 가동 중인 서비스 확인
1) 목적
- 대상 시스템에서 실행중인 서비스를 점검하여 트로이안목마 서비스와 같이 관리자가 실행하지 않았거나 인지하고 있지 못하는 의심스러운 서비스를 점검한다.
2) 점검 방법
- Windows 리소스 KIT에서 제공하고 있는 프로세스, 서비스 관련 툴을 사용한다.
sclist
① [시작] →[실행] →cmd 입력 후 엔터
② cmd창에서 sclist실행
③ 실행중인 프로세스와 해당 소유자 확인 가능
Net start
① [시작] →[실행] →cmd 입력 후 엔터
② cmd창에서 net start실행
③ 실행 중인 서비스만 확인 가능
레지스트리에 등록된 자동실행 프로그램 확인
1) 목적
- 침입에 성공한 해커가 사용자나 관리자의 로그온 시, 또는 시스템이 부팅될 때 트로이안목마/백도어를 자동 실행하기 위해 시작 프로그램에 자신의 스크립트를 넣어 놓거나 startup 레지스트리(REGISTRY)에 등록시킬 수 있다.
2) 점검 방법
① [시작] → [실행] → cmd 입력 후 엔터
② cmd창에서 reg 명령을 통해서 startup 레지스트리 내용 확인
C:>reg query HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun /s |
③ 다음과 같은 레지스트리에 대해서 확인
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunOnce
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunOnceEx
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunservices
- HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunservicesOnce
비정상 사용자 계정 및 그룹 확인
1. 등록된 사용자 계정 확인
1) 목적
- 관리자 권한을 갖는 불법적인 사용자의 추가가 이루어졌는지를 검사한다.
2) 점검 방법
① 사용자 목록 점검
⒜ [시작] →[실행] →cmd 입력 후 엔터
⒝ cmd창에서 sclist실행
② 로컬 사용자 그룹 점검
⒜ [시작] →[실행] →cmd 입력 후 엔터
⒝ cmd창에서 sclist실행
③ Administrators에 속한 사용자 점검
⒜ [시작] →[실행] →cmd 입력 후 엔터
⒝ cmd창에서 sclist실행
C:>net localgroup administrators |
2. 로그온 관련 이벤트 확인
1) 목적
- 로그온 관련 이벤트를 확인하여 비정상적인 접속 시도가 없었는지를 확인한다.
2) 점검 방법
① [시작] →[실행] →cmd 입력 후 엔터
② cmd창에서 sclist실행
③ 실패한 로그온 정보 가운데 의심스러운 접속 시도를 확인
비정상 예약 작업 확인
1. 비정상 예약 작업 확인
1) 목적
- 일정 시간마다 미리 설정해둔 프로그램을 실행할 수 있는 예약된 작업은 시작 프로그램과 더불어 해커들이 트로이목마/백도어를 설치하기 좋은 방법이다.
2) 점검 방법
① GUI로 확인
⒜ [시작] →[설정] →[제어판] →[예약된 작업] 확인
⒝ 등록된 예약작업을 click하여 상세 내역을 확인
② CLI로 확인
⒜ [시작] →[실행] →cmd 입력 후 엔터
⒝ cmd창에서 at 실행
⒞ 위에 언급한 GUI형태의 "예약 작업 추가"를 통하지 않고 CLI의 at을 사용한 예약 작업을 확인
비정상 이벤트 확인
1. 비정상 이벤트 확인
1) 목적
- 관리자 권한을 획득한 해커가 시스템 로그를 지우지 않았을 경우, 시스템 로그는 공격 방법 및 역 추적을 위한 중요한 자료로 사용될 수 있다.
2) 점검 방법
- Windows 시스템에서 제공하고 있는 이벤트 로그와 IIS 로그를 분석한다.
⒜ [시작] →[프로그램] →[관리 도구] →[이벤트 뷰어] 선택
⒝ 간단하게 [시작] a [실행]에서 eventvwr.msc를 입력해도 동일함.
⒞ "보안 로그" 외에도 "해킹을 의심할 수 있는 로그를 확인할 수 있으므로 "보안/시스템/응용 프로그램" 로그에 대해서도 검사
√ 확인해야 할 로그 종류 : 오류, 경고, 실패감사, 정상근무 시간이외의 성공감사
√ 의심해야 하는 이벤트 ID
이상 2회에 걸쳐서 Windows 침해사고 분석 절차에 대해서 알아 보았다. 본 문서가 Windows 침해사고의 모든 것을 보여주지는 못 하지만, 바쁜 업무에 시달리는 일반 IT 관리자들에게 조금이나마 도움이 되길 기대한다.
끝으로 Microsoft사에서 제공하는 보안 관련 문서를 알려 드리니 본 문서와 더불어서 참고하기 바란다.
[Microsoft Security Guidance Center: 서버 보안]
http://www.microsoft.com/korea/security/guidance/topics/ServerSecurity.mspx
II. Windows 2000의 기본 프로세스
http://support.microsoft.com/support/kb/articles/Q263/2/01.ASP