Applies To.NET Framework 4.6

ดูผลิตภัณฑ์ที่เกี่ยวข้องกับบทความนี้

สรุป

การปรับปรุงการรักษาความปลอดภัยนี้สำหรับ Microsoft .NET Framework สามารถแก้ไขช่องโหว่ข้ามคุณลักษณะความปลอดภัยที่.NET Framework (และแกนนำ.NET) คอมโพเนนต์ไม่ตรวจสอบใบรับรองอย่างสมบูรณ์ เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับช่องโหว่นี้ ดูช่องโหว่ทั่วไปของ Microsoft และ Exposures CVE-2017-0248

โปรแกรมปรับปรุงนี้ยังประกอบด้วยการแก้ไขปรับปรุงการรักษาความปลอดภัยกับความสามารถของคอมโพเนนต์ของกรอบงานนำเสนอ Windows PackageDigitalSignatureManagerแพคเกจกับอัลกอริทึมการแฮ SHA256 การลงชื่อเข้าใช้

สิ่งสำคัญ

  • ถ้าคุณติดตั้งชุดภาษาหลังจากที่คุณติดตั้งโปรแกรมปรับปรุงนี้ คุณต้องติดตั้งโปรแกรมปรับปรุงนี้อีกครั้ง ดังนั้น เราขอแนะนำให้คุณติดตั้งชุดภาษาใด ๆ ที่คุณต้องการก่อนที่คุณจะติดตั้งโปรแกรมปรับปรุงนี้ สำหรับข้อมูลเพิ่มเติม ดูชุดภาษาเพิ่มลงใน Windows

ข้อมูลเพิ่มเติมเกี่ยวกับการปรับปรุงการรักษาความปลอดภัยนี้

คำเตือน

ปัญหาร้ายแรงอาจเกิดขึ้นหากคุณปรับเปลี่ยนรีจิสทรีอย่างไม่ถูกต้อง โดยใช้ Registry Editor หรือ โดยใช้วิธีอื่น ปัญหาเหล่านี้อาจกำหนดให้คุณต้องติดตั้งระบบปฏิบัติการ Microsoft ไม่สามารถรับประกันว่า ปัญหาเหล่านี้จะสามารถแก้ไข ปรับเปลี่ยนรีจิสทรีคุณต้องเสี่ยง

  • การใช้คีย์ขั้นสูง (EKU) ถูกอธิบายไว้ในRFC 5280 ในส่วน 4.2.1.12: ส่วนขยายนี้บ่งชี้ว่า หนึ่ง หรือวัตถุประสงค์เพิ่มเติม สำหรับที่ คีย์สาธารณะที่ออกใบรับรองอาจใช้ได้ นอกจากนี้ หรือแทนวัตถุประสงค์พื้นฐานที่มีระบุไว้ในส่วนขยายการใช้คีย์ ตัวอย่างเช่น ใบรับรองที่ใช้สำหรับการรับรองความถูกต้องของไคลเอนต์ไปยังเซิร์ฟเวอร์ต้องถูกกำหนดค่าสำหรับการรับรองความถูกต้องของไคลเอ็นต์ ในทำนองเดียวกัน ใบรับรองที่ใช้สำหรับการรับรองความถูกต้องของเซิร์ฟเวอร์ต้องถูกกำหนดค่าสำหรับการรับรองความถูกต้องของเซิร์ฟเวอร์ เมื่อมีใช้ใบรับรองสำหรับการรับรองความถูกต้อง การรับรองความถูกต้องตรวจสอบไคลเอ็นต์ใบรับรองและค้นหาตัวระบุวัตถุวัตถุประสงค์ที่ถูกต้องในส่วนขยายของนโยบายเกี่ยวกับโปรแกรมประยุกต์ ตัวอย่างเช่น รหัสออบเจ็กต์สำหรับการรับรองความถูกต้องของไคลเอ็นต์เป็น 1.3.6.1.5.5.7.3.2 เมื่อมีใช้ใบรับรองสำหรับการรับรองความถูกต้องของไคลเอ็นต์ ตัวระบุวัตถุนี้ต้องมีอยู่ในส่วนขยาย EKU ของใบรับรองหรือการรับรองความถูกต้องล้มเหลว ใบรับรองที่มีนามสกุล EKU ไม่ดำเนินการต่อไปเพื่อรับรองความถูกต้อง ถ้าคุณเป็นการชั่วคราวการไม่สามารถเข้าถึงใบรับรองได้อย่างถูกต้องreissued คุณสามารถเลือกที่จะเข้าร่วมในหรือออกจากการรักษาความปลอดภัยเปลี่ยนระหว่างปฏิบัติการของคอมพิวเตอร์ทั้งหมดเพื่อหลีกเลี่ยงการลักษณะพิเศษใด ๆ ที่เชื่อมต่อ เมื่อต้องการทำเช่นนี้ ระบุรีจิสทรีต่อไปนี้คีย์การตั้งค่า ขึ้นอยู่กับ.NET Frameworkรุ่นของ appรแกรมประยุกต์กำหนดเป็นเป้าหมายวิธีที่ 1: การปรับปรุงรีจิสทรีคีย์ (พร้อมใช้งานสำหรับรุ่นทั้งหมด)หมายเหตุ รายการรีจิสทรีนี้ต้องเป็นรายการ DWORD คุณยังสามารถเลิกประจำรแกรมประยุกต์ต่อโปรแกรมประยุกต์ ตัวเลือกต่อไปนี้จะพร้อมใช้งานสำหรับการปิดใช้งานการเปลี่ยนแปลงนี้เมื่อต้องการตรวจสอบให้แน่ใจว่าโปรแกรมประยุกต์รแกรมประยุกต์ความเข้ากันได้ถูกรักษาไว้วิธีที่ 2: ปิดใช้งานนโยบายสำหรับโปรแกรมประยุกต์แต่ละตัวหมายเหตุ รายการTรีจิสทรีของเขาต้องเป็นรายการ DWORD ค่าถูกต้องเท่านั้นคือ0 ใด ๆ อื่น ๆ ค่าจะถูกละเว้นด้วย 

    วิธีที่ 3: ใช้การตั้งค่าคอนฟิก API (พร้อมใช้งานสำหรับ.NET Framework 4.6 และรุ่นที่ใหม่กว่า)

    เริ่มต้นใน 4.6 กรอบงาน.NET คุณสามารถเปลี่ยนการตั้งค่าคอนฟิกที่ระดับโปรแกรมประยุกต์ผ่านรหัส การตั้งค่าคอนฟิกแอพลิเคชัน หรือเปลี่ยนแปลงรีจิสทรี

สวิตช์ในการตั้งค่าคอนฟิก .NET Framework 4.6 หมายเหตุ ต่อไปนี้ตัวอย่างปิดใช้งานคุณลักษณะการรักษาความปลอดภัย

หมายเหตุ โดยค่าเริ่มต้นSwitch.System.Net.DontCheckCertificateEKUsName = Trueสำหรับทั้งหมด.NET Framework 4 x โปรแกรมประยุกต์ที่กำลังทำงานอยู่บนการ.NET Framework 4.6 และรุ่นที่ใหม่กว่า

  • สำหรับกระบวนการ 32 บิตบนระบบ 32 บิตและ 64 บิตการประมวลผลบนระบบ 64 บิต:

    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319@RequireCertificateEKUs=0

  • สำหรับกระบวนการ 32 บิตระบบ 64 บิต:

    HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\.NETFramework\v4.0.30319@RequireCertificateEKUs=0

  • สำหรับกระบวนการ 32 บิตบนระบบ 32 บิตและ 64 บิตการประมวลผลบนระบบ 64 บิต:

    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v4.0.30319@System.Net.ServicePointManager.RequireCertificateEKUs S:\Prj\console_pg\console_pg45\bin\Release\console_pg45.exe=0 C:\MyApp\MyApp.exe=0

  • สำหรับกระบวนการ 32 บิตระบบ 64 บิต:

    HKEY_LOCAL_MACHINE \Software\Wow6432Node\Microsoft\.NETFramework\v4.0.30319@System.Net.ServicePointManager.RequireCertificateEKUs S:\Prj\console_pg\console_pg45\bin\Release\console_pg45.exe=0 C:\MyApp\MyApp.exe=0

  • Programmatically สิ่งแรกที่ควรทำแอพลิเคชันมีการเรียกใช้รหัสดังต่อไปนี้ เป็นเช่นนี้ เพราะตัวจัดการบริการจุดเริ่มต้นsเพียงครั้งเดียว   private const string DisableCachingName = @"TestSwitch.LocalAppContext.DisableCaching"; private const string DontCheckCertificateEKUsName= @"Switch.System.Net.DontCheckCertificateEKUs"; AppContext.SetSwitch(DisableCachingName, true); AppContext.SetSwitch(DontCheckCertificateEKUsName, true);

  • Application configuration เมื่อต้องการเปลี่ยนการตั้งค่าคอนฟิกแอพลิเคชัน เพิ่มรายการต่อไปนี้:   <runtime> <AppContextSwitchOverrides value="Switch.System.Net.DontCheckCertificateEKUsName=true"/> </runtime>

  • คีย์รีจิสทรี (จักรสากล):

    Registry location: HKEY_LOCAL_MACHINE\Software\[Wow6432Node\]Microsoft\.NETFramework\AppContext\Switch.System.Net.DontCheckCertificateEKUsName

    ชนิด: สายอักขระค่า: "จริง"

  • สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรักษาความปลอดภัยนี้ปรับปรุงเท่านั้นเกี่ยวข้องกับ Windows Server 2012 ดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:

    ปรับปรุงความปลอดภัยเท่านั้นสำหรับ 1 .NET Framework 3.5 Service Pack 4019110 , 4.5.2, 4.6, 4.6.1 การ และ 4.6.2 การปรับปรุงสำหรับ Windows Server 2012: 9 พฤษภาคม 2017

วิธีการขอรับและติดตั้งการปรับปรุง

วิธีที่ 1: แค็ตตาล็อก Microsoft Update

เมื่อต้องการรับแพคเกจแบบสแตนด์อโลนสำหรับการปรับปรุงนี้ ไปที่Microsoft Update Catalog

วิธีที่ 2: Windows ซอฟต์แวร์ Update Services (WSUS)

บนเซิร์ฟเวอร์ WSUS ของคุณ ให้ทำตามขั้นตอนเหล่านี้:

  1. คลิกเริ่มคลิกเครื่องมือการจัดการและจากนั้น คลิกMicrosoft Windows Server Update Services 3.0

  2. ขยายชื่อคอมพิวเตอร์และจากนั้น คลิกการดำเนินการ

  3. คลิกการปรับปรุงการนำเข้า

  4. WSUS จะเปิดหน้าต่างเบราว์เซอร์ที่คุณอาจได้รับพร้อมท์ให้ติดตั้งตัวควบคุม ActiveX คุณต้องติดตั้งตัวควบคุม ActiveX เพื่อดำเนินต่อ

  5. เมื่อตัวควบคุมถูกติดตั้งแล้ว คุณจะเห็นหน้าจอแค็ตตาล็อกปรับปรุงของ Microsoft ใส่4019110ลงในกล่องค้นหาและจากนั้น คลิกค้นหา

  6. ค้นหาแพคเกจ.NET Framework ที่ตรงกับระบบปฏิบัติการ ภาษา และตัวประมวลผลในสภาพแวดล้อมของคุณ คลิกเพิ่มเพื่อเพิ่มลงในตะกร้าสินค้าของคุณ

  7. เมื่อคุณเลือกบรรจุภัณฑ์ทั้งหมดที่คุณจำเป็น คลิกมุมมองตะกร้า

  8. คลิกนำเข้าเพื่อนำเข้าแพคเกจไปยังเซิร์ฟเวอร์ WSUS ของคุณ

  9. คลิกปิดเมื่อมีการนำเข้าแพคเกจเพื่อกลับไป WSUS

ขณะนี้มีโปรแกรมปรับปรุงสำหรับการติดตั้งผ่าน WSUS

ข้อมูลการปรับใช้การปรับปรุง

สำหรับรายละเอียดการปรับใช้สำหรับการปรับปรุงการรักษาความปลอดภัยนี้ ดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:

ข้อมูลการปรับใช้การปรับปรุงความปลอดภัย20170509 : 9 พฤษภาคม 2017

อัพเดตข้อมูลการเอาออก

หมายเหตุ เราไม่แนะนำให้ คุณลบโปรแกรมปรับปรุงความปลอดภัยใด

เมื่อต้องการลบโปรแกรมปรับปรุงนี้ ใช้รายการโปรแกรมและคุณลักษณะในแผงควบคุม

ปรับปรุงข้อมูลการเริ่มระบบใหม่

โปรแกรมปรับปรุงนี้ไม่จำเป็นต้องเริ่มระบบใหม่หลังจากที่คุณนำไปใช้จนกว่าแฟ้มที่กำลังถูกปรับปรุงถูกล็อก หรือกำลังถูกใช้งาน

ข้อมูลการแทนที่การปรับปรุง

โปรแกรมปรับปรุงนี้ไม่ได้แทนที่โปรแกรมปรับปรุงใด ๆ ที่ออกมาก่อนหน้านี้

ข้อมูลแฟ้ม

ชื่อแพคเกจ

แพคเกจแฮ SHA 1

แพคเกจแฮ SHA 2

Windows8-RT-KB4014586-x64.msu

92EF5AE9A05E1287A10061E5610B9EC756EB2B94

7191CF1437F016BF4B422C34B7660BB978713EE0B0A932AEE4A0BBF9DC3CCAE7

โปรแกรมแก้ไขด่วนรุ่นภาษาอังกฤษ (สหรัฐอเมริกา) ติดตั้งแฟ้มที่มีแอตทริบิวต์ที่แสดงในตารางต่อไปนี้ วันที่และเวลาสำหรับแฟ้มเหล่านี้จะแสดงรายการไว้ในรูปแบบเวลามาตรฐานสากล (UTC) วันที่และเวลาสำหรับแฟ้มเหล่านี้บนเครื่องคอมพิวเตอร์เฉพาะที่ของคุณจะแสดงผลตามเวลาท้องถิ่นของคุณร่วมกับความโน้มเอียงของเวลาตามฤดูกาล (DST) ในปัจจุบันของคุณ นอกจากนี้ วันที่และเวลาอาจจะเปลี่ยนแปลงไปได้อีกด้วยเมื่อคุณดำเนินการบางอย่างกับแฟ้มนี้

สำหรับระบบที่ใช้ x64 ทั้งหมด

ชื่อแฟ้ม

รุ่นของแฟ้ม

ขนาดของแฟ้ม

วันที่

เวลา

PenIMC.dll

4.6.1647.0

97,432

29-Mar-2017

00:25

PenIMC.dll

4.6.1647.0

81,560

29-Mar-2017

00:12

PresentationCore.dll

4.6.1647.0

3,504,320

29-Mar-2017

00:25

PresentationCore.dll

4.6.1647.0

3,521,880

29-Mar-2017

00:12

PresentationFramework.dll

4.6.1647.0

6,190,960

29-Mar-2017

00:12

PresentationHost_v0400.dll

4.6.1647.0

254,680

29-Mar-2017

00:25

PresentationHost_v0400.dll

4.6.1647.0

197,848

29-Mar-2017

00:12

PresentationNative_v0400.dll

4.6.1647.0

1,107,680

29-Mar-2017

00:25

PresentationNative_v0400.dll

4.6.1647.0

826,592

29-Mar-2017

00:12

System.Core.dll

4.6.1647.0

1,349,280

29-Mar-2017

00:12

System.dll

4.6.1647.0

3,506,824

29-Mar-2017

00:12

System.Windows.Controls.Ribbon.dll

4.6.1647.0

742,808

29-Mar-2017

00:12

System.Xaml.dll

4.6.1647.0

631,456

29-Mar-2017

00:12

WindowsBase.dll

4.6.1647.0

1,277,768

29-Mar-2017

00:12

WPFFontCache_v0400.exe

4.6.1647.0

26,744

29-Mar-2017

02:09

WPFFontCache_v0400.exe

4.6.1647.0

25,720

29-Mar-2017

00:12

wpfgfx_v0400.dll

4.6.1647.0

2,262,712

29-Mar-2017

00:25

wpfgfx_v0400.dll

4.6.1647.0

1,759,920

29-Mar-2017

00:12

VsVersion.dll

14.6.1647.0

19,104

29-Mar-2017

00:25

VsVersion.dll

14.6.1647.0

19,112

29-Mar-2017

00:12

 

วิธีการขอรับบริการช่วยเหลือและสนับสนุนสำหรับการปรับปรุงการรักษาความปลอดภัยนี้

นำไปใช้กับ

บทความนี้ใช้ต่อไปนี้:

  • Microsoft .NET Framework 4.6.2 การเมื่อใช้กับ:

    • Windows Server 2012

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย