리지 경제학

기술과 과학

구글 크롬이 4년 전 내친 제이펙 엑스엘...생태계 압박과 보안에 번복

생태계 관심 부족하다며 배제했던 차세대 규격 공식 지원...러스트 언어로 해독기 새로 개발

리지

웹 브라우저2분

Illustration by Gemini

구글이 웹 브라우저 크롬에 차세대 이미지 압축 규격인 제이펙 엑스엘(JPEG XL)을 공식 지원하기로 했다. 구글은 불과 4년 전 생태계의 관심이 부족하다며 관련 시험 코드를 삭제했던 결정을 뒤집었다. 세계 웹 브라우저 시장의 60% 이상을 점유한 지배적 사업자가 한 번 공식 배제했던 기술 규격을 다시 채택한 이번 결정은 웹 업계에 적지 않은 파장을 일으켰다.

구글이 2022년 말 크롬 110에서 제이펙 엑스엘을 제외하자 개발자 사회는 거세게 반발했다. 제이펙 엑스엘은 기존 제이펙보다 압축 효율이 높고 화질 손실 없이 용량을 줄일 수 있는 규격이다. 크롬이 지원을 중단하자 차세대 이미지 표준 경쟁은 급속히 위축됐다. 구글이 자체 규격인 웹피(WebP)와 에이비아이에프(AVIF)를 표준으로 안착시키기 위해 경쟁 기술을 배제했다는 비판이 쏟아졌다.

하지만 시장 상황은 구글의 의도대로만 흘러가지 않았다. 애플은 2023년 자체 브라우저 사파리와 운영체제 전반에 제이펙 엑스엘 지원을 추가했다. 어도비는 전자문서 표준인 피디에프(PDF)의 차세대 압축 기술로 제이펙 엑스엘을 채택했다. 웹 브라우저 간 기능 호환을 평가하는 인터롭(Interop) 프로젝트에서도 전 세계 웹 개발자들은 수년간 크롬의 제이펙 엑스엘 지원을 최우선 과제로 요구했다. 크롬 혼자 지원을 거부하기에는 고립에 따른 부담이 컸다.

구글은 이번 지원 재개의 주된 이유로 메모리 보안을 전면에 내세웠다. 웹 브라우저에서 이미지 해독기는 보안상 가장 취약한 지점으로 꼽힌다. 사용자가 웹을 이용하는 동안 외부 서버에서 전송되는 검증되지 않은 데이터를 해독기가 직접 받아 화면을 표시하는 렌더러 프로세스 내부에서 처리하기 때문이다. 악성 코드를 심은 이미지 파일 하나로 컴퓨터 전체의 권한을 탈취하려는 공격이 잇따르는 것도 이 때문이다.

수십 년간 쓰여온 전통적인 C++ 언어로 작성된 해독기들은 메모리 안전성 결함에 취약했다. 버퍼 범위를 벗어나 데이터를 읽거나 메모리에서 해제된 공간에 다시 접근하는 오류는 보안 침투의 주요 통로였다. 구글은 기존 C++ 해독기를 탑재하지 않고 메모리 안전성을 언어 설계 차원에서 보장하는 러스트(Rust) 언어로 제이펙 엑스엘 해독기를 새로 개발했다.

새 언어로 전환하는 과정에서 처리 속도가 떨어지지 않도록 하드웨어 병렬 처리(SIMD) 명령어도 함께 적용했다. 구글은 여러 운영체제와 하드웨어 환경에서 검증한 결과 C++로 작성한 기존 코드에 필적하는 처리 속도를 달성했고, 개발 과정에서 단 하나의 메모리 안전성 오류도 발견되지 않았다고 밝혔다. 과거에 확보하지 못했던 보안 기준을 충족한 뒤에야 생태계의 요구를 수용할 수 있었다는 입장이다.

구글의 이번 결정 번복으로 개방형 웹의 작동 원리가 분명하게 드러났다. 세계 시장의 과반을 점유한 거대 플랫폼 기업이라도 개발자와 경쟁사들이 요구하는 공통 표준을 홀로 거스르기는 어려웠다. 동시에 수십 년간 취약한 언어에 의존해온 웹 브라우저의 핵심 요소들이 안전한 현대적 언어로 대체되기 시작했다는 사실을 보여준다.

이 글이 어땠나요?

눌러 주시면 다음 글을 쓸 때 소중한 참고가 됩니다.