首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否在Ubuntu上发布了QubesOS“转换为受信任的PDF”的实现?

是否在Ubuntu上发布了QubesOS“转换为受信任的PDF”的实现?
EN

Ask Ubuntu用户
提问于 2021-08-21 19:00:38
回答 1查看 172关注 0票数 0

标题说的差不多。转换为受信任的PDF是一个很有价值的工具,在Ubuntu生态系统中实现它将是很棒的。

EN

回答 1

Ask Ubuntu用户

发布于 2021-08-22 19:09:15

问题

您有一个不受信任的PDF文件。它可能包含恶意软件,恶意软件可能会感染您的计算机并对其进行可怕的操作。

您希望将此PDF转换为“受信任的”PDF,在不危及您的Ubuntu计算机的情况下不存在任何恶意软件。

方法

其想法是在您的Ubuntu计算机中安装多通,并使用默认的主虚拟机(VM)“夷平”不受信任的PDF文件。平坦PDF的过程包括将PDF文件转换为postscript ( PS )文件,然后将PS文件转换回PDF。结果PDF是“可信的”,因为任何恶意软件在原来的PDF预计将无法生存的双重转换过程。

最后,一旦转换完成,VM就被销毁。这样,原始PDF中的恶意软件可能对VM所做的任何更改都会被销毁。

--概念

的证明

此解决方案基于命令行,我们将在终端中键入(或粘贴)命令。

首先,让我们使用以下命令在您的计算机中安装Multipass:

sudo快速安装多通道

你只需要做一次。

其余的工作由bash脚本完成。我叫它flatten.sh。将下面的脚本保存在主文件夹中作为flatten.sh,并使其可执行。

代码语言:javascript
复制
#!/bin/bash

if [ -z $1 ]; then
    echo "No argument set. Valid argument is a PDF filename.pdf in the $HOME folder"
    read -ep "Enter filename: " FULLNAME
else
    FULLNAME=$1
fi
if [ ! -f $FULLNAME ]; then
    echo "The file $FULLNAME not found." 
    echo "Valid argument is a PDF filename.pdf in the $HOME folder"
    echo "exiting..."
    exit 1
fi

INPNAME=$(basename $FULLNAME)
DIR=$(dirname $FULLNAME)
OUTNAME="Trusted-$INPNAME"
multipass start
multipass exec primary -- sudo apt update
multipass exec primary -- sudo apt install ghostscript -y
multipass exec primary -- cp "Home/$INPNAME" .
multipass exec primary -- pdf2ps "$INPNAME" temp  
multipass exec primary -- ps2pdf temp "$OUTNAME"
multipass exec primary -- mv "$OUTNAME" Home/
multipass stop primary  
multipass delete primary
multipass purge

让我们说,您有一个名为test.pdf的文件,您不信任它。使用以下命令运行脚本:

代码语言:javascript
复制
./flatten.sh test.pdf

test.pdf应该在您的$HOME文件夹中。如果您将PDF文件放在另一个文件夹中,脚本(正在编写)将找不到它。

下面列出了启动此脚本后将发生的事情:

  1. 将创建一个VM。
  2. 将在VM中安装一个最小版本的Ubuntu。
  3. 脚本将安装转换所需的ghostscript
  4. 不受信任的PDF文件将被复制到VM的虚拟存储中。
  5. 不真实的PDF将被转换为临时PS文件和
  6. 临时PS文件将被转换为带有"Truted-“前缀的”可信“PDF。
  7. 受信任的PDF将被移回您的主文件夹。
  8. VM将被停止、删除和清除。

整个过程需要一些时间,特别是VM的启动和ghostscript的安装。

注意:如果不受信任的PDF文件非常大,则Multipass可能会在默认情况下耗尽分配的虚拟内存。请参阅有关如何将更多内存分配给VM的多通文档。

下行

据我所知,在安装Ghostscript并在下次需要清理PDF时旋转存储的VM之后,无法在Multipass中获取主VM的快照。如果这是可能的话,这将使这一过程所需的时间少一点。

另一种方式

实现类似结果的另一种方法可能是使用LDX/LXC集装箱。LXD支持快照,带有Ghostscript的自定义容器可能比整个VM轻一些。但是,我对LXD/LXC没有任何经验。

希望这能有所帮助

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1359346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档