New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 762148 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 778047



Sign in to add a comment

Categorize all HSTS preload list entries.

Project Member Reported by lgar...@chromium.org, Sep 5 2017

Issue description

Copying some notes here from an email thread:

Track down the source of each entry between the Google sections at the top and the new sections (BULK and MANUAL) at the bottom.

That would entail the following:
- Look at the history of commits for net/http/transport_security_state_static.json, and associate each entry with the latest commit that modified the entry (i.e. adding expect_ct counts, but moving an entry around on its own doesn't).
  - Note: the data used to live at net/base/transport_security_state_static.json and net/base/hsts_preloaded.json, so you'll have to look at those to get the full history for all entries.
  - The entries already in the bulk and manual sections don't need annotation, since we've kept those diligently.
- Classify all the commits by type: added through hstspreload.appspot.com vs. added manually.
- Associate the type of commit to each entry (based on the latest commit that modified it).
- Split the old entries (everything between the Google entries and the new bulk domains) into sections with comments delimiting the start and end of each. Each section should still have the domains in the order that they appear in the file today.
  - OLD MANUAL CUSTOM ENTRIES: Domains that have any setting except the exact values of {"include_subdomains": true, "mode": "force-https"}.
  - OLD MANUAL HSTS ENTRIES: Domains with {"include_subdomains": true, "mode": "force-https"} that were not added through hstspreload.appspot.com
  - OLD BULK HSTS ENTRIES: Domains with {"include_subdomains": true, "mode": "force-https"} that were not added through hstspreload.appspot.com
  - Put any large groups of domains (I think this includes only Yahoo! domains and Facebook domains?) in their own sections.

In the end, a sorted, canonicalized version of the JSON file should still match the old values. Outside of the source itself, it would also be good to have the classification of commits, so that we can easily sanity check the classification if something looks off.

The most important part here is to know which ones are the old bulk entries, so that we can whitelist them for https://hstspreload.org/removal/

I also experimented with adding explicit annotations at https://chromium-review.googlesource.com/c/chromium/src/+/588344 , which would make the scripts more robust. But I don't think that's as important until we have a fully automated roller (Issue 736188), and I've been holding off on landing it so that I don't risk painting us into a corner.


martijn@: Not a hurry, but you're welcome to pick this up if you'd like. :-)
 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9dd9998628b0f371dc31c85188738461d09d83c8

commit 9dd9998628b0f371dc31c85188738461d09d83c8
Author: Martijn Croonen <martijn@martijnc.be>
Date: Tue Oct 24 21:24:41 2017

Classify old HSTS preload list entries.

The classification is based on the first commit for each entry and the current
state of the entry.

The first commit for all entries can be found in
https://docs.google.com/spreadsheets/d/1lbOpXTuohZpIvnjdSGjlbADyKjEqjIuux676TwWW1GI/preview

Bug:  762148 
Change-Id: I585a4aef19cf6448167577ebb0f4aacdd7ebf209
Reviewed-on: https://chromium-review.googlesource.com/671235
Commit-Queue: Martijn Croonen <martijnc@chromium.org>
Commit-Queue: Lucas Garron <lgarron@chromium.org>
Reviewed-by: Lucas Garron <lgarron@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511263}
[modify] https://crrev.com/9dd9998628b0f371dc31c85188738461d09d83c8/net/http/transport_security_state_static.json

Blocking: 778047
Labels: M-63
Status: Fixed (was: Available)
Let's make the policy annotation a separate bug.

Sign in to add a comment