Funga tangazo

Siku chache zilizopita, Apple ilitoa ya mia Sasisho la iOS 7.0.6, kuhusu kutolewa ambako tulikufahamisha. Wengi wanaweza kushangaa kwamba sasisho pia lilitolewa kwa iOS 6 ya zamani (toleo la 6.1.6) na Apple TV (toleo la 6.0.2). Hiki ni kiraka cha usalama, kwa hivyo Apple haikuweza kumudu kusasisha sehemu tu ya vifaa vyake. Zaidi ya hayo, suala hili pia linaathiri OS X. Kulingana na msemaji wa Apple Trudy Muller, sasisho la OS X litatolewa haraka iwezekanavyo.

Kwa nini kuna hype nyingi karibu na sasisho hili? Hitilafu katika msimbo wa mfumo huruhusu uthibitishaji wa seva kuepukwa kwenye utumaji salama kwenye safu ya uhusiano ya muundo wa marejeleo wa ISO/OSI. Hasa, hitilafu ni utekelezaji mbaya wa SSL katika sehemu ambapo uthibitishaji wa cheti cha seva hufanyika. Kabla sijaingia katika maelezo zaidi, napendelea kuelezea dhana za kimsingi.

SSL (Safu ya Soketi Salama) ni itifaki inayotumika kwa mawasiliano salama. Inafanikisha usalama kwa njia ya usimbaji fiche na uthibitishaji wa wahusika wanaowasiliana. Uthibitishaji ni uthibitishaji wa utambulisho uliowasilishwa. Katika maisha halisi, kwa mfano, unasema jina lako (kitambulisho) na kuonyesha kitambulisho chako ili mtu mwingine aweze kukithibitisha (kuthibitisha). Kisha uthibitishaji hugawanywa katika uthibitishaji, ambao ni mfano tu wenye kitambulisho cha taifa, au kitambulisho, wakati mtu husika anaweza kuamua utambulisho wako bila wewe kuwasilisha kwake mapema.

Sasa ningefika kwa cheti cha seva kwa ufupi. Katika maisha halisi, cheti chako kinaweza kuwa, kwa mfano, kadi ya kitambulisho. Kila kitu kinategemea cryptography asymmetric, ambapo kila somo linamiliki funguo mbili - za faragha na za umma. Uzuri wote upo katika ukweli kwamba ujumbe unaweza kusimbwa kwa ufunguo wa umma na kufutwa kwa ufunguo wa kibinafsi. Hii inamaanisha kuwa ni mmiliki wa ufunguo wa faragha pekee ndiye anayeweza kusimbua ujumbe. Wakati huo huo, hakuna haja ya kuwa na wasiwasi juu ya kuhamisha ufunguo wa siri kwa pande zote mbili zinazowasiliana. Cheti basi ni ufunguo wa umma wa mhusika unaoongezwa na maelezo yake na kusainiwa na mamlaka ya uidhinishaji. Katika Jamhuri ya Czech, mojawapo ya mamlaka ya vyeti ni, kwa mfano, Česká Pošta. Shukrani kwa cheti, iPhone inaweza kuthibitisha kuwa inawasiliana na seva iliyotolewa.

SSL hutumia usimbaji fiche wa asymmetric wakati wa kuanzisha muunganisho, kinachojulikana SSL kupeana mkono. Katika hatua hii, iPhone yako inathibitisha kuwa inawasiliana na seva iliyotolewa, na wakati huo huo, kwa usaidizi wa usimbuaji wa asymmetric, ufunguo wa ulinganifu umeanzishwa, ambao utatumika kwa mawasiliano yote yanayofuata. Usimbaji fiche linganifu ni haraka zaidi. Kama ilivyoandikwa tayari, kosa tayari hutokea wakati wa uthibitishaji wa seva. Hebu tuangalie msimbo unaosababisha kuathirika kwa mfumo huu.

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

Katika hali ya pili if unaweza kuona amri mbili hapa chini goto kushindwa;. Na hicho ndicho kikwazo. Nambari hii basi husababisha amri ya pili kutekelezwa katika hatua wakati cheti kinapaswa kuthibitishwa goto kushindwa;. Hii inasababisha hali ya tatu kuruka if na hakutakuwa na uthibitishaji wa seva hata kidogo.

Athari zake ni kwamba mtu yeyote aliye na ufahamu wa athari hii anaweza kutoa iPhone yako cheti bandia. Wewe au iPhone yako, utafikiri unawasiliana kwa njia fiche, wakati kuna mshambulizi kati yako na seva. Shambulio kama hilo linaitwa shambulio la mtu katikati, ambayo hutafsiri takribani katika Kicheki kama shambulio la mtu katikati au mtu kati. Shambulio linalotumia hitilafu hii katika OS X na iOS linaweza tu kutekelezwa ikiwa mshambuliaji na mwathiriwa wako kwenye mtandao mmoja. Kwa hivyo, ni bora kuzuia mitandao ya umma ya Wi-Fi ikiwa haujasasisha iOS yako. Watumiaji wa Mac bado wanapaswa kuwa waangalifu kuhusu mitandao wanayounganisha na tovuti gani wanazotembelea kwenye mitandao hiyo.

Ni zaidi ya kuamini jinsi kosa mbaya kama hilo lingeweza kuifanya kuwa matoleo ya mwisho ya OS X na iOS. Inaweza kuwa majaribio yasiyolingana ya nambari iliyoandikwa vibaya. Hii itamaanisha kwamba programu na wanaojaribu watafanya makosa. Hili linaweza kuonekana kuwa lisilowezekana kwa Apple, na kwa hivyo uvumi unaonekana kwamba mdudu huyu ni mlango wa nyuma, kinachojulikana. mlango wa nyuma. Sio bure kwamba wanasema kwamba milango bora zaidi inaonekana kama makosa ya hila. Walakini, hizi ni nadharia tu ambazo hazijathibitishwa, kwa hivyo tutafikiria kuwa mtu alifanya makosa tu.

Ikiwa huna uhakika kama mfumo au kivinjari chako hakina kinga dhidi ya hitilafu hii, tembelea ukurasa gotofail.com. Kama unavyoona kwenye picha hapa chini, Safari 7.0.1 katika OS X Mavericks 10.9.1 ina hitilafu, wakati Safari katika iOS 7.0.6 kila kitu kiko sawa.

Rasilimali: iMore, Reuters
.