Mine sisu juurde

Külgkanali rünnak

Allikas: Vikipeedia
Katse RSA võtmebittide dekodeerimiseks võimsusanalüüsi abil. Vasak impulss esindab protsessori võimsuse muutusi algoritmi etapis ilma korrutamiseta, laiem parem impulss – etappi korrutamisega, mis võimaldab ründajal lugeda bitte 0 ja 1.

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. [1]

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.

Vahemälu rünnak jälgib tähtsaid turvalisuse operatsioone, nagu näiteks AES T-tabeli sisestust [2][3][4], 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. [5] Sellised rünnakud hõlmavad ajamõõtmiste statistilist analüüsi ja neid on isegi võrkudes demonstreeritud. [6]

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. [7] [8] [9] Teistes näidetes kasutatakse masinõppe lähenemisviise. [10]

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 [11] [12] [13] 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. [14] 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 [15] .

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. [16]

Vastumeetmed

[muuda | muuda lähteteksti]

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

  1. 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.
  2. 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.[17]

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. [18] 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. [19]

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. [20]

Hiljuti kasutati valge kasti modelleerimist väikese üldkuluga vooluringi tasemel vastumeetme [21] 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 [22] on idee manustada krüptosüdamikku signatuuri summutamise vooluring, [23] [24] mis suunatakse lokaalselt madalama taseme metallkihtidesse, mis tagab nii toiteallika kui ka elektromagnetilise külgkanali rünnaku immuunsuse.

  1. Shuo Chen; Rui Wang; XiaoFeng Wang & Kehuan Zhang (mai 2010). "Side-Channel Leaks in Web Applications: a Reality Today, a Challenge Tomorrow" (PDF). Microsoft Research. IEEE Symposium on Security & Privacy 2010. Originaali arhiivikoopia (PDF) seisuga 17. juuni 2016. Vaadatud 6. jaanuaril 2026.
  2. Ashokkumar C.; Ravi Prakash Giri; Bernard Menezes (2016). "Highly Efficient Algorithms for AES Key Retrieval in Cache Access Attacks". 2016 IEEE European Symposium on Security and Privacy (EuroS&P). Lk 261–275. DOI:10.1109/EuroSP.2016.29. ISBN 978-1-5090-1751-5. S2CID 11251391.
  3. Gorka Irazoqui; Mehmet Sinan Inci; Thomas Eisenbarth; Berk Sunar, Wait a minute! A fast, Cross-VM attack on AES (PDF), originaali arhiivikoopia (PDF) seisuga 11. august 2017, vaadatud 6. jaanuaril 2026
  4. Yuval Yarom; Katrina Falkner, Flush+Reload: a High Resolution, Low Noise, L3 Cache Side-Channel Attack (PDF), originaali arhiivikoopia (PDF) seisuga 5. juuli 2017, vaadatud 6. jaanuaril 2026
  5. Mehmet S. Inci; Berk Gulmezoglu; Gorka Irazoqui; Thomas Eisenbarth; Berk Sunar, Cache Attacks Enable Bulk Key Recovery on the Cloud (PDF), originaali arhiivikoopia (PDF) seisuga 17. juuli 2016, vaadatud 6. jaanuaril 2026
  6. Kocher, Paul C. (1996). "Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems". Koblitz, Neal (toim). Advances in Cryptology — CRYPTO '96. Lecture Notes in Computer Science (inglise). Kd 1109. Berlin, Heidelberg: Springer. Lk 104–113. DOI:10.1007/3-540-68697-5_9. ISBN 978-3-540-68697-2.
  7. David Brumley; Dan Boneh (2003). "Remote timing attacks are practical" (PDF). Originaali arhiivikoopia (PDF) seisuga 28. juuli 2011. Vaadatud 6. jaanuaril 2026.
  8. Kovacs, Eduard (1. august 2023). "Nearly All Modern CPUs Leak Data to New Collide+Power Side-Channel Attack". SecurityWeek (Ameerika inglise). Originaali arhiivikoopia seisuga 11. juuli 2024. Vaadatud 6. jaanuaril 2026.
  9. Claburn, Thomas. "Another CPU data-leak flaw found. Luckily, it's impractical". www.theregister.com (inglise). Vaadatud 6. jaanuaril 2026.
  10. Collide+Power, Institute of Applied Information Processing and Communications (IAIK), 1. august 2023, originaali arhiivikoopia seisuga 1. august 2023, vaadatud 6. jaanuaril 2026
  11. Lerman, Liran; Bontempi, Gianluca; Markowitch, Olivier (1. jaanuar 2014). "Power analysis attack: an approach based on machine learning". International Journal of Applied Cryptography. 3 (2): 97–115. DOI:10.1504/IJACT.2014.062722. ISSN 1753-0563. Originaali arhiivikoopia seisuga 25. jaanuar 2021. Vaadatud 6. jaanuaril 2026.
  12. Timon, Benjamin (28. veebruar 2019). "Non-Profiled Deep Learning-based Side-Channel attacks with Sensitivity Analysis". IACR Transactions on Cryptographic Hardware and Embedded Systems: 107–131. DOI:10.13154/tches.v2019.i2.107-131. ISSN 2569-2925. S2CID 4052139. Originaali arhiivikoopia seisuga 12. november 2021. Vaadatud 6. jaanuaril 2026.
  13. "X-DeepSCA: Cross-Device Deep Learning Side Channel Attack". Juuni 2019. Lk 1–6. Vaadatud 6. jaanuaril 2026.
  14. Golder, Anupam; Das, Debayan; Danial, Josef; Ghosh, Santosh; Sen, Shreyas; Raychowdhury, Arijit (2019). "Practical Approaches Toward Deep-Learning-Based Cross-Device Power Side-Channel Attack". IEEE Transactions on Very Large Scale Integration (VLSI) Systems. 27 (12): 2720–2733. arXiv:1907.02674. Bibcode:2019ITVL...27.2720G. DOI:10.1109/TVLSI.2019.2926324.
  15. "Declassified NSA document reveals the secret history of TEMPEST". Wired. Wired.com. 29. aprill 2008. Originaali arhiivikoopia seisuga 1. mai 2008. Vaadatud 6. jaanuaril 2026.
  16. "An Introduction to TEMPEST | SANS Institute". Originaali arhiivikoopia seisuga 5. september 2017. Vaadatud 6. jaanuaril 2026.
  17. Church, George (20. aprill 1987). "The Art of High-Tech Snooping". Time. Originaali arhiivikoopia seisuga 4. juuni 2011. Vaadatud 6. jaanuaril 2026.
  18. Eduard Kovacs (23. veebruar 2017), "Hard Drive LED Allows Data Theft From Air-Gapped PCs", Security Week, originaali arhiivikoopia seisuga 7. oktoober 2017, vaadatud 6. jaanuaril 2026
  19. J. Ferrigno; M. Hlaváč (september 2008). "When AES blinks: introducing optical side channel". IET Information Security. 2 (3): 94–98. DOI:10.1049/iet-ifs:20080038. Originaali arhiivikoopia seisuga 11. jaanuar 2018. Vaadatud 6. jaanuaril 2026.
  20. Angel, Sebastian; Kannan, Sampath; Ratliff, Zachary (2020). "Private resource allocators and their applications". 2020 IEEE Symposium on Security and Privacy (SP) (PDF). Lk 372–391. DOI:10.1109/SP40000.2020.00065. ISBN 978-1-7281-3497-0. Originaali (PDF) arhiivikoopia seisuga 24. juuni 2020.
  21. Tortuga Logic (2018). "Identifying Isolation Issues in Modern Microprocessor Architectures". Originaali arhiivikoopia seisuga 24. veebruar 2018. Vaadatud 6. jaanuaril 2026.
  22. "A Network-based Asynchronous Architecture for Cryptographic Devices" Mall:Webarchive 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".
  23. "The Program Counter Security Model: Automatic Detection and Removal of Control-Flow Side Channel Attacks" Mall:Webarchive by David Molnar, Matt Piotrowski, David Schultz, David Wagner (2005).
  24. ""The Program Counter Security Model: Automatic Detection and Removal of Control-Flow Side Channel Attacks" USENIX Work-in-Progress presentation of paper" (PDF). Originaali arhiivikoopia (PDF) seisuga 14. august 2017. Vaadatud 6. jaanuaril 2026.

Lisalugemist

[muuda | muuda lähteteksti]

Välised lingid

[muuda | muuda lähteteksti]