Chapter 6의 소 주제로는 암호화 기술과 위협 소개, 암호 크랙 공격, 데이터 은폐 및 파괴 기술이 있다.
디지털 증거, 삭제된 파일 등을 복원하는 것은 이제 흔한 일이 되었다. 드라마 등에서는 디지털 포렌식을 정기적으로 보여주고 있고, 사람들도 디지털 포렌식을 인지하고 이에 대응하기 시작했다. 제6장에서는 디지털 증거를 은폐하거나 파괴하는 데 사용할 수 있는 여러 기술들을 살펴볼 것이다.
안티 포렌식이라는 용어에 대한 정의는 많다. 존 바바라(John Barbara)는 아래와 같이 정의했다.
"안티 포렌식은 디지털 데이터를 조작, 삭제 또는 난독화하여 조사를 어렵게 만들거나 시간이 많이 소요되도록 하거나, 아니면 거의 불가능하게 만드는 것이다."
(Barbara, 2008)
안티 포렌식을 전문적으로 다루는 웹 사이트들도 있고, 이 주제에 대한 모든 정보를 공유하고 있다. Anti-Forensics.com은 컴퓨터 포렌식 수사나 포렌식 조사관을 좌절시키는 데에 사용할 수 있는 방법, 툴 그리고 정보를 공유하고 연구하는 데에 전념하는 사이트이다. 이 웹사이트의 목적은 디지털 포렌식의 조사와 분석을 최대한 어렵고 복잡하고 시간이 많이 걸리도록 하는 것이다.
범죄자만이 안티 포렌식 기술을 사용하는 것은 아니다. 기업 임원들이나 개인도 이러한 기술을 사용해 증거가 될만한 이메일, 재정 기록 등을 모두 파괴하거나 은폐하는 데 사용한다. 웹 브라우저같이 일상에서 사용하는 프로그램에도 포렌식 조사를 어렵게 만드는 기능이 있다. 예로 인터넷 기록 삭제 기능이 있다. 대부분의 최신 브라우저에는 "private browsing" 모드가 있어서 방문한 웹 사이트나 검색한 키워드에 대한 아무런 기록도 남기지 않는다.
수사의 관점에서 봤을 때 이러한 안티 포렌식 툴과 기술은 합법적인 용도로도 사용될 수 있다는 것을 인지해야 한다. 따라서 이러한 툴과 기술을 사용한 의도를 증명하는 것이 핵심적이다.
은폐 기술은 간단한 것부터 복잡한 것까지 다양하다. 예로 파일 이름과 확장자 변조, 관계없는 디렉터리에 파일 숨기기, 파일 속에 파일 숨기기, 암호화 등이 있다.
합법적인 용도로 암호화를 적용해 많은 인터넷 서비스가 가능하게 되었다. 암호화는 적합한 용도로 사용되면 사업과 국가의 안전을 지켜준다. 하지만 암호화 기술은 양날의 검이다. 범죄자, 테러범, 악의적인 국가, 비도덕적인 CEO 등이 사용하게 되면 매우 심각한 파급효과가 따른다.
오늘날에는 암호화를 통해 가장 민감한 디지털 정보를 저장 및 전송한다. 따라서 이러한 비밀 데이터를 인터넷이나 무선 네트워크로 전달하면서 예전처럼 직접적으로 통제할 수 없게 되었다. 아래의 예시처럼 테러범들은 암호화를 포함한 여러 최신 기술을 폭넓게 사용하고 있다.
CIA 국장이었던 조지 테넷(George Tenet)은 미국 상원 외교 위원회(Senate Foreign Relations Committee)에 보내는 문서에 "헤즈볼라, 하마스 그리고 빈 라덴의 알카에다를 포함해 더 많은 테러 단체들이 그들의 작전에 컴퓨터 파일, 이메일 그리고 암호 기술을 사용하는 것이 추세다."라고 적었다. 1993년 세계무역센터 폭발범이었던 람지 유세프(Ramzi Yousef)는 암호화를 사용했던 테러범 중 한 명이다. 유세프는 미국 항공기를 폭파하려는 세부 계획을 노트북에 암호화하여 저장했다.
참고: archives.fbi.gov/archives/news/testimony/issue-of-intrusions-into-government-computer-networks
: 암호화는 데이터를 암호문이라는 형태로 변환해 승인되지 않은 사람들이 데이터를 쉽게 보지 못하도록 하는 것이다. 암호화는 먼저 평문에서 시작한다. 평문은 원본 텍스트이고, 암호화되지 않은 메시지이며 모든 사람들이 읽을 수 있다. 이 평문에 암호화 알고리즘을 적용해 암호문을 생성한다.
이때 알고리즘은 메시지를 암호화하는 데 사용하는 방법이고, 키(key)는 정보를 암호화하고 복호화하는 데 사용하는 데이터이다. 보통 비밀번호와 비밀 문구 등이 키로 자주 사용된다.
최초의 암호이자 가장 잘 알려져 있는 암호는 시저 암호(Caesar Cipher)다. 시저 암호는 치환암호로 원래 문자를 알파벳에서 "n"번 앞에 있는 문자로 대체해 데이터를 암호화한다. 시저 암호에서의 키 값은 정수 n이 된다.
위와 같은 예시가 있고, 3 글자씩 밀어내므로 이때의 키 값은 3이 된다.
평문 | F | O | R | E | N | S | I | C | S |
암호문 | I | R | U | H | Q | V | L | F | V |
위의 표는 키 값이 3일 때 "Forensics" 문자열을 암호화한 것을 나타낸다.
이렇게 간단한 프로세스는 오늘날에도 사용되고 있다. 컴퓨터 코드를 난독화할 때 자주 사용된다.
난독화 | 암호화 |
특정 데이터나 텍스트를 더욱 이해하기 힘들게 만들기 위해 사용한다. | |
컴퓨터 코드를 보호하는 데 사용된다. | 데이터 자체를 보호하는 데 사용된다. |
코드를 리버스 엔지니어링(reverse engineering)으로부터 보호한다. | 컴퓨터가 코드를 이해할 수 없게 만들어 버린다. |
ROT13은 시저 암호의 현대 버전으로 난독화를 위해 오늘날에 사용되고 있다. ROT13에서는 문자의 위치가 13자리 옆으로 이동한다. 예를 들면 "A"가 "N"으로 암호화된다.
알고리즘은 특정 작업을 완료하기 위해 사용되는 "명령들"이다. 예로, 회사에서 회의한 내용을 이메일로 전송하는 데 사용할 수 있는 알고리즘을 아래와 같이 만들 수 있다.
암호화 알고리즘은 대칭과 비대칭 두 종류가 있다. 대칭 암호화는 하나의 키로 데이터를 암호화하고 복호화한다. 그에 반해 비대칭 암호화는 두 개의 서로 다른 키를 사용한다.
오늘날에는 AES, TripleDES, Blowfish, RSA 등의 다양한 암호화 알고리즘이 사용되고 있다.
알고리즘 자체는 공개돼있을 뿐만 아니라 상세하게 내용이 작성되어있기까지 하다. 이러한 정보를 공개해 놓은 이유는 바로 보안이다. 암호학의 베스트 트랙티스는 알고리즘의 보안이 "비밀이어서는 안 된다."라고 언급하고 있다.
근본적으로 암호학 원칙은 오랫동안 존재해 왔다. 1883년 네덜란드의 언어학자이자 암호학자였던 오고스트 커코프(Auguste Kerckhoffs)는 진정으로 효과적인 암호 시스템에서는 키만이 유일하게 비밀이어야 한다고 언급했다. 알고리즘 자체의 비밀성에 의존하는 모든 시스템은 보안적으로 안전하지 않다고 했다.
키 공간은 특정 암호화 알고리즘의 강도에 대해 이야기할 때 측정 기준으로 사용되는 것 중에 하나다. 키 공간 또는 키의 길이는 암호를 크랙하는 데 직접적인 영향을 준다. 특히 무차별 대입 공격에서는 정확한 키의 조합을 찾을 때까지 모든 가능한 키를 대입해 비밀번호를 크랙하려 하기 때문에 더더욱 그러하다.
모든 가능한 키와 비밀번호를 추측하기 위해 얼마나 걸리는지 알아보면 암호화가 문제가 되는 이유를 알 수 있다. 128비트 키를 사용하는 암호화 알고리즘은 대략 340,282,366,920,938,000,000,000,000,000,000,000,000개의 키 조합이 가능하다. 컴퓨터가 이러한 키를 계산하려면 초당 500,000개의 비밀번호를 추측할 수 있는 컴퓨터는 21,580,566,141,612,000,000,000,000,000년이 걸린다. 컴퓨터의 수를 1000대로 올리면 좀 더 빨리 계산할 수 있다. 실제로는 암호화 알고리즘에 따라 이 수가 더욱 커질 수도 있다. Pretty Good Privacy(PGP) 같은 복잡한 암호화 알고리즘은 초당 계산할 수 있는 비밀번호의 수를 몇 백 개로 감소시킬 수도 있다.
사생활 보호가 요즘 주요 고려사항이 되었기 때문에 윈도우 7이나 애플 OS X같이 최신 버전 운영체제에는 암호화 툴이 설치되어 있다. 윈도우에서는 비트락커(BitLocker)를 사용하고 애플에서는 파일바울트(FileVault)가 설치되어 있다. 이러한 암호화 프로그램은 파일이나 폴더를 암호화하는 데 사용할 수도 있고 드라이브 전체를 암호화하는 데 사용할 수도 있다. 드라이브 전체를 암호화하는 것은 전체 디스크 암호화(full disk encryption or whole disk encryption)라고 부른다.
전체 디스크 암호화에는 매우 중요한 이점이 하나 있다. 운영체제는 드라이브 여기저기에 데이터 흔적을 남긴다. 예를 들어, 스웝 공간은 민감한 파일을 저장하고 있는 폴더 전체를 암호화한다고 하더라도 파일의 일부(또는 파일 전체)가 스웝 공간에 남아있을 수도 있다. 전체 디스크 암호화는 데이터가 "누출"되는 것을 방지한다. 하지만 전체 디스크 암호화는 실제로 디스크 전체를 암호화하지 않는다. 예로 비트락커를 실행하려면 하드 드라이브에 파티션이 두 개 있어야 한다. 하나는 "운영체제 볼륨"이고 다른 하나는 컴퓨터 부팅 파일, 시스템 툴 등을 포함하고 있는 볼륨이다. 다만 운영체제 볼륨에 대부분의 데이터가 저장되어 있다.
스웝 공간에 대한 자세한 설명은 이 글에서 다루고 있다.
물론 전체 디스크 암호화에도 단점은 있다. 데이터를 암호화하고 다시 복호화해야 하므로 성능을 저하시킨다. 이러한 암호화와 복호화 과정은 "실시간으로" 진행된다. 즉 데이터가 저장되기 바로 직전과 RAM에 로드되기 바로 직전에 암호화와 복호화 과정을 거친다. 비밀번호와 키도 고려사항이 될 수 있다. 데이터를 불러오기 위해서는 인증 과정을 거쳐야 하는데, 키나 비밀번호를 잊어버렸을 경우 데이터를 두 번 다시 불러오지 못할 수도 있다.
파일과 폴더를 암호화하는 데 사용된다. 이는 간단히 파일의 속성에서 체크박스 하나만 클릭하면 사용할 수 있다. 암호화 파일 시스템의 경우 "윈도우 7 스타터, 윈도우 7 홈 베이직, 윈도우 7 홈 프리미엄"에서는 완전히 지원되지 않는다. 암호화 파일 시스템은 윈도우의 사용자 이름과 비밀번호를 암호화 알고리즘의 일부로 사용한다. 암호화 파일 시스템은 윈도우 운영체제가 아닌 New Technology File System(NTFS)의 기능이다.
파일 시스템인 NTFS에 대한 설명은 이 글에서 다루고 있다.
암호화 파일 시스템과는 다르게 비트락커는 전체 하드 드라이브를 암호화하는 데 사용할 수 있고, 비트락커 투 고(BitLocker To Go)의 경우에는 이동식 매체를 암호화하는 데 사용할 수 있다. 현재 비트락커는 윈도우 7 얼티메이트 시스템에서만 사용할 수 있다. 비트락커는 TPM(Trusted Platform Module, 신뢰 플랫폼 모듈)이라는 하드웨어와 함께 작동한다. TPM은 노트북이나 PC의 마더보드에 있는 마이크로칩으로 암호화 기능을 제공한다. TPM은 TPM으로만 복호화가 가능한 키를 생성하고 암호화한다. TPM 없이 작동하는 것을 원한다면 키를 USB 드라이브에 저장한다.
비트락커의 암호화는 매우 견고해 키 없이는 복호화가 거의 불가능하다. 비트락커가 설치되어 있지만 컴퓨터가 실행 중이라면 비트락커를 공격하지 않고도 데이터를 복원할 수 있다. 비트락커로 보호되어 있는 하드 드라이브에 저장되어 있는 파일은 시스템에서 해당 파일을 요청 시 파일을 복호화한다. 될 수 있으면 암호화는 최대한 피해야 한다. 비트락커가 설치된 컴퓨터가 실행 중이라면 증거를 복원할 수 있는 기회가 될 수 있다. 따라서 실행 중인 컴퓨터가 증거로 사용될 때 비트락커 사용 여부를 확인하는 것이 수사에 도움을 줄 수 있다.
애플 운영체제인 OS X Lion은 파일바울트(FileVault) 2와 함께 설치된다. 파일바울트 2는 128비트 QES 암호화 알고리즘을 사용하고, 드라이브 전체를 암호화할 수 있다. 애플은 자사에 고객이 복원 키를 저장할 수 있게 한다. 애플에 저장된 키는 합법적인 검색 기관이 적법한 절차를 거쳐 압수할 수 있다.
OS X Lion의 FileVault 2에 대한 자세한 설명은 이 사이트를 참고하자.
무료 오픈소스 소프트웨어로 실시간 암호화 기능을 제공한다. 실시간 암호화에서는 데이터가 열리면 자동으로 복호화되고 데이터가 저장되면 자동으로 암호화된다. 트루크립트에는 전체 디스크 암호화 기능도 있다. 이를 통해 모든 파일의 내용을 암호화할 수 있고 시스템이 자체적으로 생성하는 로그 파일, 스웝 파일, 레지스트리 항목 등의 민감한 데이터를 저장하고 있는 파일도 암호화할 수 있다. 복호화를 위해서는 정확한 비밀번호와 키 파일이 필요하다. 트루크립트는 윈도우, 맥, 리눅스에서 실행할 수 있다. 또한, AES, Serpent, Twofish, 이 세 가지를 조합한 것 등의 다양한 종류의 암호화 알고리즘을 사용할 수 있다. 키 공간은 256 비트이다.
TrueCrypt에 대한 자세한 설명은 이 사이트를 참고하자.
비밀번호를 크랙하는 방법에는 무차별 대입 공격, 딕셔너리 공격, 비밀번호 재설정 등이 있다.
매우 많은 사람들이 "password", "123", "abcd" 등의 단순한 비밀번호를 사용한다. 또한 생일, 애완동물 이름, 좋아하는 스포츠 팀 등도 비밀번호로 자주 사용된다. 대부분의 사람이 길고 복잡한 비밀번호를 외우기도 쉽지 않고 불편해한다. 강력한 비밀번호를 사용하더라도 대부분은 적어서 모니터 옆에 붙여둔다. 이처럼 암호화 키가 아무 곳에나 방치되어 있어서 쉽게 획득할 수 있는 경우도 있다.
사람들은 비밀번호의 일부 또는 전부를 재사용하는 경우가 많다. 따라서 비밀번호 하나만 획득할 수 있으면 다른 모든 비밀번호를 획득하는 경우가 많다. 미국의 비밀 검찰국 요원인 스튜어트 밴 뷰렌(Stuart Van Buren)은 "특정 사람이 사용하는 비밀번호 두세 개를 찾게 되면 그 사람이 사용하는 모든 비밀번호를 모두 알 수 있게 된다."라고 말했다. 마이크로소프트에 의하면 강력한 비밀번호는 문자, 숫자, 특수문자 등의 조합을 14개 이상 사용한 것이다.
조사관들은 운이 좋아서 하드 드라이브의 스웝 공간에서 비밀번호를 찾을 수도 있다. 실행 중인 컴퓨터에서 RAM을 캡처하는 것도 비밀번호를 크랙하는 데 도움이 된다. 웹 사이트에서는 비밀번호가 '*'로 처리되어 우리가 입력하는 비밀번호를 볼 수 없게 하지만, 실제 비밀번호는 RAM에 기록된다.
필요시에는 비밀번호를 크랙하는 툴들을 사용해 몇 초 안에 크랙할 수도 있다. 이러한 툴 중 대표적인 것은 AccessData의 Password Recover Toolkit(PRTK)이다. 다른 툴로는 John the Ripper와 Cain and Abel 등이 있다.
크랙 방법에는 여러 가지가 있다. 될 수 있으면 암호화를 피하는 것이 비밀번호를 크랙하는 것보다 훨씬 좋은 선택이지만 비밀번호를 크랙할 확률을 높여주는 기술과 툴이 있다. 사람들은 대부분 실제 단어, 특정 패턴 또는 이 두 가지를 혼합해 비밀번호에 사용한다.
최대한 많은 컴퓨터 파워를 사용해 정확한 비밀번호를 추측하는 방법이다. 더 많은 컴퓨터(더 많은 CPU)를 사용할수록 더 빨리 비밀번호를 크랙할 수 있다. 이러한 공격 방법은 컴퓨터의 계산 부담이 여러 컴퓨터로 분산되어 있어 분산 공격이라고도 알려져 있다.
미국의 이민 및 세관 단속 사이버범죄센터(U.S. Immigration and Customs Enforcement Cybercrime Center)의 디지털 포렌식 팀은 소니의 PS3 게임기를 여러 대 결합해 비밀번호를 크랙한다. 이 방법은 기기의 파워를 활용할 수 있을 뿐만 아니라 비용 대비 많은 효과를 얻을 수 있다.
비밀번호 자체를 공격하기보다는 소프트웨어 자체를 공격하는 경우도 가끔 있다. 일부 프로그램은 비밀번호를 재설정할 수 있게 해주는 취약점이 있어서 필요한 접근권한을 획득할 수 있다. 다만 이 방법은 보편적으로 적용할 수 있지 않고 일부 소수의 프로그램에서만 사용할 수 있다. 윈도우 시스템의 비밀번호를 우회할 경우 부팅이 가능한 CD를 사용하면 된다. 비밀번호 재설정은 Security Account Manager(SAM)에 있는 데이터를 덮어쓰는 것으로 가능하다. 이러한 기능이 있는 툴의 예로는 Elcomsoft의 System Recovery가 있다.
딕셔너리 공격은 여러 출처에서 수집할 수 있는 단어를 사용해 좀 더 정확하게 공격을 실행한다. 포렌식 프로그램은 용의자의 하드 드라이브에서 발견한 모든 단어를 인덱스로 생성할 수 있다. 이러한 단어들은 할당된 공간과 할당되지 않은 공간 모두에서 수집한 단어다. 딕셔너리에 포함될 수 있는 다른 단어로는 아동 포르노나 마약 밀수같이 특정 범죄에서 많이 사용되는 용어들, 웹 사이트같이 특정 출처에 있는 단어를 포함할 수 있다.
조사 대상의 배경 정보가 있다면 성공의 확률을 증가시킬 수 있게 해 준다. 이 정보로 비밀번호 딕셔너리를 만드는 데 사용할 수 있다. 이러한 정보를 수집하는 것은 현장에서부터 시작한다. 현장에서 수집한 용의자에 대한 정보가 담긴 용어들로 비밀번호 크랙에 도움이 되는 딕셔너리를 생성할 수 있다.
암호화
브루스 슈나이어(Bruce Schneier)는 널리 알려진 저자이자 암호학자로 정기적으로 암호화와 보안 관련 주제에 대한 책을 출판한다. 슈나이어는 또한 블로피시(Blowfish) 암호화 알고리즘의 개발자다. 슈나이어는 블로그를 운영하고 있고, Crypto-Gram 신문을 발행한다. 그의 웹 페이지를 방문하면 더 많은 정보를 얻을 수 있다.
데이터를 은폐하는 효과적인 또 다른 방법이다. 스테가노그래피는 고대 그리스 언어에서 "감추다"라는 의미의 "stegos"와 "글"이라는 의미를 가진 "graphie"가 합쳐져서 만들어진 단어로 "감춰진 글"이라는 뜻이다. SearchSecurity.com은 스테가노그래피를 "일반 메시지에 비밀 메시지를 숨기고 최종 목적지에서 비밀 메시지를 볼 수 있는 것"이라고 정의하고 있다(TechTarget, 2000).
완성된 스테가노그래피 파일은 두 파일로 구성되어 있다. 비밀 메시지를 저장하고 있는 파일을 호스트 파일(또는 carrier 파일)이라고 부른다. 호스트 파일은 사진, 동영상, 오디오, 문서 파일이 될 수도 있다. 호스트 파일 안에 숨겨진 비밀문서를 페이로드라고 부른다. 스테가노그래피의 작동 원리는 매우 간단하다.
동영상, 사진, 오디오 같은 파일을 사용하는 이유는 이러한 파일에 상당한 양의 불필요한 데이터가 있기 때문이다. 이러한 불필요한 데이터를 "노이즈(noise)"라고 부른다. 불필요한 부분은 은폐된 메시지 데이터로 교체된다. 페이로드 파일은 텍스트 기반일 필요가 없고, 다양한 파일 조합이 가능하다.
스테가노그래피 프로그램은 인터넷에서 다운로드할 수 있고 상당수가 무료다. 스테가노그래피를 탐지하는 프로그램을 만드는 Backbone Security 업체는 인터넷에서 다운로드할 수 있는 스테가노그래피 프로그램 960개를 분류했다.
https://www.backbonesecurity.com/ 사이트를 참고하면 해당 정보를 볼 수 있다.
스테가노그래피를 사용하고 있는지에 대해서는 판별하기 어렵다. 생성할 때 사용했던 프로그램과 비밀번호를 알지 않는 이상 페이로드를 축출하기 매우 어렵거나 불가능하다.
스테가노그래피를 사용하는지 여부를 판별할 수 있는 툴로는 스테가노그래피 분석 및 연구 센터(Steganography Analysis and Research Center)의 Stego Suite가 있다. 500개 이상의 스테가노그래피 프로그램을 식별할 수 있고, 호스트 파일을 크랙하고 페이로드를 축출할 수 있는 기능이 있다.
때로는 범죄자들이 데이터를 은폐하는 것만이 아니라 데이터 자체를 파괴해버린다. 단순히 삭제 키를 누르면 데이터가 완전히 사라지지 않고 저장 매체에 계속 남아있어서 복원하기 쉽다. 그에 반해 많은 드라이브 와이핑(wiping) 툴은 매우 효과적이다. 하지만 이러한 프로그램을 사용하면 사용 흔적이 남아서 원본 데이터가 없더라도 이 흔적 자체가 증거 자료로 사용될 수 있다.
데이터 파괴는 여러 방법으로 할 수 있다. 드라이브 와이핑 프로그램은 상업적으로 구매할 수 있고 증거를 완전히 삭제하는 데 효과적일 수도 있다. 이에 대한 효과성은 프로그램의 품질, 사용한 방법, 와이핑의 횟수에 따라 달라진다. 조각 모음이나 드라이브 포맷을 자주 시도해도 그 결과는 제한적이다.
드라이브 와이핑 프로그램은 하드 드라이브에 있는 데이터가 복원할 수 없도록 데이터를 덮어쓰는 데 사용된다. 이러한 프로그램은 주로 개인이나 기업의 주요 정보를 보호하는 데 사용된다. 이렇게 합리적이고 타당한 용도로도 사용될 수 있는데 악의적인 용도로도 사용이 가능하다. 드라이브 와이핑 툴로는 "Darik's Boot and Nuke", "DiskWipe", "CBL Data Shredder", "Webroot Window Washer", "Evidence Eliminator" 등이 있다.
이 툴들은 합법적이고 인터넷에서 구입할 수 있다. 모든 사람들에게 있어 매우 중요한 개인정보를 보호해야 할 때 이러한 프로그램이 도움을 줄 수 있다. 예로, 사용하던 오래된 컴퓨터를 다른 사람에게 기부하고 싶다면 이메일이나 다른 개인 정보가 유출되지 않도록 할 수 있다.
이러한 툴들은 사용 시 지정한 파일만 완전 삭제하고 나머지 파일들은 그대로 놔둔다. 예로 운영체제 파일은 전혀 건드리지 않을 수도 있다. 이 툴들은 특정 파일과 폴더, 윈도우 레지스트리같이 잠재적으로 증거가 발견될 수 있는 시스템 값을 삭제한다. 물론 이러한 툴을 사용했다고 해서 데이터를 완전히 복원할 수 없는 것은 아니다. 복원 성공 여부는 툴의 품질과 사용자의 능력에 달려있다.
증거나 수사 관점에서 이러한 프로그램 자체가 설치되어 있거나 사용한 흔적이 있다면 훌륭한 증거가 될 수 있다. 윈도우의 레지스트리에 남아있는 "Evidence Eliminator"의 정보로 프로그램의 설치 여부를 알 수 있다.
와이핑 프로그램은 사용 흔적을 남길 수 있다. 드라이브를 비트 수준에서 살펴보면 특이하고 반복적인 패턴이 보일 때가 있는데 이는 일반적인 하드 드라이브에서 볼 수 있는 것과 완전히 다른 것이다.
애플의 OS X Lion과 같이 일부 운영체제에는 드라이브 와이핑 프로그램이 설치되어 있다. OS X에서는 "Secure Erase"라고 불리며 데이터 파괴를 위한 다양한 옵션을 제공한다.
안티 포렌식 기술로써의 디스크 조각 모음
"디스크 조각 모음"은 컴퓨터 성능을 향상시키기 위해 자주 활용된다. 조각 모음은 파일의 클러스터들을 최대한 인접한 곳으로 이동시켜 시스템의 속도를 향상시킨다. 이 과정으로 데이터는 한 위치에서 다른 위치로 이동하고 데이터가 덮어써지는 경우도 생긴다. 이렇게 덮어써진(파괴된) 데이터에 증거가 저장되어 있을 수 있다.
조각 모음은 3가지 방법으로 실행된다. 예약 실행, 사용자 직접 실행, 운영체제에 의한 자동 실행 등이 있다.
최근에 조각 모음이 실행되었는지 확인하는 방법 중 하나는 윈도우에서 드라이브 이미지를 부팅해 파일 조각이 얼마나 있는지 확인하는 것이다. 일상적으로 사용하는 드라이브에서는 조각난 파일을 많이 볼 수 있다. 이러한 조각난 파일이 없다면 조각 모음을 사용했을 가능성이 매우 높다.
암호화는 디지털 포렌식 업계에서 심각한 문제이다. 따라서 암호화되어 있는 데이터를 처리할 수 있는 준비가 되어 있어야 하고, 그중 하나는 복호화 툴을 사용하는 것이다. 가장 훌륭한 툴 중 하나는 AccessData의 Password Recovery Toolkit(PRTK)이다. PRTK는 현재 전 세계적으로 많은 법 집행 기관, 첩보 기관, 대형 금융 기관 등에서 사용하고 있다. 미국에서는 FBI, CIA, 비밀검찰국 등이 사용하고 있다.
▶ PRTK가 일반적인 컴퓨터에서 계산할 수 있는 비밀번호의 양
정확한 답을 주는 것은 불가능하다. 프로그램, 시스템마다 서로 다른 암호화 알고리즘을 적용한다. 어떤 방식을 택하는지에 따라 비밀번호를 테스트하는 데 얼마나 많은 계산을 해야 하는지 차이가 난다. 또한, 컴퓨터의 사양이나 프로그램의 버전 등에 따라서도 달라질 수 있다.
▶ PRTK가 속도와 효율을 향상시키기 위해 비밀번호를 특정 순서로 계산하는 부분의 작동 원리와 중요성
사람들이 더 많이 사용할 만한 비밀번호를 먼저 대입하는 것이 더 빨리 비밀번호를 성공적으로 찾아낼 수 있다. PRTK는 기본 설정으로 연구했을 때 가장 효과적이라고 여겨지는 순서로 비밀번호가 정해져 있다. PRTK에는 사용자들이 비밀번호 공간을 선택할 수 있는 옵션이 많아 수사관들이 가진 용의자에 대한 지식으로 해당 용의자에 더 적합한 비밀번호 순서를 결정할 수도 있다. 예로, 먼저 딕셔너리에 있는 모든 단어를 다 사용해보고, 모든 단어를 거꾸로 사용해보고, 그 후에는 특정 문자열 조합을 사용할 수 있도록 한다.
▶ PRTK가 특정 비밀번호 패턴에 의존하는 부분에 대한 기반과 작동 원리
이전에 획득한 다양한 비밀번호를 바탕으로 비밀번호 "법칙"을 만들어서 실제 사람들이 사용하는 비밀번호를 생성했다. 비밀번호 법칙 중 하나는 "딕셔너리 단어에 사람들이 많이 사용하는 일반적인 접미사"를 추가하는 것이다.
▶ 복호화 과정을 느리게 만드는 요인
비밀번호를 사용하는 프로그램을 개발하는 대부분의 개발자들은 PRTK와 같은 툴에 대해 알고 있다. 따라서 프로그램 개발자들은 비밀번호 추측 공격을 느리게 하기 위한 대책을 세운다. 예를 들면, 일부러 매우 느린 알고리즘을 사용할 수 있다. 비밀번호를 키로 변환하는 과정에서 10,000번 해시를 적용해 비밀번호를 크랙하는 툴도 비밀번호 하나당 10,000번 해시를 적용하도록 만들 수 있다. 이 경우 초당 계산할 수 있는 비밀번호의 수가 줄어들게 된다.
[ Chapter 10 ] 휴대기기 포렌식 (0) | 2021.02.27 |
---|---|
[ Chapter 9 ] 네트워크 포렌식 (0) | 2021.02.11 |
[ Chapter 8 ] 인터넷과 이메일 (0) | 2021.01.24 |
[ Chapter 5 ] 윈도우 시스템에서의 증거 수집 (0) | 2021.01.22 |
[ Chapter 4 ] 증거 수집 (0) | 2021.01.18 |
댓글 영역