Да, как определить, является ли LD_PRELOAD вредоносным или нет?Что насчет ptrace?/ DEV / [K] П?Как насчет того, когда один процесс устанавливает вредоносный плагин или что-то похожее в папку каталога конфигурации другого процесса?А как насчет совместного использования памяти / IPC?
Прежде всего, это пустая трата времени и полная ерунда для фактической продажи в качестве законного продукта.Не уверен, что ты пытаешься сделать.Если это антивирус, античит для игры или DRM, то это бесполезно.Единственное, что вы можете сделать, это запустить процесс как другой пользователь, не позволяя другим процессам изменять его.Если это недостаточно хорошо, слишком плохо, Linux не является безопасной операционной системой и никогда не будет.
Теоретически невозможно обнаружить подделку памяти процесса.На практике это зависит от того, как вы определяете обнаружение, и какие ложные срабатывания и ложные отрицания вас волнуют.
Если вы знаете, что нормальное поведение программы не заключается в ее модификации, вы точно знаете, какие сегментыпамяти должны быть статическими, и вы знаете, что на вашем ПК нет никаких законных сторонних программ, которые могли бы вмешиваться в эту программу, и тогда вы сможете обнаружить ее очень легко.
НаиболееОбщее решение состоит в том, чтобы подключить механизмы модификации межпроцессной памяти ОС, как вы сказали.Это работает до тех пор, пока вражеский процесс не имеет достаточных привилегий для удаления вашего хука или выполнения определенных вызовов ОС, которые обходят ваш хук.
Вы также можете просто сканировать весь процесс снова и снова, проверяя сумму в памяти, используябезопасный алгоритм хеширования.Опять же, если у вражеского процесса есть права на изменение вашего сканера, вы теряете.
Так что, да, если у процесса нет привилегий для подрыва вашего сканера, почему у него есть права на изменение вашего процесса?около?Для меня это звучит как антивирус / античит / DRM.