Yan kanal saldırısı

Bilgisayar güvenliğinde yan kanal saldırısı bir bilgisayar sistemine gerçekleştirilirken şifreleme algoritmasının uygulanma şeklinin öğrenilmesinden ziyade uygulanan algoritmadaki zayıflıklara odaklanır (örneğin kriptanaliz ve yazılım hataları). Çoğu yan kanal saldırısı Paul Kocher'in öncülüğünü yaptığı istatistiksel metodlara dayanarak yapılmaktadır.
Zamanlama bilgisi, güç tüketimi, elektromanyetik dalgalar ve hatta duyulan ses dahil olmak üzere yan kanal saldırıları için ekstra bilgi sağlayabilir ve saldırganın lehine olmak üzerine analiz için kullanılabilir. Bazı yan kanal saldırıları ise çalışılan işletim sistemi ile ilgili teknik bilgi gerektirmekle birlikte diferansiyel güç analizi gibi yöntemler en az kara kutu saldırıları kadar etkili olabilmektedir.
Microsoft'un Indiana Üniversitesi ile yürüttüğü bir araştırmaya göre, Web 2.0 uygulamaları ve hizmet amaçlı yazılımların kullanımının artması ile birlikte web tarayıcısı ve sunucu arasındaki trafik şifreli bile olsa web uygulamalarına yan kanal saldırısı yapılma riskini arttırmıştır.
İnsanları aldatarak ya da zorlama yoluyla herhangi bir kripto sisteme erişim sağlamak, yan kanal saldırısı olarak düşünülmemektedir (Örneğin, sosyal mühendislik ve rubber-hose kriptanaliz). Bilgisayar sistemlerinde yapılan saldırılar için (Bu saldırılar çoğunlukla şifreleme için kullanılır, bu nedenle kriptografik anahtar ve açık metin gibi kavramları içerirler.) bilgisayar güvenliği başlığına bakınız.
Genel
Yan kanal saldırıları birçok şekilde yapılabilir:
Önbellek saldırısı Fiziksel, sanal ya da bulut kullanan sistemlerde saldırganın, hedef kurbanın yaptığı önbellek erişimlerini izleyip takip etmesi ile yapılan saldırılardır.
Zamanlama saldırısı Çeşitli hesaplamalar yapılırken ne kadar zaman aldığını takip edip analiz eden saldırılar. (Örneğin, kurbanın orijinal şifresi ile saldırganın verdiği şifresinin karşılaştırılma süresi)
Güç analizi saldırısı Yapılan hesaplamalarla birlikte sistemin güç tüketimini izleyen ve analiz edilir.
Elektromanyetik saldırı Sistemden yayılan elektromanyetik dalgaları ve radyasyonu ölçerek yapılan saldırı çeşididir. Bu şekilde açık metin ve çeşitli farklı bilgiler elde edilebilir. Daha sonra bu ölçümler, kriptografik anahtarlarla ilgili çıkarım yapmakta güç analizi gibi tekniklerde kullanıldığı gibi ya da ktriptografik olmayan yöntemlerdeki gibi kullanılabilir. Örneğin TEMPEST (Ayrıca van Eck dinlemesi ya da radyasyon ölçümü olarak tanınır).
Akustik kriptanaliz Hesaplama sırasında ortaya çıkan ses ile yapılan saldırılardır. (Güç analizi ile oldukça benzer)
Diferansiyel kusur analizi Kriptografik hesaplamalardaki hatalarla birlikte gizli olan bilgilerin elde edilmesi bu şekilde sağlanır.
Geriye dönük veri analizi Önceden silinen verilerin bir şekilde elde edilip analiz edilmesi.
Yazılımsal kusur saldırıları Oldukça ender görülen bir yan kanal saldırısı olarak, Row hammer bellekteki ayrılan kısmının değiştirilmesi (arttırılması ya da azaltılması) ile hemen bu adresin bitişiğindeki verinin sıklıkla erişilmesi ile yapılır. (Bu şekilde bellek bütünlüğü bozulmuş olur.)
Optik - Şifreli ve hassas veriler yüksek çözünürlüklü kayıt imkanı olan kameralarla veya farklı aletlerle kaydedilip, ele geçirilebilir.
Bütün yan kanal saldırılarında altta yatan prensip, bir kripto sistemin yaptığı hesaplamalarla birlikte ortaya çıkan fiziksel verinin işe yarar bilgi sağlaması üzerine kuruludur. Örneğin, kriptografik anahtar, algoritmanın hesaplamalar arasındaki geçiş kısımlarındaki bilgi, açık metinlerin tamamı ya da bir kısmı. Ayrıca Cryptophthora (Hassas verilerin ele geçirilmesi) nadiren de olsa yan kanal saldırıları ile ilgili verilerin ele geçirilmesi durumunda kullanılan bir terimdir.
Örnekler
Yan kanal saldırısı, sistemin güvenliği ile ilgili olup oldukça önemli bilgilerin izlenmesiyle çalışır. Buna örnek olarak AES T-tablo işlemleri veya modüler üs alma işlemlerinin yapılırken takip edilmesi verilebilir. Saldırgan bu şekilde yaptığı saldırıda nasıl bir izleme yaptığına göre gizli anahtarı ele geçirebilir ya da anahtarla ilgili çıkarımlarda bulunabilir. Bu saldırı yapılan kriptografik işlem üzerinde herhangi bir hata ya da farklılık yaratmadığı için saldırı yapılan tarafın, bir saldırı altında olduğunu fark etmesi ihtimalini ortadan kaldırıyor.
2017 yılında popüler işlemcilerde bir takım önbellek zafiyetlerinin bulunmasıyla birlikte kötü niyetli tarafların sistemdeki belleğin içeriğini okumasını ve hatta işletim sisteminde o anda çalışan işlemlerin içeriğini de okunmasına olanak sağladı. (Meltdown ve Spectre saldırıları)
Zamanlama saldırısı, işlemciye giren ya da çıkan verileri okuyarak ya da şifreleme algoritmasının çalıştığı bir sistemde belleğe giden verileri okuyarak yapılır. Yalnızca kriptografik işlemlerin ne kadar sürdüğünü gözlemlense dahi, bu şekilde gizli anahtarın elde edilmesi bile mümkün olabilir. Bu tarz saldırılarda ölçülen zamanın istatistiksel analizi yapılır. Bu saldırının yapılabilirliği ağlar arasında gözlemlenmiştir.
Güç analizi saldırısı diğer yöntemlere göre işlemci ya da kriptografik devre ile ilgili çok daha ayrıntılı bilgi sağlayabilir. Bu tarz saldırılar kabaca basit güç analizi (SPA) ve diferansiyel güç analizi (DPA) olarak sınıflandırılabilir.
Devreden geçen akımdaki dalgalanmalar radyo dalgaları üretir, elektromanyetik sızıntıların analizinin yapılabilirliği sistemi saldırılara açık hale getirmektedir. Bu saldırılar genellikle güç analizi ile yapılan saldırılarla benzer istatistiksel yöntemler içerir.
Yan kanal saldırısına benzer saldırıların birçok tarihsel örneği vardır. Son zamanlarda ortaya çıkan ve 1943 yılına kadar uzanan kayıtları barındıran NSA belgelerine göre; Bell Telephone isim bir şirket osiloskop yardımıyla yapılan ölçümlerde şifreli haberleşmeyi sağlayan bazı faks makinelerinin gözlemlenmesiyle birlikte osiloskop sinyallerinde bu haberleşmenin deşifre edilebileceği sinyal dalgalanmaları gözlemlendi. Eski bir MI5 memuru olan Peter Wright'a göre, İngiliz Güvenlik Servisi 1960'lı yıllarda Fransız şifreleme araçlarından ortaya çıkan sızıntıları analiz ediyordu. 1980'li yıllarda ise Sovyetlerin daktiloda yazı yazarken ortaya çıkan sesi dinleme ve bu seslerden hangi tuşun basıldığını tespit etme amacı ile IBM elektronik daktilolarının içerisine böcek yerleştirdiği şüphesi hakimdi.
Elektronik cihazların güç tüketimi, ısınmalarına sebep olur ve bu ısınma ile birlikte cihazların ısılarını dengeleyici sistemleri devreye girer. Cihaz sıcaklığı, o anda yapılan işlemin ne denli yoğunlukta olduğuna göre artar. Sıcaklığı düşürmek için çalışan soğutma sistemleri ise düşük sevide de olsa akustik (örn. gürültü) ortaya çıkarır. (işlemci için bazı durumlarda yaklaşık 10 kHz). Shamir ve arkadaşlarının yürüttüğü bazı araştırmalara göre, kripto sistemleri ve algoritmalarının işleyişi hakkındaki bilgiler bu şekilde de elde edilebileceği öne sürdü. Bu şekilde yapılan saldırılar akustik saldırı olarak tanımlanır. Ayrıca, işlemci yüzeyinde oluşan ısının kızılötesi görüntüleri yine işlemci üzerinde çalışan kod ile ilgili bilgi sağlayabilir. Bu tarz saldırılar ise Termal Görüntüleme Saldırısı olarak adlandırılır.
Optik yan kanal saldırısı, sabit diskin hareketlilik göstergesinden elde edilen bilginin ve transistörlerin durumları değiştikçe ortaya çıkan ışık örüntüleri ile yapılabilir.
Karşı tedbirler
Yan kanal saldırılarılarının temeli, saldırının yapılacağı sistemden yan kanaldan açığa çıkan sızıntı ile gizli verinin elde edilmesine dayandığı için alınabilecek önlemler de iki ana kategoriye ayrılmakta: (1) açığa çıkan sızıntının tamamen ortadan kaldırılması ve (2) ortaya çıkan veri sızıntısının gizli veri ile ilişkisiz olmasını sağlayarak ya da şifreli metinin deşifre işlemi bittikten sonra geri getirilebilecek rassal bazı dönüşümlerden geçirilmesi ile birlikte gizli verilerin arasındaki ilişkinin ortadan kaldırılması.
Üretilen bazı görüntü cihazları belli koruma panelleri kullanarak salınan elektromanyetik dalgaları azaltıyor, bu sayede TEMPEST saldırılarına karşı olan hassasiyeti azaltıyor. Kullanılan güç hattının iyileştirilmesi ve denetlenmesi güç analizi saldırılarını oldukça zorlaştırıyor, bu şekilde hassasiyetle alınan önlemler sayesinde güvenlik açığı oluşturabilecek faktörler büyük ölçüde ortadan kaldırılabilir. Buna rağmen analiz edilebilir az da olsa veri açığı ortaya çıkabilir. Aynı zamanda alınan fiziksel önlemler gizlice yerleştirilen dinleme cihazlarının (akustik saldırı, işlemci güç analizi ve sıcaklık analizi için kullanılan) önüne geçebilir.
Diğer bir önlem olarak oluşan sızıntıyı aynı dalga boyunda bir sinyal ile analiz edilemez hale getirilebilir. Örneğin, zamanlama saldırılarını engellemek için her işlem arasına rastgele bir gecikme ekleneblir. Modern saldırılarda saldırganlar, daha fazla veri toplayarak bu gözlemlerin ortalamalarını alsalar dahi bu tarz önlemler saldırganı oldukça yavaşlatır.
Yine ilk kategoriye giren bir önlem olarak donanımın tasarım aşamasında, yan kanal saldırısına karşı oluşabilecek açıkları bulan bir güvenlik analiz programı kullanmaktır. Zamanlama saldırıları ve önbellek saldırıları bu şekilde piyasada bulunan analiz programları ile sağlanabilir. Bu programlar saldırıya neden açık olduğunu ve saldırılara karşı alınan mimari değişikliklerin ne kadar etkili olduğunu da tespit edebiliyorlar. Fakat en etkili yöntem üretimi yapılan donanımın tüm analiz araçları kullanılarak bu tarz saldırılara karşı açık oluşturmayacak şekilde en başından tasarlanıp üretilmesidir.
Saat döngüleri içerisinde hesaplama zamanları tespit edilebilen sistemlerde kullanılacak olan yazılımların gizli olan verilerden tamamen ayrık bir şekilde çalışmak üzere tasarımı yapılabilir, bu sayede zamanlama saldırıları imkansız hale getirilir. Teoride bunu yapmak mümkünken, pratikte her komutun farklılaşabilecek çalışma zamanlarından ötürü yapılması oldukça zor olan bir önlemdir.
Basit güç saldırılarını zorlaştıracak fakat diferansiyel güç analizi saldırıları üzerinde bir etkisi olmayacak alınabilecek kısmen tedbir olarak sayılabilecek bir yöntem; yapılan programın, progam sayacı güvenlik modeline göre güvenliklı tasarlanmasıdır. Bu güvenli programlarda çalışma yöntemi hiçbir şekilde gizli verilere dayanmaz. Diğer bir deyişle koşullara bağlı olan dallanmalar herkese açık olan veriler üzerinden yapılır. (Bu tasarım yöntemi programı asenkron olarak tasarlamaktan daha kısıtlayıcı olmakla birlikte koşulsuz dallanma yöntemine göre daha az kısıtlayıcıdır.) Neredeyse tüm işlemciler üzerinde NOP işlemleri daha fazla güç tüketimi yapıyor olsa da sabit bir çalışma şeklinin olması, tüketilen güç üzerindeki değişimi azaltarak işe yarayabilecek sızıntı salınımını da engellemektedir. (Bir dallanmanın çalışırken harcayacağı güç, diğer bir dallanmanın güç tüketiminden fazla olabilir.) Veriye bağlı olmayan mimarilerde tasarlanan güvenli program da zamanlama saldırılarına karşı güvenlidir.
Eşzamanlı olmayan kodlarla birlikte çalışan modern işlemcilerdeki bellek önbelleğine erişim oldukça uzun zaman almakla birlikte bu şekilde bellek önbelleğine yapılan erişimler izlenip analiz edilebilir haldedir. Bu sebeple kriptografik kodlar önbellek saldırılarına karşı belleği zaten tahmin edilebilecek şekilde örüntü oluşturarak kullanırlar. (girdi alma, program verisini çıktı olarak verme ve bunları tahmin edilebilir aralıklarda yapar.) Örneğin, eğer veriye bağımlı olan arama tabloları kullanılırsa önbelleğe yapılan erişimlerle bu tabloların nerelerine erişildiği anlaşılabilir.
Diğer kısmi karşı tedbir ise veriye bağlı ortaya çıkan güç değişimleri dalgalanmalarını azaltmaya çalışmaktır. Bazı işlemler gizli veri içerisinde 1 bitlerine karşılık gelen verileri kullanabilir. Sabit-ağırlık kod (Fredkin gates veya çift raylı kodlama) kullanmak Hamming ağırlığı ile ilgili sızıntılar azaltır, buna rağmen kullanılan yöntem mükemmel şekilde dengeleyici olmadığı sürece açıklar tamamen kapatılamayacaktır. Yazılımlarda "Dengeli Tasarım" için veri ve alakalı yerler değiştirilebilir.
Genel bir zamanlama referansları olmayan asenkron işlemciler üretilmiştir. Zamanlama ve güç saldırılarını engellemek amacıyla üretilmiş olan asenkron işlemciler, tam aksine zamanlama ve güç saldırılarına karşı devrede olan zafiyetleri daha zor düzeltilebilir hale getirmişlerdir..
İkinci kategoriye giren tekniklerden birisi de körleştirmedir. Bu yöntemde, RSA'i çözmek için kullanılan gizli kuvveti ve onun mutabığı olan şifreleme kuvveti olan ve mod alırken kullanılan için kullanılıyor. (işlemi basitleştirmek için mod m formüllerde gösterilmedi) Şifreyi çözmeden önce yani verilen şifreli metin y için 'yi hesaplamadan önce rassal bir numarası seçiliyor ve elde ediliyor. Ardından şifre çözme işlemi üzerinde ifadesini elde etmek için yapılıyor. sayısını sistem kendisi ürettiği için, . Bu şekilde şifre çözme işlemi verinin rassal bir hale getirilmiş halinde yapılıyor ve saldırganın bu durum üzerinde yapabileceği herhangi bir şey olmaması sebebiyle yan kanal saldırısına karşı önlem olarak körleştirme oldukça etkilidir.
Diğer alınabilecek önlemlerden bir tanesi maskeleme yöntemi, genel olarak tüm yan kanal saldırılarına karşı etkilidir. Bu teknikte, hassas veri olan Onun yerine açık metin parçalara ayrılarak işlenir. Bu işlem XOR işlemi ile olacak şekilde desteklenir. Böylece saldırganın anlamlı herhangi bir bilgi elde etmesi için bütün parçaları toplaması ve analiz etmesi gerekir.