개인정보위 "깃허브에 접근키·API키 저장 말라"...클라우드·협업도구 자격증명 노출로 개인정보 유출 잇따라, 국내 한 기업선 1천만 건 새나가
개인정보위가 15일 자격증명 안전관리 강화를 당부했다.
[한국정보기술신문] 개인정보보호위원회(위원장 송경희, 이하 개인정보위)가 6월 15일 클라우드 기반 서비스와 소프트웨어 개발 협업도구를 사용하는 사업자에게 접근키, 인증토큰, API 키 등 자격증명 정보를 안전하게 관리할 것을 당부했다. 클라우드 환경과 개발 협업 환경이 확대되면서 자격증명 정보의 중요성이 더욱 커지는 가운데, 최근 이러한 정보가 외부에 노출되거나 탈취돼 대규모 개인정보 유출로 이어지는 사고가 잇따르고 있어서다.
자격증명은 시스템이나 서비스에 접근할 권한이 있음을 증명하는 정보를 말한다. 접근키와 비밀번호, API 키, 인증토큰 등이 여기에 해당한다. 개인정보위는 개발 과정에서 쓰이는 자격증명이 소스코드 저장소나 협업도구에 노출될 경우, 공격자가 이를 악용해 개인정보처리시스템과 데이터베이스, 클라우드 서비스 등에 무단으로 접근할 수 있다고 설명했다. 이 경우 대규모 개인정보 유출로 번질 수 있어 사업자의 각별한 주의가 요구된다는 것이다.
특히 깃허브(GitHub)처럼 소스코드를 검토·배포하고 프로젝트를 공유하는 개발 협업도구에서 클라우드 접근키나 API 키 같은 자격증명이 노출되는 사례가 확인되고 있다. 개발자가 관리 편의를 위해 소스코드에 자격증명을 그대로 적어 두는 경우, 이 정보가 공격자에게 넘어가면 곧바로 시스템 침입으로 이어질 수 있다는 것이 개인정보위의 설명이다.
자격증명 관리가 중요해진 배경에는 기업의 정보기술(IT) 환경 변화가 자리한다. 과거에는 기업이 자체 서버에 시스템을 직접 두고 운영하는 경우가 많았으나, 최근에는 외부 클라우드 사업자가 제공하는 컴퓨팅 자원을 빌려 쓰고 여러 개발자가 협업도구로 소스코드를 함께 다루는 방식이 일반화됐다. 이런 환경에서는 시스템에 접근하기 위한 열쇠 역할을 하는 자격증명이 곳곳에서 쓰이는데, 이 가운데 하나라도 외부로 새어 나가면 연쇄적으로 다른 시스템까지 위험에 노출될 수 있다.

깃허브에 노출된 키 하나로 1천만 건 유출...국내 4개사 피해 사례
개인정보위는 자격증명 노출이나 탈취로 개인정보가 유출된 국내 사례 네 건을 함께 공개했다. A사의 경우, 신원을 알 수 없는 공격자가 표적형 피싱 메일(스피어피싱)을 통해 깃허브 계정 접근권한을 확보한 뒤 AWS 접근키를 획득해 내부 데이터베이스에 저장된 개인정보 약 240만 건을 열람했다. AWS 접근키는 클라우드 자원에 접근할 수 있는 인증정보로, 부여된 권한 범위 안에서 서비스를 운영하고 관리할 수 있다.
B사에서는 깃허브에 암호화되지 않은 평문 상태로 저장된 데이터베이스 접속정보가 공격자에게 넘어가 개인정보 약 42만 건이 유출됐다. C사의 경우 깃허브에 노출된 AWS 접근키가 탈취되면서 개인정보 약 1천만 건이 한꺼번에 빠져나갔다. D사에서는 깃허브에 올린 소스코드에 직접 적어 둔(하드코딩된) 시스템 접근용 시크릿 키가 노출돼 개인정보가 유출됐다. 네 사례 모두 협업도구나 소스코드에 남아 있던 자격증명이 사고의 출발점이 됐다는 공통점이 있다.
이들 사례는 공격자가 복잡한 해킹 기술을 동원하기보다, 이미 노출돼 있던 자격증명을 손에 넣어 정상적인 접근 권한처럼 사용했다는 점에서 주목된다. 자격증명 하나가 노출되면 권한 범위 안의 시스템 전체가 사실상 무방비 상태가 될 수 있는 만큼, 자격증명을 처음부터 협업도구나 소스코드에 남기지 않는 관리가 무엇보다 중요하다는 지적이 나온다.
개인정보위 "임시 자격증명 쓰고 접근권한 최소화하라"
개인정보위는 클라우드 환경이나 개발 협업도구를 사용하는 사업자에게 다섯 가지 보호조치를 권고했다. 먼저 소스코드에 접근키와 비밀번호, API 키 등 자격증명이 저장되거나 노출되지 않도록 설정하고 관리할 것을 주문했다. 또 한 번 발급하면 오래 쓰는 장기 자격증명 대신, 일정 시간이 지나면 자동으로 만료되는 임시 자격증명을 사용하라고 권고했다. 예를 들어 AWS의 IAM 역할(Role) 기반 접근통제 체계는 일정 시간 동안만 유효한 임시 자격증명을 발급해 운영할 수 있다.
이어 자격증명을 쓸 수 있는 IP 주소나 네트워크 구간을 제한해 외부에서의 무단 사용을 막고, 데이터베이스와 클라우드 관리 콘솔 등 주요 시스템에는 다중인증(MFA)을 적용하라고 했다. 다중인증은 비밀번호 외에 추가 인증수단을 더해 본인 여부를 거듭 확인하는 방식이다. 아울러 꼭 필요한 권한만 부여하는 최소권한 원칙을 지키고, 자격증명 사용 내역을 정기적으로 점검해 불필요하거나 오랫동안 쓰지 않은 접근권한은 즉시 회수하라고 권고했다.
협업도구 저장 방지 위한 구체적 조치도 제시
개인정보위는 자격증명이 협업도구에 저장되는 것을 막기 위한 구체적인 조치 사례도 함께 안내했다. 먼저 협업도구에서 자격증명 파일이나 인증서 파일이 관리되지 않도록 제외 설정을 둘 수 있다. 깃허브의 경우 '.gitignore' 파일에 인증서나 환경설정 파일(.env) 등을 등록하면 코드저장소 업로드 대상에서 빼낼 수 있다.
또 코드저장소에 코드를 올리기 전 기밀정보 자동 탐지 도구로 자격증명 노출 여부를 점검하는 방법도 제시됐다. 깃허브가 제공하는 '시크릿 스캐닝(Secret Scanning)'이나 '푸시 프로텍션(Push Protection)' 등을 활용할 수 있다. 이와 함께 개발자를 대상으로 정기 교육을 실시하고, 동료 엔지니어가 서로 코드를 검토하는 코드 리뷰 과정에서 하드코딩된 비밀번호나 접근키가 포함됐는지 확인하도록 했다. 만약 자격증명 노출이 확인되면 해당 자격증명을 즉시 폐기하고 새 자격증명으로 교체하는 등 신속히 대응해야 한다고 강조했다.
"키 하나로 주요 시스템 접근...계정·권한관리가 핵심"
양청삼 개인정보위 사무처장은 "클라우드 환경에서는 접근키, 데이터베이스 계정, API 키 등 자격증명 하나만으로도 중요 시스템에 접근할 수 있는 만큼, 안전한 계정·권한관리가 무엇보다 중요하다"고 밝혔다. 이어 "사업자는 자격증명이 소스코드나 개발 협업도구에 저장되지 않도록 관리하고, 임시 자격증명 사용과 접근통제 강화를 통해 개인정보 유출사고를 예방해야 한다"고 당부했다.
양 사무처장은 또 "실수로 자격증명을 코드저장소에 업로드한 경우 작업 공간에서 삭제하더라도 형상관리 이력에 해당 정보가 남을 수 있다"며 "즉시 해당 자격증명을 폐기하고 새로운 자격증명으로 교체 발급하는 등 신속한 조치를 취하는 것이 바람직하다"고 강조했다. 형상관리란 소프트웨어 개발 과정에서 코드의 변경 이력을 기록하고 관리하는 작업을 말한다.
이번 권고는 특정 기업을 제재하기 위한 것이 아니라 클라우드와 협업도구를 쓰는 사업자 전반에 사전 예방을 당부하는 차원에서 나왔다. 개인정보위는 자격증명 노출이 한번 발생하면 짧은 시간 안에 대규모 유출로 번질 수 있는 만큼, 사업자가 평소 계정과 권한을 점검하는 관리 체계를 갖추는 것이 사고를 막는 가장 현실적인 방법이라고 보고 있다.
한국정보기술신문 정보보안분과 안서진 기자 news@kitpa.org











