{"id":10936,"date":"2022-08-19T12:17:43","date_gmt":"2022-08-19T09:17:43","guid":{"rendered":"https:\/\/www.kaspersky.com.tr\/blog\/?p=10936"},"modified":"2022-08-19T12:17:43","modified_gmt":"2022-08-19T09:17:43","slug":"retbleed-vulnerability","status":"publish","type":"post","link":"https:\/\/www.kaspersky.com.tr\/blog\/retbleed-vulnerability\/10936\/","title":{"rendered":"Retbleed sald\u0131r\u0131s\u0131 ya da Spectre&#8217;nin d\u00f6n\u00fc\u015f\u00fc"},"content":{"rendered":"<p>Temmuz ay\u0131n\u0131n ortalar\u0131nda Z\u00fcrih\u2019teki \u0130svi\u00e7re Federal Teknoloji Enstit\u00fcs\u00fc ara\u015ft\u0131rmac\u0131lar\u0131, modern i\u015flemcilerdeki g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 (ya da \u00f6zellikleri) k\u00f6t\u00fcye kullanan yeni bir sald\u0131r\u0131y\u0131 anlatan bir \u00e7al\u0131\u015fma <a href=\"https:\/\/comsec.ethz.ch\/research\/microarch\/retbleed\/\" target=\"_blank\" rel=\"noopener nofollow\">yay\u0131nlad\u0131<\/a>. Sald\u0131r\u0131ya Retbleed ad\u0131 verildi. Bu isim, belirli bir t\u00fcr Spectre sald\u0131r\u0131s\u0131na kar\u015f\u0131 bir savunma y\u00f6ntemi olan <a href=\"https:\/\/support.google.com\/faqs\/answer\/7625886\" target=\"_blank\" rel=\"noopener nofollow\">Retpoline<\/a>\u2018den geliyordu. Yazarlar temelde eskiden Spectre\u2019nin ikinci varyant\u0131na kar\u015f\u0131 etkili bir koruma oldu\u011fu d\u00fc\u015f\u00fcn\u00fclen program derleme tekni\u011finin yaln\u0131zca ara s\u0131ra \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, bazense hi\u00e7 \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 g\u00f6stermi\u015f oldu. \u0130\u015flemcilerdeki donan\u0131m g\u00fcvenlik a\u00e7\u0131klar\u0131 hakk\u0131ndaki t\u00fcm di\u011fer ara\u015ft\u0131rmalar gibi bu ara\u015ft\u0131rma da olduk\u00e7a karma\u015f\u0131k. Her zaman yapt\u0131\u011f\u0131m\u0131z gibi bu yaz\u0131da da ilgili bilimsel makalelerin labirentinde kaybolmadan sonu\u00e7lar\u0131 basit bir dille anlatmaya \u00e7al\u0131\u015faca\u011f\u0131z. Baz\u0131 temel arkaplan bilgileriyle ba\u015flayal\u0131m.<\/p>\n<h2>Spectre v2 nedir? Dallanma \u00f6ng\u00f6r\u00fcs\u00fcnden bahsedelim<\/h2>\n<p>D\u00f6rt y\u0131ldan daha uzun bir s\u00fcre \u00f6nce, 2018\u2019in ba\u015flar\u0131nda, Spectre ve Meltdown g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 <a href=\"https:\/\/meltdownattack.com\/\" target=\"_blank\" rel=\"noopener nofollow\">anlatan<\/a> iki ara\u015ft\u0131rma makalesi yay\u0131nland\u0131. Bunlar donan\u0131m g\u00fcvenlik a\u00e7\u0131klar\u0131yd\u0131, yani i\u015flemcilerin \u00e7al\u0131\u015fma bi\u00e7imi dolay\u0131s\u0131yla potansiyel bir veri h\u0131rs\u0131zl\u0131\u011f\u0131 sald\u0131r\u0131s\u0131 m\u00fcmk\u00fcn hale geliyordu. O g\u00fcnden bu yana Spectre\u2019nin <a href=\"https:\/\/www.kaspersky.com.tr\/blog\/spectre-meltdown-in-practice\/10485\/\" target=\"_blank\" rel=\"noopener\">bir\u00e7ok<\/a> varyant\u0131 daha ke\u015ffedildi. Ara\u015ft\u0131rmac\u0131lar ortak bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 s\u0131n\u0131f\u0131na sald\u0131rman\u0131n, sald\u0131r\u0131 i\u00e7in i\u015flemcinin \u201cdallanma \u00f6ng\u00f6r\u00fcs\u00fc\u201d denen varsay\u0131lan i\u015flevini kullanmak gibi ba\u015fka yollar\u0131n\u0131 da buldu.<\/p>\n<p>Dallanma \u00f6ng\u00f6r\u00fcs\u00fc ve talimatlar\u0131n spek\u00fclatif y\u00fcr\u00fct\u00fclmesi, i\u015flemci performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde geli\u015ftirmeye yard\u0131mc\u0131 olur. T\u00fcm programlarda ileriki a\u015famalar\u0131n y\u00fcr\u00fct\u00fclmesi \u00e7o\u011funlukla \u00f6nceki hesaplamalar\u0131n sonucuna ba\u011fl\u0131d\u0131r. En basit \u00f6rnek olarak kullan\u0131c\u0131n\u0131n baz\u0131 gizli verilere eri\u015fmek i\u00e7in bir parola girmesini g\u00f6sterebiliriz. Parola do\u011fruysa veriler kullan\u0131c\u0131ya g\u00f6sterilir. Parola yanl\u0131\u015fsa kullan\u0131c\u0131dan tekrar denemesi istenir. Basit CPU talimatlar\u0131 d\u00fczeyinde bu kabaca RAM\u2019deki belirli verilere eri\u015fim haklar\u0131n\u0131n kontrol edilmesine kar\u015f\u0131l\u0131k gelir: Gerekli haklar do\u011frulan\u0131rsa veriye eri\u015fim verilir, do\u011frulanmazsa eri\u015fim reddedilir.<\/p>\n<p>\u0130\u015flemci bu t\u00fcr operasyonlardan saniyede milyarlarcas\u0131n\u0131 ger\u00e7ekle\u015ftirir ve belirli bir ko\u015ful kontrol edilirken \u00e7o\u011funlukla bo\u015fta kal\u0131r (\u00e7ok geni\u015f anlamda konu\u015fursak kullan\u0131c\u0131n\u0131n parola girmesini veya eri\u015fim haklar\u0131n\u0131n kontrol edilmesini beklerken). Peki ya bo\u015fta kal\u0131nan bu zaman\u0131, yap\u0131lan kontrol\u00fcn en olas\u0131 sonucunun ard\u0131ndan yap\u0131lan hesaplamalar\u0131 \u00f6nceden yapmak i\u00e7in kullan\u0131rsak? B\u00f6ylelikle varsay\u0131msal kullan\u0131c\u0131m\u0131z varsay\u0131msal parolas\u0131n\u0131 girdi\u011finde hesaplama sonucu haz\u0131r olur ve kullan\u0131c\u0131 gizli verilere daha h\u0131zl\u0131 ula\u015fabilir.<\/p>\n<p>Peki kodunuzun hangi k\u0131sm\u0131n\u0131n y\u00fcr\u00fct\u00fclme olas\u0131l\u0131\u011f\u0131n\u0131n en y\u00fcksek oldu\u011funu nereden bileceksiniz? Elbette benzer talimatlar\u0131n \u00f6nceki y\u00fcr\u00fct\u00fclme istatistiklerinden! E\u011fer kullan\u0131c\u0131m\u0131z, (l\u00fctfen bunun tamamen teorik ve a\u015f\u0131r\u0131 derecede basitle\u015ftirilmi\u015f bir \u00f6rnek oldu\u011funu unutmay\u0131n) on seferin dokuzunda do\u011fru parolay\u0131 girdiyse gizli verileri \u00f6nden haz\u0131rlayabiliriz. Parola yanl\u0131\u015fsa sadece sonu\u00e7lar\u0131 g\u00f6stermekten vazge\u00e7eriz ve biraz daha uzun s\u00fcrecek olsa da bir hata mesaj\u0131 g\u00f6r\u00fcnt\u00fcleriz.<\/p>\n<p>2018\u2019de yay\u0131nlanan makalenin yazarlar\u0131 Spectre sald\u0131r\u0131s\u0131n\u0131n iki varyant\u0131ndan bahsediyordu. Dal Hedefi Ekleme olarak da bilinen \u0130kinci Varyant, dallanma \u00f6ng\u00f6r\u00fcs\u00fcn\u00fc, ihtiya\u00e7 duydu\u011fumuz talimatlar\u0131 yerine getirecek \u015fekilde e\u011fitiyordu, yani sald\u0131rgan\u0131n eri\u015fmemesi gereken verileri okuyabilmesini sa\u011fl\u0131yordu. Evet, ard\u0131ndan bu hesaplamalar at\u0131l\u0131yordu, ancak sonu\u00e7lar\u0131 (son derece hassas veriler) ge\u00e7ici olarak \u00f6nbellekte saklan\u0131yordu ve buradan \u00e7al\u0131nabiliyorlard\u0131.<\/p>\n<p>Bu \u00e7ok karma\u015f\u0131k bir sald\u0131r\u0131. \u00d6ncelikle sald\u0131rgan\u0131n, istenen ayr\u0131cal\u0131klara sahip olmasa da, yani hassas verilere eri\u015femese de, sald\u0131r\u0131 alt\u0131ndaki sistemde kod y\u00fcr\u00fctebiliyor olmas\u0131 gerekiyor. Bunun i\u00e7in \u00f6rne\u011fin bir kullan\u0131c\u0131, taray\u0131c\u0131s\u0131nda k\u00f6t\u00fc ama\u00e7l\u0131 kod i\u00e7eren bir web sayfas\u0131n\u0131 a\u00e7maya ikna edilebilir. \u0130kinci olarak sald\u0131rgan\u0131n hedef sistemde sald\u0131r\u0131ya uygun kodu i\u00e7eren bir yaz\u0131l\u0131ma ihtiyac\u0131 var. Ara\u015ft\u0131rmac\u0131 jargonunda buna \u201cgadget\u201d deniyor. Sald\u0131r\u0131 kodu, dallanma \u00f6ng\u00f6r\u00fcs\u00fc sistemini bu gadget\u2019\u0131 spek\u00fclatif olarak y\u00fcr\u00fctecek \u015fekilde e\u011fitiyor. B\u00f6ylelikle gadget, bellekte sald\u0131rgan\u0131n eri\u015femedi\u011fi bir b\u00f6lgeye eri\u015febiliyor. CPU \u00f6nbelle\u011findeki gizli veriler, yan kanaldan okunarak son derece yava\u015f bir \u015fekilde (saniyede onlarca bit h\u0131z\u0131nda) s\u0131zd\u0131r\u0131labiliyor.<\/p>\n<p>Daha da basit anlatmaya \u00e7al\u0131\u015fal\u0131m. \u0130\u015flemcinin yerle\u015fik dallanma \u00f6ng\u00f6r\u00fcs\u00fc sistemi farkl\u0131 programlardan gelen talimatlar\u0131 ay\u0131rmaz ve i\u015flemcinin y\u00fcr\u00fctmemesi gereken bir talimat\u0131 spek\u00fclatif olarak y\u00fcr\u00fctmesini sa\u011flamak i\u00e7in tek bir program kullan\u0131labilir. Yaz\u0131l\u0131mlar hi\u00e7bir ko\u015fulda i\u015flemcinin \u00f6nbelle\u011findeki verilere do\u011frudan eri\u015femedi\u011fi i\u00e7in daha \u00f6nceleri bu durum bir sorun gibi g\u00f6r\u00fcnm\u00fcyordu. Ancak sonradan yan kanallar\u0131n okunmas\u0131yla veri s\u0131zd\u0131r\u0131labilece\u011fi ortaya \u00e7\u0131kt\u0131 (bu, yaln\u0131zca okunan taleplere verilen yan\u0131tlar\u0131n h\u0131z\u0131yla ilgili bilgilere dayal\u0131 olarak verilerin yeniden in\u015fa edildi\u011fi \u00e7ok karma\u015f\u0131k bir mekanizma).<\/p>\n<h2>Bir dakika. Spectre 2018\u2019de ke\u015ffedildi. Herhalde \u015fimdiye kadar yamalam\u0131\u015flard\u0131r, de\u011fil mi?<\/h2>\n<p>Donan\u0131m g\u00fcvenlik a\u00e7\u0131klar\u0131nda bu o kadar kolay de\u011fil. Birincisi ve en \u00f6nemlisi, bu \u00e7ok basitle\u015ftirilmi\u015f a\u00e7\u0131klamadan bile anla\u015f\u0131labilece\u011fi gibi, g\u00fcvenlik a\u00e7\u0131\u011f\u0131 donan\u0131m tabanl\u0131 da olsa k\u00f6t\u00fcye kullan\u0131labilmesi i\u00e7in yaz\u0131l\u0131mda da belirli ko\u015fullar\u0131n bulunmas\u0131 gerekiyor. \u00d6yleyse neden sadece yaz\u0131l\u0131m i\u00e7in yama yay\u0131nlamas\u0131n? Bu, donan\u0131m\u0131 y\u00fckseltmekten \u00e7ok daha kolay bir yol. Ayr\u0131ca mikrokod g\u00fcncellemeleriyle i\u015flemcilerdeki g\u00fcvenlik a\u00e7\u0131\u011f\u0131n\u0131 da k\u0131smen onarmak m\u00fcmk\u00fcn. Ancak kesin sonu\u00e7 yaln\u0131zca de\u011fi\u015ftirilmi\u015f donan\u0131ma sahip yeni i\u015flemcilerin \u00e7\u0131kar\u0131lmas\u0131nda yat\u0131yor. Bu s\u0131rada eski modeller tamamen veya k\u0131smen tehdide a\u00e7\u0131k halde kal\u0131yor.<\/p>\n<p>Retbleed ara\u015ft\u0131rmas\u0131 ba\u011flam\u0131nda \u00e7ok \u00f6nemli ba\u015fka bir soru daha var. Bir yaz\u0131l\u0131m ya da donan\u0131m yamas\u0131n\u0131n maliyeti ne olur? Spectre\u2019yi \u201ckapatman\u0131n\u201d her yolu performans\u0131 d\u00fc\u015f\u00fcr\u00fcyor. \u00d6rne\u011fin, \u00e7ok a\u00e7\u0131k olan Dolayl\u0131 Dal K\u0131s\u0131tl\u0131 Spek\u00fclasyon (IBRS) sistemi spek\u00fclatif kod y\u00fcr\u00fctme s\u0131ras\u0131nda ilave izin kontrolleri getirerek d\u00fc\u015f\u00fck ayr\u0131cal\u0131kl\u0131 programlar\u0131n \u00e7ok hassas verilere eri\u015fmesini \u00f6nl\u00fcyor ve bir Spectre sald\u0131r\u0131s\u0131n\u0131 imkans\u0131z hale getiriyor. Fakat bu kontrollerden y\u00fcz binlercesi veya milyonlarcas\u0131 ger\u00e7ekle\u015fti\u011finde CPU performans\u0131 ister istemez d\u00fc\u015f\u00fcyor. Peki ne kadar d\u00fc\u015f\u00fcyor? Spectre\u2019ye y\u00f6nelik \u00e7e\u015fitli bir dizi yaman\u0131n bir sistemde %25\u2019e kadar performans d\u00fc\u015f\u00fc\u015f\u00fcne yol a\u00e7t\u0131\u011f\u0131n\u0131 g\u00f6steren <a href=\"https:\/\/www.phoronix.com\/scan.php?page=article&amp;item=3-years-specmelt&amp;num=1\" target=\"_blank\" rel=\"noopener nofollow\">ara\u015ft\u0131rmalar<\/a> var.<\/p>\n<p>Bu noktada Spectre\u2019ye kar\u015f\u0131 Google m\u00fchendisleri taraf\u0131ndan ortaya at\u0131lan ve yaz\u0131l\u0131m derlemesi s\u0131ras\u0131nda kullan\u0131lan g\u00f6rece basit bir koruma y\u00f6ntemi olan <a href=\"https:\/\/support.google.com\/faqs\/answer\/7625886\" target=\"_blank\" rel=\"noopener nofollow\">Retpoline<\/a> devreye giriyor. Y\u00f6ntemin yazarlar\u0131 taraf\u0131ndan ileri s\u00fcr\u00fcld\u00fc\u011f\u00fc \u00fczere, tipik dallanma durumlar\u0131nda baz\u0131 talimatlar\u0131 ba\u015fka talimatlarla de\u011fi\u015ftirmek yaz\u0131l\u0131m\u0131n \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 etkilemese de bir Spectre sald\u0131r\u0131s\u0131n\u0131 imkans\u0131z hale getiriyor. Retpoline\u2019in IBRS\u2019e ve di\u011fer koruma y\u00f6ntemlerine g\u00f6re \u00f6nemli bir avantaj\u0131, performans\u0131n %5\u2019ten fazla d\u00fc\u015fmemesi.<\/p>\n<h2>Retbleed \u00e7al\u0131\u015fmas\u0131 neyi g\u00f6sterdi?<\/h2>\n<p>Temelde bu yeni ara\u015ft\u0131rma Retpoline\u2019in i\u015fe yaramad\u0131\u011f\u0131n\u0131 g\u00f6sterdi! Retpoline y\u00f6nteminin bel ba\u011flad\u0131\u011f\u0131 geri d\u00f6nen talimatlar da biraz de\u011fi\u015ftirilmi\u015f bir \u015fekilde dallanma \u00f6ng\u00f6r\u00fcs\u00fcn\u00fc kand\u0131rmak (veya k\u00f6t\u00fc ama\u00e7l\u0131 olarak e\u011fitmek) i\u00e7in k\u00f6t\u00fcye kullan\u0131labiliyor. Yazarlar sald\u0131r\u0131y\u0131 g\u00f6steren bir video bile kaydetmi\u015f:<\/p>\n<p><span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe class=\"youtube-player\" type=\"text\/html\" width=\"640\" height=\"390\" src=\"https:\/\/www.youtube.com\/embed\/dmSPvJxPm80?version=3&amp;rel=1&amp;fs=1&amp;showsearch=0&amp;showinfo=1&amp;iv_load_policy=1&amp;wmode=transparent\" frameborder=\"0\" allowfullscreen=\"true\"><\/iframe><\/span><\/p>\n<p>Linux tabanl\u0131 bir sistemdeki Retbleed sald\u0131r\u0131s\u0131 demosu.<\/p>\n<p>Bu video, karma bir s\u00fcper kullan\u0131c\u0131 parolas\u0131n\u0131n nas\u0131l bu t\u00fcr verilere eri\u015fimi olmayan bir program taraf\u0131ndan \u00e7al\u0131nd\u0131\u011f\u0131n\u0131 g\u00f6steriyor. Videonun h\u0131zland\u0131r\u0131lm\u0131\u015f oldu\u011funu unutmay\u0131n, Intel tabanl\u0131 bir sistemde parola h\u0131rs\u0131zl\u0131\u011f\u0131 ger\u00e7ek zamanl\u0131 olarak en az bir bu\u00e7uk saat al\u0131r! Sonu\u00e7lar a\u015fa\u011f\u0131daki tabloda \u00f6zetlenmi\u015f:<\/p>\n<div id=\"attachment_10937\" style=\"width: 1034px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-10937\" class=\"wp-image-10937 size-large\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/91\/2022\/08\/19120322\/retbleed-vulnerability-table-1024x257.jpg\" alt=\"\" width=\"1024\" height=\"257\"><p id=\"caption-attachment-10937\" class=\"wp-caption-text\">Retpoline korumas\u0131 etkinle\u015ftirilmi\u015fken Retbleed sald\u0131r\u0131s\u0131 olas\u0131l\u0131\u011f\u0131na kar\u015f\u0131 test edilen i\u015flemcilerin \u00f6zet listesi. <a href=\"https:\/\/comsec.ethz.ch\/wp-content\/files\/retbleed_sec22.pdf\" target=\"_blank\" rel=\"noopener nofollow\">Kaynak<\/a><\/p><\/div>\n<p>\u00a0<\/p>\n<p>Tabloda da g\u00f6r\u00fcld\u00fc\u011f\u00fc gibi, tamamen yeni olmasa da g\u00fcncel olan AMD Zen 1 ve Zen 2 (2017\u20132019) ile Intel\u2019in Kaby Lake ve Coffee Lake (2016\u20132017) i\u015flemcileri Retbleed sald\u0131r\u0131s\u0131na yatk\u0131n. Daha modern AMD Zen 3 i\u015flemcilerde ve Intel Alder Lake ile daha eski 9. nesil i\u015flemcilerde Retbleed sald\u0131r\u0131s\u0131 \u00e7al\u0131\u015fm\u0131yor. Bu da Intel i\u015flemcilerde Artt\u0131r\u0131lm\u0131\u015f IBRS donan\u0131m korumas\u0131 uygulanmas\u0131yla ilgili.<\/p>\n<h2>Koruma maliyeti<\/h2>\n<p>Bir Spectre sald\u0131r\u0131s\u0131n\u0131 ger\u00e7ekle\u015ftirmek bu kadar zorsa neden buna kar\u015f\u0131 savunma olu\u015ftural\u0131m? Evet, ger\u00e7ek d\u00fcnyada (kurbana ger\u00e7ekten zarar veren) bir Spectre sald\u0131r\u0131s\u0131 y\u00fcr\u00fctmek i\u00e7in sald\u0131r\u0131lan sistemde kod y\u00fcr\u00fctebilmek, sald\u0131r\u0131ya yatk\u0131n yaz\u0131l\u0131mlar\u0131n y\u00fckl\u00fc olmas\u0131 ve verileri \u00f6nbellekten g\u00fcvenilir \u015fekilde s\u0131zd\u0131rabilmek (hatal\u0131 okuma kesinlikle bir risk) gibi bir\u00e7ok ko\u015fulun bir arada bulunmas\u0131 gerekiyor. Daha \u00f6nce en ger\u00e7ek\u00e7i sald\u0131r\u0131n\u0131n bir Chrome taray\u0131c\u0131da sim\u00fcle edildi\u011fini <a href=\"https:\/\/www.kaspersky.com.tr\/blog\/spectre-meltdown-in-practice\/10485\/\" target=\"_blank\" rel=\"noopener\">yazm\u0131\u015ft\u0131k<\/a>. Burada potansiyel bir sald\u0131rgan, \u00f6rne\u011fin kay\u0131tl\u0131 parolalar\u0131 RAM\u2019den s\u0131zd\u0131rabiliyordu. Fakat bu durum, t\u0131pk\u0131 di\u011fer k\u00fc\u00e7\u00fck hatalarda oldu\u011fu gibi, taray\u0131c\u0131n\u0131n kendisinde basit bir koruma y\u00fckseltmesi yap\u0131larak \u00e7\u00f6z\u00fcld\u00fc.<\/p>\n<p>Spectre gibi g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n ara\u015ft\u0131r\u0131lmas\u0131nda kaydedilen ilerlemenin g\u00fcn\u00fcn birinde kullan\u0131c\u0131 bilgisayarlar\u0131na ve sunucular\u0131na y\u00f6nelik kitlesel bir sald\u0131r\u0131ya yol a\u00e7ma olas\u0131l\u0131\u011f\u0131 var. Ancak ger\u00e7ekten hassas veriler s\u00f6zkonusuysa Spectre\u2019nin hemen dikkate al\u0131nmas\u0131 gerekiyor.<\/p>\n<p>En bariz senaryo, bar\u0131nd\u0131rma ve da\u011f\u0131t\u0131lm\u0131\u015f bilgi i\u015flem sa\u011flay\u0131c\u0131lar\u0131 \u00fczerinden ger\u00e7ekle\u015ftirilecek bir sald\u0131r\u0131. Makul fiyata herhangi bir sa\u011flay\u0131c\u0131dan kiralayabilece\u011finiz tipik bir sanal sunucu, temelde ayn\u0131 y\u00fcksek g\u00fc\u00e7l\u00fc sunucuda, di\u011fer m\u00fc\u015fterilerin sanal i\u015fletim sistemlerinin yan\u0131nda \u00e7al\u0131\u015fan bir programd\u0131r. Bir sanal sunucu abonesi, i\u015fin tan\u0131m\u0131 gere\u011fi burada programlar \u00e7al\u0131\u015ft\u0131rabilir fakat kom\u015fular\u0131na ya da ana bilgisayara, yani kontrol eden i\u015fletim sistemine eri\u015fim ayr\u0131cal\u0131\u011f\u0131na sahip de\u011fildir. Sanal ortamlar\u0131n ayr\u0131lmas\u0131 ve kendi sanal alan\u0131n\u0131zdan \u00e7\u0131kamaman\u0131z, bu t\u00fcr servis sa\u011flay\u0131c\u0131lar i\u00e7in en \u00f6nemli g\u00fcvenlik gerekliliklerinden biridir.<\/p>\n<p>Servis sa\u011flay\u0131c\u0131lar ayn\u0131 zamanda ayn\u0131 sunucuda birbirine problem yaratmadan m\u00fcmk\u00fcn olan en fazla say\u0131da sanal sistemin \u00e7al\u0131\u015fmas\u0131n\u0131 da isterler. Bu, pahal\u0131 donan\u0131mlar\u0131n kendini finanse edebilmesi i\u00e7in kilit \u00f6nem ta\u015f\u0131r. Bununla birlikte, (<em>ger\u00e7ekten \u00e7al\u0131\u015fan<\/em>) t\u00fcm Spectre yamalar\u0131 performans\u0131, dolay\u0131s\u0131yla ISP kazanc\u0131n\u0131 d\u00fc\u015f\u00fcr\u00fcr. Ancak sa\u011flay\u0131c\u0131lar problemi g\u00f6rmezden de gelemezler. \u00c7\u00fcnk\u00fc hassas verilerin ba\u015far\u0131yla \u00e7al\u0131nmas\u0131 geride bir iz bile b\u0131rakmaz.<\/p>\n<p>Bu y\u00fczden Retpoline ortaya at\u0131ld\u0131\u011f\u0131nda herkes bu \u00e7\u00f6z\u00fcm\u00fc havada kapt\u0131. Fakat 2018\u2019in Ocak ay\u0131na gelindi\u011finde bu savunma y\u00f6nteminin ne kadar g\u00fcvenilir oldu\u011funa dair \u015f\u00fcpheler belirmeye ba\u015flad\u0131. Linux \u00e7ekirdek geli\u015ftiricilerinin e-posta listesindeki <a href=\"https:\/\/lkml.org\/lkml\/2018\/1\/22\/598\" target=\"_blank\" rel=\"noopener nofollow\">bir tart\u0131\u015fma<\/a>, Retpoline hakk\u0131nda \u00e7ok say\u0131da \u015fikayet oldu\u011funu g\u00f6steriyor (yazar di\u011fer y\u00f6ntemlere de pek s\u0131cak bakmam\u0131\u015f). Ayn\u0131 d\u00f6nemde, Linux\u2019un yarat\u0131c\u0131s\u0131 ve ba\u015f sorumlusu Linus Torvalds ise (her zamanki keskin tavr\u0131yla) Retpoline\u2019in genel olarak yeterli oldu\u011funu <a href=\"https:\/\/lkml.org\/lkml\/2018\/1\/21\/192\" target=\"_blank\" rel=\"noopener nofollow\">net \u015fekilde ifade etti<\/a>.<\/p>\n<p>Retbleed\u2019in yazarlar\u0131, Torvalds\u2019\u0131n kategorik al\u0131nt\u0131s\u0131n\u0131 makalenin ba\u015f\u0131na yerle\u015ftirerek yarg\u0131lay\u0131c\u0131 tavr\u0131n\u0131 vurgulad\u0131. Yazarlar ayr\u0131ca ger\u00e7ek d\u00fcnyada g\u00fcvenlik a\u00e7\u0131\u011f\u0131 bulunan ve donan\u0131m d\u00fczeyinde onar\u0131lamayan i\u015flemcilere y\u00f6nelik bir koruman\u0131n \u201cmaliyetini\u201d de hesaplad\u0131. Linux \u00e7ekirde\u011findeki yamalar, Intel i\u015flemcilerde %39\u2019a kadar, AMD i\u015flemcilerde ise %14\u2019e kadar performans d\u00fc\u015f\u00fc\u015f\u00fcne yol a\u00e7\u0131yordu.<\/p>\n<p>AMD i\u015flemcilerin kendilerine \u00f6zg\u00fc bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 oldu\u011fu da ortaya \u00e7\u0131kt\u0131; ara\u015ft\u0131rmac\u0131lar \u201cPhantom JMP\u201d ad\u0131n\u0131 verdikleri yeni bir fenomen ke\u015ffetti. Belirli ko\u015fullarda, sald\u0131r\u0131 alt\u0131ndaki kodda bulunmasa bile, bir dallanma \u00f6ng\u00f6r\u00fcs\u00fc sistemine rastgele bir talimat y\u00fcr\u00fctt\u00fcrmenin m\u00fcmk\u00fcn oldu\u011fu anla\u015f\u0131ld\u0131. Bu y\u00fczden yazarlar \u00e7al\u0131\u015fmaya bir sayfal\u0131k k\u0131sa bir <a href=\"https:\/\/comsec.ethz.ch\/wp-content\/files\/retbleed_addendum_sec22.pdf\" target=\"_blank\" rel=\"noopener nofollow\">ek<\/a> yay\u0131nlamak zorunda kald\u0131. Bununla birlikte, bu g\u00fcvenlik a\u00e7\u0131\u011f\u0131n\u0131 k\u00f6t\u00fcye kullanarak ger\u00e7ek bir zarara yol a\u00e7man\u0131n geleneksel Spectre V2\u2019den bile daha zor oldu\u011funu da belirttiler.<\/p>\n<h2>\u015eimdi ne olacak?<\/h2>\n<p>S\u0131radan kullan\u0131c\u0131lar i\u00e7in Spectre sald\u0131r\u0131lar\u0131 tamamen sanal bir durum olarak kalmaya devam ediyor. \u0130\u015fletim sistemi geli\u015ftiricilerinin yay\u0131nlad\u0131\u011f\u0131 \u00f6nleyici yamalar yeterli. Bu arada Windows\u2019ta, etkili IBRS korumas\u0131 varsay\u0131lan olarak etkin geliyor. Yeni Linux \u00e7ekirdek yamalar\u0131 b\u00fcy\u00fck olas\u0131l\u0131kla performans d\u00fc\u015f\u00fc\u015f\u00fcne yol a\u00e7acak. Bu en \u00e7ok bilgisayar donan\u0131mlar\u0131n\u0131n sonuna kadar zorland\u0131\u011f\u0131 i\u015f \u00e7\u00f6z\u00fcmlerinde belirgin olabilir.<\/p>\n<p>Bir\u00e7ok Spectre varyant\u0131n\u0131n olmas\u0131, sorunu daha da karma\u015f\u0131k hale getiriyor. Retbleed de farkl\u0131 \u00fcreticilerin i\u015flemcilerinde farkl\u0131 \u015fekilde \u00e7al\u0131\u015fan ayr\u0131 bir varyant olarak ele al\u0131nabilir. AMD ve Intel, Retbleed\u2019i ayr\u0131 bir g\u00fcvenlik a\u00e7\u0131\u011f\u0131 olarak tan\u0131d\u0131 ve b\u00fcy\u00fck olas\u0131l\u0131kla buna y\u00f6nelik bir donan\u0131m \u00e7\u00f6z\u00fcm\u00fc bulacaklar. \u015eirketler, koruyucu \u00f6nlemlerin uyguland\u0131\u011f\u0131 yeni donan\u0131mlara ge\u00e7erek performans ve g\u00fcvenlik aras\u0131nda bir denge kuracak. Ne yaz\u0131k ki t\u00fcm yaz\u0131l\u0131m yamalar\u0131 en \u00e7ok g\u00f6rece daha eski i\u015flemcileri etkiliyor. Yaz\u0131l\u0131m zamanla daha zorlay\u0131c\u0131 hale gelmekle kalm\u0131yor, ayn\u0131 zamanda spek\u00fclatif y\u00fcr\u00fctme de bahsetti\u011fimiz t\u00fcrde bir \u201ccezayla\u201d kar\u015f\u0131la\u015f\u0131yor.<\/p>\n<p>Soruna ku\u015f bak\u0131\u015f\u0131 bakt\u0131\u011f\u0131m\u0131zda yeni bir \u015fey olmad\u0131\u011f\u0131n\u0131 g\u00f6r\u00fcyoruz. Geli\u015ftiriciler, g\u00fcvenli\u011fi d\u00fc\u015f\u00fcnmeden performans\u0131 artt\u0131racak bir \u00e7\u00f6z\u00fcm sunuyor. Er ya da ge\u00e7 (bu durumda ge\u00e7, \u00e7\u00fcnk\u00fc spek\u00fclatif y\u00fcr\u00fctme 1990\u2019lar\u0131n ortalar\u0131nda ba\u015flad\u0131) bu durum herkesin ba\u015f\u0131na bela oluyor. G\u00fcvenlik \u00f6nlemleri bir tak\u0131m \u015feylere mal oluyor, eninde sonunda yeni \u00e7\u00f6z\u00fcmler bulunuyor ve y\u00fcksek teknoloji end\u00fcstrisi yoluna devam ediyor.<\/p>\n<p>Buradaki s\u00fcrpriz, sorunun donan\u0131mda oldu\u011funun ke\u015ffedilmesi oldu. Donan\u0131mdaki sorunlar\u0131 \u00e7\u00f6zmek yaz\u0131l\u0131mdakileri \u00e7\u00f6zmek kadar kolay de\u011fil. \u00dcstelik bu basit bir hata da de\u011fil; end\u00fcstri taraf\u0131ndan uzun y\u0131llar \u00f6nce benimsenmi\u015f (g\u00fcvenlik a\u00e7\u0131s\u0131ndan) yetersiz bir yakla\u015f\u0131m. Umuyoruz ki i\u015flemci geli\u015ftiriciler, herkesi tehdit eden, geni\u015f kitlelerce bilinen ve yaln\u0131zca donan\u0131m\u0131 tamamen de\u011fi\u015ftirerek \u00e7\u00f6z\u00fclebilen \u00e7ok tehlikeli bir donan\u0131m sald\u0131r\u0131s\u0131 riski ortaya \u00e7\u0131kmadan \u00f6nce g\u00fcvenli ve g\u00fc\u00e7l\u00fc bilgi i\u015fleme y\u00f6nelik yeni y\u00f6ntemler bulabilir.<\/p>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"mdr\">\n","protected":false},"excerpt":{"rendered":"<p>\u0130\u015flemcilerdeki donan\u0131m g\u00fcvenlik a\u00e7\u0131klar\u0131 hakk\u0131nda yeni bir \u00e7al\u0131\u015fman\u0131n \u0131\u015f\u0131\u011f\u0131nda g\u00fcvenli\u011fin maliyeti \u00fcst\u00fcne d\u00fc\u015f\u00fcn\u00fcyoruz.<\/p>\n","protected":false},"author":665,"featured_media":10938,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1726,1194],"tags":[790,1505],"class_list":{"0":"post-10936","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-enterprise","8":"category-business","9":"tag-guvenlik-aciklari","10":"tag-spectre"},"hreflang":[{"hreflang":"tr","url":"https:\/\/www.kaspersky.com.tr\/blog\/retbleed-vulnerability\/10936\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/retbleed-vulnerability\/24459\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/retbleed-vulnerability\/19925\/"},{"hreflang":"en-us","url":"https:\/\/usa.kaspersky.com\/blog\/retbleed-vulnerability\/26903\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/retbleed-vulnerability\/24808\/"},{"hreflang":"es","url":"https:\/\/www.kaspersky.es\/blog\/retbleed-vulnerability\/27515\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/retbleed-vulnerability\/33847\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/retbleed-vulnerability\/45155\/"},{"hreflang":"fr","url":"https:\/\/www.kaspersky.fr\/blog\/retbleed-vulnerability\/19298\/"},{"hreflang":"de","url":"https:\/\/www.kaspersky.de\/blog\/retbleed-vulnerability\/29163\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/retbleed-vulnerability\/25346\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/retbleed-vulnerability\/30864\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/retbleed-vulnerability\/30572\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.com.tr\/blog\/tag\/guvenlik-aciklari\/","name":"g\u00fcvenlik a\u00e7\u0131klar\u0131"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.com.tr\/blog\/wp-json\/wp\/v2\/posts\/10936","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.com.tr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.com.tr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.tr\/blog\/wp-json\/wp\/v2\/users\/665"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.tr\/blog\/wp-json\/wp\/v2\/comments?post=10936"}],"version-history":[{"count":2,"href":"https:\/\/www.kaspersky.com.tr\/blog\/wp-json\/wp\/v2\/posts\/10936\/revisions"}],"predecessor-version":[{"id":10940,"href":"https:\/\/www.kaspersky.com.tr\/blog\/wp-json\/wp\/v2\/posts\/10936\/revisions\/10940"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com.tr\/blog\/wp-json\/wp\/v2\/media\/10938"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.com.tr\/blog\/wp-json\/wp\/v2\/media?parent=10936"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.com.tr\/blog\/wp-json\/wp\/v2\/categories?post=10936"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.com.tr\/blog\/wp-json\/wp\/v2\/tags?post=10936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}