Video: Темы для iPhone на iOS 14 - простая установка оформления! Прозрачные виджеты и скрытые фишки (Tháng mười một 2024)
Bây giờ bạn đã nghe nói rằng Apple đã công bố một chương trình tiền thưởng lỗi mới tại hội nghị Black Hat gần đây. Trong một diện mạo khác thường, Ivan Krstic, người đứng đầu bộ phận kỹ thuật và kiến trúc bảo mật của Apple, đã tự mình tuyên bố. Nhưng đó chỉ là 10 phút cuối của bài thuyết trình dài 50 phút. Trong 40 phút đầu tiên, Krstic đã lặn sâu chưa từng thấy vào ba thành phần bảo mật iOS. Và sâu xa, tôi có nghĩa là tắm.
Điểm chung của tôi là cảm giác kinh ngạc khi các hệ thống này bảo vệ dữ liệu người dùng một cách triệt để, ngay cả từ chính Apple. Tôi sẽ cố gắng truyền đạt những gì đã nói, mà không cần quá kỹ thuật.
Lập bản đồ JIT WebKit cứng
Xin lỗi, đó là những gì nó được gọi. JIT là viết tắt của Just In Time và đề cập đến cách mã Javascript được biên dịch đúng lúc để thực thi. "Điều này là cần thiết cho JavaScript hiệu suất cao", Krstic giải thích. "Nhưng chính sách ký mã phải được nới lỏng. Trình biên dịch JIT phát ra mã mới, không dấu. Một kẻ tấn công quản lý một cuộc tấn công bất cứ nơi nào có thể cho phép thực thi mã tùy ý."
Đối với một nền tảng nhỏ, các khu vực của bộ nhớ có thể được đánh dấu bằng các quyền đọc, ghi và thực thi. Sự khác biệt đó, được giới thiệu từ lâu, đã dập tắt các cuộc tấn công thực thi mã trong các khu vực dành cho dữ liệu. Tóm lại, giải pháp của Apple liên quan đến một kỹ thuật đưa JavaScript được biên dịch vào vùng nhớ chỉ cho phép thực thi. Các quy trình không thể đọc những gì ở đó hoặc viết dữ liệu mới. Có nhiều hơn một chút so với điều đó, nhưng thay đổi này, cụ thể cho iOS 10, xóa sạch toàn bộ các cuộc tấn công có thể xảy ra.
Bộ xử lý Eniances an toàn
Các ứng dụng trên thiết bị Apple chạy trong CPU có tên là Bộ xử lý ứng dụng hoặc AP. Các thiết bị hiện đại của Apple có CPU hoàn toàn riêng biệt được gọi là Bộ xử lý bảo mật an toàn, hay SEP. "SEP được bảo vệ bởi khóa chính mã hóa mạnh từ mật mã của người dùng", Krstic nói. "Không thể tấn công ngoại tuyến. Nó vượt qua bề mặt tấn công của AP, ngay cả khi AP bị xâm phạm. Nó phân xử tất cả người dùng truy cập và quản lý bộ nhớ được mã hóa của chính nó. Lần đầu tiên, nó sử dụng trình tạo số ngẫu nhiên thực sự để tạo ra một duy nhất Khóa thiết bị trong bộ xử lý. Nó không thể xuất được và được lưu trong ROM bảo mật bất biến. "
Krstic tiếp tục giải thích cách thiết bị sử dụng bốn loại khóa bảo mật nội bộ với các đặc điểm khác nhau. Loại A chỉ tồn tại khi thiết bị được mở khóa. Loại B là khóa công khai luôn có mặt, cộng với khóa riêng tồn tại khi thiết bị được mở khóa. Loại C xuất hiện lần đầu tiên khi thiết bị được mở khóa sau khi khởi động. Và loại D luôn có sẵn.
Bài thuyết trình chuyển sang một số sơ đồ phức tạp nghiêm trọng. Một người đã trải qua quá trình khởi động và mở khóa thiết bị, cho thấy cách mỗi loại khóa được tạo và lưu trữ. Mỗi tệp trên thiết bị của bạn đều có khóa mã hóa riêng, duy nhất; một sơ đồ khác cho thấy điệu nhảy phức tạp cho phép SEP xác thực và giải mã tập tin đó trong khi vẫn giữ các khóa bảo mật thiết yếu bên trong chính nó. Một người khác giải thích quy trình phức tạp giúp bạn có thể chọn "Cập nhật sau". Và một người khác đã trải qua quá trình cho phép mở khóa thông qua ID cảm ứng mà không giữ khóa chính hiển thị theo bất kỳ cách nào.
Điểm mấu chốt trong phần nói chuyện này là Apple đã thực sự, thực sự nghĩ về những gì cần thiết để quản lý mã hóa hoàn toàn bên trong Bộ xử lý Secure Eniances, mà không buộc người dùng phải gặp nhiều rắc rối. Nếu bạn muốn tự mình xem các sơ đồ đó, hãy xem bản trình bày đầy đủ của Krstic.
Đồng bộ hóa bí mật
Thật tiện lợi khi bạn có thể đồng bộ hóa dữ liệu của mình giữa nhiều thiết bị Apple. HomeKit cho phép bạn quản lý các thiết bị IoT, AutoUnlock giúp máy Mac của bạn mở khóa khi Apple Watch ở gần, đồng bộ hóa ảnh của bạn thông qua iCloud, v.v. Nhưng bảo mật, đồng bộ hóa là một vấn đề.
"Cách tiếp cận truyền thống là không tốt, " Krstic nói. "Một cách là làm cho người dùng nhập 'khóa ngăn kéo' mạnh trên tất cả các thiết bị; mất nó và mất quyền truy cập vào các bí mật. Cách khác là bọc dữ liệu trong khóa dẫn xuất để dữ liệu tiếp xúc với nhà cung cấp tài khoản. "
"Chúng tôi đã có một số mục tiêu ở đây, " Krstic tiếp tục. "Bí mật phải có sẵn cho tất cả các thiết bị, được bảo vệ bởi tiền điện tử mạnh. Người dùng có thể khôi phục bí mật ngay cả khi họ mất tất cả các thiết bị được kết nối. Dữ liệu không được hiển thị cho Apple và không có khả năng bị tấn công vũ phu."
Xác thực trong hệ thống iCloud Keychain cơ bản rất đơn giản. Mỗi thiết bị đều có cặp khóa riêng và để thêm một thiết bị mới vào vòng tròn đồng bộ hóa, bạn phải phê duyệt nó từ một trong các thiết bị hiện có của bạn. Phần cuối của Apple không liên quan; nó không có đặc quyền Nếu người dùng mất quyền truy cập vào tất cả các thiết bị, có thể lấy lại quyền truy cập bằng cả Khóa bảo mật iCloud và mật khẩu iCloud.
Krstic đã giải thích rất chi tiết về cách Apple quản lý hệ thống này mà không để ngỏ khả năng nhỏ nhất là bất kỳ ai, kể cả bất kỳ ai tại Apple, đều có thể truy cập dữ liệu từ phía sau. Hệ thống này bao gồm những gì được gọi là thẻ quản trị viên, được tạo ra tại thời điểm một nhóm máy chủ tiền điện tử mới được đưa vào vận hành. "Thẻ quản trị viên được tạo ra trong một buổi lễ an toàn khi hạm đội được đưa vào hoạt động và được lưu trữ trong các két an toàn vật lý riêng biệt của ba tổ chức khác nhau tại Apple, trong các túi bằng chứng giả mạo", Krstic nói.
Tình trạng đó chỉ kéo dài cho đến khi hạm đội thực sự được đưa vào hoạt động. Vào thời điểm đó, Krstic nói: "Chúng tôi đặt các thẻ quản trị thông qua chức năng băm một chiều mới lạ." Kéo một máy xay sinh tố được sử dụng rõ ràng từ dưới bục giảng, anh tiếp tục, "Vâng, một chuyến đi qua máy xay." Khi nhóm máy chủ tiền điện tử hoạt động, nó không thể được cập nhật hoặc sửa đổi theo bất kỳ cách nào, kể cả bởi Apple, vì thẻ quản trị viên đã bị hủy. Nếu điều đó xảy ra là một bản cập nhật thực sự cần thiết, Apple phải tạo ra một đội tàu mới và gửi một bản cập nhật phần mềm giúp các thiết bị người dùng kết nối với đội tàu mới.
"Tại sao chúng ta làm điều này, " Krstic nói. "Tại sao chúng tôi thực hiện bước cuối cùng này lại cực kỳ bất thường? Chúng tôi đã nỗ lực hết sức để thiết kế các hệ thống bảo mật để cung cấp niềm tin. Khi dữ liệu rời khỏi thiết bị, các cổ phần thậm chí còn cao hơn. Chúng tôi cần duy trì sự tin tưởng đó. những thẻ quản trị đó, có khả năng đó không phải là sự thật. Đó là cách chúng tôi thực hiện sứ mệnh của mình về dữ liệu người dùng một cách nghiêm túc. "
Khi được hỏi, "Bạn đã làm điều này vì các yêu cầu thông tin của FBI?" Krstic trả lời: "Tôi là một kỹ sư. Tôi chỉ có thể trả lời các câu hỏi về lý do tại sao tôi trình bày hôm nay." Được rồi. Nhưng tôi nghĩ người hỏi đã đúng. Tạo một hệ thống khép kín mà bạn thậm chí không thể tự sửa đổi là một cách khá hay để ngăn người khác thực hiện các thay đổi không mong muốn.
Tôi hy vọng tôi đã truyền đạt mức độ chi tiết trong bài nói chuyện của Krstic mà không khiến mắt bạn sáng lên. Đánh giá bởi những người tán gẫu khi nhóm phân tán, các chuyên viên bảo mật cấp byte thực sự trong phòng rất ấn tượng.