黑匣子系统.自定义主机上的安全软件
Blackbox system. Secure software on custom host computer
我正在寻找一种方法来构建一个黑盒系统,该系统可以安全地运行我的算法,并且可以向用户输出数据。
该系统将是我自己的自定义 Linux 计算机,它运行我的算法,我会将其赠送给用户。现在我想要的是用户可以通过一些预定义的端口配置算法,也可以从预定义的端口接收数据。但是,用户应该看不到算法的任何源代码,充其量不应该能够复制程序(但这不是我的主要关注点)
最好的方法是什么?它不一定是超级不可破解的安全性(因为这可能是不可能的)。只是某种良好的安全性,不会使查看和复制源代码变得太简单。
硬件是我的自定义计算机,我可以按照自己的方式进行配置。该程序不需要在其他任何地方运行。
按如下方式设置您的框:
- 使用轻量级的Linux操作系统,如Kali Mini OS。
应用程序设置
- 编写一个应用程序,该应用程序会将自身加载到计算机内存中,然后从文件系统中删除它自己的可执行文件。这将在您寻找时提供您的基本安全性。
- 执行后自删除程序 - 堆栈溢出
-
写入管道(这将允许两个或多个应用程序进行通信)
- Unix C++指南 后台进程间通信
- IPC 堆栈溢出问题
使用BG IPC(后台进程间通信),您将能够通过管道端口通过另一个应用程序与用户通信。
应用程序安全性(可选)
应用程序可以自行删除和自解密。
在应用程序启动时,它将要求用户输入密码(以启动应用程序) 然后它将从文件系统中删除该文件,
额外安全
应用程序可执行可以是零或随机字节为空。 这将在删除之前将可执行文件中的每个字节替换为随机字节值。这将确保文件不可恢复。
相关文章:
- 从不同线程使用int64的不同字节安全吗
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 虚拟决赛作为安全
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 如何将元素添加到数组的线程安全函数?
- C++中的线程安全删除
- 通过网络、跨平台传递std::变体是否安全
- 在std::thread中,joinable()然后join()线程安全吗
- 使用std::istream::peek()总是安全的吗
- 从值小于256的uint16到uint8的Endian安全转换
- 在c++队列中使用pop和visit实现线程安全
- 在类型和包装器之间reinterpret_cast是否安全<Type>?
- 以线程安全的方式调用"QQuickPaintedItem::updateImage(const QImage&image)"(no QThread)
- 全局变量 多读取器 一个写入器多线程安全?
- 安全到标准:移动会员?
- AcquireCredentialsHandleA() 返回 PFX 文件的0x8009030e(安全包中没有可用的凭据
- 黑匣子系统.自定义主机上的安全软件
- 在当前的 Linux 发行版上打包 C++11 软件是否安全?
- 使用自己开发的软件确保条形码安全
- 安全关键软件的c++形式化方法