Over the past two weeks, I've seen a spike in requests for HSTS preload removals. Usually there are around 20-40 removals per week, whereas for the past two weeks there are a total of around 1800 removals pending. From looking at server logs, most of the removals came from a few IP addresses. (Four IP addresses requested more than 100 removals each, making 105, 214, 501, and 1025 requests for removal. There were 3 IP addresses with double-digit numbers of removals, and a long tail of addresses requesting single-digit numbers of removals.)
It seems unlikely to me that 1800 domain owners intentionally decided in the same two weeks to stop preloading their domains. I plan to ignore the removal requests that came from the suspect IP addresses; if that accidentally ignores legitimate requests they can be re-requested.
The current criteria for removing a domain from the HSTS preload list is that the Strict-Transport-Security header is served for an HTTPS request to the root of the domain (and a valid cert is used), and it does not contain the "preload" directive. Based on this spike of removal requests and that so many come from the same IP address, I'm guessing someone(s) on the internet scanned through the preload list for domains that no longer met the requirements and requested their removal, and these domains had actually stopped serving the preload directive at some point prior to last week.
I'd like to propose a change in process to how preload list removals are handled:
When checking the Strict-Transport-Security header, instead of checking for a lack of the "preload" directive, check that it is present, with a value of false (i.e. "preload=false").
The rationale for this change is that this is a much more explicit signal from the server that the domain should no longer be on the preload list, as opposed to looking for the absence of the preload directive.
Does this change sound like a reasonable change? Should the signal for preloading also be changed to "preload=true" so that the directive always has a value?
Cheers,
Nick