오늘날 빠르게 진화하는 디지털 환경에서 비인간 식별자(NHI)는 기업 운영에 필수 불가결한 요소가 되었습니다. 기계, 애플리케이션 및 자동화된 프로세스에서 사용되는 이러한 디지털 자격 증명은 클라우드 플랫폼 운영부터 AI 기반 작업에 이르기까지 모든 것을 용이하게 합니다. 그러나 NHI에 대한 이러한 의존성은 중요한 보안 문제를 야기하며, Secret 유출은 중요한 위험으로 부상하고 있습니다.
Secret 유출이란 무엇인가요?
Secret 유출(NHI2:2025)은 소프트웨어 개발 수명 주기 동안 권한이 없는 데이터 저장소에 중요한 NHI가 노출되는 것을 의미합니다. 이러한 NHI에는 API 키, 토큰, 암호화 키 및 인증서가 포함되며, 이들은 모두 IT 시스템 내에서 안전한 인증 및 액세스에 필수적입니다. OWASP 재단은 개발 프로세스에 NHI를 통합할 때 Secret 유출을 주요 관심사로 식별합니다.
Secret 유출은 어떻게 발생하나요?
Secret 유출은 다양한 채널을 통해 중요한 자격 증명이 의도치 않게 노출될 때 발생합니다.
- 소스 코드에 하드 코딩: 개발자는 API 키 또는 비밀번호를 코드에 직접 포함시켜 쉽게 액세스할 수 있도록 할 수 있습니다.
- 일반 텍스트 구성 파일에 저장: 보호되지 않은 구성 파일에 중요한 정보를 저장하면 액세스 권한이 있는 모든 사람이 자격 증명에 노출됩니다.
- 협업 공간을 통한 공유: Secret에 접근할 권한이 없는 사용자가 읽을 수 있는 위치(메신저, 협업도구, Notion, Confluence)에 노출된 Secret은 잠재적으로 내부 악용 가능성이 높아집니다.
- 소스 코드에 포함, 개발자 포럼에서 공유 또는 공개적으로 액세스 가능한 저장소에 남겨두기: 공개적인 인터넷에 통한 광범위한 노출은 악의적인 행위자가 발견할 가능성을 증폭시킵니다.
Secret 유출이 주요 보안 위험인 이유는 무엇인가요?
Secret 유출의 결과는 심각할 수 있습니다.
- 무단 액세스: 유출된 자격 증명을 통해 공격자는 보안 조치를 우회하고 중요한 시스템 및 데이터에 무단으로 액세스할 수 있습니다.
- 권한 상승: 공격자는 손상된 NHI를 사용하여 권한을 상승시켜 네트워크에 대한 더 큰 제어 권한을 부여받을 수 있습니다.
- 측면 이동(Lateral Movement): 시스템에 침투한 공격자는 측면으로 이동하여 다른 시스템 및 데이터에 액세스할 수 있습니다.
- 데이터 유출: 중요한 데이터가 도난 및 유출되어 재정적 손실과 평판 손상을 초래할 수 있습니다.
- 시스템 중단: 중요한 작업이 중단되어 다운타임이 발생하고 비즈니스 연속성에 영향을 미칠 수 있습니다.
실제 사례
몇 가지 유명한 침해 사고는 Secret 유출의 위험성을 강조합니다.
- Cloudflare: 공격자는 이전 Okta 침해 사고에서 손상된 자격 증명을 사용하여 Cloudflare의 비인간 식별자 인벤토리의 격차를 악용했습니다. 그들은 누락된 액세스 토큰과 세 개의 서비스 계정을 사용하여 Cloudflare의 Atlassian 환경에 액세스했습니다.
- AWS: 사이버 공격은 잘못 구성된 환경 변수 파일(.env 파일)을 악용하여 AWS IAM 액세스 키를 포함하여 90,000개 이상의 고유한 자격 증명을 추출했습니다.
- Hugging Face: 공격자는 사용자가 Hugging Face의 Spaces 플랫폼에서 AI 애플리케이션 및 데이터 세트를 관리하는 데 사용하는 API 토큰 및 Secret에 무단으로 액세스했습니다.
- Microsoft Exchange Online: 공격자는 2016년에 설정된 Microsoft 키와 연결된 인증 토큰을 악용하여 메일함을 손상시켜 중요한 정보 및 시스템에 액세스했습니다.
- Dropbox: 위협 행위자는 자동화된 시스템 구성 도구에서 서비스 계정을 손상시켜 중요한 고객 정보에 액세스했습니다.
이러한 사고는 Secret 유출을 방지하기 위한 사전 예방적 조치의 중요성을 강조합니다.
예방 및 완화 전략
Secret 유출을 방어하기 위해 조직은 다각적인 접근 방식을 채택해야 합니다.
- 강력한 스캔 도구 구현:
- Cremit과 같은 상용 도구를 사용하여 전체 기술 스택에서 노출된 Secret을 스캔합니다. Cremit은 소스 코드, 숨겨진 콘텐츠, 삭제된 코드 및 버전 기록과 협업도구에 존재하는 데이터에서 Secret을 감지할 수 있습니다.
- 정적 코드 분석 도구(SAST)를 사용하여 배포 전에 하드 코딩된 자격 증명 및 기타 취약점을 식별합니다.
- 안전한 개발 사례 시행:
- 자격 증명을 하드코딩하지 마십시오. 환경 변수 또는 보안 저장소를 사용하여 중요한 정보를 저장합니다.
- 환경 설정 파일 보호: 적절한 권한 및 암호화를 사용하여 구성 파일을 보호합니다.
- "유출 가정" 사고방식 채택:
- NHI가 이미 노출되었다고 가정하고 운영합니다.
- 의심스러운 활동을 감지하기 위해 지속적인 모니터링 및 행동 분석을 구현합니다.
- 손상된 NHI를 신속하게 취소하고 잠재적인 피해를 억제하는 프로세스를 구축합니다.
- 제로 트러스트 원칙 구현:
- 모든 ID 확인: 모든 NHI 액세스 요청을 지속적으로 모니터링하고 유효성을 검사하여 합법성을 확인합니다.
- 최소 권한 시행: NHI에 필요한 최소 액세스 권한만 부여합니다.
- 단기 토큰 사용: 장기 정적 자격 증명 대신 단기 서명 토큰(예: OAuth 2.0)을 사용합니다.
- 컨텍스트 기반 유효성 검사: NHI가 알려진 환경에서만 리소스에 액세스하는지 확인합니다.
- NHI 수명 주기 관리 자동화:
- 프로비저닝: 적절한 권한 및 거버넌스를 사용하여 NHI에 고유한 자격 증명을 안전하게 생성 및 할당합니다.
- 주기적 변경: 무단 액세스 위험을 최소화하기 위해 자격 증명을 정기적으로 업데이트합니다.
- 폐기: 공격 표면을 줄이기 위해 사용하지 않는 NHI를 비활성화하고 제거합니다.
- NHI 보안 태세 강화:
- 태세 평가 수행: Secret 순환, 액세스 권한 및 보안 정책 준수를 평가합니다.
- 수정 우선 순위 지정: 과도한 권한 계정 및 주기적으로 변경되지 않은 Secret을 관리합니다.
- 포괄적인 가시성 및 컨텍스트 보장:
- 모든 환경에서 모든 NHI의 중앙 집중식 보기를 유지합니다.
- 각 NHI의 출처, 소유권, 저장소, 사용 패턴 및 권한을 이해합니다.
- Cremit의 NHI Tracebility와 같은 도구를 사용하여 NHI 출처 및 관련 위험을 매핑합니다.
- NHI 보호를 위한 Cremit NHI Security Platform 활용
- NHI 전체에 대한 완전한 가시성: Cremit은 클라우드 플랫폼, SaaS 애플리케이션, CI/CD 파이프라인, 코드 저장소 및 온프레미스 시스템 전반에 걸쳐 모든 NHI의 통합된 보기를 제공합니다.
- 실시간 위협 감지 및 대응: 플랫폼은 NHI 활동을 지속적으로 모니터링하고, 이상 징후를 플래그하고, 의심스러운 행동에 대한 실시간 경고를 제공하여 즉각적인 위협 억제를 가능하게 합니다.
- 제로 트러스트 아키텍처: Cremit은 모든 NHI 상호 작용의 지속적인 유효성 검사를 보장하여 무단 액세스 위험을 최소화합니다.
- 자동화된 ID 거버넌스: Cremit은 수명 주기 관리를 간소화하고, 최소 권한 액세스를 시행하고, 오래된 ID의 적시 제거를 보장합니다.
- 규정 준수 및 감사 준비 보고: 플랫폼은 포괄적인 보고 및 자동화된 규정 준수 검사를 통해 거버넌스, 위험 관리 및 감사 준비를 지원합니다.
사전 예방적 접근 방식의 중요성
Secret 유출은 모든 규모의 조직에 심각한 위협이 됩니다. 사전 예방적 접근 방식을 채택하고 적절한 도구를 활용함으로써 기업은 Secret 유출과 관련된 위험을 효과적으로 완화하고 보다 안전하고 복원력이 뛰어난 디지털 환경을 보장할 수 있습니다.