본문 바로가기

IT 살이/03. 관리 - 보안 관리

04. 조직에 CIA+2모델 적용하기 기업의 전사 보안 관리는 모든 보안 분야에 걸쳐 관리가 필요하다 : 서버, 네트워크, 정보보호 시스템(방화벽, IPS, IDS 등), 어플리케이션, 데이터베이스, PC, 바이러스/해킹, 메일, 모바일 등정부 산하 관련 기관에서도 보안과 관련해서 많은 정책, 표준, 절차, 가이드를 내놓고 있다. 그러면서 인증 제도도 다양하게 내 놓으면서 인증 심사에 사용될 체크리스트도 있다. 문제는 이런 가이드, 체크리스트는 실제로 기업의 시스템을 운영하는 사람들이 유지 보수에 사용하려면 별 도움이 되지 않는다. 표준, 절차, 가이드는 너무 추상적이다. 그리고 인증 심사에서 사용하는 체크 리스트는 너무 순간적인 상황의 체크에만 관심을 갖는듯하다. 해서 "인증받으면 끝이다"는 말이 있게 된다. 실제로 보안 점검 및 체크가 .. 더보기
03. CIA Triad + 2 보안 모델 설명 정보 보안의 목표을 생각해보자. CIA Triad 모델이라는 것은 CIA 즉, Confidentiality(기밀성), Integrity(무결성), Availability( 가용성 )을 확보할 수 있다면 외부의 공격, 위험, 취약점등을 극복할 수 있다는 것을 말하고 있다. 그러나 대부분의 모델은 CIA 모델에 더해서 관리상의 보안활동인 보안감사 그리고 부인방지(nonrepudiation)라는 카테고리를 추가해서 모델을 보완하고 있다. 이 카테고리는 모든 보안 공격, 위험, 취약성에 대비하기 위한 전반적인 보안 활동을 분류하기 위한 모델로서 기업에서는 필요한 보안활동을 이 카테고리로 분류해서 체계적으로 관리할 수 있을 것으로 보인다. 1) 기밀성 Confidentiality - 허용되지 않는 사용자(시스템).. 더보기
02. 조직 정보 보안 프레임워크 모델 설명 보안은 기본적으로 "공격,위험, 취약"에 대한 "수비, 대책 활동"을 말한다. 정보 보안은 "정보와 정보 시스템"을 보호하기 위한 기술적, 관리적, 제도적인 총체적인 보안 활동을 말한다. 따라서 공격을 구체적으로 잘 아는 만큼 수비도 잘 할 수 있다. 그러나 이번 시리즈에서는 지금까지 알려진 공격들을 분석해서 기업들에서 자신만의 구체적인 수비 방법을 구현해나갈 수 있도록 수비의 큰 그림을 그릴 것이다. 즉 기업에서 참조할 수 있는 레퍼런스 모델을 작성하는 것이다. 여러 자료들을 살펴보면 기업에서의 보안 활동을 정리하기 위해서 다양한 관점에서 표현된다. ■ 전사 보안 프레임워크 - "기술적", "물리적", "관리적", "제도적" 보안 활동을 성격에 따라서 "기술적", "물리적", "관리적", "제도적" 카.. 더보기
01. 아키텍처 관점의 정보보안 엔터프라이즈 시스템의 요구사항중에서 보안에 대한 요구는 점점 강화될 것이다. 이전에는 개인 정보를 주로 다루는 금융이나 대형 쇼핑몰 사이트등 조금 좁은 업종을 대상으로 개인 정보 보안이 강조었지만, 그런 업종에서의 대형 개인 정보 유출 뿐만 아니라 원자력 발전소, 할인마트 등에서의 정보 유출 등이 계속 발생함으로써 이제는 법규를 통해서 보안을 강제할 단계가 된 것으로 본다. 이렇게 법규로 정해지면 형평상 어떤 업종은 유예기간을 두고 할 수 있는 것이 아니다. 모든 기업의 정보 시스템은 법에서 요구하는 보안 사항을 지켜야 한다. 보안과 관련된 요구사항은 여러가지가 있을 수 있다. 모의해킹에서 취약한 점이 발견되어서 코드의 보안을 강화하고, 암호화를 하고 접근제어를 하고 누가 언제 어떤 정보에 접근했는지 로.. 더보기
[메모] Cross-domain 해결 방법 실버라이트에서의 Cross domain 해결 실버라이트도 웹 클라이언트 기술이기 때문에 클라이언트측의 웹 브라우저의 보안 샌드 박스에서 실행된다. 또한 웹 사이트 접근 제한 정책에 영향을 받는다. 그중의 하나가 하나가 바로 Cross-domain 접근 제한이다. 이게 뭐냐면, 한 domain에서 호스팅이되고 있는 웹 애플리케이션이 다른 domain에서 호스팅되고 있는 애플리케이션에는 기본적으로 접근할 수 없다는 것이다. 그러나 웹 애플리케이션에서 특정 도메인으로부터의 접근을 허용해주는 방법이 있다. cross-domain 정책 파일로 알려진 xml 파일을 이용하면 이런 접근에 대한 제한을 해제할 수 있다. clientaccesspolicy.xml crossdomain.xml 서비스를 제공하는 웹 애플리케.. 더보기
[메모] CLR v4 Security Policy Roundup .NET Security Blog 이 블로그의 주인이 어떤 사람인지는 모르겠지만, 이 포스트들을 읽다 보면 재밌다. 그래서 자주 들러보는 블로그중의 하나다. 이번에도 이 블로그에 올라온 글을 하나 메모해 두려 한다. CLR v4 Security Policy Roundup 더보기
[메모] Tying your IE Hosted Control to a Manifest .NET Security Blog에서 있는 포스트이다. Tying your IE Hosted Control to a Manifest I talked about the Orcas feature which allows you to provide a manifest to elevate your control's permissions declaratively. We also saw how to generate manifests that would state what permissions your control needs (and the rules associated with those manifests). Now it's time to tie it all together and create an HTML pag.. 더보기
[메모] Manifests for IE Hosted Controls Manifests for IE Hosted Controls how to generate manifests that would state what permissions your control needs (and the rules associated with those manifests). 더보기
[메모] Specifying Permissions for IE Controls in Orcas Specifying Permissions for IE Controls in Orcas Granting managed controls hosted in IE extra permissions. If you need to have a managed control run above its default grant set, the process getting this working in .NET versions through .NET 2.0 was relatively painful. ... 더보기
[연재 06] 레거시 프로그램과의 호환성 지원 Vista는 보안을 위해서 새로운 보안 모델을 내놨고 따라서 이전 Windows에서는 관리자 계정으로 로그온만 하면 잘 실행되던 프로그램이 이제는 관리자로 로그온하더라도 권한 부족으로 실행에 실패할 상황에 처하게 되었다. 따라서 Vista는 실행 권한이라는 측면에서 이전 프로그램과의 호환성을 해결할 필요가 있게 되었다. 앞 포스트에서는 개발자가 UAC의 토큰 판단에 영향을 미칠 수 있는 방법에 대해서 알아봤다. 개발자에게는 그것이 중요한 내용이라 본다. 이제 이 포스트에서는 UAC가 권한 상승을 스스로 판단하는 기능 그리고 어떻게 레거시 프로그램들과의 호환성을 지원하고 있는지에 대해서 알아보겠다. 여기서 다룰 것은 다음 3가지를 포함한다. ▶Vista의 인스톨러를 자동 인식하는 기능 ▶PCA(Progra.. 더보기
[연재 05] Vista가 자동으로 관리자 토큰을 사용하도록 하는 방법 프로그램이 실행되는 도중에 권한 부족으로 프로그램이 중단되었다는 메세지는 신뢰도에 치명적이지 않을 수 없을 것이다. 그렇다면 프로그램이 시작되기 전에 관리자 권한이 필요하다는 것을 어떻게 UAC에게 알릴 것인가에 대한 것이 달봉이가 이전 포스트에서부터 기록하고 싶은 주제중의 하나이다. 그렇다고 동의 확인 창 또는 관리자 계정 요청 창이 뜨게 하지 않을 수는 없다. 관리자 권한이 필요하다면 사용자로부터의 확인을 요하는 창은 뜨게 되어 있다. 결국 개발자는 어떻게 하면 이 확인창을 뜨게 할 것인가를 고민해야 하는 것이 이 포스트들의 주요 내용이라고 할 수 있다. 앞 포스트에서는 사용자가 직접 Vista(UAC)에게 관리자 토큰을 사용하도록 하는 하는 방법에 대해서 알아봤다. 이번 포스트에서는 프로그램을 실행.. 더보기
[연재 04] 관리자 토큰을 사용하도록 사용자가 직접 Vista에 일러주는 방법 Administrator Approval Mode의 관리자는 로그온을 하게 되면 일반 사용자 계정의 토큰을 사용하게 된다는 것은 이제 이해했다. UAC의 사정이 이러하므로 관리자 권한이 필요한 어플리케이션을 시작할때는 반드시 Windows에 관리자 토큰을 사용하도록 말해 줄 필요가 있다. 그렇지 않으면 Windows는 아무 생각없이 일반 사용자 토큰으로 프로그램을 시작할 것이고 그러다가 관리자 권한이 필요한 부분에서는 권한 부족으로 프로그램이 작동하지 않게 될 것이다. 이 포스트에서는 Windows에 관리자 토큰을 사용하도록 일러주는 방법으로서 사용자가 직접 조치를 취하는 방법을 알아본다. 그리고 다음 포스트에서는 사용자가 직접 일러주지 않더라도 Windows가 자동으로 인식해서 관리자 토큰을 사용할 수.. 더보기
[연재 03] Deeper into the UAC 앞의 포스트를 요약해보면 다음과 같다. "관리자 권한이 필요한 프로그램이 권한 관련해서 에러없이 실행되도록 하려면, 1) 사용자가 관리자 계정으로 프로그램을 실행시키든지 2) 프로그램 자체가 관리자 계정으로 실행되어야 한다는 것을 Windows에게 알려줄 수 있어야 한다. 여기까지는 나름대로 깔끔한 정리이다. 그러나 구체적으로, 언제 UAC에게 언제 어떻게 관리자 토큰을 사용하라고 일러줄 수 있는지에 대한 질문들이 남아있다. 그 질문에 대한 답을 바로 들어가기 전에 이 포스트에서는 토큰(token)의 구조를 좀 더 깊게 알아보자. 어떻게 보면 프로그래밍과는 직접적인 관계는 없으나 보안과 관련된 지식으로써 알아두면 나중에라도 도움이 될 것이다. 토큰(Token)의 구조 토큰은 사용자가 로그온을 하게 되면 .. 더보기
[연재 02] 분리된 토큰 모델(Split token) 달봉이는 Wndows의 보안에 대해서는 잘 모른다. 그러나 UAC를 이해하기 위해서는 기본적인 내용은 알고 있어야 할 것 같아서 이전 Windows의 보안에 대해서 간단히 정리하고 Vista의 UAC 얘기를 계속하겠다. ■ 이전 Windows의 Security Basics 이전 Windows의 보안 모델을 간단히 풀이하면 다음과 같은 그림으로 정리될 수 있을 것 같다(그림이 잘 되었는지는 누구의 검증도 안받았다 -_-;;) [그림] Windows Security Basics 사용자가 로그온을 하면 "토큰(token)"이라는 것이 메모리에 생성된다(1). 토큰에는 사용자가 누구이며 어떤 권한을 갖는가를 정의하는 데이터 구조이며 유일한 값을 갖는다. 사용자가 로그온 후 "diary.doc"라는 워드 문서를 .. 더보기
[연재 01] An Overview Of UAC UAC는 다시 한번 더 체계적으로 정리할 필요가 있을 것 같다. 뭐든지 튼튼한 기본이 중요한 법인데, UAC는 프로그래밍시 기본적으로 이해하고 있어야 하는 새로운 컨셉일 것이라는 생각에서이다. 해서 체험기부터 해서 다시 나름대로 신경써서 함 정리해보려 한다. UAC라는 것은 머신을 제외한 모든 사람들은 싫어할 것 같은 특징중의 하나인 것 같다. 사용자도 그렇고 개발자도 그렇고 그리고 관리자도 그렇게 좋아할 것 같지는 않다. 처음에 달봉이도 상당히 당혹스러웠다. 그러나 한편으로는 개발자로서의 호기심이 발동하기도 했다. 이번 연재에서는 체험기에서부터 다시 시작해서 나름대로 UAC에 대한 필요성을 알아보고 그리고 구체적으로 개발시 어떻게 해결해야 하는지를 알아보겠다. ■ UAC 시작하기 Vista를 설치하는 .. 더보기
Documents and Settings 이 보이지 않는다. 사용자 프로파일별 폴더와 데이터가 저장되던 "Documents and Settings"라는 폴더의 이름이 달봉이에게는 이상하게 보였는데, 이것이 없어질 모양이다. 이 폴더 역할을 하는 새로운 폴더가 Vista에서는 "사용자"라는 좀 더 그럴싸한 이름으로 생기게 되었다. 그러나 "Documents and Settings" 폴더도 완전히 없어진 것은 아니다. 내부적으로 숨겨져 있고 NTFS 퍼미션을 설정해서 "Everyone 그룹"이 "Documents and Settings"에 접근해서 읽을 수 없도록 했다. 결국 직접 "Document and Settings"폴더에 직접 접근해서 데이터를 쓰려고 하면 실패하게 될 것이다. 그럼, 이전에 "Documents and Settings"라는 폴더에 데이터를 쓰던.. 더보기
Vista의 가상화(Virtualization) Vista에서는 일반 사용자(Administrators 그룹에 속한 사용자 포함)는 시스템에서 보호되는 디렉토리 또는 레지스트리에 직접 쓰지 못하도록 하고 있다. 보호받는 디렉토리와 레지스트리 경로는 다음과 같다. (%SYSTEMROOT%, %PROGRAMDATA%, %PROGRAMFILES%\(서브디렉토리) HKEY_LOCAL_MACHINE\SOFTWARE 그럼, 기존에 이런 곳에 접근해서 데이터를 저장하고 있는 어플리케이션은 모두 사용할 수 없게 되는 것인가. Vista에서는 "임시"로 이런 어플리케이션의 호환성을 위하여 가상화 기술을 도입하고 있다. 어플리케이션에서 보호받는 디렉토리와 레지스트리에 데이터를 쓰려고 하면 Vista에서는 런타임시 그 경로를 사용자별 경로로 자동으로 변경시켜 준다. %S.. 더보기
내 PC의 UAC정책 설정 내용을 보자. 그룹 정책 편집기를 실행시켜 보면 현재 내 PC에 설정된 정책 내용을 볼 수 있는데, 이곳에서 UAC 정책 설정 내용도 볼 수 있다. "시작->검색 시작->gpedit.msc" "로컬 컴퓨터 정책->컴퓨터 구성->Windows 설정->보안설정->로컬 정책->보안 옵션"을 선택하면 그림과 같은 내용의 UAC 설정을 볼 수 있다. [그림] 내 PC의 UAC 정책 설정 이 설정 내용을 보면 UAC에 의해서 어떤 일들이 일어나는지를 알 수 있고 그래서 UAC 개념에 대한 이해에도 도움이 될 것이다. 다음은 각 정책을 더블 클릭했을 때 나오는 설명들로서, 몇가지 확인해봐야 하는 내용도 있지만 그대로 복사해 놓고 있다. 1. 각 사용자 위치에 파일이나 레지스트리를 쓰기 오류 발생할 때 가상화 : 사용 사용자 계정 .. 더보기
기본 제공 관리자(built-in Adminitrator) 계정을 보여줘 Administrators 그룹에 속한 관리자와 기본 제공 관리자(Built-in Administrator)는 구분된다. 기본 제공 관리자는 UAC의 적용을 받지 않는다(Administrator 여부를 체크하지 않는다기 보다는). 따라서 높은 권한을 필요로 하는 프로세스를 실행시키더라도 보안창을 띄우지 않는다. 그러나 기본 제공 관리자 계정으로 로그온하는 것은 Vista에서는 비추천이다. 하여튼, 처음 Vista를 설치해서 로그인을 하려고 하면 Administrator 계정이 보이지 않는다. 달봉이는 약간 당황했다. [그림] 로그온 계정 Vista에서는 기본적으로 이 관리자 계정은 사용하지 못하도록 설정되어 있다. 이 계정이 나타나도록 하려면 설정을 하나 변경해야 한다. 시작->실행-> gpedit.ms.. 더보기
UAC( User Account Control) Windows Vista를 공부하기 시작한지는 얼마되지 않았지만 지금까지 훑어본 바로는 개발자에게 제일 먼저 영향을 끼칠만한 것이 바로 새롭게 등장한 UAC 보안 모델일 것으로 보인다. 이것때문에 개발 패턴이 변경될 것으로 보이고 나아가서는 분명 프로그램 사용에 있어서 지금까지와는 다른 사용자 경험을 제공하게 될 것이다. 해서 이번 포스트에서는 UAC를 알아보고 결국 이녀석으로 인해 개발과 배포에 변화가 생기게 될텐데, 아직 직접 테스트는 해 보지 못한 상태이지만 그래도 컨셉적으로나마 그 가이드를 정리해 보고자 한다. ■ UAC가 뭣이여 이것은 무슨 컨트롤이여. 윈도우 컨트롤이여, 웹 컨트롤이여. 아니란다. 윈도우, 웹 컨트롤의 컨트롤은 이름씨(명사)인 반면 UAC의 컨트롤은 움직씨(동사)이다. 얼른 떠.. 더보기