* 출처는 안랩입니다.
클라우드와 개발 환경에서 사용하는 자격증명이 공격자의 주요 표적으로 떠오르고 있다.
자격증명은 시스템과 서비스에 접근할 때 사용하는 인증 정보로, 소스코드나 협업 도구를 통해 노출되면 코드 저장소부터 클라우드와 데이터베이스, 배포 환경까지 피해가 번질 수 있다. 관련 파일을 삭제하더라도 과거 기록이나 외부에 복사된 자료에 정보가 남아 있을 수 있어 신속한 대응이 필요하다. 자격증명은 어떻게 노출되며, 유출이 의심될 때 무엇부터 해야 하는지 알아보자.

자격증명 노출이 내부 침해로 이어지는 과정
클라우드 서비스와 DevOps 기반 개발 환경에서는 다양한 자격증명이 사용된다. 클라우드 환경에 접근하는 Access Key, 외부 서비스와 연동하는 API Key, GitHub 저장소에 접근하기 위한 Personal Access Token(PAT) 등이 대표적이다.
이런 자격증명은 소스코드에 직접 입력하거나 환경설정 파일을 저장소에 올리는 과정에서 또는 메신저나 이메일, Jira, Wiki 등 협업 도구로 자격증명을 공유한 기록이 외부에 노출되는 경우도 있다. 개발자 단말이 악성코드에 감염되거나 신뢰하기 어려운 IDE 확장 프로그램 설치로 인해 자격증명이 탈취될 가능성도 배제할 수 없다.
공격자는 확보한 자격증명으로 GitHub 저장소나 클라우드 환경에 접근할 수 있다. 이후 소스코드와 설정 정보를 확인하고 추가 자격증명을 수집하거나 권한을 확대해 내부 시스템으로 횡적 이동할 수 있다. 나아가 CI/CD 환경까지 장악할 경우 악성코드를 배포하는 공급망 공격으로 이어질 가능성도 있다.
파일 삭제만으로는 충분하지 않은 이유
GitHub 저장소에 자격증명이 포함된 파일을 실수로 올린 뒤 해당 파일을 삭제하거나 새로운 커밋으로 덮어쓰더라도 안심해서는 안 된다. Git은 변경 이력을 관리하기 때문에 과거 커밋에 자격증명이 그대로 남아 있을 수 있다.
Git Filter-Repo나 BFG Repo-Cleaner 등을 이용해 저장소 이력을 정리할 수 있지만, 이미 외부에서 저장소를 복제했다면 노출된 정보를 회수하기 어렵다. 따라서 자격증명 노출이 확인됐거나 의심되는 경우에는 저장소에서 관련 내용을 삭제하는 데 그쳐서는 안 된다.
가장 먼저 해야 할 조치는 기존 자격증명을 즉시 폐기하고 새로운 값으로 재발급하는 것이다. GitHub PAT뿐 아니라 소스코드에 포함돼 있던 데이터베이스 계정과 비밀번호, AWS Access Key, Azure Service Principal, Google Cloud Service Account Key, API Key, SSH Key, 인증서 및 기타 서비스 계정 등도 모두 새로운 값으로 교체해야 한다.
* 전체내용은 아래에서 확인하세요.
https://www.ahnlab.com/ko/contents/content-center/36235







