본문 바로가기

디지털 포렌식 (Forensic)/디지털포렌식전문가 2급 필기

[디지털포렌식전문가 2급 필기] 4-1-1. 데이터베이스 개념

728x90
반응형

데이터베이스

- 통제된 중복이 허용된 통합된 데이터

- 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터의 집합

- 조직의 고유 기능을 수행하기 위하여 반드시 유지해야 할 데이터

- 데이터베이스 파일에서 레코드만 삭제된 경우에는 데이터베이스의 스키마 테이블을 이용하여 파일 내에 존재하는 비할당 영역에서 삭제된 레코드를 해석하여 추출할 수 있음

- 데이터베이스 서버는 중요한 정보가 없더라도 애플리케이션 취약점이 존재하는 경우 해킹 공격의 경유지로 활용될 수 있음

- MS-SQL 서버에서 sa 계정은 데이터베이스 서버 설치 시 자동으로 생성되며 관리자 계정을 뜻함

데이터 중복성으로 인하여 야기될 수 있는 문제점

- 데이터 간에 불일치가 일어나 내부적으로 데이터 일관성(consistency)이 없게 됨

- 갱신 비용이 높게 되어 경제성이 떨어짐

- 데이터의 무결성을 유지하기 어려움

데이터베이스 관리 시스템 (DBMS)

- 오라클, INGRESS, MS-SQL Server

컴퓨터 파일에 대한 기본 용어

- 필드 : 같은 의미를 갖는 데이터의 모임. 고객 이름, 전화번호, 나이 등

- 레코드 : 논리적으로 관련 있는 여러 개의 필드들의 모임으로 홍길동 레코드는 홍길동의 이름, 전화번호, 나이 등의 모임

- 파일 : 논리적으로 관련 있는 여러 개의 레코드들의 모임. 고객, 제품 파일 등

DBMS의 데이터 사전 (Data Dictionary)

- 메타데이터라고 하는 데이터 간의 관계들에 대한 정의를 기록

- DBMS는 사용자가 요구하는 데이터 구성요소의 구조들과 관계들을 데이터 사전에 기록

- 데이터베이스 파일에서 발생하는 변경 사항들은 데이터 사전에 자동으로 기록

데이터베이스의 특징

- 데이터의 논리적 독립성은 데이터베이스 구조(개념스키마)가 바뀌어도 사용자 프로그램에는 영향을 주지 않도록 하는 것

- 데이터베이스는 계속적으로 변화함

- 데이터베이스는 실시간으로 접근함

- 데이터베이스는 주소나 위치가 아닌 내용에 의하여 참조됨

관계형 데이터베이스 시스템의 메타데이터

- 관계형 데이터베이스를 구성하는 스키마에 대한 정보

- 테이블 구조, 제약 규칙 등을 설명

- 데이터베이스 시스템은 질의 수행시 메타데이터와 통계 정보를 활용하여 어떻게 접근하면 빠른 시간에 데이터를 처리할 수 있을지 결정

데이터베이스 정의 중 Operational Data

- 조직에서 그 고유의 기능을 수행하기 위하여 반드시 유지해야 할 데이터가 있으며 조직의 존재 목적이나 기능을 수행하는 데 없어서는 안 될 데이터의 집합

데이터베이스의 특징 중 Continuous Evolution

- 어느 한 시점에서 데이터베이스에서 저장하고 있는 내용은 곧 데이터베이스의 상태를 의미

- 데이터베이스의 상태는 정적이 아니라 동적

- 즉 데이터베이스는 새로운 삽입, 삭제, 갱신 등을 통하여 현재의 정확한 자료를 유지하면서 변화한다는 것

데이터베이스의 특징 중 Concurrent Sharing

- 데이터베이스는 서로 다른 목적을 가진 여러 사용자들을 위한 것이므로 다수의 사용자가 동시에 데이터베이스에 접근하여 이용할 수 있어야 함

DBMS의 필수 기능

- 조작 기능 (Manipulation Facility)

- 정의 기능 (Definition Facility)

- 제어 기능 (Control Facility)

파일 관리 시스템의 기본 프로그램

- 파일 구조를 생성하는 프로그램

- 데이터를 파일에 추가하는 프로그램

- 파일로부터 데이터를 삭제하는 프로그램

파일 관리 시스템의 문제점

- 데이터 복제

- 데이터 중복

- 데이터 비일관성

데이터베이스 장점

- 여러 사용자에 의한 데이터를 공유함으로써 접근 효율 증대

- 불법 침입으로부터 자료 보호 가능

- 데이터 중복 감소

파일 시스템 문제점 중 데이터 종속

- 파일을 구성하는 데이터의 특성이 하나라도 변경될 때 그 파일에 관련된 모든 프로그램을 함께 변경해야 함

show processlist

- MySQL 명령 중 현재 접속한 DB 사용자를 조회하기 위한 명령

데이터베이스 종류별 원격 접속 기본 포트 목록

- Microsoft SQL Server : 1433/TCP, 1434/TCP

- Oracle : 1521/TCP

- DB2 : 50000/TCP

- MySQL : 3306/TCP

- PostgreSQL : 5432/TCP

SQLite

- 정수, 실수, 바이너리, 문자열과 같이 총 4가지 형식으로 데이터를 저장

- 이중 정수 데이터와 실수 데이터는 삭제된 영역에서 16진수로 존재하는 주변의 데이터와 구분되지 않기 때문에 삭제된 레코드의 구조를 정확하게 분석해야만 저장되었던 값을 확인 가능

파일 시스템과 비교하여 DBMS의 장점

- 동시성 제어 (concurrency control) 기법을 제공하므로 파일 시스템에 비해 빠른 응답 시간 제공

MySQL 데이터베이스

- MySQL은 일반적으로 MyISAM 또는 InnoDB라는 두 가지 저장방식(Storage Engine) 중 하나의 방식을 사용하여 데이터를 저장

- MyISAM 저장방식이 필드의 일부를 다른 정보로 덮어쓰는 것과 달리 InnoDB는 레코드의 속성 정보에서 deleted_flag 값만 1로 바꾼 후 더 이상의 수정을 하지 않음

- MySQL 관리자가 forensics 라는 DB를 생성할 경우 기존에 설정된 데이터 저장위치에 'forensics'라는 이름의 폴더가 생성됨

SQLite 데이터베이스

- 컬럼을 삭제하거나 변경하는 것이 제한됨

- WAL 모드에서 최신의 데이터는 항상 .db-wal 파일에 존재

728x90
반응형