计算机软件分析系统技术方案

技术编号:8532760 阅读:219 留言:0更新日期:2013-04-04 15:43
本发明专利技术涉及一种计算机软件分析系统、客户端计算机、控制客户端计算机的操作的方法以及用于其的操作程序。当对计算机软件进行分析时,维护源代码的安全性。为了实现这个,在客户端计算机中使待经受分析的计算机软件混淆。将混淆的计算机软件传送给服务器计算机。在服务器计算机中执行软件分析,并且将表示该分析的结果的数据传送给客户端计算机。由于表示分析的结果的数据已如此被混淆,所以在服务器计算机中不能查明计算机软件的内容。在客户端计算机中,将表示分析的结果的混淆数据恢复成原始数据。

【技术实现步骤摘要】

本专利技术涉及计算机软件分析系统、客户端计算机、控制客户端计算机的操作的方法以及用于操作客户端计算机的程序。
技术介绍
近年来,用于分析软件的技术已日趋成熟。例如,典型的技术涉及从源代码输出质量相关数据以及在提高质量的活动中利用该数据。这样的技术是普遍适用的,以及鉴于最近趋势走向是注重软件的内部质量,据预测,将开发各种各样这样的技术和服务。在软件分析技术中,对于软件分析本身需要大量的计算机资源,但是没有使这些资源关于特定软件持续操作。此外,在软件被传送的情况下,所传送的数据本身遵守源代码(文本数据),以及与图像数据和移动图像数据相比,所涉及的数据量很小。鉴于这些特征,软件分析非常有助于朝向云计算(基于网络的计算机资源的有效利用)的最近趋势。出于这个原因,所认为的是,使用基于云的软件分析系统来分析源代码的应用将在未来得到广泛使用。这样的软件分析包括一个布置,其中客户端将源代码传送给服务器,以及服务器执行分析并且将分析结果发送回客户端(参见专利文献I);以及另一个布置,其中客户端生成质量测量数据并且将该数据传送给服务器,以及服务器基于该质量测量数据来生成评估数据并且将该评估数据发送回客户端(参见专利文献2)。另一方面,混淆(obfuscation)被认为是维护源代码的安全性的手段。出于阻碍第三方软件分析的目的,混淆通常将加扰形式应用到软件代码到将不会改变其行为的程度。例如,反向利用易于理解的名称附加到源代码描述中的实践来用难以理解的名称替代这些名称,从而使分析复杂化(参见专利文献3)。此外,存在用于以下的技术阻止包括在程序中的技术保密的泄漏(参见专利文献4);在软件开发期间对协议的遵守进行监视(参见专利文献5);识别程序问题等(参见专利文献6)以及在对象级实现隐藏(参见专利文献7)。[专利文献I]日本专利申请特开No.2004-240477[专利文献2]日本专利申请特开No.2001-75928[专利文献3] USP 6,102,966[专利文献4]日本专利申请特开No.2004-133793[专利文献5]日本专利申请特开No.2003-131875[专利文献6]日本专利申请特开No.2003-114813[专利文献7]日本专利申请特开No.2003-280754然而,将源代码传送给基于云的服务器意味着通过公共网络传送源代码。尽管对源代码进行加密是可想到的,但是分析服务器对源代码进行解密的事实意味着服务器将得知源代码的内容。在专利文献I中描述的现有技术将不确保源代码的安全性。在专利文献2中阐述的系统具有多个问题。例如,要求客户端具有质量测量功能,以及必须对在客户端和服务器之间的特定交换数据格式达成协议。另外,没有考虑已从服务器被发送回的数据与原始源代码的详细核对。此外,在期望添加分析所需的软件信息的情况下,必须修改客户端。在分析所需的软件信息已被添加的情况下,源代码的安全性受到影响。在专利文献3中描述的布置具有某些问题,即没有考虑与服务器/客户端型分析系统的联接的事实以及没有考虑混淆名称的恢复的事实。此外,专利文献4至7中描述的布置,没有考虑能够维护源代码的安全性的服务器/客户端型分析系统。
技术实现思路
本专利技术的第一目的是,提供能够维护源代码的安全性的服务器-客户端软件分析系统。第二目的是,使客户端计算机不必具有分析装置。第三目的是,使得没有必要对用于将源代码从客户端计算机传送到服务器计算机的特定数据格式达成一致。例如,第三目的是,对其进行布置,使得通过使服务器计算机不必具有用于实现源代码安全性的特定装置,服务器计算机能够与没有考虑源代码安全性的系统相组合。第四目的是,对其进行布置,使得能够针对原始源代码容易地检查从服务器计算机发送回的数据。第五目的是,对其进行布置,使得对分析内容的添加和改变能够基本上由服务器计算机应对。第六目的是,对其进行布置,使得即使对分析装置进行添加或改变,也可以维护源代码安全性。第七目的是,对其进行布置,使得能够容易地组合各种已存在的软件混淆装置。本专利技术涉及包括客户端计算机和服务器计算机的计算机软件分析系统。客户端计算机包括计算机软件混淆设备(计算机软件混淆装置),该计算机软件混淆设备用于使计算机软件混淆以经受分析;以及混淆的计算机软件传送设备(混淆的计算机软件传送装置),该混淆的计算机软件传送设备用于将已由计算机软件混淆设备混淆的计算机软件传送给服务器计算机。服务器计算机包括计算机软件分析设备(计算机软件分析装置),该计算机软件分析设备用于对已从客户端计算机的混淆的计算机软件传送设备传送的混淆的计算机软件进行分析,并且生成混淆的分析结果数据;以及分析结果数据传送设备(分析结果数据传送装置),该分析结果数据传送设备用于将已由计算机软件分析设备生成的混淆的分析结果数据传送给客户端计算机。客户端计算机进一步包括恢复设备(恢复装置),该恢复设备用于将已从服务器计算机的分析结果数据传送设备传送的混淆的分析结果数据的至少部分恢复成在混淆之前占优的分析结果数据。本专利技术还提供构成上述计算机软件分析系统的客户端计算机。具体地,该客户端计算机包括计算机软件混淆设备,该计算机软件混淆设备用于使计算机软件混淆以经受分析;混淆的计算机软件传送设备,该混淆的计算机软件传送设备用于将已由计算机软件混淆设备混淆的计算机软件传送给服务器计算机;接收设备(接收装置),该接收设备用于接收混淆的分析结果数据,该混淆的分析结果数据通过在服务器计算机中对从混淆的计算机软件传送设备传送的混淆的计算机软件进行分析来生成并且从服务器计算机进行传送;以及恢复设备,该恢复设备用于将已由接收设备接收到的混淆的分析结果数据的至少部分恢复成在混淆之前占优的分析结果数据。此外,本专利技术提供适于上述客户端计算机的操作控制方法。具体地,本专利技术提供控制客户端计算机的操作的方法,包括以下步骤混淆设备使计算机软件混淆以经受分析;混淆的计算机软件传送设备将已由计算机软件混淆设备混淆的计算机软件传送给服务器计算机;接收设备接收混淆的分析结果数据,该混淆的分析结果数据通过在服务器计算机中对从混淆的计算机软件传送设备传送的混淆的计算机软件进行分析来生成并且从服务器计算机进行传送;以及恢复设备将已由接收设备接收到的混淆的分析结果数据的至少部分恢复成在混淆之前占优的分析结果数据。本专利技术还提供用于控制上述客户端计算机的操作的程序。可以采用其中提供存储在记录介质中的这样的程序的布置。按照本专利技术,在客户端计算机中使待被分析的计算机软件混淆。将混淆的计算机软件从客户端计算机传送给服务器计算机。当将混淆的计算机软件从客户端计算机传送给服务器计算机时,服务器计算机对混淆的计算机软件的质量进行分析并且生成混淆的分析结果数据。将混淆的分析结果数据从服务器计算机传送给客户端计算机。将混淆的分析结果数据的至少部分恢复成在混淆之前占优的分析结果数据。由于已使在服务器计算机中获取的分析结果数据混淆,所以可以阻止计算机软件的内容在服务器计算机端被查明。因此,可以维护计算机软件的安全性。由于在服务器计算机中执行对计算机软件的分析,所以不必向客户端计算机提供计算机软件分析设备的功能。不必向服务器计算机提供特殊布置以便维护计算机软件的安全性。由于客户端计算机已使计算机软件混淆,所以其本文档来自技高网
...

【技术保护点】
一种包括客户端计算机和服务器计算机的计算机软件分析系统,其中所述客户端计算机包括:计算机软件混淆设备,所述计算机软件混淆设备用于使计算机软件混淆以经受分析;以及混淆的计算机软件传送设备,所述混淆的计算机软件传送设备用于将已由所述计算机软件混淆设备混淆的所述计算机软件传送给所述服务器计算机;以及所述服务器计算机包括:计算机软件分析设备,所述计算机软件分析设备用于对已从所述客户端计算机的所述混淆的计算机软件传送设备传送的所述混淆的计算机软件进行分析,并且生成混淆的分析结果数据;以及分析结果数据传送设备,所述分析结果数据传送设备用于将已由所述计算机软件分析设备生成的所述混淆的分析结果数据传送给所述客户端计算机;所述客户端计算机进一步包括:恢复设备,所述恢复设备用于将已从所述服务器计算机的所述分析结果数据传送设备传送的所述混淆的分析结果数据的至少部分恢复成在混淆之前占优的分析结果数据。

【技术特征摘要】
2011.09.14 JP 2011-2003401.一种包括客户端计算机和服务器计算机的计算机软件分析系统,其中所述客户端计算机包括计算机软件混淆设备,所述计算机软件混淆设备用于使计算机软件混淆以经受分析;以及混淆的计算机软件传送设备,所述混淆的计算机软件传送设备用于将已由所述计算机软件混淆设备混淆的所述计算机软件传送给所述服务器计算机;以及所述服务器计算机包括计算机软件分析设备,所述计算机软件分析设备用于对已从所述客户端计算机的所述混淆的计算机软件传送设备传送的所述混淆的计算机软件进行分析,并且生成混淆的分析结果数据;以及分析结果数据传送设备,所述分析结果数据传送设备用于将已由所述计算机软件分析设备生成的所述混淆的分析结果数据传送给所述客户端计算机;所述客户端计算机进一步包括恢复设备,所述恢复设备用于将已从所述服务器计算机的所述分析结果数据传送设备传送的所述混淆的分析结果数据的至少部分恢复成在混淆之前占优的分析结果数据。2.根据权利要求1所述的系统,其中所述客户端计算机包括输出设备,所述输出设备用于输出已由所述计算机软件混淆设备混淆的所述计算机软件。3.根据权利要求1所述的系统,其中所述客户端计算机进一步包括分析控制数据传送设备,所述分析控制数据传送设备用于将分析控制数据传送给所述服务器计算机,所述分析控制数据控制在所述服务器计算机的所述计算机软件分析设备中对所述混淆的计算机软件的分析;以及所述服务器计算机的所述计算机软件分析设备通过利用从所述客户端计算机的所述分析控制数据传送设备传送的所述分析控制数据来对所述混淆的计算机软件进行分析。4.根据权利要求3所述的系统,其中所述客户端计算机进一步包括指派设备,所述指派设备用于在所述分析控制数据中指派需要混淆的分析控制数据;以及分析控制数据混淆设备,所述分析控制数据混淆设备用于使所述指派设备所指派的所述分析控制数据混淆;以及所述客户端计算机的所述分析控制数据传送设备将所述分析控制数据混淆设备混淆的所述分析控制数据和尚未被混淆的所述分析控制数据中的至少一个传送给所述服务器计算机。5.根据权利要求1所述的系统,进一步包括分析结果控制数据输入设备,所述分析结果控制数据输入设备用于输入控制所述客户端计算机所接收到的所述分析结果数据的分析结果控制数据;以及分析结果数据控制设备,所述分析结果数据控制设备用于基于已从所述分析结果控制数据输入设备输入的所述分析结果控制数据,来控制所述混淆的分析结果数据或所述恢复设备所恢复的分析结果数据。6.根据权利要求1所述的系统,其中所述客户端计算机进一步包括混淆方法选择设备,所述混淆方法选择设备用于从多个混淆方法之中选择一个混淆方法;以及所述客户端计算机的所述计算机软件混淆设备通过所述混淆方法选择设备所选择的所述混淆方法来使所述计算机软件混淆。7.根据权利要求1所述的系统,其中所述客户端计算机的所述计算机软件混淆设备删除所述计算机软件的一部分或混入无关软件,并且使所述计算机软件的剩余部分混淆。8.根据权利要求1所述的系统,其中所述客户端计算机进一步包括分析项指派设备,所述分析项指派设备用于指派将由所述服务器计算机的所述计算机软件分析设备分析的项;混淆方法决定设备,所述混淆方法决定设备用于从多个混淆方法之中决定与所述分析项指派设备所指派的分析项相对应的混淆方法;以及可移除部分决定设备,所述可移除部分决定设备用于在基于由所述混淆方法决定设备所决定的所述混淆方法的混淆被执行的情况下,决定所述计算机软件中的可移除部分;以及所述客户端计算机的所述计算机软件混淆设备从所述计算机软件删除所述可移除部分决定...

【专利技术属性】
技术研发人员:长濑雅也
申请(专利权)人:富士胶片株式会社
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1