QT Custom Plugin — способы повышения безопасности

У меня есть этот простой интерфейс плагина для моего пользовательского приложения.

plugininterface.h:

#ifndef PLUGININTERFACE_H
#define PLUGININTERFACE_H
#include <QString>
class PluginInterface
{
public:
virtual QString Author() const = 0;
virtual QString Description() const = 0;
virtual bool Load() const = 0;
virtual bool Unload() const = 0;
};
Q_DECLARE_INTERFACE( PluginInterface, "MyPluginInterface" )
#endif // PLUGININTERFACE_H

Теперь это позволяет пользователям создавать плагины для моей программы. тем не мение Я беспокоюсь о возможном вредоносном коде это может быть вставлено в плагин. Я думаю, было бы очень хорошо, если бы был способ убедиться, что все, что происходит внутри плагина, должно:

  1. не будет разрешен доступ в интернет.
  2. работать только в каталоге программы, для которой он был разработан.
  3. не имеют доступа к другим программам. (нет операций чтения / записи из памяти)

Если не существует готового решения от QT, то я думаю, что одним из решений может быть использование пространства имен черного или белого списка и библиотек. Если это даже возможно. Надеюсь, что новичок в QT / C ++ может сделать что-то подобное.

0

Решение

Это по существу невозможно без запуска какой-либо среды выполнения в песочнице.

Почему вы беспокоитесь о вредоносных плагинах? Эти плагины приходят из Интернета? Вы беспокоитесь о том, что ваши пользователи будут загружать случайную чушь и запускать ее? Если они это сделают, то, скорее всего, они делают это уже со всем остальным, и ваше программное обеспечение должно меньше всего беспокоить вас. Увы, каноническое решение предназначено для вашего программного обеспечения для принудительного использования подписей плагинов, а для вашего бизнеса — для процесса проверки и подписания плагинов или, по крайней мере, для принудительного применения стандартных подписей разработчиков MS в библиотеках плагинов.

Вы в основном не позволяете пользователю использовать ваше программное обеспечение по своему усмотрению. Как пользователь, мне не нравятся подобные вещи.

1

Другие решения


По вопросам рекламы [email protected]