Ch02 Stateful Tracking 典型与意料之外的储存位置/Day9 Favicon SuperCookie

  • Favicon(favoriites icon):一张与网站或网页相关的图片,通常会显示在分页的名称之前以及书籍列等地方,帮助使用者识别不同的网站
  • 浏览器取得favicon的方式:1.直接存取/favicon.ico,有找到档案即直接使用2.网页开发者直接指定Favivon供浏览器参考<link rel="shortcut icon" href="/resource/fav.ico">
  • Favicon 下载后会储存于 cache 中,与其他 cache 类似。
  • Favicon cache 有独特特徵,浏览器会考虑不同网域和路径来储存。
  • 使用 cache 时,浏览器会检查 HINL 中的 favicon 路径是否改变,这使开发者能根据情境提供不同的 favicon,但也增加了攻击风险。
  • 在隐私模式下,浏览器可以读取 favicon cache,但不会写入,这与一般 cache 的行为不同。
  • 即使使用者清空 cookie 和 cache,favicon cache 似乎不会被清除。
  • 这些特徵使得 favicon 可以用来储存识别码,即使在隐私模式下也能读取。
  • Favicon SuperCookie 的概念类似于 HISTS SuperCookie,透过判断子网域的 favicon cache 来识别对应的位数。
  • 在写入阶段,利用连环的302 redirection 来使浏览器尝试造访指定的 favicon。假设 idcntificr 是10100。
  • 使用者第一次造访 https://tracker.example/,浏览器存取 /favicon.ico。
  • 伺服器收到/favicon.ico 请求,得知这是第一次造访,故给予一个 identifier10100。3.伺服器回应 302 redirection,要求浏览器造访/pathl。
  • 浏览器造访/pathl,并根据 HINL 中要求下载/faviconl.ico。
  • 伺服器回应302 redirection,要求造访/path3。
  • 浏览器造访/path3,并根据 HTMI. 中要求下载/favicon3.ico。在读取阶段,同样是利用连环的302 redirection,伺服器并检查是否有请求favicon
  • 使用者再次造访 https:i/trackerexample/,并使用 /favicon.ico 的 cache。2.伺服器没有收到/favicon.ico 请求,得知这是重复造访。3.伺服器回应 302 redirection,要求浏览器造访 /pathl。
  • 浏览器造访/pathl,并使用/faviconl.ico 的 cache。
  • 伺服器没有收到/faviconl.ico,故 identifier 的第一位是1。
  • 伺服器回应 302 redirection,要求造访 /path2。
  • 浏览器造访/path2,并根据 HITMIL, 中要求下载/favicon2.ico。
  • 伺服器收到 /Favicon2.ico,故 identifier 的第一位是2。伺服器对 /favicon2.ico 的请求回应 404 Not Found,以确保其不会被放入 cache。
  • 伺服器回应302 redircction,要求造访/path3。
  • 资料来源、选用书籍:<Web Tracking的资安攻击与防御策略>铁人赛专用书