안전한 웹 보안의 달성

[ 웹보안에 대한 올바른 이해 ] 페이지에서도 강조하였듯, 웹 보안의 핵심은 웹 애플리케이션 보안이라고 할 수 있습니다.웹 보안과 마찬가지로 웹 애플리케이션 보안 또한 웹 애플리케이션에 대한 관리자의 충분한 이해와 관련 보안 솔루션의 적재적소에의 배치가 달성 되었을 때 안전한 보안이 보장됩니다.

그럼 먼저 웹 애플리케이션 보안에 대하여 자세히 살펴보고, 애플리케이션 보안 구축에서 실질적으로 필요한 중요한 웹 보안 솔루션에 대해 소개하면서, 각각의 역할과 기능에 대해 살펴보도록 하겠습니다.

웹 애플리케이션 보안과 웹 보안 솔루션

애플리케이션 보안은 구축 초기인 개발 단계부터 구축 이후의 유지 보수에 이르기까지 모든 단계에 걸쳐 신경을 써야 합니다. 그러나 많은 사람들이 솔루션의 기능이나 도입 위치에 대한 정확한 이해 부족으로 인하여 웹 애플리케이션 보안 구축에 어려움을 느끼고 있는 것이 사실입니다.
하지만, 웹 애플리케이션 보안과 각각의 솔루션이 동작하는 위치를 집을 짓는 것에 비유한다면 쉽게 이해할 수 있습니다.

safe_web_01

웹 애플리케이션 보안 솔루션 모식도
(웹 애플리케이션은 크게 “웹 애플리케이션 서버” 와 “DB”로 구성됩니다)

시큐어코딩 Secure Coding

개발 단계는 집을 짓는 과정이라고 생각할 수 있습니다. 집을 지을 때는 단단한 지반에 튼튼하고 안전한 벽돌로 집을 지어야 합니다. 이를 애플리케이션으로 생각하면, 취약성이 잔재할 수 있는 코드를 배제하고, 안전한 소스와 프로그램을 사용한 시큐어코딩과 같습니다.

시큐어코딩이란 개발 과정에서 개발자의 지식 부족이나 실수, 또는 각 프로그래밍 언어의 고유한 약점 등 다양한 원인으로 발생할 수 있는 취약점을 최소화 하기 위하여, 설계 단계부터 보안을 고려하여 코드를 작성하는 제작 방식을 의미합니다. 애플리케이션 개발에 있어서, 구축 속도보다는 안전하고 체계적으로 개발하는 것이 더욱 중요합니다. 안전하지 않은 개발 환경에 웹 보안 솔루션을 도입하는 것은 아랫돌 빼어 윗돌 괴는 것처럼 임시방편에 불과하기 때문입니다.

웹 스캐너   Web Scanner

집이 완성된 이후에 벽돌에 금이 가거나 집이 기울어 진 것을 체크하는 것과 같이 외부에서 애플리케이션을 점검하는 웹 스캐너를 주기적으로 실행할 필요가 있습니다. 웹 스캐너는 웹 취약점 점검 툴로 불리며, 웹 애플리케이션 외부에서 통신을 통하여 잠재적인 취약점이나 설계 상의 취약점을 분석하는 프로그램입니다.

시중에는 많은 종류의 웹 스캐너가 판매되고 있으며, 비상업적 용도로도 제공되는 다양한 웹 스캐너가 있습니다. 웹 스캐너의 성능은 다를 수 있지만, 핵심은 효과를 보기 위해서는 꾸준한 점검을 통하여 애플리케이션의 상태를 주기적, 지속적으로 확인해야 한다는 것입니다.

웹 서버 악성 코드 탐지   Web-Based Malware Detection

그 이후에 집안 내부에서도 비가 새는 것은 아닌지, 벌레가 숨어 들 수 있는 구멍은 없는지 체크할 필요가 있습니다. 이는 웹서버 악성 코드 탐지 솔루션을 통해 점검할 수 있습니다.
웹 스캐너와 동일하게 웹서버 악성 코드 탐지 솔루션도 주기적인 점검과 실행이 필수적입니다.

웹방화벽   Web Application Firewall

집을 짓고 나면 우리는 예상치 못한 외부의 접근으로부터 집을 지키고, 미처 발견하지 못한 내부의 위험 요소를 최종적으로 보완하고자 울타리나 담을 제작하게 됩니다. 애플리케이션 보안에서는 웹방화벽(Web Application Firewall) 이 울타리 역할을 하게 됩니다.

웹방화벽은 웹을 통한 외부의 침입이나 웹 공격을 탐지하고 대응하는 역할을 합니다. 웹방화벽은 웹 보안 취약점을 외부에 노출되지 않도록 보안해줄 뿐만 아니라, 타 솔루션들에게 공격이 다다르기 전에 외부에서 차단하는 역할을 수행합니다. 또한 웹 서버 악성 코드가 웹 서버로 업로드 되는 것 역시 막아줍니다. 이는 일반적인 방화벽(Firewall)과 다르게 웹방화벽이 웹 애플리케이션에 특화되어 개발되어 있기에 가능한 것입니다. 또한, 다른 솔루션과 달리 서버에 구축/적용하는 비용이 들지 않고, 외부에 편리하게 설치할 수 있습니다.
최신 웹방화벽의 경우, 광범위하고 다양한 웹 공격을 실시간으로 차단하고, 학습 모드를 통한 룰 적용이 가능한 특징이 있습니다.

데이터 보안   Data Security

마지막으로 집안에서 가장 중요한 현금, 통장과 같은 재산을 어떻게 보관할 지가 중요합니다. 애플리케이션에서 이러한 재산을 개인정보나 카드 정보, 계좌 정보와 같은 중요 데이터(Data)로 볼 수 있습니다. 일반적인 웹 애플리케이션 환경에서는 데이터베이스(DB)를 구축하여 데이터를 보관하고 관리합니다.

데이터를 안전하게 관리하기 위해서는 데이터 보안과 연관된 웹 보안 솔루션을 도입하여 안전하게 데이터를 관리하여야 합니다. 일반적으로 데이터를 암호화함으로써 해커가 최종적으로 노리는 데이터를 알아볼 수 없게 만드는 데이터 암호화 솔루션을 많이 도입하고 있습니다. 하지만 암호화로 끝나는 것이 아니라 누가 접근할 수 있고, 언제 접근하였는 지를 확인하는 접근 제어 와 감사 로그에 많은 주의를 기울어야 합니다. 또한 데이터 암호화에 있어서는 암호화된 데이터를 열어 볼 수 있는 키(Key) 관리가 매우 중요하기에, 키 관리에도 각별한 주의가 필요합니다.

웹보안의 완성

지금까지 언급한 웹 보안 솔루션을 각각의 계층에 맞게 정리하면 아래와 같은 한 장의 그림으로 그릴 수 있습니다.

safe_web_02

웹 보안 3계층과 계층 별 보안 솔루션

각각의 보안 계층 별 특징을 이해하고, 적재 적소에 웹 보안 솔루션을 도입하여 안전한 웹 보안을 달성할 수 있도록 주의를 기울이는 것은 필수 입니다. 또한, 웹 보안에 있어서 애플리케이션 보안이 가장 큰 비중을 차지하고 있지만, 기본적으로 네트워크와 시스템 보안의 안정성이 바탕이 되어야 웹 보안을 보장할 수 있는 점도 간과해서는 안됩니다.

“An organization’s overall Security is only as strong as its weakest Link.”

라는 말이 있습니다.
여러 보안 요소 중 가장 약한 부분이 그 회사 전체의 보안 수준을 결정한다는 말입니다. 즉, 모든 보안 계층에 균형적으로 신경을 기울이고, 각 계층의 보안 문제들마다 적합한 솔루션을 도입하는 것이 보안 수준을 높일 수 있는 최선의 방안입니다.

웹 보안 솔루션 시장은 매년 증가하고 있습니다. 프로스트 앤 설리번이 2012년에 발표한 보고서에 따르면 아시아태평양지역 콘텐츠 보안 관리 시장은 2017년경, 15억 7천만 달러(약 1조 7천억원)에 달하고, 시장의 연간 성장률은 약 17.9%에 육박할 것으로 내다보았습니다. 일반적인 IT 산업 성장률인 7~9%에 비하면 이는 엄청난 성장률입니다.

시장의 증가에 따라 수많은 웹 보안 솔루션이 나오는 현재 그리고 미래에, 각각의 웹 보안 솔루션에 대하여 기능을 현명하게 판단하고, 정확한 위치에 웹 보안 솔루션을 배치할 수 있어야 안전한 웹보안을 달성할 수 있을 것입니다.