E-Mudhra CA Hilesi ve 8 Bit Güvenlik: Sertifikaların Çalınmasının Teknolojik Çevresi

E-Mudhra CA Hilesi ve 8 Bit Güvenlik: Sertifikaların Çalınmasının Teknolojik Çevresi
audio-thumbnail
E-Mudhra CA Hilesi ve 8 Bit Güvenlik: Sertifikaların Çalınmasının Teknolojik Çevresi
0:00
/0

E-Mudhra CA Hilesi ve 8 Bit Güvenlik: Sertifikaların Çalınmasının Teknolojik Çevresi

Güvenli iletişim, dijital dünyamızın temelini oluşturur. Ancak, bu güvenin temelini oluşturan sertifikaların bazılarında bir tür "sistem kusuru" var. Ve bu kusur, sadece bir güvenlik ihlali değil, aynı zamanda güvenli iletişimdeki temel hedeflerin neden hâlâ zayıf kaldığının göstergesidir. E-Mudhra'nın sertifikası çalınması, bu konuyu sadece bir olay olarak değil, bir teknolojik çöküş olarak gösteriyor.

4, 56, 115: 8 Bitlik Bir Güvenin Çöküşü

Bir sertifika, güvenli bir bağlantı kurmak için kullanılan bir "diploma" gibi bir şeydir. Ancak bu diplomanın temelinde, sertifikayı imzalayan anahtarın güvenliği yatıyor. E-Mudhra'nın bazı sertifikalarında, bu anahtarlar oldukça tuhaf bir yapıya sahipti: private key, yani gizli anahtar, sadece bir basamaklı bir sayıydı.

Örneğin, bir sertifikada gizli anahtar d = 4, başka birinde d = 56, bir başka sertifikada d = 115 olarak belirtiliyordu. Bu değerler, P-384 eğrisi üzerinde çalışan bir elliptik eğri algoritmasıyla oluşturulmuştu. Ancak normalde bu tür anahtarlar, 384 bitlik rasgele bir sayı olmalıydı. Yani yaklaşık 10¹¹⁵ farklı değer olabilir. Bu kadar büyük bir alan, bilgisayarın bile hesaplaması imkânsızdı.

Ancak E-Mudhra'nın anahtarları, tam tersine, sadece bir bayt (8 bit) boyutundaydı. Yani 256 farklı değer arasından biri seçilmiş olacaktı. Bu durum, bir sertifikayı elde eden herkesin, sadece birkaç milisaniye içinde bu gizli anahtarı bulabileceği anlamına geliyordu.

“İhtimal Yok” Değil, “Yapılabilir” oldu

Gizli anahtarın nasıl hesaplandığını anlamak için, biraz teknik bilgiye ihtiyaç var. Elliptik eğri kriptografisinde, gizli anahtar bir sayıdır (d), ve bu sayı, sabit bir nokta (G) ile çarpılarak açık anahtar (public key) oluşturulur: d × G. Bu işlem, ileri doğru (gizli anahtardan açık anahtara) kolaydır. Ancak geriye doğru (açık anahtardan gizli anahtara) gitmek, sadece matematiksel olarak imkânsız gibi görünse de, bazı durumlarda çok hızlı bir şekilde yapılabilir.

E-Mudhra'nın sertifikalarında, bu geri dönüş işlemi, 256 adımdan az bir sürede yapılabiliyordu. Çünkü gizli anahtar, sadece 1 byte’lık bir sayıydı. Hatta bu sertifikaların her biri, 1.5 yıl boyunca (Nisan 2025'ten bugüne kadar) herkesin erişebileceği bir durumda kalmıştı. Yani bu sertifikalar, herkese açık bir güvenlik açıklarıydu.

“Kısmen Kontrol Edilebilir” Değil, “Kontrol Edilemez” Oldu

Normalde bir sertifika yetkilisinin (CA) anahtarı çalındığında, o anahtarı kimin elde ettiği, ne zaman çalındığı gibi sorular vardır. Bu durumda bir “hırsız” var, bir “hırsızlık” var, ve bu olayı sınırlamak mümkün olabilir.

Ancak E-Mudhra'da bu durum farklıydı. Burada hiçbir hırsızlık olmadı. Anahtar, zaten ilk kurulumdan itibaren zayıf bir yapıdaydi. Herkes, sertifikayı gördüğünde, 1000 adımlık bir işlemle gizli anahtarı bulabilir, ve bu sertifikayı kullanabilir. Bu, 17 ay boyunca herkesin erişebileceği bir “zayıf noktayı” gösteriyordu.

İşin en korkunç yanı şu: Bu sertifikaların herhangi biri, bir hileli sertifika olarak kullanılabilir. Ve bu hileli sertifika, güvenli bir bağlantı kurmak isteyen herkese, sahte bir web sitesi sunabilir. Chrome, Firefox ve Safari gibi modern tarayıcılar, bu sertifikaları CT (Certificate Transparency) ile izlemekte ve bu sertifikaların hiçbirinin CT'de görülmediğini gösterdi. Bu, bu sertifikaların hiç de kullanılmadığını gösterir.

Ama bu, herkesi güvende tutmuyor.

“Tarayıcılar Güvende” Değil, “Herkes Değil”

Modern tarayıcılar, bu sertifikaları bloke etti. Chrome ve Firefox, sertifikaları doğrudan engelledi. Ancak bu engellemeler, tarayıcılar dışındaki tüm sistemleri etkilemiyor. Çünkü bu sistemler, sertifika kontrolünü yapmıyor, revokasyon kontrolü yapmıyor, veCertificate Transparency’ı kontrol etmiyor.

Diyelim ki bir kurum, bir API çağrısı yapıyor. Bu API, bir sertifika ile güvenli bir bağlantı kuruyor. Ancak bu sertifika, E-Mudhra’ya ait bir sertifika olsa ve bu sertifika bir hileli sertifika olsa, bu API, sahte bir sunucuya bağlanabilir. Çünkü bu sertifika, gelen sistemdeki root sertifika deposuna yüklenmiş olabilir.

Aynı durum, git, curl, Python, Node, Go, Java gibi araçlar için de geçerli. Bu araçlar, sertifikaları doğrulamadan, güvenli bağlantı kuruyor. Ve bu araçlar, sertifikaları doğrulamadığı için, hileli sertifikaları kabul edebilirler.

“Küçük bir Hata” Değil, “Büyük bir Yapısal Hata”

E-Mudhra’nın bu hilesi, sadece bir sertifika hatası değil, aynı zamanda güvenli iletişim sisteminin temelindeki yapısal bir kusur. Çünkü bu sistem, herkesin güvenilir bir sertifika alabileceği bir yapıya sahip. Ama bu sertifikalar, gizli anahtarların zayıf olması nedeniyle, güvenilir olamıyor.

Ve bu sistem, sadece E-Mudhra’ya değil, tüm sertifika yetkililerine karşı da bir tehdit oluşturuyor. Çünkü bu tür bir hata, sadece bir sertifika yetkilisi için değil, bütün sertifika sistemine karşı bir risk oluşturuyor.

Sonuç: Güvenli iletişim, tek bir sertifika ile değil, bir ekosistemle sağlanır

Güvenli iletişim, sadece bir sertifika ile değil, tüm sistemlerin birlikte çalışmasıyla sağlanır. Tarayıcılar, sertifikaları doğrulayabiliyor, ama bu sertifikaların doğrulanması, tüm sistemlerin bu doğrulamayı yapmasıyla sağlanır.

E-Mudhra’nın bu hilesi, bize şunu gösteriyor: Sertifikaların güvenliği, yalnızca teknolojiyle değil, aynı zamanda tüm sistemlerin bu teknolojiyi nasıl kullandığıyla belirlenir. Eğer bir sertifika, gizli anahtarının zayıf olması nedeniyle, herkesin erişebileceği bir hedef oluyorsa, bu sertifika, sadece bir sertifika değil, bir sistemik risk haline gelir.