'침해분석'에 해당되는 글 2건

  1. 2012.02.20 [가이드] 단계별 침해사고 분석절차
  2. 2009.08.21 시스템 보안 침해 분석 및 대응
2012. 2. 20. 20:24

[가이드] 단계별 침해사고 분석절차

제 1 장 서론

최근 인터넷 침해사고의 추세는 주로 금전적인 이익을 얻기 위하여 발생하고 있으며, 그 수법이 갈수록 지능적이고 복합적인 기법들을 사용하여 대응과 분석이 점점 어려워지고 있다. 최근의 침해사고들을 보면 국외의 해커들이 국내 홈페이지를 해킹한 후 악성코드를 은닉하고 이를 통해 국내 온라인게임 사용자들의 게임정보를 해외로 유출하고, 국내의 웹서버들을 해킹한 후 금융사기를 위한 피싱(Phishing) 사이트로 악용하기도 한다. 또한, 국내의 수많은 PC들이 악성 Bot 등 악성코드에 감염되어 공격자에 의해 조정당하고 분산서비스거부공격(DDoS), 스팸발송, 와레즈 사이트 등에 악용되고 있다. 이외에도 스파이웨어, 키로그, 루트킷 등 다양한 악성 프로그램들이 범죄 목적으로 설치되고 있다.

이처럼 인터넷 침해사고를 일으키는 해킹 기법이 지능화됨에 따라 침해사고에 대한 분석도 어려워지고 있다. 홈페이지 악성코드 은닉사고의 경우도 다양한 방법으로 악성코드를 숨기고 있으며, 악성 Bot도 탐지가 어려운 루트킷과 결합되어 탐지가 어려워지고 있다. 이렇게 침해사고분석이 어려워짐에 따라 해킹피해 기관 또는 악성코드에 감염된 개인이 침해사고에 대한 적절한 대응을 하지 못하여 피해가 확산되거나 복구가 불완전하게 되어 반복적으로 피해를 입는 경우가 많다.

본 가이드에서는 해킹피해 기관이나 개인이 침해사고를 당하였을 경우 이에 대응하기 위한 분석절차와 기술을 제시한다. 특히, 본 가이드에서는 최근 가장 문제가 되고 있는 악성봇감염 PC의 분석 및 대응, 홈페이지 악성코드 은닉 사고를 중심으로 분석 및 대응절차를 소개하여 유사 사고 피해기관에서 활용할 수 있도록 한다.

본 가이드의 2장에서는 침해사고발생시 사고분석자가 취해야 할 단계별 침해사고 분석절차를 소개한다. 3장에서는 윈도우, 리눅스와 같은 각 운영체제와 네트워크, 데이터베이스 등 각 부분에서의 사고분석 기술을 상세히 알아보도록 한다. 4장에서는 최근 국내에서 많은 피해를 입히고 있는 대표적인 사고인 홈페이지 악성코드 은닉 사고와 악성 봇 관련 사고에 대한 분석절차를 소개한다.

제 2 장 단계별 침해사고 분석 절차

제1절 사고대응 방법론

법에 명시된 정보보호 침해사고란 해킹, 컴퓨터바이러스, 논리폭탄, 메일폭탄, 서비스거부 또는 고출력 전자기파 등에 의하여 정보통신망 또는 이와 관련된 정보시스템을 공격하는 행위로 인하여 발생한 사태를 말한다(정보통신망이용촉진및정보보호등에관한법률 제2조 1항 7조). 하지만 실무에서는 해킹, 컴퓨터바이러스 유포에 한정하지 않고 모든 전자적인 공격 행위 및 그 결과에 따라 발생한 각종 피해로 생각하고 있다.

침해사고의 종류는 바이러스, 트로이잔, 웜, 백도어, 악성코드 등의 공격, 비인가된 시스템 접근 및 파일 접근, 네트워크 정보 수집을 포함한 비인가된 네트워크 정보접근, 네트워크서비스의 취약점을 이용하여 서비스를 무단 이용하는 비인가된 서비스 이용, 네트워크 및 시스템의 정상적인 서비스를 마비 또는 파괴시키는 서비스 방해 등 다양한 침해사고들이 존재하고 있다. 침해사고의 최근 경향으로 지능화되고 자동화된 공격기법이 늘어나고 있다. 이러한 특징을 요약하면 다음과 같다.

● 대규모(동시에 다수의 서버를 공격)
● 분산화(다수의 서버에서 목표시스템을 공격)
● 대중화(해킹관련 정보의 손쉬운 획득)
● 범죄적 성향(금전적 이익, 산업정보 침탈, 정치적 목적)

이러한 공격들은 복잡하고, 다양한 기술을 이용하여 시도되고 있다. 따라서 우수한 보안 기술을 채택하여 침해사고 발생을 억제할 필요가 있으며, 침해사고가 발생한 경우 이를 철저히 조사하여 향후 동일한 사고가 발생되지 않도록 조치를 취해야 한다. 아래 그림은 단계별 침해사고 대응 절차를 나타내고 있다. 여기서 제시된 절차는 7가지 대응 요소로 나뉜다.

● 사고 전 준비 과정 : 사고가 발생하기 전 침해사고 대응팀과 조직적인 대응을 준비
● 사고 탐지 : 정보보호 및 네트워크 장비에 의한 이상 징후 탐지. 관리자에 의한 침해 사고의 식별
● 초기 대응 : 초기 조사 수행, 사고 정황에 대한 기본적인 세부사항 기록, 사고대응팀 신고 및 소집, 침해사고 관련 부서에 통지
● 대응 전략 체계화 : 최적의 전략을 결정하고 관리자 승인을 획득, 초기 조사 결과를 참고하여 소송이 필요한 사항인지를 결정하여 사고 조사 과정에 수사기관 공조 여부를 판단
● 사고 조사 : 데이터 수집 및 분석을 통하여 수행. 언제, 누가, 어떻게 사고가 일어났는지, 피해 확산 및 사고 재발을 어떻게 방지할 것인지를 결정
● 보고서 작성 : 의사 결정자가 쉽게 이해할 수 있는 형태로 사고에 대한 정확한 보고서를 작성
● 해결 : 차기 유사 공격을 식별 및 예방하기 위한 보안 정책의 수립, 절차 변경, 사건의 기록, 장기 보안 정책 수립, 기술 수정 계획수립 등을 결정 

제2절 사고대응 전 준비과정
계획된 준비 과정은 성공적인 사고 대응을 이끌어 낸다. 침해 사고는 시스템 및 네트워크의 운영이 관리자의 통제 및 예측을 벗어난 상태에서 운영될 때 발생된다는 것을 고려할 때, 사고 대응자는 사건이 언제 어떤 방식으로 일어날지 알 수 없다. 더욱이 외부의 사고 대응자는 사고가 일어나기 전에는 시스템을 관리하거나 접근할 권한이 없다. 따라서 사고 전 준비과정에서는 침해 사고 대응팀이 사고 현장에 도착해서 빠르고 정확하게 사고 대응을 실시할 수 있도록, 관리자와 긴밀한 협조관계와 각 직책별 행동 방안을 구축해야 한다. 이와 덧붙여서 사고 대응을 위한 기술 개발, 도구의 준비, 네트워크와 시스템의 사전 조치 등을 취하여야 한다.

1. 사고 대응 체제의 준비
효율적인 사고 대응을 위해 준비단계에서는 범 조직적인 전략과 대처 방안을 개발해야
한다. 아래는 사고 대응 체제의 준비과정을 요약한 것이다.

● 호스트 및 네트워크 기반 보안 측정 수행
● 최종 사용자 교육 훈련
● 침입탐지 시스템 설치
● 강력한 접근 통제 실시
● 적절한 취약점 평가 실시
● 규칙적인 백업 수행
● 침해사고 대응팀과의 비상 연락망 구축

2. 침해사고 대응팀의 준비
 침해사고 대응팀은 전문가 조직을 구성하고 시스템 네트워크 관리자와 긴밀한 협조 관계를 구성해야 한다. 침해사고 대응팀의 준비 단계에서는 다음 사항들을 고려해야 한다.

● 사고 조사를 위한 도구(H/W, S/W) 구비
● 사고 조사를 위한 문서양식 정형화
● 대응 전략 수행을 위한 적절한 정책과 운용 과정 수립
● 간부, 직원들에 대한 교육 훈련 실시

사고가 일어난 후에 침해사고 대응에 필요한 자원을 준비하려는 조직은 없을 것이다. 사
고 해결에는 즉각적인 대응이 필수이므로, 준비 미흡으로 인해 대응 시간이 불필요하게 지
연되는 일이 없도록 해야 한다.

제3절 사고 탐지

만약 효과적으로 사고를 탐지할 수 없다면, 사고 대응을 성공적으로 수행할 수 없다. 따라서 사고 탐지는 사전에 사고 대응자와 관리자가 함께 구성해야 할 요소 중 하나이다. 침해사고는 주로 공격자에 의한 비인가 접속, 전산자원의 오남용 및 불법적인 사용 시도로 성공하였다고 의심될 때 관리자에 의해 인지된다. 사고 탐지는 시스템 및 네트워크 사용자 또는 관리자에 의해 탐지되며, 침입탐지 시스템, 방화벽과 같은 정보보호 장비들에 의해 그세부 기록을 확인할 수 있다. 사고 탐지와 관련된 영역과 징후가 <그림 2-2>에 묘사되어 있다.

대부분의 조직에서는 다음 세 가지 방법 중에 하나를 이용하여 탐지된 사고를 보고할 것이다.

● 직속상관에게 보고
● 전산 지원실에 신고
● 정보보호 부서에 의해 관리되는 사고 핫라인으로 신고

어떤 식으로 사고가 보고될지라도, 중요한 것은 최초 탐지하게 된 경위와 인지된 상황을 빠짐없이 보고하는 것이다. 이때 적절한 요소들을 기록하고, 대응 절차를 단계별로 수행하기 위해 초기 대응 점검표를 이용하는 것이 좋다. 초기 대응 점검표는 사고가 탐지된 이후에 확인해야 할 세부항목들을 기술하고 있다. 초기 대응 점검표 구성에 중요한 요소는 다음과 같다.

● 현재 시간과 날짜
● 사고보고 내용과 출처
● 사건 특성
● 사건이 일어난 일시
● 관련된 하드웨어, 소프트웨어의 목록
● 사고 탐지 및 사고 발생 관련자의 네트워크 연결 지점

 초기 대응 점검표가 완전히 작성된 이후에 침해사고 대응팀이 활동을 시작하여야 정확하고 신속한 대응이 가능하다. 따라서 대응팀은 사고 관련자들과 면담을 하면서 초기 대응 점검표를 정확히 작성할 수 있어야 한다.

제4절 초기대응

 조사의 초기 단계는 적절한 대응을 위한 충분한 정보를 얻는 것이다. 초기 대응은 침해사고 대응팀을 소집하고, 네트워크와 시스템의 정보들을 수집하며, 발생한 사건의 유형 식별과 영향 평가를 포함한다. 또한, 다음 단계로 진행할 수 있도록 충분한 정보를 모으고, 대응전략을 세우는 것이 목적이다.

 초기 대응의 첫 단계는 전산 관리팀의 전문가가 조치를 수행하고, 침해사고 대응팀이 도착한 이후에는 초기 조치 사항들을 인수인계하고, 이후의 조치는 침해사고 대응팀에 맡기거나 함께 공조를 하게 된다. 원활한 인수인계 및 조치사항 검토를 위해 각 단계에서 수행되는 모든 행동들은 문서화하여 기록을 유지하는 것이 중요하다.
초기 대응 이후에는 관련 데이터를 수집하게 되는데, 이 과정에서는 다음과 같은 작업들이 포함된다.

● 사건의 기술적인 내용을 통찰할 수 있는 시스템 관리자와 면담
● 사건 분석을 위한 정황을 제공해 줄 수 있는 인원들과의 면담
● 침입 탐지 로그와 데이터 식별을 위한 네트워크 기반 로그의 분석
● 공격 경로와 수단을 알아내기 위한 네트워크 구조와 접근 통제 리스트의 분석

 대응팀의 첫 번째 임무는 현재 발생한 사건이 시스템과 네트워크를 직간접적으로 침해한사건이며, 이 사건이 업무 및 서비스에 영향을 미친다는 것을 검증을 통해 확인하는 것이다. 이를 위해 대응팀은 사고에 대한 충분한 정보를 확보하고 이를 검토해야 한다. 초기 대응 단계가 마무리 되면 실제로 사고가 일어났는지(혹은 오탐인지), 침해된 시스템에 대한 적당한 대응책이 있는지, 사건의 유형은 무엇인지, 그리고 사고로 인한 잠재적인 업무 영향은 무엇인지 등을 알 수 있을 것이다. 이렇게 적절한 정보가 준비되면 이를 판단근거로 하여, 현재 사고를 어떻게 처리할 것인지를 결정(대응 전략 수립)할 수 있다.

제5절 대응전략 수립
  
 대응전략 수립 단계의 목표는 주어진 사건의 환경에서 가장 적절한 대응전략을 결정하는 데 있다. 전략은 정책, 기술, 법, 업무 등의 사고와 관련된 적절한 요인들을 고려해야 한다.
 
1. 환경의 전체적인 고려
대응전략은 침해 사고의 환경에 많은 영향을 받는다. 사고조사를 위해 얼마나 많은 자원이 필요한지, 증거의 완벽한 확보를 위해 저장 매체를 완전히 복사하는 포렌식이미징(Forensic Duplication) 작업이 필요한지, 형사소송 또는 민사소송을 할 필요가 있는지, 대응 전략에 다른 관점이 있는지를 결정해야 한다. 이러한 결정을 위해 다음의 요소들을 검토하여 대응 전략을 수립하도록 한다.

● 침해당한 컴퓨터가 얼마나 중요하고 위험한가?
● 침해당하거나 도난당한 정보가 얼마나 민감한 것인가?
● 사건이 외부에 알려졌는가?
● 직/간접적인 공격자는 누구인가?
● 공격자에 의해 침해된 비인가 접근의 수준은 어느 정도인가?
● 공격자의 수준은 어느 정도인가?
● 시스템과 사용자의 업무중단 시간은 어느 정도인가?
● 어느 정도의 경제적 피해가 있었는가?

 사고는 바이러스 사고부터 고객 데이터베이스 노출까지 매우 다양하다. 일반적인 바이러스 사고는 시스템이 다운되거나 자료가 소실되는 사고로 이어지고, 고객 데이터베이스가 노출되는 사고는 사업의 파산으로 이어질 수도 있다. 따라서 각 사고에 대한 대응 전략은 달라질 것이다.

따라서 정확한 대응 전략 수립을 위해 초기 대응 동안에 얻은 세부사항들을 충분히 검토해야 한다. 예를 들면, DoS 공격의 출처가 중고등학교 웹서버일 경우와 경쟁사 직원의 시스템일 경우의 대응은 서로 다르게 다루어질 것이다. 따라서 대응 전략을 결정하기 전에 사고의 세부항목과 요인에 대한 재조사가 필요할 것이다. 특히 조직의 대응 방침은 대응 전략에 중요한 역할을 할 것이다. 대응 방침은 대응 능력, 기술 자원, 정책적 고려, 법적 제한, 업무목적에 의해 결정된다.    

2. 적절한 대응 고려
공격 환경과 대응 능력을 고려하여, 다양한 대응 전략을 수립하여야 한다. 다음 표는 일반적인 상황에서 대응 전략과 가능한 결과를 보여준다. 대응 전략은 어떻게 사고의 결과로부터 얻을 수 있는지 결정해야 한다.

언급한 바와 같이, 대응 방법에 따라 조직이 영향을 받을 수 있기 때문에 대응 전략은 조직의 업무 목표를 고려해야 하며, 상위 관리자가 승인해야 한다. 대응 전략은 다음과 같은 장단점을 고려하여 수립해야 한다.

● 네트워크 및 시스템 다운시간과 이로 인한 운영상의 영향
● 사건 공개와 그에 따른 조직의 대외 이미지와 업무에 영향
● 지적 재산권의 도용과 잠재적인 경제적 영향

다음에 나오는 기준들은 사고 대응에서 수사기관에 신고하여 법적인 대응을 할 것인지
아닌지를 결정할 때, 고려되어야 할 사항 들이다.

● 사고의 비용이나 피해정도가 범죄 전문가를 초빙할만한가?
● 사법이나 형사 조치가 조직이 원한 만큼 결과를 이끌어 낼 것인가?(상대로부터 피해를 복구하거나 손해배상을 받을 수 있나?)
● 사고 원인 분석은 타당한가?
● 효과적인 수사에 도움이 되는 적절한 문서와 정리된 보고서를 가지고 있는가?
● 수사관이 효과적으로 행동할 수 있도록 준비될 수 있는가?
● 수사관들과 공조한 경험이 있거나 그 방법을 잘 알고 있는가?
● 사고 내용의 공개를 감수할 수 있는가?
● 데이터 수집 절차는 합법적인 행동이었는가?
● 법률 분쟁이 사업 수행에 어떻게 영향을 줄 것인가?

사건의 내용이 법적인 제제가 필요한 사항이 아니라 내부에서 처리해야 할 사항이라면 직원 관리 차원에서 사원을 징계하고 해고하는 것이 일반적이다. 다음은 사원 인사 조치의 예이다.

● 공식적인 징계 문서
● 해고
● 일정 기간 동안의 근신
● 업무 재분배
● 임시 봉급 삭감
● 행동들에 대한 공개적, 개인적인 사과
● 네트워크나 웹 접근과 같은 권한의 박탈

제6절 사고 조사

 사고 조사는“누가, 무엇을, 언제, 어디서, 어떻게 그리고 왜”와 같은 사항들을 결정하는 것이 필요하다. 이를 위해 사건 조사는 호스트 기반과 네트워크 기반 증거로 나누어 조사해야 한다.
 사고 조사를 어떻게 하든지 간에 공격자에 의해서 일어난 사고를 수습하고 공격자를 색출하는 것에 초점이 맞추어질 것이다. 즉, 조사의 핵심은 누가 어떤 것에 손상을 입혔는가를 확인하는 것이다. 따라서 누가, 무엇을, 언제, 어디서 그리고 어떤 정보가 사고와 관련된 것인지를 확인하기 위해 사고 조사 과정은 데이터 수집과 자료 분석 단계로 나뉜다.

1.데이터 수집

데이터 수집은 사건 분석을 하는 동안 깊이 살펴보아야 할 범행들과 단서들의 수집이다.
수집한 데이터는 결론을 내는데 필요한 기본 정보들을 제공한다. 만약 가능한 모든 데이터를 수집하지 않았다면 적절하게 사고를 해결할 수 없고 또 사고가 어떻게 일어났는지 이해할 수 없을 것이다. 따라서 어떤 수사를 하기 전에 접근 가능한 데이터를 모두 수집 해야만 한다. 아래는 데이터 수집 시 봉착하는 어려움 또는 요구사항들이다.

● 법적 소송을 염두해 둔다면 증거가 무결성과 적법성을 유지하도록 디지털 데이터를 수집해야 한다.
● 종종 엄청난 양의 데이터를 수집하고 보관해야 할 경우가 있다.

 이런 요구사항들은 만족시키면서 기술적인 데이터를 획득하고 사고 분석을 하려면 컴퓨터 포렌식 기술이 필요하다.

데이터를 수집하는 동안 수집한 정보는 기본적으로 호스트 기반 정보, 네트워크 기반 정보와 그밖에 일반적인 정보로 나뉠 수 있다.

가. 호스트 기반 정보

 호스트 기반 정보는 네트워크에서 얻어진 것이 아니라 시스템에서 얻어진 로그, 레코드, 문서 그리고 또 다른 정보들을 포함한다. 예를 들면, 호스트 기반 정보는 특정기간 동안 증거를 보관하고 있었던 시스템 백업 일 수도 있다. 호스트 기반 데이터 수집은 휘발성 데이터를 우선 수집한 후 포렌식 이미징 작업을 통해서 정보를 모으는 것이다.

데이터 수집의 첫 번째 단계는 정보들이 사라지기 전에 휘발성 정보들을 수집하는 것이다. 어떤 경우에는 중요 증거가 일시적으로 있었다가 없어지며, 피해 시스템이나 사건조사에 중요한 시스템을 끌 때 사라져 버리는 경우가 있다. 이러한 휘발성 증거는 사고 의도를 이해하고자 할 때 매우 중요한 정보와 시스템의“snap-shot”을 제공한다. 다음은 수집해야할 휘발성 데이터의 종류를 나타낸다.

● 시스템 날짜와 시간
● 시스템에서 현재 동작 중인 어플리케이션
● 현재 연결이 성립된 네트워크 상황
● 현재 열려진 소켓(포트)
● 열려진 소켓 상에서 대기하고 있는 어플리케이션
● 네트워크 인터페이스의 상태
● 메모리 정보
● 현재 열려진 파일
● 시스템 패치 상황

 이런 정보들을 수집하기 위해 Live Response가 수행되어야만 한다. Live Response는 시스템이 동작하고 있을 때 수행되어야 한다. Live Response는 아래와 같은 세 가지로 구분할 수 있다.

● Initial Live Response : 대상시스템이나 피해 시스템의 휘발성 데이터만 획득하는 것을 말한다.
● In-depth Response : 휘발성 데이터만 수집하는 것을 넘어서, 합법적인 대응 전략을 결정하기 위해서 대상시스템이나 피해 시스템으로부터 충분한 부가 정보를 획득한다.
● Full Live Response : Live 시스템의 완전 조사를 위한 대응을 말한다. 시스템을 꺼야하는 디스크 복제 작업 대신에 수사를 위한 모든 데이터를 Live 시스템으로부터 수집한다.

어떤 시점에서(보통은 초기 대응 시간에), 증거 매체의 디스크 복제 작업을 해야 할 지를 결정해야 한다. 일반적으로, 사고가 조사하기 어렵고 지워진 데이터를 복구해야 한다면 디스크 복제 작업이 유용하다. 대상 매체의 디스크 복제는 컴퓨터 포렌식 기술을 사용하여 이루어져야 한다. 이 작업은 대상 시스템과 완벽히 동일한 복사본 이미지를 제공함으로써 잠재적인 증거가 파괴되거나 변조될 거라는 걱정을 없게 만든다. 만약 향후 분석 과정을 거쳐 소송과 같은 법적 조치가 예상되면 일반적으로 대상 시스템을 복제한 포렌식 이미지를 수집하는 것이 바람직하다. 만약 사고가 여기저기에서 다중으로 발생한다면 포렌식 이미징 작업을 전 시스템에서 수행하기 어렵기 때문에 작업 수행 여부는 신중하게 결정해야 한다.

나. 네트워크 기반 증거

네트워크 기반 증거는 다음의 정보를 포함하고 있다.

● IDS 로그
● 관련자의 허락을 득한 네트워크 모니터링의 기록
● ISP 가입자 이용 기록 장치/감시 장치의 로그
● 라우터 로그
● 방화벽 로그
● 인증 서버 로그

 특정 조직은 종종 증거를 모으고, 내부 공모자의 의심스러운 점을 확인하기 위해서 네트워크 감시(합의가 된 모니터링)를 수행한다. 호스트 기반 감시가 효과적이지 않다면 네트워크 감시가 증거의 유효성을 높여줄 수 있다. 네트워크 감시는 공격을 막고자 하는 것이 아니라, 사고 발생시 관련 정보를 수집하기 위한 것으로 조사 분석에 많은 증거를 제공하기도 한다.

● 컴퓨터 보안 사고의 주변 인물들 중에 사건에 가담하여, 증거를 고의적으로 손상시킬 여지가 있는 관련자를 증거로부터 격리시킨다.
● 추가적인 증거나 정보를 축적한다.
● 정보 노출의 범위를 검증한다.
● 사고와 관련된 추가 내부 인원들을 확인한다.
● 네트워크에서 일어난 이벤트의 timeline을 결정한다.
● 대응 방침에 대한 상급자의 확실한 승인을 확보한다.

다. 기타 증거

 “기타 증거”는 증언과 사람들로부터 얻어진 다른 정보들을 뜻한다. 이것은 디지털 정보를 다루는 방식이 아닌 전통적인 조사 방식으로 증거를 수집한 것이다. 내부 직원의 개인 정보 파일을 수집할 때 직원을 인터뷰하고 모아진 정보를 문서화하는 것이 그 예라 할 수 있다.

2. 데이터 분석(포렌식 분석)
 데이터 분석은 모든 수집된 정보의 전체적 조사를 의미한다. 이것은 로그 파일, 시스템 설정 파일, 웹 브라우저 히스토리 파일, 이메일 메시지와 첨부파일, 설치된 어플리케이션 그리고, 그림파일 등을 포함한다. 소프트웨어 분석, 시간/날짜 스탬프 분석, 키워드 검색, 그외 의 필요한 조사과정을 수행한다. 포렌식 조사는 또한 로우레벨에서의 조사도 수행한다. 이 과정에 수행되는 각 요소들은 다음 그림에 나타나 있다.


제7절 보고서 작성

보고서 작성은 가장 어렵고도 중요한 단계이다. 보고서를 읽게 되는 상급자 또는 소송 관련자들은 컴퓨터에 대한 기본지식이 부족한 경우가 많기 때문에, 누구나 알기 쉬운 형태로 작성되어야 한다.

데이터 획득, 보관, 분석 등의 과정을 6하원칙에 따라 명백하고 객관적으로 서술해야 한다. 또한 사건의 세부 사항을 정확하게 기술하고, 의사 결정자가 이해하기 쉽게 설명되어야 하며, 재판 과정에서 발생하게 될 논쟁에 대응할 수 있도록 치밀하게 작성되어야 한다.

제8절 복구 및 해결 과정

 컴퓨터 보안사고 대응의 마지막 단계는 현재 발생한 사고로 인해 제 2, 제 3의 피해를 막고 재발을 방지하기 위한 조치들이 이루어져야 한다. 이를 위해 다음과 같은 조치들을 취해야 한다.

● 조직의 위험 우선순위 식별
● 사건의 본질을 기술 : 보안 사고의 원인과 호스트, 네트워크의 복원시 필요한 조치
● 사건의 조치에 필요한 근원적이고 조직적인 원인 파악
● 침해 컴퓨터의 복구
● 네트워크, 호스트에 대해 밝혀진 취약점에 대한 조치(IDS, Access control, firewall)
● 시스템을 개선할 책임자 지명
● 시스템 개선이 이루어지고 있는지 추적
● 모든 복구 과정이나 대책의 유용성 검증
● 보안 정책 개선


출처 : KISA


Trackback 0 Comment 0
2009. 8. 21. 15:31

시스템 보안 침해 분석 및 대응

** 침해 대응 **
침해대응 - 침해 분석/대응
포렌식 - 증거 수집/분석

* 데이터 수집
데이터 수집(증거수집)의 원칙:
- Live Data 수집
- 휘발성의 정도(OOV - Order of Volatility)를 고려하여 증거 수집.
  증거마다 휘발성의 정도가 다르므로 휘발성이 높은 것부터 낮은 것 순으로 수집
  즉 arp캐시는 수분내로 사라지는 데이터임
  그러나 어떤 파일은 수시간내에는 존재하는 데이터임
 

1)네트워크 기반 증거 수집
 - IDS 로그 수집
 - 라우터 로그 수집
 - 방화벽 로그 수집
 - 중앙 호스트(syslog)에서 원격 로그 수집
 - 기타

2)호스트 기반 증거 수집
 - 시스템 시간 수집
 - 휘발성 데이터 수집
 - 피해 시스템의 모든 시간/날짜 정보 수집
 - 출처 미확인 파일수집
 - 디스크 백업 수집

3)기타
 - 증인으로부터 증언 수집


* 데이터 분석
- 휘발성 데이터 분석
 => 네트워크 접속 조사,
    악의적인 코드 식별(백도어, 스니퍼)

- 파일 시간 및 날짜 정보 수집
 => 공격자에 의해 시스템 업로드 파일 식별
 => 업로드 / 다운로드 파일 식별

- 로그 파일 재조사
 => 비인가된 사용자 계정 식별
 => 숨겨진 파일 식별
 => 스케줄 과업 조사/식별
 => 레지스트리 조사
 => 키워드 검사

 
** 호스트 기반 분석
1) 시스템 날짜와 시간
2) 시스템에서 현재 동작중인 어플리케이션
3) 현재 연결이 성립된 네트워크 상황
4) 현재 알려진 소켓(포트)
5) 열려진 소켓 상에서 동작 또는 대기중인 어플리케이션
6) 네트워크 인터페이스 상태
7) 메모리 정보
8) 현재 열려진 파일
9) 시스템 패상황등


* Live Data 를 수집하는 방법
- Initial Live Response : 대상 시스템이나 피해 시스템의 휘발성 데이터만 획득.
- In-depth Response : 휘발성 + 부가적인 정보 획득
- Full Response : 디스크 복제 포함한 완전 조사


* 침해 분석 기술 - 윈도우
1. 시스템 시간 확인
 data /T : 시스템 날짜를 알려주는 명령어
 time /T : 시스템 시간을 알려주는 명령어

2. 시스템 정보 확인
 - 사고(피해) 시스템의 기본적인 정보 확인.
 - sysinternals의 psinfo.exe를 이용하면 OS기본정보, 보안 업데이트 정보,
   설치된 소프트웨어 정보 등을 알려줌.
   => http://www.sysinternals.com => Sysinternals Suite
 - psinfo -h -s : 핫픽스와 소프트웨어 목록정보

3. 프로세스 정보 확인
 - 악성코드나 공격자의 프로그램 찾기 위해.
 - 프로세스명, 프로세스 실행 파일 위치, 프로세스 커맨드 라인, 프로세스 실행시간,
   프로세스가 참조중인 DLL및 파일등의 정보
 - sysinternals의
   pslist.exe => 프로세스 리스트,
   listdlls.exe => 프로세스가 사용하는 dll출력
   handle.exe => 프로세스들이 참조하는 파일 리스트

4. 네트워크 정보확인
 - 네트워크 정보, 서비스를 열고 있는 응용프로그램 정보, 서비스에 연결된 세션 정보등
   netstat -an
   arp -a
   nbtstat -c
   ipconfig /all
   ipconfig /displaydns

   http://www.foundstone.com => Free Tools => Detection Tools => fport.exe

   랜카드가 무차별 모드로 동작했는지 여부
   http://ntsecurity.nu의 promiscdetect.exe

5. 사용자/그룹 확인
 net user
 net localgroup administrators

6. 공유/로그인 정보
 net share
 net session
 
7. 스케줄러
 at

8. 시스템 통신
 netcat(nc)

9. 시스템 복사
 dd(win)

이런 정보를 모아서 배치 스크립트 작성.

파일을 한폴더에 모아서 스크립트 파일로 작성.

실행 : ir_script.bat > %date%.txt => 오늘날짜로 저장
※ @echo. 한칸띄우기


** 디스크 이미지 덤프 뜨기
- 리눅스의 dd(disk dump)를 윈도우용으로 만든 windows dd이용

하드 드라이브
dd if==\\.\physicaldrive0 of=c:\filename bs=4096
dd if==\\.\c: ofc:filename bs=4096

메모리 덤프
dd if=\\.\physicalmemory of=\filename bs=4096


출처 : http://blog.naver.com/qhrjs11

Trackback 0 Comment 0