mirror of
https://github.com/speed47/spectre-meltdown-checker.git
synced 2025-07-15 07:11:22 +02:00
Compare commits
89 Commits
Author | SHA1 | Date | |
---|---|---|---|
c705afe764 | |||
401ccd4b14 | |||
55120839dd | |||
f5106b3c02 | |||
68289dae1e | |||
3b2d529654 | |||
cbb18cb6b6 | |||
299103a3ae | |||
dc5402b349 | |||
90c2ae5de2 | |||
53d6a44754 | |||
297d890ce9 | |||
0252e74f94 | |||
fbbb19f244 | |||
1571a56ce2 | |||
3cf9141601 | |||
bff38f1b26 | |||
b419fe7c63 | |||
f193484a4a | |||
349d77b3b6 | |||
e589ed7f02 | |||
ae1206288f | |||
b44d2b5470 | |||
7b72c20f89 | |||
b48b2177b7 | |||
8f31634df6 | |||
96798b1932 | |||
687ce1a7fa | |||
80e0db7cc4 | |||
e8890ffac6 | |||
b2f64e1132 | |||
42a3a61f1d | |||
afb36c519d | |||
0009c0d473 | |||
dd67fd94d7 | |||
339ad31757 | |||
794c5be1d2 | |||
a7afc585a9 | |||
fc1dffd09a | |||
e942616189 | |||
360be7b35f | |||
5f59257826 | |||
92d59cbdc1 | |||
4747b932e7 | |||
860023a806 | |||
ab67a9221d | |||
f4592bf3a8 | |||
be15e47671 | |||
d3481d9524 | |||
21af561148 | |||
cb740397f3 | |||
84195689af | |||
b637681fa8 | |||
9316c30577 | |||
f9dd9d8cb9 | |||
0f0d103a89 | |||
b262c40541 | |||
cc2910fbbc | |||
30c4a1f6d2 | |||
cf06636a3f | |||
60077c8d12 | |||
c181978d7c | |||
9a6406a9a2 | |||
5962d20ba7 | |||
17a3488505 | |||
e54e8b3e84 | |||
39c778e3ac | |||
2cde6e4649 | |||
f4d51e7e53 | |||
85d46b2799 | |||
61e02abd0c | |||
114756fab7 | |||
ea75969eb7 | |||
ca391cbfc9 | |||
68af5c5f92 | |||
19be8f79eb | |||
f75cc0bb6f | |||
f33d65ff71 | |||
725eaa8bf5 | |||
c6ee0358d1 | |||
22d0b203da | |||
3062a8416a | |||
6a4318addf | |||
c19986188f | |||
7e4899bcb8 | |||
5cc77741af | |||
1c0f6d9580 | |||
4acd0f647a | |||
fb52dbe7bf |
11
Dockerfile
Normal file
11
Dockerfile
Normal file
@ -0,0 +1,11 @@
|
||||
FROM alpine:3.7
|
||||
|
||||
RUN apk --update --no-cache add kmod binutils grep perl
|
||||
|
||||
COPY . /check
|
||||
|
||||
ENTRYPOINT ["/check/spectre-meltdown-checker.sh"]
|
||||
|
||||
VOLUME /boot
|
||||
VOLUME /dev/cpu
|
||||
VOLUME /lib/modules
|
52
README.md
52
README.md
@ -1,7 +1,15 @@
|
||||
Spectre & Meltdown Checker
|
||||
==========================
|
||||
|
||||
A shell script to tell if your system is vulnerable against the 3 "speculative execution" CVEs that were made public early 2018.
|
||||
A shell script to tell if your system is vulnerable against the several "speculative execution" CVEs that were made public in 2018.
|
||||
- CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
|
||||
- CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
|
||||
- CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
|
||||
- CVE-2018-3640 [rogue system register read] aka 'Variant 3a'
|
||||
- CVE-2018-3639 [speculative store bypass] aka 'Variant 4'
|
||||
- CVE-2018-3615 [L1 terminal fault] aka 'Foreshadow (SGX)'
|
||||
- CVE-2018-3620 [L1 terminal fault] aka 'Foreshadow-NG (OS)'
|
||||
- CVE-2018-3646 [L1 terminal fault] aka 'Foreshadow-NG (VMM)'
|
||||
|
||||
Supported operating systems:
|
||||
- Linux (all versions, flavors and distros)
|
||||
@ -39,6 +47,22 @@ chmod +x spectre-meltdown-checker.sh
|
||||
sudo ./spectre-meltdown-checker.sh
|
||||
```
|
||||
|
||||
### Run the script in a docker container
|
||||
|
||||
#### With docker-compose
|
||||
|
||||
```shell
|
||||
docker-compose build
|
||||
docker-compose run --rm spectre-meltdown-checker
|
||||
```
|
||||
|
||||
#### Without docker-compose
|
||||
|
||||
```shell
|
||||
docker build -t spectre-meltdown-checker .
|
||||
docker run --rm --privileged -v /boot:/boot:ro -v /dev/cpu:/dev/cpu:ro -v /lib/modules:/lib/modules:ro spectre-meltdown-checker
|
||||
```
|
||||
|
||||
## Example of script output
|
||||
|
||||
- Intel Haswell CPU running under Ubuntu 16.04 LTS
|
||||
@ -74,7 +98,31 @@ sudo ./spectre-meltdown-checker.sh
|
||||
- Mitigation: updated kernel (with PTI/KPTI patches), updating the kernel is enough
|
||||
- Performance impact of the mitigation: low to medium
|
||||
|
||||
## Disclaimer
|
||||
**CVE-2018-3640** rogue system register read (Variant 3a)
|
||||
|
||||
- Impact: TBC
|
||||
- Mitigation: microcode update only
|
||||
- Performance impact of the mitigation: negligible
|
||||
|
||||
**CVE-2018-3639** speculative store bypass (Variant 4)
|
||||
|
||||
- Impact: software using JIT (no known exploitation against kernel)
|
||||
- Mitigation: microcode update + kernel update making possible for affected software to protect itself
|
||||
- Performance impact of the mitigation: low to medium
|
||||
|
||||
**CVE-2018-3615** l1 terminal fault (Foreshadow)
|
||||
|
||||
- TBC
|
||||
|
||||
**CVE-2018-3620** l1 terminal fault (Foreshadow-NG)
|
||||
|
||||
- TBC
|
||||
|
||||
**CVE-2018-3646** l1 terminal fault (Foreshadow-NG)
|
||||
|
||||
- TBC
|
||||
|
||||
## Understanding what this script does and doesn't
|
||||
|
||||
This tool does its best to determine whether your system is immune (or has proper mitigations in place) for the collectively named "speculative execution" vulnerabilities. It doesn't attempt to run any kind of exploit, and can't guarantee that your system is secure, but rather helps you verifying whether your system has the known correct mitigations in place.
|
||||
However, some mitigations could also exist in your kernel that this script doesn't know (yet) how to detect, or it might falsely detect mitigations that in the end don't work as expected (for example, on backported or modified kernels).
|
||||
|
15
docker-compose.yml
Normal file
15
docker-compose.yml
Normal file
@ -0,0 +1,15 @@
|
||||
version: '2'
|
||||
|
||||
services:
|
||||
spectre-meltdown-checker:
|
||||
build:
|
||||
context: ./
|
||||
dockerfile: ./Dockerfile
|
||||
image: spectre-meltdown-checker:latest
|
||||
container_name: spectre-meltdown-checker
|
||||
privileged: true
|
||||
network_mode: none
|
||||
volumes:
|
||||
- /boot:/boot:ro
|
||||
- /dev/cpu:/dev/cpu:ro
|
||||
- /lib/modules:/lib/modules:ro
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user