рдХрд▓, Apple рдиреЗ iPhone 4 рдХреЗ рд▓рд┐рдП
iOS 7.0.6 рд╕реБрд░рдХреНрд╖рд╛ рдЕрджреНрдпрддрди рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдФрд░ рдмрд╛рдж рдореЗрдВ, iPod рдиреЗ 5 рд╡реАрдВ рдкреАрдврд╝реА рдФрд░ iPad 2+ рдХреЛ рд╕реНрдкрд░реНрд╢ рдХрд┐рдпрд╛ред рдЙрд╕реА рд╕рдордп, iPhone 3GS рдФрд░ iPod рдЯрдЪ 4th рдЬрдирд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдкреИрдЪ 6.1.6 рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЕрджреНрдпрддрди рднреЗрджреНрдпрддрд╛ CVE-2014-1266 рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ "рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рд╕реНрдерд┐рддрд┐" рд╕реЗ
рдПрд╕рдПрд╕рдПрд▓ / рдЯреАрдПрд▓рдПрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рддреНрд░реЛрдВ рдореЗрдВ рдкреИрдХреЗрдЯ рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдПрдХ MiTM рд╣рдорд▓рд╛ рд╣реИ рдЬреЛ рдпрд╛рддрд╛рдпрд╛рдд рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд╛рде рд╣реИред
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рдореЗрдВ, Apple рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ SSL / TLS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рд╕рд┐рд╕реНрдЯрдо рдХрдиреЗрдХреНрд╢рди рдХреА рдкреНрд░рд╛рдорд╛рдгрд┐рдХрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХреЛ "рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд╛рдкрддрд╛ рдЪрд░рдгреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░" рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдпрджреНрдпрдкрд┐ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ "рдЪрд░рдг" рдЧрд╛рдпрдм рдереЗ, рд╣рдо рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдХрдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рддрд░рд╣ рд╕реЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп, рд▓реЗрдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЪрд░рдгреЛрдВ рдХреА рдХрдореА рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рд╕рднреА рдРрдкреНрдкрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░, рддреАрд╕рд░реЗ рдкрдХреНрд╖ рд╕рдВрднрд╡рддрдГ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдФрд░ рдЯреИрдмрд▓реЗрдЯ рдкрд░ рдирдХрд▓реА / рд╕рдВрд╢реЛрдзрд┐рдд рдУрдПрд╕ рдЕрдкрдбреЗрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рдереЗред
рдЖрдЬ, рдкреНрд░рд╕рд┐рджреНрдз рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд░ рдПрдбрдо рд▓реИрдВрдЧрд▓реА рдиреЗ рдЖрдИрдУрдПрд╕ рдореЗрдВ рдмрдЧ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реБрдП
рдПрдХ рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ред рд╡рд╣ рдУрдПрд╕ рдПрдХреНрд╕ 10.8.5 (рд╕реБрд░рдХреНрд╖рд╛ -55179.13) рдФрд░ 10.9 (рд╕реБрд░рдХреНрд╖рд╛ -55471) рдХреЗ рдХреЛрдб рдХреЗ
рдЕрдВрддрд░ рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рд╣реА рдмрдЧ рд╢рд╛рдпрдж рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИред
рдЕрд╕рд▓ рдореЗрдВ, рдпрд╣рд╛рдБ рд╡рд╣ рд╣реИред
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;
}
Apple.
goto fail
.
if
, . , ,
goto fail
.
err
, SHA1 ┬л┬╗.
ServerKeyExchange, DHE ECDHE . : ┬л , , , ┬╗. Apple, , . : , , ! , , , .
, , iOS 7.0.5 OS X 10.9.1 .