Các nhà nghiên cứu bảo mật đã công bố trên Project Zero một lỗ hổng mới gọi là Spectre và Meltdown cho phép một chương trình đánh cắp thông tin từ bộ nhớ của các chương trình khác. Nó ảnh hưởng đến kiến trúc Intel, AMD và ARM.
Lỗ hổng này có thể được khai thác từ xa bằng cách truy cập trang web JavaScript. Chi tiết kỹ thuật có thể được tìm thấy trên trang web redhat , nhóm bảo mật Ubuntu .
Rò rỉ thông tin thông qua các cuộc tấn công kênh bên thực hiện đầu cơ (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754 aka Spectre và Meltdown)
Nó đã được phát hiện ra rằng một lớp tấn công kênh bên mới tác động đến hầu hết các bộ xử lý, bao gồm cả bộ xử lý của Intel, AMD và ARM. Cuộc tấn công cho phép các quá trình không gian người dùng độc hại đọc bộ nhớ kernel và mã độc trong khách để đọc bộ nhớ hypanneror. Để giải quyết vấn đề, sẽ cần cập nhật cho kernel Ubuntu và bộ vi xử lý. Những cập nhật này sẽ được công bố trong Thông báo bảo mật Ubuntu trong tương lai khi chúng có sẵn.
Ví dụ triển khai trong JavaScript
Là một bằng chứng về khái niệm, mã JavaScript đã được viết rằng, khi chạy trong trình duyệt Google Chrome, cho phép JavaScript đọc bộ nhớ riêng từ quá trình chạy.
Hệ thống của tôi dường như bị ảnh hưởng bởi lỗ hổng bóng ma. Tôi đã biên soạn và thực hiện bằng chứng khái niệm này ( spectre.c
).
Thông tin hệ thống:
$ uname -a
4.13.0-0.bpo.1-amd64 #1 SMP Debian 4.13.13-1~bpo9+1 (2017-11-22) x86_64 GNU/Linux
$ cat /proc/cpuinfo
model name : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
$gcc --version
gcc (Debian 6.3.0-18) 6.3.0 20170516
Làm cách nào để giảm thiểu lỗ hổng Spectre và Meldown trên các hệ thống Linux?
Đọc thêm: Sử dụng Meltdown để đánh cắp mật khẩu trong thời gian thực .
Cập nhật
Sử dụng Spectre & Meltdown Checker
sau khi chuyển sang 4.9.0-5
phiên bản kernel theo câu trả lời @Carlos Pasqualini vì bản cập nhật bảo mật có sẵn để giảm thiểu cve-2017-5754 trên debian Stretch:
CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel: NO (only 31 opcodes found, should be >= 70)
> STATUS: VULNERABLE (heuristic to be improved when official patches become available)
CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
* Hardware (CPU microcode) support for mitigation: NO
* Kernel support for IBRS: NO
* IBRS enabled for Kernel space: NO
* IBRS enabled for User space: NO
* Mitigation 2
* Kernel compiled with retpoline option: NO
* Kernel compiled with a retpoline-aware compiler: NO
> STATUS: VULNERABLE (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)
CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI): YES
* PTI enabled and active: YES
> STATUS: NOT VULNERABLE (PTI mitigates the vulnerability)
Cập nhật ngày 25 tháng 1 năm 2018
Các spectre-meltdown-checker
kịch bản được chính thức đóng gói bằng debian, nó có sẵn cho Debian Stretch qua kho backports, Buster và Sid.
Cửa hàng đầu cơ bỏ qua (SSB) - còn được gọi là Biến thể 4
Các hệ thống có bộ vi xử lý sử dụng thực thi đầu cơ và thực thi đầu cơ bộ nhớ đọc trước khi biết địa chỉ của tất cả các lần ghi bộ nhớ trước có thể cho phép tiết lộ thông tin trái phép cho kẻ tấn công có quyền truy cập người dùng cục bộ thông qua phân tích kênh bên.
Đăng ký hệ thống Rogue Đọc (RSRE) - còn được gọi là Biến thể 3a
Các hệ thống có bộ vi xử lý sử dụng thực thi đầu cơ và thực hiện đọc đầu cơ các thanh ghi hệ thống có thể cho phép tiết lộ trái phép các tham số hệ thống cho kẻ tấn công có quyền truy cập người dùng cục bộ thông qua phân tích kênh bên.
Chỉnh sửa ngày 27 tháng 7 năm 2018
NetSpectre: Đọc bộ nhớ tùy ý qua mạng
Trong bài báo này, chúng tôi trình bày NetSpectre, một cuộc tấn công mới dựa trên biến thể Spectre 1, không yêu cầu mã do kẻ tấn công kiểm soát trên thiết bị đích, do đó ảnh hưởng đến hàng tỷ thiết bị. Tương tự như một cuộc tấn công Spectre cục bộ, cuộc tấn công từ xa của chúng tôi yêu cầu sự hiện diện của tiện ích Spectre trong mã của mục tiêu. Chúng tôi cho thấy rằng các hệ thống chứa các tiện ích Spectre cần thiết trong giao diện mạng hoặc API bị lộ có thể bị tấn công bằng cuộc tấn công Spectre từ xa chung của chúng tôi, cho phép đọc bộ nhớ tùy ý qua mạng. Kẻ tấn công chỉ gửi một loạt các yêu cầu được tạo ra cho nạn nhân và đo thời gian phản hồi để rò rỉ một giá trị bí mật từ bộ nhớ của nạn nhân.