Forensic/Forensic 이론 12

슬랙 공간 영역(Slack Space Area)

이번 시간에 공부를 할 개념은 슬랙 공간입니다. 슬랙 공간(Slack Space) 슬랙 공간은 물리적인 크기와 논리적인 크기 차이로 인해 낭비가 되는 공간으로써, 물리적으로는 할당된 공간이지만 논리적으로는 사용할 수 없는 공간을 의미합니다. 이 부분에 대해서는 실제 포렌식 문제를 가지고 와서 설명을 드리겠습니다. (램 슬랙 참고!!) 디스크는 데이터를 섹터 단위로 읽고 쓰기 작업이 이루어지며 디스크 입출력 속도를 향상시키기 위해서 여러 개의 섹터를 묶어서 한 번에 처리하게 끔 클러스터라는 개념을 사용합니다. * 클러스터 : 여러 개의 섹터(512Byte)를 묶은 개념, 운영체제에서 사용하는 데이터 저장의 최소 단위로 사용 디스크는 섹터, 클러스터 단위로 입출력을 처리하지만 파일은 가변적이기 때문에 파일의..

웹 브라우저 포렌식

이번에 연구를 진행했던 포렌식은 웹 브라우저 포렌식에 관한 내용인데, 정리를 하고자 작성을 시작했습니다. 1. 개요 웹 브라우저 분석을 진행하게 된 이유는 포렌식 관점에서 매우 중요하기 때문입니다. 그 이유는 사용자들이 자주 사용하는 웹 브라우저의 아티팩트를 분석할 경우 사용자의 관심사 또는 범죄 사건에 필요한 각종 단서(URL, 자주 검색한 키워드, 다운로드) 등을 파악할 수 있습니다. 침해사고 분석 시에도 웹 브라우저를 분석하는 것은 중요합니다. 왜냐면 악성 파일의 유입 경로가 사용자들이 크랙버전을 다운 받거나 악성코드가 심어져있는 악성 문서가 메일로와서 다운을 받게 됩니다. 이때 다운받은 파일들의 경로들이 웹 브라우저 로그에 저장되어 있으니 악성 코드 감염 유입 경로를 파악할 수 있는 정보를 얻을 ..

반도체를 이용한 저장매체

저번 시간에 컴퓨터의 구성 요소에 대해서 배웠습니다. 간략하게 다시 짚어보면 다음과 같습니다. 컴퓨터의 구성요소는 "보조기억장치, 주기억장치, 입력 장치, 출력 장치, 중앙처리장치(CPU)"로 나뉘어져 있습니다. 보조기억장치 : 물리적인 디스크가 연결되어 있는 기억장치 주기억장치 : 물리적인 디스크가 아니라 컴퓨터 내부에서 CPU가 처리하면서 내용을 저장하고 있는 기억장치 입력장치 : 사용자가 컴퓨터를 사용할 때, 전기 신호를 전달함으로써 데이터를 전달해주는 것 (키보드, 마우스) 출력장치 : 입력장치를 통해 신호를 주면, 그 데이터를 사람이 이해하는 형태로 변환해주는 것 (프린터, 모니터) 중앙처리장치(CPU) : 컴퓨터 내부에서 데이터를 제어, 연산 해주는 장치 (ALU, CU) 오늘은 반도체를 이용..

파일 카빙(Carving)

이번 파일 카빙에 대해서 배워보겠습니다. 파일 카빙이란 메타 데이터가 아닌 파일 자체의 바이너리 데이터(signature, header)를 이용해서 디스크의 비할당 영역에서 파일을 복구하는 방식입니다. 주의해야 할 점은 파일이 디스크에 연속적으로 할당되었는지, 비연속적으로 할당 되었는지 알아야합니다. *연속 할당 임의의 한 파일이 디스크 내에 선형적으로 연속된 블록을 할당합니다. 장점은 연속하는 논리적 블록들이 물리적으로 인접해 있기 때문에 빠르게 엑세스가 가능하고, 디렉토리가 단순히 시작 블록 주소와 파일의 길이만 알고 있으면 디렉토리 구현의 단순화가 가능합니다. 단점은 새로운 파일을 생성할 때 필요한 공간을 미리 명시를 해주어야 하며, 연속된 공간이 확보되지 않으면 생성이 불가능합니다. 일정 파일이 ..

해쉬 함수 (Hash Function)

저번 시간에는 데이터 인코딩에 대해서 배웠습니다. 데이터 인코딩을 간략하게 설명하자면 "숫자, 문자, 시간 등 데이터는 원본 그대로 형태의 모습으로 저장될 수도 있는 반면, 다양한 인코딩 알고리즘(Base58, Base64)에 따라 특수한 형태의 데이터로 변환" 되는것을 말합니다. 이번에는 해쉬 함수에 대해서 배워 보겠습니다. 다뤄볼 내용은 MD5, SHA256, SHA512입니다. 해쉬 함수(Hash Function) 해쉬 함수란, 임의의 길이의 데이터를 고정된 길이의 데이터로 계산해 주는 함수입니다. 해쉬 함수의 특징으로는 일방향성을 띄고있고, 변환된 해쉬 값으로 원래의 입력값을 알아내는 것은 거의 불가능합니다. 주로 일방향 해시함수는 "데이터의 무결성" 을 확인하는 방법으로 사용합니다. 일반적으로 ..

데이터 인코딩(Data Encoding)

저번 시간에는 문자 인코딩에 대해서 배워 보았습니다. 간략하게 정리하면 문자 인코딩은 "사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 2진 신호로 변환" 하는 것을 말했습니다. 이번 시간에는 데이터 인코딩에 대해서 배워 보겠습니다. 데이터 인코딩 데이터 인코딩은 숫자, 문자, 시간 등 데이터는 원본 그대로 형태의 모습으로 저장될 수도 있는 반면, 다양한 인코딩 알고리즘(Base58, Base64)에 따라 특수한 형태의 데이터로 변환 됩니다. 1. Base 64 Base64는 8비트 바이너리 데이터를 문자 코드에 영향을 받지 않는 공통 아스키(ASCII) 영역의 문자로만 이루어진 일련의 문자열로 변환하는 인코딩 방식입니다. 쉽게 말해 임의의 8비트 바이너리 데이터를 64개의 아스키 문자의 조합으..

문자(Characters) 인코딩

디지털 데이터의 표현 방법인 문자에 대해서 알아보겠습니다. 문자 인코딩 인코딩 또는 텍스트 인코딩으로 불리며, 사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 2진 신호로 만드는(변환하는) 것을 말합니다. 디지털 기기에서 문자는 화면에 출력되는 형태를 결정하는 중요한 요소입니다. 문자는 한글, 영어, 숫자, 특수문자 등을 표현하기 위해 디지털 기기에 문자의 특정 값을 대응시켜 사용하는데 이를 문자 코드라고 칭합니다. 문자 코드는 컴퓨터 시스템마다 서로 다르지만 동일하게 해석이 되어 표준으로 지정되어 있는 문자 코드가 여럿 존재합니다. 그래서 오늘은 표준으로 지정되어 있는 문자 코드중 대표적으로 4가지만 알아보겠습니다. ASCII(아스키) 문자 코드 ASCII코드는 American Stanard ..

디지털 데이터의 수 체계

저번 시간에 디지털 데이터 구성단위에 대해서 배웠습니다. 오늘은 디지털 데이터의 수 체계인 이진법, 십진법, 팔진법, 십육진법, 바이트가 저장되는 순서에 따른 빅엔디안, 리틀엔디안, 고정소수점, 부동소수점에 대해서 배워보겠습니다. 이진법이란? 이진법은 디지털 데이터가 기본적으로 띄고있는 0과 1로 2가지만 표현하는 수 입니다. 일상생활에서 사용하는 수 체계인 십진법과는 다르지만, 디지털 포렌식을 공부하기 위해서는 꼭 알아야 할 수 체계입니다. 이진법은 변환 규칙을 이용하여 다른 수 체계로도 변환이 가능합니다. 32비트의 체계로 생각을 해봅시다. 그럼 총 4byte = 32 bit = 2³² 입니다. 그림을 보고 설명을 해드리겠습니다. 총 32개의 칸이 존재하는게 보이시나요?? 이 칸마다 0 또는 1이 들..

디지털 데이터의 구성 단위

이때까지 포렌식의 정의, 유형, 수사절차를 알아보았습니다. 이제는 디지털 데이터의 구성 단위에 대해서 알아보겠습니다. 디지털 데이터는 유용한 정보를 추출을 해서 법정 증거(재판에서 사용할 수 있는 증거)로 사용하기 위해 데이터가 담겨있는 의미를 정확히 파악해야 합니다. 디지털 데이터는 비트열로 구성되어 있고, 비트열은 정보의 최소 단위인 비트를 나열 해놓은 배열입니다. 비트는 데이터의 표현에 최소 단위로써 0과 1로 표현이 되며, 쉽게 설명해서 방에 있는 전등에 불이 들어오면 1, 불이 꺼지면 0으로 on, off와 같은 느낌으로 구성됩니다. 컴퓨터의 메모리, 저장 장치, 네트워크, 하드 디스크 등 디지털 시스템에 모든 데이터는 이진법(Binary)으로 데이터를 저장하고 처리합니다. 이러한 비트를 8개를..

디지털 포렌식의 유형

저번시간에 디지털 포렌식의 정의와 디지털 포렌식의 수사절차에 대해서 알아보았습니다. 간단히 되짚어 보자면 디지털포렌식은 범죄 수사를 위한 디지털 장비의 분석을 통해서 증거를 수집, 보존, 분석, 추출 하는 과학기술이다. 수사절차에는 사전 준비, 증거 수집, 포장 및 이송, 증거 분석, 정밀 검토, 보고서 작성이 있습니다. 디지털 포렌식의 종류는 분석 목적에 따라 크게 사고 대응 포렌식과 입증을 위해 정보 추출 포렌식으로 나뉩니다. 사고 대응 포렌식은 사고 내용을 분석하여 조치를 취하고 추가적인 피해가 없게 막고, 서비스를 재개하는데 목적을 두고, 정보 추출 포렌식은 컴퓨터나 저장매체에 남아 있는 범행 흔적이나 정보를 복구하거나 검색하는 과정을 함으로써 정보를 추출합니다. 사고 대응 포렌식(Incident..