Külgkanali rünnak

Arvutiturvalisuses on külgkanali rünnak teatud tüüpi turvarünnak, mis kasutab süsteemist kogemata lekkinud teavet, nagu näiteks süsteemi ajastust, energiatarbimist, elektromagnetilist või akustilist informatsiooni, et saada volitamata juurdepääs tundlikule teabele. Need rünnakud erinevad nendest, mis on suunatud krüptograafiliste protokollide või algoritmide disainivigade vastu.

Mõned külgkanalirünnakud nõuavad tehnilisi teadmisi süsteemi sisemise toimimise kohta, teised, näiteks diferentsiaalvõimsuse analüüs, on tõhusad musta kasti rünnakutena. Web 2.0 rakenduste ja tarkvara kui teenuse populaarne levik on samuti oluliselt suurendanud külgkanalirünnakute võimalust veebis, isegi kui veebibrauseri ja serveri vaheline edastus on krüptitud (nt HTTPS-i või WiFi krüptimise kaudu), väidavad Microsoft Researchi ja Indiana Ülikooli teadlased. 

Külgkanali rünnakute klassid jaotuvad üldiselt järgmiselt:

 Vahemälu rünnak – rünnakud, mis põhinevad ründaja võimel jälgida ohvri vahemälule juurdepääsu jagatud füüsilises süsteemis, näiteks virtualiseeritud keskkonnas või mingisuguses pilveteenuses.
 Ajastusrünnak – rünnakud, mis põhinevad erinevate arvutuste (näiteks ründaja antud parooli võrdlemine ohvri tundmatu parooliga) tegemise aja mõõtmisel.
 Võimsuse jälgimise rünnak – rünnakud, mis kasutavad ära riistvara erinevat energiatarbimist arvutamise ajal.
 Elektromagnetiline rünnak – lekkinud elektromagnetkiirgusel põhinevad rünnakud, mis võivad otse anda lihttekste ja muud teavet.
 Akustiline krüptoanalüüs – rünnakud, mis kasutavad ära arvutuse ajal tekkivat heli (üsna sarnaselt võimsusanalüüsile).
 Diferentsiaalvea analüüs – kus saladusi avastatakse arvutustes vigade tekitamise teel.
 Andmete säilimine – mille puhul loetakse tundlikke andmeid pärast väidetavat kustutamist (nt külmkäivitus rünnak ).
 Valge nimekiri – rünnakud, mis põhinevad asjaolul, et valgesse nimekirja kantud seadmed käituvad valgesse nimekirja kantud (vastuseid tagasi saatvad) ja valgesse nimekirja mitte kantud (seadmetele üldse mitte vastavad) seadmetega suheldes erinevalt. Valgesse nimekirja kantud külgkanalit saab kasutada Bluetoothi MAC-aadresside jälgimiseks.
 Optiline – mille puhul saladusi ja tundlikke andmeid saab lugeda visuaalse salvestamise teel, kasutades kõrgresolutsiooniga kaamerat või muid seadmeid.

Kõigil juhtudel on aluspõhimõtteks, et krüptosüsteemi põhjustatud füüsilised efektid võivad anda kasulikku lisateavet süsteemi saladuste kohta, näiteks krüptograafiline võti, osaline olekuteave, täielikud või osalised tekstid jne.

 Näited 
Vahemälu rünnak jälgib tähtsaid turvalisuse operatsioone, nagu näiteks AES T-tabeli sisestust , modulaarset astendamist, korrutamist või mälule ligipääsemist.  Seejärel saab ründaja ohvri tehtud (või tegemata) juurdepääsude põhjal salajase võtme taastada, tuletades seeläbi krüpteerimisvõtme. Samuti, erinevalt mõnest teisest külgkanali rünnakust, ei loo see meetod käimasolevas krüptograafilises toimingus viga ja on ohvrile nähtamatu.

2017. aastal avastati kaks protsessori haavatavust (nimega Meltdown ja Spectre ), mis saavad vahemälupõhist külgkanalit kasutada nii, et ründaja saab ligi teiste protsesside ja operatsioonisüsteemi enda mälusisule.

Ajastusrünnakud jälgivad andmete liikumist protsessorisse või mällu. Lihtsalt krüptograafiliste toimingute tegemiseks kuluva aja variatsioonide jälgimise abil võib olla võimalik kindlaks teha kogu salajane võti.  Sellised rünnakud hõlmavad ajamõõtmiste statistilist analüüsi ja neid on isegi võrkudes demonstreeritud. 

Võimsusanalüüsi rünnak võib anda veelgi detailsemat teavet, jälgides riistvaraseadme, näiteks protsessori või krüptograafilise vooluringi energiatarbimist. Need rünnakud jagunevad laias laastus lihtsaks võimsusanalüüsiks (SPA) ja diferentsiaalvõimsuse analüüsiks (DPA). Üks näide on Collide+Power, mis mõjutab peaaegu kõiki protsessoreid.    Teistes näidetes kasutatakse masinõppe lähenemisviise. 

Voolu kõikumised tekitavad ka raadiolaineid, mis võimaldavad rünnakuid, mis analüüsivad elektromagnetiliste (EM) kiirguste mõõtmisi. Need rünnakud kasutavad tavaliselt sarnaseid statistilisi tehnikaid nagu võimsusanalüüsi rünnakud.

Süvaõppel põhinev külgkanali rünnak    kasutab mitme seadme võimsus- ja elektromagnetilist teavet. Sellel on potentsiaali murda erineva, kuid identse seadme salajane võti vaid ühe jäljega.

Tänapäevaste külgkanalirünnakute ajaloolised analoogid on teada. Hiljuti avalikustatud NSA dokument paljastab, et juba 1943. aastal täheldas Belli telefoni insener ostsilloskoobil dešifreeritavaid piike, mis olid seotud teatud krüpteeriva teletaibi dekrüpteeritud väljundiga.  Endise MI5 ohvitseri Peter Wrighti sõnul analüüsis Briti julgeolekuteenistus 1960. aastatel Prantsuse šifreerimisseadmete emissioone.  1980. aastatel kahtlustati NSVL KGB pealtkuulajaid IBM Selectric kirjutusmasinatesse lutikate paigaldamises, et jälgida trükikuuli pöörlemisel ja paberile löömisel tekkivat elektrilist müra. Nende signaalide omadused võisid määrata, millist klahvi vajutati.

Seadmete energiatarve põhjustab kuumenemist, mida kompenseerib jahutamine. Temperatuurimuutused tekitavad termiliselt põhjustatud mehaanilist pinget. See pinge võib tekitada töötavate protsessorite madalatasemelist akustilist emissiooni (umbes 10 kHz mõnel juhul). See on akustilise krüptoanalüüsi rünnak.

Optilise külgkanali rünnakuks on näiteks kõvaketta aktiivsuse indikaatorilt teabe hankimine või transistorite oleku muutumisel nende poolt kiiratavate footonite jälgimine  .

Samuti eksisteerivad jaotuspõhised kõrvalkanalid, mis viitavad teabele, mis lekib ressursi, näiteks võrgu ribalaiuse, jaotusest (mitte kasutamisest) klientidele, kes samaaegselt taotlevad konkureerivat ressurssi. 

 Vastumeetmed 
Külgkanalite rünnakute vastu võitlemiseks on kaks peamist meetmete kategooriat:

 Heitkoguste kõrvaldamine või vähendamine, mis hõlmab tahtmatu signaalide, näiteks elektromagnetkiirguse või ajastusvariatsioonide, minimeerimist, mida ründajad saaksid ära kasutada.
 Salajaste andmete teisendamiseks kasutatakse tavaliselt juhuslikkust, millega tagatakse, et krüptograafiline operatsioon ei lekita teavet, mida saaks seostada salajaste andmetega.

Esimese kategooria alla kuuluvad näiteks kuvarid, millel on elektromagnetilise kiirguse vähendamiseks spetsiaalne varjestus, mis vähendab vastuvõtlikkust TEMPEST- rünnakutele. Elektriliinide konditsioneerimine ja filtreerimine aitavad ära hoida energiatarbimise jälgimise rünnakuid, kuigi selliseid meetmeid tuleb kasutada ettevaatlikult, kuna isegi väga väikesed korrelatsioonid võivad püsida ja turvalisust kahjustada. Füüsilised korpused võivad vähendada mikrofonide (akustiliste rünnakute tõrjumiseks) ja muude mikroseireseadmete (protsessori energiatarbimise või termokaamerarünnakute vastu) salajase paigaldamise ohtu.

Teine vastumeede on turvaanalüüsi tarkvara kasutamine riistvara enda projekteerimisetappides teatud tüüpi külgkanalirünnakute tuvastamiseks. Ajastusrünnakud ja vahemälurünnakud on mõlemad tuvastatavad teatud kaubanduslikult saadaolevate turvaanalüüsi tarkvaraplatvormide kaudu, mis võimaldavad testida rünnaku haavatavuse tuvastamist ja arhitektuurilise muudatuse tõhusust haavatavuse vältimiseks.

Teise kategooria alla kuuluv vastumeede on näiteks kiiratava kanali müraga blokeerimine. Näiteks saab ajastusrünnakute ärahoidmiseks lisada juhusliku viivituse, kuigi vastased saavad neid viivitusi kompenseerida mitme mõõtmise keskmistamise abil (või üldisemalt rohkemate mõõtmiste abil analüüsis). Kui müra hulk külgkanalis suureneb, peab ründaja koguma rohkem mõõtmisi.

Ajastusrünnakute puhul, mis on suunatud sihtmärkide vastu, mille arvutusajad on kvantiseeritud diskreetseteks kellatsükliteks, on efektiivne vastumeede tarkvara kujundamine isokroonseks, st nii, et see töötab täpselt konstantse aja jooksul, sõltumata salajastest väärtustest. See muudab ajastusrünnakud võimatuks.  Selliseid vastumeetmeid võib praktikas olla keeruline rakendada, kuna isegi üksikute käskude ajastus võib mõnel protsessoril olla muutuv.

Üks osaline vastumeede lihtsate võimsusrünnakute, kuid mitte diferentsiaalse võimsusanalüüsi rünnakute vastu on tarkvara kujundamine nii, et see oleks "programmi loenduri turvamudelis" "arvutiturvaline". Arvutiturvalises programmis ei sõltu täitmisrada salajastest väärtustest. Teisisõnu, kõik tingimuslikud harud sõltuvad ainult avalikust teabest. (See on piiravam tingimus kui isokroonne kood, kuid vähem piirav tingimus kui harudeta kood.) Kuigi korrutusoperatsioonid tarbivad praktiliselt kõigil protsessoritel rohkem energiat kui NOP(operatsion, mis ei tee midagi), hoiab konstantne täitmisrada ära selliste operatsioonist sõltuvate võimsuserinevuste (võimsuserinevused ühe haru valimisel teise asemel) salajase teabe lekke.  Arhitektuurides, kus käsu täitmisaeg ei sõltu andmetest, on arvutiturvaline programm immuunne ka ajastusrünnakute suhtes.  

Teine viis, kuidas kood saab olla mitteisokroonne, on see, et tänapäevastel protsessoritel on vahemälu: harva kasutatavale teabele juurdepääs toob kaasa suure ajastuskaristuse, paljastades teavet mäluplokkide kasutussageduse kohta. Vahemälu rünnakute vastu võitlemiseks loodud krüptograafiline kood püüab mälu kasutada ainult prognoositaval viisil (näiteks pääseb juurde ainult sisend-, väljund- ja programmiandmetele ning teeb seda vastavalt fikseeritud mustrile). Näiteks tuleb vältida andmetest sõltuvaid tabeli otsinguid, sest vahemälu võib paljastada, millisele otsingutabeli osale juurde pääseti.

Mitmed "turvalised protsessorid" on ehitatud asünkroonsete protsessoritena ; neil puudub globaalne ajastusviide. Kuigi need protsessorid olid mõeldud ajastus- ja võimsusrünnakute keerulisemaks muutmiseks,  leidsid hilisemad uuringud, et asünkroonsete vooluringide ajastusvariatsioone on raskem eemaldada. 

Hiljuti kasutati valge kasti modelleerimist väikese üldkuluga vooluringi tasemel vastumeetme  väljatöötamiseks nii elektromagnetiliste kui ka toiteallika külgkanalite rünnakute vastu. Kõrgema taseme metallkihtide kui tõhusamate antennidena toimimise mõju minimeerimiseks integraallülituses "A Network-based Asynchronous Architecture for Cryptographic Devices"  by Ljiljana Spadavecchia 2005 in sections "3.2.3 Countermeasures", "3.4.2 Countermeasures", "3.5.6 Countermeasures", "3.5.7 Software countermeasures", "3.5.8 Hardware countermeasures", and "4.10 Side-channel analysis of asynchronous architectures". on idee manustada krüptosüdamikku signatuuri summutamise vooluring, "The Program Counter Security Model: Automatic Detection and Removal of Control-Flow Side Channel Attacks"  by David Molnar, Matt Piotrowski, David Schultz, David Wagner (2005).  mis suunatakse lokaalselt madalama taseme metallkihtidesse, mis tagab nii toiteallika kui ka elektromagnetilise külgkanali rünnaku immuunsuse.

 Vaata ka 

 Toore jõu rünnak
 Arvuti- ja võrgujärelevalve
 Salajane kanal
 Kõrvaltoime
 Juhtme andmed

 Viited 

 Lisalugemist 

 Raamatud 





 Artiklid 

 Differential Power Analysis, P. Kocher, J. Jaffe, B. Jun, ilmus ajakirjas CRYPTO'99.
 Külgkanali rünnak: masinõppel põhinev lähenemisviis, 2011, L Lerman, G Bontempi, O Markowitch.
 Sissejuhatus diferentsiaalvõimsuse analüüsi ja sellega seotud rünnakutesse, 1998, P. Kocher, J. Jaffe, B. Jun.
 Nist.gov, hoiatusmärkus AES-kandidaatide hindamise kohta kiipkaartidel, 1999, S. Chari, C. Jutla, J. R. Rao, P. Rohatgi
 DES ja diferentsiaalvõimsuse analüüs, L Goubin ja J Patarin, CHES'99 toimetistes, arvutiteaduse loengukonspektid nr 1717, Springer-Verlag




 Välised lingid 

 Sima, Mihai; Brisson, André (2015), Valge müra krüptimise rakendamine koos suurema vastupidavusega külgkanali rünnakute vastu.
 Brisson, André (2015), Victoria Ülikool, Briti Columbia, valge müra külgkanali rünnakukindluse uuring
 Uued külgkanali rünnakutehnikad
 COSADE töötuba Rahvusvaheline töötuba konstruktiivse külgkanali analüüsi ja turvalise disaini kohta

Kategooria:Krüptograafia
Kategooria:Küberrünnakud
Kategooria:Küberturvalisus