Evaluating Endpoint Detection Robustness Against Genetic Algorithm Driven Code Transformations
본 논문은 현대적인 안티바이러스 및 엔드포인트 탐지 및 대응(EDR) 시스템의 견고성 격차를 체계적으로 평가하고 노출하기 위해 기능적으로 동일한 침해 후 코드 변형을 생성하는 유전 알고리즘 기반 프레임워크인 ShellForge를 소개하며, 궁극적으로 방어적 모니터링을 개선하기 위한 재현 가능한 벤치마크를 제안한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신이 고도의 기술을 갖춘 건물(컴퓨터)의 보안 요원이라고 상상해 보세요. 당신의 임무는 침입자를 막는 것입니다. 당신에게는 이를 수행하기 위한 두 가지 주요 방법이 있습니다:
- "현상 수배" 명단 (시그네처 탐지): 당신은 사람들의 얼굴을 알려진 악당들의 명단과 대조합니다. 만약 그들이 명단에 있는 누군가와 똑같이 생겼다면, 당신은 그들을 막아섭니다.
- "수상한 행동" 감시 (행동 탐지): 당신은 사람들이 하는 행동을 지켜봅니다. 만약 누군가 자물쇠를 따려고 시도하거나, 옥상으로 달려가거나, 비밀을 속삭인다면, 설령 당신이 그들의 얼굴을 알아보지 못하더라도 당신은 그들을 막아섭니다.
문제점:
악당들(해커)은 영리합니다. 그들은 당신의 명단과 감시 체계를 알고 있습니다. 그래서 그들은 변장을 하기 시작합니다. 그들은 가짜 콧수염을 붙이거나, 머리 색깔을 바꾸거나, 다리를 절며 걸을 수도 있습니다. 이것들을 "코드 변형(code transformations)"이라고 부릅니다.
오늘날의 대부분 보안 도구들은 원래의 악당을 찾아내는 데는 뛰어나지만, 악당이 변장을 했을 때는 종종 혼란에 빠집니다. 이 논문의 연구자들은 다음과 같은 질문을 테스트하고자 했습니다: 우리의 보안 요원들은 적극적으로 외형을 바꾸려 노력하는 악당을 얼마나 잘 잡아낼 수 있을까?
해결책: "ShellForge" (진화적 체육관)
저자들은 ShellForge라는 도구를 만들었습니다. 이것을 무기가 아니라, 보안 요원을 위한 훈련 시뮬레이터라고 생각하십시오.
사람이 직접 악당의 변장법을 추측하는 대신, ShellForge는 "유전 알고리즘(Genetic Algorithm)"을 사용합니다. 25명의 "훈련생(악당의 변장들)"이 있는 체육관을 상상해 보세요.
- 운동: 각 훈련생은 보안 요원을 몰래 통과하려고 시도합니다.
- 점수: 보안 요에게 잡히면 낮은 점수를 받습니다. 몰래 통과하면 높은 점수를 받습니다.
- 번식: 가장 높은 점수를 받은 훈련생들(몰래 침투하는 데 가장 뛰어난 자들)이 짝을 지어 "아기(새로운 변장)"를 만듭니다. 이 아기들은 부모의 좋은 특성들을 섞습니다 (예: 아빠의 가짜 콧수염 + 엄마의 다리 절기).
- 돌연변이: 때때로 아기가 갑자기 모자를 쓰는 것과 같은 무작위적인 변화가 일어납니다.
- 반복: 이 과정은 세대(generations)를 거듭하며 반복되며, 점점 더 똑똑하고 몰래 침투하는 데 능숙해집니다.
목표는 실제로 건물에 침입하는 것이 아닙니다. 보안 시스템이 얼마나 쉽게 속을 수 있는지 확인하여, 방어자들이 자신들의 사각지대를 보완할 수 있도록 하는 것입니다.
그들이 테스트한 것
그들은 **리버스 쉘(Reverse Shell)**이라는 흔한 유형의 "악당" 행동을 사용했습니다.
- 비유: 침입자가 침입한 직한, 즉시 비밀 전화선을 통해 상사에게 전화를 걸어 "나 들어왔어, 다음엔 뭘 할지 말해줘"라고 말하는 상황을 상상해 보세요.
- 그들은 이 "전화"를 가져와서 ShellForge를 사용하여, 전화 기능은 여전히 작동하면서도 코드의 외형(변장)을 바꾸는 방식으로 수천 가지의 다른 버전들을 진화시켰습니다.
그들은 이렇게 진화된 변장들을 다음 대상들과 테스트했습니다:
- 정적 스캐너 (Static Scanners): "현상 수배" 명단 (VirusTotal이나 Windows Defender 같은 것들).
- 행동 스캐너 (Behavioral Scanners): 코드가 무엇을 하는지 지켜보는 "수상한 행동" 감시 장치 (샌드박스 같은 것).
결과: 놀라운 사실
시뮬레이션을 단 몇 라운드(세대)만 실행한 후, ShellForge는 하나의 "슈퍼 변장"을 찾아냈습니다.
- 기존 방식: 이미 만들어진 변장(MsfVenom이나 Veil 같은 것)을 사용하는 도구들은 거의 모든 보안 요에게 걸렸습니다. 그것들은 마치 "나는 범죄자다"라는 표지판을 달고 있는 악당과 같았습니다.
- ShellForge 방식: 진화된 변장은 그들이 테스트한 62개의 서로 다른 안티바이러스 엔진 중 그 어떤 것에도 걸리지 않았습니다.
- 정적 점수: 100% (현상 수배 명단이 전혀 인식하지 못했습니다).
- 행동 점수: 높음 (행동을 지켜보던 보안 요원은 혼란에 빠졌고, 이것이 나쁜 것인지 아닌지 결정하지 못했습니다).
- 기능성: 100% (상사에게 거는 "전화"는 완벽하게 작동했습니다).
핵심 결론:
연구자들은 보안 요원을 속이기 위해 복잡하고 기괴한 변장이 필요하지 않다는 것을 발견했습니다. "승리한" 변장은 사실 꽤 단순했습니다. 그것은 단지 코드의 외형을 바꿨을 뿐이며(XOR 및 Base64와 같은 간단한 수학적 기법 사용), "행동" 감시를 피하기 위해 특별히 화려한 기술을 쓰지 않았습니다.
이는 현재의 보안 시스템이 "현상 수배" 명단에 너무 집중되어 있음을 시사합니다. 만약 악당이 외형을 약간만 바꿔도, 시스템은 종종 완전히 놓쳐버립니다.
이것이 왜 중요한가 (논문에 따르면)
저자들은 이것이 순수하게 방어를 위한 것임을 강조합니다. 그들은 해커들에게 침입하는 법을 가르치는 것이 아닙니다. 대신, 보안 회사들에게 다음과 같이 보여주고 있는 것입니다:
"이보세요, 당신들의 현재 경비원들은 이런 간단한 변장들을 놓치고 있습니다. 당신들은 단순히 알려진 악당의 명단과 대조하는 것이 아니라, 코드의 '행동'을 포착하는 데 더 능숙해져야 합니다."
그들은 미래의 보안 도구들이 단순히 코드가 이전에 본 것과 닮았는지 확인하는 것을 넘어, 코드가 어떻게 행동하는지의 패턴과 연결 고리를 찾는 더 똑똑한 방식이 되어야 한다고 제안합니다.
요약하자면, ShellForge는 보안 팀에게 그들의 사각지대가 어디인지를 정확히 보여주는 거울입니다. 단순한 자동화된 변화만으로도 현재의 방어 체계를 우회할 수 있음을 증명함으로써, 탐지 방법을 업그레이드하도록 촉구하고 있습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.