보안... 어떻게 생각하세요?

플랫폼이나 응용 프로그램에 대한 이야기를 IT 엔지니어 분들과 나눠보거나, 각종 이벤트의 설문 조사 결과를 보면, Windows 플랫폼이나 응용 프로그램의 보안이 약하다라는 몇몇 의견을 보게 됩니다. 어디가 어떻게 약하다는 의견이실까라는 의문점이 강하게 들어, 세미나나 라운드테이블과 같은 미팅에서 직접 해킹을 당했거나, 보안 공격을 당한 사례를 여쭤보면, 2001~2년 즈음에 많이 유행했던 웜, IIS 5.0의 취약점 사례등에 대해서는 말씀하시긴 하지만, 최근 플랫폼 자체에 대한 사례에 대해서는 많이 들어보지 못했습니다. 많은 보안 공격이 플랫폼 위에 설치된 응용 프로그램의 버그를 이용하는 경우를 많이 보았으니까요.

오늘은 어떤 기술적인 정보보다는 IT Hero 블로그에 여쭤보았던 왜 Windows를 사용하세요? 라는 질문의 2차로 정말 Microsoft 플랫폼 및 응용 프로그램의 보안에 대해 어떻게 생각하세요? 라는 질문을 해보려고 합니다. 또한 어느 정도는 블로그 포스팅이기에, Microsoft의 의견보다는 꼬알라의 생각이라고 받아들여주시면 좋겠습니다.

보안 업데이트가 많다는 사실이 보안이 약하다고 말씀하신다면, 기타 다른 플랫폼에 대해서 비교를 해보시면 어떨까라는 생각을 합니다. 아래의 두개의 포스팅을 살펴보시면 좋을 것 같습니다.

Microsoft Windows의 보안 처리... Symantec의 보고서 이야기..

Windows Vista와 Microsoft의 보안...

어떤 플랫폼이던지, 코드상의 버그나 응용 프로그램과의 연계성 문제로 문제가 발생할 수 있다고 생각합니다. 다만 개발 당시에 얼마나 보안 기반에서 개발을 하느냐도 매우 중요합니다. 2002년 이후 Microsoft의 모든 기술 및 소프트웨어는 Trustworthy Computing 기반아래, 보안을 최고의 우선 순위로 생각하고 개발하고 사후에 대응을 하고 있습니다.

프로그램과 기술이 보안만 포커싱해서 개발되고, 구축된다면 어느정도의 편의성은 떨어지게 됩니다. 보안 강화는 분명히 필요하지만, 사용자가 최대한 불편하지 않도록 하는 것도 플랫폼의 미션중에 하나라고 생각합니다. Windows XP 서비스팩 2가 나왔을 때, 인터넷 익스플로어(IE)의 변화에 시장 및 많은 사용자들이 불편함을 겪었지만, 이를 통해 지금은 인터넷 브라우저를 통한 보안 공격은 다소 감소했고, 사용자들은 자신의 컴퓨터에 의지와 상관없는 프로그램이나 애드온이 설치되는 것을 막을 수 있습니다. 이전 포스팅에서 한번 다루었던 Windows Vista와 Windows Server 2008의 사용자 계정 컨트롤(UAC)도 마찬가지라고 생각합니다.

보안 업데이트에 대한 설치 부담을 줄여들이기 위해, 매달 1회에 정례 보안 업데이트 발표를 하고 있고, 보안 업데이트 발표를 하기 전에는 외부, 혹은 내부에서 발견한 보안 문제와 이를 악용할 수 있는 방법론에 대해서는 공개하지 않습니다. 보안 업데이트 발표 후, 이에 대해 어느 정도 정보를 제공하고 있으며, 이 보안 업데이트 출시와 보안 업데이트를 실제 반영하기까지의 시간 사이에 시스템은 취약점이 생길 수는 있습니다. 다행스러운 사실은 많은 분들께서 이제 보안 업데이트에 대한 반영은 중요한 것으로 생각해주시고 있고, 이를 시스템에 정례적으로 반영하는 것은 5년전과 비교해보더라도 상당히 달라진 모습이라고 볼 수 있습니다. 또한 보안 업데이트 출시전, 내부적인 테스트 풀과 파트너등과의 연계로 최대한의 테스트 후 릴리즈, 혹은 변화 사항에 대해서는 적극적인 문서화를 하고 있습니다. 또한 내부에서 문서의 한글화를 논의할 때, 최대한 보안 관련 문서가 한글화될 수 있도록 노력하고 있습니다. 보다 많은 문서가 한글화된다면, 그만큼 보안이 높아질 수 있을 거라 여기기 때문이죠. 근 1~2년 사이에 보안 업데이트 후, 서비스 중단에 대해서는 확실히 이전보다 줄어들었거나, 거의 없는 것 같습니다.

Microsoft 직원이 아닌, 하나의 IT 엔지니어 시각에서 바라보았을 때도, Microsoft의 플랫폼 및 기술 보안은 상당히 높아졌다고 생각합니다. 각종 플랫폼을 설치하고, 서비스 팩이나 보안 업데이트만 주기적으로 설치해준다면, 어느 정도의 보안은 유지된다는 의견도 들었고, 별도의 보안 장비가 구축되지 않는 소규모 조직에서는 이 자체만으로 큰 사고 없이 서비스를 지속하고 있습니다. (물론 플랫폼 위에 설치된 추가적인 응용 프로그램에 대해서도 지속적인 업데이트나 신경을 써주셔야겠죠)

네트워크 방화벽, Windows 호스트 방화벽, IPSEC, SSL과 같은 보안 기술에 앞서, 어떤 서버를 구축하고, 운영할 때, 기본적인 폴더나 파일의 권한 할당, 플랫폼의 보안 권한 할당에도 신경써줘야 합니다. 이에 대해서 어떻게 적용하고 계시는지요? 이는 Windows 뿐만 아니라, Linux/Unix에도 마찬가지이지 않나요? (오늘 포스팅은 정말 질문이 많네요 :) )

플랫폼 보안의 계층적 보안(Depense in Depth) 부분에 대해서는 각 플랫폼별, 응용 프로그램별로 Security Guide를 제공하고 있습니다. (Microsoft.Com 사이트에서 Security Guide라고 검색해보시면 무수히 많은 보안 가이드 문서가 검색됩니다.)

Download details: Windows Server 2003 Security Guide

Download details: Windows Vista Security Guide

Download details: Windows XP Security Guide

2008년 현재, 가장 최신의 플랫폼은 Windows Server 2008입니다. 아직 현업에서는 Windows 2000 Server, Windows Server 2003을 많이 사용하고 계실 거라 생각합니다. 이런 운영 체제에 대해서도 각종 보안 강화 방법론이 제시되어져 있고, 이를 반영하면, 상당 수준의 보안 레벨을 플랫폼에서 구축할 수 있습니다. 더 최신의 플랫폼을 사용하시는 것이 보안을 높일 수 있는 방법이지만, 보안에 대한 지원은 하위 플랫폼에 대해서도 Microsoft는 지속적으로 하고 있습니다.

자~ 여러분의 생각이 궁금합니다. 아는 누가 어떻게 당했다... 라는 의견이 아닌, 본인의 생각이나 경험담이면 좋겠습니다. 남은 논의는 댓글을 통해서 이어가도록 하죠!