시크릿 스캐닝이란?
Secret scanning는 코드 리포지토리, 실행 파이프라인, 구성 파일, 커밋 및 기타 데이터 원본에서 자동화된 검사를 실행하여 노출된 비밀로 인한 잠재적인 보안 위협을 방지하는 방법입니다.
Secret scanning는 권한이 없는 엔터티로부터 비밀을 저장하고 보호하는 것과 관련된 프로세스와 도구를 포함하는 광범위한 비밀 관리 범위의 일부입니다.
The Secure Coding Best Practices [Cheat Sheet]
With curated insights and easy-to-follow code snippets, this 11-page cheat sheet simplifies complex security concepts, empowering every developer to build secure, reliable applications.
Download Cheat Sheet비밀이란 무엇입니까?
비밀은 기업의 IT 시스템에서 중요한 작업을 수행하기 위해 인증하거나 권한 있는 액세스 권한을 얻는 데 사용되는 자격 증명입니다.
소프트웨어 프로젝트는 컨테이너 및 컨테이너 오케스트레이션 플랫폼, DevOps 및 CI/CD 도구, 데이터베이스, 리포지토리 등과 같은 타사 구성 요소에 의존하는 경우가 많습니다. 이러한 타사 서비스에 연결하고 다양한 앱 구성 요소 간의 통신을 가능하게 하려면 소프트웨어 환경에 서비스 또는 앱 구성 요소를 인증하는 방법이 필요합니다. 이것은 일반적으로 "비밀", 즉 키, 암호, 인증서 또는 토큰의 형태로 발생합니다.
비밀은 민감한 데이터와 어떻게 다릅니까?
일반적으로 최종 사용자에게 속하는 민감한 데이터(예: 주민등록번호 및 신용 카드 정보)와 달리 비밀은 기업에 속합니다. 비밀의 예는 다음과 같습니다.
LDAP 비밀번호
PKI/TLS 인증서
암호화 키
컨테이너 자격 증명
SSH 키
API 토큰
개발자는 비밀을 사용하여 시스템과 다른 클라우드 서비스 간의 통신을 인증하고 설정하거나 중요한 시스템에 대한 사용자 및 시스템 액세스를 제어합니다.
As digital authentication credentials, secrets—if exposed—can grant adversaries unauthorized access to a company’s code bases, databases, and other sensitive digital infrastructure.
secret scanning가 중요한 이유는 무엇인가요?
디지털 인증 자격 증명인 비밀은 노출될 경우 공격자에게 회사의 코드 베이스, 데이터베이스 및 기타 민감한 디지털 인프라에 대한 무단 액세스 권한을 부여할 수 있습니다.
불행히도 비밀을 보호하는 것은 쉬운 일이 아닙니다. 비밀은 암호화되고 엄격하게 제어되어야 하지만 엔지니어링 팀, 앱 및 전체 환경에서 액세스할 수 있어야 합니다.
결과적으로, 소프트웨어 개발 수명 주기(SDLC) 중 어느 시점에서든 비밀은 종종 잠재적으로 노출될 수 있는 공간, 즉 CI/CD(지속적인 통합 및 지속적인 업데이트) 파이프라인의 하드 코딩된 자격 증명, 코드 리포지토리, 버전 관리 시스템 (VCS), 보안 소프트웨어, 컨테이너화 환경 또는 업무 공간 커뮤니케이션 채널(예: Slack, Teams).
이는 개발자들이 엄청난 속도로 고품질 코드를 작성하고 제공하는 데 집중하기 때문에 발생합니다. 따라서 소프트웨어가 아직 개발 및 테스트 단계에 있을 때 개발 속도를 높이고 더 빠른 피드백 루프를 촉진하기 위해 로컬 시스템에 비밀을 저장하는 것이 이상적이라고 생각할 수 있습니다.
secret scanning을 입력합니다. 개발자가 이를 구현해야 하는 4가지 주요 이유에 대해 논의해 보겠습니다.
민감한 데이터 및 기밀 보호
보호하기 위해 민감한 데이터, 우리는 운송 중이거나 미사용 할 때 암호화하고 데이터베이스에 저장합니다. 그런 다음 비밀을 사용하여 데이터베이스를 게이트 키핑하여 권한이 부여된 사람과 기계에 대한 액세스만 제한합니다.
예를 들어 최종 사용자가 입력한 사용자 이름/비밀번호 쌍을 확인하려면 로그인 포털에서 데이터베이스에 대한 자동 연결을 설정해야 합니다. 이 연결은 시크릿으로 인증되어 데이터베이스의 중요한 정보에 대한 포털의 접근 권한을 부여합니다. 이 비밀이 도중에 유출되거나 보안되지 않은 공간에 있게 되면 권한이 없는 개인이 랜섬웨어 공격을 위해 데이터를 액세스, 도용, 노출 또는 암호화할 수 있습니다.
이 Microsoft 2023 데이터 노출 인시던트 Wiz 연구팀이 발견한 것은 비밀 스캐닝의 중요성을 완벽하게 보여줍니다. GitHub에 AI 기반 교육 데이터를 게시하기 위해 Microsoft 연구 팀은 Microsoft Azure Storage 계정에 저장된 개인 키, 비밀, 암호 및 30,000개 이상의 내부 Microsoft Teams 메시지를 포함하여 38TB의 개인 데이터를 노출하는 링크를 실수로 공유했습니다.
팀이 GitHub에 대한 링크를 릴리스하기 전에 계정에서 비밀을 검색했다면 이 인시던트를 방지할 수 있었습니다.
사이버 공격 방어
이 위즈 연구팀 또한 CI/CD 파이프라인에서 간과된 여러 위치, 특히 컨테이너 이미지 기본 계층 및 Linux bash 기록 파일에서 잊어버린 비밀을 찾았습니다. 공격자는 이러한 노출된 비밀을 활용하여 다양한 시나리오를 사용하여 사이버 공격을 수행할 수 있습니다. 잊혀진 비밀은 수평 이동을 촉진하고 원격 코드 실행 소프트웨어 공급망 공격에서 해커가 기업의 소스 코드를 수정하거나, 프로덕션용 아티팩트에 악성 코드를 심거나, 이미지의 빌드 프로세스를 변조할 수 있도록 지원합니다.
비밀 스캐닝 도구는 잊혀졌거나 하드 코딩된 비밀이 노출되기 전에 찾음으로써 다양한 형태의 사이버 공격자를 싹 잘라내는 데 도움이 됩니다.
Many companies are subject to regulatory standards designed to protect end users’ sensitive personal, financial, and health-related information. As secrets guard this data, any accidental release of secrets may result in a data breach that could result in hefty noncompliance fines.
규정 준수 개선
많은 기업이 최종 사용자의 민감한 개인, 금융 및 건강 관련 정보를 보호하기 위해 고안된 규제 표준의 적용을 받습니다. 비밀이 이 데이터를 보호하기 때문에 실수로 비밀을 공개하면 데이터 침해가 발생하여 막대한 규정 미준수 벌금이 부과될 수 있습니다.
Secret scanning는 비밀이 손상되는 것을 감지하고 방지하는 데 도움이 될 수 있습니다.
평판 손상 및 재정적 손실로부터 보호
침해 및 사이버 공격은 심각한 평판 손상을 일으켜 수익에 부정적인 영향을 미치고 벌금, 법률 수수료 및 합의금과 같은 비용을 증가시킵니다.
비밀을 사전에 검색하고 보호하면 이러한 심각한 결과를 피하는 데 도움이 됩니다.
secret scanning는 어떻게 작동하나요?
비밀 검사에는 특수 도구와 방법으로 수행되는 몇 가지 단계가 수반됩니다. 작동 방식은 다음과 같습니다.
1 단계 : 스캔
비밀 스캐너가 설치되고 IT 스택의 모든 관련 부분에 연결되면 스택의 실시간 또는 미사용 스캔을 수행합니다.
실시간 검사는 VCS(버전 제어 시스템)의 끌어오기 요청 또는 스택의 다음 구성 요소 중 하나의 코드 변경에 의해 트리거되는 이벤트 기반입니다.
코드: 코드 저장소, 구성 파일
컨테이너: 컨테이너 이미지 및 쿠버네티스 아키텍처
DevOps 기술 스택: 빌드 시스템, 티켓팅 시스템, 커뮤니케이션 채널, 지식 관리 시스템, 버그 추적 소프트웨어, 지원 스택 등
관찰 가능성 파이프라인: 관찰 가능성/로깅 소프트웨어 및 데이터 저장소
미사용 스캔은 예약된 간격으로 동일한 구성 요소의 기록 스캔을 수행합니다.
비밀 스캐닝 기술
비밀은 코드, 로그 등에 포함되는 경우가 많기 때문에 이를 식별하는 것이 까다로울 수 있습니다. 아래 표에서는 네 가지 비밀 검사 기술에 대해 자세히 설명합니다.
If the scanner detects a potential secret, it either corresponds with the service provider or extracts metadata within your stack to identify the service that the secret pattern matches; it then detects if it is still valid.
2단계: 비밀 식별 및 확인
스캐너가 잠재적인 시크릿을 탐지하면 서비스 제공업체에 해당하거나 스택 내에서 메타데이터를 추출하여 시크릿 패턴이 일치하는 서비스를 식별합니다. 그런 다음 여전히 유효한지 감지합니다.
3단계: 보고 및 경고
일치가 확인되면 스캐너는 노출된 비밀을 알려줍니다. 도구가 얼마나 포괄적인지에 따라 문제 해결을 위한 권장 사항을 제공할 수도 있습니다. 메모: 이 보고서에는 민감한 데이터가 포함될 수 있으므로 권한 있는 당사자만 이 보고서에 액세스할 수 있어야 합니다.
오픈 소스 secret scanning 도구Open source secret scanning tools
아래에서는 5가지 일반적인 오픈 소스 비밀 검사 도구를 살펴봅니다.
비밀 탐지
Detect-secrets는 휴리스틱 및 정규식을 사용하여 프로젝트의 Git 기록을 스캔하는 Microsoft 프로젝트입니다.
Gitleaks scans repos, directories, files, and entire Git histories to detect past and present exposed secrets. It can be installed using Docker, Go, or Homebrew.
깃리크스
Gitleaks는 리포지토리, 디렉터리, 파일 및 전체 Git 기록을 스캔하여 과거와 현재 노출된 비밀을 감지합니다. Docker, Go 또는 Homebrew를 사용하여 설치할 수 있습니다.
Whispers scans static structured text files such as configs, XML, JSON, and Python3 for hard-coded secrets. Unlike the others, it doesn't scan code but instead parses known data formats and extracts key-value pairs to detect secrets.
속 삭 임
Whispers는 구성, XML, JSON 및 Python3과 같은 정적 구조화된 텍스트 파일에서 하드 코딩된 비밀을 스캔합니다. 다른 사람들과 달리 그렇지 않습니다'대신 알려진 데이터 형식을 구문 분석하고 키-값 쌍을 추출하여 비밀을 감지합니다.
Git-secrets is an AWS command-line tool for scanning commits, commit messages, and “–no-ff” merges.
Git 비밀
Git-secrets는 커밋, 커밋 메시지 및 "-no-ff" 병합을 스캔하기 위한 AWS 명령줄 도구입니다.
Git-all-secrets is an aggregation of multiple secret scanners, including TruffleHog (a regular expression-based scanner) and repo-supervisor (a high entropy-based scanner).
Git-all-secrets (모든 비밀)
Git-all-secrets는 TruffleHog(정규식 기반 스캐너) 및 repo-supervisor(높은 엔트로피 기반 스캐너)를 포함한 여러 비밀 스캐너의 집합체입니다.
Secret scanning can be approached in a few different ways, including open-source and commercial options. Each brings strengths that can be valuable depending on your environment and use case.
독점 도구는 어떻습니까?
비밀 검사는 독점 도구를 사용하여 수행할 수도 있습니다. 오픈 소스 도구는 재정적 비용이 거의 또는 전혀 들지 않지만 독점 도구만큼 많은 적용 범위를 제공하지 않을 수도 있습니다. 반대로, 독점 도구는 다양한 수준의 재정적 노력이 필요하지만 일반적으로 더 많은 기능과 제품을 제공합니다.
어떤 것을 선택하든 도구가 사용하는 스캐닝 기술을 확인하십시오. 예를 들어 하이브리드 스캐너는 오탐을 줄이고 더 많은 비밀 유형을 감지하는 데 도움이 됩니다. 또한 공급자의 평판과 실시간 모니터링/경고를 수행할 수 있는 도구의 능력을 고려합니다. 인시던트 대응및 위험 우선 순위 지정.
비밀 관리를 위한 6가지 모범 사례
비밀을 검사하는 것 외에도 비밀을 적절하게 관리하기 위해 다음 모범 사례를 구현하는 것도 중요합니다.
1. secrets manager를 사용하여 secrets 저장 및 암호화Store and encrypt secrets using a secrets manager
시크릿 스프롤을 방지하기 위해 컨테이너 이미지, 구성 파일, 코드 및 기타 보호되지 않는 위치에 시크릿을 저장하지 마세요. 대신 저장 및 전송 중인 보안 정보를 암호화하는 전용 보안 암호 관리 도구(예: HashiCorp Vault 또는 AWS Secrets Manager)를 사용합니다.
2. (일반) secrets rotation 및 dynamic secrets 채택
시크릿 순환에는 미리 구성된 간격으로 시크릿을 주기적으로 변경하거나 수동으로 변경을 트리거하는 작업이 포함됩니다. 동적 시크릿을 사용하는 것은 시크릿 순환을 구현하는 한 가지 방법입니다. 정적 비밀과 달리 이러한 비밀은 수명이 짧으므로 특정 기간이 지나면 또는 특정 조건이 충족된 후에 만료됩니다.
비밀을 정기적으로 교체하면 해커의 기회 창이 제한되어 손상된 비밀이 사이버 공격을 수행하는 데 사용될 가능성이 줄어듭니다.
3. 비밀에 대한 액세스 제한
스택 전체에서 일관된 보안 액세스 정책을 생성하고 적용을 자동화합니다. 여기에는 강제 집행이 포함됩니다. 최소 권한 원칙(PoLP), ACL(액세스 제어 목록) 및 RBAC(역할 기반 액세스 제어) 이렇게 하면 비밀, 데이터 및 인프라에 대한 사용자 및 앱의 액세스가 필요에 따라 제한됩니다.
자격 증명이 실수로 손상된 경우 PoLP, ACL 및 RBAC는 공격 표면을 축소하여 위협 행위자가 사용자 환경에서 측면으로 이동할 수 있는 기능을 제한하는 데 도움이 될 수 있습니다.
4. 자리 표시자 사용
공개 리포지토리에서 코드를 공유해야 할 수 있으므로 비밀을 하드 코딩하지 마세요. 위에서 논의한 Microsoft 사건이 이에 대한 예입니다. 하드코딩된 시크릿 대신 환경 변수 을 사용하여 코드에서 비밀을 참조할 수 있습니다.
5. 비밀 수명 주기 추적
현재 사용 중인 비밀을 추적하고, 손상된 비밀을 취소하고, 액세스 이벤트(누가 언제 무엇에 액세스하는지)를 포괄적인 감사 로그에 기록합니다.
6. 위협 경로 분석 구현
다음을 사용하여 비밀 검사 도구를 선택하십시오. 고급 공격 경로 분석; 이렇게 하면 비밀을 감지하고, 관련 시스템과 상관 관계를 지정하고, 공격 경로의 리소스 및 시스템에 대한 명확한 맵을 얻을 수 있습니다.
What is the Principle of Least Privilege (PoLP)? Use Cases, Benefits, and Implementation
더 알아보기Wiz로 비밀 스캔하기
위즈 코드 코드베이스 전체에서 노출된 자격 증명, API 키 및 민감한 정보를 탐지하여 비밀 스캔 작업을 강화하고 프로덕션 환경에 도달하기 전에 포착할 수 있도록 합니다.
의 일부로 대단한'S 종합 클라우드 보안 플랫폼Wiz Code는 Terraform, CloudFormation, Ansible, Google Deployment Manager, ARM, Kubernetes, Helm 및 Docker에서 35+ 지원 규정 준수 프레임워크를 사용하여 전체 워크플로에서 위협 및 취약점을 스캔합니다.
Wiz는 코드 저장소와 자동으로 통합되어 다음과 같습니다.
시스템 볼륨을 분석하고 클라우드 플랫폼 액세스 키, 도메인 인증서, SSH 키와 같은 노출된 비밀을 감지합니다.
비밀과 관련된 알려진 데이터를 검색하고 메타데이터를 추출하여 컨텍스트 제공
알고리즘 및 비트 길이 정보를 추출하여 SSH 개인 키를 인증된 키 구성에 연결합니다.
제목, 만료 날짜 및 중요한 속성과 같은 세부 정보를 가져와서 인증서를 사용되는 리소스에 연결합니다
잠재적 공격 경로를 추적하기 위한 보안 그래프 제공
비밀이 감지되면 이해 관계자에게 경고
Wiz는 클라우드 네이티브 스캐너를 배포하여 속도, 효율성 및 포괄적인 스캔을 보장하며, 이는 드문 조합입니다.
요청 데모 오늘은 Wiz가 당신의 비밀을 안전하게 지키는 데 어떻게 도움이 되는지 알아보세요.