기타 Hacker News · 5일 전

"Git 3.0의 SHA-256 기본 전환은 엄청난 돈 낭비이자 재앙" 유명 개발자의 일침

핵심 요약
  • 깃 3.0에서 기본 해시 알고리즘을 20년간 쓰인 SHA-1에서 SHA-256으로 전면 교체할 예정입니다.
  • 스콧 샤콘은 실제 보안 위협은 거의 없는 수준인데 전 세계 생태계에 막대한 비용과 혼란만 떠넘기는 조치라며 강하게 비판했습니다.
  • 우연한 해시 충돌 가능성은 사실상 0에 가깝고, 입증된 공격 방식 역시 현실적인 저장소 변조 위협과는 거리가 멀다는 지적입니다.
요약 깃(Git) 창시자 리눅스 토발즈가 2005년 깃을 개발한 이래, 깃은 데이터 저장 및 무결성 검증을 위해 20년 동안 SHA-1 해시 함수를 기본값으로 사용해 왔습니다. 깃은 파일 내용뿐만 아니라 커밋 내역까지 해시로 엮어 관리하는 '내용 주소 지정 데이터베이스' 구조를 띠고 있습니다. 하지만 2017년(SHAttered)과 2020년(SHA-1 is a Shambles) 연구 논문을 통해 SHA-1의 해시 충돌 공격 가능성이 입증되면서 암호학적으로 취약하다는 판정을 받았습니다. 이에 따라 차기 버전인 깃 3.0에서는 기본 해시 알고리즘을 SHA-1에서 보안성이 더 높은 SHA-256으로 전격 교체하는 대대적인 하위 호환성 파괴 변경(Breaking Change)이 예정되어 있습니다. 이에 대해 깃 전문 서적 저자이자 GitButler의 스콧 샤콘(Scott Chacon)은 "깃 3.0의 SHA-256 기본화는 실질적인 이득은 거의 없이 전 세계 개발 생태계에 천문학적인 비용과 혼란만 초래할 치명적인 실수"라고 강도 높게 비판했습니다. 그의 설명에 따르면, 일반적인 프로젝트에서 두 파일의 SHA-1 해시값이 우연히 겹칠 확률은 약 14해(1.4 septillion) 분의 1로 사실상 불가능합니다. 또한 연구에서 증명된 것은 막대한 자금과 GPU 연산력을 동원해 의도적으로 동일한 해시를 갖는 두 파일을 만들어내는 '충돌 공격(Collision attack)'일 뿐, 이미 존재하는 정상 파일과 동일한 해시를 갖는 악성 파일을 끼워 넣는 '제2 역상 공격(Second-preimage attack)'은 SHA-1은 물론 심지어 MD5 수준에서도 사실상 불가능하다고 지적했습니다. 즉, 실제 개발 환경에서 악용될 현실적인 위협은 극히 희박한데 반해, 20년간 구축된 도구 체계와 저장소를 전부 뒤흔드는 대가를 치르게 된다는 주장입니다.
Sponsored · 광고