정책 리스크를 파악하십시오. 정책에 대한 질문을 일상 언어로 하십시오. 데모 신청하기 →
Published:
Goodbye "Kill Chains", Hello "Attack Sequences"
by FireMon
몇 년 전 RSA Conference에서 저는 주요 클라우드 공격 "kill chain"에 관해 공동 발표를 했습니다. Shawn Harris @infotechwarrior와 저는 실제 환경에서 발생한 상위 10여 건의 클라우드 공격이라고 판단한 사례를 하나씩 살펴보았습니다. 각 공격에 대해 모든 단계를 짚어 보았고, 일부 공격은 여러 갈래로 나뉘어 서로 다른 선택지를 보여주었습니다.
저희는 이를 "kill chain"이라고 불렀지만, 엄밀히 말해 사이버 kill chain은 Lockheed Martin이 개발한 매우 구체적인 공격 모델링 기법입니다. 모든 공격은 정찰(Reconnaissance)로 시작해 규정된 일련의 단계를 거쳐 목표 실행(Actions on Objectives)에 이릅니다. 발표에서 저희는 Lockheed Martin의 결과물을 언급하면서, 규정된 단계에 스스로를 한정하지 않았다는 점에서 저희 접근 방식이 어떻게 다른지 설명했습니다. 대신 공격이 성공에 이르는 각 단계를 하나씩 짚었습니다. 이는 MITRE ATT&CK 도구와도 다릅니다. ATT&CK은 공격 기법을 범주로 분류하는 데 초점을 두며, 특정 공격이 모든 단계를 순서대로 거칠 것을 요구하지 않습니다. 또한 ATT&CK은 기법과 하위 기법에 대한 심층 모델링을 포함합니다.
두 도구 모두 공격을 모델링해 이를 차단할 보안 통제를 어디에 넣을 수 있는지 파악하는 데 도움이 됩니다. 저는 "kill chain"의 "chain"이라는 표현을 늘 좋아했습니다. 공격 성공으로 이어지는 단계 중 하나의 고리만 끊어도 공격을 멈출 수 있기 때문입니다. 다만... kill chain은 방위산업체가 만들어냈을 법한 어감이 있습니다. ATT&CK은 다른 접근을 취해 공격자의 TTP(전술, 기법, 절차)를 지식 베이스로 문서화합니다. 두 가지 모두 공격자가 어떻게 활동하는지 설명해 방어 체계를 정의하는 데 도움을 줍니다.
클라우드에서 얻은 착안
그 RSA Conference 발표의 애초 동기는 공격자가 클라우드 환경을 실제로 어떻게 침해하는지에 관한 공개 정보가 부족하다는 점이었습니다. 대부분의 연구는 연구자가 관심을 둔 흥미로운 주제를 반영할 뿐, 공격이 실제로 성공한 방식을 반드시 보여주지는 않았습니다. 저희는 ATT&CK과 사이버 kill chain을 깊이 검토하고 두 개념을 어느 정도 결합해, 주요 클라우드 공격별로 정확한 단계의 흐름을 도식화했습니다. 이러한 모델링은 여러 공격을 한꺼번에 차단할 수 있는 공통점과 병목 지점을 찾는 데 도움이 됩니다.
클라우드 공격에 관해 축적된 집단적 지식이 충분하지 않기 때문에, 방어자에게는 이러한 공격의 작동 방식을 더 잘 체득할 수 있도록 돕는 더 명료한 지도가 필요합니다.
실제로는 kill chain이 아니었음에도 저희는 그렇게 불렀는데, 약 6개월 전 저희 발표 자료를 내부적으로 도입한 어느 조직과의 통화에서 이런 말을 들었습니다. "이건 사실 kill chain이 아니라 attack sequence에 더 가깝습니다." 그 표현의 공은 전적으로 그분께 있는데, 누구와 이야기했는지 기억나지 않는 것이 참으로 아쉽습니다.
Attack Sequence는 공격이 성공하는 데 필요한 정확한 단계 순서를 도식화하고 동일한 최종 익스플로잇으로 이어질 수 있는 여러 경로를 담을 수 있기 때문에, 이 작업을 훨씬 더 잘 설명하는 표현입니다. 이 내용을 Twitter에 올렸더니 훌륭한 반응이 몇 가지 돌아왔습니다.




Attack Sequence 구성하기
Attack Sequence는 사전 정의된 범주를 갖춘 경직된 모델이 아닙니다. 그런 모델도 분명 나름의 쓰임새가 있지만, 여기서는 TTP를 서로 연결해 공격의 시작부터 끝까지를 보여주는 지도에 가깝다고 생각하시면 됩니다. Lockheed의 kill chain과 달리 Attack Sequence는 동일한 목적지로 향하는 여러 경로를 도식화할 수 있습니다. 클라우드 랜섬웨어를 예로 살펴보겠습니다.

이 모델은 몇 가지 지점을 부각합니다.
- 시작 지점은 두 가지, 즉 노출된 자격 증명 또는 침해된 워크로드입니다. 노출된 자격 증명에 대해서는 훨씬 더 상세한 내용을 담은 완전히 별개의 시퀀스가 있으며, 이 시퀀스는 랜섬웨어 공격에 집중하기 위해 그 시퀀스를 역참조할 수 있습니다.
- 공격자가 스토리지 접근 권한을 가진 침해된 워크로드에서 관리 플레인으로 이동할 수 있는 연결 지점이 존재하며, 또는 워크로드 내부의 데이터를 직접 다룰 수도 있습니다.
- 두 경로는 랜섬 노트 업로드 단계에서 다시 만납니다.
- 랜섬웨어로 이어지는 다른 시퀀스도 존재하지만, 여기서는 가장 일반적인 경로에 초점을 맞춥니다. 물론 모든 경우를 망라한 모델을 만드실 수도 있습니다.
- 시퀀스의 각 단계별로 TTP와 공격/침해 지표를 식별하고 문서화할 수 있습니다.
- 이는 일반적인 시퀀스이지만(대부분의 클라우드 제공업체에 적용됩니다), 이를 특정 제공업체나 특정 클라우드 서비스용 버전으로 확장하는 것도 어렵지 않습니다.
- 방어 체계를 구축한다는 것은 가능한 각 경로 또는 경로가 합류하는 지점을 끊는 것을 의미합니다. 참고: 노출된 자격 증명은 클라우드 공격 시퀀스의 대다수에서 확인됩니다.
이해하기 쉬운 유연한 접근 방식입니다. 제 예시처럼 상위 수준으로 유지하셔도 되고, 깊이 파고들어 구체적인 지표를 모델링하셔도 됩니다. ATT&CK과 매우 잘 어울린다고 생각합니다.
자동화된 공격이라 해도 그 뒤에는 공격자가 있습니다. TTP와 IoC를 아는 것도 중요하지만, 공격이 어떻게 하나로 연결되는지, 그리고 공격자에게 어떤 선택지가 있는지에 대한 큰 그림을 이해하는 것 역시 중요합니다.