0%

Privacy and Anti-Social Engineering

好久没写博客了,去年的 review 还没有写,打算农历新年前等回家之后抽一两天写吧,先水一个我对当前网络背景下的隐私保护的想法(逃避看代码

现在记忆力差到会问师兄问题还没等他回答就已经忘记刚问的问题了,所以我现在也不记得为什么中午吃饭的时候就突然想到要写这个反社工的博客。Anyway,那就写写我对在当前的网络社会背景下我对隐私保护和社工的一点点想法吧

什么是社工

首先要知道,社会工程学是什么?

社会工程学是指在信息安全方面操纵人的心理,使其采取行动或泄露机密信息。有别于社会科学中的社会工程,这是种以收集信息、欺诈或入侵系统为目的的信任骗局,已发展出各种技术手段,并可能用于犯罪。

—— wikipedia

简单来说,在网络无处不在的场景下,我想要去人肉一个人,在我通过各种手段获取它的信息的过程,就算是社工了。它通常有别于大家所想的黑客(Hacker)用技术手段破解系统拿信息,相对门槛可以说要低的多。

我最早接触到是和一个做安全工程师的哥哥聊天,再后来接触东西多了也尝试过社工库。感觉在这样一个用隐私换服务的网络社会,大家很难保护自己的信息不被泄漏。我也在社工库中查询过自己,与所了解到的完全相同,仅仅用免费开放出来的社工库信息就已经把自己扒的底裤都不剩了。

隐私换服务的时代,怎么保护自己

不得不承认,大数据时代的服务就是要依靠个人隐私来换的。厂商需要更精准的推送,需要了解你的能力,需要你的位置来匹配等等。如果把这些信息都抹去,大家就又变回原始人了。鉴于流量等成本,也不可能由远端把所有信息都推送给你,再又主机本地进行筛选提供。换句话说,不是没了手机活不了,而是用隐私换服务支撑起了当今社会。

那么为了应对海量的信息泄漏,该怎么办呢?

首先要明确,没有任何的软件没有漏洞,没有任何的系统不可能被攻破,也没有任何一个数据库没有泄漏的可能。在维护新闻频道的这么长时间里,已经转发过太多太多的信息泄漏事件了,即便它是由最权威的大厂亦或是有国家政府来背书。与学生最相关的例子可能就是前几年的学习通数据库被拖库了吧,整个数据库被大家肆意传,但里面的信息包括了你的帐号 密码 学校 手机号 学号等信息。社工可怕在可以像数据库 join 一样把不同地方获取到的信息合并,从而得到一个更全面的版本,就像我在社工库中通过我的学号拿到了我的姓名 手机号等信息,再用手机号获取到了多任机主的姓名 地址等,经过简单筛选就可以生成一个非常全面的 Augists 个人信息档案了。

那么,是不是我所有地方都提供假信息就可以了?

很明显,我们有大量的地方和场景要求我们必须提供真实的信息。本科作为班级的学委,我有全班每一个人在开学时提交过的详细个人信息表格,也有全年级的各种获奖等信息的汇总等,想要查询一个人的时候,通常只需要有学号,不需要利用战神发现的学生系统的漏洞就可以非常清楚的知道很多了。你又怎么敢确信我没有把手里的信息批量出卖给别人?

也许有的人会让自己每个社交平台都使用不同的名字。这肯定是有一定效果的方法,但是这一方面是给自己徒增成本,另一方面在核心串联信息的如手机号 身份证 常用邮箱等都没有办法做到保护,实际意义并没有那么大。当然,对付普通人可能就已经足够了。

想起来之前看到一个人说自己每个平台的帐号和密码都会和平台名字相关联。比如原本是叫 Augists,那么淘宝名字就是 AugistsTB,密码也以 tb 开头;京东就用 AugistsJD,密码以 jd 开头。非常值得借鉴学习,这样当你收到奇怪的信息泄漏短信的时候也能反向追踪到是什么平台将你的数据出卖了。

在密码管理上,除了 2FA 验证器和物理密钥,我自己使用的是多级的密码管理。简单可以区分为:可以出借帐号密码的 · 比较重要只有关系最近的人知道的 · 非常重要只有直系亲属可以知道的 · 必须只有自己知道的。当然,我也无法保证重要等级高的密码不会被无良代码人不加盐被拖库而暴露出去。我倾向于在有序的基础上建立无序规则,比如你可以把自己的名字写下来,然后生成一些随机数,通过如按位与 · 移位 · 交换 · 替换等方式让这一串看似完全无序的密钥有一定的仅自己知道的规律,然后强行记住它。当然,动态密码和 2FA 的方式也是非常推荐的。相比与我的 primary 和 backup 两个 YubiKey,2FA 验证器无论是方便程度还是安全性(指物理密钥丢失)都要更好。

我想的更合适的方式是:

  • 放弃抵抗,但塞入假信息。海量的数据也就意味着,并不存在严谨且高成本的真实数据筛选,事实上应该也没有筛选。你可以在平台上的一些地方使用假信息,使其污染流入的大数据库。这也是我认为最合理和可行的一种,尽管我想了很久都没有完全付诸实践。
  • 临时或中间转发站。使用如 duckduckgo 提供的第三方隐私转发邮箱,使用可以抛弃的流量卡来注册一些不重要的帐号等方式。
  • 对自己的 cookies · 权限等进行管理,只保留必须的使用。Google 也在今年开始了禁用 cookies 的方式来提供服务,开始探索新的隐私换服务方式。
  • 去中心化的信息存储方式和组织结构。信息存储在每一部分只保留一点,只有当他们以某种特殊方式组合在一起时才对应着全部信息,这样在一定程度上也能让某一数据库被泄漏时的代价减小。在组织结构上,可以参考很久以前的这篇博客的方式,降低自己在整个结构中的权重。

当然,以上只是抛砖引玉,提出一点不成熟的小想法。关于怎么保护自己信息我也还在探索,怎么与“隐私换服务”的方式共存。或许,大三的 yl 老师的某课上我提出的关于位置隐私保护的分级服务和分区服务取交集法真的能实现呢

Welcome to my other publishing channels