

概念実証 /
エクスプロイト /
システムがVariant 3: 不正データキャッシュロード (CVE-2017-5754)、別名MELTDOWNの影響を受けているかどうかをチェックします。
基本的な考え方は、ユーザーが実行中のシステムに適切なパッチが適用されているかどうかを、 例えばKAISERパッチセット (https://lkml.org/lkml/2017/10/31/884) などを用いて知ることができるというものです。
*** 現在はLinuxでのみ動作します ***
/proc/kallsyms を使用してシステムコールテーブルを見つけ、MELTDOWNを悪用して見つかったシステムコールのアドレスが、 /proc/kallsyms 内の対応するアドレスと一致するかどうかをチェックします。
これは、システムが /proc/kallsyms 内のカーネルシンボルをプログラムが読み取ることを防いでいるためかもしれません。 原因は /proc/sys/kernel/kptr_restrict が 1 に設定されていることです。 以下のコマンドで解決できます:
sudo sh -c "echo 0 > /proc/sys/kernel/kptr_restrict"
このシナリオで別のアプローチにフォールバックする方法についてアイデアがあれば、Issueを開いてください。
プロジェクトをコンパイルするには make を実行してください。

Checking whether system is affected by Variant 3: rogue data cache load (CVE-2017-5754), a.k.a MELTDOWN ...
Checking syscall table (sys_call_table) found at address 0xffffffffaea001c0 ...
0xc4c4c4c4c4c4c4c4 -> That's unknown
0xffffffffae251e10 -> That's SyS_write
System affected! Please consider upgrading your kernel to one that is patched with KAISER
Check https://security.googleblog.com/2018/01/todays-cpu-vulnerability-what-you-need.html for more details