슬라이드 1

Similar documents
PowerPoint Presentation

2 장수의체계 1. 10진수 2. 2진수 3. 8진수와 16진수 4. 진법변환 5. 2진정수연산과보수 6. 2진부동소수점수의표현 한국기술교육대학교전기전자통신공학부전자전공 1

SRC PLUS 제어기 MANUAL

3 장디지털코드 1. BCD 코드와 3초과코드 2. 다양한 2진코드들 3. 그레이코드 4. 에러검출코드 5. 영숫자코드 한국기술교육대학교전기전자통신공학부전자전공 1

BMP 파일 처리

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

1) 8 진수를 10 진수로변환 - 진수에자릿수에서 1 을뺀숫자를지수로한후해당숫자와곱해주는방식으로 10 진수로변환 2) 2 진수를 10 진수로변환 - 10 진수의숫자를해당진수로계속나누어나머지들을역순으로읽음. - 분수나소수인경우에는곱셈의방법으로구할수있음. 3) 10 진수

MySQL-.. 1

강의 개요

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

OCW_C언어 기초

Microsoft PowerPoint - chap03-변수와데이터형.pptx

<C0FCC0DAB0E8BBEAB1E2B1B8C1B6347E36B0AD20B9AEC1A62BC1A4B4E42E687770>

슬라이드 1

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - chap06-2pointer.ppt

디지털영상처리3

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

윤성우의 열혈 TCP/IP 소켓 프로그래밊

0. 들어가기 전

PowerPoint Presentation

C# Programming Guide - Types

Microsoft PowerPoint - Chapter_04.pptx

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap04-연산자.pptx

컴퓨터에서텍스트를표현하는방식및문자코드 1. bit 와 byte 컴퓨터속에서모든데이터와명령은 2진수로표상된다. 컴퓨터의저장장치 ( 하드디스크, 플로피디스크, RAM) 에기록 ( 저장 ) 될수있는것은 2진수뿐이며, CPU도 2진수의연산만을사용한다. 0 또는 1( 즉 on

PowerPoint 프레젠테이션

The Pocket Guide to TCP/IP Sockets: C Version

Computer Architecture

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

제 3 장디지털정보구현 정보는전산자료의형태로소통되며, 그형식은문자, 그림, 음성, 동영상등다양하다. 인간사회에서언어가다르면의사소통할수없듯이, 전산정보의소통에도문자, 그림, 음성, 동영상의형식이통일되어있지않으면정보를공유할수없다. 이에따라컴퓨터가등장한이래로, 컴퓨터에서사용

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

Secure Programming Lecture1 : Introduction

Microsoft PowerPoint - chap06-1Array.ppt

Introduction to Computer Science

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

hlogin2

Microsoft PowerPoint - 1-2장 디지털_데이터 .ppt

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

Microsoft PowerPoint - CHAP-03 [호환 모드]

Microsoft PowerPoint - chap11.ppt [호환 모드]

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - o8.pptx

i n i n i n 1

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Microsoft PowerPoint - a10.ppt [호환 모드]

Microsoft PowerPoint - 2장 변수와 자료형 pptx

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - [#4-2] File System Forensic Analysis.pptx

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Outline 1. FAT12/16/32 ü Introduction ü Internals ü Directory Structure ü Example

버퍼오버플로우-왕기초편 3.c언어에서버퍼사용하기 버퍼는 임시기억공간 이라는포괄적인개념이기때문에여러곳에존재할수있습니다. 즉, CPU 에도버퍼가존재할수있으며, 하드디스크에도존재할수있고, CD- ROM 이나프린터에도존재할수있습니다. 그리고앞의예제에서보신바와같이일반프로그램에도

Microsoft PowerPoint 웹 연동 기술.pptx

유량 MODBUS-RTU Protocol UlsoFlow시리즈초음파유량계는 MODBUS-ASCII와 MODBUS-RTU를지원한다. 여기서는 MODBUS-RTU를기준으로설명한다. 유량계의국번은 0 ~ 6,5535 까지지정할수있다. ( 단, 0, 10, 13, 38, 42

본 강의에 들어가기 전

Microsoft PowerPoint - 강의자료8_Chap9 [호환 모드]

T/F 월간 보고

The Pocket Guide to TCP/IP Sockets: C Version

GNU/Linux 1, GNU/Linux MS-DOS LOADLIN DOS-MBR LILO DOS-MBR LILO... 6

BY-FDP-4-70.hwp

금오공대 컴퓨터공학전공 강의자료

Microsoft Word - PLC제어응용-2차시.doc

PowerPoint Presentation

PowerPoint Presentation

EM300_Manual.indd

°ø±â¾Ð±â±â

PowerPoint 프레젠테이션

1217 WebTrafMon II

Microsoft PowerPoint - Zebra ZPL 한글판 명령어 메뉴얼.ppt

게시판 스팸 실시간 차단 시스템

Windows Server 2012

목차 1. 웹브라우저로그분석 : 심화과정 통합타임라인분석 Time Zone 분석 검색어추출 URL 인코딩분석 사용자행위분류 삭제로그정보복구 2. 결론 forensicinsight.org Page 2 / 26

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Microsoft PowerPoint - e pptx

금오공대 컴퓨터공학전공 강의자료

OCW_C언어 기초

초보자를 위한 C++

Tablespace On-Offline 테이블스페이스 온라인/오프라인

UI TASK & KEY EVENT

PowerPoint 프레젠테이션

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

PowerPoint 프레젠테이션

중간고사

슬라이드 1

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

chap 5: Trees

컴파일러

Tcl의 문법

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

Microsoft PowerPoint - CP_02_Convert_To_C_02_Step.pptx

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

슬라이드 1

Microsoft PowerPoint - 6.pptx

PowerPoint 프레젠테이션

Transcription:

SeoulTech 2011-2 nd 컴퓨터보안 제 2 장디지털데이터의표현 박종혁교수 Tel: 970-6702 Email: jhpark1@snut.ac.kr

개요 학습목표 디지털포렌식의근본은디지털데이터이며, 이에대한이해와분석을위해서는다양한데이터의표현형태를이해 사젂에파악하지못한파일포맷을접할수있으며, 이를분석하기위해서는다양한데이터표현방식에대한이해 배울내용 이진수체계 (Binary numeral system) 데이터의구성단위 수체계 (Number System) 문자 (Characters) 시갂정보표현방식 데이터인코딩 (Data Encoding) 파일 (Files)

목차 1. 이진수체계 (Binary Systems) 2. 데이터의구성의단위 1. 물리적단위 2. 논리적단위 3. 수체계 (Nuber Systems) 1. 이진수 2. 빅엔디앆 (Big-Endian) 과리틀엔디앆 (Little-Endian) 3. 십육진수 4. 고정소수점 5. 부동소수점 4. 문자 (Characters) 1. 아스키 (ASCII) 코드 2. 엡시딕 (EBCDIC) 코드 3. 한글조합형, 완성형, 확장완성형코드 4. 유니코드 (Unicode) 1. UCS-2, UCS-4, UTF-8 2. UTF-16, UTF-32 5. 시갂정보표현방식 (Time Information) 1. 컴퓨터의시갂저장형식 2. 휴대폰의시장저장형식 6. 데이터인코딩 (Data Encoding) 7. 파일 (Files) 1. 파일분석 2. 파일의내부구조

이진수체계 (Binary numeral system) 디지털데이터는기본적으로이진수를사용 데이터는 '0' 또는 '1' 로표현 메모리, 저장장치, 네트워크통싞등모든디지털시스템에서는이진수를사용해서데이터를저장하고처리 예를들어, 젂기싞호가통할때는 '1', 그렇지않을때는 '0' 으로갂주 이진수체계는디지털데이터의최소단위이며, '0' 또는 '1' 을비트 (binary digit = bit) 라고함 대부분의경우는최소단위를 1 byte (= 8 bit) 를사용 증가 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 비트 (bit) 로표현된데이터

데이터의구성단위 - 물리적단위 물리적단위 실제물리적장치 ( 메모리, 저장장치등 ) 에서사용되는단위로앞에서설명한비트 (bit) 가최소단위 모든물리적단위는비트로표현 최근에저장장치의용량이증가하면서바이트 (byte) 단위를주로사용 2바이트인워드 (word), 4바이트인더블워드 (double word), 8바이트인쿼드워드 (quad word) 등은컴퓨터에서연산의단위로사용 - bit는 binary digit윛약윮 비트 (bit) - 데유터구성윛최소단웻 - 0걙 1로유루어짐 쿼터 (quarter) = 1/4 바유트 = 2 비트 니블 (nibble) = 1/2 바유트 = 4 비트 바유트 (byte) = 1 바유트 = 8 비트 워드 (word) = 2 바유트 = 16 비트 더블워드 (double word) = 4 바유트 = 32 비트 쿼드워드 (quad word) = 8 바유트 = 64 비트 Kilobyte (KB) = 1,024 bytes Megabyte (MB) = 1,024 KB Gigabyte (GB) = 1,024 MB Terabyte (TB) = 1,024 GB Petabyte (PB) = 1,024 TB Exabyte (EB) = 1,024 PB Zettabyte (ZB) = 1,024 EB Yottabyte (YB) = 1,024 ZB = 2 10 bytes = 2 20 bytes = 2 30 bytes = 2 40 bytes = 2 50 bytes = 2 60 bytes = 2 70 bytes = 2 80 bytes

데이터의구성단위 - 물리적단위 니블 (Nibble) 과바이트 (Byte) 증가 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 Nibble 0 Nibble 1 Nibble 2 Nibble 3 증가 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 Byte 0 Byte 1

데이터의구성단위 - 논리적단위 논리적단위 논리적단위는정보를저장및처리하는데사용 디지털포렌식관점에서분석의대상이되는최소단위이며, 그내부는물리적단위로구성 즉, 물리적단위에대한이해가있어야포렌식분석에서논리적단위의내부를파악할수있음 특히, 파일 (file) 은레코드 (record) 의집합으로응용프로그램의처리단위이며, 포렌식분석의주요대상임 필드 (field) 레코드 (record) 블록 (block) 파윣 (file) 데유터베유스 (database) - 여러값윛바유트나워드가모여유루어짐 - 파윣구성윛최소단웻로항목또는아유템 - 프로그램내윛윮료처리기본단웻 ( 논리읏레코드 ) - 읎윹매체에율출력될때윛기본단웻 ( 물리읏레코드 ) - 걛련된레코드윛집합윌로하나윛프로그램처리단웻 -파윣( 레코드 ) 윛집합윌로걇층읏구조를갍는윮료단웻

수체계 (Number System) 수체계 디지털데이터는기본적으로이진수를사용 우리가실생홗에사용하는수체계인 10진수와는다름 그러므로디지털기기에서저장및처리되는데이터를이해하기위해서는디지털기기가사용하는수체계에대한이해가필요 수체걇 수윛범웻 2진수 (binary) 0, 1 8진수 (octal) 0 ~ 7 10진수 (decimal) 0 ~ 9 16진수 (hexadecimal) 0 ~ 9, a ~ f

수체계 - 2 진수 (Binary Numbers) 1 Byte 컴퓨터메모리의기본단위인 1바이트 (8비트) 에저장된데이터를나타내며, 이값은아래와같은공식을이용해서 10진수로변홖 계산식 : 1 바이트는 2 진수로표현하면최소 0 ~ 최대 11111111 의값을저장 즉 1 바이트는 0~255 의수를저장할수있으며, 더큰수를저장하기위해서는 2 개이상의 바이트가필요 2 진수계산법

수체계 - 2 진수 (Binary Numbers) 2 Byte 계산 2바이트 (16비트) 는최대 11111111 11111111의값을저장할수있으며, 이는 10진수로 65535 을나타냄 즉, 2바이트는 0~65535의수를저장할수있으며, 이처럼 n개의바이트를이용해서큰수를저장 2Byte 표현 2 15 2 14 2 13 2 12 2 11 2 10 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 Byte 0 Byte 1 2Byte 계산법

수체계 - Big-Endian 과 Little-Endian big-endian 과 little-endian 은바이트의순서를설명하는용어 빅엔디앆은큰쪽 ( 바이트열에서가장큰값 ) 이먼저저장되는숚서 리틀엔디앆은작은쪽 ( 바이트열에서가장작은값 ) 이먼저저장 바이트내의비트배열은빅엔디앆 빅엔디안 2 15 2 14 2 13 2 12 2 11 2 10 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 Byte 0 Byte 1 리틀엔디안 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 2 15 2 14 2 13 2 12 2 11 2 10 2 9 2 8 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 Byte 0 Byte 1

수체계 - Big-Endian 과 Little-Endian 빅엔디안 빅 - 엔디안일경우계산식 2 15 2 14 2 13 2 12 2 11 2 10 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 Byte 0 Byte 1 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 2 15 2 14 2 13 2 12 2 11 2 10 2 9 2 8 리틀엔디안 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 리틀 - 엔디안일경우계산식 Byte 0 Byte 1

수체계 - Big-Endian 과 Little-Endian 빅엔디안을사용하는시스템 IBM 370 컴퓨터와대부분의 RISC(reduced instruction set computer) 기반컴퓨터들, 그리고모토로라마이크로프로세서는빅엔디앆방식을사용 왼쪽에서오른쪽으로읽는언어를사용하는사람들에게, 이것은일련의문자나숫자를저장하는데있어자연스러운방식 빅엔디앆으로정렬되어저장되어있는숫자는두숫자를더한결과를저장하기위해모든자릿수를오른쪽으로옮겨야하는일이종종발생 리틀엔디안을사용하는시스템 인텔프로세서나 DEC의알파프로세서에서는리틀엔디앆을사용 리틀엔디앆을사용하는이유는수의값을증가시킬때수의왼편에자릿수를추가할필요가없기때문 리틀엔디앆방식으로저장된숫자에서는, 최소바이트가원래있던자리에그대로머물수있으며, 새로운자리수는최대수가있는주소의오른쪽에추가될수있어, 컴퓨터연산들이매우단숚해지고빠르게수행될수있음

수체계 - 16 진수 (Hexadecimal Numbers) 16 진수의필요성 디지털데이터는 2진수를사용하지만, 모든데이터를비트로나타내면데이터를화면에출력하거나처리할때비효율적 갂단하고편리하게사용하기위해니블 (4비트 ) 단위로묶어서표현 16 진수사용의의미 컴퓨터시스템의모든데이터는 2진수로저장되어있지만, 사람이분석할때에는 16진수로출력된값을이용하는것이편리 대부분의분석프로그램은 16진수를사용하 16 진수변환표 2진수 16진수 2진수 16진수 0000 0 1000 8 0001 1 1001 9 0010 2 1010 A 0011 3 1011 B 0100 4 1100 C 0101 5 1101 D 0110 6 1110 E 0111 7 1111 F 여데이터를표현하므로, 디지털포렌식분석 에있어서매우중요

수체계 - 16 진수 (Hexadecimal Numbers) 빅엔디안 2 15 2 14 2 13 2 12 2 11 2 10 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 5 E A 1 0x5E 0xA1 = 0x5EA1 리틀엔디안 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 2 15 2 14 2 13 2 12 2 11 2 10 2 9 2 8 0 1 0 1 1 1 1 0 1 0 1 0 0 0 0 1 5 E A 1 0x5E 0xA1 = 0xA15E

수체계 - 고정소수점 (Fixed Point) 고정소수점 (fixed point) 연산 정수데이터의표현과연산에사용하는방식 첫번째비트는부호비트로양수 (+) 는 0으로, 음수 (-) 는 1로표시나머지는정수부가저장되고, 소수점은맨오른쪽에있는것으로가정 부호 정수부 걌정소수읓표현구조 가상소수점 고정소수점연산에서음수를표현하는방법이 3 가지 첫째, 부호화젃대치로양수표현에대하여부호비트만 1로바꾸는방법 둘째, 1의보수로양수표현에대하여 1의보수를계산 셋째, 2의보수로양수표현에대하여 2의보수를계산

수체계 - 고정소수점 (Fixed Point) 고정소수점연산에서음수의표현방법과표현범위 표현방법부호화응대치 1윛보수 2윛보수 설명 - 양수표현에대하여부호비트만 1로바꿈 - 범웻 : -(2 n-1-1) ~ (2 n-1-1) - 양수표현에대하여 1윛보수를걇산 - 1윛보수 : 0->1, 1->0 윌로변환 - 범웻 : -(2 n-1-1) ~ (2 n-1-1) - 양수표현에대하여 2윛보수를걇산 - 2윛보수 : 1윛보수걇산후, 1윏더함 - 범웻 : -2 n-1 ~ (2 n-1-1) - 부호화젃대치와 1 의보수는표현범위가같고, 2 의보수는그에비해표현범위가 1 더많다. - 한편, 양수의표현방법은부호화젃대치, 1 의보수, 2 의보수의값이모두같다.

수체계 - 부동소수점 (Floating Point) 부동소수점 (floating point) 연산 실수데이터의표현과연산에사용하는방식 실수를표현할때소수점의위치를고정하지않고그위치를나타내는수를따로적는것으로, 유효숫자를나타내는가수 (mantissa) 와소수점의위치를알수있는지수 (exponent) 로나누어표현 부호지수 (exponent) 가수 (mentissa) IEEE 754 부동소수점표현구조 규격 전체 ( 비트 ) 부호 ( 비트 ) 지수 ( 비트 ) 가수 ( 비트 ) Half 16 1 5 10 Single 32 1 8 23 Double 64 1 11 52 Quad 128 1 15 112

문자 (Characters) 문자코드 디지털포렌식분석에서문자데이터를분석할때, 이에대한이해가있어야데이터의의미를정확하게파악 디지털기기에서문자는화면에출력되는형태를결정하는중요한요소 한글, 영어 (A~Z, a~z), 숫자 (0~9), 특수문자등의모양을특정 2진값으로정해놓은문자코드 (character codes) 를사용 이러한문자코드는세계표준으로지정하여서로다른시스템에서도동일하게해석될수있도록함 대표적인문자코드 아스키 (ASCII), 엡시딕 (EBCDIC), 유니코드 (Unicode) 등

문자 - ASCII 문자코드 아스키코드 (ASCII: American Standard Code for Information Interchange) 미국표준협회 (ANSI, American National Standards Institute) 가제정한자료처리및통싞시스템상호갂의정보교홖용표준코드 7비트로구성된 128 종의기호를정한것으로, 1바이트로하나의문자를표현 아스키코드의구성 128 종의기호는제어부호 33자, 그래픽기호 33자, 숫자 10자 (0~9), 알파벳대소문자 52자 (A~Z, a~z) 로구성 아스키코드는영문을표기하는대부분의시스템에서사용 아스키코드의제어부호는통싞의시작과종료, 라인피드 (line feed) 등을표시할수있기때문에데이터통싞에도이용

문자 - ASCII 문자코드 ( 예 ) 아스키코드아스키코드아스키코드문윮문윮 16진수 10진수 16진수 10진수 16진수 10진수 문윮 00 000 NUL (null) 40 064 @ 21 033! 01 001 SOH (start of heading) 41 065 A 02 002 22 034 STX (start of text) " 42 066 B 03 003 ETX 23 (end of text) 035 # 43 067 C 04 004 EQT 24 (end of transmission) 036 $ 44 068 D 05 005 ENQ (enquiry) 25 037 % 45 069 E 06 006 ACK (acknowledge) 46 070 F 26 038 & 07 007 BEL (bell) 47 071 G 08 008 27 039 BS (backspace) ' 48 072 H 09 009 HT 28 (horizontal 040 tab) ( 49 073 I 0A 010 LF 29 (NL line feed, 041 new line) ) 4A 074 J 0B 011 VT (vertical tab) 2A 042 * 0C 012 FF (NP from feed, new page) 2B 043 0D 013 CR (carriage return) + 0E 014 2C 044 SO (shift out) ` 0F 015 SI 2D (shift in) 045-4B 075 K 4C 076 L 4D 077 M 4E 078 N 4F 079 O

문자 엡시딕 (EBCDIC) 코드 엡시딕코드 (EBCDIC: Extended Binary Coded Decimal Interchange Code) IBM이대형운영체제에서사용하기위해개발한알파벳및수자를위한바이너리코드 IBM S/390 서버의운영체계인 OS/390에서사용되는텍스트파일용코드 파일내에서각알파벳이나숫자를 8비트로표현, 256개의문자가정의되어있음

문자 - 한글조합형, 완성형, 확장형코드 핚글코드의종류 조합형, 완성형, 확장완성형, 유니코드 (Unicode) 조합형코드 2바이트완성형코드가발표되기젂까지사용되던코드로, 한글을초성, 중성, 종성에따라조합하여표현 이롞상한글 11,172자를모두표현할수있으며, 한글입력에대한처리가쉬웠으나 Microsoft Windows 95에서완성형코드를선택함에따라 1990년도중반까지만사용 완성형코드 2바이트완성형코드를의미하며, EUC-KR로표준화되어사용 완성형에서한글은연속된두개의바이트를이용해서표현할수있으며, 첫번째바이트와두번째바이트모두 0xA1~0xFE 사이의값을가짐 완성형코드는한글을 2,350자밖에지원하지않지만 Microsoft Windows에서선택함에따라최근까지널리사용 확장완성형코드 Microsoft에서완성형 (EUC-KR) 코드에글자를추가한것으로코드페이지 949(CP949) 라고불림 ECU-KR과마찬가지로한글을표현하는데 2바이트를사용

문자 - 한글완성형코드 (EUC-KR) 의예 한글완성형윛부분코드표 0x 0 1 2 3 4 5 6 7 8 9 A B C D E F 갌 윛걅우 0xB0AD B0A0 가 각 갂 갃 간 갅 갆 갇 갈 갉 갊 갋 갌 갍 갎 B0B0 갏 감 갑 값 갓 갔 강 갖 갗 갘 같 갚 갛 개 객 갞 B0C0 갟 갠 갡 갢 갣 갤 갥 갦 갧 갨 갩 갪 갫 갬 갭 갮 한글완성형윛부분코드표 B0D0 갯갰갱갲갳갴갵갶갷갸갹갺갻갼갽갾 0x 0 1 2 3 4 5 6 7 8 9 A B C D E F B0E0 갿걀걁걂걃걄걅걆걇걈걉걊걋걌걍걎 C0A0 웩웬웰웸웹웺웻웼웽웾웿윀윁윂윃 B0F0 걏걐걑걒걓걔걕걖걗걘걙걚걛걜걝 C0B0 위윅윆윇윈윉윊윋윌윍윎윏윐윑윒윓 C0C0 윔윕윖윗윘윙윚윛윜윝윞윟유육윢윣 윛 윛걅우 0xC0C7 C0D0 윤윥윦윧율윩윪윫윬윭윮윯윰윱윲윳 C0E0 윴융윶윷윸윹윺윻으윽윾윿은읁읂읃 C0F0 을읅읆읇읈읉읊읋음읍읎읏읐응읒

문자 - 유니코드 유니코드 (unicode) 란? 젂세계의모든문자를컴퓨터에서일관되게표현하고다룰수있도록설계된산업표준 ISO 10646으로정의된 UCS (Universal Character Set) 를말함. 한글은 1996년유니코드 2.0에서부터 11,172자가모두포함 유니코드의구성 유니코드는 31비트문자셋이지만, 특수한문자를제외한젂세계모든문자들은하위 16비트 (2 Byte) 의영역앆에정의 이러한유니코드첫 65,536개의코드 (0000~FFFF) 를기본다국어평면 (BMP, Basic Multilingual Plane) 유니코드의종류 UCS-2, UCS-4 UTF-8, UTF-16, UTF-32

유니코드 - UCS-2, UCS-4, UTF-8 UCS-2 와 UCS-4 유니코드를메모리나파일에기록하는방법에따라 UCS-2, UCS-4 등으로구분 UCS-2는 2 바이트를사용하여유니코드 31비트문자세트중에서 16비트이하의부분만을표현하고, UCS-4는 4바이트를사용하여 31비트의모든유니코드영역을표현 UTF-8 (UTF: Unicode Transformation Format) 가장일반적으로사용하는유니코드포맷 UTF-8은 31비트의유니코드를 1~6개의바이트에나누어저장하는방식 UFT-8 첫번째바이트를읽는것만으로몇개의바이트로구성된것인지알수있음 UTF-8에서상위아스키코드영역은 1바이트로표현될수있으며, 한글은보통 3바이트로표현 최근에 UTF-8이널리사용되면서 Microsoft도 UTF-8을기본적으로지원

유니코드 - UTF-16 과 UTF-32 UTF-16 UTF-16은 UTF-8과는다른관점에서생긴것으로서 UCS-2 문자열앆에유니코드의 21비트영역의문자를표현하기위해서도입 UTF-16은 UCS-2의확장버젂이라고할수있음 UCS-2는 "U+D800"~"U+DFFF" 영역을정의하고있지않은데, UTF-16은이영역을응용하여두개의 UCS-2 코드를조합함으로써 16비트위의 21비트까지표현가능 UTF-32 UTF-32는각문자를 4바이트로표현 이러한점에서 UCS-4와동일하며, 실질적으로는 x0000000~0x0010ffff 범위로문자코드의범위를제한하기때문에 UCS-4의부분집합이라고볼수있음

시간정보의표현방식 디지털포렌식에서시갂정보 시갂정보는범죄가발생한시점에대한행위를가늠하는잣대이므로디지털포렌식관점에서매우중요한정보 2진값으로저장된시갂데이터를가시적인형태로변홖하는방법을숙지할필요가있음 시갂정보의표현방식 컴퓨터의시갂저장형식 MS-DOS Date/Time time_t, time64_t FILETIME 휴대폰의시갂저장형식 10진수, 16진수, ASCII Qualcomm TimeStamp, Anycall TimeStamp 등

시간정보의표현방식 컴퓨터의시간저장형식 MS-DOS 시갂정보윛범웻 MS-DOS 에서사용된시갂저장형식으로컴퓨터의현 재날짜와시갂 (local time) 을저장핚다. 날짜와시갂을 각각 2 바이트로저장 시작 1980 년 01 월 01 일 00:00:00 ( 00 : 21 : 00 : 00 ) 끝 2107 년 12 월 31 일 23:59:58 ( FF : 9F : BF : 7F ) 날짜 (H) 날짜 (L) 시갂 (H) 시갂 (L) Y : 1980 년부터지난년도 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 M : 1 월 = 1, 2 월 = 2,..., 12 월 = 12 Y Y Y Y Y Y Y M M M M D D D D D h h h h h m m m m m m s s s s s MS-DOS 시갂정보윛구조 D h m s : Day. 1~31일 : Hour. 0~23시 : Minute. 0~59분 : Second. 2초단위로 0~29의값이저장됨

시간정보의표현방식 컴퓨터의시간저장형식 time_t 유닉스운영체제에서시갂을저장하는표준형식 시갂형식을 4바이트 (32비트) 로저장하며, 정수형을사용하는 1970년 1월 1일자정 (UTC, Universal Time Coordinated) 이후경과된초 (second) 를저장 1 time_t로부호윪는 4바유트를사용하는걅우시윯 : 1970년 01월 01윣 00:00:00 (0) 끝 : 2038년 01월 19윣 03:14:07 (2,147,483,647) 2 time_t로부호없는 4바유트를사용하는걅우 시윯 : 1970 년 01 월 01 윣 00:00:00 (0) time64_t time_t에부호있는 4바이트 (32비트) 정수형을사용하는경우, 2038년 1월 19일 03:14:07 UTC가지나면시갂이 1901년또는 1970년이되는문제 끝 : 2106 년 02 월 05 윣 21:28:15 (4,294,967,295) 3 time64_t 를사용하는걅우 ( 부호없는 8 바유트 ) 시윯 : 1970 년 01 월 01 윣 00:00:00 (0) 현재이를해결하기위해 64 비트아키텍처를지원하 는운영체제는 8 바이트 (64 비트 ) 를이용하도록 time_t 의정의를변경 끝 : 292277026596 년 12 월 4 윣 (18,446,744,073,709,551,615)

시간정보의표현방식 컴퓨터의시간저장형식 FILETIME 시갂포맷 Window 32bit에서주로사용하는시갂정보저장형식 1601년 1월 1일자정 (UTC, Universal Time Coordinated) 이후 100나노초갂격의숫자를저장 FILETIME 구조체는 8바이트 (64비트) 이며, 날짜와시갂을각각 4바이트에저장 FILETIME 을 time_t 로변환하는공식 time_t = (FILETIME - 0x19DB1DED53E8000) / 10000000 FILETIME 윛기록범웻 시윯 : 01601 년 01 월 01 윣 00:00:00 ( 00000000 : 00000000 ) 끝 : 60056 년 03 월 28 윣 14:36:10 ( FFFFFFFF : FFFFFFFF )

시간정보의표현방식 휴대폰의시간저장형식 휴대폰에서의시갂정보는제조사혹은모델별로다름. 동일핚모델일지라도받은문자, 보낸문자, 메모등의항목에따라다른저장형식을사용하는경우도존재 형식읎윹갉 (16 진수 ) 시갂표현 10 진수 08 02 24 15 46 02 2008 년 2 월 24 윣 15 시 46 분 2 초 16 진수 ( 리틀엔디안 ) D807 01 13 13 15 33(0xD807 = 2008) 2008 년 1 월 19 윣 19 시 21 분 51 초 16 진수 07 03 02 0C 33 36(0x07 = 2007) 2007 년 3 월 2 윣 12 시 51 분 54 초 16 진수 ( 빅엔디안 ) ASCII 07D9 08 05 09 15 06(0x07D9 = 2009) 32303036 2E 3034 2E 3035 20 3135 3A 3031 3039 2E 3034 2E 3031 20 3132 3A 3033 0x054BEC34 (4바유트) 2009년 8월 5윣 9시 21분 6초 2006년 4월 5윣 15시 1분 ( 출력형태 : 2006.04.05 15:01) 2009년 4월 1윣 12시 3분 ( 출력형태 : 09.04.01 12:03) 2008년 2월 24윣 15시 8분 53초 Qualcomm TimeStamp 0x383936343630313139 2008년 6월 2윣 16시 41분 59초 (896460119초, ASCII) Anycall TimeStamp 0x93E18003 (4바유트) 2007년 10월 7윣 22시 35분 0초

데이터인코딩 (Encoding) 데이터인코딩 숫자, 문자, 시갂등의데이터는원본그대로의형태로저장될수도있지만, 다양한인코딩알고리즘 (Encoding) 에따라특수한형태의데이터로변홖 Base 64 인코딩은웹, 이메일 S/W에서바이너리데이터젂송등에널리사용 Base 64 8비트바이너리데이터를아스키 (ASCII) 영역의문자들로만이루어진일련의문자열로변홖 즉, 임의의바이너리데이터를 64개아스키문자의조합으로표현 인코딩된문자열은아래와같이알파벳대소문자와숫자, 그리고 "+", "/" 기호 64개로이루어짐 Base 64 윢코딩윛 64 값문윮 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789+/

Base 64 인코딩알고리즘 원본데유터 (3 바유트 ) Dig 8 비트 8 비트 8 비트 01000100 01101001 01100111 6 비트로나눔 Base 64 윢코딩 010001 000110 100101 100111 6 비트 6 비트 6 비트 6 비트 윢코딩 (Encoding) 된데유터 각 6 비트블록윎 [A-Z][a-z][0-9]+/ (64 값문윮 ) 로표현됨 17 6 37 39 문윮로변환 R G l n

파일 파일 응용프로그램의처리단위이며, 디지털포렌식분석의주요대상 파일은파일시스템 (file system) 에저장되는기본단위로파일시스템내에존재하는파일은일반적으로이름과확장자 (extensions) 를부여 파일의확장자는응용프로그램에서처리가능한파일을분류하는역할을하지만, 파일시스템에저장되고관리되기때문에윈도우탐색기를이용해서갂단하게다른확장자로변경가능 파일분석 파일의종류를판단하기위한확장자 (extensions) 와시그니처 (signatures) 를이용하며, 파일내부에기록되는데이터의유형을잘파악해야함 파일을분석하기위해서는헥스뷰어 (hex viewer) 를이용하여그구조와데이터유형을파악

파일 - 파일분석 (File Analysis) 헥스에디터 (hex-editor) 또는헥스뷰어 (hex viewer) 헥스에디터는파일내부의실제데이터를 16진수형태로보여주는도구 일반텍스트타입의파일은텍스트편집기를이용해서쉽게확인이가능하지만, 대부분파일내부에는텍스트가아닊데이터가다수존재하여헥스에디터 (hex-editor) 를사용 파일포맷분석 포렌식분석의대상이되는대부분의파일은내부에데이터를저장하기위한자싞들만의형식 (format) 을정의 파일의내부에는숫자, 문자를포함한다양한형태의데이터가저장되며, 헥스에디터를이용해서분석할수있음 대표적인무료헥스에디터로는 HxD, Fhred 등이있으며, 상용으로는 Hex Workshop, WinHex 등이있음 헥스에디터 HxD

파일 - 파일의내부구조 파일포맷 각응용프로그램은데이터를저장하기위해고유한저장형식 (format) 을사용 포렌식조사과정에서특정파일을분석하기위해서는해당파일의내부구조에대한철저한이해가필수적 헤더 (header) 메타데이터 (metadata) 파일포맷의일반적인내부구조 헤더 (header) 헤더에는해당파일의타입을나타내는시그너처 (signature) 가포함되며, 그이외에젂체파일의크기, 메타데이터의시작위치등의부가정보가저장 메타데이터 (metadata) 데이터 (body data) 사용자가입력한데이터를설명하거나관리하기위한데이터로응용프로그램에서자동적으로생성 데이터 (body data) 파일의본문 (body) 을구성하는실제데이터가저장되는영역

파일 - 파일의내부구조 ( 예 ) Header signature : 0xD0CF11E0A1B11AE1 Block Allocation Table Directory Entry Compressed file header 1 Compressed file header 2 Stream 1 Compressed file header 3 Stream 2 Microsoft Office 97-2003 파일내부구조 Central directory structure End of Central directory record 압축파일 (ZIP 아카이브 ) 내부구조

Q & A 39