Automated Root Cause Analysis of Security Incidents Using Causal Machine Learning
본 연구는 보안 사고에서 근본 원인과 하위 증상을 구분하기 위한 재현 가능한 인과적 머신러닝 프레임워크를 검증하며, 구조적 인과 그래프 내에서의 잔차 점수 산출이 특히 저노이즈 조건에서 메커니즘 변화를 식별하는 데 있어 주변 이상치 점수 산출보다 유의미하게 우수한 성능을 보임을 입증하는 동시에, 실제 환경 배포 및 인과 발견에 관한 한계점을 명시적으로 인정한다.
원본 논문은 CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
보안 시스템이 경보를 울릴 때, 즉각적인 과제는 단순히 무언가 잘못되었다는 것을 알아차리는 것이 아니라, 정확히 어디에서 문제가 시작되었는지 이해하는 것입니다. 현대의 네트워크는 누가 로그인했는지, 어떤 프로그램이 실행되었는지, 어떤 파일이 열렸는지, 그리고 권한이 어떻게 변경되었는지와 같은 데이터의 끊임없는 흐름을 생성합니다. 종종 연쇄 반응의 시작 단계에서 발생하는 단 하나의 작은 실수가 똑같이 수상해 보이는 일련의 기이한 사건들을 촉발할 수 있습니다. 만약 조사자가 가장 크거나 특이한 신호만을 본다면, 그는 원인을 증상으로 오해하여, 실제 문제는 상류에 숨겨진 채 하류의 결과만을 쫓게 될 수도 있습니다. 이를 해결하기 위해 연구자들은 인과 추론(causal reasoning)이라 불리는 사고방식에 주목하고 있습니다. 이 방식은 단순히 어떤 사건들이 함께 발생하는지를 묻는 대신, 어떤 사건이 실제로 다른 사건을 발생시키는지를 묻습니다. 이는 시스템을 연결된 톱니바퀴들의 집합체로 취급합니다. 즉, 한 톱니바퀴가 돌면 다음 것을 밀고, 그것이 다시 다음 것을 미는 식입니다. 목표는 가장 빠르게 회전하는 톱니바퀴가 아니라, 처음으로 툭 건드려진 첫 번째 톱니바퀴를 찾는 것입니다.
레하나 데바니(Rehana Devani)라는 연구자는 통제된 시뮬레이션 환경에서 그 첫 번째 톱니바퀴를 찾는 구체적인 방법을 테스트했습니다. 이 연구는 실제 세계의 해킹 시도나 살아있는 기업 네트워크를 분석하지 않습니다. 대신, 접근, 정책, 실행과 같은 것들을 나타내는 여섯 개의 뚜가적인 부분으로 구성된 보안 시스템의 디지털 모델을 구축합니다. 이 모델 내에서 연구자들은 각 부분들이 어떻게 연결되어 있고 서로에게 어떻게 영향을 미치는지 정확히 알고 있습니다. 그런 다음 연구진은 특정하고 인위적인 교란—시작 부분 중 하나에서 발생하는 갑작스러운 4단위의 행동 변화—을 도입하고, 그 파동이 나머지 시스템으로 어떻게 퍼져 나가는지 관찰합니다. 실험은 단순하지만 어려운 질문을 던집니다. 만약 시스템 전체가 이상하게 작동하고 있다면, 컴퓨터 프로그램이 변화가 일어난 단 하나의 시작 부분을 정확히 식별할 수 있을 것인가, 아니면 변화에 반응한 다른 부분들이 만드는 소음에 정신을 빼앗길 것인가?
연구진은 데이터를 바라보는 두 가지 방법을 비교했습니다. 첫 번째 방법은 '한계 점수 산출(marginal scoring)'이라 불리며, 이는 각 부분을 고립시켜 보고 "이 부분이 정상적인 상태와 비교했을 때 얼마나 특이한가?"라고 묻는 것과 같습니다. 이 접근법은 종종 실패하는데, 왜냐하면 단순히 문제에 반응하고 있는 부분도 원인이 된 부분만큼이나 이상해 보일 수 있기 때문입니다. 두 번째 방법은 '잔차 점수 산출(residual scoring)'로 알려져 있으며, 이는 더 정교합니다. 이 방법은 연결 지도를 사용하여 "이 부분으로 들어오는 부분들이 하고 있는 행동을 고려할 때, 이 부분은 정말 이상하게 행동하고 있는 것인가?"라고 묻습니다. 만약 어떤 부분이 단지 이웃들이 이상하게 행동하기 때문에 이상하게 행동하는 것이라면, 이 방법은 그 부분이 근원지가 아님을 인식합니다. 그러나 만약 어떤 부분이 이웃들이 정상적으로 행동할 때조차 이상하게 행동한다면, 그 부분은 유력한 범인으로 표시됩니다.
데이터가 완벽하게 깨끗하고 배경 소음이 없는 가장 이상적인 버전의 실험에서, 이 정교한 방법은 놀라울 정도로 잘 작동했습니다. 이 방법은 교란의 시작점을 거의 98%의 확률로 정확히 식별해 냈습니다. 부분들 사이의 연결을 무시한 더 단순한 방법은 약 87%의 확률로만 정확했습니다. 이 격차는 시스템의 구조를 이해하는 것이 진정한 원인과 증상을 분리하는 데 도움이 된다는 것을 보여줍니다. 하지만 연구는 이 방법이 데이터가 지저분할 때, 즉 실제 세계의 시스템이 흔히 그러하듯, 어떻게 버티는지도 테스트했습니다. 연구진은 불완도한 데이터 수집을 시뮬레이션하기 위해 측정값에 무작위 정적, 즉 센서 노이즈를 추가했습니다. 노이즈가 증가함에 따라 정교한 방법의 정확도는 떨어졌으며, 노이즈 수준이 중간 정도일 때 약 81%로 낮아졌습니다. 더 단순한 방법은 훨씬 더 힘들어하며 약 62%까지 떨어졌습니다. 이 결과는 연결 구조를 아는 것도 도움이 되지만, 데이터의 품질 또한 결정적이라는 점을 확인시켜 줍니다. 만약 측정값이 너무 흐릿하다면, 아무리 좋은 지도라도 조사자를 올바른 답으로 인도할 수 없습니다.
연구는 또한 지도 자체가 약간 틀렸을 경우에 어떤 일이 일어나는지도 탐구했습니다. 한 테스트에서 연구진은 한 부분이 다른 부분에 영향을 미친다는 사실을 모르는 것처럼 가정하여, 모델에서 알려진 연결 하나를 의도적으로 제거했습니다. 이 방법은 여전히 잘 작동하여 깨끗한 데이터에서 원인을 약 94%의 확률로 정확히 식별해 냈지만, 노이즈가 증가함에 따라 정확도가 떨어졌습니다. 이는 이 접근 방식이 누락된 정보에 대해 어느 정도 관용적이지만, 완벽하지는 않다는 것을 시사합니다. 연구진은 또한 올바른 원인을 찾는 것이 실제로 문제를 해결하는 데 도움이 되는지 확인했습니다. 그들은 주입된 변화를 역전시킴으로써 복구를 시뮬레이션했습니다. 그들이 정확한 시작 지점을 겨냥했을 때, 시스템의 이상한 행동은 거의 완전히 사라졌습니다. 그들이 잘못된 지점을 겨냥했을 때는 시스템이 계속 불안정한 상태로 남았습니다. 이는 이 방법이 단순히 추측하는 것이 아니라, 만약 다시 당긴다면 연쇄 반응을 멈출 수 있는 구체적인 레버를 식별하고 있음을 확인시켜 주었습니다.
그럼에도 불구하고, 이 논문은 자신이 수행하지 않은 작업들에 대해 주의 깊게 명시하고 있습니다. 전체 실험은 컴퓨터 시뮬레이션 내부의 아주 작은 6부품 모델 안에서 이루어졌습니다. 연구진은 이를 실제 기업 네트워크나 실제 해커, 혹은 실제 보안 로그에 테스트하지 않았습니다. 그들은 이 방법이 새로운 유형의 공격을 발견할 수 있다거나, 사전에 정의된 지도 없이도 작동한다고 주장하지 않았습니다. 이 연구는 만약 당신이 이미 시스템이 어떻게 연결되어 있는지 알고 있다면, 단순히 가장 이상한 숫자를 찾는 것보다 특정한 종류의 계산을 사용하여 단일하게 주입된 문제를 더 정확하게 찾아낼 수 있다는 것을 증명합니다. 이 연구는 이것이 혼란스럽고, 소음이 많으며, 복잡한 실제 기업 환경에서도 작동할 것이라는 점을 입증하는 것이 아닙니다. 이 작업의 가치는 명확성에 있습니다. 그것은 원인을 찾는 것과 지도를 발견하는 것을 분리하며, 데이터의 품질이 얼마나 중요한지를 정확히 보여줍니다. 이 방법이 실제 조직을 보호하는 데 사용되기 전까지, 연결 관계를 미리 알지 못하고 데이터가 완결되지 않은 환경에서 테스트되어야 합니다. 현재로서는, 이 연구는 전제 조건이 명확히 이해된다면 인과 추론이 보안 사고의 근원을 찾는 과정을 어떻게 개선할 수 있는지에 대한 정밀하고 재현 가능한 시연으로서 자리 잡고 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.