สิ่งที่น่ารำคาญหรือปัญหาจริงอาจเกิดขึ้นเมื่อลายเซ็นดิจิทัลของแอปพลิเคชัน Mac เสียหาย
แอปพลิเคชันบน Mac สามารถเซ็นชื่อแบบดิจิทัลได้ เมื่อลายเซ็นชำรุดฉันรู้ว่าแอปพลิเคชั่นบางตัวอาจสังเกตเห็นว่า แต่ฉันไม่รู้ว่ารายละเอียดเหล่านี้จะเป็นเพียงการรบกวนหรือทำลายสิ่งต่างๆ:
ไฟร์วอลล์ OS X อาจไม่สามารถตั้งค่าลายเซ็นเฉพาะกิจได้อย่างถูกต้องทำให้เกิดข้อความซ้ำ ๆ "คุณต้องการให้แอปพลิเคชัน '[.. ]' ยอมรับการเชื่อมต่อเครือข่ายขาเข้าหรือไม่"
แอปพลิเคชันที่อนุญาตโดยการควบคุมโดยผู้ปกครองอาจไม่ทำงานอีกต่อไป?
การเข้าถึง Keychain อาจเสียหรือไม่
บางคนบอกว่าการอัปเดตซอฟต์แวร์ Apple อาจล้มเหลว ถ้าเป็นจริงแล้วผมสงสัยว่านี้แน่นอนขึ้นอยู่กับลายเซ็นลงนามรหัสหรือจะเกิดจากบางกัญชาไม่ใช่ตรงกันสำหรับแอพลิเคชันทั้งหมดหรือข้อมูลจากไฟล์ BOM
ข้อมูลพื้นฐานเพิ่มเติมด้านล่าง
สามารถแสดงรายละเอียดการเซ็นรหัสโดยใช้:
codesign --display -vv /Applications/iTunes.app/
... ซึ่งจะให้สิ่งต่อไปนี้ (แต่จะไม่เตือนเกี่ยวกับการแก้ไข):
[..]
CDHash=86828a2d631dbfd417600c458b740cdcd12b13e7
Signature size=4064
Authority=Software Signing
Authority=Apple Code Signing Certification Authority
Authority=Apple Root CA
[..]
ลายเซ็นสามารถตรวจสอบได้โดยใช้:
codesign --verify -vv /Applications/iTunes.app/
ซึ่งจะให้:
/Applications/iTunes.app/: valid on disk
/Applications/iTunes.app/: satisfies its Designated Requirement
... หรือ (แม้เพียงวางไฟล์พิเศษบางรายการในโฟลเดอร์. / เนื้อหา / แอปพลิเคชันของแอปพลิเคชัน):
/Applications/iTunes.app/: a sealed resource is missing or invalid
... หรือ (อาจแย่กว่าข้อความด้านบน):
/Applications/iTunes.app/: code or signature modified
การลงนามรหัสกลับไป OS 9 หรือก่อนหน้านี้ แต่การดำเนินงานในปัจจุบันได้รับการแนะนำใน 10.5 Leopard Ars Technica เขียน :
การเซ็นชื่อรหัสจะผูกเอกลักษณ์ที่สามารถตรวจสอบได้กับการเข้ารหัสของรหัสและทำให้แน่ใจว่าตรวจพบการดัดแปลงใด ๆ กับรหัสนั้น ไม่มีการรับประกันใด ๆ เกี่ยวกับคู่กรณีที่เกี่ยวข้อง ตัวอย่างเช่นหากคุณดาวน์โหลดแอปพลิเคชันที่ลงนามโดย Acme Inc. คุณสามารถพิสูจน์ได้ว่าไม่มีสิ่งใดเกี่ยวกับมันยกเว้นว่ามาจากเอนทิตีเดียวกันที่อ้างว่าเป็น Acme Inc. ในครั้งสุดท้ายที่คุณดาวน์โหลดบางสิ่งจากเว็บไซต์ของพวกเขา
ตัวอย่างนี้เน้นการประยุกต์ใช้เทคโนโลยีที่มีประโยชน์ที่สุดจากมุมมองของผู้บริโภค เมื่ออัปเกรดแอปพลิเคชัน Mac OS X วันนี้ [ใน 10.4 Tiger, AvB] ผู้ใช้มักได้รับแจ้งให้ยืนยันอีกครั้งว่าแอปพลิเคชันนี้ได้รับอนุญาตให้เข้าถึง Keychain เพื่อเรียกชื่อผู้ใช้และรหัสผ่าน ดูเหมือนว่าจะเป็นคุณลักษณะด้านความปลอดภัยที่ดี แต่ที่จริงแล้วมันคือการฝึกให้ผู้ใช้ Mac คลิกสุ่ม ๆ "อนุญาตเสมอ" ทุกครั้งที่ปรากฏ และจริงๆแล้วผู้ใช้งานเฉลี่ยจะทำอะไรเรียกใช้โปรแกรมปฏิบัติการผ่าน disassembler และตรวจสอบด้วยตนเองว่ารหัสนั้นปลอดภัยหรือไม่
ในทางกลับกันแอปพลิเคชันที่ได้รับการรับรองสามารถพิสูจน์ได้ทางคณิตศาสตร์ว่าเป็นแอปพลิเคชั่นรุ่นเดียวกันจากผู้ผลิตรายเดียวกันที่คุณแสดงความไว้วางใจในอดีต ผลลัพธ์คือจุดสิ้นสุดของกล่องโต้ตอบที่ขอให้คุณยืนยันตัวเลือกที่มีความปลอดภัยคุณไม่มีวิธีการตรวจสอบที่สมเหตุสมผล
สำหรับไฟร์วอลล์ใน 10.5 Leopard นั้น Apple อธิบาย :
เมื่อคุณเพิ่มแอปพลิเคชันในรายการนี้ Mac OS X จะเซ็นชื่อแอปพลิเคชันแบบดิจิทัล (หากยังไม่ได้ลงชื่อ) หากแอปพลิเคชันได้รับการแก้ไขในภายหลังคุณจะได้รับแจ้งให้อนุญาตหรือปฏิเสธการเชื่อมต่อเครือข่ายที่เข้ามา แอปพลิเคชันส่วนใหญ่จะไม่แก้ไขตัวเองและนี่เป็นคุณสมบัติด้านความปลอดภัยที่แจ้งให้คุณทราบถึงการเปลี่ยนแปลง
[ .. ]
แอปพลิเคชันทั้งหมดไม่อยู่ในรายการที่ได้รับการเซ็นชื่อแบบดิจิทัลโดยผู้ออกใบรับรองที่เชื่อถือได้โดยระบบ (สำหรับจุดประสงค์ของการเซ็นชื่อรหัส) ได้รับอนุญาตให้รับการเชื่อมต่อขาเข้า แอปพลิเคชัน Apple ทุกตัวใน Leopard ได้รับการลงนามโดย Apple และได้รับอนุญาตให้รับการเชื่อมต่อเข้ามา หากคุณต้องการปฏิเสธแอปพลิเคชันที่เซ็นชื่อแบบดิจิทัลคุณควรเพิ่มแอปพลิเคชันลงในรายการก่อนแล้วจึงปฏิเสธอย่างชัดเจน
ใน 10.6 Snow Leopard ตัวหลังถูกทำให้ชัดเจนยิ่งขึ้น (และสามารถปิดใช้งานได้) เป็น "อนุญาตให้ซอฟต์แวร์ที่เซ็นชื่อรับการเชื่อมต่อขาเข้าโดยอัตโนมัติอนุญาตให้ซอฟต์แวร์ที่ลงนามโดยผู้ออกใบรับรองที่ถูกต้องเพื่อให้บริการเข้าถึงได้จากเครือข่าย"
(ใน 10.6 ตัวเลือก 10.5.1 "อนุญาตการเชื่อมต่อขาเข้าทั้งหมด", "อนุญาตเฉพาะบริการที่จำเป็น" และ "ตั้งค่าการเข้าถึงสำหรับบริการและแอปพลิเคชันเฉพาะ" ได้รับการปรับปรุงใหม่เป็นตัวเลือกสำหรับ "บล็อกการเชื่อมต่อขาเข้าทั้งหมด" หรือรายการ "แอปพลิเคชันและตัวเลือกที่อนุญาต" อนุญาตให้ซอฟต์แวร์ที่เซ็นชื่อรับการเชื่อมต่อขาเข้าโดยอัตโนมัติ "และ" เปิดใช้งานโหมดซ่อนตัว "ก่อนการอัปเดต 10.5.1 ," อนุญาตเฉพาะบริการที่จำเป็น "เรียกว่า" บล็อกการเชื่อมต่อขาเข้าทั้งหมด ")
สำหรับแอปพลิเคชัน (Apple) ที่ลายเซ็นดั้งเดิมของตนแตกหักลายเซ็นเฉพาะกิจนี้อาจไม่ได้รับการแก้ไขและเป็นที่ทราบกันดีว่าก่อให้เกิดปัญหาในการ configd, mDNSResponder และแร็กคูน