这段时间一直在准备面试,趁晚上有空,和大家聊聊网警查水表的那些事。

前段时间有朋友找我玩,中途聊到智能电表攻击案,攻击者通过穷举破解了智能电表管理后台的密码,并关闭了九百多台智能电表,导致九百多户人集体停电,最后被警方查水表判刑了。

作为案发当事人的朋友,听闻朋友进局子,我感到很震惊,也很惋惜。

其实,我们是可以用技术力量四两拨千斤的。

现实中,如果想对抗国家机器,我们需要枪支弹药,炮弹,装甲车,坦克,甚至是导弹和原子弹。

但在互联网的汪洋中,我们完全可以消失在茫茫网海中,做到事了拂衣去,深藏功与名。

电视报道的很多网络攻击案,犯罪分子被抓,大快人心。其实很多人都不会保护自己。

真正懂的人,都在做黑产,闷声发大财。

网警溯源最根本的问题在于调查取证,并将网络证据与现实中的攻击者对应起来。

先说下调查。

网警在调查的时候,会第一时间奔赴现场,就跟刑事犯罪一样。第一件事是要收集现场证据。

刑事犯罪就是拿着相机各种拍,搜集现场的血液,毛发,指纹等。而网络犯罪,则是收集日志,病毒样本等。

如果顺利的话,对于没有保护意识的人,在这一步就留下证据了,这个证据就是IP地址。

要实施抓捕,必须要知道攻击者的地理位置。这些信息都是由IP地址提供的。

对于普通人,根据一个特定的IP,可能只能查到区和县。而对于拥有执法权的网警,他们能够查到具体的门牌号。

因为你在接入宽带的时候,在运营商那里会有登记。

这一步,如果顺利的话,警察会破门而入,缴获你的电脑,对你的电脑进行取证。一旦你没有保护措施,被收集到犯罪证据,就免不了牢狱之灾。这里的证据包括你使用过的攻击软件,浏览器的攻击记录,你从受害者服务器上窃取的文件等。

有人会说,我用代理啊,用了代理网警就查不到我的真实IP了。

这是大部分人都会想到的办法。

其实,这么做的确能够给网警的溯源带来难度,但并不是一个好的解决方案。因为日志存在于代理服务器上。

这里要分两种情况,境内代理和境外代理。

由于警方拥有执法权,法律规定任何人都有义务配合警方调查,因此如果代理是在国内,基本上和没有一样。

如果是在境外,就安全了吗?答案是未必。

第一种可能是代理服务器的拥有者可能会配合警方调查,第二种可能是代理服务器可能会遭受到攻击,如果警方攻破了代理服务器,后果不堪设想。

一个好的办法是:保证使用的代理服务器必须是可控的,你可以使用比特币购买境外的云主机,自己架设一个代理,当完事后手动擦除日志。擦除日志后再释放掉该云主机。

这里需要区分删除和擦除的区别,直接删除的数据是可恢复的,而擦除的话,恢复的难度会大很多。关于擦除,可以使用符合美国国防部DOD 5220.22-m标准的擦除程序。

说到这里,大家也许会问,这样做我就安全了吗?答案是否定的。

其实安全,并不是单一的某个部分,而是一个整体。上面的做法,只是从网络层面做了一些防范。

且不说其他方面,即使是网络层面,这么做也是不严谨的。不严谨就意味着有风险,有风险就意味着你会进局子。

下面我们来聊一聊协议。

常见的代理协议有HTTP,SOCKS。虚拟专用网(VPN)协议有:PPTP,L2TP,IPSec,OpenVPN等。

上面提到的协议中,代理协议不推荐使用,因为加密强度太低,这些协议设计的初衷是用来突破网络封锁,而不是用来保密的。这些协议是可以被解密的,一旦网警解密了你的网络流量,你在网络中的所有活动都会成为法庭上的证据。

VPN协议中的PPTP也不建议使用,虽然这个协议设计是用来保密的,但随着计算机运算能力的发展,也许在计算机网络发展初期,当时的计算机运算能力还不是很强,这个协议是安全的。但现在有集群,有超级计算机,这个协议加密的强度在现代计算机强大的运算能力下变得不那么安全了。

不推荐使用代理协议,还有个重要的原因是代理协议需要自己在软件中手动配置。如果你需要运行浏览器和聊天工具,这意味着你需要配置两次,在浏览器中配置一次,聊天工具中配置一次。还有个缺点是并不是所有软件都支持配置代理的。

而VPN,是系统原生支持的。可以把它看作是全局代理。即你只需要连接VPN,所有运行在该操作系统上的软件流量都会走VPN。

你也许会问:我保证了代理的加密强度以及代理服务器不被警方入侵,我就安全了吗?答案依旧是否定的。

这里你需要考虑到一种情况:在入侵的过程中,VPN掉线了!这种情况的发生是致命的,你正在进行敏感操作,突然VPN掉线了,系统自动用真实IP重新进行了连接。

要解决这个问题,你可以考虑使用虚拟机隔离。新建一台虚拟机,网络设置为HOST-ONLY,所有敏感操作均在虚拟机中完成。这时虚拟机只能和宿主机进行通信,是无法直接访问外网的。将代理软件运行在宿主机上,虚拟机连接宿主机上的代理软件。这样就能让虚拟机的流量强制走代理。

这么做还有个好处,即使是机器中了木马,木马也不能联网,即使是木马记录了你的IP,再高级的木马,它也无法传出到公网中。

提到木马,大家可以了解下有关部门开发的黑暗幽灵木马,连接在这里(需爬墙)

即使是中了这种木马,也不用担心。第一木马无法和外界通信,第二虚拟机还有快照可以还原。

代理使用了高强度的加密协议是依旧不安全的。因为0day的存在,你无法保证代理服务器不被入侵。

其实比较稳妥的方法是:所有网络流量都经过三个以上的服务器,流量是高强度加密的,且这三个服务器最好是随机的,过一段时间会变换。

要实现上述稳妥的方法,大家可以考虑使用Tor,它的官网在:这里(需爬墙)

至此,虚拟机隔离配合Tor,你能做到:强制所有流量都走代理,不会因为断网或操作失误而暴露真实IP,也不会因为漏洞和木马暴露真实IP。另外,还能做到所有流量都经过三个以上的服务器,流量经过的服务器是随机的,这些服务器每隔一段时间会随机进行变化,所有流量都是强加密的,

有兴趣的朋友可能会问:Tor是绝对安全吗?答案是否定的,因为这个世界上没有绝对安全的系统,Tor也会有漏洞。

FBI为了抓捕隐藏在Tor背后的攻击者,利用了Tor的漏洞。这漏洞是:即使是Tor,在访问了有漏洞的网页后,会向指定地址回传真实IP。

现在可以思考下,如果是在虚拟机隔离的环境中,由于所有流量都强制走的Tor,这种漏洞就无效啦。

所以,虚拟机隔离和Tor,需要搭配使用,效果才最佳。

说了这个多,网络层面就差不多说完了。下面说说软件层面。

软件的话,尽量不要使用国产软件。因为国产软件会收集你的隐私,具有代表性的就是QQ,微信,360,还有国产浏览器,国产输入法等等。

不光是国产软件不尊重用户隐私,还有个原因是对于国内的一切公司,网警都有执法权。国产浏览器可能会在云端同步你的浏览记录,国产输入法大都有个云联想功能,这意味着你输入的内容会被上传至云端。国产聊天工具就不用说了,网警是能够拿到聊天记录的。国产杀毒软件就更加危险了,它可能会将任何一个文件上传至云端进行分析。

在网络层面的防护做得再好,如果国产软件导致你的个人信息泄露,所有的一切都会前功尽弃。

试想一个场景,你在网络层面的防范做得很好,网警拿到IP,对你没办法。但网警联系腾讯公司进行配合,发现该IP登陆过QQ,于是该IP就和你的QQ关联起来了。通过查询QQ的注册手机号和实名认证,于是你就暴露了。

那么,我们该怎么办呢?答案是使用Linux,禁止使用一切国内的软件,且所有软件都使用开源的。

这里提到了操作系统,顺便聊聊操作系统层面的防范。

大家应该都还记得陈冠希吧。陈冠希同志因为没有对敏感数据做防范,电脑送修之前也没有对敏感数据进行处理,导致了我们广大网友有福利看,也搞臭了一堆女明星。

操作系统层面,你会怎样被暴露呢?

某天,你的电脑丢失了,或者是被偷了,或者是被他人使用了,或者是被警察叔叔搜查,他人和警察叔叔打开你的电脑,通过登录名,浏览记录,浏览器记住的密码,发现原来你就是那个大黑阔,于是你就被暴露了。

其实,我们应该使用加密手段来保护自己。重要和敏感的数据加密,设置一个足够强壮的密码。

这里的加密也是有讲究的,不要随便从网络搜索加密软件来使用。第一,你无法保证加密强度,第二你无法保证加密软件是否有后门。某些加密软件的加密强度不够,甚至是将你的文件移动至回收站目录,并设置隐藏属性。你应当使用业界公认且安全的加密软件。例如VeraCrypt,BitLocker等。

推荐使用VeraCrypt,为什么呢?因为这个东西是跨平台的,而BitLocker只能在Windows上使用。还有个好处是VeraCrypt支持Keyfile。

什么是Keyfile呢?Keyfile就是当你在解密的时候,除了输入密码,还必须提供一个文件用于解密。这个Keyfile有什么好处呢?

当警察破门而入,欲收缴你的电脑。你可能只有数十秒钟的时间用于销毁敏感数据。不要以为数据加密了,警察即使是收缴了你的电脑,他们也看不到,找不出来证据。你要知道你可能会被刑讯逼供。这个时候,如果你擦除Keyfile,就连神仙也无法解密。因为解密必须要密码和Keyfile两个东西,这两个东西缺一不可。当Keyfile被擦除,就连你本人也无法解密,因此刑讯逼供也无效啦。

文章写到这里,从技术层面上要做的事情都差不多了。但有一点依旧不能忘记,那就是社会工程学。

大家也许听说过钓鱼执法。一个白帽子攻击了世纪佳缘,世纪佳缘以感谢和送礼物为由,拿到了白帽子的姓名和收货地址,于是报案了。很自然的,白帽子被抓判刑了。

这里先不探讨黑客的道德问题,这是一个典型的钓鱼案例。

在执法的过程中,网警也会采用钓鱼的手段。

还有一个案例是追捕一个勒索病毒的作者。勒索病毒什么都没有留下,只留下了支付赎金的比特币地址,和一个联系邮箱。

警方冒充买家联系作者,提出以丰厚的价格购买该勒索病毒,并希望作者提供现场示范。

作者没有意识到该买家是警方冒充的,于是提出邮箱聊天不方便,于是给了警方QQ。

警方从腾讯公司拿到登陆QQ的IP和实名注册信息,当场对作者实施了抓捕。

这里,这位勒索病毒的作者犯了两个错,一是没有意识到国产软件的危险性,二是没有意识到社会工程学的危害。

暗网中最大的毒品交易网站丝绸之路站长也是因为社会工程学被抓的。因为他使用自己的ID发布了招聘信息,留下了他真实的联系方式。

关于社会工程学方面,我们要怎么防范呢?

一是在网络犯罪现场,不要留下任何个人信息。即使是要留个信息装逼,也要尽可能地少。并且留下的信息不能是自己常用的ID和网名,要注意不能让警方从留下的信息中查到你的真实身份和其他网络身份。

推荐使用Protonmail邮箱或者是Gmail。建议使用Tor新注册一个账号,用户名使用随机数和随机字母,以后访问该邮箱均使用Tor去访问。

二是在你新注册的邮箱中,不要轻易相信任何人提出见面,索要其他联系方式等要求。要做到所有的通信,都只通过邮箱来完成,且操作该邮箱必须严格使用Tor。

写在最后:最好是不要使用手机,平板等移动设备进行敏感操作,例如登陆你在犯罪现场留下的邮箱。因为手机有太多不可控的因素,不光是各类APP乱要权限,还有就是手机的安全性也是一个大大的问号。

最后还是用一句话总结:天网恢恢,疏而不漏。莫伸手,伸手必被抓~