1. 이벤트 로그
로그란 감사 설정된 시스템의 모든 기록을 담고 있는 데이터라 할 수 있다. 이러한 데이터에는 성능, 오류, 경고 및 운영 정보 등의 중요 정보가 기록되며, 특별한 형태의 기준에 따라 숫자와 기호 등으로 이루어져 있다. 이러한 로그는 운영체제가 업그레이드 됨에 따라 버전 별로 형태와 경로가 조금 상이하다. 각 운영체제 별 이벤트 로그의 특징은 아래의 그림과 같다.
그림 1. 운영체제 별 로그 특징
이러한 로그를 분석하여 필요로 하는 유용한 정보를 만들어 낼 수가 있으며 로그 데이터 분석을 통해 얻을 수 있는 정보는 다음과 같이 다양하게 활용될 수가 있다.
표 1. 로그 데이터 분석의 활용
이러한 로그 데이터는 시스템에서 발생하는 모든 문제에 대한 유일한 단서가 될 수 있으며, 시스템에서 발생한 오류 및 보안 결함에 대하여 검색이 가능하다. 또한 잠재적인 시스템 문제를 예측하는데 사용할 수가 있다.
장애 발생시 복구에 필요한 정보로 활용하거나, 침해 사고가 발생된 경우 로그에 남아 있는 근거들을 자료로 활용할 수가 있다. 이렇게 살펴본 바와 같이 로그 데이터는 중요한 의미를 가지고 있으며, 그렇기에 올바른 분석이 더욱 요구 된다.
2. 로그 관리 및 분석
로그 분석에 필요한 정보로는 로그 설정 방법, 파일의 저장 위치, 로그에서 나타내는 정보를 말할 수가 있다. 그리고 로그를 관리하기 위해서는 로그의 실시간 저장 및 무결성을 확보해야 하는데, 이를 위해선 시스템의 로컬에 로그를 저장하기 보다는 원격 로그서버를 구축하거나 DB서버와 연동하는 방식도 사용된다. 기초적인 Windows의 로그에 대하여 알아보자.
2.1 이벤트 로그의 이해
Windows 시스템에서는 시스템의 로그가 이벤트 로그형식으로 관리되며, 이벤트 로그를 확인하기 위해서는 Windows의 Event Viewer를 이용하여야 한다. Event Viewer를 실행시키면 아래의 그림과 같은 모습을 나타내는 것을 확인할 수가 있다.
그림 2. 윈도우 이벤트 뷰어
Windows 시스템은 응용 프로그램 로그, 보안 로그, 시스템 로그와 같이 세 가지 로그를 이벤트에 기록하며, OS 구성에 따라 디렉터리 서비스 로그, 파일 복제 서비스 로그, DNS 서버 로그가 추가될 수가 있다. 주요 이벤트 별 특징은 다음과 같다.
표 2. Windows 시스템 이벤트 로그 종류
이러한 로그들은 이벤트 뷰어를 통해 쉽게 확인할 수가 있다. 그렇다면 이벤트 뷰어를 통해 어떻게 나타나는지 아래의 그림을 통해 확인해보자.
그림 3. 이벤트 헤더와 설명
각 이벤트를 확인하면 위와 같은 정보들이 나타난다. 위의 상자와 같은 부분에서 어떠한 경로에 있는지 등에 대한 정보가 있으며, 아래에는 해당 이벤트에 대한 정보들이 나타나 있다. 상단의 탭에서 Details를 누르면 좀 더 많은 정보들을 확인할 수가 있다.
위 그림에서 하단의 Level이라 되어 있는 곳을 보자. Level에는 Information이라 되어 있다. 이처럼 이벤트 뷰어에서는 이벤트의 형태를 다섯 가지의 유형으로 구분한다. 이러한 다섯 가지 유형에 대해 아래의 그림을 통해 확인하자.
표 3. 이벤트 유형
2.2 이벤트 로그 설정 확인
이벤트 로그에 대하여 개략적으로 알아보았다. 그렇다면 이러한 이벤트 로그의 설정을 확인하는 방법에 대하여 알아보자. 이벤트 로그를 설정하기 위해선 크게 두 가지 방법이 있으며 바로 레지스트리를 이용하는 방법과 이벤트 뷰어를 이용하는 방법이다. 이에 대해 알아보자.
레지스트리를 통한 확인
레지스트리를 통해 확인하는 방법에 대하여 먼저 알아보자. 우선 Win+R을 통해 실행 창이 나타나면 regedit를 입력하여 레지스트리 편집기를 띄우자. 그리고 아래의 경로로 이동하면 이벤트 로그에 관한 설정이 나타나는 것을 확인할 수가 있다.
그림 4. 레지스트리를 통한 이벤트 로그 설정
위와 같이 나타나는 것을 확인할 수가 있다. 좌측의 키에는 응용프로그램, 보안, 시스템 등이 존재하는 것을 확인할 수가 있다. 우측은 각 항목들을 통해 로그에 대한 설정이 기록되어 있는 것을 확인할 수가 있다. 몇 가지 항목이 의미하는 것에 대하여 알아보자.
표 4. 레지스트리 - 항목 설명
이벤트 뷰어를 통한 확인
이벤트 뷰어에서도 각 이벤트 로그에 대한 속성을 변경할 수가 있다. 해당 속성을 변경하고자 한다면, 해당 이벤트의 속성에 들어가야 한다. 아래의 그림을 보자.
그림 5. 이벤트 뷰어 - Disabled
현재 위의 그림에서 붉게 표시한 바와 같이, Driverframeworks-UserMode는 모니터링 설정이 되어 있지 않은 것을 확인할 수가 없다. 만약 모니터링 되고 있지 않은 항목에 대하여 모니터링이 필요하다고 생각되면 우측을 클릭하면 된다.
그림 6. 이벤트 뷰어 – 설정
우클릭을 하여 나타나는 목록 중에서 Properties에 들어가서 설정을 할 수가 있으며, Properties 밑에 있는 Enable Log를 통해서도 모니터링 하도록 설정할 수가 있다. 이렇게 설정을 바꾼 뒤, 해당 이벤트가 발생하게 되면 로그가 남는 것을 확인할 수가 있다.
그림 7. 이벤트 뷰어 - Enable
3. 이벤트 로그 감사 정책
감사정책이란 개체 액세스, 로그온/로그오프, 감사 정책 설정 변경 등의 보안 관련 로그를 기록하며, 지정한 이벤트 범주의 사용자나 시스템 동작을 기록하도록 정책 설정이 가능하다. 감사 정책의 자세한 설명 및 로그 관리를 위한 권장 값은 다음과 같다.
표 5. 감사 정책 권장 값
3.1 로컬 보안 정책 설정
이러한 감사 정책을 확인하기 위해 로컬 보안 정책을 확인해보자. 제어판에서 관리도구 중 로컬 보안 정책을 선택하거나 Local Security Policy를 찾아서 실행한 다음 Local Policies의 하위에 있는 Audit Policy를 확인하면 된다. 아래의 그림을 보자.
그림 8. Local Security Policy
위와 같이 설정되어 있는 것을 확인할 수가 있다. 현재 감사하지 않음으로 되어 있는 것을 확인할 수가 있다. 이를 감사로 변경하면 감사가 시작된다. 이러한 감사정책을 구성하기 전에 유의해야 할 사항들에 대하여 알아보자.
첫 째, 지나친 감사 범위 설정은 중요 로그 검색에 어려움을 동반한다. 불필요한 로그까지 저장되기 때문에, 검색의 어려움뿐만 아니라 시스템의 성능 저하 및 로그 관리의 어려움을 발생 시킬 수 있으므로 시스템 감사 구성에 필요한 항목을 사전에 선정하여야 한다.
둘 째, 잘못된 이벤트 로그 크기 설정은 용량 한계로 시스템이 중지될 수가 있다. 시스템 장애가 발생한다는 것은 서비스를 위해 서버를 운영하는 기업에서는 많은 손실을 야기할 수 있다. Windows는 이러한 문제를 방지하기 위해 기본 설정으로 오래된 항목을 덮어씌우는 옵션이 설정되어 있다.
3.2 보안 템플릿을 통한 감사 정책 구성
보안 템플릿이란 보안 구성을 표시하는 파일로 로컬 컴퓨터 및 그룹 정책 개체를 적용하거나 보안 분석에 사용된다. 이러한 보안 템플릿을 이용하면 손쉽게 감사 정책 구성을 공유할 수가 있고, 반대로 공유된 감사 정책을 구성할 수가 있다.
그림 9. 보안 템플릿 구성
템플릿을 구성하는 방법은 위의 그림과 같다. 좌측의 키에서 Security Settings에 놓고 상단 탭의 Action을 선택하면 위와 같이 나타나는 것을 확인할 수가 있다. Import Policy를 선택하면 다른 템플릿을 통해 감사 정책을 구성할 수가 있다.
반대로 현재의 감사 정책 구성을 다른 PC에 공유하거나 백업해놓고자 할 경우 Export Policy를 선택하여야 한다. 선택 후 저장 경로를 설정해주면 *.inf와 같은 형식으로 저장이 되는 것을 확인할 수가 있을 것이다.
4. 보안 감사 이벤트 설명
그렇다면 어떤 이벤트를 보아야 할까? 우선 이벤트 로그는 기존의 Evt에서 비스타 이후 부터 Evtx로 사용되고 있다. 실제 로그 파일의 헤더 및 구성의 변경이 있지만 대부분의 이벤트가 Evt ID 값에 4096 값을 더해주면Evtx 형태의 이벤트 ID 값이 된다. 각 감사에 따른 주요한 이벤트들의 목록의 아래의 표들과 같다. [표 출처 - http://elven.kr/archives/361 ]
Type 1 – 이벤트 ID | Type 2 – 이벤트 ID | 내용 |
560 | 4656 | 개체에 대한 접근 허가 |
562 | 4658 | 개체에 대한 핸들 닫힘 – 이벤트 종료 |
563 | 4659 | 삭제할 목적으로 개체에 접근 |
564 | 4660 | 보호된 개체의 삭제 |
Type 1 – 이벤트 ID | Type 2 – 이벤트 ID | 내용 |
624 | 4720 | 사용자 계정 생성 |
625 | 사용자 계정 유형 변경 | |
626 | 4722 | 사용할 수 있는 사용자 계정 |
627 | 4723 | 암호 변경 시도 |
628 | 4724 | 사용자 계정 암호 설정 |
629 | 4725 | 사용하지 않는 사용자 계정 |
630 | 4726 | 삭제된 사용자 계정 |
636 | 4732 | 보안 사용 로컬 그룹 구성원 추가 |
637 | 4733 | 보안 사용 로컬 그룹 구성원 제거 |
642 | 4738 | 변경된 사용자 계정 |
643 | 변경된 도메인 정책 | |
644 | 4740 | 사용자 계정 잠김 |
Type 1 – 이벤트 ID | Type 2 – 이벤트 ID | 내용 |
680 | 4776 | 로그인 성공 정보 |
681 | 4777 | 로그인 실패 정보 |
Type 1 – 이벤트 ID | Type 2 – 이벤트 ID | 내용 |
528 | 4624 | 성공적인 로그인 |
529 | 4625 | 알 수 없는 계정이나 잘못된 암호를 이용한 로그인 시도 |
530 | 로그인 시 허용 시간 이내에 로그인 실패 | |
531 | 사용지 금지된 계정을 통한 로그인 시도 | |
532 | 사용 기간이 만료된 계정을 통한 로그인 시도 | |
533 | 로그인이 허용되지 않은 계정을 통한 로그인 시도 | |
534 | 허용되지 않은 로그인 유형을 통한 로그인 시도 | |
535 | 암호 사용 기간 만료 | |
537 | 위의 사항에 해당되지 않으나 로그인에 실패한 경우 | |
538 | 4634 | 로그오프 |
539 | 로그인하려는 계정이 잠겨 있음 | |
540 | 로그인 성공 |
Type 1 – 이벤트 ID | Type 2 – 이벤트 ID | 내용 |
592 | 4688 | 새 프로세스 생성 |
593 | 4689 | 프로세스 종료 |
594 | 4690 | 개체에 대한 힌트의 중복 |
595 | 4691 | 개체에 대한 간접적인 접근 |
Type 1 – 이벤트 ID | Type 2 – 이벤트 ID | 내용 |
512 | 4608 | 윈도우 시동 |
513 | 4609 | 윈도우 종료 |
514 | 4610 | LSA (Local Security Authority) 인증 패키지 로드 |
515 | 4611 | 신뢰할 수 있는 로그인 프로세스가 LSA로 등록 |
516 | 4612 | 저장 공간의 부족으로 인해 보안 이벤트 메세지 손실 |
517 | 보안 로그 삭제 |
로그온 유형 2 | 대화식 | 콘솔에서 키보드로 로그인 (KVM 포함) |
로그온 유형 3 | 네트워크 | 네트워크를 통한 원격 로그인 (파일 공유, IIS 접속 등) |
로그온 유형 4 | 스케쥴 | 스케쥴에 등록된 배치 작업 실행 시 미리 설정된 계정 정보로 로그인 |
로그온 유형 5 | 서비스 | 서비스가 실행될 때 미리 설정된 계정 정보로 로그인 |
로그온 유형 7 | 잠금해제 | 화면보호기 잠금 해제시 |
로그온 유형 8 | 네트워크 | 유형 3과 비슷하나 계정 정보를 평문으로 전송할 때 발생 |
로그온 유형 9 | 새자격 | 실행(RunAS)에서 프로그램 실행 시 /netonly 옵션을 줄 때 |
로그온 유형 10 | 원격 대화식 | 터미널 서비스, 원격 접속, 원격지원으로 로그인 |
로그온 유형 11 | 캐시된 캐화식 | PC에 캐시로 저장된 암호로 자동 입력 로그인 |
위의 표는 보안 감사 정책에 따라 구분된 것으로 실제 이벤트 뷰어를 통해서 확인할 때는 해당 항목을 찾는데 번거로움이 있을 수 있다. 따라서 아래의 그림과 같이 주요한 몇 개의 이벤트만 따로 정리할 수가 있다.
출처
* 블로그, 윈도우 이벤트 로그 분석 #기초
* 안랩, 전문가 칼럼, 윈도우 로그 관리 및 분석 방법
* MSDN, 보안 템플릿 정의
'Forensic > Theory' 카테고리의 다른 글
Unicode 확장자 변조(RLO) (3) | 2016.05.15 |
---|---|
Windows Event Log (2) – 주요 이벤트 로그 (0) | 2016.02.01 |
Volume Shadow Copy 분석 (1) | 2016.01.18 |
NTFS FIle System (9) $UsnJrnl (0) | 2016.01.16 |
NTFS File System (8) $LogFile (0) | 2016.01.13 |