рдПрдбрдо рд▓реИрдВрдЧрд▓реА рдиреЗ рдЖрдИрдУрдПрд╕ рдореЗрдВ рдмрдЧ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЛ рд╕рдордЭрд╛рдпрд╛: рдХреЛрдб рдХреА рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрдВрдХреНрддрд┐ рдиреЗ рд╕рднреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рддреЛрдбрд╝ рджрд┐рдпрд╛

рдХрд▓, 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 .

Source: https://habr.com/ru/post/In213525/


All Articles