Reklamê bigire

Çend roj berê, Apple sedemîn derxist iOS 7.0.6 nûvekirin, der barê serbestberdana wê de me hûn agahdar kirin. Dibe ku pir kes şaş mabin ku nûvekirin ji bo iOS 6-a kevn (guhertoya 6.1.6) û Apple TV (guhertoya 6.0.2) jî hat berdan. Ev pişkek ewlehiyê ye, ji ber vê yekê Apple nekare tenê beşek ji cîhazên xwe nûve bike. Ji bilî vê, ev pirsgirêk bandorê li OS X-ê jî dike. Li gorî berdevkê Apple Trudy Muller, nûvekirinek OS X dê di zûtirîn dem de were berdan.

Çima li dora vê nûvekirinê ew qas hîle heye? Xeletiyek di koda pergalê de dihêle ku verastkirina serverê li ser veguheztina ewledar li qata pêwendiya modela referansa ISO/OSI were derbas kirin. Bi taybetî, xeletî di beşa ku verastkirina sertîfîkaya serverê pêk tê de pêkanîna SSL-ya xirab e. Berî ku ez herim nav ravekirina din, ez tercîh dikim ku têgehên bingehîn vebêjim.

SSL (Secure Socket Layer) protokolek e ku ji bo pêwendiya ewledar tê bikar anîn. Ew bi şîfrekirin û pejirandina aliyên ragihandinê ewlehiyê digihîje. Nasname verastkirina nasnameya pêşkêşkirî ye. Mînakî, di jiyana rast de, hûn navê xwe (nasname) dibêjin û nasnameya xwe nîşan didin da ku kesê din bikaribe wê verast bike (rast bike). Dûv re verastkirin di verastkirinê de tê dabeş kirin, ku ew tenê mînakek bi karta nasnameya neteweyî, an nasnameyê ye, dema ku kesê navborî dikare nasnameya we diyar bike bêyî ku hûn wê pêşwext pêşkêşî wî bikin.

Naha ez ê bi kurtasî bigihîjim sertîfîkaya serverê. Di jiyana rast de, sertîfîkaya we dikare bibe, mînakî, karta nasnameyê. Her tişt li ser krîptografiya asîmetrîk e, ku her mijar xwedan du kilît e - taybet û gelemperî. Tevahiya bedewiyê di vê rastiyê de ye ku peyam dikare bi mifteya giştî were şîfrekirin û bi mifteya taybet ve were şîfrekirin. Ev tê wê wateyê ku tenê xwediyê mifteya taybet dikare peyamê şîfre bike. Di heman demê de, ne hewce ye ku meriv li ser veguheztina mifteya veşartî ji her du aliyên peywendîdar re xeman bike. Dûv re sertîfîka mifteya giştî ya mijarê ye ku bi agahdariya wê tê pêvekirin û ji hêla saziya pejirandinê ve hatî îmze kirin. Li Komara Çek, yek ji rayedarên pejirandinê, mînakî, Česká Pošta ye. Bi saya sertîfîkayê, iPhone dikare verast bike ku ew bi rastî bi servera hatî dayîn re danûstendinê dike.

SSL dema ku têkiliyek saz dike şîfrekirina asîmetrîk bikar tîne, ku jê re tê gotin SSL destan. Di vê qonaxê de, iPhone-ya we piştrast dike ku ew bi servera diyarkirî re têkilî dike, û di heman demê de, bi alîkariya şîfrekirina asîmetrîk, mifteyek sîmetrîk tê saz kirin, ku dê ji bo hemî pêwendiya paşîn were bikar anîn. Şîfrekirina sîmetrîk zûtir e. Wekî ku berê hatî nivîsandin, xeletî jixwe di dema verastkirina serverê de çêdibe. Ka em li koda ku dibe sedema vê qelsiya pergalê binihêrin.

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;
}

Di rewşa duyemîn de if hûn dikarin du fermanên jêrîn bibînin goto fail;. Û ew bloka astengiyê ye. Dûv re ev kod dibe sedem ku emrê duyemîn di qonaxa ku divê sertîfîka were verast kirin de were darve kirin goto fail;. Ev dibe sedem ku şerta sêyemîn were derbas kirin if û dê bi tevahî verastkirina serverê tune be.

Encam ev in ku her kesê ku di derheqê vê qelsiyê de haydar be dikare iPhone-ya we sertîfîkayek sexte pêşkêş bike. Tu an iPhone-ya we, hûn ê bifikirin ku hûn bi şîfrekirî danûstandinê dikin, dema ku di navbera we û serverê de êrîşkarek heye. Êrîşek wiha tê gotin êrîşa mêr-in-the-navîn, ku bi qasî tê wergerandin bo Czech wek êrîşa mêr-in-the-navîn an mirov di nav. Êrîşek ku di OS X û iOS-ê de vê xeletiya taybetî bikar tîne tenê heke êrîşkar û mexdûr li ser heman torê bin dikare were darve kirin. Ji ber vê yekê, heke we iOS-ya xwe nûve nekiriye çêtir e ku hûn ji torên Wi-Fi yên gelemperî dûr bisekinin. Bikarhênerên Mac-ê divê hîn jî baldar bin ku ew bi kîjan toran ve girêdayî ne û li ser wan toran serdana kîjan malperan dikin.

Bêbawer e ku meriv çawa xeletiyek wusa kujer dikaribû ew bikeve nav guhertoyên paşîn ên OS X û iOS. Ew dikaribû ceribandinek nehevgirtî ya koda nebaş a nivîskî be. Ev tê wê wateyê ku hem bernamenûs û hem jî ceribandinvan dê xeletiyan bikin. Dibe ku ev ji bo Apple ne mimkûn xuya bike, û ji ber vê yekê spekulasyon derdikevin holê ku ev xeletî bi rastî deriyek paşde ye, ya ku jê re tê gotin. paş derî. Ne ji bo tiştek e ku ew dibêjin ku paşverûyên çêtirîn wekî xeletiyên nazik xuya dikin. Lêbelê, ev tenê teoriyên nepejirandin in, ji ber vê yekê em ê texmîn bikin ku kesek tenê xeletiyek kiriye.

Heke hûn nebawer in ku pergala an geroka we ji vê xeletiyê bêpar e, biçin rûpelê gotofail.com. Wekî ku hûn di wêneyên jêrîn de dibînin, Safari 7.0.1 di OS X Mavericks 10.9.1 de xeletiyek heye, dema ku di Safari di iOS 7.0.6 de her tişt baş e.

Çavkaniyên: ez pirtir, reuters
.