데이터베이스
- 통제된 중복이 허용된 통합된 데이터
- 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터의 집합
- 조직의 고유 기능을 수행하기 위하여 반드시 유지해야 할 데이터
- 데이터베이스 파일에서 레코드만 삭제된 경우에는 데이터베이스의 스키마 테이블을 이용하여 파일 내에 존재하는 비할당 영역에서 삭제된 레코드를 해석하여 추출할 수 있음
- 데이터베이스 서버는 중요한 정보가 없더라도 애플리케이션 취약점이 존재하는 경우 해킹 공격의 경유지로 활용될 수 있음
- 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 파일에 존재
'디지털 포렌식 (Forensic) > 디지털포렌식전문가 2급 필기' 카테고리의 다른 글
[디지털포렌식전문가 2급 필기] 4-2-2. ER 모델 (0) | 2020.10.23 |
---|---|
[디지털포렌식전문가 2급 필기] 4-2-1. 데이터베이스 모델링의 개념 (0) | 2020.10.23 |
[디지털포렌식전문가 2급 필기] 3-2-5. 네트워크 증거 수집 방법 (0) | 2020.10.23 |
[디지털포렌식전문가 2급 필기] 3-2-4. 네트워크 공격 유형 (0) | 2020.10.23 |
[디지털포렌식전문가 2급 필기] 3-2-3. 네트워크 보안 (0) | 2020.10.23 |