소스코드 관리 도구 '깃'의 보안 수준이 강화된다. 그 동안 암호화 수준이 낮은 암호화 알고리즘인 SHA-1를 사용해왔지만, SHA-256을 사용할 수 있게 됐다.
SHA-1과 SHA-256은 사용자 브라우저와 웹사이트 간 통신에 쓰이는 디지털 인증서를 특정 길이의 문자, 숫자 등으로 구성되는 '해시값'으로 만들어주는 알고리즘이다.
이 중 구형 버전인 SHA-1은 해시 충돌 문제가 몇 년 전부터 제기돼왔다. 해시 충돌이란 서로 다른 내용이 같은 해시값으로 변환되는 것을 뜻한다. 즉 디지털 인증서에 대한 해시값이 고유하지 않을 수 있는 것이다. 해커는 이를 악용해 디지털 인증서를 위조해 정보를 가로채거나 악성 웹사이트 접근을 유도하는 공격을 시도할 수 있다.
미국 지디넷에 따르면 깃허브는 깃 2.29 버전을 출시함에 따라 SHA-256을 지원하는 소스코드 저장소를 만들 수 있게 됐다고 지난 19일 밝혔다.
구글은 일찍이 깃의 SHA-1 사용을 문제삼았다. 구글은 지난 2017년 SHA-1의 해시 충돌을 의도적으로 유발할 수 있는 기법 '섀터드'을 선보이면서, SHA-1이 아닌 SHA-256 등 더 강력한 암호화 알고리즘을 채택해야 한다고 조언한 바 있다. 깃도 여기에 해당돼 안전한 기술이 아니라는 지적이었다. 구글은 정상적인 소스코드 저장소가 백도어 소스코드 저장소로 변조될 가능성을 언급했다.
당시 깃을 만든 리누스 토발즈는 이런 지적에 동의하지 않았다. 섀터드 기법을 시연한 환경과 깃 시스템 환경이 다르기 때문에 SHA-1을 쓰더라도 깃에서 고의적인 해시 충돌을 만들어내기 어렵다고 봤다. 그러면서도 깃허브는 섀터드 방식의 해시 충돌 공격을 탐지, 차단하는 보안 패치를 내놨다.
이후에도 SHA-1 해시 충돌과 관련해 보안 문제제기가 이어졌다. 지난해 3월 프랑스 국립정보통신기술연구소와 싱가포르 난양 이공대학 연구팀은 섀터드보다 사이버공격으로 발전할 가능성이 더 높은 방식의 SHA-1 해시 충돌 방식을 발표했다.
관련기사
- 깃허브, 소스코드 배포 전 취약점 찾아준다2020.10.01
- 정부, 공공사이트 HTTPS '보안경고' 못 없앴다2018.12.27
- MS, 깃허브 코드스페이스로 웹개발 도구 통합2020.09.07
- ST, 깃허브에 'STM32 임베디드 SW' 무료 공개2020.05.07
깃허브는 SHA-1 해시 충돌 공격 탐지 기능을 구현했으나 향후 새로운 공격이 등장할 가능성을 배제할 수 없는 만큼, 아직 공격 기법이 보고되지 않은 SHA-256으로의 전환 계획을 준비하고 있다고 밝혔다.
깃 2.29 버전에서 SHA-256을 사용할 수 있지만, SHA-1 기반 저장소와 SHA-256 기반 저장소와 상호 연동이 되지 않는 상태다. 깃허브는 궁극적으로는 이 기능도 지원할 계획이라고 덧붙였다.