Итак, вам надоели эти пресловутые и хранящиеся на диске блокноты, которые вечно читают все, кто не попадя? Может вы просто мечтали организовать свой собственный тайник в пространстве ядра? Linux_Secret_Keeper - решение всех ваших проблем, этот инновационный модуль ядра позволит вам писать все свои секреты напрямую в память ядра, делая их максимально изолированными и недоступными! Данный проект пока находится на первичной стадии своей разработки. Версия v0.08 поддерживает запись нескольких строк данных в ядро (Оперативную память) и ее последующее чтение, данным можно присвоить чиcленные идентификаторы, в пределе от 0 до 30000, их можно читать по отдельности, читать все сразу, удалять по идентификатору. Также к данном проекту будет прилагаться журнал работ, служащий эдаким "гайдом" по созданию - journal.md.
Рекомендую после установки модуля запустить тесты, как это сделано - можно посмотреть ниже. Тесты могут не покрывать весь набор всевозможных ситуаций, в случае обнаружения непридвиденного поведения - создайте ISSUE, использовать драйвер на свой страх и риск.
git clone https://github.com/Willenst/Linux_Secret_Keeper
cd Linux_Secret_Keeper
make
insmod Linux_Secret_Keeper.ko
rm journal.md; rm -rf Images
echo "W 0 secret" | tee /proc/secret_stash #запись 0-й строки данных.
echo "W -1 secret" | tee /proc/secret_stash # автоматический выбор id для записи, выбирается незанятый, в порядке возрастания
echo "R 0" | tee /proc/secret_stash #выбор строки для чтения.
echo "R -1" | tee /proc/secret_stash #выбор всех строк для чтения.
echo "D 0" | tee /proc/secret_stash #выбор строки для удаления.
echo "D -1" | tee /proc/secret_stash #удаление всех строк.
cat /proc/secret_stash #чтение данных, в зависимости от режима чтения. Если -1 - чтение всего, если n - чтение n-й записи, где n - выбраанная вами запись.
rmmod Linux_Secret_Keeper
make clean
У вас должен присуствовать Python 3-й версии и модуль pytest
pip install pytest
py.test -s -v test.py
В случае ошибок, смотрите лог ядра для более детальной информации:
dmesg
So, are you tired of all these disk-stored notebooks that are always being read by everyone? Maybe you've always dreamed of organizing your own secret storage inside the Linux kernel space? Linux_Secret_Keeper - the solution to all your problems. This innovative kernel module will allow you to write all the secrets directly into kernel memory, making them as isolated and inaccessible as possible! This project is currently under development but already has some working functionality. Version v0.08 supports multi-string writing in kernel memory, reading from there, and deleting data, all of which can be assigned and manipulated with an individual ID (from 0 to 30000). Also, there is a journal in russian about the working process - journal.md, if someone will find it interesting, i can translate it one day!
I hardly recomend you to run tests after installing, the guide is below. Tests are not ideal and can not cower all the situations, if you find any mistakes, please, create an ISSUE. Use at your own risk!
git clone https://github.com/Willenst/Linux_Secret_Keeper
cd Linux_Secret_Keeper
make
insmod Linux_Secret_Keeper.ko
rm journal.md; rm -rf Images
echo "W 0 secret" | tee /proc/secret_stash # Writing data to the 0th line.
echo "W -1 secret" | tee /proc/secret_stash # Automatically chose line to write, usually writen to the next available id.
echo "R 0" | tee /proc/secret_stash # Selecting the line for reading.
echo "R -1" | tee /proc/secret_stash # Selecting all the lines for reading
echo "D 0" | tee /proc/secret_stash # Selecting the line for deletion.
echo "D -1" | tee /proc/secret_stash # Deleting all the lines
cat /proc/secret_stash # Reading data, depending on the read mode. If -1, reads all; if n, reads the nth entry you've chosen.
rmmod Linux_Secret_Keeper
make clean
Python version 3, pytest
pip install pytest
py.test -s -v test.py
in case of errors, check kernel log for more detailed info:
dmesg