DB보안

DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!

DB 보안 목적 및 필요성

DB 보안 이해
DB 보안 개요
DB 보안 목적 및 필요성
작성자
admin
작성일
2021-02-15 15:36
조회
4153

2. DB 보안 목적 및 필요성

가. DB 보안 목적

보안에 대한 고려에서 간과해서는 안될 것은 보안에 100%는 없다는 것이다. 다시 말해서 보안의 목적은“모든 종류의 위협으로부터 완벽하게 방어하고자 하는 것이 아니라 위협 요 소를 식별하고 분석하여 이를 적절하게 통제함으로써 불확실한 이벤트의 발생 위험을 감 소시키고 수습 가능한 수준(Acceptable Level)으로 최소화하는 것”이다.

보안이라는 목적을 달성하기 위해 관리해야 할 범위가 매우 넓은데 이를 100% 충족할 수 있 는 기술적 대안이란 존재하지 않는다. 따라서, 기술적 대안 외에도 관리적인 부분을 보완하 여 보안 계층을 구성함으로써 보안 사고의 피해 가능성이나 범위를 최소화할 수 있게 된다.

방화벽을 구축했다고 해서 PC나 업무용 단말기가 안전하게 보호되는 것은 아닌 것과 마찬 가지로 다양한 수단과 관리적·제도적 방안이 어우러져서 보안 목적을 달성하는데 기여하 게 된다. 그러나 시간이 흐르면서 계속해서 새로운 해킹 방법이 생겨나고 새로운 형태의 보안사고가 발생하기 때문에 보안은 지속적인 관리가 필요하다. 또한 정책에 대한 변화를 인지하여 새로운 보안정책을 끊임없이 구현하는 노력을 기울여야만 한다.

보안에 있어서 기술적인 부분과 관리·제도적인 부분이 모두 중요하긴 하지만 먼저 관 리·제도적인 부분에 역점을 두어 우선적으로 견고하게 하고 여기서 부족한 부분이나 효 율화할 수 있는 부분을 기술적인 부분으로 채울 때 보안 효과를 극대화할 수 있다.
일반적으로 정보보안의 목적을 기밀성, 무결성, 가용성 등을 유지하는 것이라 정의하는데 DB 보안은 특히 이들 3요소(CIA)를 가장 잘 유지해야 하는 분야이다. 다시 말해서 DB 보 안의 목적은 DB에 저장된 데이터를 공개·노출, 변조·파괴·훼손, 지체·재난 등의 위 협으로부터 보호하여 기밀성, 무결성, 가용성 등을 확보하는 것이라고 할 수 있다.

데이터가 생성되어 처리·유통을 거쳐 소멸 또는 폐기되기까지 생명주기 전반에 결쳐 기 밀성, 무결성, 가용성 등이 확보되어야 한다. 특히, DB의 안전한 보호를 위해 DB에 대한 접근제어(Access Control)와 인증(Authentication)이 가미되어 DB 보안 정책으로 활용 되는 것이 일반적이다.
DB 보안은 기밀성, 무결성, 가용성의 위협에 대비해서 DB를 보호하기 위해 광범위한 보 안 통제를 사용한다. DB 보안을 통해 보호하고자 하는 구체적인 대상은 직접적으로는 데 이터이지만 넓게는 DB 애플리케이션 또는 Stored Functions, DB 시스템, DB 서버 및 관련 네크워크 링크 등이 포함된다. 이들을 보호하기 하기 위한 통제로 기술적, 절차적· 관리적 및 물리적 보안 통제와 같은 다양한 유형의 통제가 사용된다. DB 보안은 컴퓨터 보 안, 정보보안, 위험관리(Risk Management) 등의 광범위한 영역에서 볼 때 매우 전문적 인 분야라고 할 수 있다.
DB 보안에서 추구하는 3대 요소를 좀 더 자세히 설명하면 다음과 같다.

■ 기밀성(Confidentiality)

모든 데이터를 아무도 접근하지 못 하도록 감춰두면 안전할 수 있겠지만 그것은 DB를 구성하는 본래의 취지에 어긋나게 되므로 데이터를 필요로 하는 누군가에게는 접근을 허용할 수 밖에 없다. 이때 모든 데이터에 자유롭게 접근하도록 허용할 수도 있겠지만 모든 사람들에게 이와 같은 자유로운 접근을 허용할 수는 없기 때문에 필연적으로 선별 적인 접근이 중요해진다. 즉, 선별적인 접근 체계를 만들어 비인가된 개인이나 시스템 에 의한 접근과 이에 따른 정보 공개·노출을 막는 것이 기밀성 유지이다.
선별적인 접근 체계를 만드는 방법은 먼저 접근 가능한 데이터를 선별하는 것이고, 두 번째로는 데이터에 접근할 수 있는 자격을 분류하는 것이다. 첫 번째 방법은 데이터 분 류라고 하며 두 번째 방법은 접근권한 분류라고 한다. 적절한 접근권한을 분류하여 기 밀성을 보장하기 위해서는 데이터 분류부터 선행되어야 한다.

다음 그림은 데이터 분류의 사례이며 각 계층마다 적절한 보안 수단이 강구되어야 한 다. 데이터 분류는 조직에 따라 모두 다를 수 있으나 일반적으로 데이터를 보호하는데 필요한 기밀성의 정도에 따라 분류한다.

111221_dqc02.jpg

기밀성을 유지하기 위해서는 이와 같은 접근 제어 외에도 중요한 내용을 암호화함으로 써 제3자가 획득하여도 내용을 알 수 없도록 하는 조치도 필요하다.
기밀성 침해는 아주 다양한 형태로 이루어지는데 정당한 권한을 지닌 사용자에 의한 기 밀 데이터 조회 시에도 기밀 데이터가 화면 상에 보여지는 동안 누군가 그 사용자의 어 깨 너머로 들여볼 수 있도록(Shoulder Sniffing) 하면 기밀성이 침해될 수 있다. 기밀 성은 DB 내에 중요한 개인 정보를 저장하고 있는 사람들의 프라이버시를 유지하는데 필요한 최소한의 필수 조건이며 접근제어와 암호화는 기밀성 유지를 위한 대표적인 방 안이다.

■ 무결성(Integrity)

무결성은 정당한 방법에 의하지 않고는 데이터가 변경될 수 없음을 의미하며, 데이터의 정확성 및 완전성을 보장하고 그 내용이 고의 혹은 악의로 변경되거나 훼손 또는 파괴 되지 않음을 보장하는 것이다. 데이터 무결성이 곧 DB에서의 참조무결성(Referential Integrity)을 의미하는 것은 아니다.
DB에서의 무결성은 접근제어와 의미적 무결성 제약(Semantic Integrity Constraints) 을 함께 적용함으로써 보장될 수 있다. 어떤 주체가 데이터를 변경하려고 할 때마다 접근 제어 메커니즘은 사용자가 데이터를 변경할 권한이 있는지를 검증하고, 의미적 무결성 서브시스템은 갱신된 데이터가 의미적으로 정확한지를 검증한다. 데이터에 대한 훼손을 검출해 내기 위해 디지털 서명이 사용될 수도 있다.
또한, 하드웨어나 소프트웨어에서 고장이 발생하면 DB는 더 이상 일관성(Consistency) 을 보장하기 어렵기 때문에 복구 서브시스템(Recovery Subsystem)과 동시성 제어 메 커니즘(Concurrency Control Mechanism)은 하드웨어나 소프트웨어의 이상 및 동시 수행 프로그램에 의한 접근 상황에서도 데이터 접근을 가능하게 하고 정확성을 유지하도 록 하여 데이터 무결성을 보장한다. 동시성 제어기(Concurrency Controller)는 DBMS 의 서브시스템으로서 동시 트랜잭션이 수행되는 동안에 DB 안에 있는 데이터의 논리적 일치성을 보장하는데, 이를 연산적 무결성(Operational Integrity)이라 한다. 데이터 변경 시 허용된 범위의 데이터값으로 수정되도록 보장하여 수정될 데이터의 논 리적 일치성을 유지하는 것은 의미적 무결성(Semantic Integrity)이라 하며, 이 때의 데이터 값에 대한 제약은 무결성 제약(Integrity Contraints)으로 표현된다.

다음 표는 데이터 무결성 저하 유형을 요약한 것이다.

111221_dqc03.jpg

■ 가용성(Availability)

가용성이란 사용자가 업무 서비스를 필요로 할 때 그 서비스의 연속성을 보장할 수 있 는 것을 의미한다. 이것은 컴퓨팅 시스템이 정확하게 정보를 저장·처리하고, 보안 통 제가 그것을 보호하며 해당 정보에 접근하는데 사용되는 통신 채널이 정확하게 기능되 어야 함을 의미한다. 고가용성 시스템은 정전, 하드웨어 고장, 시스템 업그레이드 등으 로 인한 서비스 장애를 예방하면서 항상 가용한 상태를 유지하는 것을 목표로 한다. 가 용성 보장은 서비스 거부 DoS(Denial of Service) 공격을 예방하는 것까지 포함하기 도 한다.
DB에서의 가용성이라 함은 정당한 권한을 가진 사용자나 애플리케이션에 대해 원하는 데이터에 대한 원활한 접근을 제공하는 서비스를 지속할 수 있도록 보장하는 것을 의미 한다. 다양한 공격과 오류 등에 의해 DB의 가용성에 대한 침해가 발생하면 서비스가 제공되지 못하거나 지체가 발생하여 사용자가 DB를 사용할 수 없게 된다.


나. DB 보안 필요성

컴퓨터에서 처리되고 저장되는 정보는 신속한 업무 처리와 함께 적절한 의사결정을 위해 필요한 이해관계자들에게 시의적절하게 정확한 정보를 제공할 수 있어야 한다. 그러나 이 와 같은 정보를 권한이 없는 사용자가 부정한 방법으로 가로채거나 부적절하게 기록하게 되면 해당 정보를 필요로 하는 사람이나 개인에게 커다란 피해를 입힐 수 있다. 그렇기 때 문에 권한이 없는 사용자의 부적절한 접근을 막고 동시에 정당한 권한을 갖고 있는 사용자 는 정보시스템이 서비스 요구를 거부하지 않도록 보호할 필요가 있다.

민감한 정보의 외부 유출 사례를 분석해 보면 내부자에 의한 소행이 70~80% 이상을 차지 한다는 분석 결과가 있다. 따라서 다양한 경로로 유출될 수 있는 민감한 정보에 대해서는 암호화도 고려되어야 한다. 대용량의 데이터를 보관하는 DB 관리 시스템일수록 민감한 정보의 비율도 커질 수 있기 때문에 데이터의 무결성, 기밀성, 가용성 등의 보장이 필수적 이다.

정부기관이나 군, 기업, 병원 등에서 보유하고 있는 정보를 비롯하여 개인의 사적 정보에 이르기까지 그 정보들 속에는 그들의 직원, 고객, 상품, 연구, 재무 상태 등을 포함한 많은 기밀 정보들이 축적되어 있다. 이 정보들의 대부분은 수집, 가공, 처리 과정을 거쳐 DB에 저장되며 네트워크를 통해 다른 컴퓨터로 전송되기도 한다. 이러한 정보의 일부 또는 전부 가 보안 침해 등으로 경쟁자에게 넘어가거나 못 쓰게 되면 사업기회를 상실하거나 법적 물 의를 유발할 수 있으며 기업에 치명적인 손실을 입힐 수도 있다. 이 때문에 기밀 정보를 보 호하는 것은 업무적 요구사항일 뿐만 아니라 법적·윤리적으로도 반드시 필요한 사항이다.

DB 보안이 필요한 이유는 다음과 같이 요약할 수 있다.

■ 데이터의 자산 가치 증가

데이터가 단순히 업무 상 필요에 의해 일시 저장하고 있는 것이 아닌 기업의 자산이라 는 인식이 확산되고 있고, 업무 활동을 통해 수집한 데이터는 기업의 지적 재산으로서 기업의 생존과 직결될 수 있다는 인식이 점차 뚜렷해지고 있다. 이와 같이 기업의 중요 자산인 데이터는 네트워크를 통해 접근하게 되며, 인터넷의 발 달로 시간과 장소에 구애 받지 않고 업무를 수행할 수 있게 되면서 그 편리성만큼 해킹 의 위험성도 함께 증가하고 있다. 이에 대비하여 다양한 보호 대책이 강구되고 보안 솔 루션이 적용되고 있으나 일반적으로 정보 보호의 궁극적 대상인 데이터에 대한 방어는 여전히 취약한 상태이다.

■ 내부자에 의한 정보 유출 및 보안 사고 급증

정보시스템 구축 시 자체 인력만으로 부족하여 외주 개발을 채택함으로써 외부의 개발 자가 기업 내부에 들어와서 개발을 수행하는 On-Site 개발 형태가 증가하고 있다. 이 에 따라 외부인에 의한 내부 정보에 대한 접근 기회가 증가하여 그만큼 유출의 위험성 도 함께 증가하고 있다.
또한 평생직장 개념의 붕괴로 피고용자의 도덕적 해이가 늘어나 내부 직원이 고의적으 로 중요 정보를 유출하거나 퇴사·이직 시 내부 정보를 유출하는 사례 등도 증가하고 있다. 전체 보안 사고 중 내부자에 의한 정보 유출 비율이 70~80% 이상에 이르는 등 심각한 상황에 이르고 있다. 최근의 보안 사고들도 대부분 내부 직원의 고의적 유출이 나 부주의에 의한 외부인 접근 기회 제공 등 '사람에 의한 사고'로 나타나고 있다.

■ 개인정보 유출에 대한 불안감 고조 및 신뢰성 저하

최근의 잦은 개인정보 유출 사건으로 대다수 국민의 개인 정보가 외부로 유출되어 악의 적으로 이용되고 있거나 이용될 위기에 처함에 따라 기업이나 공공기관이 운영하는 사 이트에 개인정보를 제공하는 문제에 대해 매우 꺼려하는 분위가가 확산되고 있다. 이에 따라 개인정보와 같은 중요 정보를 보유하고 있는 기업이나 공공기관의 데이터 보호 상 황에 대해 불신이 팽배하고 있다. 또한 신뢰가 저하되어 이용을 기피하거나 회원에서 탈퇴하는 사례가 속출하고 있다. 탈퇴 이후에도 개인정보가 확실하게 폐기되는지 여부 에 대한 불신까지 생기고 있다.

■피해 규모 확산 속도 가속 및 막대한 사회적 비용 발생

IT와 정보화의 급속한 성장은 반대급부적으로 보안 사고의 빈도나 피해 규모의 확대를 불러왔다. 최근에는 보안사고로 유출된 개인정보의 악용 속도도 매우 빨라져서 미처 대 비할 시간조차 갖지 못하고 2차, 3차 피해를 당하게 되는 경우가 빈발하고 있다. 이에 따라 보안 사고 발생 시 과거 보다 더 많은 개인이나 기업이 피해나 고통을 겪고 있으며 이로 인한 직접적인 피해 및 소송, 보상, 복구 및 보완 투자 등에 막대한 비용이 발생하 고 있다.

■ DB 정보 보호에 대한 국내외 법률 제정

DB에 저장된 정보를 안전하게 보호하기 위한 법적·제도적 규제는 끊임없이 시행되어 져 왔다. 대표적인 예로 정보보호법 28조(정보통신부고시 제2005-18호) (개인정보 유 출, 변조에 대한 기술적 관리적 조치)가 있다. 최근에는 2011년 9월 30일자로 시행에 들어간 개인정보보호법이 있다.
해외의 경우에도 Sarbanes-Oxley 법안(미국, 2002년)을 위시하여 연방정보보안관 리법(FISMA, Federal Information Security Management Act, 미국, 2002년), 호주의 개인정보보호법(Privacy Act, 1988년), 네덜란드의 개인정보보호법(The Personal data Protection Act od 2000, 2001년) 등 많은 국가들이 이미 오래 전부 터 데이터의 투명한 관리와 보호를 의무화하여 시행하고 있다. 이와 같이 DB에 저장된 중요 데이터에 대한 보호와 규제는 이제 그 데이터를 보유하고 있는 조직에게 더 이상 권장사항이 아닌 필수 의무로 받아들여지는 것이 세계적인 추세라 할 수 있다.

■ 현행 IT 보안 체계의 취약성 존재

네트워크나 시스템적인 측면에서는 방화벽, Anti-Virus, 침입탐지 시스템(IDS, Intrusion Detection System)을 포함하여 최근에는 능동적 침입 차단 시스템인 IPS (Intrusion Protection System)까지 구축되면서 이미 많은 정보보호 솔루션이 기업 들의 전산환경에 자리잡고 있다.
이러한 네트워크나 시스템 레벨의 정보보호 시스템들이 자기 역할을 충실히 함에도 불 구하고 DB 보호에 대한 허점은 그대로 남아있다. 예를 들어, 이미 운영 중이거나 개발 중인 어떤 시스템이든 DB 계정과 Password 만 있으면 누구나 DB에 접속해서 기밀 데 이터를 조회·변경할 수 있다. 더 나아가 테이블이나 인덱스 등 DB 오브젝트들을 마음 대로 변경하여 한 순간에 DB 장애로 연결되는 상황에까지 이르게 될 수 있다. 이 때문 에 기술적인 보안체계의 강화와 더불어 관리적인 보안체계 정비 또한안 취약성

조직에서 가장 널리 사용되고 있는 DBMS는 관계형 데이터베이스관리시스템(RDBMS, Relational Database Management System)으로 여러 제품이 사용되고 있다. 그러 나 상용 DBMS는 데이터 무결성 보호가 일부 제약조건(Constraints)과 트리거(Trigger) 에 의해 이루어질 수 있기 때문에 현실세계에서 요구하는 다양한 조건에서의 세밀한 무 결성 확보를 위한 기능을 구현하는데에는 어려움이 있다. 또한, 사용자 관리에 있어서 도 복잡하고 세밀한 관리를 구현할 수 있도록 되어 있지 않기 때문에 기능적으로 취약 할 수 밖에 없다.

대부분의 상용 DBMS가 접근제어와 암호화를 구현할 수 있도록 자체적으로 기능을 제 공하고 있지만 접근제어 및 암호화 등을 위한 보안 설정에 전문적인 지식이 필요하고 설정된 내용을 관리하는 데에도 많은 어려움이 있다.

■ 애플리케이션 구축 및 운영 시의 보안 허점

대다수의 정보시스템 구축 프로젝트는 짧은 구축 기간과 보안 지식의 부족, 그리고 구 성원들의 낮은 보안 의식 등으로 인해 애플리케이션 및 DB 설계 시 다양한 보안 문제가 감안되지 않고 있거나 감안하기 어려운 실정에 있다. 물론 공공 프로젝트의 경우에는 최소한의 보안조치가 요구사항으로 고정되어 있기 때문에 민간 프로젝트에 비해 어느 정도 보안성을 갖추게 되지만 이 역시 DB 부분에 대해서는 많은 허점을 갖고 있다. 더구나 구축의 편의성을 위해 DB의 보안 문제는 세밀하게 다루지 않는 경향이 있어 구 축 과정에서 DB 보안이 체계적으로 반영되지 않기 쉽다. 또한, 운영 과정에서도 담당 자들의 DB에 대한 전문 지식이 부족한 경우가 많아 DB 보안에 대한 허점이 쉽게 개선 되기 어려운 실정이다.

111221_dqc04.jpg


다. DB 보안 위협 요소

1) 위협(Threats)

위협(Threat)이란 무의식적이든 전문 기법을 이용하든 시스템이 관리하는 정보를 유출하 거나 수정하여 단위 조직 또는 전사 차원의 업무 목적 달성이나 미션 수행에 대해 예기치 못한 영향을 미치는 적대적 행위라고 정의할 수 있다.
DB 보안을 위해서는 저장된 데이터를 권한이 없는 사용자가 우발적 또는 의도적으로 접근 하여 읽고 갱신할 수 없도록 방지하고, 이와 동시에 정당한 권리를 갖는 사용자가 부당하 게 서비스를 거부 당하지 않도록 하는 DB 보호 정책이 필요하다. 이를 위해서는 우선적으 로 DB에서 발생할 수 있는 여러 형태의 보안 위협요소를 식별할 필요가 있다. DB에서 발생할 수 있는 일반적인 보안 위협요소는 다음과 같이 요약할 수 있다.

① 데이터 노출(Disclosure)

기밀성의 반대 개념으로, 어떤 상황에서 관련 정보의 일부 또는 전체가 데이터 소유자나 관리자의 의사에 반하여 고의적으로 공유되거나 공개되는 것이다. 노출된 데이터 중에는 그 자체가 법규에 저촉되어 처벌의 대상이 되는 경우도 있지만 법규에 저촉되지 않더라도 그 결과가 심각한 파급 효과를 갖게 되는 경우가 있을 수 있다.
모든 데이터의 노출을 방어하는 것은 매우 어렵기 때문에 일반적으로는 등급을 설정하여 그 등급에 따라 보호 노력의 정도를 달리하는 분류 정책이 적용된다.

② 데이터의 부적절한 변경(Modification)

데이터가 정당한 권한을 가진 사용자나 애플리케이션, 또는 프로세스에 의해 적법한 절차 에 따라 의도한 바와 같이 변경되지 않고 우발적으로 또는 부당한 방법이나 절차에 의해 고의적 혹은 악의적으로 바뀌게 되는 경우를 의미한다. 이와 같은 상황은 인가된 사용자나 비인가된 사용자 모두에 의해서 발생할 수 있다.

③ 서비스 거부(DoS, Denial of Service)

서비스 거부 공격은 정보 시스템의 데이터나 자원을 정당한 사용자가 적절한 대기 시간 내 에 사용하는 것을 방해하는 행위로 정의된다. 서비스 거부는 해커들이 특정 컴퓨터에 침투 하여 자료를 삭제하거나 훔쳐가는 것이 아니라 주로 시스템에 대량의 접속을 유발하여 과 도한 부하를 일으킴으로써 해당 컴퓨터를 마비시키고 정보 시스템의 사용을 방해하는 공 격 방식이다. 이는 목표 서버가 다른 정당한 신호를 받지 못하게 방해하는 작용만 한다. 이것은 한 전화번호에 집중적으로 전화가 걸려오면 일시 불통되는 현상과 같은 것으로, 사 용자의 정상적인 접속이 불가능해 지는 것은 물론이고 심하면 주컴퓨터 기능에 치명타를 입힐 수도 있다.

DB에 대해서는 세션 자원을 소진시켜 DB에 대한 더 이상의 접속을 못하게 하거나, 옵티 마이저의 오동작을 유발시키고 작동 불능 상태를 유발함으로써 DB를 셧다운시키거나 무 한정의 대기 상태를 유발하여 DB 서비스를 방해하는 행위들이 해당될 수 있다. 서비스 거부는 외부로부터의 네트워크를 통한 공격이나 악성코드에 의해 발생할 수 있으 며, 때로는 절차 무시, 보안 의지 결여, 낮은 보안 의식, 담당자의 부주의 등으로 인한 내 외부로부터의 부적절한 접근에 의해서도 발생할 수 있다.

DB에서는 구문 상으로 전혀 문제가 없는 정상적인 형태의 SQL이라 하더라도 옵티마이저 가 오동작하게 되는 버전 상의 허점 등을 이용한 서비스 거부도 있을 수 있다. 서비스 거부 가 발생하면 비정상적인 네트워크 성능 저하, 특정 웹사이트의 접근 불가, 모든 웹사이트 에 대한 접근 불가, 특정 전자 우편의 급속한 증가, DB 접속 불가, DB의 심각한 성능 저 하 등과 같은 증상이 나타날 수 있다.
단순히 정보시스템 사용을 방해하는 수준을 넘어 중요 정보 유출까지도 발생할 수 있기 때 문에 DB 차원을 넘어 정보시스템 전체에 대한 심각한 위협이 될 수 있다.

2) 위험(Risks, Security Risks)

'위험(Risks)'이라는 용어는 여러 분야에서 매우 범용적이고 포괄적으로 사용되며, 보안 분야에서는 '보안 위험(Security Risks)' 이라고 특화하여 부르기도 한다. 위험과 보안 위 험은 사실상 같은 의미로 사용된다 할 수 있고 특별히 구분하는 것은 의미가 없다.
앞에서 위험(Risk)을 '인가를 받지 않은 접근, 변경, 훼손 또는 파괴 등의 행위가 발생할 가능성이나 그 징후'라 할 수 있다고 정의하였는데, 일반적으로 '위험'이라고 할 때는 그 가 능성이나 잠재성으로 인한 불안 요소에 초점이 맞추어진다.
어떠한 사건·사고가 언제, 어떻게 발생할 것인지 불확실하며 우발적으로나 고의적으로 발생하여 그로 인해 얻게 되는 손실(물질적, 업무적, 경제적 손실과 도덕적, 사회적 손실 등)이 예측을 상회할 수 있기 때문에 보안에서 매우 중요하게 다루어진다.
이와 같은 위험은 예상되는 위협들을 정의하고, 보호해야 할 자산의 가치 및 그 자산에 대 해 발생할 가능성과 발생 시의 영향도나 손실 정도를 함께 고려하여 위험의 정도를 평가한 다. 평가 결과에 따라 보호 대책을 수립하는 위험 관리 프로세스를 도입·운영함으로써 위 험의 발생 가능성이나 발생 시의 손실 정도를 최소화할 수 있다.

DB 시스템에 대한 보안 위험(Security Risks)의 사례는 다음과 같다.

■인가된 DB 사용자, DB 관리자(DBA), 또는 네트워크/시스템관리자를 비롯하여 비인가 된 사용자나 해커 등에 의해 우발적 또는 고의적으로 발생하는 비인가된 활동이나 오용 (예 : DB 내에 있는 민감한 데이터, 메타데이터(metadata)나 함수(functions)에 대한 부적절한 접근, 또는 DB 프로그램, DB운영이나 보안에 관련된 환경 설정 등에 대한 부 적절한 변경 등)

■비인가된 접근, 개인정보나 소유권이 있는 정보의 유출 또는 노출, 데이터나 프로그램의 삭제 또는 손상, DB에 대한 인가된 접근의 차단이나 거부, 다른 시스템에 대한 공격, DB 서비스의 예기치 못한 실패 등과 같은 사고를 유발하는 악성코드(Malware) 감염

111221_dqc05.jpg

■고의적으로 인가된 사용자가 DB를 사용할 수 없도록 만드는 과부하, 성능 제약, 용량 문제 등

■컴퓨터룸 화재나 수해, 과열, 낙뢰, 갑작스런 액체 살포(Accidental Liquid Spills), 정전기 방전(Static Discharge), 전기적 고장·장비 고장 및 노후화 등에 의해 유발되 는 DB서버에 대한 물리적인 손상

■DB와 관련 프로그램 및 시스템에서의 설계 결함 및 프로그램 버그, 비인가된 권한 상승 (Unauthorized Privilege Escalation)과 같은 다양한 보안 취약점 유발, 데이터 손 실·변조, 성능 저하 등

■유효하지 않은 데이터나 명령 입력에 의해 유발되는 데이터 변조나 손실, DB나 시스템 관리 절차 상에서의 실수, 사보타주(Sabotage)나 범죄에 의한 손상 등

3) 취약점(Vulnerability)

① 취약점의 정의
취약점은 운영체계나 시스템, 응용소프트웨어, DB 시스템 등이 지니고 있는 원래 형태 내 에서의 보안상의 문제점이나 허점(Security Hole)을 의미하며, 시스템(OS 자체 또는 해 당 서비스 등), 네트워크 구성 및 설정, 애플리케이션이나 DBMS의 소스코드, DB 시스템 의 구성 및 설정 등에서 발생하는 잠재적인 보안 위험에 해당된다.
ISO 27005에서는 취약점을 "하나 이상의 위협에 의해 악용될 수 있는 자산이나 자산 그룹 의 약점"이라고 정의한다. 여기서, 자산은 "조직의 미션을 지원하는 정보 자산을 포함하여 조직과 조직의 지속적인 업무 운영 등에 대해 가치를 지닐 수 있는 어떤 것"이다. 일반적으로 취약점은 다음에 열거한 3가지 요소들의 결합으로 나타난다.

■시스템의 민감성1) 또는 결함
■결함을 파고드는 공격자 접근
■결함을 이용하는 공격자의 능력

취약성이라는 말은 취약한 성질이나 특성, 또는 그 정도 등으로 정의할 수 있는데,일반적 으로 취약점과 같은 의미로 혼용된다. 보안 위험은 취약점에 따라 분류될 수 있으며, 취약 점을 위험과 동일한 의미로 취급하는 것은 적절치 않다. 위험은 현저한 손실의 가능성을 뜻하며, 영향 받는 자산이 아무런 가치가 없을 때와 같이 위험이 배제된 취약점도 존재할 수 있다. 공격이 이루어진 사례가 있고 현재에도 유효한 취약점은 '악용 가능한 취약점 (Exploitable Vulnerability)'으로 분류된다.
배포된 소프트웨어 내에 보안 허점(Security Hole)이 공개되거나 명시되었을 때로부터, 접근 가능한 경로가 제거되고, 보안 개선본(Security Fix)이 배포되어 적용되거나 공격자 가 무력화될 때까지의 시간을 '취약점 윈도우(Window of Vulnerability)'라고 한다.

② 취약점 관리
어떤 시스템이나 DB가 취약하다는 것은 그 시스템이나 DB에 취약점이 존재하고 있고 공 격자가 최소한 하나 정도의 공격 도구나 시스템 약점에 접속할 수 있는 기법을 갖고 있음 을 의미한다. 이러한 상황에서 취약점은 공격자가 접근하는 경로가 되기 때문에 공격면 (Attack Surface)이라고 부르기도 한다.
보안 취약점 진단 및 분석은 이러한 취약점을 찾아내어 제거하는 일련의 활동들로 정의되 는데, 취약점들을 식별하고(Identifying), 분류하여(Classifying), 개선하고 (Remediating), 완화시키는(Mitigating) 순환적 절차로 이루어지는 일련의 활동을 취 약점 관리라 한다.
발견된 취약점을 제거하여 보안성을 개선시키기 위한 보안 통제 방법으로는 다음과 같은 다양한 방법 내지 기법들이 사용될 수 있다.

■접근제어(Access Control)
■감사(Auditing)
■인증(Authentication)
■암호화(Encryption)
■무결성 제어(Integrity Controls)
■백업(Backups)
■애플리케이션 보안(Application Security)

전통적으로 DB는 주로 방화벽 및 네트워크 기반 침입탐지시스템과 같은 네트워크 보안 수 단을 통해 해커에 대비하여 왔다. 네트워크 보안 통제가 여전히 유효하긴 하지만, DB 시 스템 자체와 그 안에 있는 프로그램이나 함수, 그리고 데이터를 안전하게 보호하는 것은 네트워크가 광범위한 접근, 특히 인터넷으로부터의 접근에 대해 점점 더 개방적이 됨에 따 라 더욱 더 중요해졌다. 또한 사용자 식별(User Identification)과 권한 부여 및 관리, 접 근제어는 인가된 사용자와 관리자의 활동을 제한하는 것뿐만 아니라 그 기록(로깅)도 중요 한 사항이 되었다.

다시 말해서, DB 보안은 위에 열거한 어느 한 두 가지의 통제 수단이 아닌 다양한 통제 수 단들이 복합적으로 적용되어 상호 보완적인 접근방법을 구성할 수 있을 때 더욱 뛰어난 효 과가 나타날 수 있다.
많은 조직이나 기업들은 그들의 DB 시스템에 대해 상세하고 다양한 보안 통제 수단을 설계 하여 기초적인 보안 표준으로 적용하고 있다. 여기에는 다음과 같은 사항들이 반영되며 취 약점 분석은 이러한 표준사항들이 잘 지켜지고 있는지를 평가하는 것이라 할 수 있다.

■해당 시스템을 적절하게 강화할 수 있는 일반적으로 적합하다고 평가된 DB 보안 사례
■관련 DB 시스템과 소프트웨어 벤더사들이 제공하는 보안권고들
■일반적인 정보 보안 요구와 회사의 정보 보안 정책 및 해당 법규에 따른 의무 사항
(예: 개인정보보호법에 따른 의무 조치 사항)

③ 취약점 평가(Vulnerability Assessments)와 보안 컴플라이언스
컴플라이언스(Compliance)는 기업이 경영·업무활동을 수행하는데 있어서 법령이나 각 종 규칙 또는 사회적 규범 등을 준수하는 행위를 일컫는 용어이다. 그리고 보안 컴플라이 언스는 정보보호를 위한 각종 법령이나 제도적 규제, 알려진 권고사항 등에 철저히 대응할 수 있도록 보안 통제를 구축하는 것이라 할 수 있다.
이와 같은 보안 컴플라이언스는 DB 보안의 견고성에 영향을 주게 되는데 DB 보안이 얼마 나 견고한지를 평가하는 기법 중에는 DB에 대한 취약점 평가나 침투 테스트를 실시하는 것이 포함된다. 테스터는 보안통제를 무력화시키거나 우회하여 DB에 침투해서 시스템 등 을 위태롭게 하는데 사용될 수 있는 보안 취약점들을 찾아내는 다양한 시도를 한다.
예를 들어, DB관리자와 정보보안관리자는 DB 소프트웨어 내에 알려진 취약점과 함께 DB 보안을 구성하는 여러 계층 내에서의 잘못된 구성을 찾아내기 위해 자동화된 취약점 스캔 도구를 사용할 수 있다. 이러한 스캔의 결과는 보안 통제를 개선해서 DB를 견고하게 하는 데 일조할 수 있고 찾아낸 특정 취약점을 차단할 수 있다. 그러나, 이와 같은 모든 시도가 이미 알려진 취약점들을 대상으로 하는 것이기 때문에 아직도 인지되지 않고 알려지지 않 은 채로 남아 있는 또 다른 취약점들에 대해서는 보안의 사각지대로 남아 있을 수 있다. DB 보안 표준을 준수하고 이에 대해 지속적인 모니터링을 수행하는 것은 중요한 활동이 다. 핵심적인 데이터를 저장하고 서비스하는 DB 환경일수록 더욱 중요하다. DB 보안을 지키는데 있어서 매우 중요한 두 가지 요소를 꼽는다면 패치 관리와 DB 내 오브젝트들에 대해 허용해준(특히 PUBLIC 롤에게 허용해준) 권한의 리뷰·관리가 포함될 수 있다. 라. 일반적인 DB 침해 발생 경로

앞에서 위험과 취약점에 대한 설명에서 언급하였듯이 DB에 대한 침해는 다양한 경로를 통 해 발생할 수 있으며 발생 가능한 침해 경로들을 요약하면 다음과 같다.

■ 자연적 또는 인위적 DB 침해 발생
?자연적 발생 : 천재지변, 시스템장애 등
?인위적 발생 : 데이터파괴, 보안침해, 사용자 실수 등
■ 관리소홀로 인한 DB 침해 발생
?디폴트 DB 사용자 계정 유지
?추측하기 쉬운 비밀번호 사용
?사내 기밀에 해당하는 문서 파일을 개방된 곳(사무실 등)에 방치
?사내 공용 파일서버에 중요(기밀) 문서 보관 등
■ 고의적인 보안침해
?불법접근 및 ID 도용을 통한 DB 침입
■ 유통경로 상에서의 침해 발생
?보안관리가 결여된 문서 파일의 유통(암호화 혹은 DRM을 적용하지 않고 KMS 또는 사내 게시판 등에 자료 등록)
■ 프로그램 오류로 인한 침해 발생
?실수 또는 의도된 프로그램 코딩으로 인한 DB 훼손

111221_dqc06.jpg

■ 프로젝트 수행과정에서의 부득한 DB 접근 허용

?통상적으로 프로젝트 수행과정에서 프로젝트에 참여한 외부업체에 자사의 데이터에 접근할 수 있는 권한을 부여함으로써 데이터 유출이 발생하는 경우가 빈번함
?프로젝트 목적 상 부득이하게 DB에 접근해야 하는 경우, 보안서약서를 비롯하여 추 가적인 물리적 통제를 적용함으로써 외부 유출을 방지하는 노력이 필수적임

■ 운영과정에서의 권한관리 소홀로 인한 침해 발생
?개발자에게 DBA권한을 설정함으로써 개발자가 직접 DB에 접속하여 작업 및 정보 유출
?잘못된 사용자 권한 설정으로 부적절한 데이터 노출 및 외부 유출

마. DB 보안 구축 효과

DB 보안은 다양한 경로와 방법을 통해 구축할 수 있으며, 어떠한 방법을 사용하더라도 보 안 목적 달성은 물론이고, 적용의 편의성과 효율성 등을 동시에 충족해야 한다. 보안성과 편의성은 봉쇄와 공유라는 보안의 고전적인 화두에 대한 연장선 상에 있다. 이와 같이 서로 대립되는 개념을 조화롭게 적용할 수 있도록 하기 위해 보안 솔루션을 도입할 수 있다.

DB 보안 솔루션은 DB와 DB 내에 저장된 데이터를 보호하면서 동시에 정당한 사용자들이 불편없이 DB를 사용할 수 있도록 지원한다. DB 보안 솔루션은 다양한 제품들이 출시되어 있고, 각 제품마다 나름대로의 특징을 갖고 있기 때문에 이를 잘 검토하여 조직의 환경과 목적에 맞는 솔루션을 도입해야 한다.

보안 솔루션 도입이 보안에 대한 많은 기술적 문제를 해결하는데 도움을 주지만 그것만으 로 모든 것이 해결되는 것은 아님을 분명히 인지해야 한다. DB 보안 솔루션 도입·구축에 따른 기대효과는 여러 가지가 있을 수 있으나, 단순한 기대효과로서뿐만 아니라 실질적인 보안 대응 효과까지 가질 수 있어야 한다. DB 보안 솔루션 도입·구축에 따른 기대효과는 다음과 같다.

■DB의 입출력 및 데이터의 조회·변경·삭제에 대한 행위를 기록하여 DB내의 기밀정보 유출사고 발생 시 책임소재의 근거 마련
■DB 침해사고 발생 시 침해경로, 침해 내용을 분석하여 즉각적인 대응방안 마련
■내부 인가자·개발자·외주 인원의 무분별한 DB 조회나 변경·삭제 작업을 감시함으로 써 기밀정보의 외부 유출이나 훼손을 차단하기 위한 근본적인 해결방안 수립
■금융·유통·제조·의학·건설 등의 오프라인 기업과 포탈·게임·쇼핑몰·방송엔터 테인먼트 등의 온라인 기업 등을 규제하기 위한 각종 정보보호법이나 정부 규제 혹은 지 침에 대응하기 위한 리포트 분석 가능

111221_dqc07.jpg