{"id":6352,"date":"2024-03-31T15:56:46","date_gmt":"2024-03-31T13:56:46","guid":{"rendered":"https:\/\/sajberinfo.com\/?p=6352"},"modified":"2024-03-31T15:56:46","modified_gmt":"2024-03-31T13:56:46","slug":"gofetch-apple-procesori-pod-napadom","status":"publish","type":"post","link":"https:\/\/sajberinfo.com\/en\/2024\/03\/31\/gofetch-apple-procesori-pod-napadom\/","title":{"rendered":"GoFetch: Apple procesori pod napadom"},"content":{"rendered":"<p><span style=\"font-size: 14pt;\"><em>Apple<\/em> procesori su pod napadom kori\u0161tenja sporednih karakteristika (eng. <em>side-channel<\/em>) pod nazivom <em>GoFetch<\/em> koji spadaju u kategoriju implementacijskih napada. Napad uti\u010de na <em>Apple<\/em> <em>M1<\/em>, <em>M2<\/em> i <em>M3<\/em> i mo\u017ee se koristiti za kra\u0111u tajnih <a href=\"https:\/\/sajberinfo.com\/en\/2022\/04\/22\/enkripcija-podataka-upravljanje-kljucevima-i-nedostaci-enkripcije-epizoda-3\/\" target=\"_blank\" rel=\"nofollow noopener\">kriptografskih klju\u010deva<\/a> iz podataka u ke\u0161u procesora.<\/span><\/p>\n<div id=\"attachment_6355\" style=\"width: 1034px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6355\" class=\"size-full wp-image-6355\" src=\"https:\/\/sajberinfo.com\/wp-content\/uploads\/2024\/03\/GoFetch.jpg\" alt=\"GoFetch attack\" width=\"1024\" height=\"1024\" srcset=\"https:\/\/sajberinfo.com\/wp-content\/uploads\/2024\/03\/GoFetch.jpg 1024w, https:\/\/sajberinfo.com\/wp-content\/uploads\/2024\/03\/GoFetch-300x300.jpg 300w, https:\/\/sajberinfo.com\/wp-content\/uploads\/2024\/03\/GoFetch-150x150.jpg 150w, https:\/\/sajberinfo.com\/wp-content\/uploads\/2024\/03\/GoFetch-768x768.jpg 768w, https:\/\/sajberinfo.com\/wp-content\/uploads\/2024\/03\/GoFetch-12x12.jpg 12w, https:\/\/sajberinfo.com\/wp-content\/uploads\/2024\/03\/GoFetch-80x80.jpg 80w, https:\/\/sajberinfo.com\/wp-content\/uploads\/2024\/03\/GoFetch-320x320.jpg 320w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><p id=\"caption-attachment-6355\" class=\"wp-caption-text\"><em>GoFetch: Apple procesori pod napadom; Source: Bing Image Creator<\/em><\/p><\/div>\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Sadr\u017eaj<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #ffffff;color:#ffffff\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #ffffff;color:#ffffff\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/sajberinfo.com\/en\/2024\/03\/31\/gofetch-apple-procesori-pod-napadom\/#NAPADI_KORISTENJA_SPOREDNIH_KARAKTERISTIKA\" >NAPADI KORI\u0160TENJA SPOREDNIH KARAKTERISTIKA<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/sajberinfo.com\/en\/2024\/03\/31\/gofetch-apple-procesori-pod-napadom\/#GOFETCH\" >GOFETCH<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/sajberinfo.com\/en\/2024\/03\/31\/gofetch-apple-procesori-pod-napadom\/#Funkcionisanje\" >Funkcionisanje<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/sajberinfo.com\/en\/2024\/03\/31\/gofetch-apple-procesori-pod-napadom\/#ZAKLJUCAK\" >ZAKLJU\u010cAK<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/sajberinfo.com\/en\/2024\/03\/31\/gofetch-apple-procesori-pod-napadom\/#UBLAZAVANJE_POSLJEDICA\" >UBLA\u017dAVANJE POSLJEDICA<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"NAPADI_KORISTENJA_SPOREDNIH_KARAKTERISTIKA\"><\/span><span style=\"font-size: 14pt;\"><strong>NAPADI KORI\u0160TENJA SPOREDNIH KARAKTERISTIKA<\/strong><\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-size: 14pt;\">Napadi kori\u0161tenja sporednih karakteristika (eng. <em>side-channel attacks<\/em>) su prikriveni oblik hakovanja koji cilja na fizi\u010dku implementaciju sistema, a ne na njegov algoritam ili k\u00f4d. Za razliku od tradicionalnih napada koji iskori\u0161\u0107avaju ranjivosti softvera, napadi kori\u0161tenja sporednih karakteristika iskori\u0161\u0107avaju nenamjerne informacije koje je ure\u0111aj procurio tokom svog rada. Ovo curenje se mo\u017ee manifestovati na razli\u010dite na\u010dine, kao \u0161to su varijacije u potro\u0161nji energije, vremenske razlike ili \u010dak elektromagnetno zra\u010denje.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">Napadi kori\u0161tenja sporednih karakteristika mogu imati ozbiljne posljedice, od ugro\u017eavanja li\u010dne privatnosti do finansijskih gubitaka, pa \u010dak i ugro\u017eavanja nacionalne bezbjednosti. Ovi napadi mogu uticati na pojedince i poslovne organizacije, \u0161to dovodi do <a href=\"https:\/\/sajberinfo.com\/en\/2023\/11\/07\/identity-theft\/\" target=\"_blank\" rel=\"nofollow noopener\">kra\u0111e identiteta<\/a>, finansijske prevare i \u0161tete po reputaciju. Tokom ovog napada, <a href=\"https:\/\/sajberinfo.com\/en\/2022\/03\/19\/hakeri-crni-sesiri-epizoda-3\/\" target=\"_blank\" rel=\"nofollow noopener\">napada\u010di<\/a> mogu do\u0107i u posjed osjetljivih informacija kao \u0161to su lozinke, li\u010dne fotografije ili podaci o lokaciji.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"GOFETCH\"><\/span><span style=\"font-size: 14pt;\"><strong><em>GOFETCH<\/em><\/strong><\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-size: 14pt;\"><em>GoFetch<\/em> napad je razvijen od strane tima sedam istra\u017eiva\u010da sa razli\u010ditih ameri\u010dkih univerziteta i prijavljen je kompaniji <em>Apple<\/em> 5. decembra 2023. godine. Napad omogu\u0107ava napada\u010dima da rekonstrui\u0161u privatne kriptografske klju\u010deve za razli\u010dite algoritme, uklju\u010duju\u0107i <em>OpenSSL Diffie-Hellman<\/em>, <em>Go RSA<\/em>, <em>CRYSTALS Kyber <\/em>i <em>Dilithium<\/em> direktno iz ke\u0161a procesora. <em>GoFetch<\/em> napad koristi slabost u kriptografskim implementacijama u realnom vremenu koje koriste alate za prethodno preuzimanje podataka (eng. <em>data memory-dependent<\/em> \u2013 <em>DMP<\/em>) koji su prisutni u modernim <em>Apple<\/em> <em>M1<\/em>, <em>M2<\/em> i <em>M3 <\/em>procesorima i <em>Intel Raptor Lake<\/em> procesorima 13. generacije. Me\u0111utim, <a href=\"https:\/\/sajberinfo.com\/en\/2022\/02\/27\/hakeri-eticki-hakeri-epizoda-2\/\" target=\"_blank\" rel=\"nofollow noopener\">istra\u017eiva\u010di<\/a> ka\u017eu da je <em>Intel<\/em> implementacija restriktivnija i spre\u010dava napad.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Funkcionisanje\"><\/span><span style=\"font-size: 14pt;\"><strong>Funkcionisanje<\/strong><\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><span style=\"font-size: 14pt;\"><em>GoFetch<\/em> napad cilja na mehanizam za prethodno preuzimanje podataka zavisnih od memorije, funkciju procesora dizajniranu da pobolj\u0161a performanse ure\u0111aja prilikom izvr\u0161avanja k\u00f4da. Mehanizam u\u010ditavanja unaprijed (eng. <em>prefetcher<\/em>) je obu\u010den prethodnim pristupima memoriji prilikom preuzimanja <a href=\"https:\/\/sajberinfo.com\/en\/2023\/04\/16\/podaci-uvod-epizoda-1\/\" target=\"_blank\" rel=\"nofollow noopener\">podataka<\/a>, omogu\u0107avaju\u0107i mu da predvidi koji \u0107e podaci biti sljede\u0107i potrebni ure\u0111aju. Ovi podaci se zatim unaprijed preuzimaju iz sporijih dijelova memorije u br\u017ee memorijske regione, kao \u0161to je ke\u0161 procesora. Ako je predvi\u0111anje ta\u010dno, podaci su onda brzo dostupni, pove\u0107avaju\u0107i performanse ure\u0111aja. Ako je pretpostavka bila pogre\u0161na, procesor jednostavno tra\u017ei ta\u010dne podatke kao i obi\u010dno.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">Napad se fokusira na <em>DMP<\/em> koji mo\u017ee da se obu\u010di za prethodni pristup memoriji, ali tako\u0111e mo\u017ee da ispita vrijednosti podataka u memoriji da bi odredio \u0161ta treba unaprijed preuzeti u ke\u0161 memoriju. Fokus napada je na kriptografskim implementacijama za koje je potrebno isto vreme da se izvr\u0161e bez obzira na unos, \u0161to je bezbjednosna mjera za spre\u010davanje curenja osjetljivih podataka. Me\u0111utim, sigurnosni istra\u017eiva\u010di su prona\u0161li da nedostatak u <em>Apple<\/em> <em>DMP <\/em>implementaciji.<\/span><\/p>\n<p>&nbsp;<\/p>\n<blockquote><p><span style=\"font-size: 14pt;\"><em>\u201cObrnuto smo konstruisali DMP-ove na Apple procesorima M serije otkrili da DMP aktivira (i poku\u0161ava da dereferencira) podatke u\u010ditane iz memorije koji izgledaju kao pokaziva\u010d. Ovo eksplicitno kr\u0161i zahtev paradigme programiranja u realnom vremenu, koja zabranjuje mije\u0161anje podataka i obrazaca pristupa memoriji.\u201d<\/em><\/span><\/p>\n<p style=\"text-align: right;\"><span style=\"font-size: 14pt;\"><em>\u00a0<\/em><\/span><span style=\"font-size: 14pt;\"><em>&#8211; <\/em><a href=\"https:\/\/gofetch.fail\/\" target=\"_blank\" rel=\"noopener\"><em>GoFetch summary<\/em><\/a><em> &#8211;<\/em><\/span><\/p>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 14pt;\">Napada\u010d mo\u017ee kreirati posebne ulaze koji dovode do toga da prethodno preuzimanje podataka dereferencira podatke, koji \u0107e se pojaviti kao pokaziva\u010di ako su odre\u0111eni bitovi tajnog klju\u010da ispravno pogo\u0111eni. Nakon tog se posmatra da li se <em>DMP<\/em> aktivira ili ne, postepeno zaklju\u010duju\u0107i bitove tajnog klju\u010da. Uz dovoljno ponavljanja procesa, cio tajni kriptografski klju\u010d se mo\u017ee rekonstruisati. Istra\u017eivanje je pokazalo da su <em>M1<\/em> podlo\u017ei ovom napadu, a uzimaju\u0107i u obzir da <em>M2<\/em> i <em>M3<\/em> procesori imaju sli\u010dno pona\u0161anje pri prethodnom preuzimanju podataka, vjerovatno je da su i oni ranjivi.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">Za pokretanje <em>GoFetch<\/em> napada, napada\u010du nije potreban fizi\u010dki pristup ure\u0111aju, tako da napada\u010d mo\u017ee pokrenuti k\u00f4d na ure\u0111aju putem <a href=\"https:\/\/sajberinfo.com\/en\/2021\/09\/26\/malware\/\" target=\"_blank\" rel=\"nofollow noopener\">zlonamjernog softvera<\/a> ili na neki drugi na\u010din, a on se mo\u017ee izvr\u0161iti daljinski. Vi\u0161e detalja se mo\u017ee na\u0107i u tehni\u010dkom dokumentu koji su objavili istra\u017eiva\u010di <a href=\"https:\/\/gofetch.fail\/files\/gofetch.pdf\" target=\"_blank\" rel=\"noopener\">ovdje<\/a>.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"ZAKLJUCAK\"><\/span><span style=\"font-size: 14pt;\"><strong>ZAKLJU\u010cAK<\/strong><\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-size: 14pt;\">Nikada nije dobro kada funkcija koja je namijenjena za pove\u0107anje performansi mora onemogu\u0107iti, jer stvara sigurnosni rizik propu\u0161taju\u0107i potencijalno osjetljive podatke. Me\u0111utim, jo\u0161 je gore kada se ta funkcija ne mo\u017ee onemogu\u0107iti. Jedino rije\u0161enje je da se onemogu\u0107i pristup <em>DMP<\/em> alatu osjetljivim podacima kad god se \u010duvaju ili u\u010ditavaju iz memorije, ali istra\u017eivanje pokazuje da to zahtjeva veliku ispravku k\u00f4da i smanjenje performansi u nekim slu\u010dajevima.<\/span><\/p>\n<p><span style=\"font-size: 14pt;\">Po\u0161to <em>GoFetch<\/em> napad ne zahteva fizi\u010dki pristup za eksploataciju, napada\u010d koji dobije pristup ure\u0111aju na bilo koji na\u010din, mo\u017ee pokrenuti daljinsko izvr\u0161avanje k\u00f4da i iskoristiti ovu ranjivost. Preventivne mjere protiv ovakvih napada su veoma ograni\u010dene po\u0161to je rije\u010d o samom dizajnu hardvera, a dostupna softverska rije\u0161enja mogu drasti\u010dno smanjiti performanse sistema. Najefikasnije rje\u0161enje bi bilo da se zamjeni procesor, me\u0111utim to nije ni prakti\u010dno ni ekonomski izvodljivo za ve\u0107inu korisnika.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"UBLAZAVANJE_POSLJEDICA\"><\/span><span style=\"font-size: 14pt;\"><strong>UBLA\u017dAVANJE<\/strong> <strong>POSLJEDICA<\/strong><\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-size: 14pt;\">Vlasnicima <em>Apple<\/em> ure\u0111aja se preporu\u010duje da budu oprezni kada je u pitanju <em>GoFetch<\/em> napad i da koriste najnovije verzije softvera uz redovna a\u017euriranja. Iako je mogu\u0107e onemogu\u0107iti <em>DMP<\/em> na odre\u0111enim procesorima kao \u0161to je <em>M3<\/em> kako bi se ubla\u017eio rizik, ova mogu\u0107nost nije dostupna na <em>M1<\/em> i <em>M2<\/em> procesorima. Na <em>M3<\/em> procesorima je utvr\u0111eno da omogu\u0107avanje opcije <em>data-independent timing \u2013 DIT<\/em> onemogu\u0107ava <em>DMP, <\/em>\u0161to nije moguc\u0301e na <em>M1<\/em> i <em>M2<\/em> procesorima.<\/span><\/p>\n<p>&nbsp;<\/p>\n<blockquote><p><span style=\"font-size: 14pt;\"><em>\u201cApple procesor obezbje\u0111uje vremenski nezavisne podatke (DIT), u kome procesor ispunjava odre\u0111ene instrukcije u konstantnom vremenskom periodu. Kada je DIT omogu\u0107en, procesor koristi du\u017ee, najgore vreme za zavr\u0161etak instrukcije, bez obzira na ulazne podatke.\u201d<\/em><\/span><\/p>\n<p style=\"text-align: right;\"><span style=\"font-size: 14pt;\"><em>\u00a0<\/em><\/span><span style=\"font-size: 14pt;\"><em>&#8211; <\/em><a href=\"https:\/\/developer.apple.com\/documentation\/xcode\/writing-arm64-code-for-apple-platforms#Enable-DIT-for-constant-time-cryptographic-operations\" target=\"_blank\" rel=\"noopener\"><em>Apple documentation<\/em><\/a><em> &#8211;<\/em><\/span><\/p>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 14pt;\">Kao proaktivnu mjeru, programerima se savjetuje da implementiraju odbrambene mehanizme kao \u0161to su zasljepljivanje unosa i maskiranje <em>DMP<\/em> aktivacije kako bi se prikrili rezultati unosa napada\u010da. Me\u0111utim, sve potencijalne softverske ispravke kompanije <em>Apple<\/em> za rje\u0161avanje ranjivosti mogu do\u0107i po cijenu performansi, kao \u0161to je primije\u0107eno kod prethodnih ubla\u017eavanja napada kori\u0161tenja sporednih karakteristika.<\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>Apple procesori su pod napadom kori\u0161tenja sporednih karakteristika (eng. side-channel) pod nazivom GoFetch koji spadaju u kategoriju implementacijskih napada. Napad uti\u010de na Apple M1, M2 i M3 i mo\u017ee se koristiti za kra\u0111u tajnih&#46;&#46;&#46;<\/p>","protected":false},"author":1,"featured_media":6355,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[323,930,933,934,926,927,928,929,935,932,931],"class_list":["post-6352","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hronike","tag-apple","tag-cpu","tag-data-memory-dependent","tag-dmp","tag-gofetch","tag-m1","tag-m2","tag-m3","tag-prefetcher","tag-processors","tag-side-channel-attacks"],"_links":{"self":[{"href":"https:\/\/sajberinfo.com\/en\/wp-json\/wp\/v2\/posts\/6352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sajberinfo.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sajberinfo.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sajberinfo.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sajberinfo.com\/en\/wp-json\/wp\/v2\/comments?post=6352"}],"version-history":[{"count":0,"href":"https:\/\/sajberinfo.com\/en\/wp-json\/wp\/v2\/posts\/6352\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sajberinfo.com\/en\/wp-json\/wp\/v2\/media\/6355"}],"wp:attachment":[{"href":"https:\/\/sajberinfo.com\/en\/wp-json\/wp\/v2\/media?parent=6352"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sajberinfo.com\/en\/wp-json\/wp\/v2\/categories?post=6352"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sajberinfo.com\/en\/wp-json\/wp\/v2\/tags?post=6352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}