it-swarm-eu.dev

Proč se stahování aplikací běžně neuskutečňuje přes HTTPS?

Všichni víme, že bychom měli používat SSL, kdykoli shromažďujeme hesla nebo jiné citlivé informace. SSL poskytuje dvě hlavní výhody:

  • Encryption: Data nemohou být středním mužem v transportu.
  • Ochrana proti útokům MITM: Muž uprostřed nemůže předstírat, že je serverem, protože nemůže pro server vytvořit certifikát podepsaný CA.

Pokud stahuji aplikaci, pravděpodobně ji někdy spustím, možná dokonce jako root. Některé programy budou podepsány, ale mnoho ne. Nemělo by se stahování provádět přes SSL, abych věděl , že s ním nebylo během přenosu manipulováno?

Pokud někdo ukradne moje heslo, je to špatné. Ale pokud někdo do mého počítače vloží keylogger, je to mnohem horší.

58
Tom Marthenal

Protože protokol HTTPS není příliš vhodný pro zabezpečení stahování velkých veřejných souborů. Pro tento případ použití je to pomalé a není to tak užitečné. Existují důvody, proč HTTPS nepoužívat daleko za nekompetentností nebo nevědomím.

HTTPS problém plně nevyřeší . Toto Pokud získáváte aplikaci přímo z webu dodavatele, HTTPS zajišťuje autentičnost aplikace. Pokud ale získáváte aplikaci od třetí strany (např. Zrcadla svobodného softwaru), HTTPS chrání pouze spojení s třetí stranou. Schéma podpisu balíčku funguje lépe: může chránit celý řetězec od dodavatele. Distribuce aplikací vyžaduje komplexní ochranu a HTTPS to neposkytuje .

HTTPS používá větší šířku pásma . Pokud neberete v úvahu ukládání do mezipaměti, režijní náklady na stahování jsou minimální. Toto je kulová kráva „HTTPS nestojí víc“: pokud používáte SSL, nemůžete ukládat data do mezipaměti s výjimkou koncových bodů SSL. Stahování aplikací je v mezipaměti extrémně: jsou to velké soubory, které si mnoho lidí stahuje.

HTTPS je nadměrná . Důvěrnost stažení aplikace je zřídka problém, vše, co potřebujeme, je autentičnost. HTTPS bohužel neposkytuje autentičnost, aniž by poskytovala také důvěrnost. Autenticita je kompatibilní s ukládáním do mezipaměti, ale důvěrnost není.

HTTPS vyžaduje více prostředků na serveru. Google mail to snížilo na 1% režii a 2% režii šířky pásma, ale je to pro velmi odlišný případ použití. Servery frontendu Gmail dělají soubory více než bezmyšlenkovitě; souborový server na prvním místě nepotřebuje výkonný procesor (je velmi silně vázán na IO), takže režijní náklady budou pravděpodobně výrazně větší. Totéž platí pro režii paměti: souborový server potřebuje především velmi malou paměť na relaci, téměř veškerá jeho paměť je disková mezipaměť. Snížení využití zdrojů vyžaduje vážná práce .

HTTPS by nepomohlo mnoha lidem . Zabezpečení bude kontrolovat hash poskytované prodejcem ( to by mělo být přes HTTPS). Nevědomí, kteří si nejsou vědomi zabezpečení, poklepe na zprávu „Toto připojení je nezabezpečené“ (je tam tolik špatně nakonfigurovaných serverů, že mnoho uživatelů je vyškoleno, aby ignorovali chyby HTTPS). A to nemluvě o riskantních CA, které udělují certifikáty, které by neměly.


Pokud se chcete ujistit, že získáváte originální aplikaci, zkontrolujte její podpis nebo ověřte její hash na referenční hodnotě, kterou získáte pomocí podpisu (například přes HTTPS).

Dobří prodejci to dělají automaticky. Ubuntu například poskytuje GPG podpisy jeho instalačního média . Poskytuje také hash over HTTPS (bohužel není propojen odkudkoli poblíž stránky stahování, pokud vidím). Poté instalační nástroj softwaru automaticky zkontroluje, zda balíčky přicházejí s platným podpisem. Viz Jak používat https s apt-get?

Poznámka: Pokud aplikaci získáváte přímo od dodavatele (na rozdíl od některého úložiště balíčků nebo trhu aplikací), poskytuje ochranu HTTPS. Takže pokud jste dodavatel poskytující vaši aplikaci přímo ke stažení na vašem webu, chraňte ji pomocí HTTPS!

Je to stejný důvod, proč dosud ne všechny výzvy pro přihlášení používají protokol https: lidé jsou příliš líní, domnívají se, že certifikát je příliš drahý, nebo mají hostování, které poplatky za používání protokolu https zpoplatňuje.

Skutečnou otázkou je, proč se stahování provádí prostřednictvím jednoduchého připojení častěji než přihlašovací formuláře. A myslím, že je to hlavně kvůli nevědomosti. Kontrolní součty jsou často poskytovány, ale nejsou zabezpečeny, pokud jsou odesílány přes http. Jednou dobrou implementací kontrolních součtů, které jsem viděl, je to, kde byly zveřejněny na Twitteru (který používá https a lze rozumně předpokládat, že je nekompromisní). Neznám však nikoho, kdo kontroluje kontrolní součet, snad jen pokud se software nespustí. Obvykle TCP se předpokládá, že provede přiměřenou kontrolu chyb).

Https je na serveru samozřejmě těžší než http. U webových stránek s vysokým provozem to může být důvod. Ale znovu, webové stránky s vysokým provozem mohou také generovat „vysoké peníze“ na jejich financování.

19
Luc

Pravděpodobně, když uživatelé stahují aplikaci přes web, mělo by být stahování aplikací přes HTTPS, protože to je nejčistší uživatelské prostředí pro uživatele, které poskytuje zabezpečení, které mohou pochopit. Je patrně realistické očekávat, že mnoho uživatelů zkontroluje zelenou záři v adresním řádku před stažením, ale není rozumné (například) očekávat, že vypočítají hash a zkontrolují je bezpečně.

Tato stahování aplikací však často nejsou nabízena přes HTTPS, a to z mnoha možných důvodů:

  • Dobré důvody: HTTPS zabraňuje ukládání do mezipaměti v síti. To může zvýšit síťový provoz, zatížení na serveru a zatížení v síti na straně klienta.

  • Špatné důvody: Lidé se mylně domnívají, že „HTTPS je pomalý“ (což je mýtus ), protože nastavení serveru s SSL vyžaduje další práci, protože se spoléhají na zrcadla a zrcadlové weby. nepoužívejte HTTPS, nebo proto, že lidé o tom nepřemýšleli nebo si nemyslí, že jsou ohroženi. U široce používaného softwaru jsou tato přesvědčení pravděpodobně krátkozraká. Zdá se, že také některé weby mohou používat vyrovnávače zátěže nebo akcelerátory, které jsou mrtvé v mozku a nerozumí HTTPS správně, a nechtějí ani si nemohou dovolit navrhnout správné rozmístění, které dokáže HTTPS správně mluvit.

Některé distribuční weby aplikací používají HTTPS. Ale mnoho ne.

Firefox je jedním z vysoce profilujících příkladů aplikací, které nepoužívají standardně HTTPS při stahování aplikace (viz Jak bezpečné jsou kopie) Firefox, které jsou na různých webech se zrcadly Mozilla? ).

Windows Update se provádí přes zabezpečený kanál (podobný HTTPS). Linuxoví manažeři balíčků používají kryptografii k ochraně softwaru, který stahují, i když ne samotného HTTPS.

9
D.W.

Většinu času budou pro aplikaci k dispozici součty MD5 a SHA1. Po stažení je nutné zkontrolovat to, které je zobrazeno na webu. Pokud je vypočítaná hodnota stejná, není problém.

4
Lucas Kauffman