logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

포렌식을 활용한 정보보호

by digipine posted Nov 02, 2017
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

현대사회에서 국내 및 국제간에 발생하는 분쟁의 해결에 있어서는 무엇보다도 직접적 증거가 중요시되고 있다. 컴퓨터 포렌식에 대한 이해와 필요한 기술의 확보는 우리나라 검ㆍ경의 수사력 증대뿐만 아니라 IT 산업 전체의 경쟁력 강화에 매우 중요한 요소가 될 것으로 보인다. 이번 호에는 보안 침해사고 대응에 있어 컴퓨터 포렌식 대상을 선별 기준에 따라 선정하고 대상 시스템을 확보, 검증 및 분석 등 바른 컴퓨터 포렌식 절차에 따른 증거 보관 방안에 대해 살펴본다. 

컴퓨터 포렌식 개요 

컴퓨터 포렌식의 기원과 개념 

컴퓨터 포렌식(Computer Forensics)은 1980년대 중반부터 시작된 기술을 기반으로 한 범죄수사의 영역이지만, 군 또는 정보기관의 전자정보 수집기술이 컴퓨터 범죄수사의 시초라고 볼 수 있다. 과거 사진, 문서와 같은 아날로그 정보들이 디지털로 변화되면서 수집되는 정보의 형태 역시 변했고, 그 양 또한 막대해져 수집된 정보의 내용을 자동으로 식별, 분류하고, 분석하는 기술이 필요하게 되었다. 이러한 기술들은 후에 컴퓨터 수사에서 입수된 용의자의 컴퓨터 내부 파일들을 자동으로 검색 및 식별하는 주요한 기술로 발전하게 되었다. 

2000년을 넘어서면서 컴퓨터를 도구로 하는 범죄뿐만 아니라 컴퓨터 시스템에 접근해 중요 정보를 유출하거나, 정상적인 서비스를 방해하는 형태의 컴퓨터가 범죄의 목적이 되는 침해사고가 폭발적으로 증가하게 되었다. 

특히, 과거의 침해사고는 스크립트 키드(Script Kid)라 불리는 초보 해커에 의한 자기과시 또는 호기심을 충족시키기 위한 것이었다. 최근에는 전문적 해커 집단에 의해 경제적 이익이나 정치적 시위를 위해, 국가 기관에 대해서도 조직적이고 체계적인 형태의 공격들이 급증하고 있다. 이러한 침해사고를 조사하고 후속조치를 취하는 과정에 컴퓨터 포렌식이 필요하게 되었다. 

즉, 컴퓨터 포렌식은 컴퓨터 증거를 포함한 전자증거를 법정에 제출하기 위해 증거로 사용하기 위한 데이터를 수집, 식별, 보존, 분석하고 문서화하여 보고하는 일련의 행위들을 총칭한다. 

컴퓨터 포렌식의 필요성 

디지털 자료는 일반적으로 복사가 쉬울 뿐만 아니라 원본과 복사본의 구분도 어렵고 조작 및 생성, 전송, 삭제가 매우 용이하다. 따라서 디지털 자료가 법적 증거를 갖기 위해서는 자료의 수집ㆍ보관ㆍ분석ㆍ보고에 이르는 전 과정에 특별한 절차와 방법에 따라 진행해야 한다. 

컴퓨터 포렌식은 주로 컴퓨터에 내장된 디지털 자료를 근거로 삼아 그 컴퓨터를 매개체로 해 일어난 어떤 행위의 사실관계를 규명하고 증명하는 기법이다. 이 기법은 비단 민ㆍ형사상의 범죄 수사뿐만 아니라 기업 활동 중에서도 종업원들의 비리를 발견하거나 증거를 확보하는 데 이용될 수 있다. 특히 고객과의 분쟁해결에 있어 중요한 증거자료를 확보하는데 긴요하다. 

최근 공정거래위원회는 인터넷 보험가입자가 해킹 등으로 피해를 볼 경우, 보험회사가 고객의 실수를 입증하지 못하면 모든 책임을 져야 하는 새 약관을 승인했다고 발표했다. 이제 컴퓨터 포렌식 기법을 적용해 피해상황을 제대로 규명하지 못한다면 기업은 엄청난 민사상의 피해를 볼 가능성이 커졌다. 

미국 버클리 대학의 한 연구에 의하면 세계에서 생성되는 정보의 약 90% 이상이 디지털 형태로 만들어진다고 한다. 이는 디지털 자료가 컴퓨터 해킹 등과 같은 컴퓨터 범죄뿐만 아니라 일반 범죄를 수사하는 경우에도 요긴하게 사용되고 법적 증거로 채택될 가능성이 커지고 있음을 말해준다. 

주요 국가의 주요 수사기관과 민감한 자료를 다루는 금융, 보험회사 등에서는 컴퓨터 포렌식 분야의 중요성을 인식하고 전문가 및 다양한 관련 기술 확보뿐만 아니라 디지털 증거의 수집절차 및 분석방법 개발 등에 박차를 가하고 있다. 

또한, 민간 기업에서는 컴퓨터 포렌식에 필요한 수많은 제품들, 즉 무결성 확보도구, 강력한 검색도구, 디스크 복제도구, 디스크 쓰기방지도구, 다양한 분석 및 보고 소프트웨어 등을 개발해 국내외 시장을 휩쓸고 있다. 그러나 정보통신 강국이라는 우리의 경우, 소수의 중소기업에서 디지털 증거물 분석 소프트웨어를 개발중인 것으로 전해지고 있을 뿐 컴퓨터 포렌식 도구로 사용할 수 있는 대부분의 하드웨어, 소프트웨어 도구를 생산해 판매하고 있는 업체는 전무하다시피 하다. 

또한, 일반 기업에서 컴퓨터 포렌식 전문가를 확보하고 있는 경우도 거의 없는 것으로 파악되고 있다. 

컴퓨터 포렌식의 수행 절차 

컴퓨터 포렌식의 기본 

적용 범위 

ㆍ컴퓨터 범죄수사 : 스파이, 기술 유출, 공갈, 사기, 위조, 해킹, 사이버테러 

ㆍ민사소송 : 명예훼손, 업무상 과실/재해, 내부감사 

ㆍ침해사고 예방, 대응 : 방대한 표준 자료구성, 증거 분석결과를 기반으로 한 사고 대응방안 공유 

컴퓨터 포렌식의 기본 5대 원칙 

ㆍ정당성의 원칙 : 입수 증거가 적법절차를 거쳐 얻어져야 한다(위법수집 증거 배제법칙, 독수의 과실 이론). 

ㆍ재현의 원칙 : 피해 직전과 같은 조건에서 현장 검증을 실시하였다면, 피해 당시와 동일한 결과가 나와야 한다. 

ㆍ신속성의 원칙 : 시스템의 휘발성 정보수집 여부는 신속한 조치에 의해 결정되므로 모든 과정은 지체 없이 신속하게 진행되어야 한다.  

ㆍ연계 보관성의 원칙 : 증거물 획득ㆍ이송ㆍ분석ㆍ보관ㆍ법정 제출의 각 단계에서 담당자 및 책임자를 명확히 해야 한다. 

ㆍ무결성의 원칙 : 수집 증거가 위ㆍ변조되지 않았음을 증명할 수 있어야 한다. 

컴퓨터 포렌식 절차 

일반적으로 컴퓨터 포렌식의 절차는 아래와 같이 다섯 단계로 구성된다. 

수사준비 

수사준비 단계는 컴퓨터 포렌식에 사용되는 각종 소프트웨어 또는 하드웨어를 준비하고 점검하는 단계이다. 컴퓨터 포렌식에 사용되는 소프트웨어를 컴퓨터 포렌식 툴이라고 한다. 

컴퓨터 포렌식 툴이란 컴퓨터 범죄수사에서 컴퓨터 포렌식 절차를 신뢰하고 효율적, 체계적으로 실시할 수 있도록 하는 독립 또는 통합 도구이다. 툴이 올바르게 작동하며, 디지털 증거에 손상을 입히지 않고, 무결성을 보장하는지 검증이 필요하다. 

증거 획득 

피해사고 발생장소 또는 용의자의 컴퓨터를 압수하는 현장에서 각종 저장매체와 시스템에 남아있는 디지털 증거를 획득하는 과정이다. 여기서 디지털 증거(Digital Evidence)란 디지털 형태로 저장되거나 전송되는 증거로써 가치를 가지는 정보를 뜻하며, 그 예로써 파일, 네트워크 패킷, 메모리의 정보, OS 또는 소프트웨어의 정보를 들 수 있다. 

1) 휘발성 정보수집 

시스템을 종료하거나 전원을 차단할 경우 휘발성 데이터가 손실되므로 현재의 상태가 유지되는 상태에서 프로세스, 메모리, 자원 사용정보 등의 휘발성 정보를 수집한다. 

2) 하드 디스크 이미징 

증거 대상 디스크와 정확히 같은 사본을 만드는 과정을 말한다. 런던의 탐정이었던 존 오스틴(John Austen)이 디스크 이미징 기술이 컴퓨터 범죄수사에 유용하게 쓰일 수 있음을 처음으로 인식, 이후로 컴퓨터 포렌식 이미지에 대한 개념이 생겨났다. 입수된 디스크를 조사·분석하게 되면 증거가 손상될 우려가 있으므로, 이미지를 가지고 조사/분석을 진행해야 한다. 

3) 증거의 무결성 

해쉬 및 오류 검증 알고리즘을 원본 디스크와 디스크 이미지에 적용하여 보관한 뒤, 법정 증거 제출시 무결성 확보 여부를 주장할 수 있다. 

증거물 보관 및 이송 

증거물 보관 및 이송 단계는 수집된 증거물을 안전한 방법으로 분석실 또는 보관소로 옮기는 과정이다. 디지털 증거물은 일반 증거물에 비해 보관 이송에 각별히 유의해야 한다. 그 이유는 물리적 증거물의 경우 일단 압수된 증거물의 증거 능력을 상실시키기 위해서는 증거물에 직접 접촉하여 이를 훼손 또는 파괴시키는 방법밖에 없다. 하지만 디지털 증거의 경우 대부분 자기 기록 저장 매체에 저장되기 때문에 전자기파(EMP)에 노출되면, 저장된 내용이 모두 훼손되거나 삭제되기 때문이다. 

1) 증거물 보관 

ㆍ증거자료는 반드시 이중적으로 확보 
ㆍ디스크 이미지 사본 확보로 우발 상황에 대비 
ㆍ쓰기 방지 조치 및 봉인, 증거물 담당자 목록 유지 

2) 증거의 이송 

ㆍ포장 : Bubble Wrap, 정전기 방지용 팩, 하드 케이스 
ㆍ보관 : 접근 통제가 가능한 공간 확보 

3) 연계 보관 

ㆍ증거 담당자 목록 : 현장에서 수집된 증거가 법정에 제출될 시점까지 거쳐간 경로, 담당자, 장소, 시간을 기록한 목록 
ㆍ증거의 무결성 증명을 위하여 증거 담당자 목록을 통해 최초 수집자부터 법정 제출자까지 담당자가 유지되어야 하며, 인수인계 과정에서 상호, 증거를 확인하는 절차가 필요하다. 

증거물 분석 및 조사 

증거물 분석단계는 수집된 디지털 증거물의 내부를 확인하고 범죄에 관련된 파일 또는 정보를 획득하는 과정이다. 만약 모든 파일을 수동으로 열어서 내부의 정보를 확인해야 한다면, 조사 분석과정에는 막대한 시간이 소요될 것이다. 따라서 이러한 과정을 자동으로 처리하거나, 필요한 정보만 취사선택할 수 있는 검색 및 미리보기 기술들이 필요하다. 

1) Hash Analysis 

시스템 내의 파일의 변경 유무 및 알려진 파일과 같은 파일의 존재 여부를 확인한 후 변경된 파일에 대하여 우선순위를 주어서 조사, 분석하는 것이 효율적이다. 

2) 검색(Search) 

검색작업은 지속적으로 이루어지므로 포렌식 전문 검색 도구를 사용하는 것이 유용하다. 

3) 파일 변환(File Converter) 

모든 종류의 파일을 인식하고 해당 파일을 열람/분석할 수 있어야 하고, 그렇지 않은 파일은 자신이 볼 수 있는 형태로 변환할 수 있어야 한다. 

4) Folder Browsing 분석 

파일이 디스크에 위치하는 논리적, 물리적 위치들을 파악 가능하고 파일의 이름, 크기, 속성, MAC Time, Hash 값, File Signature 등으로 정렬해서 확인할 수 있어야 한다. 

5) Timeline 분석 

용의자의 알리바이, 사건 정황 등을 파악하는데 목적이 있으며 파일의 생성, 접근, 수정, 삭제 시간이 분석하기 쉬운 형태로 표시되어야 한다. 

6) Signature 분석 

용의자가 자료를 은닉시킬 목적으로 확장자를 변형할 수 있으므로 확장자와 Signature를 비교하는 과정이 필요하다. 

7) Log 및 History 분석

시스템 로그, 쿠키, Temp 디렉토리, 레지스트리는 용의자의 알리바이, 행적 등의 정보를 담고 있다. 이러한 정보는 대부분 바이너리 형태로 저장되어 있으므로 읽을 수 있는 형태로 변환하는 과정이 필요하다. 

8) 파일 복구 

파일 복구는 삭제 파일 복구, 깨진 파일 복구, 암호 파일 복구로 나눌 수 있다. 

보고서 작성 

컴퓨터 포렌식 절차중 마지막 단계로 디지털 증거수집, 운송 및 보관, 조사/분석 단계의 모든 내용을 문서화해 법정에 제출하는 단계이다. 보고서를 읽게 되는 법관, 배심원, 변호사 등은 컴퓨터에 대한 기본 지식이 부족한 경우가 대부분이기 때문에 누구나 보고서를 읽어도 이해할 수 있도록 쉽게 작성하며, 전문적인 내용은 상세한 설명을 첨부해야 한다. 

증거물 획득, 보관, 분석 등의 과정을 6하 원칙에 따라 명백하고 객관성있게 설명해야 하며, 예상하지 못한 사고로 데이터가 유실되어 변경이 생겼을 경우 이를 명확히 기재하고, 범죄 혐의 입증에 무리가 없음을 논리적으로 설득할 수 있어야 한다. 컴퓨터 포렌식 서비스 또는 전문가에게 상담을 의뢰하였다면 그 결과를 전문가 소견서 형태로 제출하고, 전문가를 법정에 참고인으로 출석할 수 있게 하는 과정도 포함해야 한다.

TAG •
?

List of Articles
No. Subject Author Date Views
62 RSA 암호화 알고리즘 개요 file 엉뚱도마뱀 2017.11.17 7
61 악성코드 종류 구분 digipine 2017.11.13 7
60 대칭키 암호화관련 개념 정리 digipine 2017.11.09 16
59 Ubuntu 16 에 mysql 5.7 설치 및 원격 설정 file digipine 2017.11.08 13
58 Ubuntu 16 에 JAVA 1.7.0 jdk 설치 하기 digipine 2017.11.07 14
57 윈도우 한영 전환 쉬프트 스페이스로 변경 digipine 2017.11.03 6
56 우분투 Nabi 한글 입력기 Tray(트레이) 상단 메뉴바로 옮기기 digipine 2017.11.03 6
55 Ubuntu 12.0.4 LTS에 Nabi 나비 설치하기 digipine 2017.11.03 3
54 Linux init.d 에서 등록하기. 부팅 시 자동실행 설정 digipine 2017.11.03 4
53 초고속망 통신사 DNS 서버 주소 모음 - DNS 설정 digipine 2017.11.03 7
52 git 환경 설정 및 명령어 정리 digipine 2017.11.03 2
51 유닉스/리눅스 명령어 레퍼런스 digipine 2017.11.03 2
» 포렌식을 활용한 정보보호 digipine 2017.11.02 3
49 소프트웨어 테스팅 전문가들을 위한 사이트 digipine 2017.11.02 3
48 MacOS 10.12.2 (OSX) KERNEL DEBUGGING file digipine 2017.11.02 3
47 MacOS 10.12.2 (OSX) 보안 취약점 공격 기초 digipine 2017.11.02 4
46 MacOS 10.12.2 (OSX) 보안 취약점 공격 코드 2 file digipine 2017.11.02 3
45 MacOS 10.12.2 (OSX) 보안 취약점 공격 코드 digipine 2017.11.02 3
44 [Qt] QSettings 클래스의 설명과 사용법, 설정 저장위치 digipine 2017.11.02 3
43 [Linux] ubuntu 16.04에 QT Creator 설치하기 digipine 2017.11.02 4
Board Pagination Prev 1 2 3 4 Next
/ 4