Reklamı bağlayın

Bir neçə gün əvvəl Apple yüzüncü buraxdı iOS 7.0.6 yeniləməsi, buraxılışı haqqında sizə məlumat verdiyimiz. Yenilənmənin köhnə iOS 6 (versiya 6.1.6) və Apple TV (versiya 6.0.2) üçün də buraxılması çoxlarını təəccübləndirə bilər. Bu təhlükəsizlik yamasıdır, ona görə də Apple öz cihazlarının yalnız bir hissəsini yeniləməyi ödəyə bilməzdi. Üstəlik, bu problem OS X-ə də təsir edir. Apple sözçüsü Trudy Mullerin sözlərinə görə, OS X yeniləməsi ən qısa zamanda buraxılacaq.

Niyə bu yeniləmə ətrafında bu qədər şırınga var? Sistemin kodundakı çatışmazlıq ISO/OSI istinad modelinin relational qatında təhlükəsiz ötürülmə zamanı server yoxlamasından yan keçməyə imkan verir. Xüsusilə, xəta server sertifikatının yoxlanılmasının baş verdiyi hissədə pis SSL tətbiqidir. Əlavə izahata keçməzdən əvvəl əsas anlayışları təsvir etməyə üstünlük verirəm.

SSL (Secure Socket Layer) təhlükəsiz rabitə üçün istifadə olunan protokoldur. O, ünsiyyət quran tərəflərin şifrələməsi və autentifikasiyası vasitəsilə təhlükəsizliyi təmin edir. Doğrulama təqdim edilən şəxsiyyətin yoxlanılmasıdır. Real həyatda, məsələn, adınızı (şəxsiyyətinizi) söyləyirsiniz və şəxsiyyət vəsiqənizi göstərirsiniz ki, qarşıdakı şəxs onu yoxlaya bilsin (autentifikasiya). Daha sonra autentifikasiya yoxlamaya bölünür ki, bu, yalnız milli şəxsiyyət vəsiqəsi ilə nümunədir və ya identifikasiyadır ki, sözügedən şəxs sizin şəxsiyyətinizi əvvəlcədən ona təqdim etmədən müəyyən edə bilər.

İndi qısaca olaraq server sertifikatına keçəcəkdim. Real həyatda sizin sertifikatınız, məsələn, şəxsiyyət vəsiqəsi ola bilər. Hər şey asimmetrik kriptoqrafiyaya əsaslanır, burada hər bir subyekt iki açara malikdir - özəl və ictimai. Bütün gözəllik mesajın açıq açarla şifrələnə və şəxsi açarla deşifrə edilə bilməsindədir. Bu o deməkdir ki, yalnız şəxsi açarın sahibi mesajı deşifrə edə bilər. Eyni zamanda, məxfi açarın hər iki əlaqə saxlayan tərəfə ötürülməsindən narahat olmaq lazım deyil. Sertifikat daha sonra subyektin məlumatı ilə əlavə edilən və sertifikatlaşdırma orqanı tərəfindən imzalanan açıq açarıdır. Çex Respublikasında sertifikatlaşdırma orqanlarından biri, məsələn, Česká Poštadır. Sertifikat sayəsində iPhone həqiqətən verilmiş serverlə əlaqə saxladığını yoxlaya bilər.

SSL, sözdə əlaqə qurarkən asimmetrik şifrələmədən istifadə edir SSL əl sıxma. Bu mərhələdə iPhone-unuz verilmiş serverlə əlaqə saxladığını yoxlayır və eyni zamanda, asimmetrik şifrələmənin köməyi ilə bütün sonrakı rabitə üçün istifadə olunacaq simmetrik açar qurulur. Simmetrik şifrələmə daha sürətlidir. Artıq yazıldığı kimi, xəta serverin yoxlanılması zamanı artıq baş verir. Gəlin bu sistem zəifliyinə səbəb olan koda nəzər salaq.

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 vəziyyətdə if aşağıda iki əmr görə bilərsiniz uğursuz olmaq;. Və bu, büdrəmə blokudur. Bu kod daha sonra sertifikatın yoxlanılmalı olduğu mərhələdə ikinci əmrin yerinə yetirilməsinə səbəb olur uğursuz olmaq;. Bu, üçüncü şərtin atlanmasına səbəb olur if və heç bir server yoxlanışı olmayacaq.

Nəticələr ondan ibarətdir ki, bu zəiflikdən xəbəri olan hər kəs iPhone-a saxta sertifikat təklif edə bilər. Siz və ya iPhone-da, sizinlə server arasında təcavüzkar olduğu halda şifrələnmiş ünsiyyət qurduğunuzu düşünəcəksiniz. Belə bir hücum deyilir adam-in-the-orta hücum, təqribən çex dilinə kimi tərcümə olunur adam-in-the-orta hücum və ya arasında adam. OS X və iOS-da bu xüsusi qüsurdan istifadə edən hücum yalnız təcavüzkar və qurban eyni şəbəkədə olduqda həyata keçirilə bilər. Buna görə də, iOS-u yeniləməmisinizsə, ictimai Wi-Fi şəbəkələrindən qaçmaq daha yaxşıdır. Mac istifadəçiləri hələ də hansı şəbəkələrə qoşulduqlarına və həmin şəbəkələrdə hansı saytlara daxil olduqlarına diqqətli olmalıdırlar.

Belə bir ölümcül səhvin OS X və iOS-un son versiyalarına necə çevrilə biləcəyinə inanmaq mümkün deyil. Bu, zəif yazılmış kodun uyğunsuz testi ola bilərdi. Bu o deməkdir ki, həm proqramçı, həm də test edənlər səhv edəcəklər. Bu, Apple üçün çətin görünə bilər və beləliklə, fərziyyələr ortaya çıxır ki, bu səhv əslində arxa qapıdır, sözdə. arxa qapı. Əbəs yerə deməyiblər ki, ən yaxşı arxa qapılar incə səhvlərə bənzəyir. Ancaq bunlar yalnız təsdiqlənməmiş nəzəriyyələrdir, ona görə də kiminsə sadəcə səhv etdiyini güman edəcəyik.

Sisteminizin və ya brauzerinizin bu səhvə qarşı immun olub olmadığına əmin deyilsinizsə, səhifəyə daxil olun gotofail.com. Aşağıdakı şəkillərdə gördüyünüz kimi, OS X Mavericks 7.0.1-də Safari 10.9.1-də səhv var, iOS 7.0.6-da Safari-də isə hər şey qaydasındadır.

Mənbələr: iMore, Reuters
.