Breaking
사이버 보안(Cybersecurity)
데이터 연구로 '깃허브' 인증 기밀 수천건 유출 사실 드러나
2019-06-26 18:29:55
김지연
▲깃허브(Github)는 매일 수천 개의 새로운 기밀을 유출하고 100,000개 이상의 저장소에 영향을 미쳐왔다(사진=ⓒ123RF) 

[라이헨바흐=김지연 기자] 웹호스팅 서비스 '깃허브'의 저장소에서 수천건의 기밀이 유출된 것으로 밝혀졌다.  

깃허브에는 응용프로그램 인터페이스(API) 키 및 암호 기밀 정보를 비롯해 공개적으로 쉽게 액세스가 가능한 10만개 이상의 코드 저장소가 있다.  

노스캐롤라이나주립대학의 연구원 마이클 멜리, 브래들리 리브스, 시스코 시스템즈의 매튜 맥니스가 연구한 결과 수천 개의 새로운 비밀 정보가 유출되면서 10만개 이상의 저장소에 영향을 미치고 있었다.  

이러한 유출된 데이터는 두 가지 접근 방식을 통해 식별됐다.  

저장소의 검색어를 약 6개월 동안 깃허브 검색 엔진 API에 등록하고 '빅쿼리'라는 웹 서비스를 사용해 매주 깃허브의 활동을 조회하기 위해 전체 저장소 공개 데이터의 13%에 달하는 대규모 데이터를 분석했다. 또 이러한 기밀을 포함하는 깃허브의 새로 등록된 파일 99%를 추적하는 실시간 검색을 실시했다. 

한편, 연구 결과는 '2019년 네트워크 및 분산 시스템 보안 심포지엄'에서 발표됐다.  

 

API 키와 도메인 플랫폼 

깃허브의 API 및 암호 기밀 유출에 대한 '대규모 및 종단 분석'을 수행한 첫 번째 논문이라고 주장하는 이 연구는 자주 발생하는 데이터 유출은 웹 서비스의 개발 행위, 특히 비공개로 유지돼야 하는 키와 암호에 코드를 통합함으로써 기밀이 공개적으로 액세스되도록 만들었다고 설명한다. 

연구원들은 API 키, 액세스 토큰 및 암호 키와 같은 키 유형을 구현하는 서로 다른 도메인의 여러 플랫폼을 포함시켰다. 

첫 번째 도메인은 트위터, 페이스북, 유튜브 및 피카틱을 포함하는 소셜미디어였다. 금융 도메인은 페이팔 브레인트리, 스퀘어, 스트라이프 및 아마존 MWS에 초점을 맞췄으며 '서비스로서의 인프라스트럭처(IaaS)'에는 구글 클라우드 및 아마존 AWS가 있었다. 

통신 도메인에는 지메일, 메일건, 메일침프 및 트윌리오가 있었다. 개인 키 도메인에는 EC, RSA, PHP 및 제너럴이 포함된다. 마지막 도메인은 구글 드라이브만 포함된 플랫폼인 스토리지였다. 

유튜브의 경우 키 유형에 포함된 기밀은 구글 플랫폼과 동일한 형식이다. 그러나 이러한 기밀은 인증 방법(단일 요소/다중 요소 인증)과 같은 다른 구글 플랫폼과 동일한 위험을 갖지 않는다. 이는 지메일, 구글 드라이브 및 구글 클라우드 플랫폼에도 동일하게 적용된다. 

▲자주 반복되는 데이터 유출은 웹서비스의 개발에 의해 발생했다(사진=ⓒ123RF)

연구자들은 먼저 주어진 플랫폼 중 가장 인기가 높고 다른 것에 영향을 가장 많이 끼치는 플랫폼을 결정하기 위해 설문 조사를 실시했다. 이 연구 결과에는 15개의 API 키 유형과 4개의 비대칭 개인 키 유형이 있었으며 구분된 서명이 확인됐다. 

API 키의 경우, 일부 플랫폼은 API 암호 작성 시 임의로 생성된 각 값에 고유한 서명을 포함한다. 이 접근법은 API 기밀의 보안을 제공하지는 않지만 오픈 소스 기밀의 검색이 훨씬 쉽도록 만든다. 또한 연구원은 고위험도 API를 검색해 기밀 정보에 나타나는 서명을 확인하는 데 사용된 개발자 자격 증명서 10가지를 만들었다. 

연구원은 "미국의 경우 총 11개의 고유 플랫폼 예를 들어 구글과 구글 드라이브에 대한 서명을 컴파일 할 수 있었다"며 "이 중 5개 플랫폼과 9개의 API는 알렉사(Alexa) Top 50의 웹사이트 용이다"고 말했다. 

유출된 기밀의 대부분은 구글 API 키로, 총 22만 5,892건의 사례가 발견됐으며 그중 8만 5,311건이 고유한 것으로 조사됐다. 그 다음에는 3만 7,781개가 고유한 총 15만 8,011개의 사례가 포함된 RSA 개인 키와 마지막으로 4만 7,814개가 고유한 구글 OAuth ID 총 10만 6,909개가 뒤따른다. 

 

기밀의 발견 

연구자들은 후보 파일에 대한 정보를 수집하기 위해 두 가지 방법을 수행했다. 

첫 번째 방법은 검색 엔진 API에서 활동, 메타 데이터 및 코드 콘텐츠 저장소를 조사하는 것이다. 이 과정은 2017년 10월 31일부터 2018년 4월 20일까지 6개월의 시간이 걸렸다. 

연구원은 "검색 API는 유연하고 강력한 도구이지만 정규 표현에 대한 지원이 없고 통화율 및 결과 계산에 대한 제한된 설정이 없다"며 "검색 API를 조사하려면 쿼리 문자열과 정렬 유형의 두 가지 매개 변수가 필요하다"고 설명했다. 

연구원들은 첫 번째 방법을 사용하여 실험하는 동안 많은 다른 부속 장치와 함께 분당 30개의 검색어(깃허브는 사용자 당 속도 제한이 있다)와 시간당 총 5,000개의 비검색어를 별도로 만들었다. 그러나 이 방법은 결국 연구원의 검색어와 함께 전체 깃허브 파일의 약 99%를 포함했다. 

두 번째 방법은 모든 오픈 소스 저장소를 포함하는 깃허브의 활동이 스냅샷에 매주 기록되는 깃허브의 빅쿼리 데이터에 중점을 둔다. 

작년 4월 4일 연구원들은 스냅샷의 빅쿼리 방법을 사용해 모든 데이터 수집의 결과를 모았다. 그들은 깃허브에서 발견한 89.10%가 민감하며, 웹호스팅 서비스의 사용자를 위험에 빠뜨릴 수 있다고 결론지었다. 

[라이헨바흐=김지연 기자]