블로그

Threat Stack Telemetry로 보안 가속화

F5 썸네일
F5
2022년 9월 23일 게시

Threat Stack은 이제 F5 Distributed Cloud App Infrastructure Protection (AIP)입니다. 오늘부터 팀과 함께 분산 클라우드 AIP를 사용해 보세요.

Threat Stack의 심층적이고 지속적인 원격 분석에는 많은 가치가 있습니다. 광범위한 분석을 통해 고객은 포괄적인 보안 데이터를 통해 클라우드 환경에서 무슨 일이 일어나고 있는지에 대한 전체적인 스토리를 얻을 수 있습니다. 물론 그들은 항상 이 데이터를 꼼꼼히 살펴보는 것은 아닙니다. 하지만 침해 발생 후나 규정 준수 화재 훈련 중에 가장 필요할 때, 당사의 세부적인 원격 측정을 통해 감사자가 보다 빠르게 법의학적 조사를 수행하고 아티팩트를 보다 쉽게 생성할 수 있습니다.

그렇다면 이 원격 측정은 어떤 모습일까요? 그리고 앞으로 어떤 사용 사례를 위해 설계하고 있을까요? 이 글에서 저는 그 질문의 첫 번째 부분에 답하고 두 번째 부분에서 어디로 향하는지에 대한 몇 가지 힌트를 제공하고자 합니다.

다음 예는 일반적인 공격자 기술을 시뮬레이션합니다. EC2 인스턴스 메타데이터 서비스를 사용하여 정보를 수집하고 환경에 대해 심층적으로 조사합니다. 첫 번째 단계로, 우리의 예제에서는 공격자가 이미 SSH 키를 훔쳤다고 가정합니다. 여기서, 다음에 무슨 일이 일어나는지 살펴보겠습니다.

 

당사의 조사 및 위협 스택 원격 측정

조사는 위협 스택에서 의심스러운 EC2 인스턴스 메타데이터 통신을 나타내는 높은 심각도 알림으로 시작되었습니다.

그림 1 : 위협 스택 원격 측정으로 보안 가속화

정보 버튼은 알림과 관련된 모든 원격 측정 정보를 표시합니다.

표 1: 위협 스택 원격 측정으로 보안 가속화

참고로: 사용자는 다양한 방법으로 자신의 환경에 맞춰 알림을 사용자 정의할 수 있습니다. 사실, 여기서 관찰할 다운스트림 행동 중 다수는 경고의 좋은 후보가 될 수 있습니다. 하지만 앞으로는 Threat Stack이 기록하는 원시 원격 측정에 집중할 것입니다.

이 알림에서 Threat Stack의 이벤트 검색 기능으로 전환할 수 있습니다. 이 기능은 사용자 환경에서 발생한 지난 3일간의 활동을 전체적으로 보여줍니다. 여기서는 agent_id를 사용하여 경고를 트리거한 EC2 인스턴스에 초점을 맞추고 SSH 로그인 활동을 살펴볼 수 있습니다.

그림 2: 위협 스택 원격 측정으로 보안 가속화

UI를 통해 시간 범위를 제한하고 있으며 내가 사용하는 위협 스택 이벤트 검색 쿼리는 다음과 같습니다.

event_type = "로그인" AND agent_id = "436dd34c-f795-11ea-a752-21e3e3eb7c50"

경고와 마찬가지로 Threat Stack 이벤트를 통해 기본 원격 측정 데이터를 모두 확인할 수 있습니다.

표 2: 위협 스택 원격 측정으로 보안 가속화

이제 로그인 이벤트를 분리했으므로 타임스탬프를 가져와서 검색 창을 더 좁힐 수 있습니다.

그림 3: 위협 스택 원격 측정으로 보안 가속화

쿼리를 통해 훨씬 더 작은 시간 창을 검사할 수 있는 방법은 다음과 같습니다(이러한 기술을 "에이전트 기반 사용자 활동을 추적하는 방법"에서 설명한 Threat Stack 수석 보안 분석가 Ethan Hansen에게 큰 감사를 전합니다).

agent_id = "436dd34c-f795-11ea-a752-21e3e3eb7c50" 그리고 이벤트 시간 >= 1600362902289 그리고 이벤트 시간 <= 1600362992764

우리는 로그인 직후의 사용자 동작을 살펴보고, Ubuntu AMI의 AWS 기본값인 사용자 "ubuntu"가 권한을 "root"로 승격한 것을 확인합니다. 다음으로, 시간 창을 약간 확장하고 공격자의 발자취를 계속 추적해 보겠습니다.

그림 4: 위협 스택 원격 측정을 통한 보안 가속화

여기서는 많은 일이 일어납니다. 첫째, 공격자가 서버에서 자격 증명 파일을 찾는 것을 볼 수 있습니다. Linux 명령은 성공적으로 실행되었지만 해당 파일 OPEN 이벤트가 없다는 것은 자격 증명 파일이 존재하지 않는다는 것을 의미합니다. (위협 스택은 FIM 이벤트에 대한 전체 CRUD 작업을 관찰합니다.) EC2 인스턴스에서 IAM 역할을 사용하고 있기 때문에 기본 자격 증명 파일이 존재하지 않습니다. 일반적으로 이는 모범 사례이지만 나중에 EC2의 IAM 역할에 대한 위생 관리가 제대로 되지 않으면 공격자에게 어떤 이점이 있는지 살펴보겠습니다.

공격자는 이 인스턴스에 역할이 부여되어 있음을 인식하고 curl https://169.254.169.254/latest/meta-data/iam/info를 사용하여 자신이 무엇을 작업하고 있는지 확인합니다. 역할 이름이 유망해 보였을 텐데, 다음 단계로 AWS 명령줄 인터페이스(awscli)를 설치해야 하기 때문입니다.

표 3: 위협 스택 원격 측정으로 보안 가속화

조사를 계속하면서 그들이 aws ec2 describe-instances 명령을 내렸다는 것을 알게 되었습니다.

그림 5: 위협 스택 원격 측정으로 보안 가속화
표 4: 위협 스택 원격 측정으로 보안 가속화

Threat Stack이 수집하는 전체 AWS CloudTrail 이벤트 스트림을 확인하여 역할이 작동했는지 확인할 수 있습니다.

그림 6: 위협 스택 원격 측정으로 보안 가속화

이 쿼리의 핵심은 다음과 같습니다.

event_type = "cloudtrail" AND userType = "AssumedRole"

“arnRole”이 assume-role/ec2VpcRole/i-08c9216f243e53fd4 로 설정되어 있음을 확인하면 이 EC2 인스턴스(인스턴스 ID i-08c9216f243e53fd4 )가 성공했음을 확인할 수 있습니다. 이제 공격자는 해당 환경 내 다른 EC2 인스턴스에 대한 정보(해당 인스턴스가 가지고 있는 역할과 관련 SSH 키 등)를 수집했습니다.

표 5: 위협 스택 원격 측정으로 보안 가속화

우리는 로그인 이벤트를 찾아 조사를 계속했고, 의심스러운 후보를 발견했습니다.

그림 7: 위협 스택 원격 측정으로 보안 가속화

기본 쿼리는 다음과 같습니다.

이벤트 유형 = "로그인" AND 이벤트 시간 > 1600362961

표 6: 위협 스택 원격 측정으로 보안 가속화

다음 쿼리에서 사용하기 위해 여기에서 "agent_id" 값을 가져오겠습니다. 동일한 타임스탬프와 함께요.

간결하게 하기 위해 다음 이벤트는 생략하겠지만 여기서는 동일한 동작을 관찰할 수 있습니다. 루트로 권한을 승격하고 awscli를 설치합니다. 다음으로, 메타데이터 서비스에 대한 호출을 건너뛰고 awscli를 사용하여 S3를 살펴봅니다.

그림 8: 위협 스택 원격 측정으로 보안 가속화
표 7: 위협 스택 원격 측정으로 보안 가속화

먼저 S3에서 해당 역할이 액세스할 수 있는 모든 버킷을 나열해 봅니다. 인스턴스가 역할을 맡을 수 있었는지 확인하려면 Threat Stack의 CloudTrail 이벤트로 이동할 수 있습니다.

그림 9: 위협 스택 원격 측정으로 보안 가속화

여기서 우리는 EC2 인스턴스가 S3에 액세스할 수 있음을 확인하는 arnRole 값인 assume-role/myS3Reader/i-03128a5b8b894002a 를 관찰할 수 있습니다. AWS의 권장 사항에 따라 S3 버킷에 대한 " 모든 퍼블릭 액세스 차단"을 따랐다는 점은 주목할 만합니다. 하지만 이 인스턴스는 프라이빗 VPC에 있기 때문에 EC2 인스턴스가 적절한 IAM 역할을 사용할 수 있는 경우 해당 설정으로는 보호받을 수 없습니다.

표 8: 위협 스택 원격 측정으로 보안 가속화

우리는 다양한 버킷을 검사하기 위해 후속 aws s3 명령을 관찰할 수 있지만(간결성을 위해 생략), 공격자는 결국 대상을 찾습니다.

그림 10: 위협 스택 원격 측정으로 보안 가속화

이제 비밀 데이터를 복사하여 비밀이 드러났습니다. aws s3 cp s3://omg-my-cookies/secret-data.txt secret-data-copy.txt

표 9: 위협 스택 원격 측정으로 보안 가속화

미래의 이상 탐지: ML 기반 통찰력을 갖춘 풀스택 원격 측정

Threat Stack은 런타임 시스템 전반에서 원격 측정 데이터를 지속적으로 수집합니다. 이 예에서는 SSH 로그인 이벤트, Linux 감사 이벤트, AWS CloudTrail 이벤트만 사용했지만 Threat Stack은 이러한 가시성을 전체 클라우드 스택, 즉 컨테이너, Kubernetes, Windows 서버, AWS Fargate 등으로 확장했습니다.

Threat Stack이 저장하는 자세한 이벤트 데이터를 통해 보안 분석가는 로그 수집과 수집을 건너뛰고 바로 법의학적 조사에 착수할 수 있습니다. 이는 일반적으로 여기에서 시뮬레이션한 단순화된 예보다 더 복잡합니다. 하지만 우리는 또한 머신 러닝을 통해 이 데이터를 활용할 수 있는 새로운 방법을 모색하고 있습니다. 모델에 풍부한 데이터를 공급하면 고객에게 더 나은 이상 감지 기능을 제공할 수 있기 때문입니다.

Threat Stack의 차기 ML 기능이 광범위한 보안 및 규정 준수 사용 사례를 지원하는 방법에 대해 자세히 알아보려면 Threat Stack 소프트웨어 엔지니어 Mina Botros의 "Apache Spark 및 Amazon EMR을 사용하여 Threat Stack의 데이터 파이프라인 최적화"를 확인하세요. 그리고 Threat Stack의 임박한 ML 기술 출시에 대한 추가 세부 정보를 곧 공개할 예정이니 기대하세요!

Threat Stack은 이제 F5 Distributed Cloud App Infrastructure Protection (AIP)입니다. 오늘부터 팀과 함께 분산 클라우드 AIP를 사용해 보세요.