第145章 价值一亿美元的漏洞

A+A-

    林灰缺钱的原因很简单:

    ——想做的事情太多。

    而且林灰想做的事情基本都极其烧钱。

    诸如硬件一类的科技产品有多烧钱就不消多了。

    软件方面的很多项目也都是吞金巨兽。

    一个看似平平无奇的ai模型,具体调/教的过程往往需要无数的真金白银。

    至于更复杂的人脸识别技术、fos之类的问世所需要的更是金山银海。

    没钱根本玩不转。

    或许有人不理解林灰的“野心”。

    其实林灰也知道,重生未必就非得波澜壮阔。

    也可以渔樵江渚、闲云野鹤。

    但林灰觉得他做不到如此这般。

    至少最近半年之内林灰很难做到。

    太多的事情需要林灰亲历亲为。

    虽然没人逼着林灰走什么路线。

    但在家庭背景、教育经历、人生际遇这些东西的潜移默化之下实际上一个人该走什么路线已然是定数。

    除了家庭因素、教育经历以及人生际遇之外的原因之外。

    跟林灰的个人想法也有很大的关系。

    林灰觉得一个人的命运只有跟国家的命运民族的命运紧密地结合在一起。

    才能走得更高更远。

    有着远大的理想,林灰自然不会被眼前的困难所掣肘。

    虽然林灰缺钱了,不过问题不大。

    搞钱很容易!

    这个时代对于林灰来遍地是钱。

    软件能换钱,算法能换钱、商业模式能换钱

    不过暂时林灰没心情鼓捣这些东西。

    暂时还是找些轻轻松松的搞钱方式比较好。

    到轻轻松松地搞钱,林灰最先想起了他前几天看到的新闻:

    ——蘋果公司全面开放了漏洞赏金计划。

    根据该计划,可以通过提交漏洞来换取报酬。

    当安全人员向“漏洞赏金计划”提交漏洞之后。

    蘋果方面称会对这些漏洞基于开发链的复杂性和严重性进行衡量。

    每个安全漏洞至高可获得00万美元的赏金。

    而如果能够在bet(测试)软件中发现漏洞的话。

    赏金最高一次能够获得50万美元。

    林灰前段时间之所以没有马上提交漏洞,主要是抱着观望的态度。

    万一提交了漏洞,蘋果不认账就比较悲催了。

    这事前世蘋果也不是没干过。

    不止蘋果这么干过,谷歌微软之类的企业都这么干过。

    不过林灰从一些公开的新闻获悉。

    已经有几个安全团队通过这个安全站提交了安全漏洞并且换得近百万美元了。

    当然并不能据此蘋果守规则。

    林灰觉得这主要是因为这个漏洞赏金计划刚刚推出不久。

    蘋果方面还不至于这么快就自己打自己脸。

    如果是这个原因,那么最近一段时间。

    林灰似乎没必要担心太多,他只需要如法炮制提交些漏洞就可以了。

    到蘋果os的漏洞,林灰最先想到的是“时间回归漏洞”。

    所谓的时间回归漏洞指的是有一段时间蘋果调整时间会变砖。

    调整时间会变砖?

    听起来可能有点滑稽,不过这漏洞真实存在。

    在os64位设备的早期本上。

    只要将苹果时间设定到90年月日,然后重启,苹果就变砖头。

    之所以存在这样一个漏洞跟os系统的最底层——un系统有很大的关系。

    un操作系统,是一个强大的多用户、多任务操作系统。

    该系统支持多种处理器架构。

    按照操作系统的分类,属于分时操作系统。

    该系统最早由肯汤普逊、丹尼斯里奇和道格拉斯麦克罗伊于969年在at&t的贝尔实验室开发。

    un系统有很多衍生产物。

    os基于的drwn正是un的分支之一。

    os作为一个系统一定程度上继承了un的特性。

    既然是系统,那么不可避免会涉及到计时的问题。

    与人类一般使用“年+月+日”的计数格式不同。

    un采用了一种完全不同的计时方式:

    在un系统中计时方式是先将(utc时区)90年月日00:00设定为0点。

    随后计算到目前为止所经过的秒数。

    举个栗子。

    204年6月22日时30分25秒。

    表示出来的话为403433025秒。

    换算成对应的二进制在un系统下表示时间。

    这种计时方法被称为时间戳。

    os系统也沿袭了un这一计时方法。

    也正因此,os中时间的设定最多也只能回溯到utc时区90年月日00:00也是这个原因。

    仅仅是设置成这个时间的话不会有什么问题。

    但涉及到一些特殊的在局部关键功能具有查询过往信息的规则的时候

    将时间设置成utc时区90年月日00:00很容易出问题。

    尽管多数时候可以通过人为的因素避免触发这个漏洞。

    但蘋果开的时候就有一个这样强制查询过往信息的制这个几乎无法避免。

    这个制没办法取消,因为关重启之后肯定是要读取一部分先前的日志数据的。

    这种情况下如果时间戳是正常时间的话,那么读取先前的日志数据并不会有什么问题。

    但当utc时区90年月日00:00的时候,这个时候时间戳的时间是0。

    当局部时间比时间戳0点更早的情况下。

    应该怎么表示比时间戳0点更早的时间?

    似乎没什么好办法。

    尽管没别的好办法,系统是器。

    又不是拥有智慧的生物,它一样是要通过查询制找到更早时间的。

    这个时候就会在时间戳0的基础上进行-操作。

    (这是为了在系统时间戳表达的时间上减去相差的秒数来查询之前的内容)

    不过在0的基础上-就比较悲催了。

    得到的结果并不是-。

    0-≠-?

    听起来很匪夷所思,但实际上在程序里面涉及到这种现象比比皆是。

    这与二进制表达负数的方式有关系。

    因为un采用了二进制的方式来存储。

    二进制数据在执行在执行000-

    实际进行的的运算是:()000-(p:省略号中有6个0)

    得到的结果是(p:省略号中有6个)

    这样的话0-≠-

    得到的数实际是2的64方-。

    类似于这种的例子在计算的世界里有很多。

    比如两个正数相加结果为0这种情况。

    林灰记得以前玩acm的时候经常遇到那种比较蛋疼的编程题。

    表面上要求两个数相加。

    听起来要求很简单。

    但跑程序测试的时候遇到的测试数据都是那种超大数。

    但实际操作的时候必须要考虑数据溢出的情况。

    总而言之,计算世界。

    一个奇妙的世界。

    在un里当时间戳为0的时候进行求差也会遇到类似的这种情况。

    当蘋果里时间戳的时间设置成0的时候重启。

    的查询制在通过时间求差查询的时返回的时间非但不是一个时间戳0之前的时间。

    反而会返回一个极大的时间。

    功能的时间是无穷大,而系统的时间却是0。

    而现在这种情况,查询之前的时间会出错。

    出错的后果很直接整个系统直接罢工。

    即直接即变砖。

    当然,虽然这个漏洞存在。

    但脑回路正常的用户在安全的络环境下想触发这个漏洞很麻烦。

    如果用户想触发这个漏洞的话。

    首先用户需要打开“通用”设置下的“日期与时间”。

    在这里用户必须先关闭“自动设置时间”的功能才会出现动设置时间的选项。

    紧接着用户要做的时间事情是滑动选择的时间。

    因为没有年份的选项,用户想要改变唯一的办法就是滑动日期。

    经过很麻烦的操作将才可以将时间设置为90年月日。

    而仅仅是这样还不会触发这个漏洞。

    在时间设置为90年月日之后。

    用户要接着进行下一步操作:关重启。

    至此pne变砖的步骤才大功告成。

    按照这一番操作下来的话将一直卡在苹果开时lg刚刚出来的界面。

    听起来这个漏洞似乎很难触发啊!

    这样一个很难触发的漏洞有什么价值吗?

    当然有价值。

    凡事就怕有心人故意利用。

    漏洞这种东西也一样。

    对于普通用户来这个漏洞不算什么。

    但对于有心搞事情的技术人员来通过这么一个蠢萌的漏洞可以做很多事情。

    当os设备连接到公共络时,os系统将会使用络时间协议服务对时区、时间进行校准。

    如果黑客发送恶意的络时间协议攻击,将os系统时间校准至utc为0的时间,那么所有用户设备均会受到此bg影响,在重新启动设备后无法使用设备。

    ntp(络时间协议)是最古老的络传输协议之一。

    其本身的目的是将精确计时装置如原子钟的时间通过络的段传递给每一台联设备,从而提供最精确的对时能力。

    即使络时间协议协议本身已经考虑到了篡改时间的可能性。

    但长久以来,以络时间协议为切入点络攻击方式屡见不鲜。

    虽然林灰并不是很擅长这类操作,不过这对于黑客来很容易做到。

    毕竟哪怕是林灰这样并非专门从事it安全方面的人,也知道上述操作具体如何实现上述过程。

    随便找一个公共场所,设定一个不设密码的开放wf。

    然后将苹果的络时间协议请求解析到自己控制的ip上(这里的ip指ip地址)。

    具体到络时间协议攻击如何操作。

    首先伪造一份数据给一台服务器。

    服务器就会进行自动响应。

    转而对一个特定ip发送大量响应信息。

    而且这份数据和受害者最终收到的数据之间有一个非常大的倍数关系。

    通过大量数据的阻塞攻击,可以瞬间影响受害者的络带宽,甚至直接瘫痪受害者的络。

    这种情况下,当用户将pne连接到这个wf之后,一旦重启就变砖。

    总而言之,这个漏洞在普通用户视角中可能不算什么。

    但对于一些心术不正的技术人员来。

    这个漏洞很容易利用。

    而且这个漏洞很严重。

    遇到这个漏洞的解决方案只有一个:

    拆断电。

    在将pne拆开之后需要将电池与主板的连接切断。

    并且放置一段时间,让内部的电容内的电能充分消耗。

    之后再次连接电池开,这样一来os就能重归正常工作状态。

    其中的原理更简单,通过彻底断电,清除pne内部电子元器件的计时功能,让一切相关数据归零。

    重启之后就能跳出这个bg。

    当然,也仅仅是暂时跳出这个bug而已。

    但如果你将时间,或者时间被再次修改为90年月日,这个问题还会再次出现。

    虽然看起来简单。但实际很难,毕竟不是那么多人擅长拆解。

    而且拆解本身也已经对pne本身造成了损伤。

    总之这件事情影响很大,林灰记得前世这件事情影响很不好。

    前世这个漏洞涉及的范围很广。

    几乎涵盖了系统本:os0-os93bet3

    (对对应搭载64位处理器的设备)

    虽然现在os正式还没发布。

    但osbet却已经存在了。

    没道理正式上存在的bg在测试上却不存在。

    不过出于谨慎,林灰找了部空余的pne5。

    林灰记得这似乎是前不久买那堆电脑时顺带买的。

    啧啧啧。

    老实这测试漏洞的成本有点高昂啊。

    不过比起即将获得的回报这点成本不算什么。

    蘋果方面的安全人员也不是傻子。

    不会不清楚林灰提交漏洞的价值。

    刷到osbet本之后。

    林灰进行了测试。

    测试的过程林灰还顺带着进行了录像。

    通过一番测试。

    林灰发现这个涉及到改时间重启会变砖的漏洞果然依旧存在。

    存在很合理。

    不存在才不正常。

    只要蘋果底层跟un有牵连。

    这个漏洞就会一直存在。

    事实上前世的蘋果涉及到这个漏洞所采取的解决方案也只是将让用户没法将时间调到90年月日而已。

    可以这是很睿智的一种做法了。

    尽管这个漏洞很强大。

    但面临提交的时候。

    林灰却有点犹豫了。

    这么牛比的漏洞拿去换钱会不会有点亏?

    或许可以有更大的用处。

    不过旋即林灰就放弃了这一想法。

    林灰现在最不缺的就是蘋果的漏洞。

    比这个时间回归漏洞严重的多的蘋果漏洞比比皆是。

    林灰之所以第一时间想到时间回归漏洞不是因为这个漏洞最严重。

    而是因为这个漏洞相对来比较经典。

    以后林灰真想利用漏洞搞事情完全可以用别的漏洞来安排一波。

    在此时缺钱的情况下漏洞还是有必要提交的。

    在实际漏洞提交的过程中,林灰使用的是前段时间买的新电脑。

    连的是代理ip。

    虽然有点麻烦,但心一点为好。

    这种所谓的漏洞提交站白了很像是黑客论坛。

    不心些着了道就不妙了。

    在漏洞激励计划的第一步林灰就卡住了。

    起个什么d好呢?

    这让起名废林灰着实很纠结。

    纠结了一会之后林灰干脆直接以“dn”命名了。

    ------题外话------

    666