Reklamı Kapat

Birkaç gün önce Apple yüzüncüsünü yayınladı. iOS 7.0.6 güncellemesi, piyasaya sürülmesiyle ilgili olarak sizi bilgilendirdik. Güncellemenin eski iOS 6 (sürüm 6.1.6) ve Apple TV (sürüm 6.0.2) için de yayınlanmış olması pek çok kişiyi şaşırtmış olabilir. Bu bir güvenlik yaması olduğundan Apple'ın cihazlarının yalnızca bir kısmını güncellemeye gücü yetmedi. Üstelik bu sorun OS X'i de etkiliyor. Apple sözcüsü Trudy Muller'a göre en kısa sürede OS X güncellemesi yayınlanacak.

Bu güncellemeyi çevreleyen neden bu kadar çok heyecan var? Sistemin kodundaki bir kusur, ISO/OSI referans modelinin ilişkisel katmanında güvenli aktarımda sunucu doğrulamasının atlanmasına olanak tanıyor. Özellikle hata, sunucu sertifikası doğrulamasının gerçekleştiği kısımda hatalı bir SSL uygulamasıdır. Daha fazla açıklamaya geçmeden önce temel kavramları açıklamayı tercih ediyorum.

SSL (Secure Socket Layer), güvenli iletişim için kullanılan bir protokoldür. İletişim kuran tarafların şifrelenmesi ve kimlik doğrulaması yoluyla güvenliği sağlar. Kimlik doğrulama, sunulan kimliğin doğrulanmasıdır. Örneğin, gerçek hayatta adınızı (kimlik) söylersiniz ve diğer kişinin doğrulayabilmesi (kimlik doğrulaması) için kimliğinizi gösterirsiniz. Kimlik doğrulama daha sonra doğrulamaya bölünür; bu sadece bir ulusal kimlik kartı veya kimlik örneğidir; söz konusu kişi, siz ona önceden sunmadan kimliğinizi belirleyebilir.

Şimdi kısaca sunucu sertifikasına geçeceğim. Gerçek hayatta sertifikanız örneğin bir kimlik kartı olabilir. Her şey, her konunun özel ve genel olmak üzere iki anahtara sahip olduğu asimetrik kriptografiye dayanmaktadır. Bütün güzellik, mesajın genel anahtarla şifrelenebilmesi ve özel anahtarla şifresinin çözülebilmesinde yatmaktadır. Bu, yalnızca özel anahtarın sahibinin mesajın şifresini çözebileceği anlamına gelir. Aynı zamanda gizli anahtarın iletişim kuran her iki tarafa da aktarılması konusunda endişelenmenize gerek yoktur. Sertifika daha sonra öznenin bilgileriyle desteklenen ve sertifika yetkilisi tarafından imzalanan ortak anahtarıdır. Çek Cumhuriyeti'nde sertifikasyon yetkililerinden biri örneğin Česká Pošta'dır. Sertifika sayesinde iPhone, verilen sunucuyla gerçekten iletişim kurduğunu doğrulayabilir.

SSL, bir bağlantı kurarken sözde asimetrik şifreleme kullanır. SSL anlaşması. Bu aşamada iPhone'unuz verilen sunucuyla iletişim kurduğunu doğrular ve aynı zamanda asimetrik şifreleme yardımıyla sonraki tüm iletişimlerde kullanılacak simetrik bir anahtar oluşturulur. Simetrik şifreleme daha hızlıdır. Daha önce yazıldığı gibi, hata sunucu doğrulaması sırasında zaten oluşuyor. Bu sistem açığına neden olan koda bir göz atalım.

static OSStatus
SSLVerifySignedServerKeyExchange(SSLContext *ctx, bool isRsa,
SSLBuffer signedParams, uint8_t *signature, UInt16 signatureLen)

{
   OSStatus err;
   …

   if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0)
       goto fail;
   if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0)
       goto fail;
       goto fail;
   if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0)
       goto fail;
   …

fail:
   SSLFreeBuffer(&signedHashes);
   SSLFreeBuffer(&hashCtx);
   return err;
}

İkinci durumda if aşağıda iki komutu görebilirsiniz başarısız ol;. Ve bu da tökezleyen engeldir. Bu kod daha sonra sertifikanın doğrulanması gereken aşamada ikinci komutun yürütülmesine neden olur. başarısız ol;. Bu üçüncü koşulun atlanmasına neden olur if ve hiçbir sunucu doğrulaması yapılmayacaktır.

Bunun anlamı, bu güvenlik açığını bilen herkesin iPhone'unuza sahte bir sertifika sunabilmesidir. Sen veya iPhone'unuzla sunucu arasında bir saldırgan varken şifreli iletişim kurduğunuzu düşüneceksiniz. Böyle bir saldırıya denir ortadaki adam saldırısıkabaca Çekçe'ye şu şekilde çevrilir: ortadaki adam saldırısı nebo arasındaki adam. OS X ve iOS'taki bu özel kusuru kullanan bir saldırı, yalnızca saldırgan ve kurbanın aynı ağda olması durumunda gerçekleştirilebilir. Bu nedenle, iOS'unuzu güncellemediyseniz halka açık Wi-Fi ağlarından kaçınmak daha iyidir. Mac kullanıcılarının hangi ağlara bağlandıkları ve bu ağlarda hangi siteleri ziyaret ettikleri konusunda yine de dikkatli olmaları gerekir.

Böylesine ölümcül bir hatanın nasıl olup da OS X ve iOS'un son sürümlerine yansımış olabileceğine inanılamaz. Kötü yazılmış kodun tutarsız bir şekilde test edilmesi olabilirdi. Bu hem programcının hem de testçilerin hata yapacağı anlamına gelir. Bu Apple için pek olası görünmeyebilir ve spekülasyonlar bu hatanın aslında bir arka kapı olduğu yönünde ortaya çıkıyor. arka kapı. En iyi arka kapıların ince hatalara benzediğini söylemeleri boşuna değil. Ancak bunlar yalnızca doğrulanmamış teorilerdir, dolayısıyla birisinin basit bir hata yaptığını varsayacağız.

Sisteminizin veya tarayıcınızın bu hataya karşı dayanıklı olup olmadığından emin değilseniz sayfayı ziyaret edin gotofail.com. Aşağıdaki görsellerde görebileceğiniz gibi OS X Mavericks 7.0.1'deki Safari 10.9.1'de bir hata bulunurken, iOS 7.0.6'daki Safari'de her şey yolunda.

Kaynaklar: imore, reuters
.