CN101606164B - 终端装置以及软件检查方法 - Google Patents

终端装置以及软件检查方法 Download PDF

Info

Publication number
CN101606164B
CN101606164B CN2008800045753A CN200880004575A CN101606164B CN 101606164 B CN101606164 B CN 101606164B CN 2008800045753 A CN2008800045753 A CN 2008800045753A CN 200880004575 A CN200880004575 A CN 200880004575A CN 101606164 B CN101606164 B CN 101606164B
Authority
CN
China
Prior art keywords
software
territory
inspection
execution
end device
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.)
Expired - Fee Related
Application number
CN2008800045753A
Other languages
English (en)
Other versions
CN101606164A (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.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
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 NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of CN101606164A publication Critical patent/CN101606164A/zh
Application granted granted Critical
Publication of CN101606164B publication Critical patent/CN101606164B/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • 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/2139Recurrent verification
    • 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/2143Clearing memory, e.g. to prevent the data from being stolen

Abstract

本发明的终端装置具备执行多个软件的第1域,以及与该第1域独立地动作、检查软件是否安全的第2域。第2域具备:执行顺序存储部,其存储通过第1域执行的所述多个软件的执行优先顺序;软件检查部,其按照执行顺序存储部,检查多个软件是否安全;执行限制部,其在所述多个软件的全部检查结束前,限制通过第1域执行多个软件内得到不安全的检查结果的软件。

Description

终端装置以及软件检查方法
技术领域
本发明涉及具备执行软件的第1域、和检查所述软件是否安全的第2域的终端装置以及软件检查方法。
背景技术
以往,在便携电话、PDA(Personal Digital Assistants)、PC等终端装置中,有可能从外部对操作系统(以下记作OS)或应用程序等软件进行篡改而降低安全性。因此,近年来,为了确保终端装置的安全性,提出了检查该软件是否安全的各种技术(例如参照专利文献1)。
在专利文献1中公开了使用多个处理器来进行软件的检查的技术。在专利文献1所公开的技术中,在具备执行在装置中所使用的基本软件的主处理器、和与该主处理器隔离的安全处理器的装置中,安全处理器检查通过主处理器执行的软件。在所述安全处理器中以无法从外部访问的方式保存了加密处理以及解密处理中使用的密钥。并且,所述安全处理器使用该密钥,根据通过主处理器执行的软件的解密是否成功,检查该软件是否安全。另外,所述安全处理器,每当将软件从二次存储存储器向主存储器加载以及存储时,进行该软件的检查,由此确保通过主处理器执行的软件的安全性。
专利文献1:特开2006-18528号公报
但是,在专利文献1所公开的技术中,当启动(加载)OS或应用程序等软件时进行该软件的检查,在该检查结束后,该软件成为可以利用。因此,存在引导时顺次执行OS或应用程序的终端装置的启动时间的增加、或用户调用应用程序时的应答性的恶化等,用户的便利性恶化的问题。另外,在便携电话或PC等中使用的软件的容量近年来持续增加,与之相伴,软件的检查时间增加,因此需要缩短检查时间或对用户隐蔽检查时间等的对策。
发明内容
因此,鉴于上述问题而提出本发明,其目的在于提供一种抑制安全性降低,同时减少由于软件的检查而使OS或应用程序的启动时间增加的终端装置以及软件检查方法。
为了达到上述目的,本发明的第1特征的主旨在于,提供一种终端装置(终端装置1),具有执行多个软件的第1域(第1域10),以及与所述第1域独立地动作、检查所述多个软件的每一个是否安全的第2域(第2域20),其中,所述第2域具有:执行顺序存储部(执行顺序存储部111),其存储通过所述第1域执行的所述多个软件的执行优先顺序;软件检查部(软件检查部117),其按照存储在所述执行顺序存储部中的所述执行优先顺序,检查所述多个软件是否安全;以及执行限制部(执行限制部123),其在所述多个软件的全部检查结束之前,限制通过所述第1域执行所述多个软件内得到不安全的检查结果的软件。
根据该特征,在终端装置中,第2域的软件检查部可以不依赖于第1域的处理,独立地逐个检查软件,因此可以缩短软件的检查时间。另外,当第1域执行应用程序或中间件、OS、设备驱动程序等软件时,第1域不进行检查处理,因此对于用户,可以隐蔽检查时间的开销(overhead)。而且,第2域的执行限制部,在多个软件的全部检查结束前限制通过第1域执行软件,因此,即使在第1域要在全部检查结束前执行软件的情况下,也可以确保安全性。
于是,根据该特征,终端装置可以通过检查软件来确保安全性,同时可以减少由于该检查而使OS或应用程序的启动时间增加。
本发明的第2特征的主旨在于,在第1特征所述的终端装置中,所述执行顺序存储部,将用于识别所述第1域的第1域识别信息或用于识别所述第2域的第2域识别信息中的某一个、与所述多个软件的每一个对应起来存储,所述第2域的所述软件检查部,按照所述执行优先顺序,检查与所述第2域识别信息对应存储的软件是否安全,所述第1域具备用于检查与所述第1域识别信息对应存储的软件是否安全的副软件检查部(副软件检查部200)。
根据该特征,通过第2域的硬件或软件的制约,可以通过将不能检查的软件委托给第1域或其它域等分担检查处理。另外,可以使检查处理的负荷分散来提高终端装置整体的处理效率。
本发明的第3特征的主旨在于,在第1或第2特征所述的终端装置中,所述执行顺序存储部,将表示所述终端装置的启动时和所述终端装置的启动后中至少一方的时刻的时刻信息、和所述多个软件的每一个对应起来存储,所述软件检查部和所述副软件检查部,按照由所述时刻信息表示的时刻,检查所述软件是否安全。
根据该特征,通过第2域的检查处理性能或检查开始时刻等的制约,针对在第1域的执行前未完成检查的软件,可以在第1域启动时的时刻进行检查,可以确保安全性。即,在第1域中可以防止执行完成检查前的软件。
本发明的第4特征的主旨在于,在1至3任意一个特征所述的终端装置中,所述第2域还具备:安全软件列表(安全软件列表119),其存储所述多个软件内、在所述软件检查部中确认为安全的软件的识别信息,所述第1域在执行预定的软件前,判定所述预定的软件的识别信息是否存储在所述安全软件列表中,当所述预定的软件的识别信息未存储在所述安全软件列表中时,限制(阻止)所述预定的软件的执行。
根据该特征,在第1域中,可以防止执行完成检查前的软件。
本发明的第5特征的主旨在于,在1至4任意一个特征所述的终端装置中,在所述多个软件中包含通过所述第1域始终执行的第1软件、和以预定频率执行的第2软件,所述执行顺序存储部,与所述第2软件的所述执行优先顺序相比,优先存储了所述第1软件的所述执行优先顺序,所述软件检查部按照所述执行优先顺序,使所述第1软件优先于所述第2软件来检查是否安全。
本发明的第6特征的主旨在于,在第5特征所述的终端装置中,所述第2域还具备:执行频率取得部(执行频率取得部113),其取得通过所述第1域执行的所述第2软件的执行频率;以及执行频率存储部(执行频率存储部115),其将所取得的所述执行频率和所述第2软件对应起来存储,所述软件检查部,将存储在所述执行频率存储部中的所述执行频率作为所述执行优先顺序,检查所述第2软件是否安全。
本发明的第7特征的主旨在于,在1至6任意一个特征所述的终端装置中,所述第2域还具备:非安全软件列表(非安全软件列表121),其存储所述多个软件内、在所述软件检查部中确认为不安全的软件的识别信息。
本发明的第8特征的主旨在于,在1至7任意一个特征所述的终端装置中,所述软件检查部每隔预定的期间检查所述多个软件是否安全。
本发明的第9特征的主旨在于,在第7特征所述的终端装置中,所述第1域发送用于请求所述多个软件内被检查过的软件的检查结果的结果请求信息,所述第2域还具备:结果通知部(结果通知部127),其在从所述第1域接收到所述结果请求信息时,向所述第1域发送结果应答信息,该结果应答信息包含存储在所述安全软件列表中的所述识别信息、和存储在所述非安全软件列表中的所述识别信息,所述第1域,根据从所述结果通知部接收到的所述结果应答信息,仅执行通过所述软件检查部确认为安全的所述软件。
本发明的第10特征的主旨在于,在第9特征所述的终端装置中,所述第2域还具备:请求接收部(请求接收部131),其从所述第1域接收用于请求检查所述软件的检查请求信息,所述第1域,在从所述结果通知部通知的所述结果应答信息中没有包含从现在起开始执行的特定软件的识别信息的情况下,向所述请求接收部发送用于请求检查所述特定软件的所述检查请求信息,所述请求接收部,在接收到所述检查请求信息时,在所述软件检查部正在检查与所述特定软件不同的其它软件的情况下,使所述其它软件的检查中断,所述软件检查部,使所述特定软件优先来检查所述特定软件是否安全。
本发明的第11特征的主旨在于,在第10特征所述的终端装置中,所述第1域,在发送了所述检查请求信息时,停止所述特定软件的执行,直到接收到来自所述执行限制部的指示为止,所述执行限制部,当通过所述软件检查部确认为所述特定软件安全的情况下,指示所述第1域执行所述特定软件。
本发明的第12特征的主旨在于,在第10特征所述的终端装置中,所述第1域,在向所述请求接收部发送了所述检查请求信息时,开始所述特定软件的执行,所述执行限制部,在通过所述软件检查部确认为所述特定软件不安全的情况下,限制所述第1域执行所述特定软件。
本发明的第13特征的主旨在于,在第1特征所述的终端装置中,所述执行限制部,在通过所述软件检查部结束所述多个软件是否安全的检查之前,限制所述第1域执行所述多个软件。
本发明的第14特征的主旨在于,提供一种终端装置中的软件检查方法,该终端装置具有执行多个软件的第1域、以及检查所述多个软件的每一个是否安全的第2域,该软件检查方法中包含以下步骤:顺序存储步骤,所述第2域存储通过所述第1域执行的所述多个软件的执行优先顺序;检查步骤,所述第2域按照所述执行优先顺序检查所述多个软件是否安全;以及限制步骤,所述第2域在所述多个软件的全部检查结束之前,限制通过所述第1域执行所述多个软件内得到不安全的检查结果的软件。
如上所述,根据本发明,可以提供抑制安全性降低,同时减少由于软件的检查而使OS或应用程序的启动时间增加的终端装置以及软件检查方法。
附图说明
图1是第1实施方式的终端装置的全体概略结构以及第2域的最小功能框图。
图2是具体表示第1实施方式的第2域的结构的功能框图。
图3是表示在第1实施方式的执行顺序存储部中存储的信息的图。
图4是表示在第1实施方式的执行频率存储部中存储的信息的图。
图5是表示在第1实施方式中,第1域和第2域启动时的时间序列上的动作的图。
图6是表示在第1实施方式中,第1域执行软件、第2域检查软件时的时间序列上的动作的图。
图7是表示在第2实施方式的执行顺序存储部中存储的信息的图。
图8是表示在第3实施方式中,第2域的处理状态迁移的图像的图。
图9是表示在第1实施方式的执行顺序存储部中存储的信息的一例的图。
图10是表示在第1实施方式的执行顺序存储部中存储的信息的一例的图。
图11是表示在第1实施方式的执行顺序存储部中存储的信息的一例的图。
具体实施方式
接下来,参照附图说明本发明的实施方式。在以下附图的记载中,对于相同或类似的部分标记了相同或类似的符号。其中,应该注意附图为示意图。
[第1实施方式]
(终端装置的结构)
对本发明的第1实施方式的终端装置1的结构进行说明。本发明以具有使多个域动作的功能的终端装置作为对象。另外,在本实施方式中,终端装置1设想为在多个域上执行操作系统(以下记为OS)以及应用程序等软件的便携电话、PDA(Personal Digital Assistants)、PC等。
在此,在本实施方式中,所谓域(domain),无论物理上、逻辑上,指的是由处理器、RAM(Random Access Memory)构成的1个独立的处理核(processing core)。作为物理上具有多个域的实施方式的例子而存在:为了实现高速化或低功耗,在主域之外具有DSP(Digital Signal Processor)来作为副域的多媒体便携终端;作为副域而具有遵从IPSec(Security Architecture forInternet Protocol)的加密处理加速器的信息便携终端等。尤其是DSP或加密加速器,接收到来自主域的指示后进行处理的类型较多,在此期间空闲或休眠。
在一个处理器中具有多个处理核的多核处理器也是物理上具有多个域的实施方式。另外,作为通过对1个处理核进行时间空间分割来分割计算机资源,在逻辑上具有多个域的方法,例如ARM公司的Trust Zone或VMware等虚拟计算机。
上述多个域分别独立动作,在域上运行的OS也独立运行。本发明的装置和方法是关于:利用担负终端装置1的多数处理的主域(以后称为第1域)、和支援主域的副域(以后称为第2域),在第1域上使包含OS的软件正常运行,同时在第2域上使与在第1域上运行的OS不同的OS运行,第2域并行地检查第1域的全部软件。即,在终端装置1中,第1域和第2域不是运行一个OS的域,而分别独立且并行地运行不同OS。此外,第1域和第2域也可以使用独立的不同的代码来使相同种类的OS运行。另外,第2域在启动的同时开始检查可以通过第1域执行的软件。第2域,可以当在第1域的软件中确认了异常时,进行终端装置的启动的中止或复位(reset),也可以在第1域的动作过程中仅对异常的软件进行停止执行或禁止执行等。
图1是表示本实施方式的终端装置1的结构的功能框图。如图1所示,本实施方式的终端装置1具备第1域10和第2域20。
第1域10执行在终端装置1中使用的基本的多个软件。具体而言,第1域10执行在终端装置1中作为基础来使用的OS、或在该OS上启动的应用程序等软件。此外,预先全部存储了这些软件。
此外,在本实施方式中,软件分类为始终执行的第1软件、和以预定频率执行的第2软件。例如,OS是在终端装置1的启动时必定被执行的软件,被包含在始终执行的第1软件中。另外,在应用程序中包含始终执行的第1软件(应用程序)、和以预定频率执行的第2软件(应用程序)。例如在以便携电话为例时,作为第1软件而存在始终启动的电话用的应用程序等。另外,作为以预定频率执行的第2软件,存在通过用户操作被启动的游戏用的应用程序等。
第2域20启动用于使各种功能工作的OS。另外,第2域20检查(确认)通过第1域10执行的多个软件是否安全。具体而言,第2域20检查在第1域10中存储的软件是否安全,例如当确认为不安全时执行以下用于确保终端装置1的安全性的处理:在第1域中禁止执行成为对象的软件、或者使第1域10的启动或执行停止、或者进行将终端装置本身复位等处理。另外,如图1所示,第2域20具备执行顺序存储部111、软件检查部117、执行限制部123等功能,以这些功能为主,执行用于确保安全性的处理。
此外,希望检查第1域10的第2域20确保高安全性。因此,第2域20为了提高安全性,可以利用ARM公司的Trust Zone等安全空间、或通过从主处理器进行隔离而实现了高安全性的安全处理器(secure processor)等。以下说明第2域20中具备的各种功能。
(第2域的结构)
接下来,具体说明第2域20的结构。如图1所示,第2域20具备执行顺序存储部111、软件检查部117和执行限制部123。
执行顺序存储部111存储了与通过第1域10执行的软件对应的执行优先顺序。所谓执行优先顺序,是在通过后述的软件检查部117检查软件时,作为检查的顺序而使用的信息。在此,在OS中一般静态地定义了作为内核(kernel)、设备驱动器、服务器而工作的守护程序(daemon program)、自动启动的应用程序等的执行顺序。在执行顺序存储部111中,例如关于第1域10的OS,以静态执行的顺序作为执行优先顺序来存储这些程序。
此外,在执行优先顺序的指定中,可以合并多个软件作为一个软件来处理。例如可以将内核和多个设备驱动器合并作为一个软件,存储在执行顺序存储部中。
软件检查部117按照在执行顺序存储部111中存储的执行优先顺序,进行第1域10的软件的检查。希望在第2域的OS的启动结束后立即开始检查。另外,为了确保安全性,希望软件检查部117检查(确认)第1域10中存储的全部软件是否安全。
作为软件的检查方法而列举出:求出与软件代码对应的检验和或散列值(hash)来预先存储,并且在检查时读出来对照的方法;和利用软件代码中附带的电子署名来检查有无篡改的方法等。在上述的执行顺序存储部111中存储了这些检查所需的程序代码的信息,根据需要而存储了检验和列表、散列值。实际上,软件检查部117利用这些信息和使用了散列计算功能或RSA方式的公开密钥加密方式等来进行检查。
执行限制部123根据通过软件检查部117检查的软件的检查结果,指示通过第1域10执行该软件时的动作。例如,执行限制部123指示第1域10禁止执行确认为不安全的软件。另外,执行限制部123,在第1域10执行了被确认为不安全的软件的情况下,进行其停止指示(禁止执行指示)等。此外,执行限制部123也可以进行被确认为不安全的软件的删除、第1域10或终端装置1的复位或停止执行。这样,执行限制部123在多个软件的全部检查结束前,限制通过第1域10执行多个软件内的、通过软件检查部117得到了表示不安全的检查结果的软件。
(第2域的详细结构)
接着,更详细地说明第2域20的结构。图2是具体表示第2域20的结构的功能框图。如图2所示,第2域20具备:执行顺序存储部111、执行频率取得部113、执行频率存储部115、软件检查部117、安全软件列表119、非安全软件列表121、执行限制部123、结果通知部127、列表闪速存储部(list flash)129和请求接收部131。
如上所述,执行顺序存储部111存储了与通过第1域10执行的软件对应的执行优先顺序。在图3中表示了在执行顺序存储部111中存储的信息的具体例。如图3所示,在执行顺序存储部111中,将识别在第1域10中存储的软件的软件ID(识别信息)、通过第1域10执行的软件的执行优先顺序、软件的检查所需要的散列值等关联起来进行存储。
此外,软件ID可以是对1个软件赋予的识别信息,也可以是对多个软件构成的1组赋予的识别信息。另外,软件ID可以是文件名,也可以是配置了软件的地址、或地址和大小的组合。
在图3的具体例中指定了执行优先顺序,但也可以不明确指定,如图9的例子所示,以从存储区域的先头开始的顺序作为执行优先顺序。
而且,如图10所示,执行顺序存储部111可以针对多个软件的每一个,存储由哪个域进行检查的指定。具体而言,如图1所示,在第1域10中也可以具备检查软件是否安全的副软件检查部300。在这种情况下,执行顺序存储部111将识别第1域10的第1域识别信息、或识别所述第2域20的第2域识别信息的某一个与各个软件对应起来存储。在图10的具体例中指定了:软件ID为“1”的软件由第1域(域ID=1)进行检查,其它软件ID的软件由第2域(域ID=2)进行检查。
于是,第2域20的软件检查部117按照执行优先顺序检查与第2域识别信息对应存储的软件,可以由第1域10的副软件检查部300检查与第1域识别信息对应存储的软件。
在图11的具体例中,执行顺序存储部111针对各个软件保存了终端装置1的启动时以及启动后的某一个、或者双方的检查的时刻的指定。具体而言,执行顺序存储部111,将表示终端装置1的启动时和终端装置1的启动后中至少一方的时刻的时刻信息(启动时、启动后、启动时和启动后的双方)与各个软件对应起来存储。在图11的具体例中指定了:软件ID为“1”的软件由第1域(域ID=1)在启动时进行检查,软件ID为“2”的软件由第2域(域ID=2)在启动时和启动后的双方进行检查。
在这种情况下,第2域20的软件检查部117以及第1域的副软件检查部300,可以按照时刻信息和执行优先顺序来检查软件是否安全。
另外,在图4所示的具体例中,在执行顺序存储部111中存储了:通过第1域10始终执行的OS或应用程序等第1软件的软件ID;和通过第1域10以预定频率执行的应用程序等第2软件的软件ID。
另外,在执行顺序存储部111中,与以预定频率执行的第2软件的执行优先顺序相比,优先存储始终被执行的第1软件的执行优先顺序。具体而言,在执行顺序存储部111中,关于始终被执行的OS或应用程序等第1软件,对应存储了执行优先顺序,但关于以预定频率执行的应用程序等第2软件,未对应存储执行优先顺序。在这种情况下,以预定频率执行的第2软件并非没有执行优先顺序,而是将执行优先顺序存储为最低。
执行频率取得部113,每当通过第1域10执行软件时,从第1域10取得用于识别被执行的该软件的软件ID(识别信息)。另外,执行频率取得部113,每当取得该软件ID时,对在预定期间(例如一周等)内取得的该软件ID的取得次数进行累积,存储在执行频率存储部115中。此外,执行频率取得部113也可以定期地(例如每隔预定期间)清除执行频率来进行更新。另外,与在第1域10中始终被执行的第1软件相比,执行频率取得部113主要取得以预定频率执行的第2软件的执行频率。
执行频率存储部115存储在第1域10中以预定频率执行的软件的执行频率。此外,在执行频率存储部115中以如下软件作为对象存储该软件的执行频率,该软件是在通过第1域10执行的软件中没有在执行顺序存储部111中存储执行优先顺序的软件。这些信息通过执行频率取得部113被存储。在图4中表示了在执行频率存储部115中存储的信息的具体例。如图4所示,执行频率存储部115将软件ID和执行频率对应起来存储。另外,存储在执行频率存储部115中的信息,通过后述的软件检查部117被读出,在决定检查软件的顺序时被使用。
软件检查部117参照在执行顺序存储部111中存储的执行优先顺序,按照该执行优先顺序检查(确认)在第1域10中存储的软件。另外,软件检查部117也可以使第1软件优先于第2软件来检查是否安全。具体而言,软件检查部117在执行了第1软件的检查后,关于第2软件,参照执行频率存储部115来检查在第1域10中存储的软件是否安全。此时,软件检查部117可以以执行频率存储部115中存储的执行频率作为优先执行顺序,按照从执行频率较大的一方开始的顺序,检查与执行频率对应的第2软件是否安全。
另外,软件检查部117每隔预定期间检查一个或多个软件是否安全。具体而言,软件检查部117,当从后述的列表闪速存储部129每隔预定期间接收到指示执行检查的通知时,参照在执行顺序存储部111以及执行频率存储部115中存储的信息,执行软件的检查。此时,软件检查部117为了提高处理效率,可以仅再次检查前一次确认为安全的、与安全软件列表119中存储的软件ID对应的软件。
另外,软件检查部117,在后述的请求接收部131中从第1域10接收到请求检查特定软件是否安全的检查请求信息时,使与该检查请求信息中包含的软件ID对应的软件(特定软件)优先,检查该软件是否安全。例如,软件检查部117,即使正在以某个软件为对象来执行是否安全的检查处理,当通过请求接收部131从第1域10接收到检查请求信息时,中断所述检查处理,检查与检查请求信息中包含的软件ID对应的软件是否安全。
另外,软件检查部117将检查结果存储在安全软件列表119和非安全软件列表121中。具体而言,软件检查部117在检查软件是否安全后,在确认该软件安全的情况下,将识别所述软件的软件ID存储在安全软件列表119中。另外,软件检查部117在检查软件是否安全后,在确认该软件不安全的情况下,将识别所述软件的软件ID存储在非安全软件列表121中。另外,软件检查部117将检查结果和软件ID通知给执行限制部123。根据该通知,在执行限制部123中控制第1域10的动作。
安全软件列表119存储在软件检查部117中确认为安全的软件的识别信息。具体而言,安全软件列表119存储与在软件检查部117中检查的结果是未被篡改的安全的软件对应的软件ID(识别信息)。另外,非安全软件列表121存储在软件检查部117中确认为不安全的软件的识别信息。具体而言,非安全软件列表121存储与在软件检查部117中检查的结果是已被篡改的软件对应的软件ID。在这两个列表中存储的软件组,当后述的结果通知部127从第1域10接收到请求检查结果的结果请求信息时,通过结果通知部127被通知到第1域10。
列表闪速存储部129具备间隔计时器(interval timer),定期向软件检查部117通知实施检查。另外,此时列表闪速存储部129将安全软件列表119中存储的信息全部或者部分清除。在此,以前一度被确认为安全的软件也有被随机篡改的可能性,因此,列表闪速存储部129通过催促软件检查部117定期地进行检查,确保安全性。
执行限制部123根据软件检查部117的检查结果,指示第1域10执行软件时的动作。另外,执行限制部123根据需要向第1域10指示软件的禁止执行、中断执行等限制第1域10的动作,并根据情况将第1域10强制复位。
此外,执行限制部123可以在通过软件检查部117结束了第1域10中存储的全部软件是否安全的检查之前,向第1域10指示软件的禁止执行。在此情况下,执行限制部123例如可以在通过软件检查部117结束在执行顺序存储部111中存储的全部软件的检查之前,使在第1域10中执行的OS的启动暂时中断。另外,执行限制部123也可以在第2域20的OS的启动结束之前,使在第1域10中执行的OS的启动暂时中断。于是,通过由执行限制部123限制第1域10的动作,在终端装置1中可以在检查结束后的安全的状态下使第1域10执行软件。
结果通知部127从第1域10接收请求通过软件检查部117被检查的软件的检查结果的结果请求信息,并且向第1域10发送包含在安全软件列表119中存储的识别信息、和在非安全软件列表121中存储的识别信息在内的结果应答信息。这样,第1域10通过利用结果通知部127,可以取得与已检查的软件组相关的信息。另外,在将安全软件列表、非安全软件列表配置在可以从第1域10访问的存储器(RAM)或存储装置中的情况下,即使没有结果请求信息的接收或结果应答信息的发送步骤,第1域10也可以取得与已检查的软件组相关的信息。
请求接收部131,在从第1域10接收到请求检查特定软件的检查请求信息时,将该检查请求信息通知给软件检查部117。此时,请求接收部131向软件检查部117通知中止当前执行中的检查处理,催促其优先检查在检查请求信息中请求的软件。于是,例如当第1域10执行在软件检查部117中未检查的软件时,可以向软件检查部117请求对其进行检查。
此外,当检查的结果是确认为安全时,软件检查部117通过执行限制部123对第1域10通知该内容。另外,在确认进行了篡改而不安全时,执行限制部123立即对应该情况,在执行该软件前催促禁止执行该软件。
(终端装置的动作)
接着,说明上述结构的终端装置1的动作。具体而言,说明在终端装置1中,当第1域10和第2域20启动时第2域20执行软件的检查的控制动作、和所述第2域20在检查软件的过程中接收到来自第1域10的检查请求时的控制动作。
(终端装置启动时的动作)
首先,参照图5说明终端装置1启动时,第1域10和第2域20启动,第2域20执行软件的检查的控制动作。在图5中表示了第1域10和第2域20启动时的时间序列上的动作。此外,作为前提,在第2域20的执行顺序存储部111中预先存储了通过第1域10执行的软件的执行优先顺序。另外,第2域20是进行第1域10的检查的主体,因此需要确保安全。因此,在本实施方式中,假定第2域20具备安全引导(secure boot)功能。即,在第2域20中的启动步骤(引导步骤)中,检查接下来执行的软件,在确认是正当软件之后执行该软件。具体而言,在最初启动的第1加载程序(loader)检查第2加载程序后执行第2加载程序,在第2加载程序检查OS的内核部后执行内核。
在步骤S11中,当终端装置1启动时,第1域10以及第2域20开始启动,在第1域10以及第2域20的各自中执行OS的初始化。在第2域20中,在OS的初始化结束后开始第1域的检查。为了更早开始检查,在第2域20中可以将软件检查部117等作为设备驱动器来执行。在这种情况下,即使在第2域20的OS的初始化结束前,软件检查部117也可以开始软件的检查。
根据第1域10和第2域20的启动的时刻的构成,在第1域10中通过第1域执行未检查的软件。与此对应,可以采用以下3种方法。
在第1方法A中,由执行顺序存储部111存储了通过第1域10最初执行的若干软件,由此,第1域10在执行该软件前进行检查。作为具体例,执行顺序存储部111如图10的例子所示,在将软件ID和域ID对应存储的情况下,第1域10的副软件检查部200识别出在执行特定软件前需要检查特定软件,然后进行检查。由此防止通过第1域10执行未检查的软件。
在第2方法B中,第1域10在软件的执行前参照安全软件列表,在安全软件列表119中包含所述软件时进行执行,在不包含的情况下阻止(block)(限制)执行。第1域10在阻止后参照安全软件列表119,若包含所述软件则解除阻止来执行。
在第3方法C中,执行限制部123使第1域10的动作中断,直到通过软件检查部117结束第1域10的OS的软件检查为止。例如,在想要确保静态定义了执行的软件的OS的安全性时,执行限制部123使第1域10的启动延迟,直到通过软件检查部117结束与在执行顺序存储部111中存储的执行优先顺序对应的软件(即第1软件)的检查为止。
在步骤S13中,在第2域20中,软件检查部117在第2域20的OS的初始化结束后,按照在执行顺序存储部111中存储的执行优先顺序,开始软件的检查。在执行顺序存储部111中存储的执行优先顺序,首先是通过第1域10执行的OS的代码(第1软件)。作为具体例,在所述代码中记载了作为内核、设备驱动器、服务器而运行的守护程序。另外,软件检查部117也可以将检查结果存储在安全软件列表119以及非安全软件列表121中。
步骤S15是可选步骤,在第2域20中,软件检查部117在与执行顺序存储部111中存储的执行优先顺序对应的软件的检查结束后,接着参照执行频率存储部115,按照从执行频率较大的一方开始的顺序,执行与存储的执行频率对应的软件(第2软件)的检查。
在第2域20中,结果通知部127在从第1域10接收到结果请求信息时,将包含检查结果的结果应答信息发送给第1域10。
另外,在第2域20中,执行限制部123也可以指示第1域10禁止执行通过软件检查部117确认为不安全的软件。当第2域20具备通过对终端装置1上的软件进行备份等,在安全状态下将其安全地保存的功能时,执行限制部123可以删除通过软件检查部117确认为不安全的软件,更新为所保存的安全的软件,然后存储在第1域10中。
在步骤S19中,第1域10按照正常的启动动作进行第1域10上的OS的初始化。
在步骤S21中,在第1域10上的OS的初始化结束后,第1域10执行应用程序等软件。此时,可以参照安全软件列表119来进行阻止,以便仅执行通过第2域20的软件检查部117确认为安全的应用程序等软件,也可以跳过未检查的软件来执行别的软件。在后一种情况下,第1域10,在通过第2域20的软件检查部117结束第1域10中存储的全部软件的检查前,也可以执行通过软件检查部117确认为安全的软件。
另外,第1域10可以在执行软件时将与执行的软件对应的软件ID通知给第2域20的执行频率取得部113。在执行频率取得部113中,根据该通知,对在预定期间内取得的软件ID的取得次数进行累积,导出第1域10中的软件的执行频率,存储在执行频率存储部115中。另外,通过使用该信息,第2域20的软件检查部117将在执行频率存储部115中存储的执行频率作为应该检查的软件的执行优先顺序,来检查软件是否安全。
另外,第1域10可以在软件的执行前向第2域20的结果通知部127发送结果请求信息,从结果通知部127得到结果应答信息。另外,第1域10根据结果应答信息确认通过软件检查部117确认为不安全的软件。然后,第1域10执行除了被确认为不安全的软件以外的软件。即,第1域10不执行与结果应答信息中包含的软件ID内、存储在非安全软件列表121中的软件ID相对应的软件。另外,在第1域10中确认在结果应答信息中包含的全部软件ID,确认从现在起开始执行的软件是否通过第2域20的软件检查部117进行了检查。通过该确认,在第1域10中可以执行确认为安全的软件。另外,第1域10,在从结果通知部127通知的结果应答信息中不包含从现在起开始执行的特定软件的识别信息时,向请求接收部131发送请求检查该特定软件是否安全的检查请求信息。此时,第1域10发送包含成为对象的特定软件的软件ID的检查请求信息,请求检查对象软件。
在此,在本实施方式中,第1域10执行在发送了检查请求信息时停止执行请求了检查的软件,直到接收到来自执行限制部123的指示的方法(1)、和在发送了检查请求信息时,立即开始执行该软件的方法(2)中的某个方法。
例如,在方法(1)中,在第1域10发送了检查请求信息时,在接收到来自第2域20的执行限制部123的指示前,停止执行请求了检查的软件。另外,在该方法中,当通过软件检查部117确认在检查请求信息中请求的软件(特定软件)安全时,执行限制部123指示第1域10执行软件。然后,第1域10接着开始执行软件。另外,在确认为不安全时,执行限制部123指示第1域10禁止执行软件。然后,第1域10取消该软件的执行。
另外,在方法(2)中,在第1域10发送了检查请求信息时,立即执行请求了检查的软件。在该方法中,第2域20的执行限制部123,当通过软件检查部117确认为通过第1域10正在执行的软件(特定软件)不安全时,指示第1域10停止执行特定软件、以及此后禁止执行。另外,关于被确认为安全的软件,第2域20的执行限制部123对第1域10不进行任何操作。
于是,在终端装置1中,第1域10在要执行未检查的软件时,可以设定方法(1)至(2)中的某一个方法。此外,方法(1)至(2)中的某一种方法,理想的是根据终端装置1的运算处理能力等性能来设定。
另外,第2域20的软件检查部117,从第2域20启动时起,开始在第1域10中存储的软件的检查,在大致结束全部软件的检查时,在某程度的时间(预定期间)后,再次重新开始软件的检查。此时,在第2域20的软件检查部117中,为了实现检查处理的高效化,仅检查在前一次的检查中确认为安全的软件。此时,软件检查部117,当根据在执行顺序存储部111以及执行频率取得部113中存储的执行优先顺序以及执行频率进行检查时,参照安全软件列表119,仅检查已经确认为安全的软件。
(检查应用程序时的动作)
接下来,参照图6具体说明通过第1域10以及第2域20检查例如以预定频率执行的应用程序等第2软件时的控制动作。此外,在此以第1域10发送用于请求检查的检查请求信息,并且立即开始软件的执行的上述方法(2)为例进行说明。
在步骤S101中,在第2域20中,软件检查部117正在执行应用程序C的检查。然后,在第2域20中,假定请求接收部131从第1域10接收到检查请求信息。
在步骤S103中,在第2域20中,软件检查部117中断当前正在执行的应用程序C的检查,检查与通过请求接收部131接收到的检查请求信息中包含的软件ID对应的软件(例如应用程序D)是否安全。另外,此时,软件检查部117在确认为应用程序D不安全时向执行限制部123通知该情况。接收到该通知的执行限制部123指示第1域10停止执行该应用程序D、以及此后禁止执行。
在步骤S105中,在第2域20中,软件检查部117在检查了接收到该请求的软件后,重新开始刚才中断的软件的检查,接着继续检查与在执行顺序存储部111以及执行频率取得部113中存储的执行优先顺序以及执行频率对应的软件。
在步骤S107中,第1域10向第2域20发送应用程序D的检查请求信息,同时开始执行该应用程序D。另外,第1域10在执行该应用程序D的过程中从执行限制部123指示停止执行该应用程序D时,立即停止执行。
(作用及效果)
根据本实施方式的终端装置1,在第2域20中,软件检查部117按照执行优先顺序检查(确认)多个软件是否安全。另外,第1域10在通过软件检查部117检查第1域10中存储的全部软件是否安全之前,也可以执行被确认为安全的软件。
因此,如现有技术那样,在终端装置1中不检查存储的全部多个软件是否安全,而可以由第1域10执行检查结束并且确认为安全的软件。另外,在终端装置1中,软件检查部117按照预先存储的执行优先顺序或执行频率,逐个自动检查软件。因此,第1域10在执行软件时可以进一步缩短得到检查结果之前的待机期间。
另外,根据本实施方式的终端装置1,在第2域20中,软件检查部117使通过第1域10始终执行的软件(第1软件)优先于以预定频率执行的软件(第2软件)来检查是否安全,因此,第1域10在执行软件时可以进一步缩短等待检查的期间。另外,软件检查部117按照与执行频率对应的顺序逐个自动检查应用程序等软件,因此,当根据用户的请求由第1域10执行软件时,可以更早地提供已经完成了检查的环境。而且,此时通过第1域10提高了消除等待检查结果的待机期间本身的可能性。
于是,根据所述特征,终端装置1可以通过检查软件来抑制安全性降低,同时通过该检查可以减少OS或应用程序的启动时间的增加。因此,根据所述终端装置1可以确保不断大容量化的软件的安全性,同时可以将启动时间的增加抑制到最小限度,并且可以全面地检查软件。
另外,根据本实施方式的终端装置1,在第2域20中,执行限制部123根据通过软件检查部117检查的软件的检查结果,限制第1域10的动作。因此,执行限制部123可以禁止执行被确认为不安全的软件,确保终端装置1的安全性。另外,在第2域20中,结果通知部127根据第1域10的请求通知检查结果,因此第1域10可以迅速地确认检查结果。
另外,根据本实施方式的终端装置1,在第2域20中,通过安全软件列表119和非安全软件列表121可以可靠地管理安全的软件和不安全的软件。
另外,根据本实施方式的终端装置1,在第2域20中,软件检查部117根据列表闪速存储部129的指示,每隔预定期间定期地检查多个软件是否安全,因此即使一度检查为安全,也每隔预定期间再次检查,可以确保安全性。另外,此时软件检查部117仅检查前一次确认为安全的软件,因此不执行没用的处理,可以降低运算处理负荷。
根据本实施方式的终端装置1,在第1域10中不执行检查结果确认为不安全的软件,因此可以确保安全性。另外,第1域10,在未检查从现在起预定执行的软件的情况下,请求检查该软件。另外,在接收到该请求的第2域20中,软件检查部117优先检查所请求的软件,因此可以缩短得到检查结果之前的第1域10的待机期间。
根据本实施方式的终端装置1,作为第1域10请求了检查时的一种方法(方法(1)),停止执行软件直到有来自第2域20的执行限制部123的指示为止,因此在特定软件不安全的情况下,可以防止通过该特定软件流出个人信息等,可以较高地保持安全性。另外,作为第1域10请求了检查时的另一方法(方法(2)),并行地立即开始执行已经请求了的软件,因此可以抑制软件启动的期间延长。另外,在这种情况下,在第2域20中,当通过软件检查部117确认所请求的软件不安全时,指示第1域10立即停止执行,因此也可以确保安全性。
另外,在第2域20中,执行限制部123也可以指示第1域10禁止执行软件,直到通过软件检查部117完成全部软件是否安全的检查为止,因此可以根据用户希望,提供安全性较高的环境。
另外,一般终端装置1在通过电池等驱动的情况下,希望节电化。根据现有技术,例如在终端装置启动OS等时检查存储的全部软件是否安全,因此在应用程序等软件对于用户成为可以使用的状态之前,消耗电力增大。因此,当在电池中积蓄的电力非常少的情况下,有时甚至无法对用户提供可以使用软件的状态。但是,根据本发明的终端装置1按照通常那样使OS启动,因此可以对用户提供可以使用应用程序的状态。
[第2实施方式]
(第2实施方式的终端装置的结构)
接下来,着眼于和上述第1实施方式的不同点,说明本发明的第2实施方式的终端装置1的结构。在上述第1实施方式的终端装置1的第2域20中,执行限制部123指示第1域10停止执行(或禁止执行)通过软件检查部117确认为不安全的软件,但也设想到在该第1域10中已经执行了该软件的情况下、或第1域10已经被篡改,未接收到来自第2域20的指示的情况下,不遵从该指示的情况。而且也设想到,在该软件中包含例如在启动OS时参照的设定信息等的情况下,即使当前未通过第1域10执行(参照)该软件,在确认不安全的情况下也需要在通过第1域10执行前再次启动。因此,在本实施方式中说明在第1域10不遵从指示的情况下、或需要再次启动的情况下第2域20执行的处理。首先,在本实施方式的第2域20中,执行限制部123,在通过第1域10执行软件时,例如由于执行了被篡改的软件而在第1域10中检查出异常的情况下,将第1域10复位(再次启动)。另外,执行限制部123,在检查通过第2域20执行的软件是否安全的处理中,例如由于在第2域20中执行了被篡改的软件而在第2域20中检查出异常的情况下,将第2域20复位(reset)。此外,执行限制部123可以在第1域10检查出冻结(freeze)等异常时也将第1域10复位。另外,执行限制部123也可以不仅将第1域10复位,而且将第2域20一起复位。另外,执行限制部123,在第2域20中发生安全引导失败等异常,无法保证第2域20的安全性的情况下,可以进行终端装置1本身的复位。
另外,如图7所示,在本实施方式的执行顺序存储部111中预先对应地存储了:软件ID、执行优先顺序、当正在执行与该软件ID对应的软件时表示对第1域10的指示内容的信息、当并非正在执行时表示对第1域10的指示内容的信息。
另外,在执行顺序存储部111中,作为表示第1域10正在执行软件的情况下的指示内容的信息,存储了表示可以进行第1域10的控制的情况下的指示内容的“可控制时指示信息”(例如停止执行)、和表示不可控制的情况下的指示内容的“不可控制时指示信息”(例如复位)。而且,在执行顺序存储部111中,作为表示第1域10并非正在执行软件的情况下的指示内容的信息,存储了表示可以进行第1域10的控制的情况下的指示内容的“可控制时指示信息”(例如禁止执行)、和表示不可控制的情况下的指示内容的“不可控制时指示信息”(例如复位)。
另外,本实施方式的执行限制部123,当从软件检查部117接收到作为检查结果而确认为不安全的软件ID的通知时,在第1域10中判定与所通知的软件ID对应的软件是否正在执行。此外,执行限制部123,当从软件检查部117接收到作为判定结果而确认为安全的软件ID的通知时,执行与上述第1实施方式相同的处理。另外,作为判定是否正在通过第1域10执行该软件的方法,可以构成为,每当第1域10执行软件时,将对应的软件ID通知给执行限制部123,也可以构成为,执行限制部123根据该通知,判定被判定为不安全的软件是否是通过第1域10正在执行的软件。
另外,执行限制部123,在判定在第1域10中是否正在执行该软件后,参照上述实施顺序存储部111,根据在执行顺序存储部111中存储的正在执行或并非正在执行时的“可控制时指示信息”,控制第1域10的动作。
具体而言,执行限制部123,当判定为正在执行软件时,在执行顺序存储部111中,根据与该软件ID对应的正在执行时的“可控制时指示信息(例如停止执行)”,向第1域10指示该软件的动作(例如停止执行)。另外,执行限制部123,当判定为并非正在执行时,也根据与该软件ID对应的并非正在执行时的“可控制时指示信息(例如禁止执行)”,向第1域10指示该软件的动作(例如禁止执行)。
然后,执行限制部123,在根据“可控制时指示信息”对第1域10进行指示后,在第1域10不遵从该指示的情况下,参照上述执行顺序存储部111,根据在执行顺序存储部111中存储的正在执行或并非正在执行时的“不可控制时指示信息”,控制第1域10的动作。
具体而言,执行限制部123,在第1域10正在执行该软件、并且第1域10不遵从该指示的情况下,根据在执行顺序存储部111中与该软件ID对应存储的正在执行时的“不可控制时指示信息(例如删除)”,向第1域10指示动作(例如删除)。另外,执行限制部123,在第1域10并非是正在执行该软件(并非正在执行)、并且不遵从该指示的情况下,也根据与该软件ID对应存储的并非正在执行时的“不可控制时指示信息(例如删除)”,向第1域10指示动作(例如删除)。此外,执行限制部123,在执行顺序存储部111中与该软件ID对应的“不可控制时指示信息”例如是“删除”的情况下,可以不向第1域10指示“删除”,而立即执行该软件的删除。
另外,执行限制部123,在执行顺序存储部111中与该软件ID对应的“不可控制时指示信息”例如是“复位”的情况下,将第1域10强制复位。此外,执行限制部123也可以执行在“删除”该软件后,将第1域10“复位”等两个处理。
如上所述,在本实施方式的第2域20中,执行限制部123根据第1域10是否遵从指示(是否可以控制),进行软件的停止执行(或禁止执行)、或软件的删除、第1域10的复位等,因此根据第1域10中的软件的执行状态确保安全性,所以能恰当地进行控制。
另外,在本实施方式的第2域20中,执行限制部123在第1域10中检查出异常的情况下、或在第2域20中检查出异常的情况下,将第1域10或第2域20复位,因此可以确保终端装置1的安全性。
[第3实施方式]
(第3实施方式的终端装置的结构)
接下来,着眼于和上述第1实施方式的不同点,说明本发明的第3实施方式的终端装置1的结构。如上所述,将第2域20应用于DSP或加密加速器等以支援第1域10为目的的第2域20。因此,有时从第1域10为了第2域20的本来目的而调用第2域20。因而,第2域20实现与第2域20的本来的处理相同的处理。假定在加密加速器中导入第2域20时,在第2域20中可以作为任务或进程来实现从第1域接受的加密处理。图8是表示在本实施方式的终端装置1中,通过第2域20执行的处理的对象发生迁移的情形的图像。
例如,在第2域20正在检查软件的情况下(步骤S201),当从第1域10发出例如执行预定的应用程序等本来的处理请求时,通过第2域20的内核而被调度(步骤S203)。此时,第2域20通过将检查处理的优先度设定得较低,立即根据请求切换到加密处理等第2域20本来的应用程序的处理动作(步骤S205)。另外,第2域20,当完成所请求的应用程序的处理时,通过内核调度检查处理,再次重新开始软件的检查处理的任务(步骤S207)。
于是,在第2域中,不对本来的处理产生影响,也无损于对请求了处理的第1域10的应答性,因此可以使使用终端装置1时的影响达到最小限度。
[其它实施方式]
本发明通过上述实施方式进行了记载,但构成本公开的一部分的论述以及附图不应理解为对本发明进行限定。根据本公开,本领域技术人员可以明了各种替代实施方式、实施例以及运用技术。
例如,本发明的第2域20未对处理器或RAM等硬件进行特别的限制,因此也可以向多核处理器等通用的处理器导入第2域。在这种情况下,通过在与多核相对应的通用处理器中导入本发明的第2域20,在PC或服务器等中也可以不对正常利用造成影响地维持安全性。
于是,本发明当然包含在此未记载的各种实施方式等。另外,各实施方式也可以进行组合。从而,根据上述说明,本发明的技术范围仅通过妥当的请求保护的范围中的发明特定事项而决定。
此外,日本专利申请第2007-031380号(2007年2月9日申请)的全部内容,通过参照被并入本说明书。
产业上的可利用性
如上所述,根据本发明的终端装置以及软件检查方法,在终端装置中,可以在确保安全性的同时,通过软件的检查来减少OS或应用程序的启动时间增加,因此十分有用。

Claims (14)

1.一种终端装置,其特征在于,
具有执行多个软件的第1域,以及与所述第1域独立地动作、检查所述多个软件的每一个是否安全的第2域,
所述第2域具有:
执行顺序存储部,其存储通过所述第1域执行的所述多个软件的执行优先顺序;
软件检查部,其按照存储在所述执行顺序存储部中的所述执行优先顺序,检查所述多个软件是否安全;以及
执行限制部,其在所述多个软件的全部检查结束之前,限制通过所述第1域执行所述多个软件内得到不安全的检查结果的软件,
其中,所述第1域和第2域在物理上、逻辑上是由处理器、RAM构成的1个独立的处理核;并且
其中,在所述终端装置中,所述第1域和第2域不是运行一个OS的域,而分别独立且并行地运行不同的OS,从而当在所述第1域的软件中确认了异常时,所述第2域进行所述终端装置的启动的中止或复位,或者在所述第1域的动作过程中仅对异常的软件进行停止执行或禁止执行。
2.根据权利要求1所述的终端装置,其特征在于,
所述执行顺序存储部,将用于识别所述第1域的第1域识别信息或用于识别所述第2域的第2域识别信息中的某一个、与所述多个软件的每一个对应起来存储,
所述第2域的所述软件检查部,按照所述执行优先顺序,检查与所述第2域识别信息对应存储的软件是否安全,
所述第1域具备用于检查与所述第1域识别信息对应存储的软件是否安全的副软件检查部。
3.根据权利要求2所述的终端装置,其特征在于,
所述执行顺序存储部,将表示所述终端装置的启动时和所述终端装置的启动后中至少一方的时刻的时刻信息、和所述多个软件的每一个对应起来存储,
所述软件检查部和所述副软件检查部,按照由所述时刻信息表示的时刻,检查所述软件是否安全。
4.根据权利要求1至3中任意一项所述的终端装置,其特征在于,
所述第2域还具备:安全软件列表,其存储所述多个软件内、在所述软件检查部中确认为安全的软件的识别信息,
所述第1域在执行预定的软件前,判定所述预定的软件的识别信息是否存储在所述安全软件列表中,当所述预定的软件的识别信息未存储在所述安全软件列表中时,限制所述预定的软件的执行。
5.根据权利要求1所述的终端装置,其特征在于,
在所述多个软件中包含通过所述第1域始终执行的第1软件、和以预定频率执行的第2软件,
所述执行顺序存储部,与所述第2软件的所述执行优先顺序相比,优先存储了所述第1软件的所述执行优先顺序,
所述软件检查部按照所述执行优先顺序,使所述第1软件优先于所述第2软件来检查是否安全。
6.根据权利要求5所述的终端装置,其特征在于,
所述第2域还具备:
执行频率取得部,其取得通过所述第1域执行的所述第2软件的执行频率;以及
执行频率存储部,其将所取得的所述执行频率和所述第2软件对应起来存储,
所述软件检查部,将存储在所述执行频率存储部中的所述执行频率作为所述执行优先顺序,检查所述第2软件是否安全。
7.根据权利要求4所述的终端装置,其特征在于,
所述第2域还具备:非安全软件列表,其存储所述多个软件内、在所述软件检查部中确认为不安全的软件的识别信息。
8.根据权利要求1所述的终端装置,其特征在于,
所述软件检查部每隔预定的期间检查所述多个软件是否安全。
9.根据权利要求7所述的终端装置,其特征在于,
所述第1域发送用于请求所述多个软件内被检查过的软件的检查结果的结果请求信息,
所述第2域还具备:结果通知部,其在从所述第1域接收到所述结果请求信息时,向所述第1域发送结果应答信息,该结果应答信息包含存储在所述安全软件列表中的所述识别信息、和存储在所述非安全软件列表中的所述识别信息,
所述第1域,根据从所述结果通知部接收到的所述结果应答信息,仅执行通过所述软件检查部确认为安全的所述软件。
10.根据权利要求9所述的终端装置,其特征在于,
所述第2域还具备:请求接收部,其从所述第1域接收用于请求检查所述软件的检查请求信息,
所述第1域,在从所述结果通知部通知的所述结果应答信息中没有包含从现在起开始执行的特定软件的识别信息的情况下,向所述请求接收部发送用于请求检查所述特定软件的所述检查请求信息,
所述请求接收部,在接收到所述检查请求信息时,在所述软件检查部正在检查与所述特定软件不同的其它软件的情况下,使所述其它软件的检查中断,
所述软件检查部,使所述特定软件优先来检查所述特定软件是否安全。
11.根据权利要求10所述的终端装置,其特征在于,
所述第1域,在发送了所述检查请求信息时,停止所述特定软件的执行,直到接收到来自所述执行限制部的指示为止,
所述执行限制部,当通过所述软件检查部确认为所述特定软件安全的情况下,指示所述第1域执行所述特定软件。
12.根据权利要求10所述的终端装置,其特征在于,
所述第1域,在向所述请求接收部发送了所述检查请求信息时,开始所述特定软件的执行,
所述执行限制部,在通过所述软件检查部确认为所述特定软件不安全的情况下,限制所述第1域执行所述特定软件。
13.根据权利要求1所述的终端装置,其特征在于,
所述执行限制部,在通过所述软件检查部结束所述多个软件是否安全的检查之前,限制所述第1域执行所述多个软件。
14.一种终端装置中的软件检查方法,该终端装置具有执行多个软件的第1域、以及检查所述多个软件的每一个是否安全的第2域,该软件检查方法的特征在于,
包含以下步骤:
顺序存储步骤,所述第2域存储通过所述第1域执行的所述多个软件的执行优先顺序;
检查步骤,所述第2域按照所述执行优先顺序检查所述多个软件是否安全;以及
限制步骤,所述第2域在所述多个软件的全部检查结束之前,限制通过所述第1域执行所述多个软件内得到不安全的检查结果的软件,
其中,所述第1域和第2域在物理上、逻辑上是由处理器、RAM构成的1个独立的处理核;并且
其中,在所述终端装置中,所述第1域和第2域不是运行一个OS的域,而分别独立且并行地运行不同的OS,从而当在所述第1域的软件中确认了异常时,所述第2域进行所述终端装置的启动的中止或复位,或者在所述第1域的动作过程中仅对异常的软件进行停止执行或禁止执行。
CN2008800045753A 2007-02-09 2008-02-12 终端装置以及软件检查方法 Expired - Fee Related CN101606164B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007031380 2007-02-09
JP031380/2007 2007-02-09
PCT/JP2008/052276 WO2008096891A1 (ja) 2007-02-09 2008-02-12 端末装置及びソフトウエア検査方法

Publications (2)

Publication Number Publication Date
CN101606164A CN101606164A (zh) 2009-12-16
CN101606164B true CN101606164B (zh) 2013-03-27

Family

ID=39681786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800045753A Expired - Fee Related CN101606164B (zh) 2007-02-09 2008-02-12 终端装置以及软件检查方法

Country Status (5)

Country Link
US (1) US8392988B2 (zh)
EP (1) EP2120176A4 (zh)
JP (1) JP4903818B2 (zh)
CN (1) CN101606164B (zh)
WO (1) WO2008096891A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2120176A4 (en) * 2007-02-09 2016-05-18 Ntt Docomo Inc TERMINAL DEVICE AND SOFTWARE INSPECTION METHOD
JP5249736B2 (ja) * 2008-12-09 2013-07-31 株式会社日立ハイテクノロジーズ 基板製造・検査装置およびそのウイルスチェック方法
WO2011066434A2 (en) 2009-11-27 2011-06-03 Google Inc. Client-server input method editor architecture
JP2012088815A (ja) * 2010-10-15 2012-05-10 Toshiba Corp マイクロプロセッサ動作監視システム
US20130305228A1 (en) * 2012-05-10 2013-11-14 Mocana Corporation Reducing application startup time through algorithm validation and selection
JP5974729B2 (ja) * 2012-08-20 2016-08-23 コニカミノルタ株式会社 携帯情報装置、画像処理装置、情報保護方法および情報保護プログラム
JP6032176B2 (ja) 2012-12-19 2016-11-24 株式会社デンソー 車両用表示制御装置
JP6119345B2 (ja) * 2013-03-21 2017-04-26 大日本印刷株式会社 Icチップ、icカード、検証処理方法、及び検証処理プログラム
KR101535792B1 (ko) * 2013-07-18 2015-07-10 포항공과대학교 산학협력단 운영체제 구성 장치 및 방법
CN104143067B (zh) * 2014-08-05 2017-02-15 广东欧珀移动通信有限公司 一种终端设备及软件共享机制的实现方法
US11416606B2 (en) * 2014-10-24 2022-08-16 Musarubra Us Llc Agent presence for self-healing
CN104778411B (zh) * 2015-04-22 2017-10-27 百度在线网络技术(北京)有限公司 病毒扫描方法和病毒扫描装置
WO2017071763A1 (en) * 2015-10-29 2017-05-04 Hewlett-Packard Development Company, L.P. Checking a security value calculated for a part of a program code
CN106603498B (zh) * 2016-11-15 2020-01-10 华为技术有限公司 事件上报方法及装置
JP6690020B2 (ja) * 2017-01-06 2020-04-28 日立オートモティブシステムズ株式会社 撮像装置
WO2018160341A1 (en) * 2017-03-03 2018-09-07 Google Llc Secure code jump and execution gating
EP3729767A1 (en) * 2017-12-20 2020-10-28 Dts Iot B.V. Devices, methods and systems to augment the security environment of internet-capable consumer devices
EP3570197A1 (en) * 2018-05-16 2019-11-20 Gemalto Sa Electronic system and method for preventing malicious actions on a processing system of the electronic system
US20210216640A1 (en) * 2020-01-10 2021-07-15 Dell Products L.P. Systems and methods for hardware root of trust with protected redundant memory for authentication failure scenarios
JP7249968B2 (ja) * 2020-03-09 2023-03-31 株式会社東芝 情報処理装置およびストレージ

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263431B1 (en) * 1998-12-31 2001-07-17 Intle Corporation Operating system bootstrap security mechanism
EP1703430A1 (en) * 2005-03-18 2006-09-20 Hewlett-Packard Development Company, L.P. Computer security method and system

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141412A (en) * 1994-06-01 2000-10-31 Davox Corporation Unscheduled event task processing system
US6141756A (en) 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
US6775778B1 (en) 1998-05-29 2004-08-10 Texas Instruments Incorporated Secure computing device having boot read only memory verification of program code
US6694434B1 (en) * 1998-12-23 2004-02-17 Entrust Technologies Limited Method and apparatus for controlling program execution and program distribution
WO2000072149A1 (en) 1999-05-25 2000-11-30 Motorola Inc. Pre-verification of applications in mobile computing
US6785808B2 (en) * 2000-02-04 2004-08-31 Insyde Software, Inc. System and method for altering an operating system start-up sequence prior to operating system loading
US6711675B1 (en) 2000-02-11 2004-03-23 Intel Corporation Protected boot flow
US7028299B1 (en) * 2000-06-30 2006-04-11 Intel Corporation Task-based multiprocessing system
US6802012B1 (en) * 2000-10-03 2004-10-05 Networks Associates Technology, Inc. Scanning computer files for unwanted properties
US7673343B1 (en) * 2001-07-26 2010-03-02 Mcafee, Inc. Anti-virus scanning co-processor
US7340774B2 (en) * 2001-10-15 2008-03-04 Mcafee, Inc. Malware scanning as a low priority task
US7103913B2 (en) * 2002-05-08 2006-09-05 International Business Machines Corporation Method and apparatus for determination of the non-replicative behavior of a malicious program
US6907522B2 (en) 2002-06-07 2005-06-14 Microsoft Corporation Use of hashing in a secure boot loader
JP4015898B2 (ja) * 2002-07-26 2007-11-28 松下電器産業株式会社 プログラム実行装置
JP4501349B2 (ja) 2003-03-13 2010-07-14 ソニー株式会社 システムモジュール実行装置
US7549055B2 (en) * 2003-05-19 2009-06-16 Intel Corporation Pre-boot firmware based virus scanner
US20060195847A1 (en) * 2003-12-04 2006-08-31 Katsushige Amano Task scheduling device, method, program, recording medium, and transmission medium for priority-driven periodic process scheduling
JP2007226277A (ja) * 2004-04-02 2007-09-06 Matsushita Electric Ind Co Ltd 仮想マシン改ざん検査方法、および仮想マシン改ざん検査装置
US7370188B2 (en) * 2004-05-17 2008-05-06 Intel Corporation Input/output scanning
JP4447977B2 (ja) 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US7861296B2 (en) * 2005-06-16 2010-12-28 Microsoft Corporation System and method for efficiently scanning a file for malware
TWI286702B (en) * 2005-07-22 2007-09-11 Mitac Technology Corp Method of executing computer programs following a predetermined priority order
JP2007031380A (ja) 2005-07-28 2007-02-08 Nichi-Iko Pharmaceutical Co Ltd アジスロマイシン水和物含有製剤
US9235703B2 (en) * 2005-09-30 2016-01-12 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Virus scanning in a computer system
JP2007133723A (ja) * 2005-11-11 2007-05-31 Hitachi Ltd マルチプロセッサ、タスクスケジューリング方法、及びコンパイラ
US8572738B2 (en) * 2006-12-07 2013-10-29 International Business Machines Corporation On demand virus scan
EP2120176A4 (en) * 2007-02-09 2016-05-18 Ntt Docomo Inc TERMINAL DEVICE AND SOFTWARE INSPECTION METHOD
US8127358B1 (en) * 2007-05-30 2012-02-28 Trend Micro Incorporated Thin client for computer security applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263431B1 (en) * 1998-12-31 2001-07-17 Intle Corporation Operating system bootstrap security mechanism
EP1703430A1 (en) * 2005-03-18 2006-09-20 Hewlett-Packard Development Company, L.P. Computer security method and system

Also Published As

Publication number Publication date
CN101606164A (zh) 2009-12-16
US8392988B2 (en) 2013-03-05
JP4903818B2 (ja) 2012-03-28
WO2008096891A1 (ja) 2008-08-14
EP2120176A4 (en) 2016-05-18
EP2120176A1 (en) 2009-11-18
US20100107246A1 (en) 2010-04-29
JPWO2008096891A1 (ja) 2010-05-27

Similar Documents

Publication Publication Date Title
CN101606164B (zh) 终端装置以及软件检查方法
US8898666B2 (en) Virtual machine system and virtual machine system control method for controlling program execution on a plurality of processors that have a plurality of privileged modes
KR101835250B1 (ko) 트랜잭셔널 메모리를 사용한 비인가 메모리 수정 및 액세스의 검출
US9703957B2 (en) Atomic detection and repair of kernel memory
TWI612439B (zh) 用以偵測未經授權之記憶體存取的計算裝置、方法及機器可讀儲存媒體
US20050240701A1 (en) Interrupt control apparatus
GB2478733A (en) Stack management with multiple levels of exception
US10948967B2 (en) Mobile device virtualization solution based on bare-metal hypervisor with optimal resource usage and power consumption
US10380336B2 (en) Information-processing device, information-processing method, and recording medium that block intrusion of malicious program to kernel
JP6615726B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN104375890A (zh) 用于执行安全嵌入式容器的处理器扩展
EP2902937A1 (en) Method, apparatus, and system for triggering virtual machine introspection
CN104143065A (zh) 安全智能终端设备、及信息处理方法
EP3308314B1 (en) Secure mode state data access tracking
JP2009009232A (ja) コンピュータとカーネル保護方法並びにコンピュータソフトウエア
CN107643943A (zh) 一种任务栈的管理方法及装置
EP2533131B1 (en) Management of the interaction between security and operating system power management unit
JP2006048506A (ja) プロセッサ、メモリ管理システム及びメモリ管理プログラム
US11726811B2 (en) Parallel context switching for interrupt handling
JP2018036695A (ja) 情報処理監視装置、情報処理監視方法、監視プログラム、記録媒体及び情報処理装置
CN101477489B (zh) 一种保存操作系统信息的方法、装置及系统
JP4611659B2 (ja) 不正アクセス検出装置、不正アクセス検出方法、プログラム
CN115185359A (zh) 一种机密计算协处理器系统及其掉电保护方法
WO1990005951A1 (en) Method of handling unintended software interrupt exceptions
CN115993996A (zh) 一种基于rtos实现休眠模式的方法和系统

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

Granted publication date: 20130327

Termination date: 20210212

CF01 Termination of patent right due to non-payment of annual fee