Жарнама жабуу

Бир нече күн мурун Apple жүзүнчүсүн чыгарды iOS 7.0.6 жаңыртуу, чыгаруу жөнүндө биз сизге кабарлаганбыз. Жаңыртуунун эски iOS 6 (6.1.6 версиясы) жана Apple TV (6.0.2 версиясы) үчүн да чыгарылганы көпчүлүктү таң калтырышы мүмкүн. Бул коопсуздук жамаачы, ошондуктан Apple өзүнүн түзмөктөрүнүн бир бөлүгүн гана жаңырта алган жок. Андан тышкары, бул маселе OS Xге да таасирин тийгизет. Apple басма сөз катчысы Труди Мюллердин айтымында, OS X жаңыртылышы мүмкүн болушунча тезирээк чыгарылат.

Эмне үчүн бул жаңыртуунун айланасында ушунчалык көп ызы-чуу бар? Системанын кодундагы мүчүлүштүк ISO/OSI шилтеме моделинин реляциялык катмарында коопсуз өткөрүүдө сервердин верификациясын айланып өтүүгө мүмкүндүк берет. Тактап айтканда, ката сервер сертификатын текшерүү жүрүп жаткан бөлүгүндө начар SSL ишке ашырылышы. Мен андан ары түшүндүрүүгө барардан мурун, мен негизги түшүнүктөрдү сүрөттөп берүүнү туура көрөм.

SSL (Secure Socket Layer) коопсуз байланыш үчүн колдонулган протокол. Ал шифрлөө жана баарлашкан тараптардын аутентификациясы аркылуу коопсуздукка жетишет. Аутентификация – бул көрсөтүлгөн инсандыкты текшерүү. Чыныгы жашоодо, мисалы, сиз өзүңүздүн аты-жөнүңүздү (өзүңүздүн инсандыгыңызды) айтасыз жана башка адам аны текшериши үчүн (аныктыгын тастыктоо) өзүңүздүн идентификацияңызды көрсөтөсүз. Андан кийин аутентификация верификацияга бөлүнөт, бул улуттук идентификациялык картанын үлгүсү же идентификация, эгер каралып жаткан адам сиздин инсандыгыңызды сиз ага алдын ала көрсөтпөстөн аныктай алат.

Эми мен кыскача сервердин сертификатына өтмөкмүн. Чыныгы жашоодо сиздин сертификатыңыз, мисалы, ID карта болушу мүмкүн. Баары асимметриялык криптографияга негизделген, мында ар бир субъект эки ачкычка ээ - жеке жана ачык. Бүт сулуулук кабарды ачык ачкыч менен шифрлөө жана купуя ачкыч менен чечмелөө мүмкүн экендигинде. Бул купуя ачкычтын ээси гана билдирүүнүн шифрин чече алат дегенди билдирет. Ошол эле учурда жашыруун ачкычты эки тарапка тең өткөрүп берүү жөнүндө тынчсыздануунун кереги жок. Андан кийин күбөлүк субъекттин ачык ачкычы болуп саналат жана анын маалыматы менен толукталат жана күбөлөндүрүүчү орган тарабынан кол коюлат. Чехияда тастыктоочу органдардын бири, мисалы, Česká Pošta. Сертификаттын аркасында iPhone чындап эле берилген сервер менен байланышып жатканын текшере алат.

SSL байланышты орнотууда асимметриялык шифрлөөнү колдонот, деп аталган SSL кол алышуу. Бул этапта, сиздин iPhone берилген сервер менен байланышып жатканын текшерет жана ошол эле учурда симметриялуу шифрлөөнүн жардамы менен бардык кийинки байланыштар үчүн колдонула турган симметриялык ачкыч түзүлөт. Симметриялык шифрлөө ылдамыраак. Буга чейин жазылгандай, ката серверди текшерүү учурунда пайда болгон. Келгиле, бул системанын алсыздыгына себеп болгон кодду карап көрөлү.

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

Экинчи шартта if төмөндө эки буйрукту көрө аласыз ийгиликсиз болуу;. Жана бул мүдүрүлтүүчү бөгөт болуп саналат. Бул код экинчи буйруктун сертификаттын текшерилиши керек болгон баскычында аткарылышына себеп болот ийгиликсиз болуу;. Бул үчүнчү шартты өткөрүп жиберүүгө алып келет if жана эч кандай сервер текшерүүсү болбойт.

Мунун натыйжасы бул кемчиликти билген ар бир адам сиздин iPhone'уңузга жасалма сертификатты сунуштай алат. Сен же сиздин iPhone'уңузда, сиз менен сервердин ортосунда чабуулчу бар болсо, сиз шифрленген байланышып жатам деп ойлойсуз. Мындай чабуул деп аталат ортодогу адам чабуулу, бул болжол менен чех тилине деп которулат ортодогу адам чабуулу же арасында адам. OS X жана iOS'тун бул өзгөчө кемчилигин колдонуу менен чабуул чабуулчу менен жабырлануучу бир тармакта болгондо гана аткарылышы мүмкүн. Ошондуктан, эгер сиз iOS түзмөгүңүздү жаңыртпасаңыз, коомдук Wi-Fi тармактарынан качканыңыз жакшы. Mac колдонуучулары дагы эле кайсы тармактарга туташып, ошол тармактарда кандай сайттарга кирээринен сак болушу керек.

Мындай коркунучтуу ката аны OS X жана iOSтун акыркы версияларына кантип киргизгенине ишенүүгө болбойт. Бул начар жазылган коддун шайкеш келбеген сыноосу болушу мүмкүн. Бул программист да, сыноочулар да ката кетирет дегенди билдирет. Бул Apple үчүн күмөндүү көрүнүшү мүмкүн, ошондуктан бул мүчүлүштүк чындыгында бэкдор деп аталат деген божомолдор пайда болот. арткы эшик. Бекеринен айтышпаса, эң жакшы корунуштор тымызын каталардай көрүнөт. Бирок, бул ырасталбаган теориялар, ошондуктан биз кимдир бирөө жөн эле ката кетирген деп ойлойбуз.

Эгер тутумуңуз же браузериңиз бул мүчүлүштүктөн иммунитетке ээ экенине ишенбесеңиз, баракка баш багыңыз gotofail.com. Төмөндөгү сүрөттөрдөн көрүнүп тургандай, OS X Mavericks 7.0.1деги Safari 10.9.1 мүчүлүштүктөрдү камтыйт, ал эми iOS 7.0.6дагы Safariде баары жакшы.

Ресурстар: iMore, Reuters
.