테크레시피

깃허브 코드스페이스를 악성코드 배포 서버로?

트렌드마이크로는 깃허브가 제공하는 브라우저에서 액세스 가능한 무료 클라우드 개발 환경인 코드스페이스(Codespaces)를 이용해 멀웨어를 호스트, 배포할 수 있다고 지적하고 있다.

코드스페이스는 깃허브 서버에서 실행되는 개발 컨테이너 내에서 응용 프로그램을 만들고 테스트할 수 있는 도구. 2022년 11월 일반용으로 출시된 이후 코드스페이스는 개발에 필요한 도구와의 종속성을 갖춘 구성된 컨테이너 기반 환경을 선호하는 개발자 사이에서 인기를 끌었다.

코드스페이스를 이용하면 개발 중인 코드를 외부 사용자에게 테스트하거나 공개할 수 있다. 이를 위해선 코드스페이스에서 포트포워딩을 수행하고 개발 중인 코드에 액세스하기 위한 URL을 생성해야 한다. 이 포트포워딩 설정은 비공개 또는 공용으로 구성할 수 있으며 비공개로 설정하면 URL에 액세스하기 위한 토큰 또는 쿠기 형식 인증이 필요하지만 공용으로 설정하면 인증이 필요하지 않기 때문에 URL을 아는 사람이라면 누구나 코드에 액세스할 수 있다.

이 기능을 활용하면 개발자는 코드 데모를 유연하게 수행할 수 있지만 트렌드마이크로는 이를 악용해 코드스페이스를 멀웨어를 호스팅하는 서버로 바꾸는 게 가능하다고 지적한다.

사용자는 깃허브 CLI를 이용해 개발 컨테이너 내에서 명령을 실행할 수 있다. 따라서 개발 컨테이너에서 파이썬 런타임을 이용해 간단한 HTTP 서버를 여는 구성을 만들고 포트 8000을 공용으로 전달한다. 또 깃허브 CLI를 통해 개발 컨테이너를 인증하고 멀웨어를 포함한 아카이브를 외부 URL에서 다운로드하고 파이썬 기반 서버에서 제공하는 디렉터리를 로컬로 배포하는 2가지 간단한 명령을 실행한다. 이것만으로 코드스페이스에서 생성한 URL을 통해 액세스 가능한 멀웨어를 포함한 오픈 디렉터리 작성이 완료된다는 것.

이 방법을 이용하면 공격 피해자는 신뢰할 수 있는 서비스인 깃허브가 소유한 도메인에서 멀웨어를 다운로드하게 되므로 보안 게이트웨이에 멀웨어가 검출될 가능성은 낮아진다. 따라서 트렌드마이크로는 이 기술이 피싱 공격이나 다른 악성코드를 이용해 다운로드한 악성 실행 파일을 호스팅하는 등에 이용될 가능성을 경고했다.

물론 클라우드 서비스 업체를 악용해 악성코드를 호스팅하는 기술 자체는 새로운 게 아니다. 다만 깃허브 코드스페이스를 악용할 때의 비용 장벽은 낮다고 한다. 보도에 따르면 코드스페이스를 이용해 악의적 웹서버를 10분 미만에 만들 수 있었다고 한다. 깃허브 정책은 비활성 코드스페이스를 30일 뒤 자동 삭제해 공격자는 한 달에 걸쳐 동일한 URL을 사용할 수 있다. 현재 코드스페이스 악용 사례는 확인되지 않았지만 이 기법을 이용한 악의적 공격 가능성을 경고하고 있다. 관련 내용은 이곳에서 확인할 수 있다.

정용환 기자

대기업을 다니다 기술에 눈을 떠 글쟁이로 전향한 빵덕후. 새로운 기술과 스타트업을 만나는 즐거움을 독자들과 함께 나누고 싶습니다.

뉴스레터 구독