본문 바로가기

IT Knowledge

인터넷 상에 노출된 자격증명 탐지

이제 많은 기업에서 클라우드 환경을 사용하고 있습니다.

기업에서 보안을 위해 역량을 개선하고 보안 모범사례를 적용하고 있지만 일부 조직 및 개인에서는 여전히 모범사례를 지키지 않아 데이터 유출이나 랜섬웨어 감염같은 사이버 위협에 노출되어 있습니다.

 

그 중에서 가장 흔하게 발생하는 원인은 장기적인 자격증명 사용, 부적절한 API 토큰 관리, 자격증명 노출 등 관리부족으로 인한 보안사고 입니다. 이번에는 그 중에서 노출된 자격증명을 탐지하는 방안에 대해 살펴보고자 합니다.

 

자격증명 노출 유형

Public 설정된 코드저장소

조직이나 개인이 사용하는 공개 설정된 코드 저장소(Github, Gitlab, Bitbucket, AWS CodeCommit 등)에 자격증명이 업로드되어 유출되는 경우

자격증명 하드코딩

서비스 연동을 위한 API 호출 자격증명을 소스코드에 반영해야 하는 경우가 있습니다.

이때, 시스템의 환경변수에 자격증명 정보, Access Key, Secret Key를 소스코드에 직접적으로 입력하여 사용하면 외부 공격자가 코드 저장소에 접근 권한을 획득한 경우, 코드에 접근 가능한 내부 위협 행위자가 있는 경우 자격증명이 노출되어 보안 사고로 이어질 수 있습니다.

잘못된 API Key 관리

API 호출에 사용되는 인증 토큰과 같은 자격증명을 하드코딩해서는 안되며 여러 협업도구(Slack, Notion 등)를 통해 API Key나 자격증명이 노출되어 공격자가 API Key를 확보하게 된다면 래터럴 무브먼트 기법을 통해 손쉽게 공격을 전개할 수 있게 됩니다.

자격증명 노출 탐지 방법

자격증명이 노출되어있는지 어떻게 탐지할 수 있을까? 방법은 여러가지가 있다.

- 조직 내 탐지 도구를 자체 개발

- Git-Leaks 나 TruffleHog 와 같은 오픈소스 활용

- 코드 저장소와 같은 서비스에서 제공하는 탐지 기능 활용

- Cremit 같은 자격증명 노출 탐지 솔루션 사용

자격증명 관리 모범사례

'IT Knowledge' 카테고리의 다른 글

Vault by HashiCorp  (0) 2024.03.07
쿠키와 세션의 특징과 차이점  (0) 2024.03.04
GitHub - github support for password authentication was removed 토큰 인증 에러  (0) 2023.12.11
Observability  (0) 2023.11.09
LDAP  (0) 2023.10.06