KISA, 침해사고 분석 절차 안내서
- 자격증,이론/보안이론
- 2020. 6. 10. 21:39
해당 포스팅은 KISA의 <침해사고 분석 절차 안내서>와 <침해사고 대응 절차>에서 필요한 부분을 추출해 요약한 내용 +a 를 담고 있습니다. 혹시 문제가될 시 즉시 삭제하겠습니다.
서론
인터넷 침해사고를 일으키는 해킹 기법이 지능화됨에 따라 침해사고에 대한 분석도 어려워지고 있다. 홈페이지 악성코드 은닉사고의 경우도 다양한 방법으로 악성코드를 숨기고 있으며, 악성 Bot도 탐지가 어려운 루트킷과 결합되어 탐지가 어려워지고 있다.
본 안내서에서는 해킹피해 기관이나 개인이 침해사고를 당했을 때 이에 대응하기 위한 분석절차와 기술을 제시한다.
단계별 침해사고 분석 절차
사고대응 방법론
사고 탐지, 초기 대응, 대응전략 체계화, 사고 조사, 보고서 작성, 해결의 순으로 이루어진다.
-
사고 탐지 : 정보보호 및 네트워크 장비에 의한 이상 징후 탐지. 관리자에 의한 침해 사고의 식별
-
초기 대응 : 초기 조사 수행, 사고 정황에 대한 기본적인 세부사항 기록, 사고대응팀 신고 및 소집, 침해사고 관련 부서에 통지
-
대응 전략 체계화 : 최적의 전략을 결정하고 관리자 승인을 획득, 초기 조사 결과를 참고하여 소송이 필요한 사항인지를 결정하여 사고 조사 과정에 수사기관 공조 여부를 판단
-
사고 조사 : 데이터 수집 및 분석을 통하여 수행. 언제, 누가, 어떻게 사고가 일어났는지, 피해 확산 및 사고 재발을 어떻게 방지할 것인지를 결정
-
보고서 작성 : 의사 결정자가 쉽게 이해할 수 있는 형태로 사고에 대한 정확한 보고서를 작성
-
해결 : 차기 유사 공격을 식별 및 예방하기 위한 보안 정책의 수립, 절차 변경, 사건의 기록, 장기 보안 정책 수립, 기술 수정 계획수립 등을 결정
사고탐지
사고 탐지는 시스템 및 네트워크 사용자 또는 관리자에 의해 탐지되며, 침입탐지 시스템, 방화벽과 같은 정보보호 장비들에 의해 그 세부 기록을 확인할 수 있다. 사고 징후로는 아래와 같은 것들이 있다.
-
IDS가 탐지한 원격 접속
-
여러번의 로그인 실패
-
관리자가 생성하지 않은 계정 발견
-
유휴 상태 및 디폴트 계정의 로그인 시도
-
서비스 미 제공시간 동안의 시스템 활동
-
출처 불명의 파일 또는 프로그램 발견
-
설명할 수 없는 권한 상승
-
웹서버의 경고 페이지
-
로그 파일, 내용의 삭제
-
시스템 성능 저하, 시스템 충돌
-
이메일 도청 증거 발견
-
음란 사진 및 동영상
초기대응
조사의 초기 단계는 적절한 대응을 위한 충분한 정보를 얻는 것이다. 초기 대응은 침해사 고 대응팀을 소집하고, 네트워크와 시스템의 정보들을 수집하며, 발생한 사건의 유형 식별 과 영향 평가를 포함한다.
-
사건의 기술적인 내용을 통찰할 수 있는 시스템 관리자와 면담
-
사건 분석을 위한 정황을 제공해 줄 수 있는 인원들과의 면담
-
침입 탐지 로그와 데이터 식별을 위한 네트워크 기반 로그의 분석
-
공격 경로와 수단을 알아내기 위한 네트워크 구조와 접근 통제 리스트의 분석
대응전략 수립
공격 환경과 대응능력을 고려해 다양한 대응 전략을 수립해야 한다. 예를 들어, DDoS 공격의 경우 Flooding 효과를 최소화하기 위해 라우터를 재설정할 수 있고 ISP, 수사기관과 협력해 공격자를 밝혀 법적 조치를 강구해야 한다.
사고조사
사고조사는 누가, 무엇을, 언제, 어디서 그리고 어떤 정보가 사고와 관련된 것인지를 확인하기 위한 과정으로 데이터 수집과 자료 분석 단계로 나뉜다.
데이터를 수집하는 동안 수집한 정보는 기본적으로 호스트 기반 정보, 네트워크 기반 정보와 그밖에 일반적인 정보로 나뉠 수 있다. 호스트 기반 정보는 네트워크에서 얻어진 것이 아니라 시스템에서 얻어진 로그, 레코드, 문서 그리고 또 다른 정보들을 포함한다. 예를 들면, 호스트 기반 정보는 특정기간 동안 증거를 보관하고 있었던 시스템 백업일 수도 있다. 호스트 기반 데이터 수집은 일단 휘발성 데이터를 우선 수집한 후 포렌식 이미징 작업을 통해서 정보를 모아야 한다.
다음은 수집해야 할 휘발성 데이터의 종류이다.
-
시스템 날짜와 시간
-
시스템에서 현재 동작 중인 어플리케이션
-
현재 연결이 성립된 네트워크 상황
-
현재 열려진 소켓(포트)
-
열려진 소켓 상에서 대기하고 있는 어플리케이션
-
네트워크 인터페이스의 상태
-
메모리 정보
-
현재 열려진 파일
-
시스템 패치 상황
네트워크 기반 증거는 다음의 정보를 포함하고 있다.
-
IDS 로그
-
관련자의 허락을 득한 네트워크 모니터링의 기록
-
ISP 가입자 이용 기록 장치/감시 장치의 로그
-
라우터 로그
-
방화벽 로그
-
인증 서버 로그
데이터 분석은 모든 수집된 정보의 전체적인 조사를 의미한다. 이것은 로그 파일, 시스템 설정 파일, 웹 브라우저 히스토리 파일, 이메일 메시지와 첨부파일, 설치된 어플리케이션 그리고, 그림파일 등을 포함한다. 소프트웨어 분석, 시간/날짜 스탬프 분석, 키워드 검색, 그외의 필요한 조사과정을 수행한다.
보고서 작성
복구 및 해결 과정
컴퓨터 보안사고 대응의 마지막 단계는 현재 발생한 사고로 인해 제 2, 제 3의 피해를 막고 재발을 방지하기 위한 조치들이 이루어져야 한다. 이를 위해 다음과 같은 조치들을 취해야 한다.
-
조직의 위험 우선순위 식별
-
사건의 본질을 기술 : 보안 사고의 원인과 호스트, 네트워크의 복원시 필요한 조치
-
사건의 조치에 필요한 근원적이고 조직적인 원인 파악
-
침해 컴퓨터의 복구
-
네트워크, 호스트에 대해 밝혀진 취약점에 대한 조치(IDS, Access control, firewall)
-
시스템을 개선할 책임자 지명
-
시스템 개선이 이루어지고 있는지 추적
-
모든 복구 과정이나 대책의 유용성 검증
-
보안 정책 개선
침해사고 분석기술
다음의 내용들은 KISA의 공식 배포 자료들에 있는 내용이 아닌, 개인적으로 정리해놓은 내용이기에 공식적?인 절차나 내용은 아님을 밝힌다.
초기대응 - 사고 정황 확인 (휘발성 정보 수집)
초기대응의 휘발성 정보 수집에서 아래와 같은 명령어들을 통해 사고 정황을 확인한다.
의심 프로세스의 PID 확인
$ ps -ef | grep X
의심 프로세스의 경로 확인 (ps 바이너리가 변조된 경우)
$ lsof
부모 프로세스가 존재하는지 확인
$ pstree -H
root 권한으로 열려있는 pty가 있는지 확인
$ w
열려있는 포트와 연결된 IP 확인
$ netstat -anp
외부 PC에서 nmap으로 열려있는 포트 확인
$nmap -sT -p -65535 [서버IP]
열린 포트를 어떤 프로세스가 사용하는지 확인
$ fuser [포트/tcp]
루트킷 탐지
// Rootkit Hunter 사용
웹쉘 탐지
// WHISTL 사용
보안솔루션 로그 확인
// 웹쉘 솔루션, IPS, 백신 등 로그 확인
초기 대응 - 긴급 대응
사건 유형을 식별 후 그에 맞는 긴급 대응을 수행한다.
백업
상세 분석을 위한 프로세스 백업
웹서버, DB (고객정보) 백업
중요 설정파일 백업
프로세스 (백도어) 삭제 및 계정 제한
root 권한으로 돌고있는 백도어 삭제
권한 상승 계정 삭제 혹은 계정 권한 제한
관리자 계정 패스워드 변경
정책 재설정
방화벽에 해당 포트 차단 정책을 적용
사고조사 (데이터 수집 및 분석)
로그 상세 분석을 수행한다.
로그 파일의 정보를 확인
웹로그 (/user/local/apache/logs)
이벤트로그 (/var/log/secure)
웹로그 확인 (최초 공격 대상이 웹인 경우)
어떤 웹 취약점을 사용해 어떻게 공격했는지 파악
IPS 로그 확인
권한 상승 발생 시점 확인으로 어떤 취약점이 악용됐는지 파악
방화벽 로그 확인
추후 방화벽 정책 업데이트를 위함
프로세스 상세 분석을 수행한다.
웹쉘의 경우 웹쉘 코드 확인 및 행위를 분석
...GET /image/X.asp Action=CmdShell 200
...GET /image/X.asp Action=UpFile 200
악성코드의 경우 정적/동적 분석
레지스트리 조작, 파일 전송 등 시스템에 어떤 영향을 미쳤는지 파악
백도어의 경우 백도어로 수행된 행위 파악
마지막으로 복구 및 대응을 수행한다.
웹취약점 제거
입력값 필터링, 업로드 디렉토리의 실행 권한 제거
화이트리스트 기반 확장자 검사 등
취약한 OS 및 소프트웨어 최신 버전 유지
악성코드 유포 방지를 위한 원데이 취약점 제거
웹쉘/악성코드 등 패턴 추가
고유한 특징을 나타내는 패턴 추출 후 등록
방화벽 등 정책 추가
앞선 보안솔루션들을 통과할 수 있었던 원인 분석
방화벽 등 정책 추가 (IP 차단 등)
'자격증,이론 > 보안이론' 카테고리의 다른 글
[암호학] DES vs AES 암호화 알고리즘, 방식 및 차이 (0) | 2020.06.23 |
---|---|
[암호학] 스테가노그래피/워터마크/핑거프린팅 비교 (0) | 2020.05.26 |
[암호학] 페이스텔(Feistel) 암호의 암복호화 방식 (0) | 2020.05.15 |
[네트워크] 분산 서비스 거부 공격 (DDoS)의 정의, 유형 (0) | 2020.05.07 |
[암호학] 양방향 vs 단방향 암호화 (해시함수, 메시지 인증코드란) (0) | 2020.05.05 |