สรุป
การปรับปรุงการรักษาความปลอดภัยนี้สำหรับ 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 ของคุณ ให้ทำตามขั้นตอนเหล่านี้:
-
คลิกเริ่มคลิกเครื่องมือการจัดการและจากนั้น คลิกMicrosoft Windows Server Update Services 3.0
-
ขยายชื่อคอมพิวเตอร์และจากนั้น คลิกการดำเนินการ
-
คลิกการปรับปรุงการนำเข้า
-
WSUS จะเปิดหน้าต่างเบราว์เซอร์ที่คุณอาจได้รับพร้อมท์ให้ติดตั้งตัวควบคุม ActiveX คุณต้องติดตั้งตัวควบคุม ActiveX เพื่อดำเนินต่อ
-
เมื่อตัวควบคุมถูกติดตั้งแล้ว คุณจะเห็นหน้าจอแค็ตตาล็อกปรับปรุงของ Microsoft ใส่4019112ลงในกล่องค้นหาและจากนั้น คลิกค้นหา
-
ค้นหาแพคเกจ.NET Framework ที่ตรงกับระบบปฏิบัติการ ภาษา และตัวประมวลผลในสภาพแวดล้อมของคุณ คลิกเพิ่มเพื่อเพิ่มลงในตะกร้าสินค้าของคุณ
-
เมื่อคุณเลือกแพคเกจทั้งหมดที่คุณจำเป็น คลิกมุมมองตะกร้า
-
คลิกนำเข้าเพื่อนำเข้าแพคเกจไปยังเซิร์ฟเวอร์ WSUS ของคุณ
-
คลิกปิดเมื่อมีการนำเข้าแพคเกจเพื่อกลับไป 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 |
วิธีการขอรับบริการช่วยเหลือและสนับสนุนสำหรับการปรับปรุงการรักษาความปลอดภัยนี้
-
วิธีใช้สำหรับการติดตั้งการปรับปรุง:บ่อยโปรแกรมปรับปรุงของ Windows
-
โซลูชันการรักษาความปลอดภัยสำหรับผู้เชี่ยวชาญด้าน IT: สนับสนุนการรักษาความปลอดภัยของ TechNet และการแก้ไขปัญหาเบื้องต้น
-
ช่วยป้องกัน Windows โดยใช้ผลิตภัณฑ์และบริการของคุณจากไวรัสและมัลแวร์: รักษาความปลอดภัยของ Microsoft
-
การสนับสนุนท้องที่ในประเทศของคุณ:การสนับสนุนสากล
นำไปใช้กับ
บทความนี้ใช้ต่อไปนี้:
-
Microsoft .NET Framework 4.6.2 การเมื่อใช้กับ:
-
Windows Server 2008 R2 Service Pack 1
-
Windows 7 Service Pack 1
-