Вы что-то не так поняли.
полностью удалить все файлы, которые были удалены
Ну ... если файл удален, он удаляется.
Если вы хотите, чтобы удаление файлов сделало недействительными все дескрипторы, это будет невозможно. Слишком много программ и миллионы строк кода полагаются на эту семантику. Что касается возможности предотвратить удаление открытых файлов, как это делает Windows, то же самое: слишком много вещей в мире Linux полагаются на это.
Ручное принудительное закрытие файловых дескрипторов во внешнем процессе, например. с GDB или скриптовыми решениями с ним, может привести к сбою процесса или сделать что-то еще хуже. Недействительные дескрипторы на стороне ядра имеют те же проблемы (и требуют модификации ядра).
Короче говоря, нет нормального способа сделать это.
И я бы не назвал это угрозой безопасности. Если вредоносная программа использует это, чтобы что-то скрыть, вредоносная программа уже находится на вашем компьютере и может создавать и удалять файлы. Тогда у вас гораздо больше проблем, чем это.