Forensic/Forensic 이론

반도체를 이용한 저장매체

Ron Weasley 2022. 3. 31. 17:35

저번 시간에 컴퓨터의 구성 요소에 대해서 배웠습니다. 간략하게 다시 짚어보면 다음과 같습니다.

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

오늘은 반도체를 이용한 저장매체에 대해서 배워보겠습니다.

 

ROM(Read-Only-Memory)

ROM은 읽기만 가능한 기억장치이며 전원이 공급되지 않아도 내용이 사라지지 않는 비휘발성 메모리입니다. 컴퓨터를 시작할 때 필요한 설정 및 프로그램을 저장하고 있는 ROM BIOS 형태로 많이 사용되며, 최근들어 가전제품, IC카드에도 사용이 됩니다. 초기에는 제조 회사에서 데이터를 미리 기록하면 읽기만 가능했지만, 최근에는 수정여부에 따라 MASK ROM, OTP ROM, EPROM, EE-PROM등 많은 발전을 이뤘습니다.

 

각 특징을 보겠습니다.

- MASK ROM : 제조과정에서 프로그램이 기록되는 가장 기본적인 ROM

- PROM(Programmable ROM) : 사용자가 딱 한번 기록이 가능하게 할 수 있는 것

- EPROM(Erasable and Programmable ROM) : 위 PROM과 달리 E(지우개)가 붙어 여러번 정보를 기록할 수 있는 것

- EEPROM : 전기적 충격으로 지울 수 있는 것

 

대표적으로 EEPROM을 주로 사용하며, 흔히 알고 있는 전화기, 전자레인지, 자동세탁기 등 가전제품이나 통신기기에 사용되며, 플래시 메모리는 EEPROM의 변형된 형태입니다.

BIOS(Basic Input Output System)

BIOS는 운영체제(OS)와 하드웨어(HW) 사이의 입출력을 담당하는 펌웨어입니다. 쉽게 말해서 운영체제와 하드웨어의 통신을 위한 중간 매개체이며, 전원이 공급되지 않아도 유지되어야 하는 정보이기 때문에 ROM으로 제작되어 제조회사에 의해 하드웨어 제작 시 포함됩니다. BIOS에서 저장된 시스템의 시간과 현장에서 확보한 시스템의 시간, 날짜를 확인하여 정확한지, 의도적으로 변경되지 않았는지를 파악함으로써 포렌식 관점에서 중요합니다. 또한, 하드디스크의 정보를 알 수 있고 시스템의 부팅 순서를 설정할 수 있으므로 데이터 수집 시 유의하여 설정하여야 합니다.

GIGABYTE 제조회사의 바이오스 화면

 

UEFI(Unified Extensible Firmware Interface)

통일 확장 펌웨어 인터페이스로 불리며, 운영체제와 플랫폼 펌웨어 사이의 소프트웨어 인터페이스를 정의하는 규격입니다. IBM PC 호환 기종에서 사용되는 BIOS 인터페이스를 대체할 목적으로 개발되었습니다. 

UEFI 위치

RAM(Random Access Memory)

RAM은 자유롭게 데이터를 읽고 쓸 수 있는 기억장치로 전원이 공급되지 않으면 기억하고 있는 데이터들이 사라지게 되는 휘발성 메모리를 띄고 있습니다. 컴퓨터와 주변단말기의 주기억장치, 응용 프로개름의 일시적 로딩, 데이터의 일시적 저장에 사용됩니다. 특정 데이터를 읽기 위해 기억장치의 처음부터 순차적으로 접근하지 않고 곧바로 접근이 가능합니다. 대표적으로 DRAM과 SRAM이 있습니다.

 

각 특징은 다음과 같습니다.

- DRAM(Dynamic) : 동적램, 전원이 차단될 경우 저장되어 있는 자료가 소멸되는 특성이 있는 휘발성 기억소자이며 시간이 지나가면 축적된 전하가 감소되기 때문에 전원이 차단되지 않더라도 저장된 자료가 자연히 소멸되는 단점이 있습니다.

- SRAM(Static) : 정적램, 전원이 공급되는 한 기억된 데이터가 지워지지 않으며, 소비전력이 적고, 위 DRAM에 비해 정보처리 속도가 빠릅니다.

플래시 메모리(Flash Memory)

플래시 메모리는 전기적으로 데이터를 지우고 재기록이 가능한 비휘발성 데이터를 띈 기억 장치입니다.

전기적으로 고쳐 쓰기가 가능하여 ROM과는 다르고, 데이터를 고쳐 쓰기 전 소거 동작이 필요하고 데이터가 지워지지 않는 다는 점에서 ROM과 RAM의 중간 정도에 위치하고 있다고 생각 하시면 될 거 같습니다.

 

특징은 여러 구역으로 구성된 블록(Block)안에서 지우고 쓰기가 가능하며, Byte단위가 아닌 블록 단위 프로그래밍 방식을 사용하기 때문에 상당히 빠른 프로그래밍 속도를 가지고 있습니다. 또한, 블록을 덮어 쓸 수는 없으므로 모든 블록을 지우기 전까지는 자료를 변경할 수 없으며, 지우기 횟수가 제한되어 있습니다.

 

NOR플래시 : 임의 접근 방식으로 바이트 또는 워드 단위로 읽기/쓰기 동작이 가능하고, 속도가 빠르지만 덮어 쓰기와 지우기 동작은 임의로 접근할 수 없어 대용량으로 구성하기에는 부족한 메모리입니다. 출시될 때 셀의 상태는 1로 되어 있으며, 셀 정보를 0으로 변경하는것을 프로그래밍이라고 하는데 바이트 또는 워드 단위로 프로그래밍이 수행이 되어 모든 셀이 한번에 지워지는 특성을 가지고 있습니다.

 

예시) MMC카드, 휴대폰, 셋탑박스

 

NAND플래시 : 페이지 단위로 읽기/쓰기 동작이 가능하고, 해당 페이지를 덮어 쓰거나 지우려면 모든 블록을 지워야 합니다. 이유는 NAND플래시는 블록을 여러 페이지로 나누어 사용하기 때문입니다. 위 NOR플래시 보다는 속도면에서는 좋지 않으나 대용량으로 구성하기에 적합합니다. 

 

예시) SD카드, 메모리 스틱, MP3, 디지털 카메라

 

USB 메모리

USB 플래시 메모리는 32MB부터 256GB 이상까지 다양한 용량이 존재합니다. 크기가 작고 휴대가 편리하며 전 세계적으로 자주 사용이 됩니다. 하지만 크기가 작아 분실이 잦아졌습니다. 이 단점을 보완하기 위해서 USB에 패스워드를 입력하게 끔 하여 인증 과정을 더하여 데이터를 보호하는 기술이 적용되고 있습니다. 디지털 포렌식 관점에서 USB 메모리를 대상으로 데이터를 수집할 때에는 USB 메모리의 용량과 실제 디스크의 크기가 동일한 지 확인하여 암호화 영역이나 숨겨진 영역이 존재하는지 확인을 해야 합니다.

플래시 메모리 카드

제조사 별로 다양하게 구분되는 플래시 메모리 기기입니다.

종류 별로 서로 다른 인터페이스를 이용하며, 일반적으로 디지털 기기의 저장매체로서 사용됩니다. 디지털 포렌식 관점에서 특징상 크기가 매우 작기 때문에 휴대성이 좋아 범죄자가 증거물을 쉽게 은닉할 수 있으며, 압수-수색 시 USB메모리나 소형 메모리 카드를 숨길만한 장소까지 주의를 기울여 수색해야 하고, 수사 대상 시스템에서 메모리 카드 사용 아티팩트가 없는지 파악해야 합니다. 그리고 데이터를 수집할 때, 쓰기 방지 장치를 통해서 데이터의 무결성을 유지합니다.

 

SSD(Solid State Drive)

플래시 메모리의 장점을 활용하여 HDD와 동일한 형태로 개발된 대용량 플래시 메모리입니다. HDD와 동일 연결 인터페이스를 사용하지만, 자기장을 사용하는 HDD와 달리 NAND 플래시 반도체를 이용하여 정보를 저장합니다.

 

SSD는 임의 접근을 하여 탐색시간을 소요하지 않고 고속으로 데이터를 입출력할 수 있으며, HDD에 비해 외부의 충격으로 데이터가 손상될 가능성이 헌저히 낮아졌습니다. 또한, NAND 플래시를 사용하기 때문에 읽기/쓰기/접근 시간이 기존 HDD보다 매우 빠르고 소비 전력/소음/발열이 낮다는 특징을 가집니다. 최근에는 HDD를 대체하는 저장매체로 사용됩니다.

 

디지털 포렌식 관점에서 볼 때, SSD는 삭제된 데이터의 공간을 미리 비워, 쓰기 속도 저하를 완화시켜주는 TRIM 또는 GC와 같은 기능들이 사용되며, HDD와는 달리 운영체제의 기능 or 이미징 작업에 의해 비할당 영역의 데이터가 변형될 수 있습니다. 특히 파일을 삭제할 때, 실제 파일이 아닌 파일 저장 위치 기록만 삭제되어 하드 디스크는 삭제된데이터 위에 새 파일을 덮어 쓰지만, SSD는 덮어 쓰기가 불가능하여 삭제된 데이터를 지운 후 새 파일 을 저장해 쓰기 때문에 속도가 저하되는 특징을 가집니다. 

 

마지막으로 TRIM, GC의 기능에 대해서만 배우고 포스팅을 마치겠습니다.

 

TRIM :  컴퓨팅에서 운영 체제가 어느 블록의 데이터가 더 이상 사용되지 않고 내부적으로 삭제될 수 있는지를 SSD에 알려주는 명령. 쉽게 말해, SSD에 기록되어진 데이터중 불필요한 데이터를 삭제해 주는 기술입니다.

 

GC : SSD 내부에 쌓여진 불필요한 데이터 기록을 SSD의 컨트롤러에 입출력 명령을 받지 않는 유휴상태를 이용해서 정리하는 기능입니다. 이 기능을 통해 SSD에 바로 기록 가능한 저장공간을 더 확보하여 데이터 기록 속도를 유지하고 컨트롤러의 부하를 줄이게 됩니다.

 

예시) M.2

'Forensic > Forensic 이론' 카테고리의 다른 글

슬랙 공간 영역(Slack Space Area)  (0) 2022.07.10
웹 브라우저 포렌식  (3) 2022.07.03
파일 카빙(Carving)  (0) 2022.01.27
해쉬 함수 (Hash Function)  (0) 2022.01.20
데이터 인코딩(Data Encoding)  (0) 2022.01.18