정보보호개론] 12. 데이터베이스 보안

2013.05.17 09:55

데이터베이스 보안

 데이터베이스 보안개요

  - 데이터베이스 환경 : 데이터베이스 환경에서 다양한 응용시스템을 사용하는 사용자들은 데이터베이스가 지니고 있는 인터페이슬 통하여 상호연관되고 통합된 대량의 데이터를 쉽게 검색

  - 데이터베이스관리시스템(DBMS) : DBMS의 기능으로 데이터베이스 환경에서의 정보보안이 정확히 명시되어야 한다

  - 데이터베이스 보안 : 데이터베이스에 저장된 데이터를 보호


 데이터베이스 보안의 특성 및 보안위협

  - 비밀성 부적절한 정보의 노출

  - 무결성 부적절한 데이터의 변경

  - 가용성 사용자 거부


 데이터베이스 보안 요구사항

  - 부적절한 접근방지 : 승인된 사용자의 접근요청을 DBMS에 의해 검사

  - 추론방지 : 일반적 데이터로부터 비밀정보를 획득하는 추론이 불가능하도록

  - 데이터베이스의 무결성 보장 : 데이터베이스의 일관성 유지를 위하여 모든 트랜잭션은 원자적이어야 하고, 복구시스템은 로그파일을 이용하여 데이터에 수행된 작업, 트랜잭션 제어, 레코드 수정 전 후 값 등을 기록해야

  - 데이터의 운영적 무결성 보장 : 트랜잭션의 병행처리 동안에 데이터베이스 내의 데이터에 대한 논리적인 일관성을 보장해야 (이런 요구사항은 DBMS의 병행수행관리자에 의하여 보장됨)

   · 로킹기법 : 고유 가능한 데이터에 대한 접근을 상호배타적으로 통제하는 병행수행제어기법으로 데이터의 논리적 일관성 보장

  - 데이터의 의미적 무결성 보장 : 데이터베이스는 데이터에 대한 허용값을 통제함으로써 변경 데이터의 논리적 일관성을 보장해야

  - 감사기능 : 데이터베이스에 대한 모든 접근의 감사기록을 생성해야

  - 사용자 인증 : DBMS는 운영체제의 사용자 인증보다 엄격한 인증 요구

  - 비밀데이터의 관리 및 보호

  - 제한 : 시스템 프로그램간의 부적절한 정보 전송 방지

<!--[if !supportEmptyParas]--> <!--[endif]-->

    * 데이터베이스 보안통제

 흐름통제

  - 접근 가능한 객체간의 흐름을 조절

  - 임의의 객체에 포함되어 있는 정보가 명시적 또는 암시적으로 높은 보안수준에서 낮은 보호수준의 객체로 이동하는 것 검사

  - 흐름통제정책은 허용 가능한 정보 흐름의 식별을 요구


 추론통제

  - 간접적 데이터 노출로부터 데이터를 보호하기 위한 것

  - 사용자가 읽은 XX에 대한 함수 f를 적용하여 Y=f(X)인 데이터 Y를 얻기 위해 추론을 사용하는 것 금지

  - 추론채널 : Y=f(X)인 데이터 Y를 유도하기 위해 X를 찾는 채널

   · 간접접근 : 비인가 사용자가 자신에게 가용한 데이터 X에 대한 질의로 자신에게 가용하지 않은 데이터 Y를 알 수 있을 때

   · 상호연관데이터 : 사용자에게 가용한 데이터 X가 가용하지 않은 데이터 Y와 연관되어 있을 때 상호연관데이터는 전형적인 추론채널임

   · 누락데이터 : 사용자에게 값을 알려주지는 않았지만 데이터의 존재를 암시하는 누락데이터는 추론채널임


 추론통제

  - 추론통제의 해결책 : 완벽한 해결책은 없음

   · 허용 가능한 질의 제한

   · 질의 응답으로 제공되는 데이터 제한

  - 추론통제를 위하여 제공되는 데이터에 다음 방법을 사용

   · 비밀정보 은폐

   · 사용자의 데이터 지식을 추적

   · 데이터 위장


 접근통제

  - 표면적으로 데이터 베이스에 대한 접근통제는 운영체제나 기타 시스템 구성요소에 대한 접근 통제와 유사(실질적으로는 보다 복잡복잡)

  - 운영체제의 객체들은 다른 객체들과 관련성이 없지만 레코드 및 필드 같은 데이터베이스 객체는 상호관련

  - 객체의 크기도 차이

  - 데이터베이스 객체에 대한 접근통제 목록의 구현도 운영체제보다 어렵다

<!--[if !supportEmptyParas]--> <!--[endif]-->

 보안특성을 갖는 DMBS구조

  - 보호대상 데이터는 DBMS기능을 통해서만 접근가능

  - 사용자 로그온과 인증후 데이터베이스에 대한 질의는 인증규칙의 준수를 확인하는 인증시스템 절차에 의하여 조정

  - 질의 규칙을 만족하지 않는 경우 오류메시지 보내고 접근위반 사실을 로그파일에 기록

  - 보안관리자는 조직체의 보안요구사항으로부터 유도된 인증규칙을 정의하는 책임

  - 인가된 질의는 프로그램 호출로 변환되어 트랜잭션 관리자에 의해 처리되고 데이터에 대한 접근 요청으로 다시 변환

  - 데이터가 접근을 요청한 사용자의 작업공간으로 완전히 전달되는 것을 보장하기 위해 운영체제와 하드웨어에 의한 추가적인 통제가 가능

  - DBMS 모듈은 모든 질의를 관리하며 시스템 보안 정책에 따라 임의적 접근 통제를 위한 인증규칙과 강제적 접근통제를 위한 보안 원리를 포함

  - 응용관리자는 라이브러리 프로그램의 개발과 유지보수에 대한 책임을 짐

  - 데이터베이스 관리자는 데이터베이스의 개념 스키마와 내부 스키마를 관리

  - 감사인은 권한 위반이 발생할 수 있는 가능성을 점검하기 위해 연결요청과 접근질의를 검사함. 로그 파일을 정기적으로 검사

<!--[if !supportEmptyParas]-->  

    * 보안DBMS

 보안 DBMS 개요

  - 대부분 사용 DBMS의 보안정책은 일반적으로 운영체제를 위한 보안요구사항을 반영하므로 데이터베이스에 대해 적용하기에 부적합하거나 많은 제약사항 유발

  - 접근통제를 위한 보안정책은 크게 임의적 접근 통제와 강제적 접근통제로 구분

  - 강제적 접근통제는 보안DBMS를 구현하기 위한 방법론의 핵심

  - 보안 DBMS를 설계하고 구현하는 주요 접근 방법은 접근통제를 수행하는 시스템 구성요소와 보안커널의 위치에 따라 구분


 보안DBMS 구현전략

  - 신뢰필터구조

   · 무결성 로크 구조라고도 한다

   · 신뢰할 수 없는 전위사용자 인터페이스와 후위 데이터베이스 사이에 신뢰필터 사용

   · 저장객체에 보안레이블을 부착하고 무결성 로크를 사용하여 데이터에 대한 모든 접근을 조정

   · 보안레이블 : 스탬프 형태로 관계된 내용을 저장하는 특별한 필드

   · 무결성 로크 : 암호메커니즘을 이용하여 데이터를 암호화하는데 관련된 제어 데이터를 정하는 필드

   · 신뢰필터는 하부의 보안 운영체제가 제공하는 보안서비스 및 메커니즘에 의존

   · 커널구조나 이중커널구조에 비해 간단하고 작아서 보안기능 검증과 평가 용이

  - 커널구조

   · Hinke/Schaefer 구조 또는 군형보증구조라고 한다

   · TCB분할 개념에 의하여 구현

   · TCB분할은 TCB를 계층화 구조로 구현하는 것으로써 각 계층은 고유의 보안정책을 정의하기 때문에 기존의 TCB를 재사용할 수 있고 TCB 확장에 용이

   · TCB분할을 택하는 커널구조에서는 데이터베이스 시스템은 보안커널 외부에 존재하며 임의적 보안만을 관리

   · 데이터베이스 객체에 대한 임의적 접근통제는 DBMS에서 수행되지만 데이터베이스 파일에 대한 임의적 접근통제 및 모든 강제적 접근통제는 하부의 보안 운영체제에 의해 제공

   · 커널구조의 보안 DBMS는 데이터베이스 객체를 위한 보안을 지원하기 위해 보안 운영체제가 제공하는 보안서비스에 의존

  - 이중커널 구조

   · 동일보증구조라고도 함

   · 보안을 위한 모든 책임을 데이터베이스 시스템이 갖기 때문에 데이터베이스 자체에 보안 커널을 보유

   · 강제적 보안기능을 갖는 데이터베이스 시스템을 구현하고 이를 보안 운영체제와 함께 시스템의 TCB로 간주하여 보안 시스템을 평가

   · 보안커널의 최소화를 요구하는 보안요구사항에는 부적합한 방식으로 보안 기능의 검증 및 평가가 여려움

  - 중복구조

   · 낮은 수준의 데이터를 데이터베이스에 중복하여 저장

   · 데이터베이스 중복의 일치성을 보장하기 위한 안전한 동기화 알고리즘이 필요하며 데이터의 중복으로 인한 전체적 비용도 증가

   · 낮은 보호 수준의 사용자는 낮은 보호수준의 데이터베이스만..


 보안관계 DBMS

 - 다단계 보안 관계 DBMS를 구현하기 위하여 표준관계데이터 모델을 확장하는 다양한 접근방법이 제안

 - 주요관점 : 릴레이션에 저장된 데이터에 접근 등급을 어떻게 할당하냐?

<!--[if !supportEmptyParas]--> <!--[endif]-->

Sharp모델

TRW모델

Hinke/Schaefer모델

Sea View모델

접근등급

릴레이션 수준

튜플수준

릴레이션의 개별적인 애트리부트

튜풀내의 개별적인 데이터요소

  - 관계데이터베이스 시스템의 뷰

   · 다단계 보안관계 DBMS의 보안 분류, 동적분류, 추론 및 집단화 등을 처리하는 수단으로 제안

   · 데이터베이스 보안의 목적으로 뷰를 사용하는 개념은 CODASYLIBM System R에서 유래

   · 다단계 보안 관계 DBMS의 기반으로써 뷰의 사용은 ClaybrookDenning에 의해 처음 제안

   · SLISeaView는 다단계 보안을 위한 뷰의 사용개념을 지원하는 최초의 관계데이터베이스 관리 시스템이다

 

또루아빠 보안 , ,