소스코드 공유 플랫폼 깃허브, '보안' 최대 숙제 됐다

취약점·사고 잇따라…위협 차단 기능 보완 지속

컴퓨팅입력 :2021/05/28 17:15    수정: 2021/05/28 17:16

소스코드 공유·관리 플랫폼 '깃허브'를 이용하는 데 있어 보안 위협에 주의해야 한다는 목소리가 높아지고 있다. 플랫폼 특성을 노려 해커가 공격의 발판으로 악용하거나, 플랫폼 내 보안 체계의 미흡함으로 이용자들이 취약점에 노출되는 사례가 나타나고 있어서다.

특히 최근 '솔라윈즈' 등 공급망 공격으로 인한 대규모 해킹 피해가 주목을 받으면서 소프트웨어(SW) 유통망 전반에 대한 보안이 강화돼야 한다는 데 각계 의견이 모아지는 상황이다. 이런 우려 및 보안 사고가 잇따르면서 깃허브도 지속적으로 보안 수준을 강화하는 조치를 도입하고 있다.

오픈소스 공유플랫폼 깃허브가 인종차별적인 용어 교체 운동에 나서고 있다.

■보안 사건·사고 발생…SW 공급망 위험성도 주목돼

깃허브에 대한 보안 위협 요인 중 하나로 계정 탈취로 인한 정보 유출 가능성이 제기된다. 실제로 작년 5월 해킹 조직 '샤이니헌터스'는 마이크로소프트(MS)의 깃허브 계정에 접근해 데이터 500GB 가량을 탈취했다고 주장하기도 했다.

지난 2019년 한국인터넷진흥원(KISA)는 깃허브를 비롯한 온라인 소스코드 저장소의 보안 설정이 취약해 프로젝트가 외부에 공개돼 정보가 탈취되고, 해커가 금전 갈취를 시도하는 사고가 발생하고 있다며 보안 권고문을 발표한 바 있다. 이에 대한 해결 방안으로 ▲패스워드 관리 강화 ▲소스코드 저장소 접근 통제 및 프로젝트 공개 수준 점검 ▲외부 인터넷과 차단된 곳에서 개발 환경 운영 등을 제안했다.

프로그래밍 소스코드.

등록된 소스코드에 내재된 위험성도 주요 보안 문제로 대두된다. 작년 깃허브는 소스코드 취약점을 검사해주는 기능 '코드 스캐닝' 베타 테스트를 실시한 약 반 년간 1만2천개 저장소에서 취약점 2만개 이상을 확인했다고 밝혔다.

지난달 미국 미네소타 대학교 연구팀이 리눅스 커널에 악성코드를 심어 공유한 사실이 알려진 점도 SW 개발 과정에서의 보안 관리에 대한 경각심을 높였다. 해당 연구팀은 악성코드가 소스코드 승인 프로세스를 어떻게 통과할 수 있는지를 연구하는 과정에서 이런 소스코드를 제출했다고 밝혔으나, 악의를 가진 사용자가 깃허브를 통한 공급망 공격을 어떻게 수행할 수 있는지 보여주는 사례인 셈이다.

■계정 관리·취약점 탐지 등 플랫폼 보안 강화 기능 탑재

다양한 측면에서 보안 우려가 제기됨에 따라 깃허브도 보안 수준을 높이는 업데이트를 출시하고 있다.

깃허브는 작년 9월말 코드 스캐닝을 정식으로 제공하기 시작했다. 코드 스캐닝은 깃허브 모회사인 MS가 지난 2019년 인수한 코드 분석 플랫폼 공급 업체인 셈멜의 기술 역량을 활용해 개발된 기능으로 C, C++, C#, 고, 자바, 자바스크립트, 타입스크립트, 파이썬 등의 프로그래밍 언어로 작성된 코드에 대해 즉각적으로 보안 취약점을 찾아준다.

소스코드 공유 사이트 깃허브가 코드를 배포하기 전 취약점 유무를 검사하는 보안 기능 '코드 스캐닝'을 공식 출시한다고 미국 지디넷이 30일(현지시간) 보도했다.(출처=미국지디넷)

코드 관리 도구인 '깃'의 보안 수준을 강화하고자 작년 10월 출시한 2.29 버전부터는 기존 SHA-1보다 강력한 암호화 알고리즘인 SHA-256을 지원했다. SHA-1의 암호화 수준이 낮아 해커가 정보 탈취 및 악성 리디렉션 등의 공격 가능성이 있다는 우려가 있어온 데 따른 조치다. 깃허브는 점차 SHA-256으로의 전면 전환을 추진할 계획이다.

관련기사

보안키 기반 2단계 인증도 지난 12일부터 지원하고 있다. 깃허브는 향후 개인용 액세스 토큰(PAT)도 지원해 계정 보안을 강화할 방침이다.

깃허브 모회사인 MS는 지난 25일(미국시간) 온라인으로 개최한 개발자 행사 '빌드 2021'에서 애저 보안 센터(ASC)와 깃허브를 통합한다고 밝혔다. ASC에서 깃허브의 지속적 통합/지속적 전달(CI/CD) 도구인 '깃허브 액션'으로 보안 상태를 살펴보고, ASC에서 제공되는 보안 권장사항을 참고할 수 있게 됐다. 이는 전체 SW 개발 과정에서 보안 상태에 대한 가시성을 높이면서 컨테이너 배포 전 취약점을 탐색하고, 문제 발견 시 대응 시간을 줄일 수 있게 한다는 설명이다.