제 목 | 정보시스템의 상시 모니터링을 위한 SCAP과 도구에 대한 소개 |
---|---|
등록일 | 2022-01-26 |
첨부파일 | |
정보시스템에 대한 상시 모니터링을 통해 보안체계를 유지하는 것은 중요한 정보보호 활동 중에 하나 의 작업이다. 상시 모니터링을 통해, 정보시스템에 대한 취약점을 발견할 수 있고 빠르게 대처할 수 있 는 정보보호체계를 구성할 수 있게 된다. 그러나, 대부분의 기업들은 침입을 방어하는 입장에서 정보보 호체계를 유지하려는 특성을 가진다. 즉, 사고가 발생했을 때, 정보보호를 위한 대응체계를 가동하게 된 다. 적극적인 정보보호 활동을 수행하기 위해서는 상시 모니터링을 할 수 있는 표준이 필요하며, 이를 위한 도구가 필요한데, 이 논고에서는 상시모니터링을 위한 표준으로 제시되고 있는 SCAP(Security Content Automation Protocol)에 대한 구성을 알아보고, 검증에 사용될 수 있는 도구들에 대하여 소 개한다. 1. 보안 표준화 및 자동화 동향 보안 자동화(security automation)는 특정 공통 보안 기능을 수행하기 위해 표준화된 규격 및 프로토콜을 사용하는 것으로 취약성 평가 소프트웨어를 예로 들 수 있다. 취약성 평가 소프트웨어는 각 정보시 스템에 대해 검사를 수행하여 패치되지 않거나 잘못된 보안 구성 설정(운영체제와 설치된 소프트웨어의 환경설정파일)여부와 같은 일련의 취약성을 확인한다. 보안 자동화 기술은 자산 관리(asset management), 구성 관리(configuration management), 취약점 관리(vulnerability management)가 상호 작용하면서 시스템을 효과적으로 관리하고 모니터링 할 수 있다. 각 보안 자동화 기술 구성요소는 개별적으로 사용할 때 유용하지만 취약점을 검증과 보고를 하기 위 한 여러 표준을 함께 사용하면 큰 이점을 갖게 된다. 많은 기업과 벤더는 이러한 표준을 결합하고 구성 요소가 함께 작동할 수 있도록 하는 방법을 보안 자동화 프로토콜(security automation protocol)로 정 의해 왔다. 하나의 표준은 여러 프로토콜에서 사용되며 각 프로토콜은 특정 목적을 위해 구성요소들이 함께 사용되는 방법을 정의함으로써 구성요소 표준을 기반으로 한다. 보안 자동화 프로토콜 중 가장 잘 알 려진 것은 SCAP이다. SCAP은 현재 버전이 1.3까지 NIST SP-800-125 Revision3에서 정의하고 있다. 2. SCAP의 구성 및 구조 SCAP은 컴포넌트 명세(component specification)들의 다중-목적 프레임워크이다. 컴포넌트 명세는 자동화된 환경설정, 취약점 그리고 패치 검사, 보안성 측정(security measurement) 그리고 기술적 제어 를 위한 내부통제(compliance) 활동들을 지원한다1). SCAP 1.3은 5가지의 범주에 대하여 20개의 컴포 넌트로 구성되어 있다. [표 1]은 SCAP의 5가지의 범주에 대하여 요약을 하였다. 언어 범주에서는 SCAP에서 사용되는 표준 어휘들과 보안 정책을 표현하기 위한 규칙들, 기술적 검사 메카니즘 그리고 수행된 결과들을 제공한다. 보고 형식 같은 경우에는 표준화된 형식으로 수집된 정보를 표현하기 위한 필수적인 구조를 제공한다. 식별 체계에서는 표준 식별 형식을 사용하여 소프트웨어 제 품, 취약점 그리고 환경설정 아이템들 같은 주요 개념들을 식별하기 위한 방법들을 제공한다. 측정과 스 코어링 시스템에서는 보안 약점(예를 들면, 소프트웨어 취약점과 보안 환경설정 이슈들) 중의 특정 특성 들을 평가하기 위하여 참조된다. 무결성에서는 SCAP의 내용들과 결과의 무결성을 보존하기 위하여 사용 된다. 열거(enumeration), 언어(language), 위험측정(risk measurement)의 세 가지 종류의 자동화 표준을 사용한다. 가) 열거 표준 (Enumeration Standards) 보안 열거(enumeration) 표준은 보안 자동화 요소에 대한 명명법이며 해당 명명법을 사용하여 표현 된 항목의 사전도 제공한다. 가장 널리 사용되는 보안 열거 표준은 CVE(Common Vulnerabilities and Exposures)로, 공개적으로 발표된 소프트웨어 취약성에 대한 고유 식별자를 제공한다. CVE는 식별자는 취약점 스캐너 및 침입 탐지 시스템 등에서 취약점을 참조할 때 사용되며 소프트웨어 판매 회사들은 제 품의 새로운 취약점에 대한 권고 사항을 발행할 때 CVE 식별자를 포함한다. CVE와 유사한 열거 표준으 로 CCE(Common Configuration Enumeration)와 CPE(Common Platform Enumeration)가 있다. CCE는 특정 운영체제의 개별 구성 설정과 같은 소프트웨어 보안 구성 문제에 대한 고유 식별자를 제공 하며, CPE는 하드웨어, 운영체제 및 응용 프로그램 버전에 대한 고유 식별자를 제공한다. 나) 언어 표준 (Language Standards) 보안 언어 표준은 보안 정책, 보안 검사 목록(checklist), 개별 보안 항목에 대한 검사를 수행하는 메 커니즘과 같은 보안 정보를 표현하기 위해 표준화된 어휘 및 규칙을 제공한다. 앞서 소개한 열거 표준을 통해 검사할 항목을 지정할 수 있는 경우, 언어는 일련의 검사를 프로파일에 제시하거나 해당 검사를 수 행하는 데 사용된 기술적 메커니즘에 대해 제품에 규정함으로써 검사 방법을 자세히 설명한다. (1) 체크리스트 언어 표준 체크리스트 언어 표준은 체크리스트 작성 및 실행에 사용되며 대표적으로 XCCDF(Extensible Configuration CHecklist Description Format)가 있다. XCCDF는 가장 많이 사용되는 보안 체크리스트 언어지만 보안 목적이 아닌 체크리스트 작성 및 실행에도 사용될 수 있을 만큼 유연하다. (2) 검사 언어 표준 검사를 위한 언어 표준은 보안 설정 확인, 알려진 취약점 검색, 패치 여부 확인, 컴퓨터에서 기타 정 보 수집과 같은 보안 검사를 수행하기 위해 설계되었으며 대표적으로 OVAL(Open Vulnerability and Assessment Language)이 있다. OVAL은 개별 보안 검사와 검사 결과 보고 시 사용된다. 개별 OVAL 검사를 직접 평가할 수도 있지만, 전체 검사 목록을 단일 XCCDF 체크 리스트로 컴파일하고 XCCDF가 필요한 OVAL 테스트를 호출하도록 하는 것도 가능하다. OCIL(Open Checklist Interactive Language)은 OVAL을 보완하기 위해 추가로 만들어진 보안 언어 표준이다. 다른 자료수집 작업을 통해 사용자나 기존 데이터 저장소로부터 정보를 수집하는 검사를 나타내는 언어로 설문 형식의 보안 평가를 수행할 수 있는 언어다. 예를 들어 OCIL을 사용하여 사용자에게 보안 관련 질문을 할 수 있다. OVAL과 마찬가지로 OCIL 설문지도 개별적으로 호출하거나 XCCDF 체크 리스트로 호출할 수 있다. 단일 XCCDF 체크 리스트는 OCIL 설문지와 OVAL 검사 및 기타 검사 언어 표준을 모두 호출할 수 있으며, 모든 검사 결과를 포함하는 단일 보고서를 작성할 수 있다. (3) 이벤트 언어 표준 이벤트 언어 표준은 보안 이벤트를 포함하여 컴퓨터 이벤트의 특성을 문서화하는 데 사용되며, 특히 로그 파일에서 표준화된 형식으로 표현될 수 있다. 관련 이벤트 언어 표준으로 이벤트 필드 사전을 포함 하는 CEE(Common Event Expression)가 있다. CEE는 주목할 만한 이벤트가 발생했다고 보고하는 공 통 언어를 제공하고 이벤트를 알아야 하는 사람들, 공유하는 방법을 정의하고, 수신 시스템이 이벤트를 해석하는 방법을 설명한다. 이를 통해 보안 자동화 커뮤니티가 효과적으로 정보를 공유할 수 있도록 돕 는다. (4) 자산 언어 표준 자산 언어 표준은 컴퓨터, 네트워크, 소프트웨어 및 하드웨어를 포함한 다양한 자산(asset)과 관련된 정보를 문서화하기 위한 프레임워크를 제공한다. 자산 식별(Asset Identification, AI) 표준을 사용하면 표준화된 표현을 사용하여 자산을 고유하게 식별할 수 있다. AI의 보완적 표준인 자산 보고 형식(Asset Reporting Format, ARF)은 표준화된 보고 형식과 자산에 대한 정보를 한 컴퓨터에서 다른 컴퓨터로 전송할 수 있는 방식으로 표현하는 방법을 정의한다. 이를 통해 보안 정보를 포함한 자산에 대한 정보를 보고할 수 있다. <사진 출처 : www.freepik.com> 3. 보안 평가를 위한 OVAL에 대하여 OVAL(Open Vulnerability and Assessment Language)은 컴퓨터 시스템의 상태를 평가하고, 취약점 을 보고하는 과정을 표준화하기 위하여 생성된 국제 정보보안 커뮤니티 표준으로, 시스템 관리자가 로컬 시스템상에서 시스템이 가지고 있는 특성 및 설정 정보들을 기반으로 취약점을 찾아내고, 평가하는 과정 을 거칠 수 있도록 한다. OVAL 언어는 시스템의 설정 정보를 수집하여 보안 정책을 준수하는지 테스트 한 뒤 결과를 XCCDF 컴포넌트로 넘기는 등 실질적으로 시스템을 평가하는 과정에 쓰이는 언어이며, 그 러한 점에서 SCAP 컴포넌트들 중 가장 중요한 역할을 하는 컴포넌트로 결론 지을 수 있다. OVAL을 이용하여 시스템을 평가하는 프로세스는 그림 36에서 나타나듯 크게 세 단계로 구분된다. 평 가하고자 하는 시스템의 설정 파일과 경로를 확인한 뒤, 수집하고자 하는 객체와 해당 객체의 상태를 OVAL 코드로 작성한다. 보안 스캐너 내에서 작성된 OVAL 코드를 이용하여 객체를 수집하고, 수집된 객체의 존재 여부나 상태를 이용하여 평가를 수행한다. 평가된 결과는 보안 스캐너에 의해 기본적으로 OVAL Results라는 XML 파일로 작성되며, 해당 결과를 XCCDF 컴포넌트에 넘겨 테스트 결과를 최종적 으로 보고하여 시각적으로 리포트를 표현하는 과정을 거친다. 4. SCAP을 이용하는 보안 모니터링 도구 및 모듈 시스템이 알려진 위협 및 취약점에 대응하는 것은 필수적이고 지속적인 프로세스이며, 대응하기 위한 보안 정책을 마련하고, SCAP을 이용하여 시스템 구성요소를 점검하는 모니터링 과정이 필요하다. 이에 SCAP 보안 프로토콜의 사양을 기반으로 한 보안 자동화 모니터링 도구들이 출시되었으며, 도구들은 작 성된 SCAP 문서를 기반으로 취약점 및 시스템 객체를 식별하고, 시스템의 보안 정책 준수 여부를 평가 및 보고한다. 5. 결어 운영체제 및 각 소프트웨어들은 유닉스나 리눅스 계열에서는 설정파일을 가지고 있고 윈도우즈에서는 레지스터리에 설정 정보들을 포함하게 된다. 이러한 설정 정보를 이용하여 운영체제나 소프트웨어들이 갖는 취약점(일반적으로 패치인 경우)을 파악할 수 있다. 이러한 취약점들은 NCP(National Checklist Program)8)에 보고 되고 있으며, 각 목표 시스템에 따라 분류하여 XCCDF 또는 SCAP 1.3 content 형 식으로 제공하고 있다. 국내에서도 SCAP과 같은 상시모니터링을 위한 체계를 갖도록 하는 연구가 필요 하고 이를 통해 소프트웨어를 생산하는 기업은 취약점을 제공하고, 일반 기업에서는 정보시스템의 취약 점을 모니터링할 수 있는 체계를 통해 상시 보안 취약점에 대한 적극적인 대책을 강구할 수 있도록 하 는 제도적인 변화가 요구된다. <자료 출처 : 한국인터넷 진흥원 KISA Library 안효범/공주대학교 인공지능학부 교수> |