데이터베이스

데이터베이스란 무엇일까요?

forward error correction Circle 2022. 12. 2. 19:36
반응형

Ⅰ.데이터베이스 정의
정보시스템 및 기업의 비즈니스를 수행하기 위해서 필요한 각종 데이터를 일정한 규칙으로 저장, 관리, 검색하고 제공하기 위한 체계적인 방법론입니다. 데이터베이스는 일반적으로 데이터를 Table 형태로 저장하며, 이를 통해 데이터를 쉽게 추가, 수정, 검색, 삭제할 수 있습니다.
 데이터베이스는 여러 가지 종류가 있으며, 일반적으로 관계형 데이터베이스가 가장 많이 사용됩니다. 관계형 데이터베이스는 표(table)로 구성되어 있으며, 이를 통해 데이터를 구조적으로 관리할 수 있습니다. 이외에도 NoSQL 데이터베이스, 그래프 데이터베이스, 객체 데이터베이스 등 다양한 종류의 데이터베이스가 존재합니다.

데이터베이스는 업무처리나 의사결정을 위한 필수적인 자원으로, 많은 기업과 조직에서 사용됩니다. 데이터베이스를 잘 설계하고 구축하는 것은 업무의 효율성과 생산성을 높이는데 큰 역할을 합니다.

Ⅱ. 데이터베이스의 기능

 

요소 대응책
지속성 영속성, 데이터베이스 재사용
데이터 공유 동시 사용
시뮬레이션 데이터베이스 유지
회복 원래 상태로 데이터 베이스 복구
데이터베이스 언어 SQL, 질의처리 및 쿼리
보안 & 무결성 데이터베이스 쿼리 및 지속

 

1) 데이터 저장: 데이터베이스는 데이터를 구조적인 형태로 저장하며, 이를 통해 데이터를 쉽게 추가, 수정, 검색, 삭제할 수 있습니다.
2) 데이터 검색: 데이터베이스는 사용자가 원하는 데이터를 쉽게 검색할 수 있도록 인덱싱(indexing) 기능을 제공합니다. 인덱싱은 데이터를 빠르게 찾을 수 있도록 데이터의 일부분을 키(key)로 지정하는 것을 말합니다.
3) 데이터 공유: 데이터베이스는 여러 사용자가 동시에 데이터에 접근하고 수정할 수 있도록 공유 기능을 제공합니다. 이를 통해 여러 사용자가 동시에 업무를 처리할 수 있습니다.
4) 데이터 보안: 데이터베이스는 데이터의 무단 접근, 수정, 삭제를 방지하기 위한 보안 기능을 제공합니다. 이를 통해 데이터의 안전성을 보장할 수 있습니다.
5) 데이터 백업 및 복원: 데이터베이스는 데이터를 정기적으로 백업하고 복원할 수 있는 기능을 제공합니다. 이를 통해 데이터의 손실을 방지하고 데이터를 신속하게 복원할 수 있습니다.
6) 데이터 일관성 유지: 데이터베이스는 여러 테이블에 저장된 데이터가 일관성을 유지하도록 관리하는 기능을 제공합니다. 이를 통해 데이터의 신뢰성을 유지할 수 있습니다.
7) 데이터 분석: 데이터베이스는 데이터를 분석하고 요약하는 기능을 제공합니다. 이를 통해 업무에 대한 분석과 의사결정을 지원할 수 있습니다.

 

Ⅲ. 데이터베이스 보안 위협요소

 

위협요소 설명
집합성 낮은 보안 등급의 정보들을 이용하여 높은 등급의 정보를 알아 내는 것
추론 보안등급이 없는 정보를 접근하여 기밀정보를 유추

 

 데이터베이스는 많은 민감한 정보를 보유하고 있기 때문에 다양한 보안 위협 요소가 존재합니다. 일반적으로 데이터베이스 위협 요소는 다음과 같습니다.


1) 불법적인 데이터 접근: 악의적인 해커나 내부 직원 등이 데이터베이스에 불법적으로 접근하여 데이터를 유출하거나 변조할 수 있습니다.
2) 악성코드: 컴퓨터 바이러스, 웜, 트로이 목마 등의 악성코드가 데이터베이스에 침투하여 데이터를 파괴하거나 유출할 수 있습니다.
3) 보안 취약점: 데이터베이스 시스템에 취약점이 존재할 경우, 해커 등의 공격으로부터 데이터베이스를 보호할 수 없게 됩니다.
4) 인증 및 권한 부족: 인증이 부적절하거나 권한이 부족하면 내부 직원이나 외부 공격자가 데이터베이스에 불법적으로 접근하여 데이터를 파괴하거나 유출할 수 있습니다.
5) 데이터 유출: 외부 공격자나 내부 직원이 데이터를 불법적으로 유출할 수 있습니다.
6) 데이터 손상: 잘못된 수정, 삭제, 입력 등으로 데이터가 손상되는 경우가 있을 수 있습니다.
7) 불법적인 백업: 불법적으로 백업된 데이터베이스가 유출될 경우, 데이터를 악용할 수 있습니다.
8) 서비스 거부 공격: 대량의 트래픽을 유발하여 서비스를 마비시키는 공격이 있을 수 있습니다.

위와 같은 위협 요소로부터 데이터베이스를 보호하기 위해서는 보안 전략을 수립하고 취약점을 제거하며, 데이터베이스의 인증 및 권한 관리를 철저히 해야 합니다. 또한 데이터 백업 및 복원 등의 대처 계획을 수립하여 데이터 유실을 최소화해야 합니다.

 

Ⅳ. 데이터베이스 암호화 및 접근 통제

데이터베이스에 접근하는 모든 사용자의 요청을 DBMS가 검사하고, 권한이 있는 사용자만 데이터베이스에 접근할 수 있도록 제어하는 것을 의미합니다.

구분 내용
사용자인증 암호나 개인 신분 번호를 확인
특정 사용자만 가지고 있는 물건 제시 : 카드 / 키 등
특정 사용를 구분 할 수 있는 신체적 특징을 이용하는 방법
: 지문, 홍채 등
특정 사용자만이 알고 있는 함수를 이용하는 방법
권한부여 사전에 사용자 / 데이터 항목별 권하누 부여 테이블을 유지
인증 과정을 거친 사용자를 대상으로 사용자가 해당 데이터 항목에 대한 연산을 수행할 권한이 있는 확인하는 과정
암호화 데이터의 내용을 암호화함으로써 불법적으로 데이터 취득 시
해독이 불가능하도록 하기 위함
접근 제어 권한이 부여된 사용자만 데이터베이스 객체에 접근할 수 있도록 제어하는 과정입니다. 이를 통해 불법적인 접근을 방지할 수 있습니다.

Ⅳ. 데이터베이스 보안통제

 데이터베이스 보안통제는 데이터베이스에 저장된 민감한 정보를 보호하고 불법적인 접근, 변경, 삭제 등을 방지하기 위한 전략입니다. 데이터베이스 보안통제는 다음과 같은 기술적, 물리적, 관리적 대책을 적용하여 수행됩니다:

구분 설명
접근 통제 인증된 사용자에게 허가된 범위 내에서 시스템 내부의 정보에 대한 접근을 허용하는 기술적인 방법
사용자가 DB에 접근할 때는 접근 권한이 있는지 검사하여 허용 여부를 결정
추론 통제 - 간접적으로 노출된 데이터를 통해 다른 데이터를 추론하여 다른 데이터가 공개되는 것을 방지
- 추론 방지를 위한 방법
  1) 허용 가능한 질의를 제한
  2) 질의의 응답으로 제공되는 데이터를 한정
  3) 데이터를 숫자의 경우 반올림하거나 일관성이 없는 결과 노이즈를 포함
흐름 통제 접근이 가능한 객체들 간의 정보의 흐름을 조정
정보의 흐름: A값이 B에 기록이 되었다면 이를 'A에서 B로 흐름이 발생했다'고 함

보안 등급이 높은 객체에서 낮은 객체로의 정보흐름을 제어

 

 위의 3가지와 더불어 데이터베이스 보안통제를 위한 방법은 다음과 같습니다.


1) 접근 통제: 인증 및 권한 관리를 통해 불법적인 접근을 방지합니다. 데이터베이스에 접근하는 사용자를 인증하고, 그들이 데이터베이스에서 수행할 수 있는 작업을 권한을 부여함으로써 접근을 통제합니다.
2) 암호화: 데이터베이스 내에 저장된 민감한 정보를 암호화하여 해독하기 어렵게 만듭니다. 암호화된 데이터는 무단으로 접근하여도 민감한 정보를 파악하기 어려워 보호됩니다.
3) 모니터링: 데이터베이스 내의 모든 작업을 모니터링하여 불법적인 작업을 감지합니다. 모니터링은 관리자가 데이터베이스 사용자들의 작업을 추적하고 분석하여, 불법적인 작업이 감지되면 즉시 대처할 수 있습니다.
4) 백업 및 복원: 데이터베이스의 백업 및 복원 계획을 수립하여 데이터 유실을 방지하고 데이터 복구를 수행합니다. 이를 통해 데이터의 안전성을 보장합니다.
5) 물리적 보안: 데이터베이스 서버를 물리적으로 보호하고, 접근이 제한되도록 합니다. 이를 위해서는 출입 통제, CCTV 등의 물리적 대책을 수행합니다.
6) 교육 및 훈련: 데이터베이스 사용자에 대한 보안 교육과 훈련을 제공하여, 사용자들이 보안 정책을 준수할 수 있도록 합니다.
데이터베이스 보안통제는 위와 같은 대책을 종합적으로 수행하여 데이터베이스의 보안을 강화합니다. 이를 통해 데이터베이스 내에 저장된 민감한 정보를 보호하고, 데이터 유실과 변경 등의 문제를 최소화할 수 있습니다

Ⅴ. 데이터베이스의 신뢰성과 일관성 있는 데이터 관리

구분 설명
부적절한 접근방지 모든 사용자의 접근요청을 DBMS가 검사하고 승인된 사용자만 접근토록 해야 함
추론방지 일반적 데이터로부터 비밀정보를 획득하는 추론이 불가능하도록 해야 함
운영적 무결성 보장 트랜잭션의 병행처리 동안에 데이터에 대한 논리적인 일관성을 보장해야 함
1) 로킹(Locking) 기법 등과 같은 병행 수행 제어 기법 등이 사용되어야 함
2) 로킹기법 : 고유 가능한 데이터에 대한 접근을 상호배타적으로 통제하는 병행수행제어기법으로 데이터의 논리적 일관성 보장
의미적 무결성 보장 데이터베이스는 데이터에 대한 허용값을 통제함으로써 변경 데이터의 논리적 일관성을 보장해야 함
감사기능 데이터베이스에 대한 모든 접근에 대한 감사기록을 생성해야 함
사용자 인증 DBMS는 운영체제의 사용자 인증과 별개로 엄격한 인증이 요구

 

반응형