1P by neo 3달전 | favorite | 댓글 1개

오디오를 통한 식별

  • 오디오 식별 기법은 브라우저의 오디오 API를 사용하여 오디오 신호를 생성하고, 이를 통해 생성된 오디오 신호 샘플을 모두 더하여 단일 숫자로 변환하는 방식.
  • 이 숫자는 지문(식별자)으로 사용되며, 쿠키를 지우거나 시크릿 모드로 전환해도 변하지 않는 안정성을 가짐.
  • 그러나 식별자는 매우 독특하지 않아 많은 사용자가 동일한 식별자를 가질 수 있음.

Safari 17이 오디오 지문 인식을 방해하는 방법

  • Safari 17은 고급 지문 인식 보호 기능을 도입하여, 개인 정보 보호 모드에서 기본적으로 활성화되고 일반 모드에서는 비활성화됨.
  • 이 보호 기능은 오디오 샘플마다 임의의 노이즈를 추가하여 지문의 정확성을 떨어뜨림.
  • 결과적으로 오디오 지문은 매번 계산할 때마다 달라지므로, 식별을 위해 사용할 수 없게 됨.

Safari 17의 고급 지문 인식 보호 우회 방법

  • Safari가 추가하는 노이즈를 제거하기 위해 지문 인식 알고리즘을 개선하는 세 단계: 노이즈 분산 감소, 브라우저 식별 번호 간격 확대, 남은 노이즈 제거를 위한 지문 반올림.
  • 노이즈 감소를 위해 여러 오디오 지문을 결합하고, 브라우저 간 오디오 샘플 차이를 늘리기 위해 기본 신호를 변경함.
  • 결과를 안정화하기 위해 중요한 숫자를 유지하면서 오디오 샘플을 반올림함.

성능

  • 새로운 지문 인식 알고리즘은 기존 알고리즘에 비해 성능이 1.5-2배 정도 저하되지만, 여전히 낮은 성능의 장치에서도 계산 시간이 적게 걸림.
  • 페이지가 응답성을 유지하도록 OfflineAudioRender 스레드에서 일부 작업을 처리함.

개인 정보 보호에 중점을 둔 브라우저에서의 작동 방식

  • Tor와 Brave와 같은 개인 정보 보호에 중점을 둔 브라우저도 오디오 지문 인식을 제한하려고 시도함.
  • Tor에서는 Web Audio API가 완전히 비활성화되어 오디오 지문 인식이 불가능함.
  • Brave는 Safari 17과 유사한 접근 방식을 사용하여 오디오 신호에 노이즈를 추가함.

FingerprintJS에서의 사용

  • 새로운 오디오 지문 인식 알고리즘이 FingerprintJS에서 기존 알고리즘을 대체함.
  • 오디오 지문 인식은 브라우저 지문을 생성하기 위해 사용되는 많은 신호 중 하나이며, 각 신호의 안정성과 독특성을 별도로 분석하여 지문 정확도에 미치는 영향을 결정함.

GN⁺의 의견

  • Safari 17의 오디오 지문 인식 방해 기능은 사용자의 개인 정보 보호를 강화하려는 Apple의 노력을 보여줌. 이는 사용자에게 더 큰 프라이버시를 제공할 수 있음.
  • 그러나 FingerprintJS와 같은 서비스는 이러한 보호 기능을 우회하여 여전히 식별을 가능하게 함으로써, 프라이버시 보호와 보안 간의 지속적인 긴장 관계를 드러냄.
  • 이 기술이 사이버 보안에서 어떻게 활용될 수 있는지에 대한 추가적인 논의가 필요함. 예를 들어, 부정 행위를 방지하고 사용자 계정을 보호하는 데 사용될 수 있음.
  • 비슷한 기능을 제공하는 다른 오픈소스 프로젝트로는 Privacy Badger나 uBlock Origin이 있으며, 이들은 사용자 추적을 차단하는 데 도움을 줄 수 있음.
  • 기술의 도입 시 사용자의 프라이버시와 웹사이트의 보안 요구 사이에서 균형을 찾는 것이 중요함. 이 기술을 사용함으로써 얻을 수 있는 이점은 사용자 식별의 정확성 향상이지만, 프라이버시 침해의 위험도 고려해야 함.
Hacker News 의견
  • GPU 지문 인식 기법

    • GPU 지문 인식 기법인 'DrawnApart'는 WebGL을 사용하여 GPU의 실행 유닛 수와 속도를 측정하고, 정점 렌더링 완료 시간, 스톨 함수 처리 등을 측정하는 기술임.
    • 출처
  • 오디오 지문 인식의 가능성

    • 오디오 지문 인식이 가능한 이유에 대한 설명 요청.
  • 데이터 유출 방지를 위한 잡음 추가의 비효율성

    • 사이드 채널 공격에 대한 최근의 관심을 고려할 때, 데이터 유출을 방지하기 위해 잡음을 추가하는 것은 더 많은 샘플을 취하고 잡음을 제거할 수 있기 때문에 효과가 없음.
    • Safari가 이를 추가한 이유에 대한 의문 제기.
  • 웹 오디오 API 스펙과 오실레이터 안티-에일리어싱 처리

    • 웹 오디오 API 스펙에서 오실레이터의 안티-에일리어싱 처리 방법에 대한 선택이 지문 인식 우회 성공의 핵심으로 보임.
    • 브라우저나 하드웨어에 따라 다른 안티-에일리어싱 방법을 선택할 수 있으며, 이로 인해 브라우저 간 또는 동일 브라우저 내에서도 비결정적인 결과가 발생할 수 있음.
    • 안티-에일리어싱을 브라우저에 맡기는 선택에 대한 이해 부족을 표현.
    • 출처
  • 오디오 API의 브라우저 내 구현에 대한 비판

    • 브라우저에 노드 그래프 오디오 API를 포함하는 것은 비합리적이라는 의견.
    • 오디오 워크렛만 있어야 한다는 주장.
  • 샘플링 잡음 추가 방식의 개선 제안

    • Safari가 각 샘플에 무작위 잡음을 추가하는 대신, 매 시간마다 변경되는 키를 기반으로 한 잡음을 추가할 수 있다는 제안.
    • 이 방법은 한 세션 내에서는 잡음이 일정하나, 한 시간 후에는 추적에 무용하게 됨.
  • 자바스크립트 비활성화를 선호하는 사용자 의견

    • 자바스크립트를 비활성화하고 웹을 탐색하는 것을 선호하는 사용자의 의견.
  • 오디오 API 프로토타입 변경을 통한 지문 인식 방해

    • 오디오 API의 프로토타입을 변경하여 원하는 결과를 반환하도록 하는 방법 제안.
    • 원하는 모방 지문을 얻기 위한 어려움 인정.
  • 오디오 처리 지문 인식의 기반

    • 오디오 처리 지문 인식이 하드웨어/드라이버/OS 차이에 기반하는지, 아니면 단순히 브라우저 소프트웨어 차이에 기반하는지에 대한 질문.
    • 유사한 기법으로 <canvas>를 사용하여 그래픽 장치 간 차이를 드러내는 방법이 있었음을 언급.