구글이 웹브라우저 크롬89 베타 버전을 공개했다. 브라우저의 사용자 하드웨어 제어를 강화하는 비표준 API가 다수 추가됐다. 모질라, 마이크로소프트, 애플 등은 위험성을 이유로 도입하지 않은 기능이 여럿 추가돼 향후 보안성 논란을 예고했다.
구글은 지난달 28일 크롬89 베타 버전을 발표했다.
크롬89의 가장 큰 변화는 '어드밴스드 하드웨어 인터랙션'이다. 웹휴먼인터페이스디바이스(HID), 웹NFC, 웹시리얼 등 사용자 하드웨어를 브라우저에서 제어하는 API가 여럿 추가됐다.
웹HID API는 브라우저에서 사용자 기기의 입력장치와 직접 상호작용하게 한다. 키보드와 마우스뿐 아니라 게임패드나 조이스틱 같은 컨트롤러의 정보를 웹사이트에서 가져올 수 있다.
구글은 휴먼인터페이스디바이스(HID)의 종류가 다양하고, 일부는 너무 오래되거나 매우 적게 사용되기 때문에 PC의 하드웨어 드라이버로 접근해 제어하기 힘들다고 도입 이유를 설명했다. 웹HID를 이용하면, 자바스크립트 언어로 브라우저와 입력장치, PC, 운영체제 사이의 공백을 메울 수 있다.
구글은 "예를 들어 게임패드 지원과 관련해 흔하지 않거나 비정상적 HID 장치에 접근할 수 없다는 것은 매우 고통스럽다"며 "게임패드 입력과 출력은 잘 표준화됮 않았고, 웹브라우저는 종종 특정 장치의 사용자 정의 논리를 필요로 한다"고 강조했다. 또 "이는 오래되고 흔치 않은 긴 꼬리를 지원해야 해 지속 불가능하고 좋지 않은 결과를 낸다"고 덧붙였다.
웹HID는 새롭게 고안된 API다. 그러나 애플은 사파리 브라우저에서 웹HID를 채택하지 않는다. 사용자 지문 같은 민감정보를 유출할 수 있다는 이유였다.
일부 온라인 마케팅 업체는 웹사이트 알림, 카메라 접근 등을 사용자가 허용했는지 테스트하기 위해 자바스크립트 코드를 관행적으로 심어왔다.
웹HID의 다른 예로 디지털 콘텐츠 구매자의 정보를 삽입해 배포자를 추적하는 핑거프린팅 API나 마이크 같은 센서의 존재 여부를 감지하는 API가 있다.
웹HID는 HTML5로 표준화되지 않은 API다. HTML5는 '게임패드 API'처럼 입력장치별 표준 API를 규정하고 있다.
웹NFC는 웹애플리케이션이 NFC 태그를 읽고 쓸 수 있게 한다. 대형 이벤트 배지의 NFC 태그를 스캔해 서비스나 추천 콘텐츠를 등록된 사용자에게 제공하는 애플리케이션에 쓸 수 있다. 웹사이트가 NFC 정보를 직접 수집할 수 있게 되는 것이다.
웹시리얼 API는 애플리케이션과 디바이스의 시리얼포트를 바로 연결하게 해준다. 웹USB API에 포함된다. 웹USB는 크롬61부터 추가된 API로, 파이어폭스나 사파리는 보안성과 사생활침해를 이유로 지원하지 않는다.
웹셰어링 API는 웹사이트에서 트위터, 페이스북 같은 소셜미디어 공유 버튼을 직접 노출하지 않고, 크롬 브라우저의 기본 버튼을 눌러 콘텐츠를 공유하게 해준다. 이 API는 안드로이드용 크롬76 버전에 먼저 추가됐고, 크롬86 버전부터 윈도와 크롬OS에서도 쓸 수 있게 된다.
이 기능은 또한 사진이나 텍스트 문서 파일의 공유에도 쓸 수 있다. 파이어폭스는 웹셰어링API를 지원하지 않고, 마이크로소프트 엣지와 사파리는 지원하고 있다.
크롬에 새로 추가되는 하드웨어 관련 API는 브라우저 개발사 사이에서 논쟁거리다. 웹USB API를 유해하다고 보는 모질라는 잠재적 공격 표면을 확장한다고 강조한다.
모질라는 "많은 USB 장치는 USB 프로토콜로 잠재적으로 악의적인 상호 작용을 처리하도록 설계되지 않았다"며 "이런 장치가 연결된 컴퓨터에 상당한 영향을 미치기 때문에 보안 위험에 노출된다"고 밝혔다.
또 "웹에 대한 USB 장치는 너무 광범위해 사용자가 위험에 노출되고, 의미있는 동의를 얻기 위해 최종사용자에게 적절하게 설명할 수 없다"고 덧붙였다.
모질라는 웹NFC도 유해한 API로 분류하고 있다.
웹 생태계의 포괄적 동의를 얻지 못한 API가 구글에서 계속 만들어질 경우 크롬 브라우저의 독점을 더 강화할 수 있다. 크롬에서 이용하던 게임패드나 USB 접근이 파이어폭스에서 불가능하면, 사용자는 파이어폭스의 문제로 여길 소지가 크기 때문이다.
브라우저에서 안드로이드 디버깅을 하게 해주는 웹ADB 같은 툴에서 그 현상이 나타나고 있다. 한 사용자는 웹ADB 깃허브에서 웹USB를 파이어폭스에서 쓸 수 없다며, 버그하고 보고했다.
애플의 웹킷팀도 하드웨어 접근을 강조하는 API에 반대자 입장이다. 웹NFC, 웹HID, 웹시리얼, 웹USB 같은 API가 사용자 추적이나 보안성에서 유려할 만하다고 밝히고 있다.
관련기사
- 구글, 크롬 88 버전 출시...'플래시' 완전 퇴출2021.01.20
- 구글 크롬 전용 기능, 타사 웹브라우저 사용 제한2021.01.17
- "크롬 확장 프로그램, 사용자 데이터 판매 금지"2020.11.19
- 구글, 크롬 전용 루트 인증서 저장소 만든다2020.11.02
한편, 크롬86은 이밖에도 AVIF 콘텐츠 형식 디코딩을 기본 지원한다. 안드로이드와 웹뷰에서 AV1 디코더를 사용한다. AVIF는 차세대 이미지 형식이다. JPG이나 WebP보다 전체 파일 크기를 크게 줄이고 HDR 색상을 지원한다. 크롬85 버전부터 AVIF 형식을 지원하고 있다.
V8 자바스크립트 엔진이 8.9 버전으로 업데이트됐다.