[KR] Introducing cremit new detection engine Ferret!

2024. 4. 9.

크리덴셜 관리의 어려움

크리덴셜은 API 키, 데이터베이스 접근 정보, 서버 접근 권한, 패스워드 뿐만 아니라 이메일, 신용카드, 주민번호 등 민감한 정보를 포함하는 데이터입니다. 이는 개발 과정뿐만 아니라 클라우드 기반 업무 환경에서 다양한 서비스 및 리소스에 접근하기 위해 필수적으로 사용됩니다. 개발자는 물론 운영, 보안, 데이터 분석 등 다양한 분야의 임직원들이 일상적인 업무를 수행하는 데 있어 크리덴셜은 없어서는 안 될 중요한 요소입니다.

Secret Leak Incident

크리덴셜 관리 미흡으로 인한 보안 사고 사례는 점점 늘어나고 있습니다. ID및 액세스 관리 솔루션 제공 업체의 선발 리더인 옥타(Okta)는 2023년에 직원들의 고객 지원 시스템에서 크리덴셜이 노출된 HAR 파일을 해커가 탈취하여 고객 데이터와 액세스 토큰이 유출된 사례가 있습니다. Microsoft, Uber, CloudFlare도 22년, 23년에 크리덴셜 유출로 인한 해킹사고를 겪으며 중요도는 점점 높아지고 있습니다.

특히 클라우드 발전과 함께 업무 프로세스는 크게 변화하고 있습니다. 업무 환경이 클라우드로 이동하면서 직원들은 언제 어디서나 작업할 수 있게 되었고, 협업 및 분업화가 더욱 활발해졌습니다. 클라우드는 업무 프로세스를 더욱 빠르고 유연하게 만들어주었지만, 이와 동시에 새로운 보안 과제들을 야기했습니다. 다양한 서비스와 리소스에 접근하기 위해 여러 개의 크리덴셜을 다뤄야 하며, 이를 안전하게 관리하고 공유하는 것이 쉽지 않습니다.

이러한 상황에서 직원들은 편의성을 위해 공유하기 쉬운 공개된 영역에 크리덴셜을 저장하고 공유하는 경우가 많아졌습니다. 소스 코드 저장소, 메신저, 클라우드 문서, 클라우드 스토리지, 이메일 등 접근이 용이한 곳에 크리덴셜을 보관함으로써 업무 효율성을 높이려 하지만, 이는 심각한 보안 위험을 초래할 수 있습니다. 공개된 영역에 저장된 크리덴셜은 해커의 표적이 되기 쉬우며, 내부자의 실수나 악의적인 행동으로 인해 쉽게 유출될 수 있습니다.

기존 크리덴셜 탐지 제품의 소개와 한계

크리덴셜 탐지의 중요성이 커짐에 따라 이를 해결하기 위한 다양한 제품들이 등장했습니다. 그 중 대표적인 제품으로는 TruffleHog와 GitGuardian이 있습니다.

TruffleHog Alternatives

TruffleHog

TruffleHog는 오픈소스로, 소스 코드 저장소 및 Slack, Jira 등의 협업 도구들을 스캔하여 공개된 영역에 노출된 크리덴셜들을 식별합니다. 위 제품의 강점 중 하나는 단순히 크리덴셜을 탐지하는 데 그치지않고, 800여종의 크리덴셜들이 실제로 유효한지 여부를 검증한다는 점입니다. 이를 통해 보안 담당자들은 유출된 크리덴셜의 위험을 판단하고 조치할 수 있습니다.

하지만 TruffleHog에는 한계점이 있습니다. 가장 큰 문제는 탐지할 수 있는 크리덴셜의 종류가 제한적이라는 점입니다. TruffleHog는 코드에 정의된 정규식 패턴을 기반으로 크리덴셜을 탐지하기 때문에, 패턴에 포함되지 않은 새로운 유형의 크리덴셜이나 패스워드 및 민감 정보와 같은 것들은 탐지하지 못합니다.

다른 문제로는 TruffleHog는 단일 소스에 대한 스캔만 지원한다는 점입니다. 예를 들어, GitHub에 노출된 AWS 아이디와 Slack에 노출된 AWS 토큰을 조합하여 검증할 수 없다는 점입니다. 따라서 여러 개의 클라우드 제품을 사용하는 조직에서는 TruffleHog를 사용하여 모든 크리덴셜 유출 가능성을 탐지하기 어렵습니다.

Trufflehog Security는 TruffleHog 오픈소스 버전을 토대로 엔터프라이즈 Commercial 제품을 제공하고 있으며 이는 공개적이지 않아 선택에 어려움이 있습니다.

Gitguardian Alternatives

GitGuardian

GitGuardian은 SaaS기반 크리덴셜 탐지 및 모니터링 서비스입니다. GitGuardian은 TruffleHog와 마찬가지로 다양한 클라우드 제품들을 스캔하여 크리덴셜들을 식별할 수 있습니다. 뿐만 아니라, 노출된 크리덴셜을 실시간 알림을 받을 수 있으며 크리덴셜의 위협도에 따라 분류할 수 있는 리포트 기능을 포함하고 있습니다.

하지만 GitGuardian에도 몇 가지 한계점이 있습니다. 먼저, GitGuardian은 확장성 측면에서 제한이 있습니다. TruffleHog와 같은 오픈소스 도구와 달리 GitGuardian은 사용자가 직접 코드를 수정하거나 기능을 추가할 수 없습니다. 또한 Custom Detector의 경우 최대 5개까지만 지원하므로, 조직 특화된 크리덴셜 탐지 규칙을 대규모로 적용하기 어려울 수 있습니다.

다음으로, GitGuardian은 개인 식별 정보(PII, Personally Identifiable Information)를 탐지하는 데 한계가 있습니다. TruffleHog와 GitGuardian을 비롯한 대부분의 크리덴셜 탐지 도구들은 휴리스틱 방법이나 정규 표현식을 사용하여 크리덴셜을 식별합니다. 이러한 방식은 API 키, 암호, 토큰 등의 크리덴셜 탐지에는 효과적이지만, 이메일 주소, 전화번호, 주민등록번호 등의 PII를 정확히 탐지하기에는 어려움이 있습니다. 한한 예로,  Github의 CommitID는 단순한 패턴매칭으론 여권번호와 동일하게 취급됩니다. 휴리스틱, 정규식방식의 패턴 매칭으로는 오탐의 늪에 빠질 수 있습니다. 이러한 한계점들은 GitGuardian, TruffleHog를 포함한 다른 크리덴셜 탐지 도구들에도 공통적으로 나타나는 문제입니다.


Ferret 소개

Ferret은 영어로 “샅샅이 찾아내다”라는 의미를 가진 동물로 클라우드에 노출된 크리덴셜을 빈틈없이 찾아내는 제품입니다. 페럿은 기존 크리덴셜 탐지 제품들의 한계를 극복하고 완벽한 보안을 제공합니다. 페럿의 특징은 다음과 같습니다.

  1. 다양한 협업 도구 지원: 페럿은 소스코드 저장소 뿐만 아니라 Jira, Confluence, 노션과 같은 다양한 협업 도구를 스캔할 수 있습니다. 이를 통해 개발 과정이 아닌 일상적인 업무 과정에서 발생할 수 있는 크리덴셜 노출 위험을 종합적으로 탐지합니다.

  2. 광범위한 크리덴셜 탐지 및 검증: 페럿은 800여 종에 가까운 크리덴셜을 탐지합니다. 또한 페럿은 탐지된 크리덴셜이 실제로 유효한지 여부를 자동으로 검증합니다. 이를 통해 오탐율을 최소화하고 보안팀은 실제 위협에 집중할 수 있도록 돕습니다.

  3. 다중 소스 스캔: 페럿은 단일 소스뿐만 아니라 여러 소스를 동시에 스캔하고 검증할 수 있습니다. 이를 통해 대규모 조직에서도 효율적으로 크리덴셜을 탐지하고 검증하는 작업을 수행할 수 있습니다.

  4. AI기반 민감 데이터 탐지: 페럿은 크리덴셜 탐지 외에도 AI 모델을 활용하여 PII 등의 민감 데이터를 탐지할 수 있습니다. 특히 페럿은 자연어 분석에 최적화된 모델과 코드 분석에 최적화된 모델을 선택적으로 적용하여 높은 탐지 정확도를 달성했습니다.

  5. 대시보드 및 알림 기능 지원: 페럿은 직관적인 웹 대시보드를 통해 크리덴셜 탐지 현황을 파악할 수 있습니다. 또한 슬랙 등의 메신저로 실시간 알림을 받아볼 수 있어 신속한 대응이 가능합니다.

페럿의 이러한 특징들은 기존 크리덴셜 탐지 도구의 한계를 극복하고 보안 수준을 한층 더 높이는데 기여할 수 있습니다. 특히 정교한 크리덴셜 검증과 AI 기반 민감 데이터 탐지, 그리고 다중 소스 스캔은 페럿만의 차별화된 강점입니다.

뿐만 아니라 페럿은 타사 제품들과 비교했을 때 현저한 성능 우위를 보여줍니다. 신속한 크리덴셜 노출 위협에 대응하기 위해서 속도는 매우 중요한 요소입니다. 페럿은 Rust 언어로 작성 됐으며 효율적인 문자열 탐색 알고리즘과 최적화를 통하여 대용량 데이터에서도 빠르게 크리덴셜을 탐지할 수 있습니다.

Secret Detection Alternatives

페럿은 Linux, Chromium, Spring Boot등 다양한 환경에서 TruffleHog 대비 크게 향상된 스캔 속도를 보여 줬습니다. 코드베이스들을 스캔하는데 있어서 평균적으로 2배정도의 성능 향상을 보여줬으며, Chromium과 같이 방대한 프로젝트의 경우 약 8.8배 빠른 성능을 보여줬습니다. 이는 크리덴셜 노출에 대한 신속한 대응이 가능하다는 걸 의미하며, 대규모 조직에서 크리덴셜 탐지 작업의 효율성을 크게 높일 수 있음을 보여줍니다.


향후 계획

페럿은 지속적인 발전을 통해 고객들에게 더 큰 가치를 제공할 예정입니다. 다음은 페럿의 향후 계획입니다.

  • 협업 도구 및 탐지 종류 지원 범위 확대: 현재 페럿은 다양한 협업 도구를 지원하고 있지만, 더 많은 클라우드 협업 도구들을 지원할 계획입니다. 이를 통해 고객들은 업무 환경에 맞게 페럿을 적용할 수 있습니다. 또한 텍스트가 아닌 이미지와 같은 데이터에 대해서 크리덴셜을 탐지할 수 있는 기능을 제공할 계획입니다.

  • 사용자 정의 탐지 및 검증 규칙: 내부에서만 사용하는 아이디와 비밀번호 탐지하고 검증하는 특수한 요구사항을 위해 크리덴셜 탐지 및 검증 규칙을 추가할 수 있는 기능을 제공할 예정입니다. 이를 통해 페럿의 확장성과 유연성을 제공하여 보안 수준을 향상시킬 수 있습니다.

  • 크리덴셜 메타 데이터 수집 및 관리: 발견된 크리덴셜들의 메타데이터를 활용하여, 노출 범위와 위협도를 식별하는 기능을 제공할 예정입니다. 이를 통해 보안 담당자들이 크리덴셜 관리가 용이해질 것이며 작업 효율성이 크게 향상될 것입니다.

  • AI 모델 다양화 및 성능 개선: 페럿의 AI 모델들을 더욱 다양화하고 학습 성능을 향상시켜 더 정확하고 다양한 민감 데이터 탐지를 가능하게 할 계획입니다.

  • 크리덴셜 자동 조치 기능: 노출된 크리덴셜을 자동으로 변경하거나 비활성화하는 기능을 개발할 계획입니다. 이를 통해 크리덴셜 유출 사고 발생 시 신속하고 효과적인 대응이 가능해질 것입니다.

  • 크리덴셜 보관 및 사용: 페럿이 탐지한 크리덴셜들을 안전하게 보관하고 쉽게 사용할 수 있는 기능을 제공할 계획입니다. 이를 통해 크리덴셜 라이프 사이클의 전체 과정을 크리밋내에서 처리할 수 있게 될 것 입니다.


크리밋팀을 만나보세요.

크리밋은 현재 SaaS와 On-Premise(Enterprise) 서비스를 제공하고 있습니다. 스타트업, 소규모 비지니스, 엔터프라이즈, 금융 등에 최적화되어 제공되고 있으며 800종 이상의 Secret Validation, NER기반의 개인정보 탐색 기능을 제공합니다. 소스코드, 협업도구, 문서, 저장소 등 어디든 연동할 수 있으니 Demo를 신청하세요!