http://www.yes24.com/Product/Goods/7526115
이제 시작이야! 디지털 포렌식
디지털 포렌식 입문을 위한 첫걸음 이 책은 디지털 포렌식에 새로이 입문하는 사람들에게 탄탄한 기초를 제공하는 입문서다. 디지털 포렌식이 무엇인지, 어떠한 방법론이 사용되는지, 핵심적인
www.yes24.com
6. 안티 포렌식
안티 포렌식은 디지털 데이터를 조작, 삭제 또는 난독화하여 조사를 어렵게 만들거나 시간이 많이 소요되도록 하거나, 아니면 거의 불가능하게 만드는 것을 의미한다.
[데이터 은폐]
데이터 은폐 기술은 파일 이름과 확장자 변조, 관계없는 디렉터리에 파일 숨기기, 파일 속에 파일 숨기기, 암호화 등 간단한 것부터 복잡한 것까지 다양하다.
암호화
* 데이터를 암호문이라는 형태로 변환하여 승인되지 않은 사람들이 데이터를 쉽게 보지 못하도록 하는 것
* 암호화 과정 : 평문 → 암호문
평문 : 원본 텍스트, 암호화되지 않은 메시지. 모든 사람들이 읽을 수 있다.
암호문 : 쉽게 이해할 수 없는 형태로 변환된 것. 평문을 기반으로 만들어진다.
* 알고리즘 : 암호화하는데 사용하는 방식
* 키 : 정보를 암호화하고 복호화하는 데 사용하는 데이터. 비밀번호나 비밀문구 등.
* 난독화와 암호화는 모두 특정 데이터나 텍스트를 이해하기 어렵게 만들기 위해 사용된다.
난독화는 데이터 자체보다는 컴퓨터 코드를 보호하는 데 사용되는데, 리버스 엔지니어링으로부터 보호한다.
알고리즘
* 특정 작업(일이나 문제 해결, 특정 목적 달성)을 완료하기 위해 사용되는 명령들.
정해진 절차를 만들어준다.
* 암호화 알고리즘
- 대칭 암호화 : 하나의 키로 데이터를 암호화하고 복호화한다.
- 비대칭 암호화 : 두 개의 서로 다른 키를 사용하여 암호화하고, 복화하 할 때 사용하는 키가 다르다.
* 알고리즘에 비밀은 없다.
효과적인 암호 시스템에서는 키만이 유일한 비밀이어야 한다.
알고리즘 자체의 비밀성에 의존하는 모든 시스템은 보안적으로 안전하지 않다.
→ 폐쇄성을 유지하면 정말로 보안적으로 안전한지 아닌지 알 수 없기 때문
키 공간(key space, 키 길이)
* 특정 암호화 알고리즘의 강도에 대해서 이야기할 때 측정 기준으로 사용된다.
* 키 값의 길이에 따라서 무차별 대입 공격으로 암호를 크랙하는데 걸리는 시간이 달라진다.
암호화의 예
* 전체 디스크 암호화(full disk encryption, whole disk encryption) : 드라이브 전체를 암호화
스웝 공간에 파일의 일부가 남는 등의 데이터가 누출되는 것을 방지한다.
데이터를 암호화하고 다시 복호화해야 하기 때문에 성능 저하의 단점이 있다.
* 암호화 파일 시스템(Encrypting File System, EFS) : 파일과 폴더를 암호화하는 데 사용된다.
* 비트락커
전체 하드 드라이브를 암호화하는 데 사용할 수 있는데, 키 없이는 복호화가 거의 불가능하다.
비트락커 투 고(BitLocker To Go)의 경우에는 USB 드라이브 같은 이동식 매체를 암호화하는 데 사용할 수 있다.
비트락커는 독립적으로 작동하지 않고, TPM(Trusted Platform Module, 신뢰 플랫폼 모듈)이라는 노트북이나 PC의 마더보드에 있는 마이크로 칩과 함께 작동한다.
비트락커가 설치되어 있지만, 컴퓨터가 실행 중이라면 비트락커를 공격하지 않고도 데이터를 복원할 수 있다.
* 애플 파일바울트
애플 운영체제에 설치되어 있는데, 파일바울트 2는 128 비트 AES 암호화 알고리즘을 사용하며, 드라이브 전체를 암호화 할 수 있다.
애플 자사에 고객이 복원 키를 저장할 수 있게 하며, 애플에 저장되어 있는 키는 합법적인 검색 기관이 적법한 절차를 거쳐 압수할 수 있다.
* 트루크립트(TrueCrypt)
무료 오픈소스 소프트웨어로 실시간 암호화 기능을 제공하며, 전체 디스크 암호화 기능도 있다.
실시간 암호화에서는 데이터가 열리면 자동으로 복호화되고 데이터가 저장되면 자동으로 암호화된다.
전체 디스크 암호화를 하면 모든 파일의 내용을 암호화할 수 있으며, 시스템이 자체적으로 생성하는 민감한 데이터를 저장하고 있는 파일( 로그 파일, 스웝 파일, 레지스트리 항목 등)도 암호화할 수 있다.
AES, Serpent, Twofish 등의 다양한 종류의 암호화 알고리즘을 사용할 수 있습니다.
비밀번호 크랙
* 무차별 대입 공격, 딕셔너리 공격, 비밀번호 재설정 등이 있음
* 복잡하고, 강력한 비밀번호여도 외우기 힘들기 때문에 어느 곳에 메모를 해두는 경우가 많다.
→ 하나만 획득하면 다른 모든 비밀번호도 획득할 수 있는 경우가 많다.
* 하드 드라이브의 스웝 공간에서 비밀번호를 찾을 수 있고, 실행 중인 컴퓨터에서 RAM을 캡쳐하는 것도 비밀번호를 크랙하는 데 도움이 된다.
[크랙 방법]
* 무차별 대입 공격
최대한 많은 컴퓨터 파워를 사용하여 정확한 비밀번호를 추측하는 것.
맞는 비밀번호를 찾을 때까지 무차별로 비밀번호를 대입하는 공격이다.
* 비밀번호 재설정
비밀번호 자체를 공격하기 보다는 소프트웨어 자체를 공격하여 비밀번호를 재설정하는 공격이다.
비밀번호를 재설정할 수 있게 해주는 취약점이 있는 일부 프로그램에서만 가능하다.
* 딕셔너리 공격
여러 출처에서 수집할 수 있는 단어를 사용하여 좀 더 정확하게 공격을 실행한다.
예를 들어, 하드 드라이브에서 발견된 모든 단어를 인덱스로 생성하여 공격할 수 있다.
[스테가노그래피(steganography)]
stegos: 고대 그리스 언어로 "감추다"
graphie: "글"
▼
"감춰진 글"
* 일반 메시지에 비밀 메시지를 숨기고, 최종 목적지에서 비밀 메시지를 볼 수 있는 것
* 완성된 스테가노그래피 파일은 호스트 파일과 페이로드로 두 파일로 구성된다.
- 호스트 파일: 비밀 메시지를 저장하고 있는 파일(사진, 동영상, 오디오, 문서 파일 등이 될 수 있음)
- 페이로드: 호스트 파일 안에 숨겨진 비밀 문서
* 노이즈(noise) : 사진, 동영상, 오디오와 같은 파일에 존재하는 상당한 양의 불필요한 데이터
호스트 파일에서 불필요한 부분(노이즈)을 은폐된 메시지 데이터로 교체하여 페이로드를 숨긴다.
스테가노그래피를 사용하고 있는지 판별하기가 어려우며, 생성할 때 사용했던 프로그램과 비밀번호를 알지 않는 이상 페이로드를 축출하기 매우 어렵거나 불가능하다.
[데이터 파괴]
* 단순히 삭제 키를 누른다고 해서 데이터가 완전히 사라지지 않는다.
* 완전히 흔적을 지우기 위해서 드라이브 와이핑(wiping) 툴과 같은 도구를 사용한다.
이러한 프로그램을 사용하면 사용한 흔적이 남아서 원본 데이터가 없어도 흔적 자체가 증거 자료가 될 수 있다.
드라이브 와이핑
* 하드 드라이브에 있는 데이터가 복원될 수 없도록 데이터를 덮어쓰는 데 사용된다.
* 드라이브에 있는 모든 데이터를 삭제하는 것이 아니라 지정한 파일만 완전 삭제하고 나머지 파일들을 그대로 놔둘 수 있다.
* 와이핑 프로그램은 사용된 흔적을 남길 수 있는데, 비트 수준에서 살펴보았을 때 특이하고 반복적인 데이터 패턴을 통해서 판별할 수 있다.