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

    • สำหรับกระบวนการ 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

    คุณยังสามารถเลิกประจำรแกรมประยุกต์ต่อโปรแกรมประยุกต์ ตัวเลือกต่อไปนี้จะพร้อมใช้งานสำหรับการปิดใช้งานการเปลี่ยนแปลงนี้เมื่อต้องการตรวจสอบให้แน่ใจว่าโปรแกรมประยุกต์รแกรมประยุกต์ความเข้ากันได้ถูกรักษาไว้วิธีที่ 2: ปิดใช้งานนโยบายสำหรับโปรแกรมประยุกต์แต่ละตัวหมายเหตุ รายการTรีจิสทรีของเขาต้องเป็นรายการ DWORD ค่าถูกต้องเท่านั้นคือ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

    วิธีที่ 3: ใช้การตั้งค่าคอนฟิก API (พร้อมใช้งานสำหรับ.NET Framework 4.6 และรุ่นที่ใหม่กว่า) เริ่มต้นในการที่ 4.6 .NET Framework คุณสามารถเปลี่ยนการตั้งค่าคอนฟิกที่ระดับโปรแกรมประยุกต์ผ่านรหัสการกำหนดค่าโปรแกรมประยุกต์,หรือการเปลี่ยนแปลงรีจิสทรีได้สวิตช์ในการตั้งค่าคอนฟิก.NET Framework 4.6หมายเหตุ ต่อไปนี้ตัวอย่างปิดใช้งานคุณลักษณะการรักษาความปลอดภัย

    • 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

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

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

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

    ความปลอดภัย4019112และค่าสะสมคุณภาพสำหรับ.NET Framework 3.5.1, 4.5.2, 4.6, 4.6.1 การ และ 4.6.2 การปรับปรุงสำหรับ Windows 7 Service Pack 1 และ Windows Server 2008 R2 Service Pack 1: 9 พฤษภาคม 2017

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

วิธีที่ 1: การปรับปรุง Windows

โปรแกรมปรับปรุงนี้จะพร้อมใช้งานผ่านทาง Windows Update เมื่อคุณเปิดการปรับปรุงอัตโนมัติ การปรับปรุงนี้จะสามารถดาวน์โหลด และติดตั้งโดยอัตโนมัติ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการรับการปรับปรุงการรักษาความปลอดภัยโดยอัตโนมัติ ดูWindows Update: FAQ  

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ข้อมูลแฟ้ม

ชื่อแพคเกจ

แพคเกจแฮ SHA 1

แพคเกจแฮ SHA 2

NDP46-KB4014508-x64.exe

BF8BC7D1D93CE7C4D2BB1DF260B48829DEDB56F1

2101D5065FA98EA1147E3790DB461ABD8E3C432A208AB5898E05CDC7B5F662F0

NDP46-KB4014508-x86.exe

4F1326EFE09B1CCBC400462831AB00D578756569

8A230568C772878AB3C221712ACAA9464C3C68D1D7C9D82362C46257B228CF08

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

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

ชื่อแฟ้ม

รุ่นของแฟ้ม

ขนาดของแฟ้ม

วันที่

เวลา

PenIMC.dll

4.6.1647.0

81,560

29-Mar-2017

23:32

PresentationCore.dll

4.6.1647.0

3,521,880

29-Mar-2017

23:32

PresentationFramework.dll

4.6.1647.0

6,190,960

29-Mar-2017

23:32

PresentationHost_v0400.dll

4.6.1647.0

197,848

29-Mar-2017

23:32

PresentationNative_v0400.dll

4.6.1647.0

826,592

29-Mar-2017

23:32

System.Core.dll

4.6.1647.0

1,349,280

29-Mar-2017

23:31

System.Data.dll

4.6.1647.0

3,389,616

29-Mar-2017

23:31

System.dll

4.6.1647.0

3,506,824

29-Mar-2017

23:31

System.Management.dll

4.6.1647.0

415,432

29-Mar-2017

23:31

System.Windows.Controls.Ribbon.dll

4.6.1647.0

742,808

29-Mar-2017

23:32

System.Xaml.dll

4.6.1647.0

631,456

29-Mar-2017

23:32

WindowsBase.dll

4.6.1647.0

1,277,768

29-Mar-2017

23:32

WMINet_Utils.dll

4.6.1647.0

136,368

29-Mar-2017

23:31

WPFFontCache_v0400.exe

4.6.1647.0

25,720

29-Mar-2017

23:32

wpfgfx_v0400.dll

4.6.1647.0

1,759,920

29-Mar-2017

23:32

VsVersion.dll

14.6.1647.0

19,112

29-Mar-2017

23:31

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

ชื่อแฟ้ม

รุ่นของแฟ้ม

ขนาดของแฟ้ม

วันที่

เวลา

PenIMC.dll

4.6.1647.0

97,432

29-Mar-2017

23:44

PenIMC.dll

4.6.1647.0

81,560

29-Mar-2017

23:32

PresentationCore.dll

4.6.1647.0

3,504,320

29-Mar-2017

23:44

PresentationCore.dll

4.6.1647.0

3,521,880

29-Mar-2017

23:32

PresentationFramework.dll

4.6.1647.0

6,190,960

29-Mar-2017

23:32

PresentationHost_v0400.dll

4.6.1647.0

254,680

29-Mar-2017

23:44

PresentationHost_v0400.dll

4.6.1647.0

197,848

29-Mar-2017

23:32

PresentationNative_v0400.dll

4.6.1647.0

1,107,680

29-Mar-2017

23:44

PresentationNative_v0400.dll

4.6.1647.0

826,592

29-Mar-2017

23:32

System.Core.dll

4.6.1647.0

1,349,280

29-Mar-2017

23:31

System.Data.dll

4.6.1647.0

3,454,640

29-Mar-2017

23:44

System.Data.dll

4.6.1647.0

3,389,616

29-Mar-2017

23:31

System.dll

4.6.1647.0

3,506,824

29-Mar-2017

23:31

System.Management.dll

4.6.1647.0

415,432

29-Mar-2017

23:31

System.Windows.Controls.Ribbon.dll

4.6.1647.0

742,808

29-Mar-2017

23:32

System.Xaml.dll

4.6.1647.0

631,456

29-Mar-2017

23:32

WindowsBase.dll

4.6.1647.0

1,277,768

29-Mar-2017

23:32

WMINet_Utils.dll

4.6.1647.0

188,080

29-Mar-2017

23:44

WMINet_Utils.dll

4.6.1647.0

136,368

29-Mar-2017

23:31

WPFFontCache_v0400.exe

4.6.1647.0

26,744

30-Mar-2017

01:32

WPFFontCache_v0400.exe

4.6.1647.0

25,720

29-Mar-2017

23:32

wpfgfx_v0400.dll

4.6.1647.0

2,262,712

29-Mar-2017

23:44

wpfgfx_v0400.dll

4.6.1647.0

1,759,920

29-Mar-2017

23:32

VsVersion.dll

14.6.1647.0

19,104

29-Mar-2017

23:44

VsVersion.dll

14.6.1647.0

19,112

29-Mar-2017

23:31

 

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

นำไปใช้กับ

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

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

    • Windows Server 2008 R2 Service Pack 1

    • Windows 7 Service Pack 1

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

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

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

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