데이터베이스 보안: Difference between revisions

From IT Wiki
No edit summary
No edit summary
Line 1: Line 1:
[[분류:데이터베이스]][[분류:보안]]
[[분류:데이터베이스]]
== 데이터베이스 공격 ==
[[분류:보안]]
* 집성(Aggregation): 낮은 보안등급의 정보조각을 조합하여 높은 등급의 정보를 알아내는 것.
==데이터베이스 공격==
** 예) 공개된 지사별 영업실적으로 1등급인 총 매출액을 유추해낼 수 있다.
* 추론(Inference): 보안으로 분류되지 않은 정보에 접근한 후 기밀정보를 유추하는 것
* 데이터 디들링(Data Diddling): 처리할 자료를 다른 자료와 바꿔서 처리하는 공격. 즉 입력값이나 출력값을 부정한 의도로 수정하여 잘못된 결과가 나오도록 유도하는 방법


== 데이터베이스 보안 요구사항 ==
*'''집성(Aggregation) 공격''': 낮은 보안등급의 정보조각을 조합하여 높은 등급의 정보를 알아내는 것.
* '''부적절한 접근방지'''
**예) 공개된 지사별 영업실적으로 1등급인 총 매출액을 유추해낼 수 있다.
** 모든 사용자의 접근요청을 DBMS가 검사하고 승인된 사용자만 접근토록 해야 함
*'''추론(Inference) 공격''': 보안으로 분류되지 않은 정보에 접근한 후 기밀정보를 유추하는 것
* '''추론방지'''
*'''데이터 디들링(Data Diddling)''': 처리할 자료를 다른 자료와 바꿔서 처리하는 공격. 즉 입력값이나 출력값을 부정한 의도로 수정하여 잘못된 결과가 나오도록 유도하는 방법
** 일반적 데이터로부터 비밀정보를 획득하는 추론이 불가능하도록 해야 함
* '''운영적 무결성 보장'''
** 트랜잭션의 병행처리 동안에 데이터에 대한 논리적인 일관성을 보장해야 함
*** 로킹(Locking) 기법 등과 같은 병행 수행 제어 기법 등이 사용되어야 함
*** 로킹기법 : 고유 가능한 데이터에 대한 접근을 상호배타적으로 통제하는 병행수행제어기법으로 데이터의 논리적 일관성 보장
* '''의미적 무결성 보장'''
** 데이터베이스는 데이터에 대한 허용값을 통제함으로써 변경 데이터의 논리적 일관성을 보장해야 함
* '''감사기능'''
** 데이터베이스에 대한 모든 접근에 대한 감사기록을 생성해야 함
* '''사용자 인증'''
** DBMS는 운영체제의 사용자 인증과 별개로 엄격한 인증이 요구됨


== 데이터베이스 보안 통제 ==
==데이터베이스 보안 요구사항==
* '''접근 통제'''
 
** 인증된 사용자에게 허가된 범위 내에서 시스템 내부의 정보에 대한 접근을 허용하는 기술적인 방법
*'''부적절한 접근방지'''
** 사용자가 DB에 접근할 때는 접근 권한이 있는지 검사하여 허용 여부를 결정
**모든 사용자의 접근요청을 DBMS가 검사하고 승인된 사용자만 접근토록 해야 함
* '''추론 통제'''
*'''추론방지'''
** 간접적으로 노출된 데이터를 통해 다른 데이터를 추론하여 다른 데이터가 공개되는 것을 방지
**일반적 데이터로부터 비밀정보를 획득하는 추론이 불가능하도록 해야 함
** 추론 방지를 위한 방법
*'''운영적 무결성 보장'''
*** 허용 가능한 질의를 제한
**트랜잭션의 병행처리 동안에 데이터에 대한 논리적인 일관성을 보장해야 함
*** 질의의 응답으로 제공되는 데이터를 한정
***로킹(Locking) 기법 등과 같은 병행 수행 제어 기법 등이 사용되어야 함
*** 데이터를 숫자의 경우 반올림하거나 일관성이 없는 결과 노이즈를 포함
***로킹기법 : 고유 가능한 데이터에 대한 접근을 상호배타적으로 통제하는 병행수행제어기법으로 데이터의 논리적 일관성 보장
* '''흐름 통제'''
*'''의미적 무결성 보장'''
** 접근이 가능한 객체들 간의 정보의 흐름을 조정
**데이터베이스는 데이터에 대한 허용값을 통제함으로써 변경 데이터의 논리적 일관성을 보장해야 함
*** 정보의 흐름: A값이 B에 기록이 되었다면 이를 'A에서 B로 흐름이 발생했다'고 함
*'''감사기능'''
** 보안 등급이 높은 객체에서 낮은 객체로의 정보흐름을 제어
**데이터베이스에 대한 모든 접근에 대한 감사기록을 생성해야 함
*'''사용자 인증'''
**DBMS는 운영체제의 사용자 인증과 별개로 엄격한 인증이 요구됨
 
== 데이터베이스 보안 거버넌스 ==
 
* '''최고 정보보호 책임자''': 정보보안과 관련된 최종 결정을 내리고, 보안 사고가 발생한 경우 최종 책임을 진다.
** 기업의 정보보호 정책이나 보안 사고의 유형에 따라 최고 경영자가 최종 책임을 지기도 한다.
* '''정보보호위원회''': 정보보호에 관한 주요 사안들을 의결하여 이를 정보보호 최고책임자나 최고 경영자에 통지한다.
* '''정보보호 관리조직''': 보안 관련 정책을 만들고, 데이터베이스 보안에 대한 지침을 내리고 지침 이행을 지원한다.
* '''데이터 관리조직''': 민감 데이터와 일반 데이터를 분류하고, 데이터의 무결성과 정확성을 유지한다.
* '''감사 조직''': 독립된 권한을 가지고 보안정책의 이행여부를 검토하고 미흡사항에 대한 조치 필요사항을 통지한다.
 
==데이터베이스 보안 통제==
 
*'''접근 통제'''
**인증된 사용자에게 허가된 범위 내에서 시스템 내부의 정보에 대한 접근을 허용하는 기술적인 방법
**사용자가 DB에 접근할 때는 접근 권한이 있는지 검사하여 허용 여부를 결정
*'''추론 통제'''
**간접적으로 노출된 데이터를 통해 다른 데이터를 추론하여 다른 데이터가 공개되는 것을 방지
**추론 방지를 위한 방법
***허용 가능한 질의를 제한
***질의의 응답으로 제공되는 데이터를 한정
***데이터를 숫자의 경우 반올림하거나 일관성이 없는 결과 노이즈를 포함
*'''흐름 통제'''
**접근이 가능한 객체들 간의 정보의 흐름을 조정
***정보의 흐름: A값이 B에 기록이 되었다면 이를 'A에서 B로 흐름이 발생했다'고 함
**보안 등급이 높은 객체에서 낮은 객체로의 정보흐름을 제어

Revision as of 21:10, 24 February 2020

데이터베이스 공격

  • 집성(Aggregation) 공격: 낮은 보안등급의 정보조각을 조합하여 높은 등급의 정보를 알아내는 것.
    • 예) 공개된 지사별 영업실적으로 1등급인 총 매출액을 유추해낼 수 있다.
  • 추론(Inference) 공격: 보안으로 분류되지 않은 정보에 접근한 후 기밀정보를 유추하는 것
  • 데이터 디들링(Data Diddling): 처리할 자료를 다른 자료와 바꿔서 처리하는 공격. 즉 입력값이나 출력값을 부정한 의도로 수정하여 잘못된 결과가 나오도록 유도하는 방법

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

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

데이터베이스 보안 거버넌스

  • 최고 정보보호 책임자: 정보보안과 관련된 최종 결정을 내리고, 보안 사고가 발생한 경우 최종 책임을 진다.
    • 기업의 정보보호 정책이나 보안 사고의 유형에 따라 최고 경영자가 최종 책임을 지기도 한다.
  • 정보보호위원회: 정보보호에 관한 주요 사안들을 의결하여 이를 정보보호 최고책임자나 최고 경영자에 통지한다.
  • 정보보호 관리조직: 보안 관련 정책을 만들고, 데이터베이스 보안에 대한 지침을 내리고 지침 이행을 지원한다.
  • 데이터 관리조직: 민감 데이터와 일반 데이터를 분류하고, 데이터의 무결성과 정확성을 유지한다.
  • 감사 조직: 독립된 권한을 가지고 보안정책의 이행여부를 검토하고 미흡사항에 대한 조치 필요사항을 통지한다.

데이터베이스 보안 통제

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