본문 바로가기

Security_Space/DB보안

[데이터베이스 보안 ③] 암호화와 접근제어는「상호보완」

최일훈 전무(소만사) ( ZDNet Korea )   2007/10/11


DB보안 시장이 도입기를 넘어서면서 점차 활성화 되고 있다. 개인정보와 같은 민감한 데이터를 다루는 기업들은 물론이고, 많은 공공기관에서도 DB에 대한 보안을 강화하는 추세이다.


하지만 막상 DB보안 시스템을 구축하고자 할 때는, 처음부터 중요한 선택의 기로에 서게 된다. '접근제어 방식을 적용할 것인가? 아니면 암호화 방식을 이용할 것인가?' DB에 저장되어 있는 정보를 보안하겠다는 목적은 같지만, 시스템 구축방법이나 효과에 많은 차이점이 존재하므로 신중히 결정할 사항이다.

앞서 말한대로, DB보안시장은 접근제어와 암호화의 두 진영으로 나뉘어서 서로 공방을 하고 있는 상태이다. 정확한 통계는 없지만 필자는 접근제어 80%, 암호화 20% 정도의 분포를 전망한다. 두 방식의 차이에 대해 간략히 알아보기로 하자.

접근제어 및 암호화 방식의 장단점
먼저 접근제어 방식은, 정책에 따라 DBMS에 대한 접근통제를 하고 접근이력을 기록하는 방식이다. 네트워크 단에서 접근통제를 하게 되므로, DBMS에 변경이 없고 성능저하가 적은 것이 장점이 있다. 반면 암호화 방식은 DBMS 내부에서 데이터를 직접 암호화한다. 해킹을 통해 DBMS에 들어와도 암호를 풀지 못하면 데이터를 열람할 수 없게 된다. 따라서 권한이 없는 경우 데이터 자체 열람을 불가능하다는 장점이 있다.

위 설명만 놓고 본다면 '그래서 어떤 방식이 적절한가?'에 대한 답은 여전히 알기 어렵다. 이 글이 DB보안시스템의 선택을 위한 현실적인 참고가 되려면, 좀 더 기술적/현실적인 고찰이 필요하다.

접근제어 방식의 단점은, 네트워크에 상에서 DB접속에 대한 SQL을 분석하여 통제하는 방식이라는 점에서 기인한다. 대표적인 단점으로 1) 원격지에서 통상의 DB접속통신을 이용하여 DBMS에 접속하는 것이 아닌 경우와 2) 일반적인 SQL 전송이 아닌 경우에 취약점이 있다. 1)번의 예로는 DBMS 시스템에 콘솔로 접속하거나, Telnet 등으로 접속하는 경우이다. 물론 이 때도 대부분의 접근통제 DB보안 시스템에서 보완책이 있긴 하지만, 완벽하지 못한 것이 사실이다. 2)의 경우는 복잡한 쿼리 사용을 하거나 저장 프로시져 등을 사용하는 경우를 예를 들 수 있다. 따라서 접근제어 방식은 사전차단이 조금 약한 대신, 접속 이력을 자세히 남겨 사후추적으로 보완한다.

암호화 방식의 단점은, 보안대상인 DB를 직접 변경해야 하는 것 때문에 발생하는데 1) 적용가능 DBMS 종류가 매우 한정적이라는 것과 2) 시스템에 부하가 발생하여 성능이 떨어지고 3) 시스템 구축시 실패 위험이 매우 크다는 것이다. 다시 말하면, 통상 DB는 정보제공 서비스를 위해 사용되는 시스템인데, 보안한다고 손 댔다가 서비스의 질 자체가 저하되는 어처구니 없는 결과를 낳을 수 있으며, 실제 여러 실패사례가 지면으로 보고된 적이 있다.

물론 이러한 단점들은 향후 솔루션 개발사가 해결해야 할 문제일 뿐, 영원히 해결 못 할 문제들은 아니다. 종류가 워낙 다양하고 매우 복잡한 시스템인 DBMS를, 태어난 지 그리 오래되지 않은 보안 솔루션들이 완벽히 지원하는데 힘들어 하고 있는 상황이라고 할 수 있다. 원래 보안은 완벽하려고 노력할 뿐이지 기술적으로 100% 완벽한 보안은 있을 수 없다는 점을 감안해야만 보안솔루션 도입이 편해진다.

어쨌든 위의 이유로 현재는 암호화보다는 접근통제 방식이 시장에서 더 선호되는 방식이라고 할 수 있지만, 사실 두 방식은 상호보완적인 관계라고 할 수 있다. 예를 들어, 박물관에 있는 전시물들을 안전하게 보호하려면 그 입구에서 경비를 서고, CCTV로 녹화도 당연히 해야 하지만, 정말 중요한 것들은 시건장치를 강화해야 한다. 향후에는 전체적으로는 접근통제방식을 적용하고, 일부 중요 데이터는 암호화를 적용하는 것이 이상적이라 할 수 있겠다.

시스템적인 보안만 중요한가?
DB보안 시스템을 구축하다 보면 담당자들이 추가로 고민하게 되는 점이 있다. '허가되지 않은 데이터 접근은 막았다지만, 정당하게 획득한 DB데이터를 오/남용하는 것은 어떻게 할 것인가?'이다. 예전의 보안이 해커와 바이러스 차단이었다면 현재의 보안은 내부자에 의한 정보유출 방지라는 점에서 본다면 당연한 고민일 수 밖에 없다. 단순히 DB보안만 할 것이 아니라, 정당하게 습득된 정보를 부당하게 유출하려는 시도를 방지하고 탐지하는 2차적 보안 또한 중요한 것이다.

실제로, DB보안시장을 포함한 내부정보유출방지시장이 급속성장하고 있다. 필자는 최근 보안의 핵심은, "정당한 정보접근 권한을 가진 내부자에 의한 정보유출을 어떻게 막아내느냐"에 있다고 생각한다. 기업의 사활이 걸린 내부정보유출사고는 해커 같은 외부자에 의해서 일어나지 않는다. 대형보안사고에는 반드시 핵심기밀이 무엇이며, 어디에 위치하고 있는지 알고 있는 내부자가 개입되어 있다.

가령, DB접속이 허용된 내부자가 데이터베이스 내의 파일을 이메일, 웹메일, 메신저, 웹하드, P2P 등 네트워크로 내보내거나 USB나 출력물로 유출한다면 어떻게 될 것인가? 세상을 떠들썩하게 했던 유출, 2005년 연예인 엑스파일 사건을 돌아보자. 과연, 사고나 실수였을까? 아니면 문서를 볼 권한이 있는 내부자가 친구에게 보여주려고 자랑스럽게 유출했을까?

현대사회처럼 유출원인과 유출통로가 다양한 시대에서, 현재의 기술력과 솔루션을 효과적으로 이용하여 정보보안을 하는 가장 이상적인 방법은 다음과 같다고 생각한다. 1) 중요 데이터가 있는 DB에 대해 접근통제 DB보안 시스템을 구축하되, 2) 암호화 솔루션의 추가적인 도입여부는 상황에 따라 신중히 선택하고, 3) 2차적인 정보유출 방지 시스템을 구축하는 것이다.

단순히 방화벽과 IDS, 바이러스 백신으로도 보안 다했다고 할 수 있었던 시대도 있었다. 하지만 갈 수록 보안의 영역이 넓어지고 복잡해지고 있으며, 그만큼 보안담당자의 현명한 결정과 판단이 중요해지고 있다. 훌륭한 보안담당자들의 선택이 한국의 보안솔루션 벤더들과 보안시장을 경쟁력있게 이끌어주리라 기대해 본다. @

출처 : ZDNet Korea