【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及检查计算机程序的领域;更具体地,本专利技术涉及执行静态和动态的检查,其中,静态地验证计算机程序中关于动态检查的信息。
技术介绍
程序由本文中被称为代码生成者的个人创建,并由本文中被称为代码消费者的个人运行。代码消费者不希望运行由代码生成者创建的不可信程序,这是因为程序经由运行时间库与代码消费者的计算机进行通信,而这提供了访问诸如文件和网络之类资源的功能。代码消费者希望确保该程序是安全的,即它不破坏用户数据、不将私人数据输出到外部源并且不滥用系统资源。现已存在多种方法用于确保计算机程序的安全。这些方法包括计算隔离、动态检查和静态检查。关于计算隔离,安全问题的一种解决方案是隔离计算设备,禁止任意新代码或通信信道。因为它限制了设备的实用性,该解决方案不令人满意。动态检查是指在每一个可能不安全的操作发生之前检查它的过程。例如,如果安全策略禁止访问特定目录,则运行时间(RT)库或RT监视器必须检查每一个文件访问。动态检查具有两个优点。首先,它是准确的。即,它仅检测程序实际上将要进行的安全侵害。如果检查器检查到侵害,则假如用户关闭了该检查器,该程序才实际进行侵害。其次,它是简单的。整个检查器由位于运行时间库中与适当例程一起的简单检查组成。然而,动态检查有两个基本的缺点。首先,因为它在最后的可能时刻处检查错误,所以它较迟。较迟是一个问题,因为没有警告地终止程序会令用户吃惊或迷惑或使她丢失重要数据。此外,当终止程序时,难以恢复该程序已经分配的操作系统(OS)资源,这将不利地影响其它运行程序的性能。其次,动态检查是低效的。因为每一个操作在执行之前都执行检查 ...
【技术保护点】
一种方法,包括: 接收程序代码;以及 静态地验证程序代码中关于一个或多个动态检查的信息,程序代码中的所述一个或多个动态检查用于检查程序代码中的操作。
【技术特征摘要】
【国外来华专利技术】US 2003-12-23 60/532,359;US 2004-12-21 11/019,8681.一种方法,包括接收程序代码;以及静态地验证程序代码中关于一个或多个动态检查的信息,程序代码中的所述一个或多个动态检查用于检查程序代码中的操作。2.根据权利要求1所述的方法,其中,至少一个所述动态检查确定操作是否不安全。3.根据权利要求1所述的方法,其中,在运行时间之前执行静态地验证关于一个或多个动态检查的信息。4.根据权利要求1所述的方法,其中,在运行时间之前执行静态地验证程序代码中关于一个或多个动态检查的信息是用于检查安全性。5.根据权利要求1所述的方法,其中,所述一个或多个动态检查中的至少一个包括用于规定资源保留的一个或多个注释。6.根据权利要求5所述的方法,其中,资源保留与安全地执行程序代码相关。7.根据权利要求1所述的方法,其中,静态地验证关于一个或多个动态检查的信息包括检查程序代码是否在运行时间期间使用了多于在执行之前程序代码已经保留的一个或多个资源的资源。8.根据权利要求1所述的方法,其中,静态地验证关于一个或多个动态检查的信息的步骤包括检查程序代码是否使用多于预定资源量的资源。9.根据权利要求1所述的方法,其中,静态地验证程序代码中关于一个或多个动态检查的信息包括静态地检查程序代码中用于保留一个或多个资源的一个或多个第一集合操作,以确定由所述一个或多个操作保留的一个或多个资源是否足以应付在程序代码中消耗资源的所有运行时间操作。10.根据权利要求1所述的方法,还包括将一个或多个动态检查添加到程序代码中。11.根据权利要求1所述的方法,还包括将一个或多个注释添加到程序代码中,所述一个或多个注释中的至少一个包括用于保留一部分程序代码要使用的资源的操作。12.根据权利要求11所述的方法,还包括选择至少一个静态检查和至少一个动态检查的组合;以及将注释添加到程序代码,用以表示状态和动态检查。13.根据权利要求1所述的方法,还包括通过在运行时间期间调用动态检查,执行程序代码的动态检查。14.根据权利要求13所述的方法,还包括响应确定资源使用率超出限度,限制程序代码的资源使用率。15.根据权利要求14所述的方法,其中,限制程序代码的资源使用率包括暂停程序代码的执行。16.根据权利要求13所述的方法,还包括响应确定资源使用率超出限度,产生异常。17.根据权利要求13所述的方法,还包括响应确定资源使用率超出限度,产生中断。18.根据权利要求1所述的方法,其中,所述一个或多个动态检查中的至少一个是用于检查资源的使用率。19.根据权利要求18所述的方法,其中,资源包括物理资源。20.根据权利要求19所述的方法,其中,物理资源包括从由以下组成的组中选出的一个中央处理单元(CPU)指令数、存储空间、盘空间、网络带宽、设备硬件操作以及设备软件操作。21.根据权利要求18所述的方法,其中,资源包括虚拟资源。22.根据权利要求21所述的方法,其中,虚拟资源包括从由以下组成的组中选出的一个文件句柄、进程以及数据库连接。23.一种制造物品,具有一个或多个用于存储指令的可记录介质,当由系统执行时,所述物品使系统执行一种方法,所述方法包括接收程序代码;以及静态地验证程序代码中关于一个或多个动态检查的信息,程序代码中所述一个或多个动态检查用于检查程序代码中的操作。24.根据权利要求23所述的制造物品,其中,至少一个所述动态检查确定操作是否不安全。25.根据权利要求23所述的制造物品,其中,在运行时间之前执行静态地验证关于一个或多个动态检查的信息。26.根据权利要求23所述的制造物品,其中,在运行时间之前静态地验证程序代码中关于一个或多个动态检查的信息是用于检查安全性。27.根据权利要求23所述的制造物品,其中,所述一个或多个动态检查中的至少一个包括用于规定资源保留的一个或多个注释。28.根据权利要求27所述的制造物品,其中,资源保留与安全地执行程序代码相关。29.根据权利要求23所述的制造物品,其中,静态地验证关于一个或多个动态检查的信息的步骤包括检查程序代码是否在运行时间期间使用了多于在执行之前程序代码已经保留的一个或多个资源的资源。30.根据权利要求23所述的制造物品,其中,静态地验证关于一个或多个动态检查的信息包括检查程序代码是否使用了多于预定资源量的资源。31.根据权利要求23所述的制造物品,其中,静态地验证程序代码中关于一个或多个动态检查的信息包括静态地检查程序代码中用于保留一个或多个资源的一个或多个第一集合操作,以确定由所述一个或多个操作保留的一个或多个资源是否足以应付程序代码中消耗资源的所有运行时间操作。32.根据权利要求23所述的制造物品,其中,所述方法还包括将一个或多个动态检查添加到程序代...
【专利技术属性】
技术研发人员:阿贾伊钱德尔,纳伊姆伊斯兰,戴维埃斯皮诺萨,乔治尼古拉,彼得李,
申请(专利权)人:株式会社NTT都科摩,
类型:发明
国别省市:JP[日本]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。