본문 바로가기

정보보안

정보보안 - Database Security

데이터베이스 시스템 및 DBMS
❖ 데이터베이스의 정의
▪ 구조화된 형식으로 조직화된 관련 데이터 및 그 메타데이터의 집합
▪ 최적화된 정보 관리를 위함
▪ 데이터 유형
• 통합 데이터: 중복되지 않은 데이터 집합 ->분산된 데이터를 통합 
• 저장된 데이터: 저장 매체에 저장된 데이터 세트 
• 운영 데이터: 기능을 수행하기 위해 유지되어야 하는 데이터 -> 조직 고유의 업무를 수령하기위해 지속적으로 유지되어야하는 데이터
• 공유 데이터: 하나 이상의 응용 프로그램에서 사용하기 위한 구조화된 데이터 집합 -> 동일한 데이터를 공유해야한다. 
❖ 데이터베이스의 특징
▪ 원칙적으로, 데이터베이스는 동일한 데이터가 중복되지 않는 것을 의미함
▪ 데이터 항목 간의 관계 및 데이터 항목 그룹을 포함함
▪ 때때로 보안이 필요한 민감한 데이터를 포함할 수 있음
❖ 데이터베이스 관리 시스템(DBMS)
▪ 데이터베이스의 쉬운 생성, 접근, 수정을 가능하게 하는 소프트웨어
▪ 효율적이고 효과적인 데이터베이스 관리를 위함
❖ 데이터베이스 시스템
▪ 하드웨어, 소프트웨어, 사람, 절차 및 데이터의 통합 시스템
▪ 데이터베이스 환경 내에서 데이터의 수집, 저장, 관리 및 사용을 정의하고 규제함
❖ 질의 언어: 데이터베이스에 대한 통일된 인터페이스를 제공함
❖ DBMS/데이터베이스 시스템의 기능
▪ 데이터 및 관련 데이터 입력 양식, 보고서 정의 등을 저장함
▪ 사용자로부터 관계형 데이터베이스 모델의 복잡성을 숨기면서
• 데이터 요소와 그들의 관계의 구축/정의를 용이하게 함
• 데이터 변환 및 제시를 가능하게 함
▪ 데이터 보안 관리 구현
• 접근, 개인정보, 백업 및 복원

 


관계형 데이터베이스
❖ 행과 열로 구성된 데이터 테이블
▪ 각 열은 특정 유형의 데이터를 보유함
▪ 각 행은 각 열에 대한 특정 값을 포함함
▪ 이상적으로는 모든 값이 고유한 하나의 열을 가지며, 그 행의 식별자/키를 형성함
❖ 고유 식별자로 서로 연결된 다수의 테이블을 생성할 수 있음
❖ 관계형 쿼리 언어를 사용하여 데이터베이스에 접근함
▪ 사용자가 주어진 일련의 기준에 맞는 데이터를 요청할 수 있도록 함
❖ 용어 및 요소
▪ 관계/테이블/파일
▪ 튜플/행/레코드
▪ 속성/열/필드
▪ 기본 키: 행을 고유하게 식별함
▪ 외래 키: 하나의 테이블을 다른 테이블의 속성에 연결함
▪ 뷰/가상 테이블: 선택된 행과 열을 반환하는 쿼리의 결과

 

구조화된 쿼리 언어
❖ 구조화된 쿼리 언어(SQL)
▪ 원래 IBM에 의해 1970년대 중반에 개발됨
▪ 관계형 데이터베이스에서 데이터를 정의, 조작 및 조회하기 위한 표준화된 언어
▪ ANSI/ISO 표준의 여러 유사한 버전들
▪ 데이터베이스 언어 SQL 문법 유형
• DDL (데이터 정의 언어)
– CREATE: 데이터베이스 객체(테이블, 인덱스, 제약조건 등) 정의
– DROP: 데이터베이스 객체 삭제
– ALTER: 데이터베이스 객체 정의 변경
• DML (데이터 조작 언어)
– INSERT INTO (행이나 테이블 데이터 삽입)
– DELETE FROM (테이블에서 특정 행 삭제)
– SELECT ~ FROM ~ WHERE (테이블 데이터의 결과 집합 검색)
• DCL (데이터 제어 언어)
– GRANT (특정 데이터베이스 사용자에게 특정 작업 수행 권한 부여)
– REVOKE (특정 데이터베이스 사용자에게 이미 부여된 권한을 박탈)
– SET TRANSACTION (트랜잭션 모드 설정, 예: 격리 모드)

DBMS
❖ DBMS는 데이터베이스에 대한 접근 제어를 제공함
❖ DBMS는 데이터베이스의 특정 부분에 특정 접근 권한을 제공함
▪ 예: 생성, 삽입, 삭제, 업데이트, 읽기, 쓰기
▪ 전체 데이터베이스, 테이블, 선택된 행이나 열에 대해
▪ 테이블 항목의 내용에 따라 달라질 수 있음
❖ DBMS는 일반적으로 데이터베이스의 보안 부분을 무단 접근으로부터 보호하기 위해 책임을 지는 데이터베이스 보안 및 인가 서브시스템을 포함함
▪ DBMS의 보안 메커니즘은 데이터베이스 전체에 대한 접근을 제한하는 조항을 포함해야 함


데이터베이스 보안 문제 소개
❖ 데이터베이스 보안의 세 가지 기본 개념
▪ 인증: 사용자가 자신이 주장하는 사람인지를 결정하는 메커니즘
▪ 인가: 시스템이나 시스템의 객체에 합법적으로 접근할 수 있게 하는 권리나 특권을 부여하는 것
▪ 접근 제어: 시스템의 객체(데이터베이스 전체)에 대한 접근을 제한하는 보안 메커니즘(DBMS의)
❖ 데이터베이스 보안 위협
▪ 의도적이든 비의도적이든, 데이터베이스 시스템과 결과적으로 조직에 부정적인 영향을 미칠 수 있는 상황이나 이벤트
• 무결성의 손실
• 가용성의 손실
• 기밀성의 손실
❖ 이러한 유형의 위협에 대해 데이터베이스를 보호하기 위해 네 가지 종류의 대책을 구현할 수 있음:
▪ 접근 제어: 이 기능은 DBMS에 의한 로그인 과정을 제어하기 위해 사용자 계정과 비밀번호를 생성함으로써 처리됨. (MAC, DAC, RBAC)
▪ 추론 제어: 이 기능은 다양한 기준에 기반한 값의 통계 정보나 요약을 제공하는 통계 데이터베이스에 대한 접근을 제어함으로써 처리됨.
▪ 흐름 제어: 이 기능은 정보가 무단 사용자에게 도달하는 방식으로 흐르는 것을 방지함으로써 처리됨.
▪ 암호화: 이 기능은 통신 네트워크를 통해 전송되는 민감한 데이터(예: 신용카드 번호)를 보호함으로써 처리됨.

 

데이터베이스 접근 제어 문제: SQL 인젝션 공격
❖ 가장 널리 퍼지고 위험한 네트워크 기반 보안 위협 중 하나
❖ 악의적인 SQL 명령어를 데이터베이스 서버에 전송함
❖ 환경에 따라, SQL 인젝션은 다음을 이용하여 악용될 수도 있음:
▪ 데이터 수정 또는 삭제
▪ 임의의 운영 체제 명령 실행
▪ 서비스 거부(DoS) 공격 발동

 

 

'정보보안' 카테고리의 다른 글

정보보안 - Access Control  (0) 2024.03.25
정보보안 - User Authentication  (1) 2024.03.18
정보보안 - Cryptographic Tools2  (0) 2024.03.13
정보보안 - Cryptographic Tools  (0) 2024.03.11
정보보안 - Computer Security Overview  (1) 2024.03.06