关于xCodeGhost的想法

最近xCodeGhost很火

这个估计也就是发生在国内才这么火,国外估计不会存在,谁也不会闲着没事从不可靠来源 下载软件。

如果1个软件从原站需要1个小时下完,而从非原站需要30分钟下完,大部分人应该都会从原 站下载,这个成本还是可以承受的。

如果1个软件从非原站下载只要10分钟,从原站下载需要经过N个小时,甚至忍受着不断的重 试,那么肯定会从非原站下载的。人的忍耐力也是一个很昂贵的成本。

在Android开始被封的时候我下载过Android源代码,电脑开了一周多。年前也下载了 Android源代码,clone的镜像是否完整到现在还没有验证过。因为下载要重试的次数太多, 我干脆写了个脚本,反复的重试,直到我不小心关闭了电源为止。

现在iOS的各种下载都快很多(就我自己感受而言),相比于早些年,我都是点了开始就去 睡觉的,等想起来说不定就完成了。

上面扯远了,我不想讨论上面的那些,说那些其实是关于成本的承受能力的。

编译器注入是很早就可能发生的事情

据说当年 Ken Thompson 走到任何一台 UNIX 机器,都能用自己的用户名密码登录。后来其 它人去掉了 UNIX 内核的后门,又有人重写了编译器,均不管用。后来 Ken Thompson 揭秘, 后门在世界上第一个 C 语言编译器里,之后所有的 C 程序都受影响..

我很早就听过这个故事,真假我从不验证。我感兴趣的是隐藏自己。

xCodeGhost用的是中心式服务器,所有的指令都是从某台服务器(使用域名或者IP等手段) 来进行收集或控制的。这种方式其实很傻,几乎一抓一个准。如果换做我的话,我会使用 p2p网络,将每个肉鸡都变成p2p服务器的节点,互相之间的联系通过更加安全的密钥来联系, 文件存储等内容也类似,这样每个肉鸡都是CI服务器,无论你在哪一个控制台上都可以加紧 控制。所以才有了这节的第一段内容。其实这个内容也早有人干过了。

很多的类似软件会判断杀软,或者系统负载,或者是否处于人为控制阶段,以减少被探测到 的几率,潜伏越久,破坏越大,成本也就越高。