用于通过在库管理系统中使用现有的病毒检测方法来检测潜在恶意代码来增强源代码管理的系统和方法。利用本发明专利技术的机制,通过防止产品连编版本带有破坏性的代码,输入到软件产品中的恶意代码可以在代码能够损坏存储的数据和其他软件之前被检测出来。当在代码管理库系统从协作开发环境中的一组软件开发人员接收到源代码时,源代码被移到登台区域。然后,就源代码中是否存在恶意代码作出判断。如果存在恶意代码,则库系统从软件产品连编版本中删除源代码,并通知系统管理员存在恶意代码。
【技术实现步骤摘要】
本专利技术涉及网络数据处理系统,具体来说,涉及防止病毒的系统。更具体来说,本专利技术提供了用于进行源代码管理的改善的方法、设备和程序。
技术介绍
一般而言,计算机行业深受被称为计算机“病毒”或“蠕虫”的程序所带来的危害。计算机病毒是隐匿在另一个程序中的一部分代码。一旦执行该程序,该代码被激活,并将其附加到系统中的其他程序。接着,受感染的程序将该代码复制到其他程序。这样,病毒代码可以扩散到计算系统,并可能通过网络连接扩散到其他计算系统。这样的病毒的影响可以是诸如使某一个消息显示在屏幕上之类的简单恶作剧,或诸如损坏程序和数据之类的比较严重的情况。计算机蠕虫是破坏性的程序,这些程序在整个硬盘和/或计算机内的存储器内复制它们本身,耗尽所有可用的光盘或存储空间。此复制最终会使计算机系统崩溃,因为最终会没有磁盘或存储空间可用来存储数据。为应付计算机病毒和蠕虫越来越严重的问题,许多计算机用户使用保护程序来检测可能包含病毒或蠕虫的数据包,然后在与数据包关联的程序可能运行之前消除它们。现有的保护程序通常使用模式匹配来识别恶意代码。模式匹配是一个其中对文件进行扫描,并将其代码与存储在其数据库中的病毒模式进行比较的过程。如果在代码中检测到病毒签名,则隔离该文件,并向用户提供被扫描的文件中存在病毒的通知。这样,在对计算机系统造成损害之前可以识别和消除受感染的文件。程序代码的安全对于软件开发人员来说也是一个问题。产品的开发涉及许多外部的没有联系的开发人员组成的团队的资源是很常见的。此类潜在地不可靠的参与者的协作开发,特别是在开放源代码开发的情况下,使得最终产品可能存在潜在恶意代码被插入到源代码中的情况。源代码包括由程序员编写的程序设计语句和指令。源代码是程序员所编写的内容,但不能被计算机直接执行。产品的开发人员可能将破坏性的代码引入到源代码中,这可能会对存储的数据和其他软件造成严重的损害。因此,在库管理系统中应该有一种方法,用于通过在执行产品连编(product build)之前通过在库管理系统中使用现有的病毒检测方法来识别软件产品的源代码中的潜在恶意码来增强源代码管理。
技术实现思路
本专利技术提供了用于通过在库管理系统中使用现有的病毒检测方法来检测潜在恶意代码来增强源代码管理的系统和方法。利用本专利技术的机制,在代码能够通过用破坏性的代码妨碍产品连编损坏存储的数据和其他软件之前,可以检测输入到软件产品中的恶意代码。当在代码管理库系统从协作开发环境中的一组软件开发人员接收到源代码时,源代码被移到登台区域(staging area)。然后,就源代码中是否存在恶意代码作出判断。如果存在恶意代码,则库系统从软件产品连编版本(build)中删除源代码,并通知系统管理员存在恶意代码。本专利技术的机制也在代码管理库系统内提供修复机制,用于修复感染上恶意码的连编代码。当在源代码的某一个组件中检测到病毒模式时,识别源代码中的包含对第一个组件的依赖关系的其他组件。此识别可以基于根据源代码中的被感染组件和其他组件之间的关系定义的规则。从软件产品连编版本中撤回被标识为具有对感染的组件的依赖关系的组件和其他组件。然后,被感染的组件和其他识别的组件被替换为代码连编版本的前一存档。然后,可以执行源代码的软件产品连编版本。本专利技术的机制也在源代码管理系统内提供用于自定义恶意代码搜索的分类机制。此分类机制被用来限制对传入的源代码执行的搜索的数量,因为某些恶意代码搜索可能只须对软件产品的特定模块、类、组件等等执行。当库系统正在被设置为接收新的源代码时,对于源代码创建安全分类。在从软件开发人员那里接收源代码时,源代码中的每一个组件都关联到某一个安全分类。然后,基于关联的安全分类,对源代码中的组件执行病毒检查。这样,可以只对某些组件进行检查,以查找某些病毒模式,可以对其他组件进行检查以查找其他病毒模式。附图说明在所附的权利要求中阐述了本专利技术的新颖的特征。然而,本专利技术本身,以及优选的使用模式,进一步的目标和优点,通过参考对说明性的实施例的详细描述并参考附图,将得到最好的理解,其中图1描述了其中可以实现本专利技术的分布式数据处理系统的图形表示;图2是根据本专利技术的优选实施例的可以作为服务器来实现的数据处理系统的方框图;图3是根据本专利技术的优选实施例的可以作为客户端来实现的数据处理系统的方框图;图4是说明了根据本专利技术的优选实施例的用于检测软件产品的源代码中的恶意代码的过程的概述的方框图;图5是根据本专利技术的优选实施例的可以在源代码管理系统中使用的以检测恶意代码的示范性组件的方框图;图6是根据本专利技术的优选实施例的通过使用现有的病毒检测方法来识别软件产品的源代码中的潜在恶意代码来增强源代码管理的过程的流程图;图7是根据本专利技术的优选实施例的用于自定义恶意代码搜索的过程的流程图;以及图8是根据本专利技术的优选实施例的用于自主地修复代码连编的过程的流程图。具体实施例方式现在参考图形,图1描述了其中可以实现本专利技术的数据处理系统的网络的图形表示。网络数据处理系统100是其中可以实现本专利技术的计算机网络。网络数据处理系统100包含网络102,该网络是用来在各种设备和在网络数据处理系统100内连接在一起的计算机之间提供通信链路的媒介。网络102可以包括诸如有线、无线通信链路或光纤电缆之类的连接。在所描述的示例中,服务器104与存储单元106一起连接到网络102。此外,客户端108、110和112也连接到网络102。这些客户端108、110和112可以是个人计算机或网络计算机。在所描述的示例中,服务器104向客户端108-112提供诸如引导文件、操作系统映像和应用程序之类的数据。客户端108、110和112是服务器104的客户端。网络数据处理系统100可以包括额外的服务器、客户端,及没有显示的其他设备。在所描述的示例中,网络数据处理系统100是因特网,网络102表示使用传输控制协议/因特网协议(TCP/IP)协议套件彼此进行通信的网络和网关的世界范围内的集合。因特网的核心是主节点或主机计算机之间的高速数据通信线路构成的主干网,包括成千上万的商业、政府、教育及其他路由数据和消息的计算机系统。当然,网络数据处理系统100还可以作为许多不同类型的网络来实现,例如,内部网、局域网(LAN)或广域网(WAN)。图1只作为示例,而不对本专利技术的体系结构作出限制。请参看图2,根据本专利技术的优选实施例,描述了可以作为服务器(如图1中的服务器104)实现的数据处理系统的方框图。数据处理系统200可以是包括连接到系统总线206的多个处理器202和204的对称多处理器(SMP)系统。或者,也可以使用单处理器系统。与系统总线206相连接的还有存储器控制器/高速缓存208,它提供了到本地存储器209的接口。I/O总线桥路210连接到系统总线206,并提供到I/O总线212的接口。如本文所述,存储器控制器/高速缓存208和I/O总线桥路210也可以集成在一起。连接到I/O总线212的外围组件互连(PCI)总线桥路214提供了到PCI本地总线216的接口。许多调制解调器可以连接到PCI本地总线216。典型的PCI总线实现方式将支持四个PCI扩展槽或插入式连接器。到图1中的客户端108-112的通信链路可以利用通过插入式连接器连接到PCI本地总线本文档来自技高网...
【技术保护点】
一种在数据处理系统中的用于在执行软件产品连编之前自主地检测恶意源代码的方法,该方法包括:响应从协作开发环境中的一组软件开发人员接收到源代码的情况,将源代码移到登台区域;判断所述登台区域中的源代码是否包含恶意代码;以及 响应判断有恶意代码存在的情况,从软件产品连编中删除源代码。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:詹姆斯E福克斯,莉萨玛吉,埃里奇S玛吉,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。