Microsoft พบช่องโหว่ในการเซ็นชื่อในโครงการแมโคร Office Visual Basic for Applications (VBA) ช่องโหว่นี้อาจทําให้ผู้ใช้ที่เป็นอันตรายสามารถแก้ไขข้อมูลในโครงการ VBA ที่เซ็นชื่อได้โดยไม่ทําให้ลายเซ็นดิจิทัลของโครงการไม่ถูกต้อง ดังนั้น เราขอแนะนําให้ผู้ใช้ใช้การอัปเดตความปลอดภัยที่แสดงอยู่ในช่องโหว่ทั่วไปของ Microsoft และ Exposures CVE-2020-0760
เมื่อต้องการเพิ่มประสิทธิภาพด้านความปลอดภัยของการเซ็นชื่อโครงการแมโคร VBA ของ Office Microsoft มีแบบแผนลายเซ็นโครงการ VBA ที่ปลอดภัยยิ่งขึ้น: ลายเซ็น V3 ลายเซ็น V3 พร้อมใช้งานในผลิตภัณฑ์ต่อไปนี้:
-
Microsoft 365 เวอร์ชัน 2102 (รุ่น 16.0.13801.20266) และแชนเนลปัจจุบันเวอร์ชันที่ใหม่กว่า
-
Office 2019 เวอร์ชัน 1808 เวอร์ชันที่อนุญาตให้ใช้สิทธิ์แบบกลุ่ม (รุ่น 10372.20060) และเวอร์ชันที่ใหม่กว่า
-
เวอร์ชันขายปลีกของ Office 2016 รุ่นคลิก-ทู-รันและ Office 2019 เวอร์ชัน 2102 (รุ่น 16.0.13801.20266) และเวอร์ชันที่ใหม่กว่า
-
Microsoft Installer (.msi) ของ Office 2016 ที่มีการอัปเดตต่อไปนี้หรือการอัปเดตเวอร์ชันที่ใหม่กว่า:
เราขอแนะนําให้องค์กรนําลายเซ็น V3 ไปใช้กับแมโครทั้งหมดเพื่อลดความเสี่ยงในการปลอมแปลง
ตามค่าเริ่มต้น เพื่อให้แน่ใจว่ามีความเข้ากันได้แบบย้อนหลัง ไฟล์ VBA ที่มีลายเซ็นที่มีอยู่จะยังคงทํางานและไฟล์ที่เซ็นชื่อโดยใช้ลายเซ็น V3 สามารถเปิดและทํางานใน Office เวอร์ชันก่อนหน้าหรือในไคลเอ็นต์ Office ที่ไม่ได้อัปเดตได้ อย่างไรก็ตาม เราขอแนะนําให้ผู้ดูแลระบบอัปเกรดลายเซ็น VBA ที่มีอยู่เป็นลายเซ็น V3 โดยเร็วที่สุดหลังจากที่พวกเขาอัปเกรด Office เป็นเวอร์ชันที่แสดงรายการแล้ว หลังจากที่ผู้ดูแลระบบตรวจสอบว่าไม่มีการสูญเสียความเข้ากันได้ในองค์กร พวกเขาสามารถปิดใช้งานลายเซ็น VBA เก่าโดยการเปิดใช้งานแมโคร VBA เชื่อถือเท่านั้นที่ใช้การตั้งค่านโยบายลายเซ็น V3 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่านโยบายนี้ ให้ดูส่วน "เปิดใช้งานการตั้งค่านโยบาย: เชื่อถือเฉพาะแมโคร VBA ที่ใช้ลายเซ็น V3"
อัปเกรดไฟล์ VBA ที่เซ็นชื่อแล้วเป็นลายเซ็น V3
ผู้ดูแลระบบสามารถใช้หัวข้อต่อไปนี้เพื่ออัปเกรดไฟล์ลายเซ็น VBA ที่มีอยู่เป็นลายเซ็น V3
ใช้ตัวแก้ไข VBA เพื่อเซ็นชื่อไฟล์ VBA อีกครั้ง
ถ้าคุณมีใบรับรองส่วนตัว ให้ใช้ตัวแก้ไข Visual Basic for Applications (VBA) ที่มีอยู่ในแอปพลิเคชัน Office เพื่อเซ็นชื่อไฟล์ VBA อีกครั้ง
-
เมื่อต้องการเซ็นชื่อไฟล์ VBA อีกครั้ง ให้กด Alt+F11 จากภายในไฟล์เพื่อเปิดตัวแก้ไข VBA
-
เมื่อต้องการแทนที่ลายเซ็นที่มีอยู่ด้วยลายเซ็น V3 ให้เลือก เครื่องมือ > ลายเซ็นดิจิทัล กล่องโต้ตอบ ลายเซ็นดิจิทัล จะเปิดขึ้น
หมายเหตุ: เมื่อต้องการเซ็นชื่อในโครงการ VBA คีย์ส่วนตัวต้องได้รับการติดตั้งอย่างถูกต้อง สําหรับข้อมูลเพิ่มเติม ให้ดูที่ เซ็นชื่อแบบดิจิทัลในโครงการแมโครของคุณ
-
เลือก เลือกเพื่อเลือกคีย์ส่วนตัวของใบรับรองเพื่อใช้เซ็นชื่อในโครงการ VBA แล้วเลือก ตกลง
-
เมื่อต้องการสร้างลายเซ็นใหม่ ให้บันทึกไฟล์อีกครั้ง ลายเซ็นดิจิทัลใหม่จะแทนที่ลายเซ็นก่อนหน้า
ใช้ SignTool เพื่อเซ็นชื่อไฟล์ VBA อีกครั้ง
SignTool ใน Windows 10 SDK สามารถช่วยให้คุณเซ็นชื่อไฟล์ VBA ใหม่ผ่านบรรทัดคําสั่งได้ เมื่อต้องการดําเนินการเซ็นชื่อใหม่กับรายการสินค้าคงคลังที่ระบุไว้ในส่วน "สร้างสินค้าคงคลังของไฟล์ VBA ที่เซ็นชื่อแล้ว" คุณสามารถรวม SignTool เข้ากับเครื่องมือผู้ดูแลระบบของคุณเองได้
หมายเหตุ: ขณะนี้ SignTool ไม่สนับสนุน Microsoft Access
เมื่อต้องการเซ็นชื่อไฟล์ VBA อีกครั้งโดยใช้ SignTool ให้ทําตามขั้นตอนเหล่านี้:
-
ดาวน์โหลดและติดตั้ง Windows 10 SDK
-
ดาวน์โหลด Officesips.exe จากแพคเกจส่วนติดต่อหัวข้อของ Microsoft Office สําหรับการเซ็นชื่อแบบดิจิทัลในโครงการ VBA
-
เมื่อต้องการเซ็นชื่อไฟล์และตรวจสอบลายเซ็นในไฟล์ ให้ลงทะเบียน Msosip.dll และ Msosipx.dll แล้วเรียกใช้ Offsign.bat ขั้นตอนโดยละเอียดจะรวมอยู่ในไฟล์ Readme.txt ในโฟลเดอร์การติดตั้งของ Officesips.exe
หมายเหตุ: ใช้ SignTool เวอร์ชัน x86 ในโฟลเดอร์ "C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x86" เมื่อคุณเรียกใช้ Offsign.bat
เปิดใช้งานการตั้งค่านโยบาย: "เชื่อถือแมโคร VBA ที่ใช้ลายเซ็น V3 เท่านั้น"
หลังจากที่คุณเสร็จสิ้นการอัปเกรดเป็นลายเซ็น V3 เราขอแนะนําให้คุณเปิดใช้งานเฉพาะแมโคร VBA ที่เชื่อถือได้เท่านั้นที่ใช้การตั้งค่านโยบายลายเซ็น V3 เพื่อให้แน่ใจว่ามีเพียงไฟล์ที่เซ็นชื่อด้วยลายเซ็น V3 เท่านั้นที่เชื่อถือได้
การตั้งค่านโยบายนี้พร้อมใช้งานใน นโยบายกลุ่ม หรือบริการนโยบายระบบคลาวด์ของ Office ซึ่งอยู่ใน User Configuration\Policies\Administrative Templates\Microsoft Office 2016\Security Settings\Trust Center ถ้าเปิดใช้งานการตั้งค่านี้ เฉพาะลายเซ็น V3 เท่านั้นที่จะถูกพิจารณาว่าถูกต้องเมื่อ Office ตรวจสอบความถูกต้องของลายเซ็นดิจิทัลในไฟล์ ลายเซ็นรูปแบบก่อนหน้าในไฟล์ VBA จะถูกละเว้น