구글, 크롬 확장의 보안 문제에 손쓰기 시작했다
크롬 브라우저를 즐겨 쓰는 사람들은 그 이유로 예외 없이 편리한 확장 프로그램(Chrome Extensions)을 꼽는다. 반면에 확장 프로그램은 많은 보안상 문제를 가져오기도 했다. 악성 확장은 물론 다른 스토어에선 찾아보기 힘든 공급망 공격(개발자의 크롬 웹 스토어 계정이 해킹당함)도 발생하곤 했다. 이에 대해 구글은 1일 대책을 발표했다.
그러나 크롬 70버전부터는 확장의 사이트 접근 권한을 3단계로 설정할 수 있다. 확장을 클릭했을 때만>특정 사이트>모든 사이트의 3단계다. 다만 현재로선 이런 제한이 기본적으로 적용되는 것은 아니고, 사용자가 수동으로 설정해야 한다. 앞으로는 보다 많은 옵션을 제공할 것이라고 밝혔다.
원격에 호스팅된 코드란 확장 프로그램 내부가 아닌 외부의 서버에 있는 코드를 호출하여 이용하는 방식이다. 이것은 심사 시간을 많이 필요로 하며, 개발자가 추후에 쉽게 바꿀 수 있기 때문에 심사를 우회할 수도 있는 문제가 있다. 따라서 모든 코드는 확장 프로그램 내에 직접 포함하도록 했다.
참고 자료
권한 제한
지금까진 크롬 확장은 보고 있는 사이트의 모든 데이터와 콘텐츠에 접근할 수 있었다. 이것은 사이트의 스킨을 변경하고 기능을 추가하고 버그를 바로잡는 등 다양한 작업을 수행할 수 있는 장점이 있다. 반면 악용되면 광고 삽입, 악성코드 삽입, 개인정보 탈취, 다른 웹 사이트에 접근 등 악성 행위에 이용될 수도 있다.그러나 크롬 70버전부터는 확장의 사이트 접근 권한을 3단계로 설정할 수 있다. 확장을 클릭했을 때만>특정 사이트>모든 사이트의 3단계다. 다만 현재로선 이런 제한이 기본적으로 적용되는 것은 아니고, 사용자가 수동으로 설정해야 한다. 앞으로는 보다 많은 옵션을 제공할 것이라고 밝혔다.
과도한 권한 요구에 제동
과도한 권한이나 사이트 접근권을 요구하는 확장은 추가적인 심사를 거치게 했다. 또한 원격에 호스팅된 코드(remotely hosted code)를 이용하거나 트래픽을 감시(outgoing monitoring)하는 확장은 세밀히 조사하기로 했다.원격에 호스팅된 코드란 확장 프로그램 내부가 아닌 외부의 서버에 있는 코드를 호출하여 이용하는 방식이다. 이것은 심사 시간을 많이 필요로 하며, 개발자가 추후에 쉽게 바꿀 수 있기 때문에 심사를 우회할 수도 있는 문제가 있다. 따라서 모든 코드는 확장 프로그램 내에 직접 포함하도록 했다.
난독화된 코드 불가
악성코드는 대부분 분석이 어렵도록 알아보기 힘들게 난독화(obfuscation)되어 있다. 이를 도와주는 툴(obfuscator)도 있다. 앞으로는 확장에 난독화된 코드를 쓸 수 없다. 기존의 확장도 2019.1.1까지는 난독화된 코드를 제거해야 한다. 심사 과정에서 코드와 그 목적을 투명하게 들여다 볼 수 있게 됐다.개발자에게 2단계 인증 의무화
2019년부터는 모든 개발자의 크롬 스토어 계정은 2단계 인증을 설정해야 한다. 크롬 스토어 계정 해킹으로 인한 공급망 공격을 막기 위해서다. 실제로 올해 MEGA, Hola VPN이 공급망 공격을 당해 악성코드가 심긴 채 배포됐다.참고 자료
댓글
댓글 쓰기