Cách tiếp cận phần mềm mã nguồn mở của Ledger

Tại Ledger, chúng tôi tin tưởng mạnh mẽ vào việc áp dụng mã nguồn mở. Đây là bộ nguyên tắc tuyệt vời đề cao tính minh bạchcởi mở, vốn là những giá trị cốt lõi của chúng tôi. Vì vậy, Ledger liên tục mở rộng phạm vi công khai mã nguồn, cho phép cộng đồng xem xét và kiểm định.

Những gì chúng tôi cung cấp dưới dạng mã nguồn mở

Phần lớn mã nguồn của Ledger là open-source. Bạn có thể xem tại các dự án sau:

Những thành phần mở để xem xét và xác minh

Các thành phần sau của Ledger OS được mở để người dùng tự kiểm tra:

Chúng tôi đang tích cực làm việc để tiếp tục mở thêm nhiều phần khác của Ledger OS theo từng giai đoạn.

Những gì thuộc mã nguồn đóng

Thiết bị Ledger sử dụng Secure Element (SE) — loại chip smartcard có các biện pháp phòng vệ phần cứng tiên tiến chống lại nhiều loại tấn công, kể cả khi kẻ tấn công có quyền truy cập vật lý. Trong hệ điều hành Ledger, một phần mã nguồn liên quan đến các ngoại vi bảo mật (security peripherals) của Secure Element. Những ngoại vi này là tài sản trí tuệ độc quyền (proprietary IP) của nhà sản xuất Secure Element. Công khai cách phần mềm điều khiển các ngoại vi này đồng nghĩa với việc tiết lộ các thông tin thuộc IP và làm suy yếu khả năng bảo vệ.

Vì sao Ledger sử dụng Secure Element?

Là một phần trong năng lực bảo mật, Secure Element cho phép xây dựng root of trust mạnh mẽ và chứng minh rằng sản phẩm là chính hãng và không bị can thiệp, kể cả trong chuỗi cung ứng phức tạp. Secure Element mang đến một lớp bảo mật bổ sung, được Ledger OS tận dụng để tăng đáng kể khả năng kháng lại: tấn công kênh kề, tấn công lỗi, tấn công phần mềm.

Mã nguồn mở giúp giảm phụ thuộc vào sự tin tưởng của người dùng, nhưng không hoàn toàn miễn nhiễm với tấn công. Phần mềm mã nguồn mở chạy trên chip không bảo mật (non-secure chips) vẫn cực kỳ dễ bị tấn công kênh kề và tấn công lỗi. Vì vậy, nếu phải lựa chọn giữa dùng Secure Element và gần như hoàn toàn mã nguồn mở, hoặc dùng chip không bảo mật nhưng 100% mã nguồn mở, Ledger lựa chọn phương án an toàn hơn.

Đảm bảo tính bảo mật và toàn vẹn trong các bản phát hành OS

Mỗi lần phát hành Ledger OS, đội ngũ chuyên gia an ninh mạng Donjon của chúng tôi sẽ tiến hành kiểm toán bảo mật trước khi bản cập nhật được đưa vào sản xuất. Quy trình này bao gồm đánh giá mã nguồn liên quan đến Secure Element, nhằm bảo đảm không tồn tại lỗ hổng trong tấn công kênh kề, tấn công lỗi, tấn công phần mềm.

Ngoài ra, Ledger hợp tác với phòng thí nghiệm bảo mật bên thứ ba, hoạt động theo NDA, có quyền kiểm toán toàn bộ OS, bao gồm phần mã nguồn đóng, để bảo đảm không có mã độc hoặc backdoor. Bài kiểm toán này được thực hiện trước mỗi lần phát hành OS mới.

Quy trình kiểm toán OS diễn ra như thế nào?

Phòng thí nghiệm bảo mật bên thứ ba sẽ:

  • Xem xét toàn bộ mã nguồn của OS, bao gồm phần mã đóng.
  • Tập trung đặc biệt vào những khu vực có thể bị khai thác để cài mã độc hoặc backdoor.
  • Tạo báo cáo gồm: bối cảnh kiểm toán, kiến trúc hệ thống, giá trị hash xác nhận đúng mã nguồn được đánh giá, timeline, lịch sử phiên bản và kết quả kiểm toán.

Ledger cũng làm việc với một phòng thí nghiệm uy tín khác (cũng theo NDA) để kiểm toán toàn diện sản phẩm Ledger – bao gồm phần cứng, OS và ứng dụng – nhằm đạt chứng nhận bảo mật CSPN.

Chứng nhận này được thực hiện mỗi khi có sản phẩm phần cứng mới, không phải ở mỗi bản cập nhật OS:

Tổng kết

Mục tiêu hàng đầu của Ledger là bảo mật. Để đạt điều đó, chúng tôi duy trì nhiều lớp bảo vệ, bao gồm: Secure Element, kiểm toán nội bộ và kiểm toán bên ngoài và chương trình bounty phát hiện lỗi. Đồng thời, chúng tôi cố gắng giảm sự phụ thuộc vào niềm tin, bằng cách: công khai nhiều mã nguồn hơn cho phép cộng đồng xem xét và xác minh và công bố thêm các thành phần của OS, trong phạm vi không vi phạm tài sản trí tuệ của nhà cung cấp Secure Element.