MS16 065: وصف الضعف إفشاء معلومات بروتوكول TLS/SSL (2016-CVE-0149): 10 مايو عام 2016

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية3155464
الموجز
الثغرة أمنية لكشف معلومات موجودة في بروتوكول "أمان طبقة النقل" وبروتوكول "طبقة مأخذ التوصيل الآمنة" (TLS/SSL) كما يتم تطبيقها في مكون تشفير Microsoft net Framework. يمكن لمهاجم الذي ينجح في استغلال مشكلة عدم الحصانة هذه قد يفك تشفير حركة مرور TLS/SSL مشفرة.

لاستغلال مشكلة عدم الحصانة، أولاً المهاجم لإدخال بيانات غير مشفرة في قناة الأمان وقم بتنفيذ هجوم (MiTM) رجل-في-وسط بين العميل المستهدف وخادم مشروع. يعالج هذا التحديث مشكلة عدم الحصانة عن طريق تعديل الطريقة التي مكون التشفير. NET ترسل وتتلقى حزم الشبكة المشفرة.

تم إصلاح مشكلة عدم الحصانة هذه كجزء من نشرة أمان Microsoft MS16-065. هذا التحديث بتغيير طريقة أن مكون التشفير NET Framework ترسل وتتلقى حزم الشبكة المشفرة.

يتضمن الجدول التالي ارتباطات إلى إدخال قياسي لكل ثغرة أمنية في قائمة مشكلات عدم الحصانة العامة والتعرض.

وجود ثغرة أمنية في العنوانعدد CVEالإعلان عناستغلال
TLS/SSL التحايلCVE-2016-0149نعملا

حل مشكلة عدم الحصانة

تغيير عرض في نشرة أمان Microsoft MS16-065 أسباب تسجيل TLS الأول بعد عملية تبادل الإشارات تقسيم. يؤدي سلستريم و WebRequest (HttpWebRequest، فتبويبريكويست)، SmtpClient وهتبكلينت (حيث استناداً إلى HttpWebRequest) تدفقات إرجاع بايت واحد للقراءة الأولى، متبوعاً ببايت المتبقية (n-1) في القراءة المتتابعة. يحدث هذا التغيير في السلوك فقط للتطبيقات التي تستخدم TLS 1.0 + تسلسل كتلة التشفير، ولكن ليس عند استخدام TLS 1.1 أو TLS 1.2.

ملاحظة: يجب عليك تثبيت كشرط مسبق، نشرة أمان Microsoft رقم MS12-006 لتمكين هذا التحديث.

قد يؤدي هذا التغيير بعض التطبيقات التي تستند إلى "إطار. NET" للخروج. توضح هذه المقالة طريقتان يمكنك استخدام التطبيق الخاص بك ليعمل بشكل صحيح بعد تثبيت تحديث نشرة أمان Microsoft MS16-065.

عوامل تخفيف مشاكل مشكلات التوافق

الخيار 1: التبديل إلى بروتوكول TLS 1.2

هذا الخيار يجعل تطبيق استخدام بروتوكول TLS 1.2 بتعديل التسجيل أو تكوين إصدار البروتوكول برمجياً.
  • تعديل التسجيل

    هامة: اتبع الخطوات الموجودة في هذا القسم بعناية. قد تحدث مشكلات خطيرة إذا قمت بتعديل التسجيل بشكل غير صحيح. قبل تعديله، النسخ الاحتياطي لاستعادة التسجيل في حالة حدوث مشاكل.

    4.5.x NET Framework التطبيقات التي يتم تشغيلها على ". NET Framework 4، 5" والإصدارات الأحدث و. NET Framework 4.0 التبديل البروتوكول الافتراضي إلى TLS 1.2 و TLS 1.1 و TLS 1.0 بتمكين مفتاح التسجيل شوسيسترونجكريبتو . مفتاح التسجيل هذا قد تمت مناقشته في قسم الإجراءات المقترحة2960358 النصائح الإرشادية للأمان من Microsoft الموضوع على موقع Microsoft TechNet على ويب.

    هامة: يعمل هذا التغيير التسجيل فقط إذا تحققت الشروط التالية:
    • تقوم التطبيقات التي تستخدم واجهات برمجة التطبيقات المستندة إلى سيرفيسيبوينتماناجير الإعداد لاServicePointManager.SecurityProtocol قيمة بشكل صريح. تتضمن أمثلة هذه الفئات System.Net.Http.HttpClientSystem.Net.FtpWebRequest، System.Net.HttpWebRequestو System.Net.Mail.SmtpClient. إعداد ServicePointManager.SecurityProtocol في التعليمات البرمجية الأسبقية على التسجيل.
    • تستخدم التطبيقات سلستريم AuthenticateAsClient(String) التحميل الزائد.

  • تكوين إصدار البروتوكول برمجياً

    . Net Framework 4.0 و 4.5 التطبيقات التي يتم تشغيلها على ". NET Framework 4، 5" والإصدارات الأحدث والتي تستخدم AuthenticateAsClient(String,X509CertificateCollection,SslProtocols,Boolean) سلستريم يجب معاد التحميل الزائد، تحديد SslProtocols.Tls12و SslProtocols.Tls11و SslProtocols.Tls كمعلمة ثالثة. للحصول على وصف كامل لكيفية استخدام فئة سلستريم، راجع الفئة سلستريم الموضوع على موقع مطوري Microsoft (MSDN).

    ملاحظة: . Net Framework 4، 6 والإصدارات الأحدث استخدام TLS 1.2 و TLS 1.1 و TLS 1.0 كافتراضيات البروتوكول. يناقش هذا الأمر في 2960358 النصائح الإرشادية للأمان من Microsoft الموضوع على موقع Microsoft TechNet على ويب.

الخيار 2: مقبض تقسيم الحزم

يؤدي هذا التحديث سجل مفرد تقسيمها إلى سجلات متعددة. ولذلك، إذا كان يتوقع تطبيق سجل كامل تكون متوفرة في مكالمة قراءة واحدة، قد قطع هذه الطلبات. للتأكد من أن التطبيق يعمل بشكل صحيح، تحقق من أن التطبيق يعالج تقسيم الحزم عن طريق إجراء استدعاء Stream.Read بشكل صحيح. يمكنك استخدام نموذج التعليمات البرمجية متوفرة هنا استدعاء كمرجع لكيفية إصلاح التطبيق لأداء القراءة بشكل صحيح.

طلب HTTP نموذج يوضح الفرق في السلوك قبل (بالتخفيف) وبعد (دون التخفيف) التحديثات 3147461 و 3147458 تم تثبيت، راجع قسم "مزيد من المعلومات".

على سبيل مثال كامل لطريقة Stream.Read ، راجع أسلوب Stream.Read (Byte[],Int32,Int32) الموضوع على موقع مطوري Microsoft (MSDN).

حلول لمشكلات توافق التطبيقات

تحذير قد هذه الحلول إلى جعل جهاز كمبيوتر أو شبكة أكثر عرضه للهجمات التي تتم من قبل المستخدمين الضارين أو من قبل البرامج الضارة كالفيروسات. لا نوصي بهذه الحلول لكننا نورد هذه المعلومات حتى يكون لك تطبيق هذه الحلول رؤيتك. استخدام هذه الحلول على مسؤوليتك الخاصة.

الطريقة الأولى: تحديث مفاتيح التسجيل (متوفر لكافة إصدارات NET Framework)



تعطيل بنية SCH_SEND_AUX_RECORD (عالمياً)
لكافة التطبيقات، بإضافة مفتاح التسجيل الفرعي التالي:
موقع التسجيل:
HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\<version_number>

اسم DWORD: شسينداوكسريكورد
قيمة البيانات: 0

ملاحظة: هو العنصر النائب <version_number>v4.0.30319 أو v2.0.50727، تبعاً للإصدار.

لتطبيقات 32-بت التي تعمل على أجهزة كمبيوتر 64 بت أيضا إضافة مفتاح التسجيل الفرعي التالي:
</version_number>
موقع التسجيل:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\<version_number>

اسم DWORD: شسينداوكسريكورد
قيمة البيانات: 0

ملاحظة: هو العنصر النائب <version_number>v4.0.30319 أو v2.0.50727، تبعاً للإصدار.

</version_number>
الحل البديل
لتعطيل الوضع الأمن الموضحة في هذه المقالة بشكل مؤقت، انقر فوق الارتباط المناسب لتحميل ملف.reg، وثم انقر نقراً مزدوجاً فوق الملف.reg الذي تم تنزيله لإجراء التغييرات على التسجيل.

للتطبيقات التي تستهدف Microsoft NET Framework 35:

لتطبيقات استهداف Microsoft net Framework 4.0 والإصدارات الأحدث:

لإعادة تمكين الوضع الأمن الموضحة في هذه المقالة، انقر فوق الارتباط المناسب لتحميل ملف.reg، ومن ثم انقر نقراً مزدوجاً فوق الملف.reg الذي تم تنزيله لإجراء التغييرات على التسجيل.

للتطبيقات التي تستهدف Microsoft NET Framework 35:

لتطبيقات استهداف Microsoft net Framework 4.0 والإصدارات الأحدث:

لمزيد من المعلومات حول كيفية تنزيل ملفات دعم Microsoft، انقر فوق رقم المقالة التالي عرضها في "قاعدة معارف Microsoft":
119591 كيفية الحصول على ملفات دعم Microsoft من خدمات الإنترنت
قامت Microsoft بفحص هذا الملف بحثًا عن الفيروسات. استخدمت Microsoft أحدث برامج الكشف عن الفيروسات التي كانت متوفرة في التاريخ الذي تم نشر الملف فيه. يتم تخزين الملف على خوادم محسنة الأمان تساعد على منع إجراء أية تغييرات غير مصرح بها على الملف.


تعطيل بنية SCH_SEND_AUX_RECORD للتطبيقات الفردية
لكافة التطبيقات، بإضافة مفتاح التسجيل الفرعي التالي:
موقع التسجيل:
HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\<version_number>\System.Net.ServicePointManager.SchSendAuxRecord

اسم DWORD: المسار المؤهل بالكامل للتطبيق.exe (على سبيل المثال، C:\MyApp\MyApp.exe)
قيمة البيانات: 0

ملاحظة: هو العنصر النائب <version_number>v4.0.30319 أو v2.0.50727، تبعاً للإصدار.

لتطبيقات 32-بت التي تعمل على أجهزة كمبيوتر 64 بت أيضا إضافة مفتاح التسجيل الفرعي التالي:
</version_number>
موقع التسجيل:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\<version_number>\System.Net.ServicePointManager.SchSendAuxRecord

اسم DWORD: المسار المؤهل بالكامل للتطبيق.exe (على سبيل المثال، C:\MyApp\MyApp.exe)
قيمة البيانات: 0 (القيمة الصالحة الوحيدة 0. سيتم تجاهل أية قيمة.)

ملاحظة: هو العنصر النائب <version_number>v4.0.30319 أو v2.0.50727، تبعاً للإصدار.

</version_number>

الطريقة الثانية: تغيير تكوين مستوى التطبيق (متوفر فقط لإصدار NET Framework 4, 6 والإصدارات الأحدث)

بدءاً من 4, 6 ب. NET Framework، يمكنك تغيير تكوين مستوى تطبيق من خلال التعليمات البرمجية أو تطبيق تغييرات التكوين أو التسجيل.

في ". NET Framework 4, 6"، يمكنك تعيين مفتاح التبديل باستخدام أي من الطرق التالية. هذه الأمثلة بتعطيل ميزة الأمان.
  • برمجياً

    أول شيء يجب القيام به التطبيق يتم تشغيل التعليمات البرمجية التالية. وهذا لأنه سيتم تهيئة "إدارة نقطة الخدمة" مرة واحدة فقط.
    private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching"; private const string DontEnableSchSendAuxRecordName = @"Switch.System.Net.DontEnableSchSendAuxRecord"; AppContext.SetSwitch(DisableCachingName, true); AppContext.SetSwitch(DontEnableSchSendAuxRecordName , true);
  • تكوين التطبيق

    لتغيير تكوين التطبيق، يضاف ما يلي:
    <runtime><AppContextSwitchOverrides value="Switch.System.Net.DontEnableSchSendAuxRecord=true"/></runtime>
  • مفتاح التسجيل (الكمبيوتر العالمي)

    مواقع التسجيل:
    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext
    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\AppContext

    قيمة: Switch.System.Net.DontEnableSchSendAuxRecord
    نوع: سلسلة
    قيمة: صحيح

    ملاحظة: Switch.System.Net.DontEnableSchSendAuxRecord = False لكافة التطبيقات.
معلومات أخرى
التالي نمط نموذج عميل/ملقم اتصال قبل وبعد تثبيت هذا التحديث. يتم توفير هذه المعلومات لتوضيح لتعريف أي الكسر التطبيق بسبب تثبيت هذا الإصلاح.

دون التخفيفمع التخفيف
[خادم] انتظار للاتصالات (127.0.0.1:4431)
[العميل] الاتصال ب localhost:4431
[خادم] متصل عميل.
[العميل] متصل. مصادقة...
[خادم] مصادقة العميل.
[العميل] إرسال طلب (94 بايت)
[العميل] في انتظار الرد...

[خادم] وحدات البايت المتلقاة 94:<GET></GET>
المضيف: contoso.com
عميل المستخدم: تطبيق اختبار

>>>
[خادم] رد 476 بايت.

[العميل بايت 1: 476] الرد:<HTTP .1="" 200=""></HTTP>

>>>>>
[خادم] انتظار للاتصالات (127.0.0.1:4431)
[العميل] الاتصال ب localhost:4431
[خادم] متصل عميل.
[العميل] متصل. مصادقة...
[خادم] مصادقة العميل.
[العميل] إرسال طلب (94 بايت)
[العميل] في انتظار الرد...
[خادم] تلقي 1 بايت: <G>>><b00> </b00> </G>
[خادم] وحدات البايت المتلقاة 93:<ET></ET>
المضيف: contoso.com
عميل المستخدم: تطبيق اختبار

>>>
[خادم] رد 476 بايت.
[العميل 1: 1 بايت] الرد: <H>>>><b00> </b00> </H>
[العميل 2: 475 بايت] الرد:<TTP .1="" 200=""></TTP>

>>>>>

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 3155464 - آخر مراجعة: 05/11/2016 05:07:00 - المراجعة: 1.0

Microsoft .NET Framework 4.6.1, Microsoft .NET Framework 4.6, Microsoft .NET Framework 4.5.2, Microsoft .NET Framework 3.5.1, Microsoft .NET Framework 3.5, Microsoft .NET Framework 2.0 Service Pack 2

  • kbsecvulnerability kbsecurity kbsecbulletin kbfix kbexpertiseinter kbbug atdownload kbmt KB3155464 KbMtar
تعليقات