วีดีโอ: A day with Scandale - Harmonie Collection - Spring / Summer 2013 (ธันวาคม 2024)
คุณเคยได้ยินมาแล้วว่า Apple ประกาศโปรแกรมข้อผิดพลาดใหม่ในการประชุม Black Hat ล่าสุด Ivan Krstic หัวหน้าฝ่ายวิศวกรรมความปลอดภัยและสถาปัตยกรรมของ Apple ได้ประกาศตัวเองในลักษณะที่ผิดปกติ แต่นั่นเป็นเพียง 10 นาทีสุดท้ายของการนำเสนอ 50 นาที ในช่วง 40 นาทีแรก Krstic ได้ทำการดำน้ำลึกอย่างที่ไม่เคยเกิดขึ้นมาก่อนในการรักษาความปลอดภัยของ iOS สามองค์ประกอบ และโดยลึกฉันหมายถึงการอาบน้ำ
Takeaway โดยรวมของฉันคือความรู้สึกหวาดกลัวว่าระบบเหล่านี้ปกป้องข้อมูลผู้ใช้อย่างละเอียดได้อย่างไรจาก Apple เอง ฉันจะพยายามถ่ายทอดสิ่งที่พูดโดยไม่ได้รับเทคนิคมากเกินไป
การจับคู่ WebKit JIT ที่ชุบแข็ง
ขออภัยนั่นคือสิ่งที่เรียกว่า JIT ย่อมาจาก Just In Time และอ้างอิงถึงวิธีการรวบรวมโค้ด Javascript ในเวลาสำหรับการดำเนินการ "สิ่งนี้จำเป็นสำหรับ JavaScript ที่มีประสิทธิภาพสูง" Krstic อธิบาย "แต่นโยบายการลงรหัสต้องผ่อนคลายตัวแปล JIT ปล่อยรหัสใหม่ที่ไม่ได้ลงนามผู้โจมตีที่ทำการจัดการการโจมตีแบบเขียนได้ทุกที่สามารถเปิดใช้งานการเรียกใช้รหัสโดยอำเภอใจ"
สำหรับพื้นหลังเล็ก ๆ พื้นที่ของหน่วยความจำสามารถทำเครื่องหมายด้วยการอ่านเขียนและดำเนินการสิทธิ์ ความแตกต่างดังกล่าวได้รับการแนะนำให้รู้จักเมื่อนานมาแล้วทำให้เกิดการโจมตีที่เรียกใช้โค้ดในส่วนที่เกี่ยวกับข้อมูล โดยย่อโซลูชันของ Apple เกี่ยวข้องกับเทคนิคการใส่ JavaScript ที่คอมไพล์ลงในพื้นที่หน่วยความจำที่อนุญาตให้เรียกใช้งานได้ เท่านั้น กระบวนการไม่สามารถอ่านสิ่งที่มีหรือเขียนข้อมูลใหม่ มีมากกว่านั้นอีกเล็กน้อย แต่การเปลี่ยนแปลงนี้เฉพาะสำหรับ iOS 10 จะกำจัดการโจมตีที่เป็นไปได้ทั้งหมด
Secure Enclave Processor
แอปพลิเคชันบนอุปกรณ์ Apple ทำงานใน CPU ที่เรียกว่า Application Processor หรือ AP อุปกรณ์ Apple ที่ทันสมัยมีซีพียูที่แยกจากกันอย่างสมบูรณ์ซึ่งเรียกว่า Secure Enclave Processor หรือ SEP "SEP ได้รับการคุ้มครองโดยคีย์หลักการเข้ารหัสลับที่แข็งแกร่งจากรหัสผ่านของผู้ใช้" Krstic กล่าว "การโจมตีแบบออฟไลน์เป็นไปไม่ได้มันตั้งอยู่บนพื้นผิวการโจมตีของ AP แม้เมื่อ AP ถูกโจมตีมันจะเข้าถึงผู้ใช้ทั้งหมดและจัดการหน่วยความจำที่เข้ารหัสของตนเองในการเริ่มต้นครั้งแรกจะใช้ตัวสร้างตัวเลขสุ่มจริงเพื่อสร้างเอกลักษณ์ รหัสอุปกรณ์ภายในโปรเซสเซอร์ไม่สามารถส่งออกได้และเก็บไว้ใน ROM ที่ปลอดภัยไม่เปลี่ยนรูป "
Krstic อธิบายต่อไปว่าอุปกรณ์ใช้คีย์ความปลอดภัยภายในสี่ประเภทที่มีคุณสมบัติแตกต่างกันอย่างไร ประเภท A มีอยู่เฉพาะเมื่อปลดล็อคอุปกรณ์ Type B เป็นกุญแจสาธารณะที่มีอยู่เสมอรวมถึงกุญแจส่วนตัวที่มีอยู่เมื่อปลดล็อคอุปกรณ์ Type C มีอยู่ในครั้งแรกที่ปลดล็อคอุปกรณ์หลังจากบูต และพิมพ์ D ใช้ได้เสมอ
งานนำเสนอถูกย้ายไปยังไดอะแกรมที่สลับซับซ้อนจำนวนมาก หนึ่งในขั้นตอนการบู๊ตและปลดล็อคอุปกรณ์แสดงวิธีการสร้างและจัดเก็บคีย์แต่ละประเภท ทุกไฟล์ในอุปกรณ์ของคุณมีคีย์การเข้ารหัสที่เป็นเอกลักษณ์ อีกแผนภาพแสดงการเต้นรำที่สลับซับซ้อนซึ่งอนุญาตให้ SEP รับรองความถูกต้องและถอดรหัสไฟล์นั้นในขณะที่รักษารหัสความปลอดภัยที่จำเป็นไว้ อีกอธิบายถึงกระบวนการที่ซับซ้อนที่ทำให้คุณสามารถเลือก "อัปเดตในภายหลัง" และยังมีอีกคนหนึ่งที่ดำเนินการผ่านกระบวนการที่อนุญาตให้ปลดล็อกผ่าน touch ID โดยที่ไม่ต้องมองเห็นคีย์หลักในทางใดทางหนึ่ง
ประเด็นสำคัญในการพูดคุยในส่วนนี้คือ Apple มีความคิดอย่างแท้จริงผ่านสิ่งที่จำเป็นในการจัดการการเข้ารหัสอย่างสมบูรณ์ภายใน Secure Enclave Processor โดยไม่บังคับให้ผู้ใช้ต้องยุ่งยากมาก หากคุณต้องการดูแผนภาพเหล่านั้นด้วยตัวคุณเองลองดูการนำเสนอเต็มรูปแบบของ Krstic
การซิงโครไนซ์ความลับ
สะดวกสุดขีดที่คุณสามารถซิงค์ข้อมูลระหว่างอุปกรณ์ Apple หลายเครื่อง HomeKit ช่วยให้คุณจัดการอุปกรณ์ IoT, AutoUnlock ทำให้ Mac ของคุณปลดล็อกเมื่อ Apple Watch อยู่ใกล้ ๆ, ภาพถ่ายของคุณจะซิงค์ผ่าน iCloud และอื่น ๆ แต่การรักษาความปลอดภัยที่ชาญฉลาดการซิงค์เป็นปัญหา
“ วิธีการแบบดั้งเดิมนั้นไม่ดี” Krstic กล่าว "วิธีหนึ่งคือการทำให้ผู้ใช้ป้อน 'ถุงเท้าลิ้นชักคีย์' ที่รัดกุมบนอุปกรณ์ทั้งหมดสูญเสียและการเข้าถึงความลับหายไปอีกวิธีหนึ่งคือการห่อข้อมูลในคีย์ที่ได้รับซึ่งทำให้ข้อมูลถูกเปิดเผย ผู้ให้บริการบัญชี "
“ เรามีเป้าหมายจำนวนมากที่นี่” Krstic กล่าวต่อ "ความลับจะต้องมีอุปกรณ์ทั้งหมดที่ได้รับการป้องกันโดย crypto ที่แข็งแกร่งผู้ใช้สามารถกู้คืนความลับได้แม้ว่าจะสูญเสียอุปกรณ์ที่เชื่อมต่อทั้งหมดข้อมูลจะไม่ถูกเปิดเผยกับ Apple และไม่มีความเป็นไปได้ที่จะเกิดการโจมตีที่ดุร้าย"
การพิสูจน์ตัวตนในระบบ iCloud Keychain พื้นฐานนั้นง่าย อุปกรณ์ทุกชิ้นมีคู่คีย์ของตัวเองและเพื่อที่จะเพิ่มอุปกรณ์ใหม่ในแวดวงการซิงค์คุณต้องอนุมัติจากอุปกรณ์ที่มีอยู่ของคุณ แบ็คเอนด์ของ Apple ไม่มีส่วนเกี่ยวข้อง มันไม่มีสิทธิ์ หากผู้ใช้สูญเสียการเข้าถึงอุปกรณ์ทั้งหมดสามารถเข้าถึงได้โดยใช้ทั้ง iCloud Security Key และรหัสผ่าน iCloud
Krstic อธิบายอย่างละเอียดถึงวิธีที่ Apple จัดการกับระบบนี้โดยไม่ต้องเปิดความเป็นไปได้น้อยที่สุดที่ทุกคนรวมถึงใครก็ตามที่ Apple สามารถเข้าถึงข้อมูลได้จากส่วนท้าย ระบบเกี่ยวข้องกับสิ่งที่เรียกว่าการ์ดผู้ดูแลระบบซึ่งสร้างขึ้นในเวลาที่มีการมอบหมายเซิร์ฟเวอร์ crypto ใหม่ "การ์ดผู้ดูแลระบบถูกสร้างขึ้นในพิธีการที่ปลอดภัยเมื่อกองยานได้รับมอบหมายและเก็บไว้ในตู้นิรภัยร่างกายแยกต่างหากเพื่อดูแลองค์กรที่แตกต่างกันสามแห่งของ Apple ในถุงหลักฐานป้องกันการงัดแงะ" Krstic กล่าว
สถานการณ์นั้นจะดำเนินต่อไปจนกว่าจะมีการนำกองทัพเรือไปปฏิบัติจริง ในเวลานั้น Krstic กล่าวว่า "เราใส่การ์ดผู้ดูแลระบบผ่านฟังก์ชั่นแฮชแบบทิศทางเดียว" ดึงเครื่องปั่นที่ใช้แล้วอย่างชัดเจนจากใต้แท่นเขาพูดต่อว่า "ใช่การเดินทางผ่านเครื่องปั่น" เมื่อฝูง crypto เซิร์ฟเวอร์ทำงานอยู่จะไม่สามารถอัปเดตหรือแก้ไขไม่ว่าทาง Apple จะไม่ถูกทำลายเพราะการ์ดผู้ดูแลระบบถูกทำลาย หากเกิดขึ้นว่าจำเป็นต้องมีการอัปเดตจริง ๆ Apple ต้องหมุนกองเรือใหม่และส่งอัปเดตซอฟต์แวร์ที่ทำให้อุปกรณ์ผู้ใช้เชื่อมต่อกับกองเรือใหม่
"ทำไมเราถึงทำเช่นนี้" Krstic กล่าว "ทำไมเราถึงทำขั้นตอนสุดท้ายที่ผิดปกติอย่างยิ่งนี้เราต้องใช้ความพยายามอย่างยิ่งยวดในการจัดทำระบบความปลอดภัยเพื่อให้ความไว้วางใจเมื่อข้อมูลออกจากอุปกรณ์การเดิมพันจะยิ่งสูงขึ้นเราจำเป็นต้องรักษาความไว้วางใจนั้น การ์ดผู้ดูแลระบบเหล่านั้นมีความเป็นไปได้ที่ไม่เป็นความจริงนั่นคือวิธีที่เราปฏิบัติภารกิจเกี่ยวกับข้อมูลผู้ใช้อย่างจริงจัง "
ถามว่า "คุณทำเช่นนี้เพราะ FBI ร้องขอข้อมูลหรือไม่" Krstic ตอบว่า "ฉันเป็นวิศวกรฉันสามารถตอบคำถามเกี่ยวกับสาเหตุที่นำเสนอในวันนี้เท่านั้น" ตกลงยุติธรรมพอ แต่ฉันคิดว่าผู้ถามนั้นถูกต้อง การสร้างระบบที่มีในตัวเองที่คุณไม่สามารถแม้แต่จะแก้ไขตัวเองเป็นวิธีที่ดีในการป้องกันไม่ให้คนอื่นทำการเปลี่ยนแปลงที่ไม่ต้องการ
ฉันหวังว่าฉันจะสื่อถึงระดับรายละเอียดในการพูดคุยของ Krstic โดยไม่ทำให้สายตาของคุณจ้องมอง ตัดสินโดยพูดพล่อยเมื่อกลุ่มกระจายความปลอดภัยระดับไบต์ที่แท้จริงในห้องมีความประทับใจอย่างมาก