CN102473223A - 信息处理装置以及信息处理方法 - Google Patents

信息处理装置以及信息处理方法 Download PDF

Info

Publication number
CN102473223A
CN102473223A CN2011800026523A CN201180002652A CN102473223A CN 102473223 A CN102473223 A CN 102473223A CN 2011800026523 A CN2011800026523 A CN 2011800026523A CN 201180002652 A CN201180002652 A CN 201180002652A CN 102473223 A CN102473223 A CN 102473223A
Authority
CN
China
Prior art keywords
information
volatile memory
distorted
signal conditioning
action
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800026523A
Other languages
English (en)
Other versions
CN102473223B (zh
Inventor
芳贺智之
松岛秀树
前田学
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN102473223A publication Critical patent/CN102473223A/zh
Application granted granted Critical
Publication of CN102473223B publication Critical patent/CN102473223B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供能够抑制被加载到易失性存储器中的共享库被篡改时的影响的信息处理装置。信息处理装置包括:篡改判断部(2501),判断易失性存储器内的共享库是否被篡改;共享库信息保持部(2504),用于保持共享库信息,该共享库信息包含表示共享库和进程之间的对应关系的信息;进程控制部(2502),在易失性存储器内的共享库被判断为被篡改的情况下,通过参照共享库信息,确定对易失性存储器内的共享库进行利用的进程,并使被确定的进程停止;共享库恢复部(2505),在易失性存储器内的共享库被判断为被篡改的情况下,通过将非易失性存储器内的共享库重新加载到易失性存储器,使易失性存储器内的共享库恢复。

Description

信息处理装置以及信息处理方法
技术领域
本发明涉及使利用共享库的进程动作的信息处理装置以及信息处理方法。
背景技术
近年来,采用开放平台的民用设备正在迅速普及。在现在的面向民用设备的开发平台环境中,与PC(Personal Computer:个人计算机)同样,能下载应用程序。能预想到将来会出现与PC同样能通过追加多种多样的硬件来扩充其功能的民用设备。为了实现这种功能扩充,需要安装设备驱动器。
与只能安装应用程序软件的环境相比,能安装设备驱动器的PC以及民用设备等所受到的威胁更大。现有的应用程序软件是在用户空间动作的软件,而设备驱动器是在内核(Kernel)空间动作的软件。
因此,有恶意的用户制作出在内核模式下动作的恶意软件(Malware),并将该恶意软件作为设备驱动程序散播,从而可能使正当的用户终端安装该恶意软件。如果恶意软件在内核模下式动作,将造成可自由篡改程序空间的存储器的这种威胁。
一般的进程为了执行被要求的动作,在其进程空间加载共享库。共享库是为了能在多个进程利用而提供的库。
共享库在非易失性存储器中作为静态文件而存在。并且,在执行对共享库进行利用的进程时,链接器·加载器(linker loader)将非易失性存储器中的静态文件加载到易失性存储器中。然后,被加载的文件以可在进程空间执行的状态被映射到物理地址和虚拟地址的页。
如上所述,进程空间中的共享库被映射到某虚拟地址。关于被利用于多个进程的同一个共享库,即使在该共享库的映射目的地的虚拟地址因进程而异的情况下,与其虚拟地址相对应的物理地址在多个进程中指同一个区域。根据该结构,即使在多个进程中加载共享库,也不会造成存储器的浪费。
但有时这种结构反而会被不正当利用。具体是,在内核模式下动作的恶意软件被不正当地安装,并篡改某进程空间的共享库。然后,利用被篡改的共享库的所有进程将受到篡改的影响。例如,在用于存取被加载到易失性存储器中的文件的标准库被篡改的情况下,根据文件来重放音乐、映像以及照片等的应用软件进程将受到篡改的影响。
作为现有的检测被篡改的软件并使其恢复的方法,例如有专利文献1所记载的方法。根据专利文献1所记载的方法,设备将作为闪存等非易失性存储器的RAM中存储的程序下载到作为易失性存储器的ROM中并执行。
并且,在RAM的程序有错误的情况下,该设备从ROM向RAM重新下载程序。在下载的程序也有错误的情况下,该设备就切换存储器体(Memory Bank),以直接执行ROM中存储的程序。
另外,作为现有的技术,非专利文献1、非专利文献2以及非专利文献3中记载了进程的控制方法等。
专利文献1:日本特开2004-78847号公报
非专利文献1:TCG Mobile Trusted Module Specification version1.0Revision6(2008年)
非专利文献2:John R.Levine(著),榊原一矢(翻译),Positive Edge(翻译)《Linkers&Loaders》Ohmsha(2001年)
非专利文献3:Jonathan B.Rosenberg著,吉川邦夫译,《调试器的理由论和安装》,株式会社ASCII(1998年)
发明内容
然而,根据现有的专利文献1所记载的结构,在程序所利用的共享库被篡改的情况下,程序可能无法恢复其正常的动作状态。
如上所述,共享库被加载到易失性存储器中。并且,利用共享库的程序也作为执行程序的进程,被加载到易失性存储器中。然后,共享库被映射到该进程的进程空间。
在此,如果被加载到易失性存储器中的共享库发生了错误,即使非易失性存储器的程序被重新加载到易失性存储器中,也无法使被加载到易失性存储器中的共享库恢复。
并且,共享库的重新加载可能对利用共享库的进程的动作造成影响。从而,进程可能会执行预料外的动作。此外,也可能出现如下情况,即使共享库被重新加载,进程空间的信息也不变更,而进程的动作发生障碍。
另外,在非易失性存储器中存储的所有的共享库以及所有程序被重新加载到易失性存储器中的情况下,所有的程序成为正常动作的状态。但是,如果对包括未受篡改影响的程序在内的所有程序都进行重新加载,将导致效率低下。
对此,本发明的目的在于提供能够抑制被加载到易失性存储器中的共享库被篡改时的影响的信息处理装置。
为了达成所述目的,本发明的信息处理装置是一种将非易失性存储器所存储的共享库加载到易失性存储器,并使对被加载到所述易失性存储器的所述共享库进行利用的进程动作的信息处理装置具备,其包括:篡改判断部,判断所述易失性存储器内的所述共享库是否被篡改;共享库信息保持部,用于保持共享库信息,该共享库信息包含表示所述易失性存储器内的所述共享库与对所述易失性存储器内的所述共享库进行利用的所述进程之间的对应关系的信息;进程控制部,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,通过参照所述共享库信息,确定对所述易失性存储器内的所述共享库进行利用的所述进程,并使被确定的所述进程停止;以及,共享库恢复部,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,通过将所述非易失性存储器内的所述共享库重新加载到所述易失性存储器,使所述易失性存储器内的所述共享库恢复。
根据以上,使受到共享库篡改的影响的进程停止。并且,通过从非易失性存储器重新加载,而使易失性存储器的共享库恢复。因此,本发明的信息处理装置能够抑制篡改的影响。
另外,可以是,在所述易失性存储器内的所述共享库恢复之后,所述进程控制部还使所述进程重新启动。
根据以上,停止的进程被重新启动。因此,本发明的信息处理装置能够使系统整体连续进行动作。
另外,可以是,所述进程控制部在使所述进程停止时生成停止进程信息,该停止进程信息是使所述进程重新启动时使用的信息,在所述易失性存储器内的所述共享库恢复之后,利用所述停止进程信息,使所述进程重新启动。
根据以上,在使进程停止时,生成进程重新启动时所必须的信息。因此,能使进程恰当地重新启动。
另外,可以是,所述进程控制部在使所述进程停止时生成含有进行状态信息的所述停止进程信息,该进行状态信息表示所述进程的进行状态,在所述易失性存储器内的所述共享库恢复之后,根据所述停止进程信息所示的所述进行状态,使所述进程重新启动。
根据以上,根据停止前的进行状态来使停止的进程重新启动。因此,能使进程恰当地重新启动。
另外,可以是,所述进程控制部生成将所述进程所用的程序计数器的信息作为所述进行状态信息来包含的所述停止进程信息。
根据以上,程序计数器的信息被作为进行状态,用于进程的重新启动。因此,能使进程恰当地重新启动。
另外,可以是,在所述共享库恢复之后,在所述停止进程信息所示的所述进行状态为所述共享库利用前的情况下,所述进程控制部以所述进行状态来使所述进程重新启动,在所述停止进程信息所示的所述进行状态为所述共享库利用中或利用后的情况下,以所述共享库利用前的状态来使所述进程重新启动。
根据以上,即使在被篡改的共享库被利用之后进程停止的情况下,也能以被篡改的共享库被利用之前的状态使进程重新启动。因此,本发明的信息处理装置能以不受篡改影响的状态,使进程重新启动。
另外,可以是,所述进程控制部在使所述进程停止时,生成包含动作履历信息的所述停止进程信息,该动作履历信息表示所述进程的动作履历,在所述共享库恢复之后,在所述停止进程信息所示的所述进行状态为所述共享库利用中或利用后的情况下,参照所述停止进程信息中包含的所述动作履历信息,以所述共享库利用前的状态来使所述进程重新启动。
根据以上,本发明的信息处理装置利用进程的动作履历,以不受篡改影响的状态来使进程重新启动。
另外,可以是,所述进程控制部生成将所述进程所用的栈的信息作为所述动作履历信息来包含的所述停止进程信息。
根据以上,栈的信息被作为动作履历用于进程的重新启动。因此,能恰当地使进程重新启动。
另外,可以是,所述信息处理装置还具备进程动作信息保持部,该进程动作信息保持部用于保持表示所述进程是否正在动作的进程动作信息,所述篡改判断部,通过参照所述进程动作信息,确定正在动作的所述进程,并判断被确定的所述进程所利用的所述共享库是否被篡改。
根据以上,使正在动作的进程所利用的共享库恢复。因此,能更有效地使对于系统整体影响大的共享库恢复。
另外,可以是,所述信息处理装置还具备进程动作信息保持部,该进程动作信息保持部用于保持表示所述进程是否正在动作的进程动作信息,所述进程控制部在使所述进程停止时更新所述进程动作信息,以表示所述进程未动作,并在所述易失性存储器内的所述共享库恢复之后,通过参照所述进程动作信息,确定未动作的所述进程,并使被确定的所述进程重新启动。
根据以上,能够准确地确定应被重新启动的进程。因此,能恰当地使进程重新启动。
另外,可以是,所述信息处理装置还具备进程动作信息保持部,该进程动作信息保持部用于保持表示所述进程是否正在动作的进程动作信息,所述篡改判断部通过参照所述进程动作信息,确定正在动作的所述进程,并判断被确定的所述进程所利用的所述共享库是否被篡改,所述进程控制部在使所述进程停止时更新所述进程动作信息,以表示所述进程未动作,并在所述易失性存储器内的所述共享库恢复之后,通过参照所述进程动作信息,确定未动作的所述进程,并使被确定的所述进程重新启动。
根据以上,使正在动作的进程所利用的共享库恢复。另外,能够准确地确定应被重新启动的进程。因此,能执行高效的恢复动作。
另外,可以是,所述篡改判断部通过对在所述共享库被加载到所述易失性存储器之前从所述共享库预先提取的信息、在所述共享库被加载到所述易失性存储器之后从所述易失性存储器内的所述共享库提取的信息进行比较,来判断所述易失性存储器内的所述共享库是否被篡改。
根据以上,对现在的共享库的状态和正常的共享库的状态进行比较。然后,恰当地检测共享库的篡改。
另外,可以是,所述篡改判断部还判断所述非易失性存储器内的所述共享库是否被篡改,在所述易失性存储器内的所述共享库被判断为被篡改并且所述非易失性存储器内的所述共享库被判断为未被篡改的情况下,所述共享库恢复部使所述易失性存储器内的所述共享库恢复。
根据以上,只在根据非易失存储器使共享库恢复的处理有效的情况下,使共享库恢复。
另外,可以是,所述共享库信息保持部保持包含如下信息的所述共享库信息,该信息表示是否就所述易失性存储器内的所述共享库是否被篡改进行了判断,所述篡改判断部通过参照所述共享库信息,确定尚未被判断是否被篡改的所述共享库,并判断被确定的所述共享库是否被篡改。
根据以上,能排除篡改检测动作的重复。因此,能够高效地进行篡改检测。
另外,可以是,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,所述共享库恢复部通过将所述非易失性存储器内的所述共享库重新加载到所述易失性存储器,并对被重新加载到所述易失性存储器的所述共享库的物理地址、所述进程的进程空间中的所述共享库的虚拟地址进行映射,从而使所述易失性存储器内的所述共享库恢复。
根据以上,即使在被加载到了与重新加载前不同的物理地址的情况下,也能将共享库恰当地映射到进程空间。因此,能恰当地使进程重新启动。
另外,本发明的信息处理方法是一种将非易失性存储器所存储的共享库加载到易失性存储器,并使对被加载到所述易失性存储器的所述共享库进行利用的进程动作的信息处理方法包括,其包括:篡改判断步骤,判断所述易失性存储器内的所述共享库是否被篡改;进程控制步骤,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,通过参照用于保持共享库信息的共享库信息保持部所保持的所述共享库信息,确定对所述易失性存储器内的所述共享库进行利用的所述进程,并使被确定的所述进程停止,所述共享库信息包含表示所述易失性存储器内的所述共享库、对所述易失性存储器内的所述共享库进行利用的所述进程之间的对应关系的信息;以及,共享库恢复步骤,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,通过将所述非易失性存储器内的所述共享库重新加载到所述易失性存储器,使所述易失性存储器内的所述共享库恢复。
根据以上,能将本发明的信息处理装置作为信息处理方法实现之。
另外,本发明的程序可以是用于使计算机执行所述信息处理方法所包含的步骤的程序。
根据以上,能将本发明的信息处理方法作为程序实现之。
另外,本发明的记录介质可以是一种计算机可读取的非临时性存储介质,记录有用于使计算机执行所述信息处理方法中包含的步骤的程序。
根据以上,能将本发明的信息处理方法作为记录介质实现之。
另外,本发明的一种集成电路是一种将非易失性存储器所存储的共享库加载到易失性存储器,并使对被加载到所述易失性存储器的所述共享库进行利用的进程动作的集成电路,其包括:篡改判断部,判断所述易失性存储器内的所述共享库是否被篡改;进程控制部,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,通过参照用于保持共享库信息的共享库信息保持部所保持的所述共享库信息,确定对所述易失性存储器内的所述共享库进行利用的所述进程,并使被确定的所述进程停止,所述共享库信息包含表示所述易失性存储器内的所述共享库、对所述易失性存储器内的所述共享库进行利用的所述进程之间的对应关系的信息;以及,共享库恢复部,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,通过将所述非易失性存储器内的所述共享库重新加载到所述易失性存储器,使所述易失性存储器内的所述共享库恢复。
根据以上,能将本发明的信息处理装置作为集成电路实现之。
另外,如上所述,不仅能通过所述信息处理装置来实现本发明,还能通过以信息处理装置的特征性部分作为步骤的方法来实现本发明。此外,还能通过用于使计算机执行所述特征性步骤的程序来实现本发明。并且,当然能通过CD-ROM等记录介质以及互联网等传送介质来传送此类程序。
并且,还能通过实现所述信息处理装置的一部分或全部功能的半导体集成电路(LSI)来实现本发明,
根据本发明,只有受共享库篡改之影响的进程被停止。因此,能够抑制被加载到易失性存储器中的共享库被篡改时的影响。
附图说明
图1是本发明的实施方式1的信息处理装置的整体结构图。
图2是本发明的实施方式1的信息处理装置启动时的序列图。
图3是表示本发明的实施方式1的进程空间的图。
图4是表示在本发明的实施方式1的进程空间中的共享库映射的图。
图5是表示生成本发明的实施方式1的散列表的概要的图。
图6是表示本发明的实施方式1的共享库的文件格式的图。
图7是表示本发明的实施方式1的预链接映射的图。
图8是生成本发明的实施方式1的散列的流程图。
图9是表示本发明的实施方式1的非易失性存储器用共享库散列表的图。
图10是表示本发明的实施方式1的易失性存储器用共享库散列表的图。
图11是本发明的实施方式1的信息处理装置的结构图。
图12是表示在本发明的实施方式1的信息处理装置中有多个进程启动的状态的图。
图13是表示本发明的实施方式1的进程管理信息的图。
图14是表示本发明的实施方式1的篡改检测后的进程管理信息的图。
图15是表示本发明的实施方式1的共享库管理信息的图。
图16是表示本发明的实施方式1的停止进程上下文信息的图。
图17是本发明的实施方式1的共享库的恢复动作的序列图图。
图18是本发明的实施方式1的共享库的恢复动作的序列图图。
图19是表示本发明的实施方式1的篡改检测时的进程空间和程序计数器的状态的图。
图20是表示本发明的实施方式1的应用程序和共享库的引用关系的图。
图21是表示本发明的实施方式1的栈的扩张的图。
图22是表示本发明的实施方式1的进程重新启动的动作的流程图。
图23是表示本发明的实施方式2的共享库管理信息的图。
图24是本发明的实施方式2的共享库的篡改检查的流程图。
图25是本发明的实施方式3的信息处理装置的结构图。
图26是表示本发明的实施方式3的信息处理装置的动作的流程图。
具体实施方式
以下,参照附图说明本发明的实施方式。
(实施方式1)
本发明的实施方式1的信息处理装置对于被加载到应用程序的进程空间的共享库,在进程执行中进行共享库的篡改检测。
如果检测出共享库被篡改,信息处理装置就使正在利用被篡改的共享库的进程停止执行。然后,信息处理装置通过对非易失性存储器中有的共享库进行重新加载,使其恢复。另外,恢复之后,信息处理装置使停止的进程重新启动。由此,利用被篡改的共享库的多个进程被恢复。
首先,根据图1说明信息处理装置的整体结构。
图1是本发明的实施方式1的信息处理装置的整体结构图。在图1中,表示了信息处理装置10的电源启动之后,正在执行第一应用程序进程210和第二应用程序进程220的状态的信息处理装置10的整体结构。
信息处理装置10具备非易失性存储器100、易失性存储器200和系统LSI300。
系统LSI300通过外部总线,与非易失性存储器100以及易失性存储器200连接。
另外,系统LSI300具备CPU410、IPL(Initial Program Loader:初始程序加载器)420、切换管理部430以及保护存储器400。
保护存储器400中存储有被加载的安全启动部440、安全OS450和安全应用程序460。安全启动部440、安全OS450和安全应用程序460根据CPU410,作为功能部进行动作。
非易失性存储器100中存储有第一应用程序110、第二应用程序120、链接器·加载器130、第一共享库141、第二共享库142和第三共享库143。并且,非易失性存储器100中还存储有OS150、检测恢复部160、散列表保持部170和密钥保持部180。
易失性存储器200中存储有第一应用程序进程210、第二应用程序进程220、OS250和检测恢复部260。,第一应用程序进程210、第二应用程序进程220、OS250和检测恢复部260根据CPU410,作为功能部进行动作。
检测恢复部160具有对被加载到易失性存储器200中的第一应用程序进程210、第二应用程序进程220、第一共享库141、第二共享库142以及第三共享库143的篡改进行检测的功能。并且,检测恢复部160还具有使正在利用被篡改的共享库的应用程序进程暂停的功能。
另外,检测恢复部160还具有,在检测出共享库被篡改的情况下,将非易失性存储器100中有的共享库重新加载到易失性存储器200的功能。由此,检测恢复部160具有能使易失性存储器200的共享库恢复的功能。并且,恢复之后,检测恢复部160使暂停的应用程序进程重新启动。关于检测恢复部260的详细动作,以下参照图11~图18进行说明。
非易失性存储器100的OS150以及检测恢复部160分别作为易失性存储器200的OS250以及检测恢复部260被加载,并根据CPU410,作为功能部进行动作。另外,如图3所示,非易失性存储器100的链接器·加载器130被加载到易失性存储器200的应用程序进程空间,并根据CPU410发挥作用。
非易失性存储器100的第一应用程序110以及第二应用程序120分别被加载到易失性存储器200中,并作为第一应用程序进程210以及第二应用程序进程220进行动作。
链接器·加载器130将第一应用程序进程210的动作所需的第一共享库141、第二共享库142以及装载第三共享库143加载到第一应用程序进程210的进程空间。同样,链接器·加载器130将第二应用程序进程220的动作所需的第一共享库141、第二共享库142以及第三共享库143加载到第二应用程序进程220的进程空间。以下参照图3说明进程空间。
散列表保持部170保持有易失性存储器用共享库散列表。在易失性存储器用共享库散列表中,被加载到易失性存储器200中的第一共享库141、第二共享库142以及第三共享库143的参照散列值被列表化。关于该列表,以下参照图10进行说明。
另外,散列表保持部170还保持非易失性存储器用共享库散列表。在非易失性存储器用共享库散列表中,非易失性存储器100的第一共享库141、第二共享库142以及第三共享库143的参照散列值被列表化。关于该列表,以下参照图9进行说明。
另外,散列表保持部170还保持记录了从电源启动后到应用程序启动为止的各软件(安全启动部440、安全OS450、安全应用程序460、OS150以及检测恢复部160)的参照散列值的列表(未图示)。为了验证散列表本身的完全性,对散列表保持部170所保持的这些散列表进行了签名。
密钥保持部180保持用于验证散列表的签名的签名验证密钥。在此所说的签名,采用根据公钥加密方式的数字签名方式。密钥保持部180保持相当于公钥加密方式中的公钥的密钥。
接下来,根据图2说明从信息处理装置10的电源接通之后到应用程序启动为止的安全启动。
图2是图1所示信息处理装置10启动时的序列图,表示从电源接通至应用程序启动为止的动作。
信息处理装置10的电源被接通之后,启动系统LSI300内部的IPL420。
IPL420利用安全启动用散列表(未图示),进行IPL420本身的篡改验证,然后对信息处理装置10内的保护存储器400、切换管理部430以及周边电路(未图示)进行初始化(S101)。初始化之后,IPL420利用安全启动用散列表,验证安全启动部440是否被篡改。如果未被篡改,IPL420就加载安全启动部440(S102)。
然后,安全启动部440利用安全启动用散列表,验证安全OS450是否被篡改(S103)。验证(S103)的结果,如果安全OS450未被篡改,安全启动部440就加载安全OS450(S104)。
在此虽未图示,如果OS250通过切换管理部430发出了安全应用程序460的启动请求,安全OS450就加载安全应用程序460。在加载安全应用程序460之前,安全OS450利用安全启动用散列表来验证安全应用程序460是否被篡改。如果未被篡改,安全OS450就加载安全应用程序460。
安全OS450进行加载之后,安全启动部440利用安全启动用散列表,验证非易失性存储器100的OS150是否被篡改(S105)。验证(S105)的结果,如果非易失性存储器100的OS150未被篡改,安全启动部440就将非易失性存储器100的OS150作为易失性存储器200的OS250进行加载(S106)。
然后,被加载到易失性存储器200的OS250,在应用程序启动请求时,利用安全启动用散列表,来验证非易失性存储器100的第一应用程序110、第二应用程序120是否被篡改(S107)。
验证(S107)的结果,如果非易失性存储器100的第一应用程序110、第二应用程序120未被篡改,OS250就将非易失性存储器100的第一应用程序110作为易失性存储器200的第一应用程序进程210进行加载。并且,与以上同样,OS250将非易失性存储器100的第二应用程序120作为易失性存储器200的第二应用程序进程220进行加载(S108)。在此,关于进程内所利用的共享库,可以在启动进程时进行加载,也可以是动态加载。
第一应用程序110以及第二应用程序120被作为第一应用程序进程210以及第二应用程序进程220加载之后,执行第一应用程序进程210以及第二应用程序进程220(S109)。
在此虽未图示,与第一应用程序110以及第二应用程序120同样,OS250也检测恢复部160是否被篡改。
另外,经验证(S103,S105,S107),如果判断出被篡改,就中止启动。
另外,由密钥保持部180所保持的公钥对安全启动用散列表进行签名验证。然后,只在签名验证的结果为正常时,IPL420、安全启动部440以及安全OS450验证篡改。相反,在散列表的签名验证的结果为非正常的情况下,IPL420等中止启动。
另外,作为所述程序(手顺)中包含的安全启动,可使用非专利文献1的TCG(Trusted Computing Group:可信计算组)的MPWG(Mobile Phone Work Group:移动电话工作组)所规定的安全启动。
另外,在加载之前,可将安全启动部440、安全OS450以及安全应用程序460作为静态数据保持于系统LSI300内。或者,可由在信息处理装置10中生成的系统唯一键(Unique key)对此类静态数据进行加密,并存储在非易失性存储器100中。然后,可由系统固有密钥对该数据进行解码,并加载到保护存储器400中。
以上为从电源接通后至应用程序启动为止的流程图的说明。
图3是表示图1所示第一应用程序进程210的进程空间的图。
进程空间一般包括内核空间和用户空间,但图3中只表示了用户空间。
在图3所示例子中,第一应用程序进程210利用第一共享库141(lib1.so)、第二共享库142(lib2.so)和第三共享库143(lib3.so)的功能。
在此情况下,第一应用程序110、第一共享库141(lib1.so)、第二共享库142(lib2.so)、第3共享库143(lib3.so)以及链接器·加载器130被加载到易失性存储器200中,然后被映射到第一应用程序进程210的虚拟动作空间。
链接器·加载器130具有加载第一应用程序进程210进行所希望的动作时所需的共享库的功能。关于链接器·加载器130的详细动作,非专利文献2《Linkers&Loaders》中已有详述。
在此,在第一应用程序进程210的虚拟地址空间也可映射非易失性存储器100中的第一应用程序110以及第一共享库141(lib1.so)等。
图4是表示第一应用程序进程210以及第二应用程序进程220的各进程空间的虚拟地址和物理地址的关系的图。
共享库是为了供多个进程共享利用而作成的库。如图4所示,第一共享库141、第二共享库142以及第三共享库143被多个进程所利用。链接器·加载器130将非易失性存储器100中作为文件所存在的第一共享库141、第二共享库142以及第三共享库143加载到易失性存储器200的物理地址的页。
第一共享库141、第二共享库142以及第三共享库143被下述编译器以及链接器变换成目标文件形式。作为各共享库的可执行码的文讯段(text section),被加载到具有可执行性的页。作为各共享库的可读写数据区域的数据段(data section)被加载到具有可读写性的页。关于目标文件形式,以下将参照图6进行说明。
在图4的情况下,在第一应用程序进程210以及第二应用程序进程220两者的虚拟地址空间中,存在第一共享库141(lib1.so)以及第二共享库142(lib2.so)。在这些虚拟地址空间的第一共享库141(lib1.so)以及第二共享库142(lib2.so)中映射了存在于物理地址上的lib1.so和lib2.so。
因此,如果物理地址上的lib1.so和lib2.so被恶意软件篡改,篡改的影响将波及第一应用程序进程210和第二应用程序进程220。关于被篡改的共享库的恢复,以下将参照图11之图18进行说明。
图5是表示由散列表保持部170保持的非易失性存储器用共享库散列表508以及易失性存储器用共享库散列表509的生成动作的概要的图。
编译器502通过对共享库504的源码501进行编译,生成目标码。链接器503在生成的目标码上链接必要的库。即,链接器503在目标码上附加必要的库。然后,链接器503将附加有必要的库的目标码作为共享库504输出。
散列表生成工具507是在开发器上动作的工具。散列表生成工具507以共享库504、密钥505及预链接映射506作为输入,输出非易失性存储器用共享库散列表508以及易失性存储器用共享库散列表509。
更具体是,散列表生成工具507生成共享库504的参照散列值。并且,散列表生成工具507通过对参照散列值进行列表化,生成非易失性存储器用共享库散列表508以及易失性存储器用共享库散列表509。然后,散列表生成工具507用密钥505对非易失性存储器用共享库散列表508以及易失性存储器用共享库散列表509进行签名。
关于散列表生成工具507内的详细动作,以下将参照图8说明。
另外,图1所示的信息处理装置10也可以通过具备图5所示的各功能部,来生成非易失性存储器用共享库散列表508以及易失性存储器用共享库散列表509。或者,也可以由开发器等其他装置生成非易失性存储器用共享库散列表508以及易失性存储器用共享库散列表509。
图6是表示图5所示的共享库504的文件格式的图。在图6中,以ELF(Executable and Linkable Format:可执行连接格式)形式的对象文件形式表示了共享库504。关于其详细内容,非专利文献2《Linkers&Loaders》中已作说明。
共享库504由多个段(section)构成,各段被赋予读取属性、写入属性或者读取属性和写入属性的两者。只被赋予了读取属性的段是读取专用段。被赋予了读取属性和写入属性两者的段是可读写段。
在图6所示的多个段中,标头、hash、dynsym、dynstr、plt、text以及rodata等各段为读取专用段。相对于此,在图6所示的多个段中,data、got、dynamic以及bss等各段为可读写段。
图1的第一共享库141、第二共享库142以及第三共享库143的文件形式被存储为图6所示的文件形式。读取专用段被加载到易失性存储器200中时,被映射到具有读取专用属性的物理页以及虚拟页。另外,可读写段被加载到易失性存储器200中时,被映射到具有读取属性以及写入属性的物理页以及虚拟页。
图7是表示被输入到图5所示的散列表生成工具507的预链接映射506的图。
预链接映射506是记载有库名和映射地址的文件。若以图7的例子进行说明,第一共享库141具有lib1.so的文件名。并且,lib1.so的映射地址为0xA0000000。因此,lib1.so被映射到进程的虚拟地址空间的0xA0000000。
与第一共享库141同样,第二共享库142的lib2.so被映射到虚拟地址空间的0xA0004000。另外,第三共享库143的lib3.so被映射到虚拟地址空间的0xA0008000。
图8是表示散列表生成工具507的从输入至输出的动作的流程图。在此,输入是共享库504、密钥505以及预链接映射506。输出是非易失性存储器用共享库散列表508或易失性存储器用共享库散列表509。
首先,散列表生成工具507判断是生成非易失性存储器用共享库散列表508的模式,还是生成易失性存储器用共享库散列表509的模式(S801)。在此虽未图示,但在该判断中,也可以将生成模式作为输入参数,提供给散列表生成工具507。
判断(S801)的结果,如果是要生成非易失性存储器用共享库散列表508,散列表生成工具507就读取在非易失性存储器100中成为篡改检测的对象的共享库504(S802)。
其次,散列表生成工具507算出在前段的步骤(S802)读入的共享库504的散列值。然后,散列表生成工具507将算出的散列值作为参照散列值,登录到非易失性存储器用共享库散列表508中(S803)。
然后,散列表生成工具507用被输入的秘密键505,对非易失性存储器用共享库散列表508进行签名(S804)。
最后,散列表生成工具507输出非易失性存储器用共享库散列表508(S805)。
在此,返回到判断模式的步骤(S801)进行说明。
判断(S801)的结果,如果是要生成易失性存储器用共享库散列表509,散列表生成工具507就读入在易失性存储器200中成为篡改检测的对象的共享库504(S806)。
然后,散列表生成工具507根据文件格式来分析在前段的步骤(S806)读入的共享库504,并作为参照散列值算出读取专用区域的散列值(S807)。
在实施方式1中,散列表生成工具507分析图6所示的ELF形式的目标文件,并针对ELF形式的读取专用区域算出散列值。
然后,散列表生成工具507读入预链接映射506(S808)。
然后,散列表生成工具507将共享库名、映射地址和散列值登录到易失性存储器用共享库散列表509。在此,共享库名是篡改检查对象的共享库名。映射地址是共享库504被映射到虚拟地址的映射地址。散列值是被作为参照散列值算出的散列值。
然后,散列表生成工具507用密钥505对易失性存储器用共享库散列表509进行签名(S810)。
最后,散列表生成工具507输出易失性存储器用共享库散列表509(S811)。
在此,关于算出散列值时利用的散列算法,可利用SHA1、SHA2、MD4或MD5等作为单向函数的散列函数。
另外,生成签名时利用的签名方式可以是RSA签名、ElGmal签名或DSA签名等广为所用的数字签名方式。
另外,散列表生成工具507在易失性存储器用散列值生成步骤(S807)中算出读取专用区域的散列值时,也可以以跳过再定位部分的方式算出散列值。
另外,散列表生成工具507在登录各散列表时(S803,S809),可以登录共享库504的大小。另外,散列表生成工具507可以在易失性存储器用共享库散列表509中,作为共享库504的大小登录可读取专用区域的大小。
图9是具体表示图5所示的非易失性存储器用共享库散列表508的图。在图9所示的非易失性存储器用共享库散列表508中,登录有作为检查对象的共享库的文件名以及参照散列值。在此,参照散列值是通过图8的散列值生成步骤(803)算出的散列值。
并且,用密钥505对非易失性存储器用共享库散列表508进行了签名。
图10是具体表示图5所示的易失性存储器用共享库散列表509的图。图10所示的易失性存储器用共享库散列表509中登录有作为检查对象的共享库的文件名、共享库的虚拟地址、共享库的大小以及参照散列值。在此,参照散列值是通过图8的散列值生成步骤(S807)算出的散列值。
并且,用密钥505对易失性存储器用共享库散列表509进行了签名。
通过对图9所示的非易失性存储器用共享库散列表508、从非易失性存储器100内的共享库得到的信息进行比较,来检测非易失性存储器100内的共享库的篡改。同样,通过对图10所示的易失性存储器用共享库散列表509、从易失性存储器200内的共享库得到的信息进行比较,来检测易失性存储器200内中的共享库的篡改。
即,通过对预先从共享库提取的散列值等信息、从非易失性存储器100内或易失性存储器200内的共享库提取的散列值等信息进行比较,来检测篡改。
图11是表示图1所示的信息处理装置10的结构的图。在图11中,主要表示了图1所示的检测恢复部160的结构。
检测恢复部160具备篡改检测部(也称之为“篡改判断部”)161、进程控制部162以及共享库恢复部165。另外,检测恢复部160还具备进程管理信息保持部(也称之为“进程动作信息保持部”)163以及共享库管理信息保持部(也简称为“共享库信息保持部”)164。
篡改检测部161对于被加载到应用程序的进程空间的易失性存储器200中的共享库,在其进程执行中进行共享库的篡改检测。
进程控制部162确定正在利用被篡改检测部161判断为被篡改的共享库的进程。并且,进程控制部162使确定出的进程暂停。然后,共享库恢复部165从非易失性存储器100向易失性存储器200重新加载共享库。由此,使共享库从被篡改的状态得以恢复。恢复之后,进程控制部162使暂停的进程重新启动。
进程管理信息保持部163保持图13所示的进程管理信息(也称之为“进程动作信息”)1630以及图16所示的停止进程上下文信息(也简称为“停止进程信息”)1631。另外,也可以由与进程管理信息保持部163不同的其他保持部保持停止进程上下文信息。
共享库管理信息保持部164保持图15所示的共享库管理信息(也简称为“共享库信息”)1640。
共享库恢复部165通过从非易失性存储器100向易失性存储器200重新加载共享库,使被篡改的共享库恢复。
另外,非易失性存储器100中的检测恢复部160被作为图1所示的检测恢复部260,被加载到易失性存储器200。因此,图1所示的检测恢复部260作为与非易失性存储器100中的检测恢复部160同等的功能部而进行动作。
另外,在实施方式1中,非易失性存储器100内的检测恢复部160被加载到易失性存储器200,易失性存储器200内的检测恢复部260执行检测以及恢复的动作。在此,检测恢复部160也可以是信息处理装置10中的电路。
例如,可以将篡改检测部161、进程控制部162、进程管理信息保持部163、共享库管理信息保持部164以及共享库恢复部165作为集成电路来安装。另外,也可以只将其中执行演算的篡改检测部161、进程控制部162以及共享库恢复部165作为集成电路来安装。
另外,CPU410也可以不将非易失性存储器100内的检测恢复部160加载到易失性存储器200,就直接执行。
另外,信息处理装置10也可以不对进程的动作信息进行管理,就使共享库恢复。在此情况下,可省略用于保持进程信息的进程管理信息保持部163。
另外,进程管理信息保持部163以及共享库管理信息保持部164是用于保持信息的存储部。这些保持部具备作为硬件的、用于保持信息的存储部,并可以具有在该存储部中存放信息的功能。另外,这些保持部可以实质上是一个存储部,在该存储部中区分存放多个信息。
图12是表示在图1所示的信息处理装置10内有多个进程启动的状态的图。
在图12中,表示了进行各种初始化的Init进程205、第一应用程序进程210、第二应用程序进程220、第三应用程序进程230以及第四应用程序进程240启动之后的状态。各应用程序进程如图12所示,利用第一共享库141、第二共享库142以及第三共享库143中的至少一个。
以下,以如图12所示的有多个进程启动的状态为前提进行说明。
图13是表示图11所示的进程管理信息保持部163所保持的进程管理信息的图。
图13所示的进程管理信息1630包括用于识别进程的进程ID、表示其父进程的进程ID和表示进程为启动中还是停止中的状态。
图13表示了如图12所示的有多个进程启动的状态。由于图12所示的所有进程均为启动中,因此所有进程的状态被保持为“运转”。
图14是表示如图11所示的进程管理信息保持部163所保持的进程管理信息的图,是表示篡改检测之后的进程管理信息的图。
例如,篡改检测部161对被加载到进程ID100和进程ID200的进程中的lib2.so的篡改进行检测。并且,进程控制部162使进程ID100和进程ID200的进程暂停。在图14中,表示了进程ID100和进程ID200的进程被暂停之后的进程管理信息1630。
停止的进程的状态中,记录有表示进程处于暂停状态的“停止”。在此,如果进程不是暂停,而是完全停止,则可以从进程管理信息1630中删除信息。从而,能够区别暂停和完全停止。
进程控制部162将暂停的进程的状态更新为“停止”。另外,在共享库恢复之后,进程控制部162通过参照进程管理信息1630,能够确定暂停的进程。然后,进程控制部162能使确定的进程重新启动。
篡改检测部161可根据进程管理信息1630来确定正在动作的进程,并判断该被确定的进程所利用的共享库是否被篡改。
图15是表示图11所示的共享库管理信息保持部164所保持的共享库管理信息的图。
图15所示的共享库管理信息1640包括共享库的文件路径(filepath)、共享库被加载到的虚拟地址以及利用共享库的进程的进程ID。
例如,图15所示的共享库管理信息1640表示/system/lib/lib1.so从虚拟地址0xA0000000被加载到0xA0001000。另外,共享库管理信息1640表示/system/lib/lib1.so被利用于进程ID为100、200、300的各进程。
另外,在加载共享库的定时生成共享库管理信息1640。
另外,在本实施方式中,作为共享库说明了被预链接的库。但是,非预链接的库也可以成为篡改检查的对象。
非预链接的库其被加载的虚拟地址是非固定的。因此,在非预链接的库被包含于篡改检查对象中的情况下,共享库管理信息保持部164可以将用于区别预链接的库和非预链接的库的信息登录到虚拟地址域。例如,共享库管理信息保持部164可以在共享库管理信息1640中,将与非预链接的库相关的虚拟地址域设为NULL。
另外,共享库管理信息保持部164可通过另行生成的方式来保持无虚拟地址域的共享库管理信息1640。
图16是表示图11所示的进程管理信息保持部163所保持的停止进程上下文信息的图。
图16所示的停止进程上下文信息1631是为了使停止的进程重新启动时所必须的信息。停止进程上下文信息1631包括用于识别停止的进程的进程ID、进程停止时的程序计数器(PC)和栈指针(,SP)和帧指针(FP)。另外,在此虽未图示,停止进程上下文信息1631也可以包括作为使进程重开时所必须的信息的CPU410各种寄存器信息。
停止进程上下文信息1631还可以包括如上所述的表示进程的动作状态的动作状态信息。另外,停止进程上下文信息1631还可以包含作为进程的动作过程的栈的信息。
另外,停止进程上下文信息1631还可以包括表示进程的进行状态的进行状态信息。如上所述,停止进程上下文信息1631可以将程序计数器(PC)的信息作为进行状态信息来包含。另外,停止进程上下文信息1631还可以包含表示进程的动作履历的动作履历信息。如上所述,停止进程上下文信息1631还可以将栈的信息作为动作履历信息来包含。
另外,进程控制部162可根据停止进程上下文信息1631所示的进行状态,使进程重新启动。此外,进程控制部162可参照停止进程上下文信息1631中包含的动作履历信息,以共享库利用前的状态,使进程重新启动。
图17以及图18是本发明的实施方式1的共享库恢复动作的序列图。
以下,利用图17和图18说明易失性存储器200中的共享库的篡改检测以及恢复。
首先,篡改检测部161算出被加载到进程空间的易失性存储器200中的共享库的散列值(S2001)。
其次,篡改检测部161通过对在前段的步骤(S2001)算出的散列值、易失性存储器用共享库散列表509的参照散列值进行比较,来判断易失性存储器200中的共享库是否被篡改(S2002)。
然后,判断(S2002)的结果,如果判断为被篡改,篡改检测部161就请求进程控制部162停止正在利用被篡改的库的进程(S2003)。
在此,判断(S2002)的结果,如果判断为无篡改,就不停止进程,而使之继续。篡改检测部161将被加载到其他进程空间的其他共享库选为篡改检查对象,并返回到算出散列值的步骤(S2001)。
另外,由篡改检测部161进行的共享库篡改检查,也可在进程执行中定期进行,也可以在进程的特定的动作定时进行。篡改检测部161以不影响进程应进行的所希望的动作的方式,来进行共享库的篡改检查。
然后,进程控制部162对共享库管理信息保持部164所保持的共享库管理信息1640进行参照(S2004)。并且,进程控制部162确定正在利用被判断为被篡改的共享库的进程(S2005)。
然后,进程控制部162使在前段的步骤(S2005)中确定的进程停止(S2006)。
然后,进程控制部162生成为了使在前段的步骤(S2006)中停止的进程重新启动时所必须的信息,并以此作为停止检测上下文信息1631。并且,进程管理信息保持部163记录该生成的停止进程上下文信息1631(S2007)。
然后,进程控制部162将进程管理信息保持部163所保持的进程管理信息1630中记录的、停止的进程的状态更新为“停止”(S2008)。
然后,篡改检测部161算出与在判断步骤(S2002)被判断为被篡改的易失性存储器200中的共享库相对应的、非易失性存储器100中的共享库的散列值(S2009)。
然后,对在前段的步骤(S2009)算出的散列值、非易失性存储器用共享库散列表508的参照散列值进行比较,来判断非易失性存储器100中的共享库是否被篡改(S2010)。在此,判断(S2010)的结果,如果判断为被篡改,信息处理装置10就停止后续的步骤。
然后,对共享库恢复部165发出请求,以恢复被篡改的共享库(S2011)。
然后,共享库恢复部165对于利用被篡改的共享库的进程,取消该被篡改的共享库的映射,并从非易失性存储器100向易失性存储器200加载恢复对象共享库(S2012)。然后,共享库恢复部165通过将共享库重新映射到进程空间,来恢复共享库(S2013)。
在此,即使在共享库被加载到了与重新加载之前的物理地址所不同的物理地址的情况下,通过重新映射,进程能够利用共享库。相反,在共享库被加载到了与重新加载之前的物理地址相同的物理地址的情况下,即使不重新映射,进程也能够利用共享库。因此,共享库恢复部165可以不将共享库重新映射到进程空间。
然后,进程控制部162参照进程管理信息保持部163所记录的停止进程上下文信息1631,读入为了使停止进程重新启动时所必须的信息(S2014)。
然后,进程控制部162将进程管理信息保持部163所保持的进程管理信息1630内的“停止”更新为“运转”(S2015)。
最后,进程控制部162利用在读入步骤(S2014)中读入的信息,使暂停的进程重新启动(S2016)。
另外,篡改检测部161,在恢复之前,对非易失性存储器100中的共享库进行篡改检查(S2009,S2010)。但是,如果明显是无篡改,篡改检测部161就无需定要实施篡改检查。
另外,在本实施方式中,篡改检测部161在进程执行中对易失性存储器200中的共享库进行篡改检查。但是,具体的篡改检查的定时可以是进程执行中的定期定时、进程启动时或者规定动作的定时等。并且,篡改检查的定时并不限定于此。
如上所述,由于只有利用被篡改的共享库的进程被暂停,因此,未利用被篡改的共享库的进程能继续动作。
另外,由于信息处理装置10在篡改检测之后使利用被篡改的共享库的进程暂停,因此能将篡改的影响抑制到最小。
另外,信息处理装置10通过使被篡改的共享库恢复,能使利用被篡改的共享库的进程也恢复。
以下利用图19、图20来说明检测被篡改的共享库、进程暂停的定时不同的情况。
图19是表示检测出第一应用程序进程210的第二共享库142(lib2.so)被篡改时的进程空间和程序计数器(PC)的状态的图。图20是表示应用程序和共享库的引用关系的图。
在该例子中,对图19的(a)至(c)的各状态的App_A.exe以及App_A.exe进行利用的各共享库(lib1.so、lib2.so、lib3.so)具有如图20所示的引用关系。
图19的(a)表示了在执行第二共享库142(lib2.so)之前,检测出lib2.so被篡改时的状态。图19的(b)表示了在执行第二共享库142(lib2.so)之前,检测出lib2.so被篡改时的状态。图19的(c)表示了在执行第二共享库142(lib2.so)之后,检测出lib2.so被篡改时的状态。
图21是表示在具有图20所示的引用关系的情况下,栈的扩张的图。
通常,以栈帧单位来管理栈。各栈帧中包含函数中所必须的局部变量、引用函数时的返回目的地地址、引用函数时应提交的变量、上位帧指针的地址以及在此未图示的CPU410寄存器的值等。
图22是表示停止的进程重新启动的流程图。另外,图22是与图18所示的读入步骤(S2014)以后的动作相对应的图。如图22所示,因被检测出篡改而停止的进程,基于进程的PC所示的地址而重新启动。
首先,进程控制部162读入进程管理信息保持部163所保持的停止进程上下文信息1631(S2201)。
其次,进程控制部162判断停止时的程序计数器(PC)的位置(S2202)。
判断(S2202)的结果,如果停止进程上下文信息1631所示的PC是被篡改的库执行前的地址,进程控制部162就从停止时的PC开始使进程重新启动(S2203)。
另外,判断(S2202)的结果,如果停止进程上下文信息1631所示的PC是被篡改的库执行中的地址,进程控制部162就以被篡改的共享库被执行前的状态,使进程重开。因此,进程控制部162将栈帧倒回到共享库被执行之前的状态,然后使进程重新启动(S2204)。
另外,判断(S2202)的结果,如果停止进程上下文信息1631所示的PC是被篡改库执行后的地址,进程控制部162就以被篡改的共享库被执行之前的状态,使进程重开。因此,进程控制部162将栈帧倒回到共享库被执行之前的状态,然后使进程重新启动(S2205)。
进程控制部162能够一边参照图21所示的栈指针(SP)和帧指针(FP),一边倒回栈帧。关于使栈返回的具体方法,非专利文献3《调试器的理论和安装》中已作详细记载,在此省略其说明。
由此,即使是在被篡改的共享库的执行中或执行之后,进程控制部162也能使栈返回到未被篡改的状态并使进程重开。从而,能保证在未篡改的状态下执行进程。
以上为实施方式1的说明。
(实施方式2)
接下来,说明本发明的实施方式2的信息处理装置。
被加载到多个进程空间的共享库,即使被映射在各进程的虚拟地址不同,也与相同的物理地址相对应。因此,在对每个进程独立进行篡改检测的情况下,将会对相同的共享库进行多次篡改检查。即,由于是对相同的物理地址反复进行篡改检查,因此导致篡改检查的效率降低。
在此,实施方式2是有效且网罗式地实施篡改检查的方法的形态。实施方式2的篡改检测和恢复的动作与实施方式1的相同,因此省略其说明。
以下,根据图23和图24,只就实施方式2的篡改检查中的与实施方式1不同的部分进行说明。
图23是表示实施方式2的共享库管理信息的图。与图15所示实施方式1的共享库管理信息1640相比,在图23所示共享库管理信息2300中,检查进程的域有所增加。在该域中,记录有已对映射到进程空间的共享库进行过篡改检查的进程的进程ID。
在图23的例子中,lib1.so被分别加载到进程ID为100、200、300的三个进程中。然后,通过对进程ID为100的进程的共享库进行检查,来检查lib1.so是否被篡改。
另外,lib2.so被分别加载到进程ID为100、200的两个进程中。如果,通过检查进程ID为200的进程的共享库,来检查lib2.so是否被篡改。另外,lib3.so被分别加载到进程ID为100、300、400的三个进程中。并且,在哪个进程中都未执行lib3.so的篡改检查。
图24是实施方式2的篡改检查的流程图。
首先,篡改检测部161开始易失性存储器200中的共享库的篡改检查(S2401)。
其次,篡改检测部161对共享库管理信息2300进行参照(S2402)。
然后,篡改检测部161通过参照共享库管理信息2300,判断在其他进程中是否已对作为篡改检查对象的共享库进行过检查(S2403)。
判断(S2403)的结果,如果在其他任何进程中均未对作为篡改检查对象的共享库进行过篡改检查,篡改检测部161就在共享库管理信息2300中写入进程ID(S2405)。然后,篡改检测部161对共享库进行篡改检查(S2406)。
相反,判断(S2403)的结果,如果在其他的进程中已对作为篡改检查对象的共享库进行过检查,篡改检测部161就选择其他的共享库(S2404)。在此情况下,篡改检测部161将已被加载到进程空间且在共享库管理信息2300中尚未执行篡改检查的共享库选为篡改检查对象(S2404)。
然后,篡改检测部161将正在进行共享库的检查的进程的进程ID写入共享库管理信息2300的检查进程的域中(S2405)。
然后,篡改检测部161检查在前段的步骤(S2404)中选择的、作为篡改检查对象的共享库在易失性存储器200中是否被篡改(S2406)。如果被篡改,共享库恢复部165就恢复共享库。
然后,篡改检测部161将被加载到了进程空间中的共享库选为篡改检查对象(S2407)。并且,篡改检测部161再次参照共享库管理信息2300(S2402)。
由此,对于被加载到了多个进程空间的共享库,可高效率地进行篡改检查。
以上为实施方式2的说明。
(实施方式3)
以下,以实施方式1以及实施方式2的特征性结构要素作为实施方式3进行说明。实施方式3的信息处理装置将非易失性存储器中存储的共享库加载到易失性存储器中,并使利用被加载到易失性存储器中的共享库的进程动作。并且,实施方式3的信息处理装置通过下述结构以及动作,抑制被加载到易失性存储器中的共享库被篡改所致的影响。
图25是实施方式3的信息处理装置的结构图。图25所示的信息处理装置10具备篡改判断部2501、共享库信息保持部2504、进程控制部2502以及共享库恢复部2505。
篡改判断部2501判断易失性存储器内的共享库是否被篡改。
共享库信息保持部2504保持共享库信息。共享库信息包括表示易失性存储器内的共享库和、利用易失性存储器内的共享库的进程之间的对应关系的信息。
进程控制部2502,在易失性存储器内的共享库被判断为被篡改的情况下,通过参照共享库信息,确定利用易失性存储器内的共享库的进程。并且,进程控制部2502使被确定的进程停止。
共享库恢复部2505,在易失性存储器内的共享库被判断为被篡改的情况下,通过将非易失性存储器内的共享库重新加载到非易失性存储,使易失性存储器内的共享库恢复。
在图25所示的信息处理装置10中,篡改判断部2501、进程控制部2502以及共享库恢复部2505可由集成电路构成。并且,用于保持信息的共享库信息保持部2504可由其他的存储器构成。
图26是表示图25的信息处理装置10的动作的流程图。首先,篡改判断部2501判断易失性存储器内的共享库是否被篡改(S2601)。如果易失性存储器内的共享库未被篡改(S2601为“否”),信息处理装置10就结束动作。
相反,如果易失性存储器内的共享库被篡改过(S2601为“是”),进程控制部2502就通过参照共享库信息保持部2504的共享库信息,确定利用易失性存储器内的共享库的进程。并且,进程控制部2502使被确定的进程停止(S2602)。
然后,共享库恢复部2505通过将非易失性存储器内的共享库重新加载到易失性存储器,使易失性存储器内的共享库恢复(S2603)。
通过所述动作,使受到共享库篡改的影响的进程停止。由此,实施方式3的信息处理装置10能抑制篡改的影响。另外,根据非易失性存储器,使易失性存储器的共享库恢复。因此,能够降低被篡改的共享库再次被利用的危险性。
如上所述,实施方式1、实施方式2以及实施方式3所示的信息处理装置10,在检测出加载到易失性存储器200中的共享库被篡改的情况下,使利用被检查出篡改的共享库的进程暂停。然后,信息处理装置10将非易失性存储器100中的共享库重新加载到易失性存储器200。由此,使共享库恢复。
另外,进程空间的共享库成为篡改检测以及恢复的对象。因此,在被保护的状态下执行进程。从而,信息处理装置10在需要保证进程执行的完全性的状态下有效。例如,信息处理装置10可应用于执行各种各样的程序的PC、平板PC、电视接收机、便携式电话机以及民用设备等。
另外,信息处理装置10可以不使进程停止就将非易失性存储器100中的共享库重新加载到易失性存储器200,并进行重新映射。
以上,根据所述实施方式说明了本发明,但本发明并不限定于所述实施方式。以下的情况也属于本发明。
(1)所述各装置具体是由微处理器、ROM、RAM、硬盘单元、显示器单元、键盘以及鼠标等构成的计算机系统。在所述RAM或硬盘单元中存储有计算机程序。通过使所述微型处理器根据所述计算机程序进行动作,各装置达成其功能。
在此,计算机程序是为了达成规定功能的、由多个表示对于计算机的指令的命令编码组成的程序。
(2)构成所述各装置的结构要素一部分或全部可由一个系统LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是通过在一个芯片上集成多个构成部分而制造的超多功能LSI,具体是包括微处理器、ROM以及RAM等的计算机系统。所述RAM中存储有计算机程序。
通过由所述微处理器根据所述计算机程序进行动作,系统LSI达成其功能。
另外,构成所述各装置的结构要素的各部分可以是分别单片化的,也可以是包含一部或全部的单片化。
另外,在此说明了系统LSI,此外,根据集成程度的不同,还可以是IC、LSI、超级LSI、过超级LSI。另外,集成电路化的方法并不限定于LSI,还可以通过专用电路或通用处理器来实现。制造LSI之后,可以利用可编程的FPGA(Field Programmable Gate Array:现场可编程门阵列)或可对LSI内部的电路单元格的连接以及设定进行重建的可重配置型处理器。
另外,随着半导体技术的进步或衍生出的其他技术,若有可代替LSI的集成电路化技术出现,当然可利用这些技术来进行功能块的集成电路化。作为可能性可列举生物技术的应用等。
(3)构成所述各装置的一部分或全部结构要素可由能在各装置进行装卸的IC卡或单体模块构成。所述IC卡或所述模块是由微处理器、ROM以及RAM等构成的计算机系统。所述IC卡或所述模块可以包括所述超多功能LSI。
通过使微处理器根据计算机程序进行动作,所述IC卡或所述模块达成其功能。该IC卡或该模块可具有防篡改性。
(4)本发明可以是以上所示的方法。另外,本发明可以是由计算机来实现所述方法的计算机程序,也可以是由所述计算机程序构成的数字信号。
另外,可通过将所述计算机程序或数字信号记录到非临时性的、计算机可读取的记录介质中来实现本发明。记录介质例如可以是软磁盘(Flexible Disk)、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc:蓝光光盘)或半导体存储器等。另外,本发明可以是被记录在此类记录介质中所述数字信号。
另外,本发明还可以采用通过电子通信电路、无线通信电路、有线通信电路、以互联网为代表的网络或数据广播等来传送所述计算机程序或所述数字信号形态。
另外,本发明还可以是具备微处理器和存储器的计算机系统,所述存储器存储所述计算机程序,所述微处理器根据所述计算机程序进行动作。
另外,通过记录到记录介质中传送或者通过网络传送等方法,可以在独立的其他计算机系统中设定所述计算机程序或所述数字信号。另外,其他计算机系统可根据所述计算机程序或所述数字信号来执行本发明的方法。
(5)可通过组合所述实施方式以及所述变形例来实现本发明。
由于本发明在被保护的状态下执行程序,因此能应用于执行程序的PC、平板PC、电视接收机、便携式电话机以及民用设备等。
符号说明
10        信息处理装置
100       非易失性存储器
110       第一应用程序
120       第二应用程序
130       链接器·加载器
141       第一共享库
142       第二共享库
143       第三共享库
150,250  OS
160,260  检测恢复部
161,2501 篡改检测部(篡改判断部)
162,2502 进程控制部
163       进程管理信息保持部(进程信息保持部)
164,2504 共享库管理信息保持部(共享库信息保持部)
165,2505 共享库恢复部
170        散列表保持部
180        密钥保持部
200        易失性存储器
205        Init进程
210        第一应用程序进程
220        第二应用程序进程
230        第三应用程序进程
240        第四应用程序进程
300        系统LSI
400        保护存储器
410        CPU
420        IPL
430        切换管理部
440        安全启动部
450        安全OS
460        安全应用程序
501        源代码
502        编译器
503        链接器
504        共享库
505        密钥
506        预链接映射
507        散列表生成工具
508        非易失性存储器用共享库散列表
509        易失性存储器用共享库散列表
1630       进程管理信息(进程动作信息)
1631       停止进程上下文信息(停止进程信息)
1640,2300 共享库管理信息(共享库信息)

Claims (19)

1.一种信息处理装置,将非易失性存储器所存储的共享库加载到易失性存储器,并使对被加载到所述易失性存储器的所述共享库进行利用的进程动作,该信息处理装置具备:
篡改判断部,判断所述易失性存储器内的所述共享库是否被篡改;
共享库信息保持部,用于保持共享库信息,该共享库信息包含表示所述易失性存储器内的所述共享库与对所述易失性存储器内的所述共享库进行利用的所述进程之间的对应关系的信息;
进程控制部,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,通过参照所述共享库信息,确定对所述易失性存储器内的所述共享库进行利用的所述进程,并使被确定的所述进程停止;以及
共享库恢复部,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,通过将所述非易失性存储器内的所述共享库重新加载到所述易失性存储器,使所述易失性存储器内的所述共享库恢复。
2.如权利要求1所述的信息处理装置,
在所述易失性存储器内的所述共享库恢复之后,所述进程控制部还使所述进程重新启动。
3.如权利要求2所述的信息处理装置,
所述进程控制部,
在使所述进程停止时,生成停止进程信息,该停止进程信息是使所述进程重新启动时使用的信息,
在所述易失性存储器内的所述共享库恢复之后,利用所述停止进程信息,使所述进程重新启动。
4.如权利要求3所述的信息处理装置,
所述进程控制部,
在使所述进程停止时,生成含有进行状态信息的所述停止进程信息,该进行状态信息表示所述进程的进行状态,
在所述易失性存储器内的所述共享库恢复之后,根据所述停止进程信息所示的所述进行状态,使所述进程重新启动。
5.如权利要求4所述的信息处理装置,
所述进程控制部,生成将所述进程所用的程序计数器的信息作为所述进行状态信息来包含的所述停止进程信息。
6.如权利要求4或5所述的信息处理装置,
所述进程控制部,在所述共享库恢复之后,
在所述停止进程信息所示的所述进行状态为所述共享库利用前的情况下,以所述进行状态来使所述进程重新启动,
在所述停止进程信息所示的所述进行状态为所述共享库利用中或利用后的情况下,以所述共享库利用前的状态来使所述进程重新启动。
7.如权利要求6所述的信息处理装置,
所述进程控制部,
在使所述进程停止时,生成包含动作履历信息的所述停止进程信息,该动作履历信息表示所述进程的动作履历,
在所述共享库恢复之后,在所述停止进程信息所示的所述进行状态为所述共享库利用中或利用后的情况下,参照所述停止进程信息中包含的所述动作履历信息,以所述共享库利用前的状态来使所述进程重新启动。
8.如权利要求7所述的信息处理装置,
所述进程控制部,生成将所述进程所用的栈的信息作为所述动作履历信息来包含的所述停止进程信息。
9.如权利要求1至8中的任一项所述的信息处理装置,
所述信息处理装置还具备进程动作信息保持部,该进程动作信息保持部用于保持表示所述进程是否正在动作的进程动作信息,
所述篡改判断部,通过参照所述进程动作信息,确定正在动作的所述进程,并判断被确定的所述进程所利用的所述共享库是否被篡改。
10.如权利要求2至8中的任一项所述的信息处理装置,
所述信息处理装置还具备进程动作信息保持部,该进程动作信息保持部用于保持表示所述进程是否正在动作的进程动作信息,
所述进程控制部,
在使所述进程停止时,更新所述进程动作信息,以表示所述进程未动作,
在所述易失性存储器内的所述共享库恢复之后,通过参照所述进程动作信息,确定未动作的所述进程,并使被确定的所述进程重新启动。
11.如权利要求2至8中的任一项所述的信息处理装置,
所述信息处理装置还具备进程动作信息保持部,该进程动作信息保持部用于保持表示所述进程是否正在动作的进程动作信息,
所述篡改判断部,通过参照所述进程动作信息,确定正在动作的所述进程,并判断被确定的所述进程所利用的所述共享库是否被篡改,
所述进程控制部,
在使所述进程停止时,更新所述进程动作信息,以表示所述进程未动作,
在所述易失性存储器内的所述共享库恢复之后,通过参照所述进程动作信息,确定未动作的所述进程,并使被确定的所述进程重新启动。
12.如权利要求1至11中的任一项所述的信息处理装置,
所述篡改判断部,通过对在所述共享库被加载到所述易失性存储器之前从所述共享库预先提取的信息、在所述共享库被加载到所述易失性存储器之后从所述易失性存储器内的所述共享库提取的信息进行比较,来判断所述易失性存储器内的所述共享库是否被篡改。
13.如权利要求1至12中的任一项所述的信息处理装置,
所述篡改判断部还判断所述非易失性存储器内的所述共享库是否被篡改,
在所述易失性存储器内的所述共享库被判断为被篡改,并且所述非易失性存储器内的所述共享库被判断为未被篡改的情况下,所述共享库恢复部使所述易失性存储器内的所述共享库恢复。
14.如权利要求1至13中的任一项所述的信息处理装置,
所述共享库信息保持部保持包含如下信息的所述共享库信息,该信息表示是否就所述易失性存储器内的所述共享库是否被篡改进行了判断,
所述篡改判断部,通过参照所述共享库信息,确定尚未被判断是否被篡改的所述共享库,并判断被确定的所述共享库是否被篡改。
15.如权利要求1至14中的任一项所述的信息处理装置,
在所述易失性存储器内的所述共享库被判断为被篡改的情况下,所述共享库恢复部通过将所述非易失性存储器内的所述共享库重新加载到所述易失性存储器,并对被重新加载到所述易失性存储器的所述共享库的物理地址、所述进程的进程空间中的所述共享库的虚拟地址进行映射,来使所述易失性存储器内的所述共享库恢复。
16.一种信息处理方法,将非易失性存储器所存储的共享库加载到易失性存储器,并使对被加载到所述易失性存储器的所述共享库进行利用的进程动作,该信息处理方法包括:
篡改判断步骤,判断所述易失性存储器内的所述共享库是否被篡改;
进程控制步骤,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,通过参照用于保持共享库信息的共享库信息保持部所保持的所述共享库信息,确定对所述易失性存储器内的所述共享库进行利用的所述进程,并使被确定的所述进程停止,所述共享库信息包含表示所述易失性存储器内的所述共享库、与对所述易失性存储器内的所述共享库进行利用的所述进程之间的对应关系的信息;以及
共享库恢复步骤,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,通过将所述非易失性存储器内的所述共享库重新加载到所述易失性存储器,使所述易失性存储器内的所述共享库恢复。
17.一种程序,用于使计算机执行权利要求16所述的信息处理方法所包含的步骤。
18.一种计算机可读取的非临时性存储介质,
记录有用于使计算机执行权利要求16所述的信息处理方法中包含的步骤的程序。
19.一种集成电路,将非易失性存储器所存储的共享库加载到易失性存储器,并使对被加载到所述易失性存储器的所述共享库进行利用的进程动作,该集成电路包括:
篡改判断部,判断所述易失性存储器内的所述共享库是否被篡改;
进程控制部,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,通过参照用于保持共享库信息的共享库信息保持部所保持的所述共享库信息,确定对所述易失性存储器内的所述共享库进行利用的所述进程,并使被确定的所述进程停止,所述共享库信息包含表示所述易失性存储器内的所述共享库、与对所述易失性存储器内的所述共享库进行利用的所述进程之间的对应关系的信息;以及
共享库恢复部,在所述易失性存储器内的所述共享库被判断为被篡改的情况下,通过将所述非易失性存储器内的所述共享库重新加载到所述易失性存储器,使所述易失性存储器内的所述共享库恢复。
CN201180002652.3A 2010-05-13 2011-04-26 信息处理装置以及信息处理方法 Expired - Fee Related CN102473223B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010111556 2010-05-13
JP2010-111556 2010-05-13
PCT/JP2011/002446 WO2011142095A1 (ja) 2010-05-13 2011-04-26 情報処理装置および情報処理方法

Publications (2)

Publication Number Publication Date
CN102473223A true CN102473223A (zh) 2012-05-23
CN102473223B CN102473223B (zh) 2015-01-28

Family

ID=44914156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180002652.3A Expired - Fee Related CN102473223B (zh) 2010-05-13 2011-04-26 信息处理装置以及信息处理方法

Country Status (4)

Country Link
US (1) US8522356B2 (zh)
JP (1) JP5740573B2 (zh)
CN (1) CN102473223B (zh)
WO (1) WO2011142095A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106233298A (zh) * 2014-02-12 2016-12-14 尤尼斯康通用身份控制股份有限公司 保护数据库关系免受无权访问的方法和系统
CN106708550A (zh) * 2015-11-17 2017-05-24 百度在线网络技术(北京)有限公司 一种共享对象库加载的方法及装置
CN110096904A (zh) * 2019-04-26 2019-08-06 华润置地投资有限公司 数据安全控制系统及方法
CN113287113A (zh) * 2019-01-23 2021-08-20 株式会社斯凯拉 具有篡改检测性的系统
CN114008972A (zh) * 2019-06-27 2022-02-01 京瓷办公信息系统株式会社 图像形成装置、固件的篡改防止方法以及存储有篡改防止程序的计算机可读取的非瞬时性记录介质
CN114201233A (zh) * 2021-11-18 2022-03-18 成都网思科平科技有限公司 一种基于快照参照的减少进程模块加载数据存储的方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6219560B2 (ja) * 2012-09-21 2017-10-25 株式会社フィックスターズ 情報処理装置、情報処理方法、およびプログラム
US9535686B2 (en) * 2013-03-15 2017-01-03 International Business Machines Corporation Dynamic library replacement
US10025602B2 (en) * 2014-06-03 2018-07-17 Mentor Graphics Corporation Prelinked embedding
US9864548B2 (en) * 2015-09-10 2018-01-09 Toshiba Memory Corporation Memory module, electronic device and method
US10331892B2 (en) * 2017-02-24 2019-06-25 Dell Products L.P. Systems and methods for secure boot and runtime tamper detection
WO2019151013A1 (ja) 2018-02-02 2019-08-08 日本電気株式会社 情報処理装置、情報処理方法及び記録媒体
JP6925542B2 (ja) 2018-10-12 2021-08-25 三菱電機株式会社 ソフトウェア検証装置、ソフトウェア検証方法およびソフトウェア検証プログラム
US11163645B2 (en) * 2019-09-23 2021-11-02 Denso Corporation Apparatus and method of control flow integrity enforcement utilizing boundary checking

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002008873A1 (en) * 2000-07-25 2002-01-31 Macrovision Coporation System and method of verifying the authenticity of dynamically connectable executable images
US20070226256A1 (en) * 2006-03-10 2007-09-27 Fujitsu Limited Computer-readable recording medium storing security management program, security management system, and method of security management
CN101187899A (zh) * 2006-11-17 2008-05-28 中兴通讯股份有限公司 嵌入式系统存储空间的优化方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03293760A (ja) 1990-04-12 1991-12-25 Fuji Electric Co Ltd Mos集積回路装置チップの帯電防止方法
JP3293760B2 (ja) 1997-05-27 2002-06-17 株式会社エヌイーシー情報システムズ 改ざん検知機能付きコンピュータシステム
JP4145118B2 (ja) * 2001-11-26 2008-09-03 松下電器産業株式会社 アプリケーション認証システム
JP2004078847A (ja) 2002-08-22 2004-03-11 Tamura Electric Works Ltd メモリ切替手段を備えた機器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002008873A1 (en) * 2000-07-25 2002-01-31 Macrovision Coporation System and method of verifying the authenticity of dynamically connectable executable images
US20070226256A1 (en) * 2006-03-10 2007-09-27 Fujitsu Limited Computer-readable recording medium storing security management program, security management system, and method of security management
CN101187899A (zh) * 2006-11-17 2008-05-28 中兴通讯股份有限公司 嵌入式系统存储空间的优化方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106233298A (zh) * 2014-02-12 2016-12-14 尤尼斯康通用身份控制股份有限公司 保护数据库关系免受无权访问的方法和系统
CN106233298B (zh) * 2014-02-12 2020-10-30 尤尼斯康通用身份控制股份有限公司 保护数据库关系免受无权访问的方法和系统
CN106708550A (zh) * 2015-11-17 2017-05-24 百度在线网络技术(北京)有限公司 一种共享对象库加载的方法及装置
CN106708550B (zh) * 2015-11-17 2020-05-29 百度在线网络技术(北京)有限公司 一种共享对象库加载的方法及装置
CN113287113A (zh) * 2019-01-23 2021-08-20 株式会社斯凯拉 具有篡改检测性的系统
CN113287113B (zh) * 2019-01-23 2024-05-31 株式会社斯凯拉 具有篡改检测性的系统
CN110096904A (zh) * 2019-04-26 2019-08-06 华润置地投资有限公司 数据安全控制系统及方法
CN114008972A (zh) * 2019-06-27 2022-02-01 京瓷办公信息系统株式会社 图像形成装置、固件的篡改防止方法以及存储有篡改防止程序的计算机可读取的非瞬时性记录介质
CN114201233A (zh) * 2021-11-18 2022-03-18 成都网思科平科技有限公司 一种基于快照参照的减少进程模块加载数据存储的方法

Also Published As

Publication number Publication date
US8522356B2 (en) 2013-08-27
US20120117658A1 (en) 2012-05-10
WO2011142095A1 (ja) 2011-11-17
CN102473223B (zh) 2015-01-28
JPWO2011142095A1 (ja) 2013-07-22
JP5740573B2 (ja) 2015-06-24

Similar Documents

Publication Publication Date Title
CN102473223B (zh) 信息处理装置以及信息处理方法
US10325108B2 (en) Method and apparatus for range based checkpoints in a storage device
CN102521081B (zh) 修复遭破坏的软件
CN101167060B (zh) 用以提供安全开机架构的系统与方法
EP3036623B1 (en) Method and apparatus for modifying a computer program in a trusted manner
US20160364707A1 (en) Potentate: A Cryptography-Obfuscating, Self-Policing, Pervasive Distribution System For Digital Content
Bojinov et al. Address space randomization for mobile devices
Wang et al. {MAZE}: Towards automated heap feng shui
US20220075873A1 (en) Firmware security verification method and device
JP5467271B2 (ja) 情報処理装置及びプログラム、情報処理方法、記録媒体
CN106372505B (zh) 一种针对嵌入式系统代码攻击的快速恢复方法
JP2022009556A (ja) ソフトウェアコードをセキュアにするための方法
JP2021051745A (ja) コンピュータ装置およびメモリ管理方法
CN101785239B (zh) 基于密钥的隐藏分区系统
Tamboli et al. Metamorphic code generation from LLVM bytecode
Zhou et al. Non-distinguishable inconsistencies as a deterministic oracle for detecting security bugs
CN115422554B (zh) 请求处理方法、编译方法和可信计算系统
Pappas et al. Dynamic reconstruction of relocation information for stripped binaries
Péchoux et al. A categorical treatment of malicious behavioral obfuscation
CN102117394A (zh) 检测是否已经复制了计算机文件的方法和装置以及能够进行这种检测的方法和装置
WO2017039588A1 (en) Software patch fix based on checksums
Berardi et al. Ranflood: A mitigation tool based on the principles of data flooding against ransomware
KR101562282B1 (ko) 오덱스 무결성 검증 시스템 및 방법
CN116502239B (zh) 二进制程序的内存漏洞检测方法、装置、设备及介质
TWI438683B (zh) 用於透過未管理指標之處理存取之電腦可讀取媒體與方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150128

Termination date: 20200426