Zoom cho Mac vá lỗi get-root – cập nhật ngay! Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Zoom cho Mac bản vá lỗi get-root - cập nhật ngay bây giờ!

Tại buổi triển lãm bảo mật nổi tiếng của DEF CON ở Las Vegas, Nevada, tuần trước, nhà nghiên cứu an ninh mạng Mac Patrick Wardle tiết lộ một "lấy gốc" nâng cao đặc quyền (EoP) lỗi trong Zoom cho Mac:

Trong dòng tweet sau bài nói chuyện của anh ấy [2022-08-12], Wardle lưu ý:

Hiện tại không có bản vá nào [: FRIED-EGG EYES DEPICTING ALARM EMOJI:] [: EDVARD MUNCH SCREAM EMOJI:]

Zoom ngay lập tức làm việc trên một bản vá cho lỗ hổng, được công bố vào ngày hôm sau trong Bản tin bảo mật thu phóng ZSB-22018, kiếm được một lời chúc mừng trả lời từ Wardle trong quá trình này:

Mahalos gửi @Zoom để được khắc phục (cực kỳ) nhanh chóng! [: CẢ HAI BÀN TAY NỔI BẬT TRONG LỄ KỶ NIỆM VÀ ĐƯỢC LƯU Ý VỀ EMOJI:] [: PALMS ĐƯỢC BÁO CHÍ CÙNG NHAU TRONG KÝ ỨC CỦA NGƯỜI TINH THẦN EMOJI:]

Tiết lộ về zero-day

Với tốc độ rõ ràng và sự dễ dàng mà Zoom có ​​thể tạo ra một bản vá cho lỗi, được đặt tên là CVE-2022-28756, bạn có thể tự hỏi tại sao Wardle không nói trước với Zoom về lỗi này, đặt ngày phát biểu của anh ấy là thời hạn tiết lộ chi tiết.

Điều đó sẽ cho Zoom thời gian để tung ra bản cập nhật cho nhiều người dùng Mac của nó (hoặc ít nhất là để cung cấp cho những người tin tưởng vào vá sớm / vá thường xuyên), do đó xóa bỏ khoảng cách giữa việc Wardle giải thích cho thế giới cách lạm dụng lỗi và việc vá lỗi.

Trên thực tế, có vẻ như Wardle đã cố gắng hết sức để cảnh báo Zoom về lỗi này, cộng với một loạt các lỗi được kết nối với nhau trong quy trình tự động cập nhật của Zoom, vài tháng trước.

Wardle giải thích dòng thời gian tiết lộ lỗi trong slide từ bài nói chuyện DEF CON của anh ấyvà liệt kê một loạt các bản cập nhật Zoom liên quan đến các sai sót mà anh ấy đã phát hiện ra.

Con dao hai lưỡi

Các lỗi mà Wardle thảo luận thường liên quan đến cơ chế tự động cập nhật của Zoom, một phần của bất kỳ hệ sinh thái phần mềm nào hơi giống con dao hai lưỡi - một vũ khí mạnh hơn một thanh kiếm thông thường, nhưng tương ứng khó xử lý an toàn hơn.

Tự động cập nhật là một thành phần bắt buộc phải có trong bất kỳ ứng dụng khách hiện đại nào, vì nó làm cho các bản vá quan trọng được phân phối dễ dàng và nhanh chóng hơn, do đó giúp người dùng đóng các lỗ hổng an ninh mạng một cách đáng tin cậy.

Nhưng tự động cập nhật mang lại nhiều rủi ro, đặc biệt là vì bản thân công cụ cập nhật thường cần quyền truy cập hệ thống cấp gốc.

Đó là bởi vì công việc của trình cập nhật là ghi đè phần mềm ứng dụng (điều mà người dùng thông thường không được phép làm) và có lẽ để khởi chạy các lệnh hệ điều hành đặc quyền để thực hiện cấu hình hoặc các thay đổi cấp hệ thống khác.

Nói cách khác, nếu các nhà phát triển không cẩn thận, chính công cụ giúp họ giữ cho ứng dụng cơ bản của họ được cập nhật và an toàn hơn có thể trở thành đầu tàu mà từ đó những kẻ tấn công có thể phá hoại bảo mật bằng cách lừa người cập nhật chạy các lệnh trái phép với các đặc quyền của hệ thống. .

Đáng chú ý, các chương trình tự động cập nhật cần phải cẩn thận để xác minh tính xác thực của các gói cập nhật mà họ tải xuống, để ngăn chặn những kẻ tấn công chỉ cần cung cấp cho tham một gói cập nhật giả, hoàn chỉnh với phần mềm độc hại được bổ sung.

Họ cũng cần duy trì tính toàn vẹn của các tệp cập nhật mà cuối cùng chúng sử dụng, để kẻ tấn công cục bộ không thể lén lút sửa đổi gói cập nhật “đã được xác minh an toàn” vừa được tải xuống trong khoảng thời gian ngắn giữa lúc được tìm nạp và kích hoạt.

Bỏ qua bước kiểm tra tính xác thực

Như Wardle giải thích trong giấy, một trong những lỗi mà ông đã phát hiện và tiết lộ là một lỗ hổng trong bước đầu tiên được liệt kê ở trên, khi trình cập nhật tự động của Zoom cố gắng xác minh tính xác thực của gói cập nhật mà nó vừa tải xuống.

Thay vì sử dụng các API macOS chính thức để xác thực trực tiếp chữ ký điện tử của bản tải xuống, các nhà phát triển Zoom đã quyết định thực hiện xác thực gián tiếp bằng cách chạy tiện ích macOS pkgutil --check-signature trong nền và kiểm tra đầu ra.

Đây là một ví dụ về pkgutil đầu ra, sử dụng phiên bản cũ của Zoom.pkg gói phần mềm:

$ pkgutil --check-signature Zoom.pkg Gói "Zoom.pkg": Trạng thái: có chữ ký của chứng chỉ nhà phát triển do Apple cấp để phân phối Được ký bằng dấu thời gian đáng tin cậy vào: 2022-06-27 01:26:22 +0000 Chuỗi chứng chỉ : 1. Trình cài đặt ID nhà phát triển: Zoom Video Communications, Inc. (BJ4HAAB9B3) Hết hạn: 2027-02-01 22:12:15 +0000 SHA256 Vân tay: 6D 70 1A 84 F0 5A D4 C1 C1 B3 AE 01 C2 EF 1F 2E AE FB 9F 5C A6 80 48 A4 76 60 FF B5 F0 57 BB 8C ----------------------------------- ------------------------------------- 2. Cơ quan cấp giấy chứng nhận ID nhà phát triển Hết hạn: 2027-02-01 22:12:15 +0000 SHA256 Vân tay: 7A FC 9D 01 A6 2F 03 A2 DE 96 37 93 6D 4A FE 68 09 0D 2D E1 8D 03 F2 9C 88 CF B0 B1 BA 63 58 7F -------- -------------------------------------------------- -------------- 3. Apple Root CA Hết hạn: 2035-02-09 21:40:36 +0000 SHA256 Vân tay: B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C 68 C5 BE 91 B5 A1 10 01 F0 24

Thật không may, khi Wardle phát hiện ra khi anh ta dịch ngược mã xác minh chữ ký của Zoom, trình cập nhật Zoom không xử lý pkgutil dữ liệu giống như cách mà các quan sát viên của con người sẽ làm.

Chúng tôi sẽ kiểm tra đầu ra bằng cách làm theo trình tự trực quan hữu ích trong đầu ra.

Đầu tiên, trước tiên chúng tôi sẽ tìm trạng thái mong muốn, ví dụ: signed by a developer certificate issued by Apple for distribution.

Sau đó, chúng tôi sẽ tìm thấy tiêu đề phụ Certificate Chain:.

Cuối cùng, chúng tôi sẽ kiểm tra chéo xem chuỗi bao gồm ba người ký tên này, theo đúng thứ tự:

  1. Zoom Video Communications, Inc. 2. Tổ chức chứng nhận ID nhà phát triển 3. Apple Root CA

Thật ngạc nhiên, mã của Zoom chỉ đơn giản xác minh rằng mỗi chuỗi trong số ba chuỗi trên (thậm chí không kiểm tra ID duy nhất của riêng Zoom BJ4HAAB9B3) thể hiện một nơi nào đó trong đầu ra từ pkgutil.

Vì vậy, tạo một gói có tên vô lý nhưng hợp lệ, chẳng hạn như Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA.pkg sẽ đánh lừa trình xác minh gói tìm “chuỗi nhận dạng” mà nó đang tìm kiếm.

Tên gói đầy đủ được lặp lại trong pkgutil tiêu đề đầu ra trên dòng đầu tiên, trong đó “trình xác minh” không cần thiết của Zoom sẽ khớp với cả ba chuỗi văn bản ở phần sai của đầu ra.

Do đó, việc kiểm tra "bảo mật" có thể bị bỏ qua một cách đáng kể.

Một phần sửa chữa

Wardle nói rằng Zoom cuối cùng đã sửa được lỗi này, hơn bảy tháng sau khi anh ấy báo cáo nó, kịp thời cho DEF CON…

… Nhưng sau khi áp dụng bản vá, anh ấy nhận thấy rằng vẫn còn một lỗ hổng trong quá trình cập nhật.

Trình cập nhật đã cố gắng làm đúng:

  • 1. Di chuyển gói đã tải xuống đến thư mục do root sở hữu, và do đó về mặt lý thuyết vượt quá giới hạn đối với bất kỳ người dùng thông thường nào.
  • 2. Xác minh chữ ký mật mã của gói đã tải xuống, bằng cách sử dụng các API chính thức, không phải thông qua sự đối sánh văn bản chống lại pkgutil đầu ra.
  • 3. Bỏ lưu trữ tệp gói đã tải xuống, để xác minh số phiên bản của nó, để ngăn chặn các cuộc tấn công hạ cấp.
  • 4. Cài đặt tệp gói đã tải xuống, sử dụng các đặc quyền gốc của quá trình tự động cập nhật.

Thật không may, mặc dù thư mục được sử dụng để lưu trữ gói cập nhật thuộc quyền sở hữu của root, trong một nỗ lực để giữ nó an toàn khỏi những người dùng tò mò đang cố gắng phá hoại tệp cập nhật trong khi nó đang được sử dụng…

… Tệp gói mới tải xuống được để ở vị trí “có thể ghi được trên toàn thế giới” ở vị trí mới của nó (tác dụng phụ của việc được tải xuống bằng tài khoản thông thường, không phải bằng root).

Điều này đã tạo cho những kẻ tấn công cục bộ sơ hở để sửa đổi gói cập nhật sau khi chữ ký điện tử của nó đã được xác thực (bước 2), mà không ảnh hưởng chi tiết kiểm tra phiên bản (bước 3), nhưng ngay trước đó trình cài đặt đã kiểm soát tệp gói để xử lý nó với đặc quyền root (bước 4).

Loại lỗi này được gọi là điều kiện của cuộc đua, bởi vì những kẻ tấn công cần thời gian hoàn thành của chúng để chúng về nhà ngay trước khi trình cài đặt bắt đầu, và do đó, chúng sẽ lén lút thay đổi những thay đổi độc hại của chúng ngay trước khi nó bắt đầu.

Bạn cũng sẽ nghe thấy loại lỗ hổng này được gọi bằng từ viết tắt nghe có vẻ kỳ lạ TOCTOU, viết tắt của time-of-check-to-time-of-sử dụng, một cái tên là một lời nhắc nhở rõ ràng rằng nếu bạn kiểm tra dữ kiện của mình trước quá xa, thì chúng có thể đã lỗi thời vào thời điểm bạn dựa vào chúng.

Vấn đề TOCTOU là tại sao các công ty cho thuê xe hơi ở Anh không còn yêu cầu xem giấy phép lái xe của bạn, có thể đã được cấp cách đây 10 năm, và có thể đã bị đình chỉ hoặc hủy bỏ vì nhiều lý do kể từ đó, rất có thể là vì về phía bạn lái xe không an toàn hoặc bất hợp pháp. Cùng với giấy phép thực của bạn, bạn cũng cần xuất trình mã "bằng chứng về giá trị gần đây" gồm cả chữ và số, được cấp trong vòng 21 ngày qua, để giảm khoảng cách TOCTOU tiềm năng từ 10 năm xuống chỉ còn ba tuần.

Bản sửa lỗi hiện đã được

Theo Wardle, Zoom hiện đã ngăn chặn lỗi này bằng cách thay đổi quyền truy cập trên tệp gói cập nhật được sao chép ở bước 1 ở trên.

Tệp được sử dụng để kiểm tra chữ ký, xác thực phiên bản và cài đặt cấp gốc cuối cùng hiện chỉ được tài khoản gốc giới hạn quyền truy cập vào mọi lúc.

Điều này loại bỏ điều kiện chủng tộc, bởi vì kẻ tấn công không có đặc quyền không thể sửa đổi tệp từ cuối bước 2 (xác minh thành công) và bắt đầu bước 4 (cài đặt bắt đầu).

Để sửa đổi tệp gói nhằm đánh lừa hệ thống cấp cho bạn quyền truy cập root, bạn cần có quyền truy cập root, vì vậy ngay từ đầu bạn sẽ không cần đến lỗi EoP thuộc loại này.

Sự cố TOCTOU không áp dụng vì việc kiểm tra ở bước 2 vẫn có hiệu lực cho đến khi việc sử dụng tệp bắt đầu, không để lại cơ hội cho việc kiểm tra không hợp lệ.

Phải làm gì?

Nếu bạn đang sử dụng Thu phóng trên máy Mac, hãy mở ứng dụng và sau đó, trong thanh menu, đi tới zoom.us > Check for Updates...

Nếu có bản cập nhật, phiên bản mới sẽ được hiển thị và bạn có thể nhấp vào [Install] để áp dụng các bản vá lỗi:

Zoom cho Mac vá lỗi get-root – cập nhật ngay! Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Phiên bản bạn muốn là 5.11.5 (9788) hoặc sau đó.


Dấu thời gian:

Thêm từ An ninh trần trụi