╱╱╭╮╱╱╱╱╱╱╭━━━╮╱╱╱╭╮╱╭╮╱╱╱╱╱╱ ╱╱┃┃╱╱╱╱╱╱┃╭━╮┃╱╱╱┃┃╱┃┃╱╱╱╱╱╱ ╱╱┃┣━━┳━━╮┃┃╱┃┣━╮╱┃╰━╯┣━━┳━╮╱ ╭╮┃┃╭╮┃┃━┫┃╰━╯┃╭╮╮┃╭━╮┃╭╮┃╭╮╮ ┃╰╯┃╭╮┃┃━┫┃╭━╮┃┃┃┃┃┃╱┃┃╭╮┃┃┃┃ ╰━━┻╯╰┻━━╯╰╯╱╰┻╯╰╯╰╯╱╰┻╯╰┻╯╰╯

CS/정보 보안

[정보 보안] 데이터 베이스 보안 (4)

재안안 2024. 6. 22. 19:30

 

[4] 데이터베이스 보안

Database System and DBMS
데이터 종류:
1. integrated data : non-duplicated, 여러군데 분산된 데이터 
2. stored data : 데이터셋
3. operational data : 조직 고유의 업무용도
4. shared data : 데이터 통합관리의 용도

Database System
relationships between data items and groups of data items

DBMS
database management

Query Language : provides a uniform interface to the database
- Data Definition Language
- Data Manipulation Language
- Data Control Language

Relational Database
- rows/tuple
- cols/attribute
- primary, foreign key
- view/virtual table

Database Security Issues
- Authentication : 인증
- Authorization : 인가
- Access Control : 접근제한?

Threats
- loss of integrity
- loss of availability
- loss of confidentiality

Countermeasures
- access control : user account and password on DBMS
SQL 인젝션 (malicious SQL commands)
countermeasures : 
1. stronger data validation
2. detection (signature based, anomaly based, code anlysis)
3. Runtime prevention (check queries at runtime)

- inference control : 테이블 추론 못하게 statistical database에 접근을 제어
실제 데이터의 전송은 없지만 gathering information
countermeasures :
1. inference detection at database design (디비 구조 변경 또는 접근 제어)
2. inference detection at query time (altering 혹은 rejecting 쿼리를 모니터)

blind sqli : allow attackers to infer the data present in a database system even whe the system is sufficientily secure to not display any erroneous information back to the attacker 에러로그를 통해 데이터베이스 정보를 추론할 수 있다

Statistical Database
database used for statistical analysis purpose (online anlytical processing)
- pure statistical database
- ordinary database with statistical access (allow statistical use without revealing individual entries)

Perturbation : protection against inference
- query restriction : 쿼리 사이즈 줄이기, 성공하는 쿼리중 중복 제한
- data perturbation : 데이터 스왑 (디비에 데이터를 노이즈 넣어서 저장)
- output pertubation : 노이즈 추가 (응답 데이터에 노이즈 추가)

- flow control : 권한이 없는 사용자에게 정보가 흘러가지 않도록 제어
- encryption : 민감한 정보 변환해서 저장
1. entire database : very inflexible and inefficient
2. individual fields : simple but inflexible
3. records or columns : 제일 좋다

Cloud Protection
data must be secured while at transit, in use, or ar rest
- client can employ encryption for transit
- client can encrypt data for storage but can also be  CP's responsibility