"Je tak v podstatě vyloučeno na takovou stránku zaútočit útokem známým jako odstranění SSL."
Cože? Vždyť úplně stačí, když první připojení (nebo jakékoliv další po vypršení času) na danou stránku bude přes MITM, který tu HSTS hlavičku odstraní.
Pokud je potřeba tu komunikaci mít zabezpečenou, tak by server v první řadě vůbec neměl mít dostupné http a měl by poslouchat výhradně na https.
Ano, krásně jste shrnul podstatu TOFU přístupu − předpokládáme, že poprvé je všechno dobře. Ale i když není, dojde k uložení záznamu při nejbližší příležitosti. Udělat MITM útok a hlavičku odstranit je možné jen v případě, že jsme schopni provést nedetekovatelý MITM útok na TLS spojení. Pokud tohle někdo dokáže, pak samozřejmě žádné HSTS nemá smysl.
Doba života záznamu v tabulce důvěryhodných serverů se samozřejmě obnovuje, takže k vymazání dojde teprve v případě, že se k danému serveru nepřipojíme na delší dobu než max-age, takže tady také velké riziko nehrozí.
Spíš jde o to, jestli na místech, kde by někdo chtěl nasadit HSTS, rovnou místo toho nevypnout http.
Výsledek bude stejný (klienti pojednou na https a navíc vůbec nebude, ani teoreticky, hrozit riziko odstranění ssl). Podle mě je to lepší řešení právě proto, že se vyhne těm okrajovým podmínkám (např: co když už první přípojení bude přes MITM).
Tak, že uživatel napíše do prohlížeče http://adresa a místo automatického přesměrování na https, nebo – v případě nedostupného HTTP – odpovědi „Stránku nelze zobrazit, server odmítá spojení“ dostane požadovaný obsah, který by správně měl být dostupný jen pomocí https. To je podstata útoku známého jako odstranění SSL.
A ještě můžu dodat, že standard připouští i předinstalované položky v cache HSTS serverů. Ale samozřejmě, zase se dá argumentovat tím, že tyhle položky může útočník během instalace zachytit a pozměnit. Hlavně ale zatím nejspíš není cesta, jak by se provozovatelé webů mohli nechat na podobný seznam zapsat.