LINUX.ORG.RU

К системным программистам


0

0

HI! Господа системщики! Может ли кто-нибудь подсказать какое-либо решение следующей проблеммы: Есть задача написать защищенную прогу, которая бы после отработки смогла бы вытереть за собой _ВСЕ_ области данных и кода, которые она занимала в памяти и (желательно) на swap partition. Заранее благодарен за ответ.


Не уверен, но нельзя ли сделать сделать 2 модуля: загрузчик и защищяемый модуль в виде отдельного файла на диске. Далее так: загрузчик создает достаточное окно разделяемой памяти, грузит туда код защищяемого модуля и передает управление ему (сам ждет завершения его работы хотя бы по wait()), после отработки потомка в цикле забиваем всю память 0 или чем там хочется. Если очень нужно, то swap можно отключить, пересоздать с обнулением всей области, в которой он создается. Другой способ: напишите свой модуль для ядра, со своей функцией отслеживания и очистки памяти для Вашего процесса. Это конечно не профессиональный совет, однако надеюсь, что он может быть Вам полезен.

saper ★★★★★
()

Спасибо за совет! Однако, как быть в случае использования программой динамических библиотек? Ведь, как я понимаю, их загрузкой и обслуживанием занимается ядро, и, следовательно, "подтереть" в памяти ее код - сложно, да и опасно - а если в это время работает процесс, кот. использует эту же библиотеку?

kirill
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.