데이터베이스 보안

개념
데이터베이스 보안(Database Security) 정의 - 저장된 데이터에 대한 인증, 기밀성, 무결성, 가용성을 유지하기 위한 관리적, 물리적, 기술적 활동 - 허가 받지 않은 접근이 무단으로 데이터베이스를 사용하거나 변경/파괴/유출하는 행위로부터 보호하기 위한 행위로 기술적 보안관리 기법/시스템/프로세스

  1. 정보자산의 기밀성ㆍ무결성ㆍ가용성 확보 전략, Database보안 개요

가. 데이터베이스 보안(Database Security) 정의

- 저장된 데이터에 대한 인증, 기밀성, 무결성, 가용성을 유지하기 위한 관리적, 물리적, 기술적 활동

- 허가 받지 않은 접근이 무단으로 데이터베이스를 사용하거나 변경/파괴/유출하는 행위로부터 보호하기 위한 행위로 기술적 보안관리 기법/시스템/프로세스

 

나.  데이터베이스 보안의 필요성

구분

설명

기업 정보의 가치 중요성 증대

초경쟁 기업경영환경에서 신속한 의사결정, 민첩한 대응을 위한 기업이 보유한 정보에 대한 중요성 증대

정보시스템 보안 위협 증가

해킹, 웜/바이러스 증가 및 해킹 도구 등 악의적 의도의 기업 정보 노출범위 확대

데이터베이스 보안 미비

네트워크, 시스템 등에 대한 보안에 치중된 상대적 보안 사각지대

실수에 의한
정보 변경 방지

비의도적인 행위에 의해 발생하는 정보 침해

 

다. 데이터베이스 보안의 특성

특성

설명

인증(Authentication)

- 데이터베이스에 접근하는 사용자가 정당한 사용자임을 확인하여 인증절차를 통하지 않고 데이터베이스 접근 불가

가용성(Availability)

- 데이터베이스 시스템에 대한 부당한 서비스 거부를 감지하고 예방

무결성 (Integrity)

- 타인이 다른 사람의 정보를 임의 또는 불법적으로 변경하지 못하도록 하는 경우

기밀성(Confidentiality)

- 데이터베이스 정보의 부적절한 접근 방지, 제지 및 감시

 

라. 데이터베이스 보안의 필요성

구분

설명

기업 정보의 가치 중요성 증대

초경쟁 기업경영환경에서 신속한 의사결정, 민첩한 대응을 위한 기업이 보유한 정보에 대한 중요성 증대

정보시스템 보안 위협

증가

해킹, 웜/바이러스 증가 및 해킹 도구 등 악의적 의도의 기업 정보 노출범위 확대

데이터베이스

보안 미비

네트워크, 시스템 등에 대한 보안에 치중된 상대적

보안 사각지대

실수에 의한

정보 변경 방지

비의도적인 행위에 의해 발생하는 정보 침해

마. 접근제어 관련 데이터베이스에 대한 주요보안 위협

구분

설명

불법 접근

비인가자의 DB 접근, 인가자의 인가범위 이외의 데이터 접근

기술적

정보

노출 위협

Aggregation

(조합,

집단화)

- 낮은 보안등급의 정보조각을 조회하여 높은 등급의 정보 획득

- 개별 데이터 항목보다 종합정보의 보안등급이 높은 경우 심각한 문제

예) 각 지사의 영업실적-대외비 총 매출실적 산정

Inference

(추론)

- 보안등급이 없는 일반 사용자가 보안으로 분류되지 않은 정보에 정당하게 접근, 기밀정보를 유추하는 행위

라. 데이터베이스 보안의 요구특성

요구특성

설명

인증(Authentication)

- 데이터베이스에 접근하는 사용자가 정당한 사용자임을 확인

- 정당한 인증절차를 통하지 않고 데이터베이스 접근 불가

가용성

(Availability)

- 데이터베이스 시스템에 대한 부당한 서비스 거부를 감지하고 예방

- 정당한 사용자가 데이터에 접근하거나 사용하려고 할 때 사용하지 못하도록 하는 경우를 해결

무결성

(Integrity)

- 정보의 부적절한 변경을 예방하고 감지하는 특성

- 타인이 다른 사람의 정보를 임의 또는 불법적으로 변경하지 못하도록 하는 경우

기밀성(Confidentiality)

- 데이터베이스 정보의 부적절한 접근 방지, 제지 및 감시

- 일부 부서에만 공개되는 정보가 다른 부서에 노출되는 것을 방지

 

        II. 데이터베이스 보안 개념 및 구현 기능

가. 데이터베이스 보안 개념도

- 보안의 목적 : 권한이 없는 사용자를 제어하여 정보의 불법적인 접근, 고의적인 파괴 및 변경을 방지하고 우발적인 사고로부터 보호하기 위함

나. 데이터베이스 보안 기법

구분

주요내용

접근통제

(AccessControl)

-허가 받지 않는 사용자의 DB 자체에 대한 접근을 방지, 예) 계정&암호, RBAC

허가 규칙

(Authorization Rules)

-정당한 절차를 통한 DBMS 접근 사용자도, 허가 받지 않은 데이터의 접근을 방지

가상 테이블

(Views)

-가상 테이블을 이용하여 전체 DB 중 자신이 허가 받은 사용자 관점만 볼 수 있도록 한정

암호화

(Encryption)

-데이터를 암호화하여 형태를 변형, 가독성을 원천적으로 봉쇄하는 방식

다. 데이터베이스 보안 기법 비교

III. 데이터베이스 보안 프로세스 및 관리자 역할

가.       데이터베이스 보안 프로세스

프로세스

내용

적용

취약점 평가

권한 없는 DB 및 데이터 접근 또는 조작 가능성에 대한 주기적 평가 및 취약점 발굴

모의해킹, 보안진단, HW/SW 버그 분석

우선순위 선정

발굴된 취약점별로 위험도를 평가하여 교정 우선순위 결정

위험점수 평가법

취약점 교정

선정된 우선순위별로 취약점 대응활동 수행

패치, DB보안 기법, 컴플라이언스 적용

위협 모니터링

시스템 침입, SQL 공격을 탐지하고 사용자/SQL 내역을 기록

DAM, Native Audit, Forensic

- DAM(DB Activity Monitoring) : 실시간 DB활동 모니터링 

나.       데이터베이스 보안을 위한 관리자의 역할

구분

내용

계정관리

DB 접근 계정 생성 및 주기적 암호 갱신

권한관리

계정별 특정 권한 부여 및 취소

보안등급 관리

계정별, 데이터별 보안등급 지정

위험분석

취약점 발굴 및 교정 우선순위 결정

교정/모니터링

취약점 대응활동, 위협 모니터링 수행

 

IV.접근통제(Access Control)에 대한 이해

가.  접근통제의 정의

- 권한이 있는 사용들에게만 특정 데이터 또는 자원들이 제공되는 것을 보장하기 위한 방법

- 컴퓨터 내의 자원에 대해 사용, 변경, 조회를 가능하게 하거나 제한할 수 있는 수단

나.  접근제어를 위한 구성요소

구성요소

주요개념

사례

주체(Subject)

- 데이터베이스를 사용하는 사용자 또는 사용자 그룹

사용자, 응용프로그램, 원격컴퓨터

객체(Object)

- 보호 대상 데이터베이스 단위

- 보안 단위가 작아지면 세밀한 허용 및 접근제한이 가능하나 보안처리 오버헤드 발생

DB, Table, Row, Column, View, Trigger 등

조치(Action)

- 주체가 객체에 대해 할 수 있는 일

Read, Write, Delete

규칙(Access Rule)

- 주체, 객체, 조치에 대한 허가사항 및 제반 명세

Constraint 설정, Check statement

 

V.데이터베이스 접근제어 유형

가. 임의적 접근제어(DAC, Discretionary Access Control)

구분

기본 개념

정의

- 주체나 주체가 속한 그룹의 신원에 근거하여 객체에 대한 접근을 제한하는 방법으로 객체의 소유주가 접근 여부를 결정함

특징

- 모든 사용자가 정보에 대해 단일화 되어 있지 않으며 하나의 사용자 정보 단위로 이루어짐

- ID 기반으로 접근통제가 이루어지므로 ID 도용으로 인한 트로이목마 등에 취약

- 주체 지향 보안 구현 방식

사례

- 테이블 생성자가 조회권한을 다른 사람에게 부여

방법

1) Capability List : 행 중심 표현 형태

 - 한 주체에 대한 접근 가능한 객체와 허가 받은 접근 종류의 목록

 - 객체가 적은 경우에 적합

예) 사람 A에 대해 [프린터1:PRINT], [파일1:RW]

2) Access Control List(ACL) : 열 중심 표현 형태

 - 한 객체에 대해 접근 허가 받은 주체들과 각 주체마다 허가 받은 접근 종류의 목록

 - 주체가 적은 경우에 적합

 예) 파일 A에 대해 [사용자1:RW], [사용자2:RX]

종류

1) Name-Dependent(명칭 의존적) : 컬럼명 제한

2) Content-Dependent(내용 의존적) : 컬럼값의 범위

3) Context-Dependent(정황 의존적) : 통계 App용

4) History-Dependent(시간 의존적) : 시계열 접근 또는 행위 기준

방법

- 판독 가능한 객체에서 나온 정보는 주체가 기록할 수 있는 다른 객체로의 전달 가능(트로이목마)

나. 강제적 접근제어(MAC, Mandatory Access Control)

구분

기본 개념

정의

- 비밀성을 갖는 객체에 대하여 주체가 갖는 권한에 근거하여 객체에 대한 접근을 제어하는 방법

- 관리자만이 정보자원의 분류를 설정하고 변경함

특징

- 모든 객체는 정보의 비밀성에 근거하여 보안 레벨이 주어지면 허가된 사용자만이 접근할 수 있도록 엄격히 관리

- 객체의 소유자가 변경할 수 없는 한 주체와 한 객체간의 접근통제 관계를 정의

- 시스템 성능 문제와 구현의 어려움 때문에 주로 군사용으로 사용함

- 객체 지향 보안 : 객체관점에서 권한 정의

사례

- 시스템 카탈로그에 대한 수정 작업은 System Admin만 가능함

방법

- 주체는 인가등급이 자원(객체)의 분류등급과 같거나 더 높을 경우에만 읽기가 허용

다. 역할 기반 보안 모델(RABC, Role Based Access Control)

구분

기본 개념

정의

- 중앙 관리자가 주체와 객체의 상호관계를 통제하며 조직내에서 맡은 역할에 기초하여 자원에 대한 접근허용 여부를 결정함

특징

- 권한을 부여하는 단위가 주체 대신 주체가 수행하는 기능(역할)에 권한이 부여됨

- 사용자는 보호대상정보나 자원에 대한 접근권한을 얻기 위해서는 해당 접근권한이 배정된 역할의 구성원이 되어야 함

- 필요할 경우 특정 사용자에게 새로운 역할을 부여함으로써 슈퍼유저의 권한을 적절히 나누어 줄 수 있도록 하는 방식

- 필요할 일부 권한을 위임하여 역할로 만든 후, 그 역할을 주체에게 주면 주체는 일부 권한을 위임 받을 수 있음

- 권한 부여 및 관리 단위가 사용자(주체)가 아닌 역할(Role)

사례

- DBA Role 정의, 특정 사람에게 DBA Role을 부여하고 DBA Role에 필요한 권한 부여

장점

- 권한관리 : 사용자의 권한 지정을 논리적, 독립적으로 할당/회수 가능

- 계층적 역할 분배 : 역할에 계층을 두어 상속 가능

- 최소권한 정책 : 사용자에게 최소한의 권한만 부여

- 임무의 분리 가능

방법

 

VI. 해킹, 내부 정보 유출 방지를 위한 DB 암호화 솔루션, 도입 시 고려사항

가. 데이터베이스 암호화 솔루션 도입의 필요성

- 날로 지능화되는 해킹, 내부자에 의한 중요 정보 유출로 인한 기업과 개인의 막대한 피해 사례 빈번하게 발생

- 데이터베이스 접근제어 솔루션 중요 정보 보호 한계성

- 정보통신망 이용촉진 및 정보 보호 등에 관한 법률 등 관련 법규 충족

나. 데이터베이스 암호화 기술

 1) API방식

- 애플리케이션 레벨에서 암호모듈(API)를 적용하는 애플리케이션 수정 방식

- DB단의 추가 모듈 설치가 불필요하며, DBMS에 종속되지 않음

 

 2) Filter(Plug-In)방식

 - DB레벨의 확장성 프로시져 기능을 이용하여 DBMS에 Plug-In 모듈로 동작하는 방식

 - 암호화 관련된 보안정책 DB와 암/복호화 처리를 위한 서버엔진을 DBMS 내에 Plug-In 시킴

 

db2

 

-  DBMS사용자는 암호화 엔진을 통해 데이터를 조회,추가,수정 함

  3) 하이브리드방식

 - API방식과 Filter방식을 결합하거나, Filter방식에 추가적으로 SQL문에 대한 최적화를 대행해 주는 어플라이언스 제공

- DB서버 부하분산이 가능하고 암/복호화 시 가속기능을 지원

다. 데이터베이스 암호화 기술 비교

구분

API방식

Filter(Plug-In) 방식

하이브리드방식

암호화/보안방식

별도의 AP개발/통합

DB내 설치/연동

별도의 어플라이언스/DB내 설치

서버성능 부하

Application 서버에 암/복호화, 정책관리, 키관리 부하 발생

DB서버에 암/복호화, 정책관리, 키관리 부하 발생

DB와 어플라이언스에서 부하분산

시스템 통합 용이성

Application 개발 통합기간 필요

Application 변경 불필요

Application변경 불필요

암호화 대상 변경 발생시

Application 수정

간단한 지정으로 가능

간단한 지정으로 가능

관리

편의성

Application 변경 및 암호화 필드 변경에 따른 유지보수 필요

관리자용 GUI이용, 다수 DB통합관리 가능 편의성 높음

관리자용 GUI 이용, 다수 DB통합관리 가능 편의성 높음

라. 데이터베이스 암호화 솔루션 도입 시 고려사항

암호화된 컬럼의 색인 검색

- 암호화된 컬럼의 색인 검색의 지원

- 색인파일에 저장되는 데이터의 암호화 여부

- 암호화 후 색인을 재생성해야 하는 지 여부

서비스 무중단

- 암호화 시 정상적인 데이터베이스 서비스의 가

기능

데이터베이스 암호화 솔루션을 도입하더라도 DBMS의 기능을 사용하는데 제약이 있는지 여부(파티션 테이블, 트리거 등)

성능

데이터 암호화 솔루션 도입으로 인한 DBMS 성능저하, 컬럼 암복호화에 소요되는 시간 고려

BMT를 통해 도입

암호화, 암호화 컬럼에 대한 권한 관리/접근제어/감사, 로그인 접근제어, 지원성, 성능, 유저관리, 관리도구의 편리성, 로그 및 리포팅

 

VII. DB보안의 중요성 및 과제

가.     DB보안의 중요성

- 최근 개인정보 해킹 및 노출이 사회적 이슈로 부각되고 있으며, 피해규모도 적지 않아 대규모 소송으로 비화되기도 함

- 정보화, 네트워킹화의 진전에 따라 데이터의 부적절한 조작은 심각한 사회/경제적 피해로 연결될 수 있음

나.     DB보안의 과제

- 데이터 노출, 훼손으로 인한 사회적 피해를 고려하여 DB보안 예방조치들이 IT Compliance로 강제되어야 함 (예: 개인정보보호법의 DB 암호화)

- SaaS(Storage as a Service) 시장확대 지원으로 데이터 훼손, 장애에 대비한 원격지 데이터 복제를 활성화해야 함

- 악의적인 데이터 훼손을 추적하여 징벌할 수 있도록 정책적으로 DB Forensic 기술을 발전시켜야 함

- 관계형DB, 객체지향형DB, 메인메모리DB, 공간DB 등 각종 DB유형에 적합한 보안성 지원기술 필요    

다. 데이터베이스 보안구현시 고려사항

- 데이터베이스 가용성을 보증 위한 데이터의 백업/복구절차 수립/구현

- 승인받지 않은 접근을 방지하기 위한 다양한 단계의 접근 통제 수립

- 승인받은 자만이 데이터베이스에 접근 할 수 있는 통제 수립

- 다수의 사용자가 동시에 자료를 갱신하려고 할때의 우선순위 설정

- 불법침입으로 데이터베이스에 접근하려는 시도의 무력화.

 

[호모몰픽]

구분

내용

호모

몰픽

 

개념

- 암호화된 상태의 데이터에 대한 연산을 추가적인 복호화 과정없이 수행할수 있도록 하는 암호화 기법

- 평문공간과 암호문공간 사이에 정의된 연산을 보존(맵핑)하는 암화화 함수

장점

- 클라우드 컴퓨팅을 비롯한 여러 데이터 프라이버시 보호가 요구되는 응용 분야에 널리 사용가능한 기반 기술

단점

- 수십MB에서 많게는 수GB에 이르는 공개키가 요구되는 극단적인 효율성 문제점 내포

동작

- 비트 단위의 AND와 XOR 연산을 복호화 없이 암호문을 통해 수행

종류

Somewhat

Homomorphic

Encryption

- 몇번의 연산에서만 데이터 값이 보존되는 암호화 방식

- 몇번의 이후 연산에서는 에러값이 증폭되어 원래 데어터를 복호화 할수없음.

Full

Homomorphic

Encyption

- 부트스크랩핑(bootstrapping) 및 스쿼싱(squashing)을 통한 Somewhat 암호화의 Fully 암호화 연산이 가능함

 

 

댓글