브라우저 지문은 익명 사용자를 식별하는 데 유용한 기술입니까?


96

브라우저 지문은 익명 사용자를 고유하게 식별하기에 충분한 방법입니까? 마우스 제스처 또는 타이핑 패턴과 같은 생체 데이터를 통합하면 어떻게 되나요?

다른 날 에 Panopticlick 실험 EFF가 브라우저 지문에서 실행되고 있었습니다.

물론 나는 프라이버시 영향과 그것이 악에 어떻게 사용될 수 있는지 즉시 생각했습니다. 그러나 다른 한편으로는, 이것은 큰 이익을 위해 사용될 수 있으며, 적어도 일하는 것은 유혹적인 문제입니다.

이 주제를 조사하는 동안 브라우저 지문을 사용하여 사기를 공격하는 몇몇 회사가 발견되었습니다. 그리고 몇 개의 이메일을 보낸 후 적어도 하나의 주요 데이트 사이트가 브라우저 지문을 사용하지만 가짜 계정을 탐지하는 메커니즘을 사용하고 있음을 확인할 수 있습니다. (참고 : 그들은 수백만 명의 사용자를 확장 할 때 정체성으로 행동하기에 독창적이지 않다는 것을 알았습니다. 그러나 내 프로그래머 두뇌는 그들을 믿기를 원하지 않습니다).

사기 탐지 및 예방을 위해 브라우저 지문을 사용하는 회사는 다음과 같습니다.
http://www.bluecava.com/

다음은 브라우저에서 고유 식별자로 사용할 수있는 포괄적 인 항목 목록입니다.
http://browserspy.dk/


6
즐겨 찾는 브라우저에서 브라우저 지문을 변경하기위한 플러그인을 작성하는 것이 얼마나 쉬운가요? 그것이 가능하다면 누군가가 당신이 원하는대로 지문을 변경할 수있는 플러그인을 배포 할 수 있다고 생각합니다. 사전로드 된 "프로필"을 포함 할 수 있으므로 전체 사용자 그룹이 모두 동일한 지문을 사용할 수 있습니다.
FrustratedWithFormsDesigner

1
Stack Exchange에서이 작업을 수행하는 방법에 대한 관련 Meta Stack Overflow 토론 : 양말을 막는 데 도움

플러그인을 사용하여 브라우저 지문을 변경하는 것과 관련하여. 이 IEEE 기사 ( spectrum.ieee.org/computing/software/… )는 왜 이것이
비생산적인 지에 대해 논합니다.

답변:


91

첫째, 사용자가 최신 웹에서 JavaScript를 사용하지 않도록 설정하는 것이 현실적이라고 생각하지 않습니다. Panopticlick 이 특정 브라우저의 고유성 점수와 함께 JavaScript만으로 수집 할 수 있는 기능을 살펴 보겠습니다 .

  • 사용자 에이전트 (4,184 명 중 1 명)
  • HTTP_ACCEPT 헤더 (14 중 1)
  • 브라우저 플러그인 세부 사항 (180 만 개 중 1 개)
  • 시간대 (24 분의 1)
  • 화면 크기 및 색심도 (1,700에서 1)
  • 시스템 글꼴 (1/11)
  • 쿠키가 활성화 되었습니까? (1.3에서 1)
  • 한정된 SuperCookie 테스트 (1/2)

독창성의 두드러진 특징은 분명히 User Agent와 Browser Plugin입니다. 이 항목들은 브라우저 지문을 형성하기 위해 함께 사용 되므로 개별 점수보다 강력합니다. 여기서 누적 고유성은 4,184 x 14 x 1.8 million x 24 x 1,700 x 11 x 1.3 x 2일명 REALY BIG NUMBER 입니다. ... 독특합니다.

현재 "클릭하여 활성화"와 함께 플래시를 사용할 수 없습니다. 플래시를 활성화하면 다음이 추가됩니다.

  • 시스템 글꼴 (374k 중 1 개)

Flash는 감지 할 수있는 두 번째로 고유 한 요소를 제공하지만 Panopticlick의 기본 JavaScript 감지조차도 막대한 수를 제공하므로 이러한 종류의 브라우저 지문이 작동하는 데 Flash가 필요한지 확실하지 않습니다. JavaScript 만 사용하면 충분합니다.

브라우저 핑거 프린팅은 이야기의 일부일뿐입니다. 익명의 사용자와 지문을 함께 사용할 수 있기 때문에 익명의 사용자로부터 감지 할 수있는 모든 것을 합한 것을 고려하십시오. 감지 된 데이터를 수집하고 사용하기가 얼마나 어렵습니까?

  1. 위와 같이 브라우저 세부 사항 스니핑 (easy)
  2. 장단점으로 알려진 신뢰성 수준을 갖는 IP 주소 (쉽게)
  3. 사용법 (시간), 타이핑, 마우스 또는 손가락 움직임, 단어 사용 (하드, 일부 서버 측, 일부 클라이언트 측)과 같은 사용자 행동 패턴

브라우저 스니핑만으로 걱정하는 것은 사용자가 브라우저를 전환하는 것이 얼마나 쉬운 지입니다. 대부분의 플랫폼에는 Chrome, Opera, Firefox, Safari 등 4 가지 이상의 훌륭한 무료 브라우저 대안이 있습니다. 따라서 브라우저 스니핑을 중단하거나 최소한 중단시키기 위해 브라우저를 자주 전환 할 수 있습니다.

브라우저를 전환 하거나 JavaScript, HTML 5 로컬 스토리지 및 플래시가 비활성화 된 경우 에도 실제로 작동 할 수 있기 때문에 여기 에서 소위 SuperCookies를 언급 할 가치가 있습니다 .

프라이버시 연구원은 모든 쿠키 저장이 비활성화되고 사이트가 브라우저의 프라이버시 모드를 사용하여 조회 된 경우에도 500 개가 넘는 사이트에서 사용자를 추적 할 수있는 영리 웹 분석 서비스의 사악한 천재성을 밝혀 냈습니다.

궁금한 점이 있으면 TL; DR 버전은 ETag 헤더 의 모호한 원칙을 활용하여이를 수행한다는 것 입니다.

어쨌든 브라우저 스니핑으로 돌아갑니다. 사용자가 이것을 극복하기 위해 할 수있는 두 가지 불편한 점이 있습니다.

  1. 끊임없이 브라우저를 전환하십시오.
  2. 항상 JavaScript 및 Flash를 비활성화 한 상태로 탐색하십시오.

사용자가 브라우저 설정을 스니핑하고 지문 할 수있는 방법의 일환으로 사용되는 것을 알고하지 않는 경우, 나는 매우 그들이 반드시이 두 가지 일을하는 문제에 갈 것이라고 의심한다. 일 이네

위의 데이터를 기반으로, 브라우저 스니핑 일반적인 익명 인터넷 사용자를 식별하는 데 도움이 될 수 있지만 IP 주소와 같은 익명의 인터넷 사용자로부터 일반적으로 감지하는 다른 항목과의 조합에서만 효과적입니다.


7
해커 +1 부모님이 시간을 어떻게 쓰는지 아십니까?
P.Brian.Mackey

2
"먼저, 사용자가 최신 웹에서 JavaScript를 사용하지 않을 것으로 예상하는 것은 현실적이지 않습니다." 간단한 NoScript 솔루션으로 인해 추적이 완전히 중단되어 기쁩니다.
Arda Xi

93
"일명 큰 숫자입니다. 이건 ... 매우 독특합니다." 이러한 기능이 사용자에게 무작위로 배포되는 경우에만 고유합니다. 대다수의 사용자가 훨씬 작은 에이전트 및 플러그인 구성 하위 집합을 실행할 수 있습니까? 서로 관련이있는 에이전트 또는 플러그인 구성이 있습니까? 이것이 유일무이 한 것에 의존한다면, 가능한 최고의 사례가 아니라 사용자들 사이에 이러한 기능의 분포를 살펴 봐야합니다.
Charles E. Grant

3
@Arda Xi : 그래도 여전히 번거로운 브라우징 경험을 제공합니다 ...;)
BoltClock

1
"먼저, 사용자가 최신 웹에서 JavaScript를 사용하지 않도록 설정하는 것이 현실적이라고 생각하지 않습니다." 진심으로, 당신은 틀 렸습니다. noscript addon을 사용하면 알려진 사이트에서 최신 웹을 즐기면서 알 수없는 웹 사이트에서 스크립트를 쉽게 비활성화 할 수 있습니다.
Arkh

11

브라우저 핑거 프린팅은 이기종 브라우저 / 디바이스 생태계에 의존합니다. 한 가지 고려해야 할 사항은 스마트 폰과 태블릿 / 패드에서 점점 더 많은 서핑이 이루어지기 때문에 점점 더 균질 한 생태계로 나아가고 있다는 것입니다.이 의미는 훨씬 덜 조각화됩니다. 예를 들어 아이폰 / 아이 패드는 모두 본질적으로 동일하게 보입니다.


3
훌륭한 지적이자 슬픈 점이 있습니다. 그러나 그것은 아마도 현실 일 것입니다.
Jeff Atwood

iPhone 및 iPad 모델의 수는 다양합니다.
JoJo

10

브라우저 지문은 익명 사용자를 고유하게 식별하기에 충분한 방법입니까?

아니요, 기껏 해야 컴퓨터를 고유하게 식별 할 수 있습니다 . 쿠키 / 세션없이 동일한 네트워크 (같은 IP)에있는 두 대의 새로운 컴퓨터를 구별 할 수있는 방법은 없습니다.

마우스 제스처 또는 타이핑 패턴과 같은 생체 데이터를 통합하면 어떻게 되나요?

현실적으로 보이지 않습니다. "바이오 메트릭 데이터"가 모두 클라이언트 측이기 때문에 JavaScript로 거의 완전히 코딩해야합니다. 사용자는 그냥 종료 할 수 있습니다. 또한 "바이오 메트릭 데이터"는 어떤 모양 Perl Script입니까?


즉, 사기와 싸우기 위해 이러한 종류의 전술을 사용하는 것은 좋은 생각입니다. 100 % 일 필요는 없습니다. 단지 5 % 만 개선하더라도 사기가 감소하는 것이 좋습니다.

사기와의 싸움은 증분 적이며 사기와 싸울 수있는 단일 총알 솔루션이 없으며 하나를 찾고 귀찮게하지 않습니다.


편집 : 아래의 의견에 답하기 위해서는 (그리고 매우 관련성이 있기 때문에) 지문이 다른 프로파일을 취급한다는 사실은 내 생각에 순 부정적입니다. 이것은 악의적 인 사용자가 지문 메커니즘을 속이는데 사용하는 것 입니다. 사용자가 지문에 사용 된 모든 변수를 제어 할 수 있다는 사실은 그 자체로 심각한 결함입니다 .

* 단 하나의 컴퓨터를 식별 할 수있는 가장 좋은 이유는 컴퓨터에서 단일 계정을 식별하기 때문입니다. 둘 다 할 수 있다면 좋습니다.


3
"바이오 메트릭 데이터"도 될 수 사람들이 URL을, 얼마나 자주, 자신의 말과 언어 패턴이 ..이 하나도 자바 스크립트를 필요로하지 않는 사이트에 액세스
제프 앳 우드

2
지문은 실제로 같은 컴퓨터에서 다른 계정까지 식별 할 수 있습니다. 나는 영어, 스웨덴어 및 일부 스페인어를 알고 있습니다. 그에 따라 Mac을 구성했습니다. Firefox가 페이지를 요청하면 "Accept-Language : en-us, en; q = 0.8, sv; q = 0.5, es; q = 0.3"을 보냅니다. 아내는 스페인어를 모릅니다. 같은 컴퓨터의 계정에있는 Firefox에는 "es"라는 용어가 포함되어 있지 않습니다. 분명히 당신이 말하는 것은 불가능합니다.
앤드류 Dalke

Andy는 단지 사용자 프로필이기 때문에 컴퓨터 앞에 앉아 있다는 의미는 아닙니다.
Morons

4
Mor, "최고의 컴퓨터를 고유하게 식별 할 수 있습니다"라는 말이 잘못되었습니다. 기껏해야 같은 컴퓨터에서 다른 계정을 구별 할 수 있습니다. 네트워크 계정 인 경우 동일한 네트워크에서 서로 다른 두 계정을 구별 할 수 있습니다. 여러 사람이 계정을 사용할 수 있다는 것은 다른 문제입니다.
Andrew Dalke

6

@vincentcr에 동의 하지만 고려해야 할 환경을 하나 더 추가 할 것입니다 : 회사 네트워크.

여기서 정확히 동일한 브라우저, 플러그인, 글꼴 등을 가진 수십 또는 수백 명의 (잠재적) 사용자를 찾을 수 있습니다. @vincentcr이 제안 하는 추가 요소 도 여기서 실패합니다. 사용자가 IP 주소 뒤에 있으면 IP 주소가 동일 할 수 있습니다 사용자가보고 한 위치와 마찬가지로 회사 방화벽.

마우스 제스처와 타이핑 패턴을 고려하더라도 이러한 기술을 사용하여 모든 형태의 보안으로 고유 한 사용자를 식별 할 수 있을지 의심스럽고 사용자 계정이 사용자가 브라우저를 변경하더라도 브라우저에서 생존 할 수있게하려면 백업해야합니다. 어쨌든보다 전통적인 인증 시스템으로

다른 사람들이 말했듯이 스팸봇 등을 탐지하는 데 다소 유용 할 수 있습니다. 예를 들어 WordPress 플러그인 "Bad Behaviour" 는 스팸봇을 탐지하기 위해 HTTP 헤더를 분석합니다 (다른 요인들도 포함).


아주 좋은 지적입니다. 컴퓨터마다 다를 수있는 클럭 스큐와 같은 것을 감지 할 수 있지만 플래시를 통해 실제 IP에 도달 할 수 있습니다. 모니터 해상도도 있습니다. 이는 가치가 있지만 회사 환경에서는 유용하지 않습니다.
SMrF

4

많은 조합이 있더라도 모두 고르게 분배되지는 않습니다.

맥북과 같은 사람들이 스톡 구성을 사용할 것이라고 생각하십시오. 또는 플러그인을 설치하지 않은 사람들 : 나는 대부분의 사용자라고 생각합니다.

그리고 결국에는 휴대 전화 및 태블릿 사용자, 특히 iPhone 및 iPad와 같이 가장 빠르게 성장하는 장치 세그먼트가 있습니다. 여기에서 제조업체와 버전 번호의 두 변수 만 줄어 듭니다.

따라서 다른 요소 (예 : IP 주소 또는 사용 가능한 경우 위치)와 결합 할 때 좋은 휴리스틱이 될 수 있지만 그 이상은 아닙니다.


3

브라우저 지문을 사용하면 웹에서 개별 사용자를 식별 할 수 있으며 유일한 단점은 모든 사용자에 대해 자바 스크립트를 강제로 작성해야한다는 것입니다.

두 가지 원칙에 따라 작동합니다.

  1. 8 가지 매개 변수를 기반으로 브라우저 지문 감지
  2. 매개 변수를 변경하여 누군가 지문을 변경했는지 감지합니다.

지문의 성공은 두 번째 원칙에 달려 있습니다. 누군가 지문을 변경했는지 감지합니다.

자세한 내용은 사용 가능한 코드를 시도하십시오 . https://panopticlick.eff.org/에서 사용하는 알고리즘 이 현재 100 % 효율적이지 않기 때문에 재 방문 사용자를 감지하기 위해 자체 알고리즘을 개발해야합니다 .


1
'100 % 비효율적'또는 '100 % 비효율적'? 그 점에 대해 자세히 설명해 주시겠습니까?
Martijn Pieters

2

일부 브라우저는 HSTS Supercookies를 통해 식별 할 수도 있습니다.

여기에서 각 방문자에 대해 임의의 보안 및 비보안 리소스 세트에 대한 요청이있는 페이지를 임베드 한 다음 재 방문시 요청 패턴을 모니터 할 수 있습니다. 각 자원이 동일한 패턴으로 요청되면 해당 정보를 사용하여 사용자를 식별 할 수 있습니다.

이는 일반적인 브라우저 지문이 더 많은 iPhone / iPad를 식별하는 데 특히 유용합니다. 이 방법은 HSTS가 지원되지 않는 Internet Explorer에는 그다지 유용하지 않습니다.

이 기사에서는 접근 방식을 설명합니다. http://www.radicalresearch.co.uk/lab/hstssupercookies/

이 기사에서는 HSTS Supercookies를 활용하여 사용자를 식별하는 방법에 대한 좋은 예를 제공합니다. https://nakedsecurity.sophos.com/2015/02/02/anatomy-of-a-browser-dilemma-how-hsts-supercookies-make-you-choose-between-privacy-or-security/


0

Javascript는 필수는 아니며 PHP에서 스니핑 할 다른 매개 변수가 많이 있습니다. 즉, 사용자의 99 %가 JS를 가지고 있으므로 왜 귀찮게합니까?

지문이 독특하고 충분한 식별을 제공 할 수 있습니까? 나는 그렇게 믿는다. www.visitor-intelligence.com은 성공적인 스크리닝 철학을 가지고 있습니다. 생각 해봐

당신의 개인 은하계는 지구 전체만큼 크지 않습니다.

프랑스 악센트를 가진 키 큰 갈색 머리, 파란 눈의 소녀가 얼마나 많은 거리를 걷는가? 행성 규모로 수백만. 그러나 나는 그녀가 당신의 거리에서 (또는 상점을 방문 할 때) 매우 독특 할 것이라고 확신합니다.

샹젤리제에 살지 않는 한 그런 다음 자세히보십시오. 그녀는 슬림하고 모델처럼 걷는가? 그녀는 비싼 핸드백을 입습니까? 좋아, 그녀는 지금 완전히 독특하다 :-)

브라우저의 버전 번호와 매우 가변적 인 매개 변수를 포함하기 때문에 헤더를 순수하게 보는 것은 잘못되었습니다.

우리는 현재 Chrome 27과 Firefox 21에 있습니다. 우리는 눈치 채지 않고 브라우저 버전을 업데이트하고 있습니다.

이제 전체 플러그인 목록을 보는 것도 상당히 잘못되었습니다. 시도해보십시오 : firefox를 설치하고 Acrobat Reader를 설치 한 다음 Chrome을 설치하십시오. Chrome 플러그인 목록에 Acrobat Reader가 표시되지 않습니다. :-)

그래서 ... 결론은 : 당신이 표준 크기의 상점에 대한 적절한 식별 시스템을 찾으면 지문이 충분하고 쿠키보다 훨씬 안정적입니다 (개인적으로 거의 매일 쿠키를 모두 삭제합니다).

내 2 센트 만

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.