原來我們一直被互聯網巨頭監視,隱私在網上裸奔、無處可藏


原來我們一直被互聯網巨頭監視,隱私在網上裸奔、無處可藏


今天講⼀些讓您按捺不住和慾求不滿的反瀏覽器追蹤技術,揭開你是如果被互聯網巨頭監控的。

  • 場景一:在⽹站上瀏覽了某個商品,瞭解了相關的商品信息,但並沒有下單購買,甚⾄沒有進⾏登錄操作,過兩天⽤同臺電腦訪問其他⽹站的時候卻發現很多同類商品的⼴告。
  • 場景二:在某博客中你有多個小號(水軍),這些小號的存在就是為了刷某個帖子的熱度或者進行輿論引導,又或者純粹進行流量交易,即便你在切換賬號的時候清空了cookie、本地緩存,重開路由器甚至使用 vpn 來進行操作,你覺得自己足夠小心,並儘可能提高水軍的真實性,但是管理人員可能還是知道這是同一個人在操作,從而被打擊。

一般情況下,網站或者廣告商都想要一種技術可以在網絡上精確的定位到每一個個體,就算你沒有賬號,沒有登錄,也可以通過收集這些個體的數據,然後加以分析之後更加精確的去推送廣告和其他的一些活動。

而這個技術就是瀏覽器指紋,這還是用前端技術來實現的。

定義

瀏覽器指紋,就像現實生活中人的指紋一樣,特異地標記著每個上網用戶。

瀏覽器指紋:是一種通過瀏覽器對網站可見的配置和設置信息來跟蹤Web瀏覽器的方法,瀏覽器指紋就像我們人手上的指紋一樣,具有個體辨識度,只不過現階段瀏覽器指紋辨別的是瀏覽器。

人手上的指紋之所以具有唯一性,是因為每個指紋具有獨特的紋路、這個紋路由凹凸的皮膚所形成。每個人指紋紋路的差異造就了其獨一無二的特徵。

那麼瀏覽器指紋也是同理,獲取瀏覽器具有辨識度的信息,進行一些計算得出一個值,那麼這個值就是瀏覽器指紋。

辨識度的信息可以是UA、時區、地理位置或者是你使用的語言等等,你所選取的信息決定了瀏覽器指紋的準確性。

指紋技術歷史

  1. 第 1 代:服務端在客戶端設置標誌

第一代指紋追蹤是 cookie 這類的服務端在客戶端設置標誌的追蹤技術,evercookie 是 cookie 的加強版。

  1. 第 2 代:單瀏覽器指紋

第二代指紋追蹤是設備指紋技術,發現 IP 背後的設備。

通過 js 獲取操作系統、分辨率、像素比等等一系列信息,傳到後臺計算,然後歸併設備。

  1. 第 2.5 代:跨瀏覽器指紋識別技術。

跨瀏覽器之後,第二代技術中很重要的 canvas 指紋、瀏覽器插件指紋都變了,所以很難把跨瀏覽器指紋歸併到同一設備上。

因為設備指紋相同,很大概率上是同一臺設備;但是,設備指紋不同時,不一定不是同一臺設備。

  1. 第三代:跨設備指紋

第三代指紋追蹤技術,則是發現設備後面的人。通過人的習慣、人的行為等等來對人進行歸併,此項技術比較複雜。

  1. 總 結

第一代、第二代的指紋追蹤技術是可以直接通過 js 收集信息的,第三代指紋追蹤技術目前可看到的案例是 2017 年 RSA 創新沙盒的冠軍 unifyid 技術,unifyid 在移動端安裝軟件、收集信息,不僅僅是通過 js。

至於利用於 web 上,還任重而道遠。

應用

  • 分析可能導致識別欺詐者和其他需要調查的可疑活動
  • ⼴告營銷機器獲取您的數據,以便跟蹤您的在線活動
  • 銀⾏使⽤此⽅法來識別潛在的欺詐案件


原來我們一直被互聯網巨頭監視,隱私在網上裸奔、無處可藏


是什麼讓你暴露身份

當你使用瀏覽器訪問某個⽹站的時候,瀏覽器【必定會暴露】某些信息給這個⽹站。

有些是跟 HTTP 協議相關的。

只要你基於 HTTP 協議訪問⽹站,瀏覽器就【必定】會傳輸這些信息給⽹站的服務器。

因此,Web ⽹站的服務器必定可以獲取到跟你的瀏覽器相關的某些信息

<code>{
"headers": {
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
"Host": "httpbin.org",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-Site": "none",
"Sec-Fetch-User": "?1",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36"
}
}/<code>

基本的瀏覽器指紋


原來我們一直被互聯網巨頭監視,隱私在網上裸奔、無處可藏


指紋採集

信息熵(entropy)是接收的每條消息中包含的信息的平均量,熵越高,則能傳輸越多的信息,熵越低,則意味著傳輸的信息越少。

瀏覽器指紋是由許多瀏覽器的特徵信息綜合起來的,其中特徵值的信息熵也是不盡相同。

點擊 這裡 查看自己的瀏覽器指紋ID和基本信息。


原來我們一直被互聯網巨頭監視,隱私在網上裸奔、無處可藏


這個網站也可以查看你瀏覽器的指紋相關信息:https://amiunique.org/fp。

它可查看到哪些信息呢?如下:

原來我們一直被互聯網巨頭監視,隱私在網上裸奔、無處可藏


原來我們一直被互聯網巨頭監視,隱私在網上裸奔、無處可藏


原來我們一直被互聯網巨頭監視,隱私在網上裸奔、無處可藏


原來我們一直被互聯網巨頭監視,隱私在網上裸奔、無處可藏


原來我們一直被互聯網巨頭監視,隱私在網上裸奔、無處可藏


而且瀏覽器指紋還有一個開源項目了,純 JS 實現的,只有引用這個項目就可以獲取瀏覽器的各種信息或者系統的配置了。

現代而靈活的瀏覽器指紋庫:https://github.com/Valve/fingerprintjs2。

使用也很簡單,如下:

安裝(Installation)

  • Bower: bower install fingerprintjs2
  • NPM: npm install fingerprintjs2
  • Yarn: yarn add fingerprintjs2

使用(Usage)

<code>if (window.requestIdleCallback) {
requestIdleCallback(function () {
Fingerprint2.get(function (components) {
console.log(components) // an array of components: {key: ..., value: ...}
})
})
} else {
setTimeout(function () {
Fingerprint2.get(function (components) {
console.log(components) // an array of components: {key: ..., value: ...}
})
}, 500)
}/<code>

還有一個用純JavaScript編寫的設備信息和數字指紋的開源項目:https://github.com/jackspirou/clientjs。

總結

科技公司通過大數據,會對你進行一個大體的畫像,然後按照你的喜好推送信息。

  • 比如一些精準的廣告,刺激你荷爾蒙的小視頻等。
  • 就拿你在玩的抖音來說,你其實可以匿名使用,但是你愛抖胸妹子的喜好,不會因為重裝抖音而消失,它已熟知了你的癖好。
  • 這些收集你瀏覽器信息的動作,默默的在後臺發生,用戶根本毫無覺察。
  • 你的每一次點擊,都無情的出賣了你,這些信息會被綜合分析,相關網站和部門,能夠對你進行唯一性識別,進而鎖定、追蹤。
  • 你雖然沒有註冊賬號,平臺卻為你分配了身份。
  • 這是識別方式,用於識別你這個個體,而收集的內容,可能更讓人瞠目結舌,不要覺得垃圾數據多,存不下,行為數據比那些廉價的磁盤,值錢的多。
  • 包括你的每一次點擊,停留的時長,閱讀、觀看的位置,都在全方位的展示你的個體。
  • 設備、IP、位置、操作習慣,都在不同的角度繪製你的指紋,讓你在匿名的互聯網上,無處可藏。

如果你沒有足夠專業的知識或者非常頻繁更換瀏覽器信息的話,幾乎 100% 可以通過瀏覽器指紋定位到一個用戶,當然這也不見得全是壞事。

  • 洩露的隱私非常片面,只能說洩露了用戶部分瀏覽網頁時的行為。
  • 價值不夠,用戶行為並未將實際的賬戶或者具體的人對應起來,產生的價值有限。
  • 有益利用,利用瀏覽器指紋可以隔離部分黑產用戶,防止刷票或者部分惡意行為。


本文來源github: https://github.com/biaochenxuying/blog/issues/60


分享到:


相關文章: