如何躲避监视追踪?大清洗:反侦察的第一步
【2019年7月5日存档】如何对付”取证工具”、如何避免被浏览器告密、如何释放磁盘空间、清除和删除不是一码事,究竟应该怎么做?本文提供一系列清洗剂,希望您的大扫除足够愉快
几乎所有人都不希望其他人看到很多信息,例如:
信用卡信息
社会保险号
私人通信
个人资料
银行账户信息
医疗健康记录
其他敏感信息,如元数据
等等
你不能简单地将它们扫到地毯下面。根本没有那么大的空间。地毯下面已经有太多文件了,可见的和不可见的,Cookie,各种元数据,临时文件,缓存文件,一切都是随意堆放的,整个地方简直一团糟。
当我面对这种庞大的噪杂的状况时,我倾向于找一些空盒子,从前门开始,从一个房间到另一个房间,找到那些不属于该房间的东西,把它们收集起来装进盒子。我经常对盒子进行分类,并将东西放在“正确的位置”(通常是垃圾箱)。也有时,“正确的位置”被指定为另一个物理位置。万一有客人来,我会让某些混乱看起来像一堆垃圾,所以它不会被注意到。
每年左右,除了我保留用于访问社区空间的一些钥匙、以及我保存在房屋外的容器中的一些个人物品外,我会烧毁整个地方并建造了一所新房子。总的来说,这个策略对我有用。
下面我们介绍一些典型的需要你收拾的东西。
— — 元数据 — —
如果你询问关于一个人的事实是否能确定该人,那么答案将不仅仅是肯定或否定。如果我只知道的一个人的邮政编码,我并不知道他们是谁;如果我所知道的只是他们的出生日期,我不知道他们是谁;如果我所知道的只是他们的性别,我不知道他们是谁。但是,事实证明,如果我同时知道关于一个人的这三件事,我就能推断出他们的身份!其中每个事实都是部分识别。
有一个数学量可以帮你衡量一个事实与唯一揭示某人身份的结论之间的接近程度,就是熵,通常以比特来衡量。您可以认为熵是随机变量的不同可能性的数量概括:如果有两种可能性,则有1位熵; 如果有四种可能性,则有2位熵,以此类推。再加一位熵会使可能性的数量增加一倍。
元数据是关于数据的数据。
说白了,元数据就是隐藏的数据,它是可以 f**k you 的。元数据提供有关文件的背景信息。有可能是您创建的每个文档,您拍摄的每张数字照片,您下载的每个音乐文件等等,都具有少量元数据,这些元数据可能泄露有关您身份的重要信息。
公司收集元数据用于心理操纵 — — 说服或广告;政府收集元数据,就……你懂的。
元数据在计算机取证中也扮演着许多重要角色:
它可以提供有关文档数据本身的确证信息。
它可以揭示有人试图隐藏、删除的信息。
它可用于自动关联来自不同来源的文档。
众所周知斯诺登透露了一个大规模的监控计划,包括拦截电子邮件和其他互联网通信和电话窃听。上游收集、Hemisphere 和 XKeyScore 都是吞噬我们的元数据,并通过 ICReach 等互连系统,数据可以被共享并与其他数据相关联。您可以使用此类关联数据库执行许多聪明的情报分析。这就是间谍们正在做的事。如果你我都能想到这么做,那么他们当然也能想到。
而且,不仅是美国国家安全局和五眼国家的其他机构,这些技术事实上已经被许多国家用来恐吓和控制其人口。
照片 — —
照片包含隐藏信息,包括拍摄地点的 GPS 坐标、日期和时间、相机快门设置详细信息,甚至可能是您用于编辑它们的程序的名称。这种类型的元数据可能很有用,但您更可能希望在在线共享它之前将其从照片中删除。
ExifTool 是一个 perl 程序,可用于读取和编辑图像中的 exif 元数据。
mogrify 命令也可用于从图像中剥离 Exif 数据。对于与上面相同的文件,然后再次使用 exiftool 进行检查:
用于从目录及其所有子目录中的所有 jpg 图像中递归删除 Exif 数据:
$ find ./path/directory -type f -iname'* .jpg'| xargs mogrify -strip
exiv2工具 http://www.exiv2.org/manpage.html 还有一个命令,用于删除图像中的所有 Exif 数据:
$ exiv2 rm imagename.jpg
要从当前目录中的所有 jpg 图像中删除 Exif 数据:
$ exiv2 rm * .jpg
用于从目录及其所有子目录中的所有 jpg 图像中递归删除 Exif 数据:
$ find ./path/directory -type f -iname'* .jpg'| xargs exiv2 rm
MAT 是一个由 GUI 应用程序、CLI 应用程序和库组成的工具箱,用于匿名/删除元数据https://mat.boum.org/。
文件 — —
文档元数据是关于文档、电子表格、pdf 文件的一个或多个方面的信息,对于创建它们的人来说并不总是可见的,但是可以由接下来接收它们的人找到。注释、跟踪更改、隐藏文本、标记、属性、附件和书签,都是文档元数据的示例。元数据删除软件可识别并删除文档中包含的元数据,因此无法再共享。
hexedit:
在操作任何 hexedit 代码之前,请务必备份数据。
通常,切换到 ASCII 模式,关闭“只读”模式,然后开始搜索文件。有关导航和命令,请参阅http://linux.die.net/man/1/hexedit。
例如,当擦洗 pdf 时查找“已创建”(元数据不止一次出现在 PDF 文件中)。如果找到元数据,则更改为假数据或删除。然后再次重复搜索 “create”, “creation”, “modified” 和 “modify” 等术语,同样替换或删除日期,再次重复每次搜索,以确保不会留下尾巴。
vi:
您还可以将 vi 用作十六进制编辑器。它不是一个真正的“十六进制模式”,所发生的是 vi 的缓冲区通过外部程序流式传输 xxd,但它适用于某些擦洗的情况。
像往常一样在 vi 中打开文件,点击 escape 并切换到十六进制模式:
:%!XXD
完成后,退出十六进制模式,再次点击 escape 并键入
:%!xxd -r
pdftk 和 sed:
有关 pdftk 命令,请参阅http://linux.die.net/man/1/pdftk。
要查看 Adobe Reader 默认情况下未显示的元数据:
$ pdftk filename.pdf dump_data
要更改元数据,首先将元数据放在文件中:
$ pdftk filename.pdf dump_data输出pdf-metadata
打开 pdf 元数据文件并删除您希望清理的数据:
保存 pdf 元数据文件。现在,您可以使用该数据来清理文件中的元数据:
$ pdftk filename.pdf update_info pdf-metadata output filename-no-metadata.pdf
并检查结果:
$ pdftk filename-no-metadata.pdf dump_data
创建日期消失,并且出现了新的修改日期。iText 放弃了 pdftk 的使用。可以使用 sed 删除这些 infokeys:
$ sed -i 's/iText\ 2\.1\.7\ by\ 1T3XT//;s/D:20120409144213+02'\00'\//' filename-no-metadata.pdf
PdfID0 和 PdfID1 是文件标识符。它们是有关该文件的各种信息的 md5,因此它具有唯一的字符串来标识文档而无需使用文件名。如果您也想要擦洗它们,请使用上面的 sed。使用 sed 从元数据中清除这两者并不需要什么烦人的技巧,这非常简单。
mat:
一旦 mat 检测到任何元数据,“State”将被标记为“Dirty”。您可以双击该文件以查看检测到的元数据,然后单击“清除”按钮以清空文件中的所有元数据字段。
您也可以从命令行运行 mat。如果没有选项,则默认操作是从文件中删除元数据。
检查目录及其子目录中的文件:
$ mat -c。
检查检测到的元数据:
$ mat -d
要清理所有文件并将原始文件存储为“* .bak”:
$ mat-b。
关于元数据,请详见 IYP 的更多介绍:
— — 删除 cookie — —
Cookies 不是软件。它们无法编程,无法携带病毒,也无法释放恶意软件,无法通过硬盘驱动器。但是跟踪 cookie,特别是第三方跟踪 cookie 通常被用作编译个人长期浏览历史记录的方法。IYP 介绍浏览历史记录有多可怕,详见《浏览历史记录曝光你的内心全景图:#OSINT 开源调查演示》
Firefox:偏好 > 隐私 > 接受第三方 cookie >从不。
Firefox /工具 >选项 >隐私 >“使用历史记录的自定义设置” > Cookie:保持到:“我关闭Firefox”。
就是这么简单。
请注意,如果将某些 cookie 编码到会话历史记录文件中,那么某些 cookie 可能会在关闭时清除,Firefox 用于恢复以前的会话窗口和选项卡的文件。
— — 删除 evercookie — —
Evercookie 是一个可用的 JavaScript API,可以在浏览器中生成极其持久的 cookie。它的目标是在客户删除标准 cookie,Flash cookie(本地共享对象或LSO)等之后识别客户端。Evercookie 通过将 cookie 数据存储在本地浏览器上可用的几种类型的存储机制中来实现这一点。此外,如果 evercookie 发现用户已删除任何类型的 cookie,它会使用每种可用机制重新创建它们。
使用 BleachBit,你可以在 Firefox,Safari 和谷歌浏览器删除 evercookies。这是一个免费的开源磁盘空间清理器,隐私管理器和计算机系统优化器(http://katana.oooninja.com/bleachbit/)
— — 搜索泄漏 — —
在大多数搜索引擎中,当您进行搜索然后单击链接时,搜索条件将发送到您单击的网站。这被称为“搜索泄漏”。
不仅是您打算访问的网站,还有搜索引擎也会从您的计算机获取数据。例如,谷歌跟踪用户搜索和在线行为,这并不是秘密,谷歌经常与要求这些数据的政府分享这些信息。有关详情,请参阅 Google 透明度报告http://www.google.com/transparencyreport/ 谷歌首席执行官埃里克施密特在过去的https://en.wikipedia.org/wiki/Eric_Schmidt#Public_positions 中提出了许多有争议的陈述。
Startpage https://www.startpage.com/ 也可以与 Ixquick 代理结合使用。在 Startpage 搜索结果页面上,可以使用 ‘View by Ixquick Proxy’ 选项通过代理访问搜索结果。Startpage 具有适用于 Mozilla Firefox 的 SSL 和 HTTPS 附加组件。
— — 伪装 — —
浏览器 — —
当您的浏览器从Web服务器请求页面时,浏览器会发送有关自身的信息以及请求。这些标题包括指示浏览器类型(Firefox,Opera,Mozilla 等),浏览器版本和底层平台(Windows XP,Linux,Mac OS X 等)的值。有关浏览器发送的数据,请访问http://www.ericgiguere.com/tools/http-header-viewer.html(javascript)。然后,Web 服务器使用此信息为浏览器选择适当的页面格式,因为不同的浏览器(甚至同一浏览器的不同版本)在支持 HTML 和 JavaScript 时具有不同的不兼容性。
有时,Web 服务器会错误解释或无法识别此信息,并向您发送格式不正确的页面。服务器甚至可能拒绝您访问其页面,无论是出于政治原因、还是您正在使用该网站不赞成的浏览器,或者因为其网页仅针对特定浏览器版本进行了测试 ……解决方案是通过将浏览器伪装成另一个浏览器来欺骗服务器。
内置于 Firefox 和 Chrome 中的是一些“地毯底下”的设置,可以在浏览时更改这些设置以改善您的隐私和匿名性。然而,我们可以做的大部分事都是为了掩盖身份,也可以避免会话被脱颖而出(尽管将会话与身份联系起来更难一点点)。根据您的背景、目的、威胁模型,不要让自己像互联网高速公路上的“大红色 A-Team 坦克车”一样脱颖而出。真的,浏览器说出去的东西太多了。
使用 panopticlick,您可以根据与其访问的网站共享的信息,测试您的浏览器配置的罕见性或独特性。Panopticlick 提供唯一性分数,让您看到在网上冲浪时辨认出您的身份有多容易https://panopticlick.eff.org/
用户代理切换器:
您可以添加自己的用户代理,甚至模仿成 webspider 并在它们之间切换。有关令人信服的用户代理列表,请参阅http://www.user-agents.org/index.shtml
Chromium:https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/djflhoibgkdhkhhcedjiklpkjnoahfmg
Firefox:https://addons.mozilla.org/en-US/firefox/addon/user-agent-switcher/
电子邮件 — —
电子邮件包含一个标题,其中包含发件人的 IP 地址以及可能在此过程中附加到标题的其他信息,例如作为垃圾邮件评级,电子邮件服务器上运行的反垃圾邮件软件可能会适用于邮件和服务器添加的其他信息。电子邮件客户端使用此信息来帮助识别垃圾邮件。
根据 RFC 821,电子邮件客户端将在 Helo / EHLO 命令中发送其域名,其中包括IP地址。随之而来的需求是伪装。
Thunderbird:
要查看 Thunderbird 电子邮件中的标题信息,请选择该邮件,然后单击“查看”菜单并选择“标题”>“全部”。消息的标题信息将替换 Thunderbird 窗口中的消息。
从技术上讲,hello 字符串中的IP地址值与发送/接收邮件无关,但由于它可能用于垃圾邮件评分或仅仅是出于礼貌,我建议输入有效的IP /主机名,如127.0.0.1。
要在 Thunderbird 编辑> 首选项> 高级> 配置编辑器中全局更改(对所有帐户):
创建(或编辑)名为“mail.smtpserver.default.hello_argument”的条目(如果需要创建它,请使用右键单击>新建>字符串)
将该值更改为所需的IP或主机名(FQDN):
要为每个 SMTP 服务器更改它,请创建(或编辑)名为 mail.smtpserver.smtp <number> .hello_argument 的条目,其中<number>是要将设置应用于的SMTP服务器的ID。在 Thunderbird 配置编辑器顶部的搜索框中键入“mail.smtpserver.smtp”,以查看哪些可用以及它们具有哪个ID。如果需要创建条目,请使用右键单击>新建>字符串。
TorBirdy 是 Thunderbird 的插件。它试图匿名您的连接(您需要安装 tor)并删除和更改几个信息字段;如果没有安装 tor 和 torbirdy,列表中有一些您可能希望在配置编辑器中更改的其他字符串的优秀示例。
请注意,如果您不是高级用户,除非您非常确定自己在做什么,否则不应更改任何设置。 TorBirdy 更改的偏好在卸载或禁用时将恢复为原始值。
postfix:
使用您喜欢的编辑器打开#vi /etc/postfix/main.cf并添加以下行:
smtp_bind_address=127.0.0.1
Restart postfix:
# /etc/init.d/postfix restart
— — 清理你的语言 — —
如果你是博客作者,请记住作者身份分析!可以用来识别你。这方面有套学问,但是往往不需要学习它也能做到,那就是凭经验,如果你担任编辑职务多年、或更简单只是个书虫,你也能有这种能力。所以,换位思考,当你写作并不希望被他人识别出来的时候,请注意采取你并不习惯的表达方式、标点符号的使用、标志性词汇、俚语、以及断句的偏好。
— — 释放磁盘空间 — —
apt:
要删除已安装(不再需要)的已下载软件包(.deb):
$ sudo apt-get clean
要删除缓存中所有存档,以查找无法再下载的软件包(不再存储在存储库中的软件包或存储库中具有更新版本的软件包):
$ sudo apt-get autoclean
删除不必要的软件包(卸载应用程序后,可能会有不再需要的软件包被留下):
$ sudo apt-get autoremove
要删除旧内核版本:
$ sudo apt-get remove --purge linux-image-XXXX-XX-generic
如果您不知道要删除哪个内核版本:
$ dpkg --get-selections | grep linux-image
bleachbit:
— — 粉碎文件和删除数据 — —
即使擦除硬盘上的所有内容,有时也可以使用*取证软件和/或硬件*恢复(部分)数据。如果该数据是值得保密的,则安全地删除文件和数据,以便没有人能够恢复它们。
加密和压缩文件时,压缩/加密文件之前存在的明文版本或解密/解压缩后创建的明文副本仍保留在硬盘驱动器上。可能还会留下“临时”文件。除非你清除 — — 而不仅仅是删除 — — 那些明文文件。
您的个人数据的回声 — — 交换文件,临时文件,休眠文件,已擦除文件,浏览器工件等 — — 可能会保留在您用于访问(加密)数据的任何计算机上。提取那些回声只是一项微不足道的任务。这是一个陷阱。于是,请清除 — 不只是删除 — 回声。
粉碎文件 — —
Linux,FreeBSD 和许多其他* nix系统都附带了一个名为 shred 的命令行工具。即使使用高灵敏度数据恢复设备,shred 命令也可用于销毁文件使其内容很难恢复。它会使用随机数据重复覆盖原始数据和相关的文件或设备名称。如果在没有选项的情况下使用,Shred 将覆盖给定的文件或设备25次。设备可以是分区或整个 HDD、USB 密钥驱动器等。
$ shred [option(s)] file(s)_or_devices(s)
例如
$ shred filename1 filename2
将粉碎两个文件,
$ shred / dev / hda4
以及,将粉碎第一个硬盘上的第四个分区。
默认情况下,shred 在覆盖文件或分区后不会删除它们。可以使用 -u 选项删除覆盖的文件。
$ shred -u filename1 filename2
这既为其他数据释放了磁盘空间,又使得重建碎片数据变得更加困难。
Shred 依赖于文件系统覆盖数据的假设。但是像 Ext3 和 ReiserFS 这样的日志文件系统、基于RAID 的文件系统、压缩文件系统,以及在临时位置缓存数据的文件系统,都不能满足这一假设。此外,文件副本可以保留在文件系统备份和远程镜像中。因此,粉碎分区比粉碎文件更可靠。
即使在粉碎分区时,大多数硬盘驱动器都会将不可见的区域映射到应用程序,其中包括碎片。这些区域的敏感数据不会被粉碎。
使删除的数据难以恢复 — —
DD:
将零或随机数据写入驱动器上的文件,直到它填满所有可用空间,然后将其删除:
$ dd if = / dev / urandom of = / path / filename1
然后删除:
$ rm / path / filename1
这也适用于分区:
$ dd if = / dev / urandom of = / dev / sda4
然后删除:
$ fdisk /dev/sda4
Command (m for help): d
Partition number (1-4): 4
— — 永久删除文件 — —
Secure-Delete 包附带四个命令:
srm(安全删除)是“shred”命令的更高级版本。它使用由密码学家 Peter Gutmann 开发的随机数据、零和特殊值的组合来使文件无法恢复。碎化工具允许您指定通过次数,安全删除工具使用默认的38次通过。它还将为文件名分配一个随机值,隐藏该关键证据:
$ srm filename
删除目录及其所有子目录(递归):
$ srm -r directory/
smem(安全内存擦除)删除保留在内存中的残留数据。拥有合适工具的人可以相对轻松地找出存储在 RAM 中的内容,这可能是重要文件、互联网活动或其他任何与计算机有关的内容。smem 有点慢。有一些选项可以加快速度,但是会增加风险。
调用:
$ smem
sfill(安全可用空间擦除)擦除磁盘上存在过去文件的所有可用空间。如果您正在摆脱硬盘,这个会特别有用; 您可以启动 LiveCD,删除磁盘上的所有内容,然后使用 sfill 确保没有任何内容可以被恢复(以 root 身份):
# sfill mountpoint/
注意:如果您在单独的分区上有/ home /并且尝试/ home / hilarious / wrong 作为 mountpoint,则 sfill 将很乐意擦除错误目录所在的可用空间 (the entire /home/ partition).
sswap(安全交换擦除)擦除交换分区。当 RAM 填满时,交换分区存储正在运行的程序的数据。
先找到它,运行
$ cat /proc/swaps
或者在/ etc / fstab 文件中查找 swap 类型的文件系统。它可以是/ dev / sda5 或 / dev / dm-1等。
禁用交换分区:
$ sudo swapoff /dev/sda6
擦除
$ sudo sswap /dev/sda6
重新启用:
$ sudo swapon /dev/sda6
bleachbit:
好啦。希望您的大扫除足够愉快!⚪️