*Ch02 Stateful Tracking 典型與意料之外的儲存位置/Day8 HSTS SuperCookie
HSTS:HTTP的Stirct-Transport-Security response header
1.用於指定那些domain只可以用HTTPS存取
2.若使用者嘗試造訪被登記為只能用HTTPS存取的example.com>瀏<覽器會自動轉址(307 redirection)為https://example.com ,且這個過程與伺服器無關
3.HSTS如何運作:伺服器乙HTTPS收到請求可以回應header Strict-Transport-Security:max-age=<expore-time>
>瀏覽器收到後會將該domain加入HSTS>瀏覽器再次造訪domain未強制連線到HTTPS
4.HSTS的問題:若一個domain被加入HSTS,代表使用者造訪過該domain,當攻擊者嘗試造訪https://example.com 而瀏覽器直接請求,便可知使用者造訪過該網頁>HSTS可能洩漏瀏覽紀錄
儲存identifier:追蹤者打算塞一個5 bit的identifier(10101),追蹤者可先準備5個domain[a-e].tracker.example
1.使用者第一次造訪
追蹤者在網頁插入script,瀏覽器發請求http://>追蹤者發現是第一次造訪>回應第一次造訪時專用Script並指定identifier>browser>identifier-1,browser發送相對應subdomain>被請求的subdomain回傳夾帶HSTS>要求瀏覽器要用HTTPS存取
2.使用者再次造訪
追蹤者在網頁插入script,瀏覽器發請求http://>因已設定過HSTS,瀏覽器會直接請求https://>追蹤者發現請求是HTTPS>回應再次造訪專用Script和token>browser
3.再次造訪,另一種不需要由伺服器協助回傳identifier的方式
追蹤者在網頁插入script,瀏覽器發請求http://>因已設定過HSTS,瀏覽器會直接請求https://>追蹤者發現請求是HTTPS>回應再次造訪專用Script和token>browser>建立element<img src=""
>追蹤者收到HTTP回應A圖、收到HTTPS回應B圖>CORS設定>browser上的script檢視圖片,A為0,B為1
HSTS SuperCookie的問題:
1.需要請求HTTP資料但被阻擋
2.若網站沒有HTTPS,有遠比web tracking更大的資安威脅需處理
3.大量發送請求易被發現
HSTS SuperCookie的兩種解方:
1.址允許當下網域與其TLD+1可以設定HSTS
2.被視為嘗試追蹤使用者而被阻擋的domain會忽略HSTS的紀錄,所有URL照原本樣子出去>讀到的數值是0000
資料來源、選用書籍:<Web Tracking的資安攻擊與防禦策略>鐵人賽專用書