1P by GN⁺ | ★ favorite | 댓글 1개
  • Mozilla standards-positions 이슈에서 Web Environment Integrity API에 대한 입장이 요청됐고, Mozilla는 이 제안이 웹의 개방성 원칙과 충돌한다며 position: negative로 정리함
  • 제안은 Chromium 프로토타입이 현재 Google Play Integrity에 의존하지만 명세상으로는 벤더 중립적이라고 되어 있으며, 요청자는 EME처럼 실제로는 소수 벤더 중심으로 굳어질 수 있다고 우려함
  • Mozilla는 이 API가 기기, 운영체제, 브라우저 선택을 제한하는 메커니즘이 될 수 있어 웹 생태계의 개방성에 해롭고 사용자에게 좋지 않다고 판단함
  • 제안된 사용 사례 중 “비인간 트래픽 감지”는 보조 기술, 자동 테스트, 아카이빙, 검색 엔진 스파이더처럼 인간용 콘텐츠를 변환·검증·색인·요약하는 기존 웹 활용을 막을 수 있음
  • Mozilla는 사기와 무효 트래픽 탐지가 어려운 문제이며 해결에 관심이 있다고 했지만, 이 제안은 실제 사용 사례 진전에 대한 설명이 부족하고 채택 시 명확한 단점이 있다고 봄

이슈의 요청과 제안 범위

제기된 초기 우려

  • 요청자는 EME가 이론상 벤더 중립적이지만 실제로 널리 인정되는 벤더가 소수라는 점을 사례로 듦
    • Google Widevine: 대부분 플랫폼의 Firefox, Chrome, Android에서 사용
    • Microsoft PlayReady: Microsoft Edge, Windows, 일부 Android 기기에서 Widevine과 함께 사용
    • Apple FairPlay: Safari와 Apple 생태계에서 사용
  • 같은 상황이 Web Environment Integrity API에도 이어질 수 있으며, 실제 웹사이트가 사전 승인된 브라우저를 요구하게 될 수 있다고 우려함
  • 한 댓글은 이 API가 최종 사용자에게 제공하는 것이 없고 사용자를 제한하는 데만 쓰일 수 있으며, 명세가 모호하고 underlying mechanism이 불명확하다고 비판함

Mozilla의 반대 이유

  • Mozilla는 이 제안이 Mozilla의 웹 원칙과 비전에 반한다고 밝힘
  • Mozilla의 웹 비전은 공통 표준을 구현하는 브라우저, 서버, 퍼블리셔가 자동으로 웹의 일부가 되어야 한다는 입장임
  • 표준은 배포 가능한 하드웨어나 소프트웨어에 대한 가정을 피해야 하며, 특정 주체가 어떤 폼팩터, 기기, 운영체제, 브라우저가 웹에 접근할 수 있는지 결정하지 않아야 함
  • 이런 선택권은 보조 기술, 현지화, 폼팩터, 가격 측면에서 다양한 사람들이 같은 웹에 도달할 수 있게 함
  • 따라서 선택을 제한하려는 메커니즘은 웹 생태계의 개방성에 해롭고 사용자에게 좋지 않음

“비인간 트래픽 감지” 사용 사례의 문제

  • Mozilla는 제안된 사용 사례가 “detect non-human traffic” 능력에 의존한다고 봄
  • 해당 방식은 기존 웹 활용을 방해할 가능성이 있음
    • 보조 기술

      • 자동 테스트
      • 아카이빙
      • 검색 엔진 스파이더
      • 이런 도구들은 인간을 위한 콘텐츠를 받아서 다시 인간을 위해 변환, 테스트, 색인, 요약할 수 있어야 함
      • 제안서의 보호장치인 “holdback” 또는 무작위로 attestation 생성을 실패시키는 방식은 효과적일 가능성이 낮고, Mozilla가 제기한 우려를 해결하기에 부족하다고 판단됨

결론과 이슈 처리

  • Mozilla는 사기와 무효 트래픽 탐지가 어려운 문제이며, 이 문제를 해결하는 데 관심이 있다고 밝힘
  • 다만 Web Environment Integrity API 제안은 나열된 사용 사례에서 실질적 진전을 어떻게 만들지 설명하지 못하고, 채택 시 명확한 단점이 있음
  • Mozilla 멤버는 이 분석에 따라 해당 제안에 대한 입장을 negative로 라벨링함
  • 이 제안은 개인 GitHub 저장소의 제안이며 표준 트랙 작업이나 공개 인큐베이션 그룹의 작업이 아니므로 별도 dashboard entry가 필요 없다고 판단됨
  • 이슈는 2023년 7월 25일 position: negative 라벨이 붙은 뒤 완료 상태로 닫힘

댓글과 토론

Hacker News 의견들
  • 공격 방식은 대략 이렇다: 공격자가 스마트폰 같은 기기를 만들고, 키 쌍을 생성해 기기 안의 HSM, 보통 trusted enclave라 부르는 곳에 저장한 뒤, 공개 키를 마스터 키로 서명함
    기기는 공격자 소프트웨어를 실행하고, 사용자가 선택한 소프트웨어가 높은 권한으로 실행되면 HSM이 재부팅 전까지 되돌릴 수 없는 방식으로 그 사실을 알게 설계됨. HSM은 “이 기기가 공격자 소프트웨어를 실행 중”이라는 문장과 공격자 소프트웨어가 전달하려는 내용을 서명하지만, 사용자가 선택한 소프트웨어가 실행 중이면 서명하지 않음. 여기에 마스터 키로 서명된 공개 키까지 포함해, 공모자가 기기가 사용자 통제가 아니라 사용자 자유를 제한하는 주체의 통제 아래 있음을 확인할 수 있게 함
    선택적으로 이 증명은 공격자 서버를 거쳐 익명화나 임의 조건 검사를 받은 새 증명으로 바뀔 수 있음. 결국 제3자는 이 방식으로 기기가 공격자 소프트웨어를 실행 중임을 보장받고, 사용자가 원하는 소프트웨어를 실행하지 못하게 하거나 공격자와 공모자가 원하는 방식으로 기기를 쓰게 만들 수 있음. 이 공격은 이미 Android에서는 Google의 SafetyNetPlay Integrity API로, iOS에서는 Apple에 의해 실행 중이고, 이제 웹으로 확장되는 셈임

    • 이걸 공격으로 규정한 표현이 마음에 듦. Google과 그 친구들을 아직 머릿속에서 “중간자”로 분류하지 못했는데, 사실상 정확히 그 일이 벌어지고 있음
      이 Web Integrity API는 자신들을 선택 가능한 중간자가 아니라 필수 중간자로 굳히는 수단임
    • 이 프레이밍으로 언론, 블로그 등에서 문제를 제시하면 유용하겠음. 반대편은 이미 단어 뜻을 억지로 늘리고 있고, DRM을 “열린 인터넷의 중추”라고 소개한 건 정말 역겨웠음
    • 이 시나리오에서 공격자가 내 하드웨어를 만든다는 건데, 그건 말이 안 됨. 그런 상황이면 어차피 원하는 건 뭐든 할 수 있고, “공격자가 하드웨어를 소유했으니 문자 그대로 뭐든 가능하다”와 실질적으로 다르지 않아 보임
      그리고 이 “공격자”가 얻는 것도 없음. 이건 공격자가 아니라 기기 제조사임. TPM을 공격자라고 부르며 원격 증명 과정을 설명한 셈이라 이상함
    • 결국 전선을 통해 전기를 보내는 현실 때문에 고칠 수 없는 부작용도 있음: 하드웨어를 충분히 수정할 수 있는 추가 당사자는 여전히 공격자와 그 공모자를 공격할 수 있음
      그래서 이런 제도는 일반 사용자에게 비용을 전가하면서, 그런 능력을 가진 쪽에만 이득을 줌
    • 스마트폰을 쓰면서 이 공격을 피할 방법이 있나? 죽어가는 Ubuntu Phone이 떠오름
  • 예상된 일이지만, 사람들을 Firefox로 보내고 Chromium 계열에서 멀어지게 하지 못하면 의미가 없음. 웹의 안전과 보안, 넓게는 신뢰에 투자한 사람들에게 어느 정도 책임이 있음
    Brave가 이를 지원할지에 대한 내용은 아직 못 봤음. 다만 내가 제대로 이해했다면 Chromium을 쓰는 이상 선택지가 없을 것 같고, 내가 잘못 알고 있기를 바람

    • 이 주변에서 Mozilla가 받는 비난을 보면, 그래도 받을 만한 공은 인정받았으면 좋겠음
      결국 IE 끼워팔기 사태 이후처럼 법으로 뒷받침되는 브라우저 선택 화면으로 영구히 돌아가야 한다고 봄. 그렇지 않으면 마찰과 인센티브가 계속 지배적 플레이어 하나를 더 굳힐 것임
    • 최종 결과는 DRM 사이트와 은행 사이트가 “계속하려면 Chrome을 쓰라”고 말하는 것일 듯함. 사용자는 Chrome으로 계속 이동하고, Mozilla도 결국 구현을 강요받게 됨
    • “안전과 보안”이라는 표현은 많은 사람에게 혐오스러운 말이 됐음. Google 등이 만들고 있는 권위주의적 디스토피아를 떠올리게 하기 때문임
      더 중요한 건 자유와 상호운용성임
    • SMB를 상대하는 시스템 관리자나 IT 조직이 워크스테이션에 Firefox를 미리 설치하는 것도 한 방법임. 사용자가 그 브라우저에 익숙해지고 개인적으로도 쓸 수 있음
      덤으로 uBlock Origin도 미리 설치하면 됨. 우리는 그렇게 하고 있음
    • 사람들이 평소 브라우저에서 하던 일을 더는 못 하게 될 때에야 그런 이동이 일어날 것임. Manifest V3가 사용자 스크립트를 깨고 광고 차단을 번거롭게 만들 줄 알았는데 아직은 그런 일이 없어 Chrome에서 굳이 옮기지 않았음
      이게 구현되면 사용자의 신원이 “불충분”하다고 판단돼 특정 웹사이트나 서비스에 접근하지 못할 수 있고, 그러면 이 기능이 없는 다른 브라우저로 옮길 동기가 생길 수 있음
  • 다른 데서도 말했지만 사람들이 Firefox를 써야 함. 모두가 멈추면 Google 헛소리에 맞설 목소리를 가진 주체가 없어짐. Google은 Chrome을 소유하고 있고 원하는 대로 할 수 있음
    Firefox가 완벽하거나 더 낫다는 얘기가 아니라 필요하다는 얘기임. Google이 궁극적으로 통제하지 않는 렌더링 엔진을 가진, 의미 있는 점유율의 경쟁 브라우저가 필요함. 그렇지 않으면 불평을 멈추고 Google이 원하는 대로 하게 두는 수밖에 없음

    • Mozilla 수익 대부분이 Google의 기본 검색 엔진 유료 배치에서 나오는 것 아닌가? 최근 몇 년 사이 바뀌었는지 모르겠음
      대충 찾아보니 5~10년 전에는 수익의 50% 이상이 Google에서 왔지만, 더 최근 자료는 못 찾았음. Google이 Mozilla의 주요 수익원, 특히 과반이라면 Google은 Mozilla의 최대 수익원을 끊을 수 있다는 지렛대로 사실상 Mozilla를 통제함
      또 어떤 회사나 조직이 브라우저를 개발해야 하느냐는 질문도 생김. 모두가 브라우저를 무료로 기대하지만 개발·운영·유지는 무료가 아님. Brave 같은 영리 브라우저 회사는 BAT 암호화 토큰이나 새 탭 광고처럼 브라우저를 수익화할 수밖에 없음
    • Firefox가 실제로 나한테 쓸 만했다면 썼겠지만 그렇지 않아서 못 씀
  • Mozilla도 인터넷 전반에서 사용자를 추적하는 자체 IPA 제안에 대한 입장을 밝혀줄 수 있나?
    searchengine.example에서 상품 광고를 보고, 나중에 reviews.example에서 그 상품을 찾아본 뒤 shop.example에서 구매하면, Mozilla 브라우저가 이 모든 이벤트를 하나 이상의 집계 서비스로 보내 shop.example이 사용자가 searchengine.example에서 광고에 노출되고 reviews.example에서도 다시 노출됐음을 적어도 집계 수준에서 이해하게 함. 물론 집계 서비스를 운영하는 카르텔을 신뢰한다는 전제가 붙음
    예전에는 광고 기술 회사가 쿠키를 꺼도 출발지 IP 주소를 바탕으로 사용자를 추적할 수 있었지만, IPA는 고유 추적 식별자를 통해 여러 IP 주소를 넘나들고 쿠키 설정과 무관하게 추적할 수 있게 함. 운영체제가 기기 내 모든 앱과 브라우저에서 쓸 수 있는 고유 추적 식별자를 제공하는 방안도 제안돼, 같은 IP 뒤의 여러 기기도 구분 가능해짐
    https://github.com/patcg-individual-drafts/ipa/

    • 광고가 작동하려면 어트리뷰션은 필요함. 광고를 산 플랫폼과 독립적인 어트리뷰션이 없으면 그 광고 플랫폼이 사기를 칠 수 있음
      이는 사용자 관심사 프로필을 쌓는 광고 추적이나, 과거 방문자를 대상으로 광고를 사는 리마케팅과는 별개임. 대부분의 사적 어트리뷰션 시스템은 광고 운영자가 몇 명이 광고를 클릭했는지는 세되, 누가 클릭했는지나 다른 무엇을 했는지는 알 수 없게 설계됨. Safari 제안에는 도메인당 실행 가능한 캠페인 수 제한이 있어, 사용자마다 별도 “캠페인”을 만들어 한 번에 지문 추적하는 걸 막으려 했음. Mozilla 제안이 어떻게 다른지는 모름
      사용자 에이전트가 이런 걸 신경 써야 하는지는 별개의 질문임
      https://www.theregister.com/2023/06/29/google_trueview_skepticism/
      특히 리마케팅은 하나를 검색하면 다음 주 내내 그 물건 광고 1만 개가 따라오는, 현대 광고의 “감시당하는 느낌”을 만드는 원인임
    • 원문을 보면 Mozilla의 입장은 https://github.com/mozilla/standards-positions에 GitHub 이슈를 열어 물어볼 수 있어 보임
    • 공정하게 말하면 “Web Integrity”, 즉 원격 증명 또는 “내” 하드웨어에 들어간 기업 감시 에이전트는 훨씬 더 근본적인 문제임. IPA 같은 의도적 보안 취약점을 제거한 포크 브라우저 실행 자체를 막을 수 있기 때문임
      Mozilla가 IPA 같은 쓰레기에 맞춰주는 건 유감이지만, 적어도 현재는 사용자가 비활성화·제거·포크 등을 할 자유가 있음. 반면 원격 증명은 사용자 대리자라는 개념 자체에 사실상 게임 오버임
    • Mozilla 제안이 아무리 나쁘더라도, 이건 물타기임. 결국 Google의 이익에 봉사하고 훨씬 더 디스토피아적인 제안을 방어하게 됨
    • “Mozilla 브라우저가 이 모든 이벤트를 하나 이상의 집계 서비스로 보낸다”는 건 사용자가 허용할 때의 이야기임
  • 브라우저 감지, “환경” 감지
    특정 웹사이트 운영자들이 항의 수단으로 Chrome에서 접근 불가능한 웹사이트를 설계할 수 있음. Google이 그걸 우회하려는 모습을 보면 재미있을 듯함. 특히 작고 비상업적인 웹사이트들 사이에서만 유행한다면 더 그럴 것임

    • 좋은 생각임. 사용자가 여러 브라우저를 자주 쓰도록 훈련시키는 방식으로 도울 수 있음. 내 아이들도 Android 기기에서 YouTube 광고를 막으려고 이미 여러 브라우저를 씀. 충분한 이유가 있으면 사람들은 다른 브라우저도 기꺼이 씀
      다만 완전히 막기보다는 꼭 필요한 기능만 남기고, 다른 브라우저로 바꾸거나 Tampermonkey 같은 걸 쓰라고 계속 알려주겠음. 무엇을 해야 하는지 명확한 안내도 함께 제공해야 함
      이런 기능 지원 여부를 감지하는 좋은 방법은 뭘까? JavaScript API?
    • 긴 6년 동안 Chrome은 내 웹사이트에 접근하지 못했음. 다른 모든 브라우저는 가능했지만, 서버 측에서 HTTP/3가 아닌 방식만 강제 협상하고 ChaCha/Poly만 허용하며 AES/RSA를 배제하는 설정을 Chrome이 존중하지 못했기 때문임. Microsoft Edge는 얼마 뒤 고쳤음
      다행히 Google도 약 4개월 전에 고쳤음. 여러 무료 크로스브라우저 테스트 도구에서 아직도 버전 테스트로 그 깨짐을 보여줄 수 있음
    • 참고가 될 만함: https://news.ycombinator.com/item?id=25240299
  • 모바일 쪽 대응물인 Play Integrity API는 불법화하고 법정에서 다퉈야 함. 제3자 ROM을 제거하는 것이 핵심 아이디어이므로, EU의 수리권과 전자폐기물 법에도 어긋날 가능성이 크다고 봄
    논쟁의 초점을 Google과 그 광고가 만들어낸 보안 문제로 돌리기 시작해야 함

    • Google은 신뢰 컴퓨팅을 남용하고 있음. 일부 은행이 결제 처리 코드가 잠긴 기기에서 실행되길 선호하는 건 이해할 수 있지만, 현재 그런 Android 기기에는 결제용 신뢰 기기에 전혀 필요 없는 Google 광고웨어와 스파이웨어가 들어 있음
      Google의 이해관계가 Android와 Chrome을 오염시키지 못하도록 Google을 분할해야 함
  • Mozilla에 기부하고 싶지만, 내 돈이 C레벨 임원 주머니로 들어갈까 걱정됨. Firefox 핵심팀이나 MDN에 특정해서 기부할 방법이 있나?

    • 그렇게 특정하는 건 Mozilla 입장에서는 말이 안 됨. Firefox용 기부금이 있어도 사무실 청소 직원, 임대료, 인사·회계·법무 담당자에게 돈을 못 주면 “Firefox 핵심팀과 MDN”을 고용하고 굴릴 수 없음
      심지어 터무니없이 과하게 받는 CEO도 회사에는 필요함. 미국에서 좋은 CEO를 데려오려면 많이 줘야 한다는 논리는 믿지 않지만, 나쁜 CEO는 GE, Enron, Boeing, Twitter처럼 회사를 망칠 수 있음
      예산 용도 제한이 어떻게 실패하는지 재미있는 예로 Atlanta의 MARTA가 있음. 예전에 자금 법 때문에 운영비와 자본 지출을 50/50으로 고정했더니 새 열차는 있는데 나머지는 무너져 내렸음
    • 모든 구매에 대해 같은 분석을 하나? 점심을 산 샌드위치 가게가 그 돈으로 그날 일하지도 않은 주인과 그 아내에게 피자를 사줬을 수도 있음. 그게 화나나?
      사업은 돈이 들어오고, 돈이 나가고, 제품이 만들어지는 구조임. 좋아하는 제품에 돈을 내거나 말거나 선택하면 됨. 받은 돈을 어떻게 쓸지는 그들의 몫임
    • Mozilla Foundation에 제한 기부를 할 수 있고, 그들이 받아들이면 기부자가 동의하지 않는 한 그 제한에 묶임
      하지만 돈은 대체 가능함. MDN 지원용으로 500달러를 기부하면, 원래 수익에서 MDN에 가던 500달러를 대체해 다른 500달러가 C레벨 주머니나 Pocket 등으로 갈 수 있음. 달러 자체는 지정한 곳으로 가지만, 마음에 안 드는 다른 지출을 가능하게 만들 수 있음
      반대로 MDN 지원용으로 500억 달러를 기부한다면 좀 다름. 기존 MDN 지원 예산은 확실히 풀리겠지만 MDN 지출이 500억 달러일 리 없으니, MDN 필요분을 초과한 돈은 갈 곳이 없음
    • Mozilla는 협동조합이 아니라 그냥 비영리 법인임. 개발자들도 다른 회사처럼 그 법인의 직원임. 솔직히 회사는 수익이 꽤 있고 기부에 크게 의존하지 않는다고 봄
      제품을 쓰고 고객이 되는 편이 그들과 그들의 선언문에 더 가치 있을 가능성이 큼
    • 지금 가장 가까운 방법은 제품 하나에 돈을 내는 것임. Pocket Premium, Firefox Relay, Mozilla VPN이 있음
  • Mozilla가 반대할 수는 있지만, Chrome에 탑재되고 활발히 쓰이기 시작하면 결국 CDM처럼 구현할 것임
    결국 사용자는 어떤 웹사이트가 Chrome에서는 되고 Firefox에서는 안 된다고만 봄. 잠재적 점유율 손실이라는 실제 비용이 생기면 Firefox는 반대할 이유가 없다고 판단할 것임

    • “Chrome은 아니지만 거의 Chrome” 전략이 점유율에 어떻게 작동했는지 떠올려보면 됨. 그런 사용자는 그냥 Chrome을 쓰는 데 문제가 없으니, 그 시장이 실제로는 그리 크지 않을 수 있음
  • WebKit의 표준 입장도 볼 만함: https://webkit.org/standards-positions/
    이 건은 아직 반영되지 않았고, 아마 반대할 가능성이 큼

  • 고전적 의미의 해커들이 컴퓨터로 다른 사람들이 원치 않는 일을 해왔고, 그 다른 사람들은 아무것도 못 하거나 기껏해야 군비 경쟁을 벌여온 긴 역사가 있음. 그들에게는 나빴지만 사회 전체에는 매우 좋았음
    그것이 GNU, “IBM Compatible”, 광고 차단기, Firefox, BitTorrent, YouTube ReVanced/youtube-dl 등 수많은 것을 낳았음
    소비자 소프트웨어용 기기 증명의 목표는 이것을 끝내는 것임. Apple이 iOS에서 처음 개척했고 이제 자본주의의 힘으로 모든 컴퓨팅에 퍼지는 중임. 기기 증명은 해커가 패배한다는 뜻이고, 나쁜 결말임
    또 다른 쌍둥이 위협은 소프트웨어 산업이 보안을 제대로 정리하고 있다는 점임. 예전에는 iOS 탈옥이 흔했지만 1년 동안 iOS 탈옥이 없었음. Rust도 도움이 되지 않음
    우리는 생산자와 지식재산권 보유자가 자신들이 만든 콘텐츠를 완전히 통제하고, 최첨단 암호학과 극도로 안전하지만 소비자에게 적대적인 소프트웨어로 그 상태를 유지하는 세계로 돌진하고 있음. 이는 역사상 가장 위험한 전개 중 하나이며, 현실이 되면 되돌릴 수 없음. Stallman이 옳았음

    • 잘 정리했음. 실제로 이 증명류 쓰레기는 내가 보기엔 전부 DRM임. 물론 “경험을 개선할 수 있는” 선택 기능처럼 마케팅되고 있음
      총구 앞에서 지갑을 내주면 행복이 개선될 수 있다는 말과 비슷함