BLOG
*테크 리뷰 원문 보기[영문] : AWS Security Lake_OCSF v1.1 is here. What does it mean to you?
Introduction to Amazon Security Lake
2023년 처음 소개된 Amazon Security Lake에 대해 들어보셨나요?
서비스 이름에서 유추하실 수 있듯, Security Lake는 보안 로그들이 적재된 Data Lake를 손쉽게 구축할 수 있도록 지원해주는 서비스입니다. 많은 고객사께서 이미 Cloud Natvie Log들을 저장하고 있어, 어떤 차이가 있는지 궁금해 하실 수 있을텐데요,
이 서비스는 독립된 스트림으로 로그를 저장 할 수 있으며, Organization 관점에서 하위 Account들과 여러개의 Region에서 로그 수집을 한번에 할 수 있어 어떤 계정의 어떤 리전의 로그가 미설정되어 있는지에 대한 현황 파악을 중앙에서 할 수 있고, 새로운 Account가 대상이 되더라도 1분 이내로 설정이 가능하다는 것이 큰 장점입니다.
또한, Security Lake를 활용하면 AWS Native Log 뿐만 아니라 다양한 3rd Party 보안 로그를 쉽게 구독하고 S3에 로그를 적재할 수 있습니다. 이러한 로그는 효율적인 데이터 압축 및 저장 기능으로 잘 알려진 Parquet 파일 형식을 사용하여 OCSF(Open Cybersecurity Schema Framework) 스키마에 맞게 수집 및 저장하기 때문에 다양한 서비스 및 솔루션의 로그 데이터 처리를 위한 리소스 및 시간도 줄일 수 있을 것입니다.
이렇게 독립된 스트림으로 로그를 저장한 후에 어떻게 효율적으로 잘 활용할 수 있을지도 많이들 궁금해 하실겁니다. 아시다시피, 보안 컴플라이언스 및 거버넌스 측면에서 가장 중요하면서도 어려운 영역이 바로 사고예방 및 모니터링인데요. Security Lake 서비스를 통해 워크로드 내 모든 보안 리소스에서 발생되는 데이터를 단일화된 규격인 OCSF으로 정규화하여 S3에 저장하고, 다양한 Subscriber Tool을 활용한다면 통합 보안 시스템을 구축하여 보안 위협 대응을 위한 체계를 확보할 수 있습니다.
Subscriber Tool은 Amazon Athena, Amazon Redshift, Amazon QuickSight 등의 다양한 AWS 서비스를 활용하여 구성할 수 있으며, 또는 Imply, Splunk 등 3rd Party Subscriber Tool을 활용할 수 있습니다. 기업 고유한 환경에 맞는 Subscriber Tool을 활용한다면 조금 더 쉽고 효율적인 로그 데이터 분석 및 시각화 뿐만 아니라, 기업이 원하는 보안 요구 사항에 맞게 확장 가능하고 유연하게 구성하여 구성할 수 있습니다.
What is OCSF?
앞서 OCSF에 대해 언급했었는데, OCSF는 ‘Open Cybersecurity Schema Framework’의 약자로 Splunk, AWS, IBM 등의 보안 및 많은 기술 회사가 진행한 오픈 소스 프로젝트로, 보안 데이터 사일로를 제거하고 보안 도구 전반에 걸쳐 데이터 형식을 표준화하여 보안 위협에 대한 탐지 및 분석을 위해 개발된 프레임워크입니다.
많은 기업에서는 다양한 보안 솔루션 및 서비스를 이용하고 있을텐데요, 서로 다른 보안 솔루션은 서로 다른 데이터 형식을 사용하기 때문에 보안 및 탐지 시 사이버 공격을 식별하고 대응하는 데 필요한 분석 및 조사를 수행하기 전에 데이터를 정규화하는 데 시간과 리소스를 소비하게 될 것입니다. 하지만, 해당 프레임워크를 사용한다면 보안 관련 데이터 및 로그를 동일한 구조와 포맷으로 관리 및 공유함으로써, 보안 팀에서 데이터 정규화에 소비하는 많은 시간과 에너지 대신에 데이터 분석, 위협 식별, 사이버 방어 자체에 주력하고 프로세스를 간소화 시킬 수 있도록 합니다. 또한, OCSF는 사이버 보안 분야의 다양한 이벤트 타입과 케이스에 적용될 수 있게 개발되었으며, 지속적인 업데이트와 개선이 진행되기에 더욱 더 많은 곳에서 OCSF 포맷을 사용할 수 있을 것입니다.
OCSF v.1.1.0
지난해 v1.0.0이 System Activity, Findings, Identity&Access Management, Network Activity, Discovery, Application Activity 6가지의 Category로 분류되어 최초 공개되었습니다.
OCSF 는 기본적으로 ① Data Types/Attributes and Arrays, ② Event Class, ③ Category, ④ Profile, ⑤ Extension으로 분류되어 있습니다. (세부 설명은 OCSF github 참고)
① Data Types, Attributes and Arrays
- Data Type의 유형은 문자열, 정수, 부동 소수점 숫자 및 불리언 등과 같은 데이터 유형
- attribute는 스칼라 또는 복합 데이터 유형(object라 정의 됨) 중 특정 유효한 데이터 타입에에 대한 고유한 식별자 이름
② Event Class
- 이벤트의 의미를 자세히 설명하는 속성 집합을 구성
③ Category
- Event Class를 Category 별로 그룹화
- System Activity, Findings, Identity&Access Management, Network Activity, Discovery, Application Activity
④ Profile
- Event Class와 Object의 추가적인 관련 특성
⑤ Extension
- 코어 스키마의 수정 없이 프레임워크를 사용하여 스키마를 확장 가능
- Linux, Windows, macOS
최초 공개 이후 올해1월 v1.1.0 으로 업데이트가 진행되었으며, 주요 업데이트 내용으로는 새로운 이벤트 클래스(Event Classes), 프로파일(Profiles), 오브젝트(Objects)가 추가 및 변경되었습니다.
세부 내용은 아래에서 살펴볼까요?
유형 | 세부 내용 |
Event Classes | ‘User Inventory Info’ 추가 |
‘Vulnerability Finding’ 추가 | |
‘NTP Activity’ 추가 | |
‘OS Patch State’ 추가 | |
‘Datastore Activity’ 추가 | |
‘Detection Finding’ 추가 | |
‘Incident Finding’ 추가 | |
‘Device Config State Change’ 추가 | |
‘Scan Activity’ 추가 | |
‘File Hosting Activity’ 추가 | |
Profiles | 네트워크 활동 및 애플리케이션 활동 클래스를 위한 ‘Network Proxy’ Profile 추가 |
네트워크 활동 클래스를 위한 ‘Load Balancer’ Profile 추가 | |
Objects | ‘cve’ 및 ‘vulnerability’ objects에 새로운 ‘cwe’ object 추가 |
Firewall Rule object 추가 | |
지식 베이스 아티클 정보를 위한 새로운 ‘kb_article’ object 추가 | |
‘cve’ object에 새로운 ‘epass’ object 추가 |
OCSF v1.1.0 에서의 추가된 세부 내용
System Activity [1] | Findings [2] | Identity & Access Management [3] |
|
|
|
Network Activity [4] | Discovery [5] | Application Activity [6] |
|
|
|
OCSF v1.1.0 에서 추가된 Class Type
기존 OCSF v1.0.0의 Findings 카테고리에서는 취약점, 컴플라이언스, 탐지, 위협에 대해서는 모두 Security Finding으로 클래스가 정의되어 있었지만, 세부적으로 Vulnerability Finding, Compliance Finding, Detection Finding, Incident Finding(linux)의 Event Class가 추가되어 AWS Security Hub 등의 보안 조사 결과를 OCSF v1.1.0에서도 사용할 수 있게 되었습니다.
또한 Network Activity 카테고리에서는 NTP Activity 클래스와 Discovory 카테고리에서는 User Inventory Info, Operating System Patch State, Device Config State Change, Registry Key/Value Info, Prefetch Info 클래스가 새롭게 추가되었습니다. Application Activity 카테고리에서는 Datastore Acitivity, File Hosting Activity, Scan Activity의 클래스가 새롭게 추가되며 다양한 보안 로그 및 이벤트 등을 각 유형에 적합하고 보다 구체적인 이벤트 클래스에 매핑하여 데이터를 간결하게 표현하고 사용성을 개선할 수 있도록 업데이트가 되었습니다.
유형 | 세부 내용 |
Categories | 새로운 도메인별 Event Class(Vulnerability Finding, Compliance Finding, Detection Finding, Incident Finding)가 포함된 개선된 범주와 설명이 업데이트 |
Event Classes | ‘Account Change’ Event Class에 ‘activity_id’에 ‘MFA Enable’과 ‘Disable’ 추가 |
‘Authentication’ Event Class의 ‘activity_id’에 ‘Service Ticket Renew’ 추가 | |
‘Network Activity’ Event Class에 ‘url’ attribute 추가 | |
‘Web Resources Activity’ Event Class에 ‘http_request’,’http_response’,’tls’ attribute, ‘network proxy’ profile 추가 | |
‘DNS Activity’ Event Class에서 ‘dst_endpoint’ 요구 사항을 ‘required’에서 ‘recommended’로 변경 | |
‘Group Management’ Event Class에서 ‘activity_id’에 ‘Create’ 및 ‘Delete’ 추가 | |
Profiles | 액세스 컨트롤 시맨틱스, 방화벽 속성을 포함하도록 ‘security_control’ profile 개선 |
Objects | ‘product’ 및 ‘web_resource’ object에 ‘url_string’ attribute 추가 |
‘endpoint’ object에 ‘type’ 및 ‘type_id’ attribute 추가 | |
‘cve’ object에 ‘cwe’, ‘desc’, ‘references’ 및 ‘title’ 추가 | |
‘affected_package’ object와 ‘affected_packages’ attribute를 ‘vulnerability’ object에 추가 | |
‘package’ object에 ‘purl’ 추가 | |
‘product’ 및 OS object에 ‘cpe_name’ attribute 추가 | |
‘response’ 및 ‘request’ object에 ‘container’와 ‘data’ 추가 | |
‘api’ object에 ‘group’ 추가 | |
‘resource_details’ object에 ‘namespace’ 추가 | |
‘metadata’ object에 ‘log_level’ 추가 | |
‘http_request object’에 ‘length’ 추가 | |
‘vulnerability’ object에 ‘is_exploit_available’ 추가 | |
‘group’ object에 ‘domain’ attribute 추가 | |
‘dns_query’, ‘dns_answer’ object에 attribute 요구사항 변경 | |
엔드포인트 ‘type_id’ 열거형에 방화벽, 라우터, 스위치, 허브가 추가 | |
‘session’ object에 ‘is vpn’ 추가 | |
‘network_connection_info’ object에 ‘state’ 추가 |
OCSF v1.1.0 에서의 추가된 세부 내용
새롭게 추가된 Event Class, Profile 및 Objects 뿐만 아니라 v1.0.0 에서 세부적인 사항들도 개선된 것들이 많습니다. ‘Account Change’ 이벤트 클래스에 ‘activity_id’에 기존에 없던 ‘MFA Factor Enable’과 ‘MFA Factor Disable’ 값을 추가하여 계정에 대한 MFA 인증이 활성화 여부를 세부적으로 확인을 할 수 있도록 하였으며, ‘Web Resources Activity’ 이벤트 클래스에 ‘http_request’,’http_response’를 추가함으로써 http 요청 및 응답에 대한 세부 정보를 확인할 수 있게 되었으며, ‘tls’ attribute가 추가되어 tls에 대한 속성 등을 확인할 수 있는 등 로그에 대해 세부적이고 명확하게 매핑되도록 개선된 것을 확인할 수 있습니다.
위의 변동 사항 외에도 대체 혹은 사용하지 않는 여러 attribute 및 object의 변동이 있었으며, SentinelOne Extension이 추가되거나 데이터 타입 등에 대한 유효성을 위해 수정하는 등 다양하게 v1.1.0에서 업데이트 되었습니다.
v1.1.0 에 어서 가장 최신 버전인 v1.2.0이 4월에 따끈하게 업데이트가 되었습니다. v1.2.0은 아직까지 Security Lake에서 소스 버전을 지원하고 있지 않지만(24년 4월 기준), 곧 만나보실 수 있을 것 같습니다.
간략하게 업데이트 된 v1.2.0 내용을 아래에서 살펴볼까요?
유형 | 세부 내용 |
Event Classes | ‘Data Security Finding’ event class 추가 |
‘File Query’ event class 추가 | |
‘Folder Query’ event class 추가 | |
‘Group Query’ event class 추가 | |
‘Job Query’ event class 추가 | |
‘Kernel Object Query’ event class 추가 | |
‘Module Query’ event class 추가 | |
‘Network Connection Query’ event class 추가 | |
‘Networks Query’ event class 추가 | |
‘Peripheral Device Query’ event class 추가 | |
‘Prefetch Query’ event class 추가 | |
‘Process Query’ event class 추가 | |
‘Registry Key Query’ event class 추가 | |
‘Registry Value Query’ event class 추가 | |
‘Service Query’ event class 추가 | |
‘Session Query’ event class 추가 | |
‘User Query’ event class 추가 | |
‘Tunnel Activity’ event class 추가 | |
Profiles | ‘data_classification’ profile 추가 |
Objects | ‘auth_factor’ object 추가 |
‘data_security’ object 추가 | |
‘autonomous_system’ object 추가 | |
‘agent’ object 추가 | |
‘data_classification’ object 추가 | |
‘port_t’, ‘subnet_t’, ‘cmd_line’, ‘country pid’, ‘cwe.uid’, ‘cve.uid’, ‘user_agent’ enum 추가 |
OCSF v1.2.0 Added
v1.2.0는 전반적으로 Discovery 카테고리에서 Kernel, Folder, File, Module, Networks 등 Query와 관련된 이벤트 클래스가 많이 추가 되었습니다. 커널 리소스에 대한 정보, 시스템에 있는 파일 및 폴더에 있는 정보, 로드된 모듈 등에 대한 정보들을 각 시스템 및 유형에 따라 이벤트 클래스를 분류하여 로그 및 이벤트에 적합한 스키마로 변환이 가능해졌습니다. 또한, profile, object와 observable이 추가된 것을 확인할 수 있으며, v1.1.0에서 더욱 세분화된 이벤트 클래스 및 오브젝트에 다양한 사용 사례에 대한 옵션 등을 추가되었습니다.
이처럼 지속적으로 OCSF에 대한 세부적인 연구와 업데이트를 진행하고 있으며, 이후에도 많은 곳에서 OCSF를 많이 사용할 것이며 사이버 보안 표준으로도 공식화될 것이라고 기대합니다.
앞서 이야기한 것과 같이 OCSF로 정규화하고 중앙화할 수 있는 서비스인 Amazon Security Lake와 함께 한다면, AWS Native Service 뿐만 아니라 3rd Party Solution의 보안 로그 및 이벤트도 효율적으로 통합하고 분석할 수 있습니다. 이를 통해 보안 데이터 관리를 일관되게 수행하고 데이터 준비 과정에서 필요한 시간과 노력을 크게 절감할 수 있습니다.
하지만 항상 처음 다루어보는 서비스에는 상당한 러닝커브 또는 경험이 요구 될 수 있는데요, 그러나 메가존클라우드에서는 Amazon Security Lake를 이용하는 다양한 오퍼링을 진행하고 있습니다.
작년 말, 메가존 클라우드가 한국 최초 Security Lake SDP(Service Delivery Partner)로 선정되었습니다!👍🏻
AWS는 파트너사의 특정 서비스에 대한 경험과 전문성을 심사 및 검증해 SDP로 선정합니다.
메가존클라우드는 AWS Premier Consulting Partner로 2,000+개 고객의 클라우드 도입, 최적화 등에 이르는 클라우드 여정을 지원해왔고, 이제 더 나아가 AWS Security Lake SDP로서 고객사의 Security Lake 도입을 위한 아래 컨설팅 및 구축 서비스를 제공합니다.
- 컨설팅: 고객의 보안 목표에 맞게 어세스먼트, 아키텍처 설계 진행
- 구축: 고객의 보안 목표에 맞게 어세스먼트, 아키텍처 설계 진행 이후 실제 구축 및 검증 진행
업계에는 수많은 보안 카테고리가 존재하고, 타사 MSP의 경우에는 보안 위협대응 및 컴플라이언스의 검토 및 평가를 위한 솔루션(CSPM, CWPP, CNAPP, SOAR 등)을 제공하고 있습니다. 메가존클라우드 역시 3rd Party CSPM, CWPP, CNAPP 라인업을 적극적으로 드라이브하고 있을 뿐 아니라, 이와 더불어 Security Lake 구축 및 컨설팅을 통해 고객의 보안 수준을 스스로 높일 수 있는 경험을 제공하게 된 것이죠. 메가존클라우드의 보안 컨설팅 및 구축 서비스의 차별점은, 고객께서 보안 목표를 정의 하시고 목표를 달성하기 위해 수 많은 서비스와 보안 솔루션에서 발생되는 데이터를 조립하여 하나의 결과물로 이용하실 수 있는 도구와 경험을 제공드리는 점이라고 생각이 되네요.
지금까지 Security Lake에 간략하게 알아봤는데, 더 궁금하시거나 간단한 데모를 보고 싶으신가요?
더 나아가 Security Lake 도입을 위한 컨설팅과 구축 서비스가 필요하신가요? 아래 메일로 연락 기다리고 있겠습니다~!
Written by 메가존클라우드 Cloud Technology Center
- Security SA 유승현 Team Leader
- Data Engineer 우대식 Manager
- AWS Ambassador, SA 백소정 Manager
- Security SA 이예은 Manager