• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 事迹材料
  • 申请书
  • 作文大全
  • 读后感
  • 调查报告
  • 励志歌曲
  • 请假条
  • 创先争优
  • 毕业实习
  • 财神节
  • 高中主题
  • 小学一年
  • 名人名言
  • 财务工作
  • 小说/有
  • 承揽合同
  • 寒假计划
  • 外贸信函
  • 励志电影
  • 个人写作
  • 其它相关
  • 生活常识
  • 安全稳定
  • 心情短语
  • 爱情短信
  • 工会工作
  • 小学五年
  • 金融类工
  • 搞笑短信
  • 医务工作
  • 党团工作
  • 党校学习
  • 学习体会
  • 下半年工
  • 买卖合同
  • qq空间
  • 食品广告
  • 办公室工
  • 保险合同
  • 儿童英语
  • 软件下载
  • 广告合同
  • 服装广告
  • 学生会工
  • 文明礼仪
  • 农村工作
  • 人大政协
  • 创意广告
  • 您现在的位置:六七范文网 > 外贸信函 > 正文

    2018掌上游戏机哪个好【掌上游戏机软件IPL设计安全技术初探】

    来源:六七范文网 时间:2019-05-21 04:42:52 点击:

      摘要:文章深入分析了掌上游戏机IPL的检验过程技术原理及其特性,针对其 IPL的检验过程中存在的技术缺陷和系统破解者通常采用的技术方法,以及对系统安全体系造成危害的情况,应用逆向工程的方法,从源代码上剖析了这一技术过程,指出了在软件开发中软件IPL设计安全技术的重要性。
      关键词:IPL;检验过程;软件安全;逆向工程
      中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)29-6990-02
      2011年,日本Sony公司称,由于旗下的PSP软件系统遭受不明黑客攻击,导致该系统信任链被破坏,几十万用户的信用被泄露,由此给公司及用户带来巨大经济损失,并称将由此开展反黑客的调查和诉讼。为此,社会舆论一片哗然,在业内引起了强烈震动。事情虽然过去一段时间,现在再来认真分析研究这个事件,吸取其经验教训,仍然十分必要。为此本文从技术的角度,对掌上游戏机软件IPL设计安全技术问题做一次有益的探索。[1]
      1 IPL概述
      PSP是一款由Sony公司出品的掌上游戏机。长期以来,由于PSP IPL的检验功能以及PSP装载固件时的信任链机制,PSP固件破解一直停留在使用系统漏洞而破解的程序的阶段,无法实现真正的开机后自动完成破解。2007年8月,Prometheus C+D小组宣告破解PSP IPL检验过程,并在其中发现了Sony的工程模式后门,于是PSP被完全破解。
      尽管这个破解补丁在网上早已公开,但其工作原理却尚知之甚少。为了说明IPL补丁的工作原理,下面简要介绍一下PSP的IPL。PSP的IPL分三个部分。
      第一部分:它是IPL的启动代码,位于IPL块解密完成时的entry地址上。它被放置在显存上,是因为此时DDR内存还没有被初始化。第一部分将重置PSP CPU状态,将pre-IPL移出内存映射区域,解密并跳转到IPL第二部分。
      第二部分:又被称为main.bin,同样被装载在显存之上。它附带了一些简单的驱动代码,将初始化DDR内存,初始化显卡驱
      动等。完成这些操作后,它将解密并跳转到IPL第三部分。
      第三部分:又被称为kbooti.bin。这个部分被装载在内存之上。它负责加载一些NAND上的内核模块,包括sysmem.prx, init.prx和loadexec_0xg.prx。在加载过程中,它会检查模块的签名安全性。然后init.prx将打开PSP运行级模块列表文件(pspbtcnf.bin),启动所有PSP启动时需要的模块。有点像UNIX的init进程。而黑客的主要目的就是消灭这些模块安全性检查和设法在PSP运行级模块列表文件中插入自己的模块。[2]
      1.1 IPL补丁第一部分
      它将对pre-IPL完成解密IPL块时跳转到entry(IPL入口)的代码作补丁,并从NAND读取并复制IPL补丁的后3个部分到显存安全位置,然后将修改内存中的IPL块表,把第一个块之后的块前移一项,相当于删除第一个块项。然后重新执行pre-IPL读取IPL的代码。这样pre-IPL还是能正常解密来自于官方固件的IPL。由于pre-IPL跳转到entry的代码已经被修改,结果最后一个官方固件IPL块被解密正确后,不是跳转
      到其entry(即IPL第一部分),而是执行黑客的代码。我称这段代码为IPL补丁第二部分。
      1.2 IPL补丁第二部分
      它会对IPL第一部分跳转到第二部分的
      跳转代码补丁自己的代码。在这段代码中,它将复制自己的后几个部分到安全位置上,并补丁IPL第二部分中初始化显卡驱动的调用代码为IPL第三部分,以及补丁IPL第二部分到第三部分的跳转代码为IPL补丁第四部分,然后回到IPL第一部分的执行。之所以这样做,是因为IPL补丁位于PSP显存上,即将被显卡驱动清空。
      1.3 IPL补丁第三部分
      由于显卡驱动初始化时将对显存清零,此处的显存已经不再安全,它会复制IPL补丁的第四部分到紧接IPL第三部分之后的内存地址上,然后返回执行IPL第二部分中的显卡驱动。
      1.4 IPL补丁第四部分
      经过东躲西藏后,IPL补丁的最后一个部分终于可以对IPL第三部分的安全性检查代码做补丁了。它将对IPL第三部分的模块安全性检查代码做补丁,让PSP不再对模块检查签名,并接受黑客的自制固件模块。它还会对IPL第三部分的文件打开函数做补丁,当发现IPL第三部分打开PSP运行级模块列表文件时,返回其自带的一个插入了黑客的自制固件的运行级模块列表文件。从而导致PSP从一开机后, PSP失去了分辨Sony公司模块和黑客非法模块的能力,即信任链被攻破。
      在装载过程中,CPU将对IPL块进行校验。PSP将使用其内部的加密硬件“Kirk”,对IPL块进入校验和解密。校验和解密算法为Sony私有,目前已知的特征是可能为一种128位CBC算法,类似于AES,但是密钥固化在Kirk硬件中无法得知。
      在验证时,Kirk分两步进行。首先验证IPL块的头部信息(0x00~0x3f字节),结果同header_hash相比较。如果不同而出错退出。然后验证IPL的数据部分(0x40~0xff字节),结果同data_hash相比较。如果不同而出错退出。
      当Kirk解密成功后,会把数据从解密缓冲复制到loadaddr地址,复制大小为blocksize,如果loadaddr为0,则不复制继续解密下一个IPL块。为了防范重放攻击,checksum必须等于上个IPL块的全部字节的加法和(第一个IPL块的checksum为0)。当解密成功最后一个IPL块时,这个IPL块的entry将有效,然后pre-IPL跳转到entry去执行。
      如果IPL解密时任何步骤出错,PSP将死锁而无法开机,这种现象也被PSP用户称为“变砖”。
      3 IPL检验过程的安全隐患
      Kirk硬件看似坚不可摧,实际上有个严重的安全性问题:它在Kirk内部比较hash是否正确时,只要遇到任意四字节不正确,就会提前退出。这样,就为黑客对其进行时序攻击提供了机会。而且由于是分别检查头部和数据的hash,所以攻击变得更加容易。只需分别找到一个可用的头部和数据hash就可以了。
      由于通过系统漏洞破解的PSP同样可以使用Kirk硬件,所以就为穷举法破解IPL校验奠定了实践基础。
      攻击方法很简单,使用穷举法。黑客可以简单的在CPU调用Kirkd硬件解密一个伪造的IPL块时关中断,并在CPU等待Kirk解密时自增一个变量。通过比较变量的大小,推断出解密时花费了多少CPU指令周期,从而根据经验分析出可能是hash中第几个字(32位)不正确,然后修改出问题的hash字并继续穷举。这样做成功的把本来2^128的穷举量,化简为4个2^32的穷举量。前者穷举时间是个天文数字,而后者一台PSP一般只需3天即可找出一个能通过验证的伪造的IPL块。[4]经过穷举,黑客成功找到了一个能通过pre-IPL验证的伪造的IPL块。图1的IPL块是一个被各种PSP自制固件广泛采用的伪。
      4 结束语
      千里之堤,溃于蚁穴。软件设计者为了防范掌上游戏机软件被破解,采取了许多技术措施,然而尽管软件拥有信任链设计,拥有一套私有校验算法来防范穷举攻击,却因一个解密硬件上的小小失误,导致了软件整个安全体系土崩瓦解,损失惨重。这个案例告诉我们,加强软件系统安全防范技术措施的重要性,要达到理想的设计目标必须采取严密有效的安全防范技术措施。
      参考文献:
      [1] 张横云,何海涛.SOA体系的安全研究与设计[J].四川理工学院学报:自然科学版,2009,22(1):44-47.
      [2] Rahimzadeh A.?Hacking the PSP[M].北京:科学出版社,2007.
      [3] Silver Spring.PSP Boot sequence, [DB/OL].http://silverspring.lan.st/NPSPTD_01.txt.
      [4] 邱树伟.基于模式识别的入侵检测系统.[J].四川理工学院学报:自然科学版,2011,24(1):77-81.

    推荐访问:初探 游戏机 掌上 设计