DB보안

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

DB 보안 프레임워크 구성 요소

DB 보안 이해
DB 보안 절차 및 기술 요소
DB 보안 프레임워크 구성 요소
작성자
admin
작성일
2021-02-15 15:42
조회
1289

2. DB 보안 프레임워크 구성 요소

DB 보안 프레임워크는 DB 보안 기술요소와 DB 보안 구축 프로세스라는 두 개의 축으로 구성된다. DB 보안 기술요소는 DB 보안을 위한 최소한의 보안 통제 방법을 정의한 것으 로, 각 요소들은 독자적으로 구축될 수도 있고, 둘 이상의 요소들이 복합적으로 구성될 수 도 있다. 보다 견고한 DB 보안을 위해서는 둘 이상의 요소들을 복합적으로 구성하고 체계 적인 관리 노력을 기울여야 한다.
DB 보안 구축 프로세스는 각 기술요소들을 구축해 가는 절차적 단계를 구분한 것으로, 각 기술요소들을 구축하는데 있어서 단계적으로 수행해야 할 중요한 사항들의 선후관계를 식 별하고 누락되지 않도록 체계적으로 수행해 나갈 수 있는 가이드라인의 의미를 갖는다.


가. DB 보안 기술요소

DB 보안 프레임워크에서 제시하는 DB 보안 기술요소는 다음과 같으며, 보다 상세한 내용 은 제3장에서 다루어진다.

1) 접근제어

접근제어는 DB를 포함한 전체 보안 영역에서 사용되는 용어로 DB 보안에 관련해서는 DB 접근제어라고 하는 것이 더 정확한 표현이 될 수 있다. DB 접근제어는 사용자가 DBMS에 로그인 하거나 SQL을 수행하려고 할 때, 기 정의된 보안규칙에 따라 권한 여부를 판단하 여 통제하고, 로깅이 필요한 SQL에 대하여 SQL 수행(CRUD)과 관련된 정보를 저장(로 깅)하여 부당한 조작 여부를 판단하는 보안 통제 방법이다. 대체로 DBMS 자체가 이미 강력한 보안기능을 제공하고 있어서, 해킹보다는 DB에 대한 접근 권한을 가진 사용자가 권한을 남용하여 정보를 유출하거나 변조하는 것이 가장 중요 한 위협이다.

DB 접근제어를 구현하는 솔루션들은 DB에 접속 시 게이트웨이(Gateway)를 경유하도록 유도하여 요청 내용을 분석·제어하고 기록하는 방식이 많이 사용되며, 강력한 접근제어 를 구현하기가 용이하기 때문에 자연스러운 DB 보안 효과를 얻을 수 있다. DB 접근제어는 접근제어 규칙을 기반으로 구현되기 때문에 접근제어 규칙을 보수적으로 정의할수록 우회가능성은 적어진다는 점을 유념해야 한다. DB 접근제어 규칙을 용이하게 적용하기 위해서는 DB 접근제어 기능을 제공하는 관련 솔루션들을 검토하는 것이 필요할 수 있다. 접근제어 규칙을 정의하고 이를 기반으로 DB 접근제어를 구축할 때는 반드시 우 회 가능성에 대한 다양한 시험을 수행하여 접근제어 규칙의 실효성을 검증해야 한다. 일반적인 DB 접근제어의 유형은 다음 표와 같이 구분한다.

111221_dqc15.jpg

111221_dqc16.jpg

DB 접근제어를 구축 할 때 다음과 같은 사항들이 고려되어야 한다.
■실효적인 운영을 위해 철저한 사용자 인증이 필수적이다.
■솔루션에서 제공되는 여러 기능을 가급적 보수적으로 철저히 적용해야 한다.

2) DB 암호화

DB 암호화는 데이터를 암호화하여 저장하고, 권한이 있는 사람 혹은 서버만이 해당 데이 터를 복호화 할 수 있도록 하여 데이터를 보호하는 기술이다. DB 암호화는 DB 접근제어와 병행 사용하여 더 큰 효과를 얻을 수 있다. DB 접근제어를 통해 부적절한 접근을 우선적으 로 차단하고, 인가되지 않은 부적절한 접근이 이루어지더라도 비권한자나 비권한 프로세스 등에 의해 데이터가 판독되지 않도록 암호화를 적용하여 이차적인 보호를 하도록 한다.
암호화 방식과 암호화 알고리즘 등에 대한 결정은 업무 목적이나 데이터 중요도 등에 따라 달라질 수 있으나 관련 기관에서 기본 규약으로 정의하여 권고 또는 강제하는 사항에 대한 확인 및 적용도 필요하다. 암호화를 구축한 이후에는 암호화키에 대한 관리 및 복호화 권 한 소유자, 복호화 관련 로깅정보 확인 등을 통해 암호화에 대한 통제가 적절하게 이루어 지고 있는지, 보완·개선 사항은 없는지 등에 대한 지속적인 모니터링이 필요하다.
DB 암호화와 관련된 주의사항으로는 성능 이슈를 고려하여 데이터 구조 설계와 관련 애플 리케이션 설계 및 개발에 적절한 대응책이 강구되어야 한다는 점을 들 수 있다.

3) DB 작업결재

DB 작업결재는 보안상 중요한 데이터에 대한 접근 및 처리 등의 DB작업에 대하여 사전 승인을 거치도록 하는 결재 정책을 정의하고, 기안-승인 프로세스를 거쳐 실행 권한을 부 여 받은 후 DB 작업이 이루어지도록 하는 것이다.
DB 작업결재는 직접 데이터를 처리하는 애플리케이션 개발을 담당하는 개발자나 그 유지 보수 담당자의 관점에서 볼 때 불편과 처리 시간 지연을 야기하는 사안이기 때문에 사실상 운영 편의성 측면에서 실 적용을 한 사업장은 많지 않았지만, 보안 측면에서 매우 효과적 인 정책이라는 인식이 확대되고 있다. 또한 최근 들어 급증하고 있는 보안 사고들을 보면 서 금융권과 같이 중요한 데이터를 다루는 곳을 중심으로 점차 적용 사업장이 늘어나고 있 는 추세이다.
DB 작업결재는 워크플로우 관점에서의 관리적 보안의 한 형태이며, 다음과 같은 장점으 로 인해 주목을 받고 있다.
■사전에 DB 작업이 기안되어야 하므로 작업 중 실수를 최소화 할 수 있음
■DB 작업 시간과 횟수 등을 사전 승인 받을 수 있어 감사 이력으로 적합

4) DB 취약점 분석

DB 보안에서의 취약점은 앞서 정의한 바와 같이 DB 시스템이 지니고 있는 보안상의 문제 점이나 허점을 의미하며, DBMS의 소스코드, DB 시스템의 구성 및 설정 등에서 발생하는 잠재적인 보안 위험에 해당된다.
DB 취약점 분석은 이와 같은 DB 시스템 상의 취약점 존재 여부를 점검·추출하고 확인하 여 해결책을 제시함으로써 그 취약점을 개선·제거하는 것이며, 사용자의 실수, 오용, 내 부자의 권한 남용 및 DB에 대해 알려진 취약점들에 기인하는 외부 혹은 내부자로부터의 주요 기밀 정보 유출에 대한 방어에 있어 매우 중요한 의미를 지닌다. DB 취약점 분석은 DB 운영환경의 보안 취약점을 검출하고, 최신 취약점 정보를 주기적으 로 업데이트하며, 모의 해킹을 통해 DB 취약점을 이용한 해킹 가능성을 점검하는 내용으 로 이루어지며, DB 운영환경에 대한 보안 취약점 검출은 솔루션을 이용하여 자동화할 수 도 있다.


나. DB 보안 구축 프로세스

DB 보안 프레임워크에서 제시하는 DB 보안 구축 단계 구분과 내용은 다음과 같다.

1) 기획 단계

기획 단계는 DB 보안을 구축하기 위한 기본적인 계획을 수립하고 DB 보안 정책과 지침·가 이드라인 등을 개발하는 단계이다. 이를 위해 보안 대상 데이터를 식별하고 분류하며, DB 보안을 위한 원칙·지침 등을 정의하고, DB 보안을 담당하는 조직의 구성과 역할, 책임 등 을 정의해야 한다.
이러한 정의 결과는 DB 보안 정책과 지침·가이드라인 등에 포함되어야 한다. 또한, DB 보 안 정책의 내용을 개선·보완하기 위한 절차, DB 보안 기술요소에 대한 내용이나 기술요소 의 개선, 보완, 변경, 추가 등에 대한 절차, DB 보안 통제를 운영하기 위한 절차 등도 DB 보 안 지침·가이드라인 등에 포함한다. DB 보안 정책·지침·가이드라인 등을 전사 또는 조직 전체의 모든 구성원들이 명확하게 이 한다. 이와 같은 DB 보안 구축·운영 과정에서 필요한 교육에 대한 종류, 대상, 시행 책임 등 교육 관련 사항들도 DB 보안 정책· 지침·가이드라인 등에 포함될 수 있는 내용이다.
DB 보안 정책·지침·가이드라인 등의 개발을 포함하여 DB 보안 기술요소에 대한 도입· 구축 절차와 일정, 수행 책임자 선정, DB 보안 기술요소 도입·구축에 따른 수행 조직 구성 과 역할·책임 정의, 필요한 교육의 선정과 일정 수립 등은 기획 단계에서 이루어지는 DB 보 안 구축 계획에 포함될 주요 내용이다.
참고로, DB 보안 기술요소별로도 'DB 접근제어 정책'과 같이 '정책'이라는 용어가 사용되어 혼돈을 야기할 수 있는데, 이때의 '정책'이라는 용어의 의미는 '규칙'이나 '규정' 등과 동일한 의미로 사용되는 점을 감안하여 앞으로 각 기술요소별 구현을 위한 제반 규격·규칙 등에 대 해서는 '정책' 대신 '규칙'을 사용하여 의미를 명확하게 구분하기로 한다.(예: 접근제어 규칙, 작업결재 규칙 등)
기획 단계의 주요 산출물은 다음과 같다.
■DB 보안 구축 계획
■DB 보안 정책·지침·가이드라인 등

2) 설계 단계

설계 단계는 DB 접근제어 규칙, DB 작업결재 규칙 등과 같이 각 기술요소별로 구현을 위 한 상세 규칙을 정의하고 시험 계획을 수립하는 단계이다.
DB 접근제어에 대한 설계 단계의 주요 수행 내용은 접근제어 규칙 정의로, 여기에는 사용 자 인증, 로그인, SQL 통제, 로깅, 경보, SQL 마스킹 등에 대한 상세 규칙이 정의되어야 하며, 모니터링 지표를 정의하고 상세 운영 방안을 수립하는 내용이 포함된다. DB 암호화에 대한 설계 단계의 주요 수행 내용은 복호화 권한을 부여할 대상과 그 권한의 통제 방법 정의, 암호화키 및 알고리즘의 정의 등이다.
DB 작업결재에 대한 설계 단계의 주요 수행 내용은 작업결재 규칙 정의로, 여기에는 결재 경로와 결재 규칙, 결재내역에 대한 로깅 방안 등이 정의되어야 하며, DB 작업결재가 이 루어지는 상황이나 그 기록에 대한 모니터링 지표를 정의하고 상세 운영 방안을 수립하는 내용이 포함된다.
DB 취약점 분석에 대한 설계 단계의 주요 수행 내용은 취약점 분석 계획을 수립하는 것으 로, 여기에는 DB 환경 구성과 그 관리, 계정 관리, 패스워드 관리, 권한 관리, 인증 관리, 원격 접속 관리 등에 대한 취약점을 분석하기 위한 계획이 포함된다.
설계 단계의 주요 산출물은 다음과 같다.
■(기술요소별)설계서
■(기술요소별)시험계획서

3) 구축 단계

구축 단계는 설계 단계의 수행 결과에 따라 실제로 각 기술요소를 구현하고 시험하는 단계이다.
DB 접근제어에 대한 구축 단계의 주요 수행 내용은 설계된 접근제어 규칙을 구현하여 우 회 접근을 방지하고, 구현 환경을 검토하여 보완하며, 보안 적용 시험을 통해 우회 접근의 가능성과 우회 접근 방어의 신뢰성을 확인하는 것이다.
DB 암호화에 대한 구축 단계의 주요 수행 내용은 설계 단계 수행 결과에 따라 대상 데이터 에 대해 암호화를 수행하고, 암호화 결과와 원본 데이터를 대조하여 암호문의 신뢰성을 확 인하며, 원본 데이터를 DB에서 삭제하여 보호 대상 데이터의 부당한 접근·유출에 의한 판독 가능성을 제거하는 것이다. 또한, DB 암호화 관련 제약사항을 유지하고 암호화키를 관리하며, 이와 관련된 구현 환경을 검토하여 보완하고, 보안 적용 시험을 통해 암호화된 데이터의 판독 가능성 여부를 검사하는 등의 내용으로 이루어진다.
DB 작업결재에 대한 구축 단계의 주요 수행 내용은 설계 내용에 따라 작업 결재 흐름을 구 현하여 우회 결재를 방지하고, 관련 환경을 검토하여 보완하며, 보안 적용 시험을 통해 우 회 결재의 가능성과 작업결재 기능의 신뢰성을 확인하는 등의 내용으로 이루어진다.
DB 취약점 분석에 대한 구축 단계의 주요 수행 내용은 설계 단계에서 수립된 취약점 분석 계획에 따라 모의 해킹을 실시하여 취약점 유무를 확인하고, 발견된 취약점을 제거하는 것 이다. 그리고 솔루션 적용 시는 취약점의 수집과 추가된 취약점이 자동적으로 DB 취약점 분석에 반영되는지를 확인하는 취약점 분석 시험 등이 더해진다. 또한 취약점을 이용한 비 인가된 접근이 있었는지 등을 확인하기 위한 내부보안감사도 수행한다.
구축 단계의 주요 산출물은 다음과 같다.
■(기술요소별)시험결과서
■(기술요소별)구현내역서

4) 운영 단계

운영 단계는 구현된 기술요소들의 작동 상태 및 결과를 모니터링하고, 보완·개선 사항을 도출하여 시행하며, 이와 관련된 보안규칙을 유지관리하는 단계이다. 운영 단계에서는 구 현된 기술요소들을 계속적으로 유지하고 개선·보완하기 위한 기술적·관리적 보안이 주 로 이루어진다.
운영 단계의 주요 수행 내용은 접근제어 규칙, 작업결재 규칙 등과 같이 설계단계에서 정 의되고 그에 따라 구현이 이루어진 보안규칙을 유지·관리하는 것으로, 보안규칙에 대한 변경·개선·보완 등의 통제 절차를 적용하고, 이에 따른 변경 이력을 관리한다. 보안규 칙의 백업을 생성·유지하는 내용도 포함된다. 또한 사용자 로그를 점검하고 분석하여 부 적절한 시도나 부여된 권한의 적절성 여부 등을 확인하고, 구현된 기술요소들의 작동상태 를 모니터링한다. 또한 로그 기록이나 운영 보고서, 점검 결과 등을 검토하여 조정·개선 사항을 도출하는 관리 활동이 수행되어야 한다.
DB에 대한 취약점은 수시로 새로운 취약점이 보고되고 있기 때문에 이에 대해 지속적으로 취약점을 수집하고 기존의 취약점 리스트에 반영하여 점검 및 취약점 제거를 수행해야 한 다. 또한 취약점의 개선 정도를 분석하여 DB에 대한 안전성을 지속적으로 확인하는 것도 운영 단계에서의 중요한 사항이다.
이와 같은 운영 단계에서 수행해야 할 제반 점검 사항들은 체크리스트로 작성하여 수시 또 는 정기적으로 점검을 수행함으로써 중요한 점검 사항들이 누락되지 않고 전반적인 점검 사항들이 체계적으로 확인되고 관리될 수 있도록 해야 한다.
운영 단계에서의 주요 산출물은 다음과 같다.
■DB 보안 점검 체크리스트 및 점검 결과
■(기술요소별)운영 보고서