Pirmąją 2016 m. Dieną "Mozilla" nutraukė "Firefox" žiniatinklio naršyklės palaikymą silpninančioms saugumo technologijoms, vadinamoms SHA-1. Beveik iš karto jie pakeitė savo sprendimą, nes tai sumažintų prieigą prie kai kurių senesnių svetainių. Tačiau 2017 m. Vasario mėn. Jų baimės galiausiai įvyko: mokslininkai sudaužė SHA-1, sukurdami pirmąjį susidūrimų ataką realiuoju laiku. Štai kas tai reiškia.
SHA-1 SHA-1 reiškia Saugaus šnipinėjimo algoritmą , o paprasčiausiai pasakykite, kad tai kaip savotiškas matematikos problema ar metodas, kad naikina į jį įvestus duomenis . Sukurta Jungtinių Valstijų NSA, tai yra pagrindinė daugelio technologijų, naudojamų svarbių duomenų perdavimui internete šifruoti, sudedamoji dalis. Paprasti šifravimo metodai SSL ir TLS, apie kuriuos jūs galbūt girdėjote, gali naudoti hash funkciją, pvz., SHA-1, kad sukurtumėte jūsų naršyklės įrankių juostoje esančius pasirašytus sertifikatus.
Mes neapsimokime matematikos ir kompiuterių mokslo bet kurios SHA funkcijos, bet čia yra pagrindinė idėja. "Hash" yra unikalus kodas, pagrįstas bet kokių duomenų įvedimu. Net maža, atsitiktine eilučių raidėmis, įvesta į hash funkciją, tokią kaip SHA-1, grąžins ilgą, nustatytą ženklų skaičių, dėl to (potencialiai) neįmanoma atkurti simbolių eilutės atgal į pradinius duomenis. Taip paprastai veikia slaptažodžių saugykla. Kai kuriate slaptažodį, slaptažodis įvedamas serveriu ir saugomas. Kai grįšite, kai įvedate savo slaptažodį, jis vėl trūksta. Jei jis atitinka originalų maišą, galima laikyti, kad įvestis yra ta pati, ir jums bus suteikta prieiga prie jūsų duomenų.
"Hash" funkcijos yra naudingos, pirmiausia todėl, kad jas lengva nustatyti, ar, pavyzdžiui, failas ar slaptažodis pasikeitė. Kai įvesties duomenys yra slapti, pvz., Slaptažodis, hash yra beveik neįmanoma pakeisti ir susigrąžinti pradinius duomenis (taip pat žinomas kaip "raktas"). Tai šiek tiek skiriasi nuo "šifravimo", kurio tikslas yra duomenų šlifavimas, siekiant vėliau jį descramblinguoti, naudojant šifratus ir slaptus raktus. Hashes tiesiog yra skirtos užtikrinti duomenų vientisumą - įsitikinti, kad viskas yra ta pati. Dėl šios priežasties "Git", atvirojo kodo versijos valdymo ir paskirstymo programinė įranga, dėl šios priežasties naudoja SHA-1 maišus.
Tai daug techninės informacijos, bet paprasčiausiai ją suprantu: hash nėra tas pats, kaip šifravimas, nes naudojamas nustatyti, ar failas pasikeitė .
Sakykime, kad turėtumėte aplankyti svetainę privačiai. Jūsų bankas, jūsų el. Paštas, netgi jūsų "Facebook" paskyra, visi naudoja šifravimą, kad jūsų siunčiami duomenys būtų privatūs. Profesionalus tinklalapis užtikrins šifravimą, gavus sertifikatą iš patikimos institucijos - trečiosios šalies, patikimos siekiant užtikrinti, kad šifravimas būtų lygus, privatus tarp svetainės ir naudotojo, o jo nepažeista kita šalis. Šis ryšys su trečiąja šalimi, vadinamas Sertifikavimo įstaigos arba CA , yra labai svarbus, nes bet kuris vartotojas gali sukurti savarankiškai pasirašytą sertifikatą - netgi galite tai padaryti patys kompiuteris, kuriame veikia "Linux" su "Open SSL". Pvz., "Symantec" ir "Digicert" yra dvi plačiai žinomos CA įmonės.
Pradėkime į teorinį scenarijų: "How-To Geek" nori užsiimti šifruotų vartotojų sesijų privatumu, todėl prašo "CA" kaip "Symantec" su sertifikato pasirašymo užklausa arba CSR . Jie sukuria viešąjį raktą ir privatųjį raktą už šifravimą ir iššifravimą perduodamus duomenis internete. Užklausa dėl ĮSA siunčia "Symantec" viešąjį raktą kartu su informacija apie svetainę. "Symantec" patikrina raktą nuo jo įrašo, kad patikrintų, ar duomenys yra nepakeisti visų šalių, nes dėl nedidelių duomenų pokyčių maišas iš esmės skiriasi.
Šie viešieji raktiniai žodžiai ir skaitmeniniai sertifikatai pasirašomi maišos funkcijomis, nes išvestis šias funkcijas lengva pamatyti. Viešasis raktas ir sertifikatas su patvirtintu "hash" iš "Symantec" (mūsų pavyzdyje) autoritetas užtikrina "How-To Geek" naudotoją, kad raktas yra nepakeistas ir nėra išsiųstas iš kokio nors kenkėjiško.
Kadangi maišos yra lengva stebėti ir neįmanoma (kai kurie sako "sunku") pakeisti, teisingas, patvirtintas hash parašas reiškia, kad sertifikatas ir ryšys gali būti patikimi, o duomenis galima sutikti, kad jie būtų siunčiami šifruodami nuo pabaigos iki pabaigos . Ką gi, jei hash iš tikrųjų nebuvo unikalus ?
Galbūt jūs girdėjote apie "gimtadienio problemą" matematikos srityje , nors galbūt jūs neturite žinoti, ką ji vadinama. Pagrindinė idėja yra tai, kad, jei surinksite pakankamai didelę žmonių grupę, galimybės yra gana didelės, kad du ar daugiau žmonių turės tą patį gimtadienį. Didesnė, nei jūs tikėjotės, iš tikrųjų - pakankamai to, kad panašu į keistą sutapimą. Grupėje maždaug 23 žmonės turi 50% tikimybę, kad du bus gimtadienio dienos.
Tai yra būdingas silpnumas visose hashes, įskaitant SHA-1. Teoriškai SHA funkcija turėtų sukurti unikalų maišą bet kokiems į ją įvestiems duomenims, tačiau, kadangi didėja maišų skaičius, tampa labiau tikėtina, kad skirtingos duomenų poros gali sukurti tą patį maišą. Taigi būtų galima sukurti nepatikimą sertifikatą su identiška maiše ir patikimu sertifikatu. Jei jie privers jus įdiegti šį nepatikimą sertifikatą, jis gali būti maskuodamas kaip patikimas ir platinti kenkėjiškus duomenis.
Tinkamų failų paieška du failuose yra vadinama avarijos ataka . Yra žinoma, kad bent jau vienas didelio masto susidūrimo atakas MD5 maišams jau įvyko. Tačiau 2017 m. Vasario 27 d. "Google" paskelbė "SHAttered", pirmą kartą sukurtą "SHA-1" susidūrimą. "Google" sugebėjo sukurti PDF failą, kuriame buvo tas pats SHA-1 maišas kaip kitas PDF failas, nepaisant skirtingo turinio.
SHAttered buvo atliktas PDF rinkmenoje. PDF yra palyginti laisvas failo formatas; Daug mažų bitų lygio pakeitimų galima padaryti, neleidžiant skaitytojams ją atidaryti arba sukelti pastebimus skirtumus. PDF failai taip pat dažnai naudojami kenkėjiškų programų pristatymui. Nors SHAttered galėtų dirbti su kitais failų tipais, pvz., ISO, sertifikatai yra griežtai apibrėžti, todėl toks išpuolis yra mažai tikėtinas.
Taigi, kaip paprasta yra ši ataka atlikti? SHAttered buvo pagrįstas 2012 m. Marco Stevenso nustatytu metodu, kurio metu reikėjo daugiau kaip 2 ^ 60,3 (9.223 quintillionų) SHA-1 operacijų - stulbinantis skaičius. Tačiau šis metodas vis dar turi 100 000 kartų mažiau operacijų, nei būtų reikalaujama, kad būtų pasiektas toks pat rezultatas su brutalia jėga. "Google" nustatė, kad lygiagrečiai dirbant su 110 aukščiausios klasės grafikos plokštėmis, dėl susidūrimo susidėvės maždaug vienerius metus. Apskaičiuojant šį laiką iš "Amazon AWS" išsinuomoto automobilio kaina kainuotų apie 110 000 JAV dolerių. Turėkite omenyje, kad kai kompiuterių dalys sumažėja, o jūs galite gauti daugiau energijos mažiau, išpuolių, tokių kaip SHAttered, lengviau atsikratyti.
110 000 JAV dolerių gali atrodyti labai daug, tačiau kai kuriose organizacijose tai yra prieinamumo sritis. tai reiškia, kad realiame gyvenime esantys kibernetiniai incidentai gali sukurti skaitmeninių dokumentų parašus, trukdyti atsarginėms ir versijų valdymo sistemoms, pvz., Git ir SVN, arba padaryti kenksmingą "Linux ISO" teisėtą.
Laimei, tokie išpuoliai užkerta kelią švelninantys veiksniai. SHA-1 retai naudojamas skaitmeniniams parašams. Sertifikato institucijos nebeteikia pažymėjimų, pasirašytų su SHA-1, o "Chrome" ir "Firefox" - jų pagalba. "Linux" paskirstymai dažniausiai išleidžiami dažniau nei kartą per metus, dėl to užpuolikas negali sukurti kenksmingos versijos ir tada sugeneruoti tą patį SHA-1 maišą.
Kita vertus, kai kurie iš SHAttered pagrįsti išpuoliai yra jau vyksta realiame pasaulyje. SVN versijų valdymo sistema naudoja SHA-1, kad atskirtų failus. Įkėlus du PDF failus su identiškais SHA-1 maišais į SVN saugyklą, jis sugadins.
Paprastam vartotojui nėra daug. Jei naudojate kontrolines sumas norėdami palyginti failus, turėtumėte naudoti SHA-2 (SHA-256) arba SHA-3, o ne SHA-1 ar MD5. Panašiai, jei esate kūrėjas, būtinai naudokite šiuolaikinius maišymo algoritmus, tokius kaip SHA-2, SHA-3 ar bcrypt. Jei esate susirūpinę, kad SHAttered buvo naudojamas du skirtingus failus duoti tą patį maišą, "Google" išleido įrankį SHAttered svetainėje, kuri gali patikrinti jūsų.
Image Credits: "Lego Firefox", "Many Hash", prašome nepažeisti nežinomo žiniatinklio tinklo, "Google".
Kaip įdiegti gipso kartono inkarus, kad galėtumėte pakelti sunkius daiktus ant jūsų sienų.
Jei kada nors planuojate kažką sumontuoti ant sienos, kuri yra netgi sunkiai išvešta, jums reikės naudoti gipso kartono inkarus, nepasiekiamas. Čia yra įvairių tipų gipso kartono inkarai ir kaip juos naudoti. Kas yra gipso kartono inkarai? Idealiu atveju jūs norite pakabinti sunkius daiktus iš savo sienų, naudodamiesi kaiščiais kaip inkaro.
"Domino's Pizza Sucks", todėl kodėl kas nors negali pakelti savo technologijų?
Jau daugelį metų buvau sapnavęs, kad turėsite skubios pica mygtuką, kuris automatiškai užsisakyti pica man vienas bakstelėkite Aš ne vienintelis, turintis šią svajonę. Pastaraisiais metais pizza užsakymo technologijos buvo nesuskaičiuojamos naujovių ... bet visi jie buvo iš "Domino". Kodėl kitos picos įmonės negali pasivyti?