| 웹 보안, 취약점 점검과 소스코드 수정으로 해결하세요 | 2010.03.21 |
웹 애플리케이션 보안 강화 방안
인터넷 서비스의 증가로 각 기업의 웹 보안을 이루기 위한 방법은 실제적으로 멀고도 험하다. 하지만 보안성 향상을 위한 가닥을 잡는 것은 더욱 어렵다. 이에 웹 보안을 이루기 위한 Stakeholder가 매우 다양하며 기본적으로 안전한 소프트웨어에 대한 이해를 가지고 있어야만 한다. 인터넷을 통한 웹 서비스가 가능해진 이래로 웹은 지속적으로 다양한 공격에 노출되어져 왔다. 웹 사이트에 대한 변조에서부터 주요 정보에 대한 탈취 및 사용자 도용, 그리고 웹 사이트의 취약점을 이용한 피싱에 이르기까지 기업의 비즈니스에 영향을 주는 공격에서부터 기업의 중요한 자원인 고객에 대한 공격까지 폭넓게 이루어지고 있다. 이러한 공격들은 개인의 명성이나 이익을 위한 목적에서 국가적인 이득을 위한 목적, 그리고 웹 해킹을 통한 음지에서 이루어지는 비즈니스를 위한 다양한 목적을 갖고 행해지고 있다.
그리고 악의적인 해커들이 웹에 대한 해킹을 계속적으로 시도하는 이유는 시스템이나 네트워크에 대한 보안 체계가 적절하게 이루어진 지금, 웹 만큼 손쉽게 접근할 수 있는 시스템 자원이 없기 때문이기도 하다. 실은 웹은 특화된 보안 솔루션을 가지고 보호한다고 하더라도 다른 자원에 비해서 웹 브라우저를 통한 접근이 매우 용이하며 프록시를 이용할 줄 아는 사용자라고 하면 웹에서 이루어지는 요청 및 응답을 손쉽게 열어보고 수정하는 것도 가능하기 때문이다.
또한 악의적인 해커들은 공격할 대상에 대한 지명도나 운영체제 등을 전혀 개의치 않고 공격하는 경우도 있으며 게다가 현재 국제 공인된 보안 자격증을 가지고 있는 보안 담당자들로서도 자격취득시 논의된 바가 없는 웹 보안에 대한 이해와 이에 대한 대응 방안에 대한 부분을 쉽게 선별하기 어려워 기업내 보안 담당자가 웹 보안에 대한 관심을 갖는다 하더라도 쉽게 접근하고 적절하게 이용할 방안을 찾아내기 어려운 이유가 되는 것이다.
사회공학적인 방법의 웹 공격 증가 작년 한해만 해도 일반 기업 및 공공, 연구기관 및 보안 업체를 대상으로 한 다양한 웹 공격이 있었으며 대부분은 개인정보, 즉 주민번호, 계좌번호, 카드번호, 전화번호, 전자메일주소, 집 주소, 사번 및 기타 금융 관련 정보들을 대상으로 하고 있다. 또한 국내 최대 경매 사이트, 저축은행, 제 2금융기관, 외식업체, 취업관련 사이트 등을 무차별 해킹하여 수천만건에 이르는 고객정보를 빼내고 인터넷 뱅킹 정보를 탈취해 계좌이체를 하는 상황에 이르게 되었다.
이러한 광범위한 공격은 대부분 파일업로드, 디렉터리탐색, 디렉터리리스팅, 인증우회, SQL 인젝션, 크로스사이트스크립팅, 스텔스커맨딩, 파라메터 템퍼링, 강제 브라우징 등을 통해서 수행하고 있음을 통계적으로 알 수 있으며 이들 취약점을 이용한 공격은 웹 사이트 자체에 대한 공격일 경우도 있지만 웹 사이트를 방문하는 일반 사용자를 직접 대상으로 하는 경우도 매우 많아 이를 위한 사회공학적인 기법을 통한 공격이 큰 문제가 되고 있다.
표 1은 일반적으로 기업 보안 담당자가 웹 공격에 노출된 웹 사이트에 대한 보안성 강화를 위해 일반적으로 접근하는 방법을 도식화한 내용이다. 웹 보안에 있어서 가장 중요한 것은 웹이 왜 취약해지고 무엇 때문에 공격을 받는가 인데, 이미 문제가 되는 취약점들에 대해서는 앞서 간략하게 언급했다.
하지만 이 외에도 다양한 취약점 들이 존재하며 이들 취약점에 대한 대응 방안으로는 적극적인 개입에 의한 보안성 향상과 일반적인 방법에 의한 수동적인 대응방안이 존재하며 적극적인 개입에 의한 방법으로는 소스코드 분석 및 취약점 분석을 통한 취약점의 식별과 이에 대한 수정 및 관리, 그리고 이를 주기적으로 수행하는 방법이 있고 수동적인 대응 방안으로는 웹 애플리케이션에 대한 학습을 통해 취약할 수 있는 부분에 대한 차단 및 응답 제어를 통한 부분이 될 수 있다.
이러한 접근 방법은 경우에 따라서 취약점 분석을 통한 웹 방화벽 정책 적용이라는 방법도 있으나 여기서 취약점 분석은 취약점 분석 도구를 이용한 방법과는 차이가 있다.
하지만 웹 해킹에 대한 고려사항을 가지고 있는 보안 담당자의 경우 어떤 방법을 택하든지 대부분 모든 방법의 적용이 반드시 필요하게 됨을 인식하게 되고 최우선적으로 적용이 가능한 방법 혹은 빠르게 보안성을 향상시킬 수 있는 방법으로 웹 방화벽을 선택하고 지속적이며 계속적인 보안성 향상을 위한 취약점 분석과 소스코드 분석을 모두 택하거나 이들 중 한 가지 방법을 택하고 있다.
결과적으로는 소스코드에 대한 수정을 통한 문제점 해결이 가장 최선의 방법임을 인지하게 되며 또 다른 방향으로는 3rd 파티 애플리케이션에 대한 보안성 향상이 큰 문제가 되고 있는데 이는 보안담당자가 개발팀을 통해서 수정할 수 없는 문제가 있어 취약점 분석을 통한 문제점 식별시 이를 수정하기 위해 제조사와의 문제점 해결을 위한 유지보수 방안을 가지고 있어야만 한다.
웹 보안을 이루기 위한 방법은 실제적으로 멀고도 험해 보인다. 하지만 보안성 향상을 위한 가닥을 잡는 것은 더욱 어렵다. 이는 웹 보안을 이루기 위한 Stake holder가 매우 다양하며 기본적으로 안전한 소프트웨어에 대한 이해를 가지고 있어야 하기 때문이다. 또한 안전한 소프트웨어에 있어 필수적인 요소를 알아야 하고 이를 개발에 적용하기 위한 방안을 가지고 있어야 한다.
이러한 방안을 적용하여 개발 혹은 수정된 소프트웨어를 테스팅하고 검수하여 배포, 운영, 관리 및 최종적으로 해당 애플리케이션이 사라지게 될 때까지 계속적인 노력이 필요하다. <글 : 이동일 소프트와이드시큐리티 CTO(jason@softwidesec.com)> [월간 정보보호21c 통권 제114호(info@boannews.com)] <저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지> |
|
|
|