נאָענט אַד

מיט עטלעכע טעג צוריק, עפּל באפרייט די הונדערטער יאָס 7.0.6 דערהייַנטיקן, וועגן דער מעלדונג פון וואָס מיר ינפאָרמד איר. פילע קען האָבן געווען סאַפּרייזד אַז די דערהייַנטיקן איז אויך באפרייט פֿאַר עלטערע יאָס 6 (ווערסיע 6.1.6) און עפּל טעלעוויזיע (ווערסיע 6.0.2). דאָס איז אַ זיכערהייט לאַטע, אַזוי עפּל קען נישט פאַרגינענ זיך צו דערהייַנטיקן בלויז אַ טייל פון זיין דעוויסעס. וואָס ס מער, דעם אַרויסגעבן אויך אַפעקץ OS X. לויט עפּל ספּאָוקספּערסאַן Trudy Muller, אַן OS X דערהייַנטיקן וועט זיין רעלעאַסעד ווי באַלד ווי מעגלעך.

פארוואס איז עס אַזוי פיל כייפּ אַרום דעם דערהייַנטיקן? א פלאָ אין די סיסטעם קאָד אַלאַוז סערווער וועראַפאַקיישאַן צו זיין בייפּאַסיד אויף זיכער טראַנסמיסיע אין די ריליישאַנאַל שיכטע פון ​​די ISO / OSI רעפֿערענץ מאָדעל. ספּאַסיפיקלי, די שולד איז אַ שלעכט ימפּלאַמענטיישאַן פון SSL אין דער טייל פון די וועראַפאַקיישאַן פון די סערווער באַווייַזן. איידער איך גיין אין ווייַטער דערקלערונג, איך בעסער צו באַשרייַבן די גרונט קאַנסעפּס.

SSL (Secure Socket Layer) איז אַ פּראָטאָקאָל געניצט פֿאַר זיכער קאָמוניקאַציע. עס אַטשיווז זיכערהייט דורך ענקריפּשאַן און אָטענטאַקיישאַן פון קאַמיונאַקייטינג פּאַרטיעס. אָטענטאַקיישאַן איז די וועראַפאַקיישאַן פון די דערלאנגט אידענטיטעט. אין פאַקטיש לעבן, פֿאַר בייַשפּיל, איר זאָגן דיין נאָמען (אידענטיטעט) און ווייַזן דיין שייַן אַזוי אַז די אנדערע מענטש קענען באַשטעטיקן עס (אָטענטאַקייט). אָטענטאַקיישאַן איז דעמאָלט צעטיילט אין וועראַפאַקיישאַן, וואָס איז נאָר אַ ביישפּיל מיט אַ נאציאנאלע אידענטיטעט קאַרטל, אָדער אידענטיפיקאַטיאָן, ווען דער מענטש אין קשיא קענען באַשטימען דיין אידענטיטעט אָן איר פאָרשטעלן עס צו אים אין שטייַגן.

איצט איך וואָלט בעקיצער באַקומען צו די סערווער באַווייַזן. אין פאַקטיש לעבן, דיין באַווייַזן קען זיין, למשל, אַ שייַן קאָרט. אַלץ איז באזירט אויף אַסיממעטריק קריפּטאָגראַפי, ווו יעדער ונטערטעניק אָונז צוויי שליסלען - פּריוואַט און ציבור. די גאנצע שיינקייט ליגט אין דעם פאַקט אַז דער אָנזאָג קענען זיין ינקריפּטיד מיט די ציבור שליסל און דעקריפּטעד מיט די פּריוואַט שליסל. דעם מיטל אַז בלויז די באַזיצער פון די פּריוואַט שליסל קענען דעקריפּט די אָנזאָג. אין דער זעלביקער צייט, עס איז ניט דאַרפֿן צו זאָרג וועגן טראַנספערינג די סוד שליסל צו ביידע קאַמיונאַקייטינג פּאַרטיעס. דער סערטיפיקאַט איז דערנאָך דער ציבור שליסל פון די ונטערטעניק סאַפּלאַמענטאַד מיט זיין אינפֿאָרמאַציע און געחתמעט דורך די סערטאַפאַקיישאַן אויטאָריטעט. אין טשעכיי, איינער פון די סערטאַפאַקיישאַן אויטאריטעטן איז, למשל, Česká Pošta. דאַנק צו די באַווייַזן, די iPhone קענען באַשטעטיקן אַז עס איז טאַקע קאַמיונאַקייטינג מיט די געגעבן סערווער.

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 איר קענען זען צוויי קאַמאַנדז אונטן goto fail;. און דאָס איז דער שטראָם. דער קאָד דעמאָלט ז די רגע באַפֿעל צו זיין עקסאַקיוטאַד אין דער בינע ווען די באַווייַזן זאָל זיין וועראַפייד goto fail;. דעם ז די דריט צושטאַנד צו זיין סקיפּט if און עס וועט זיין קיין סערווער וועראַפאַקיישאַן בייַ אַלע.

די ימפּלאַקיישאַנז זענען אַז ווער עס יז מיט וויסן פון דעם וואַלנעראַביליטי קענען פאָרשלאָגן דיין iPhone אַ שווינדל באַווייַזן. איר אָדער דיין iPhone, איר וועט טראַכטן אַז איר קאַמיונאַקייטינג ינקריפּטיד, בשעת עס איז אַן אַטאַקער צווישן איר און די סערווער. אַזאַ אַ באַפאַלן איז גערופן מענטש-אין-דעם-מיטן באַפאַלן, וואס איז בערך איבערגעזעצט אויף טשעכיש ווי מענטש-אין-דעם-מיטן באַפאַלן אָדער מענטש צווישן. אַ באַפאַלן מיט דעם באַזונדער פלאָ אין OS X און יאָס קענען זיין עקסאַקיוטאַד בלויז אויב די אַטאַקער און די קאָרבן זענען אויף דער זעלביקער נעץ. דעריבער, עס איז בעסער צו ויסמיידן ציבור Wi-Fi נעטוואָרקס אויב איר האָט נישט דערהייַנטיקט דיין יאָס. מעק יוזערז זאָל נאָך זיין אָפּגעהיט וועגן וואָס נעטוואָרקס זיי פאַרבינדן צו און וואָס זייטלעך זיי באַזוכן אויף די נעטוואָרקס.

עס איז ווייַטער פון גלויבן ווי אַזאַ אַ פאַטאַל טעות קען האָבן געמאכט עס אין די לעצט ווערסיעס פון אַס רענטגענ און יאָס. עס קען האָבן געווען סתירה טעסטינג פון שוואַך געשריבן קאָד. דאָס וואָלט מיינען אַז ביידע די פּראָגראַמיסט און די טעסטערס וואָלט מאַכן מיסטייקס. דאָס קען ויסקומען אַנלייקלי פֿאַר עפּל, און אַזוי ספּעקיאַליישאַנז ייבערפלאַך אַז דער זשוק איז פאקטיש אַ באַקדאָר, די אַזוי גערופענע. אינטערשטע טיר. עס איז נישט פֿאַר גאָרנישט אַז זיי זאָגן אַז די בעסטער באַקדאָרז קוק ווי סאַטאַל מיסטייקס. אָבער, דאָס זענען בלויז אַנקאַנפערמד טעאָריעס, אַזוי מיר וועלן יבערנעמען אַז עמעצער פשוט געמאכט אַ גרייַז.

אויב איר זענט נישט זיכער אויב דיין סיסטעם אָדער בלעטערער איז ימיון קעגן דעם זשוק, באַזוכן דעם בלאַט gotofail.com. ווי איר קענען זען אין די בילדער אונטן, Safari 7.0.1 אין OS X Mavericks 10.9.1 כּולל אַ זשוק, בשעת אין Safari אין יאָס 7.0.6 אַלץ איז גוט.

רעסאָורסעס: ימאָרע, רעוטערס
.