Tu v ProPrivacy sme práve love softvér s otvoreným zdrojom. Je to hlavne preto, že napriek tomu, že nie je dokonalý, otvorený zdroj poskytuje jediný spôsob, ako zistiť, či je program na úrovni.

Jedným z problémov je však to, ako viete, že program s otvoreným zdrojovým kódom, ktorý si stiahnete z webovej stránky, je program, ktorého vývojári si chceli stiahnuť? Kryptografické hashe sú čiastočným riešením tohto problému.

Čo je to kryptografický hash?

Kryptografický hash je kontrolný súčet alebo digitálny odtlačok prsta odvodený vykonávaním jednosmernej hashovacej funkcie (matematická operácia) na údajoch obsahujúcich počítačový program (alebo iné digitálne súbory)..

Akákoľvek zmena iba jedného bajtu údajov tvoriacich počítačový program zmení hodnotu hash. Hodnota hash je preto jedinečným odtlačkom prsta pre akýkoľvek program alebo iné digitálne súbory.

Čo je to hashova kontrola?

Zabezpečenie toho, aby sa s programom nemalo manipulovať alebo aby sa iba poškodilo, je pomerne jednoduché vypočítať jeho hashovú hodnotu a potom ju porovnať s kontrolným súčtom hashov poskytnutým jeho vývojármi..


Ak je to rovnaké, potom máte primeranú istotu, že program, ktorý ste si stiahli, je úplne rovnaký ako program uverejnený jeho vývojárom. Ak nie je, potom bol program nejakým spôsobom zmenený.

Dôvody nie sú vždy škodlivé (pozri nižšie), ale pri neúspešnej kontrole hash by sa malo nastaviť zvonenie výstražných zvonov.

Problémy s hashovými kontrolami

Možno ste zistili opatrnosť pri spievaní chvályhodných kontrol...

Integrita, ale nie autentifikácia

Kontroly hash sú užitočné na zabezpečenie integrity súborov, neposkytujú však žiadny druh autentifikácie. To znamená, že sú dobré na zabezpečenie toho, aby sa súbor alebo program zhodoval so zdrojom, ale neposkytujú žiadny spôsob, ako overiť, či je zdroj legitímny..

Kontroly hash neposkytujú žiadnu záruku, pokiaľ ide o zdroj kontrolného súčtu hash.

Napríklad existujú falošné webové stránky, ktoré distribuujú škodlivé verzie populárneho softvéru s otvoreným zdrojovým kódom, ako je KeePass. Mnoho z týchto webových stránok dokonca poskytuje kontrolné súčty hash pre programy, ktoré dodávajú, a ak by ste ich skontrolovali proti falošnému programu, zhodovali by sa. Oops.

Matematické slabiny

Ďalším problémom je, že matematické slabiny môžu znamenať, že hash nie je tak bezpečný, ako by mal byť.

Napríklad algoritmus MD5 zostáva veľmi populárnou hašovacou funkciou, a to aj napriek známej zraniteľnosti voči kolíznym útokom. Dokonca ani SHA1 sa už v tomto ohľade nepovažuje za bezpečnú.

Napriek tomu zostávajú MD5 a SHA1 najpopulárnejšími algoritmami používanými na generovanie hodnôt hash. SHA256 však zostáva v bezpečí.

Lenivosť vývojárov

Vývojári niekedy aktualizujú svoje programy opravami chýb a novými funkciami, ale zanedbávajú zverejnenie aktualizovaného kontrolného súčtu hash. Výsledkom je zlyhanie kontroly hash pri sťahovaní a pokuse o overenie ich programu.

Toto samozrejme nie je ani tak blízko ako kontrola hash, ktorá umožňuje prechod škodlivého softvéru, ale môže to zhoršiť dôveru v ekosystém, čo vedie k tomu, že ľudia sa neobťažujú kontrolovať integritu stiahnutých súborov....

Kryptografické hashe verzus digitálne podpisy

Väčšina problémov s kryptografickými hashmi je vyriešená použitím digitálnych podpisov, ktoré zaručujú integritu aj autentifikáciu.

Vývojári, ktorí radi používajú proprietárny kód, môžu automaticky a transparentne overovať podpisy pri prvej inštalácii svojho softvéru pomocou mechanizmov, ako sú technológie spoločnosti Microsoft, Apple alebo Google PKI (infraštruktúra verejných kľúčov)..

Vývojári open source tento luxus nemajú. Musia používať PGP, ktorý prirodzene nepodporuje žiadny proprietárny operačný systém, a prečo v systéme Linux neexistuje ekvivalent PKI spoločnosti Microsoft, Apple alebo Google..

Digitálne podpisy PGP sa musia overovať ručne. PGP je však kompletné ošípané, ktoré sa nemá používať, a nie je to jednoduchý proces, pretože rýchly prehľad v našom sprievodcovi kontrolou podpisov PGP vo Windows preukáže.

Skutočný proces podpisovania nie je ani pre vývojárov, ktorí sú si vedomí, že v skutočnom svete sa málokto obťažuje manuálne kontrolovať digitálne podpisy..

Kryptografické hashy nie sú ani zďaleka tak bezpečné ako digitálne podpisy PGP, ale ich používanie je omnoho ľahšie, takže mnohí vývojári sa jednoducho na ne spoliehajú namiesto digitálneho podpisovania svojej práce..

Mali by ste naozaj skontrolovať hash (ak nie je prítomný digitálny podpis)

Toto je menej ako ideálna situácia a ak je k dispozícii, mali by ste skontrolovať digitálny podpis programu s otvoreným zdrojovým kódom. Ak však nie je, potom je kontrola jeho kryptografického hashu omnoho lepšia ako nič.

Pokiaľ ste si istí zdrojom (napríklad ste si istí, že je to zo skutočných webových stránok vývojára, ktorý nebol hacknutý na zobrazenie falošnej kryptografickej hodnoty hash), potom kontrola jeho hodnoty hash poskytuje primeranú mieru náhody, že softvér, ktorý vy stiahol je softvér, ktorý si vývojár zamýšľa stiahnuť.

Ak pre softvér s otvoreným zdrojovým kódom nie je k dispozícii digitálny podpis ani kontrolný súčet, neinštalujte ho ani ho nespúšťajte.

Ako hash skontrolovať

Základný postup je nasledujúci:

Nepovinná podpoložka

  1. Poznačte si číslo hash zverejnené vývojárom
  2. Vygenerujte hodnotu hash súboru, ktorý máte
  3. Porovnajte dve hodnoty hash

Ak sú totožné, máte súbor, ktorý vám vývojár zamýšľal mať. Ak nie, potom je buď poškodený alebo s ním bolo manipulované.

Ak je k dispozícii hash SHA256 +, skontrolujte proti tomu. Ak nie, použite SHA1. Iba ako posledná možnosť by ste mali skontrolovať proti hashe MD5.

Jednoduchý spôsob (všetky systémy)

Najjednoduchší spôsob, ako vygenerovať hodnotu hash súborov, je pomocou webovej stránky, ako sú napríklad online nástroje. Stačí vybrať druh hashovej hodnoty, ktorú potrebujete vygenerovať, potom potiahnite požadovaný súbor do určeného priestoru a vygeneruje sa príslušná hashová hodnota..

príklad

Chceme skontrolovať integritu inštalačného súboru KeePass, ktorý sme stiahli z webovej stránky KeePass.org (ktorú poznáme ako správnu doménu). Webové stránky publikujú hash MD5, SHA1 a SHA256 pre všetky verzie svojho KeePass, takže skontrolujeme verziu SHA256, ktorú sme stiahli..

  1. Poznamenávame si správnu hodnotu hash zverejnenú na webovej stránke KeePass.

  2. Potom navštívime webovú stránku Online Tools, vyberte File Hash: SHA256 a pretiahneme náš stiahnutý inštalačný súbor KeePass do poskytnutého priestoru..

  3. Porovnávame výstup s kontrolným súčtom uverejneným na webovej stránke KeePass a sú totožné. Takže za predpokladu, že webová stránka KeePass nebola napadnutá tak, aby zobrazovala falošné hodnoty hash, môžeme si byť istí, že sme stiahli súbor bez úprav. Jéj!

    Systémy Windows, MacOS a Linux majú tiež zabudované funkcie hash value, ktoré sú dostupné prostredníctvom príkazového riadku...

windows

Táto metóda funguje hneď po vybalení v systéme Windows 10, zatiaľ čo používatelia systému Windows 7 musia najprv aktualizovať Windows PowerShell pomocou Windows Management Framework 4.0.

Ak chcete získať hash SHA256, kliknite pravým tlačidlom myši na položku Štart -> Windows PowerShell a typ:

Get-FileHash [cesta / k / súboru]

Napríklad:

Get-FileHash C: \ Users \ Douglas \ Downloads \ KeePass-2.43-Setup.exe

Hash MD5 a SHA1 sa dá vypočítať pomocou syntaxe:

Get-FileHash [cesta k [cesta / k / súboru] -Algoritmus MD5

a

Get-FileHash [cesta k [cesta / k / súboru] -Algoritmus SHA1

Napríklad:

Get-FileHash C: \ Users \ Douglas \ Downloads \ KeePass-2.43-setup.exe -Algorithm MD5

MacOS

Otvorte terminál a typ:

openssl [hash type] [/ cesta / do / súboru]

Typ hash by mal byť md5, SHA1 alebo SHA256.

Napríklad, ak chcete skontrolovať hash SHA256 pre inštalačný program Windows KeePass (len aby ste si v tomto tutoriále udržali jednoduché veci), napíšte:

openssl sha256 /Users/douglascrawford/Downloads/KeePass-2.43-Setup.exe

linux

Otvorte terminál a napíšte buď:

Md5sum [cesta / k / súboru] Sha1sum [cesta / k / súboru]

alebo

Sha256sum [cesta / k / súboru]

Napríklad:

sha256sum /home/dougie/Downloads/KeePass-2.43-Setup.exe

Brayan Jackson
Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me