Checkmarx CxEnterprise 用户使用手册.docx

上传人:b****5 文档编号:6718306 上传时间:2023-01-09 格式:DOCX 页数:44 大小:1.74MB
下载 相关 举报
Checkmarx CxEnterprise 用户使用手册.docx_第1页
第1页 / 共44页
Checkmarx CxEnterprise 用户使用手册.docx_第2页
第2页 / 共44页
Checkmarx CxEnterprise 用户使用手册.docx_第3页
第3页 / 共44页
Checkmarx CxEnterprise 用户使用手册.docx_第4页
第4页 / 共44页
Checkmarx CxEnterprise 用户使用手册.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

Checkmarx CxEnterprise 用户使用手册.docx

《Checkmarx CxEnterprise 用户使用手册.docx》由会员分享,可在线阅读,更多相关《Checkmarx CxEnterprise 用户使用手册.docx(44页珍藏版)》请在冰豆网上搜索。

Checkmarx CxEnterprise 用户使用手册.docx

CheckmarxCxEnterprise用户使用手册

CheckmarxCxSuite

UserGuide

 

2015年1月

1CxSuiteWeb界面

CxSuite为管理和分析代码扫描项目和CxSutie系统提供直观的Web界面。

本节内容:

∙访问Web界面

∙了解Web界面

1.1访问Web界面

使用以下两种方法之一来访问CxSuiteWeb界面

∙如果要在本地(从服务器主机)访问CxSuite,只需使用Windows“开始”菜单Checkmarx文件夹中的链接。

∙如果要从任何其他计算机访问CxSuite,请确保组织中的路由选择和防火墙配置允许客户端计算机访问CxSuite服务器。

将浏览器指向:

http:

///cxwebclient/login.aspx

此处,为CxSuite服务器的IP地址或可解析主机名。

一次全新的安装之后,会出现一个管理员账户:

用户名:

admin@cx

密码:

 admin

然后便可执行用户管理:

修改管理员密码并且添加用户。

CxSuiteWeb界面支持以下浏览器:

∙InternetExplorer7及高于其的版本

∙Safari5

∙Chrome

∙Firefox11.0

您可以修改Web界面超时。

1.2了解Web界面

CxSuite的Web界面包括一个不断在扩大的导航菜单(在左侧)。

所选择的导航项目确定页面的其它内容:

本节内容:

∙菜单项目

∙管理表

1.2.1菜单项目

CxSuiteweb界面菜单项目包括:

∙在项目和扫描下:

o创建新项目:

启动“新建项目”向导。

o队列:

查看当前正在运行的扫描状态。

o项目:

所有项目组成列表,已登录的用户即为可访问该列表的成员。

∙所有扫描:

现有项目扫描结果组成列表,已登录的用户即为可访问该列表的成员。

∙管理

o扫描设置:

▪查询浏览器:

查看和管理系统中使用的规则集。

▪规则集管理器:

根据客户需要创建和管理规则集。

▪扫描前/后处理措施:

允许根据扫描前后运行的预装脚本来制定行动。

▪源代码控制用户:

查看和修改访问源代码控制存储库的用户账户的详细信息

o服务器设置:

▪授权文件详细说明:

已安装的license。

▪安装信息:

服务器组件的位置。

▪常规设置:

文件夹位置、SMTP等设置。

∙用户与团队:

管理用户和用户层级

o组织:

配置组织层级。

o确认用户:

对自行注册的用户进行确认。

∙数据分析:

查看和分析扫描相关数据

∙我的个人资料:

更改登录用户的个人资料(适用于所有类型的用户)和密码(仅适用于应用程序的本地用户,而非Windows域用户)。

 

1.2.2管理表

Web界面中的不同表进行的是导航和分页控制:

可以从表的标题栏对表进行下列操作:

∙删除选中项目:

∙导出表的内容为CSV文件:

 针对每一个列标题显示一个过滤字段:

输入过滤文本(不区分大小写)后,按回车键进行过滤。

∙组:

点击

后,将列标题拖到最上面一行,来根据该列的值对表中行进行分组:

∙例如,manager可以根据用户对项目进行分组。

∙刷新:

刷新该表。

∙要根据列的值对行进行重新排序,不需要分组,只需要点击列标题即可(升序和降序之间切换)。

2创建和管理项目

CxSuite项目对要进行扫描的源代码、扫描时序安排和通知设置进行界定。

通常情况下,一个CxSuite项目与一个软件开发项目,或其中的一部分相对应。

无论何时运行扫描(手动或预订自动的),扫描结果都与CxSuite项目相关联。

对于持续集成的开发方法来说,如果针对每一次迭代都创建一个新的分支,那么就应该更新现有项目内的代码位置(而不是创建一个新的项目),这样所有的结果就会都被存在同一个项目中。

支持扫描包含多种代码语言的项目。

如果要禁用此特性,请联系Checkmarx专业服务。

本节内容:

∙创建和配置一个项目

∙高级操作

∙查看项目细节

∙管理查询

∙管理项目和运行扫描

2.1创建和配置一个项目

要创建一个项目:

1.用以下两种方法之一启动新项目向导

o从导航菜单,在Projects&Scans(项目和扫描)下,选择CreateNewProject(创建新项目):

oIntheProjectswindow,abovethetable,clickCreateNewProject.

o在项目窗口中,如上表,单击CreateNewProject(创建新项目)

2.配置下面的常规项目属性:

o项目名称:

应指出要进行扫描和跟踪的源代码。

o规则集:

代码扫描上要运行的规则集。

Default中包含的是Checkmarx对多数项目推荐的规则集。

对所有的编码最佳实践都选择All。

例如,对于一个Android项目,您必须选择Android.执行查询的完整列表,请参见版本注释。

o配置:

仅适用于高级用户,扫描双字节编码的源代码。

o组:

确定谁可以查看您的项目和其扫描结果。

可用选择取决于已登录用户的权限。

如果选择CxServer,就只允许服务器管理员进行访问。

如果您是单一用户,就请保留默认选项。

3.配置源代码位置:

o本地:

单击Select来浏览包含代码的本地zip文件。

未来对本项目进行的扫描也要通过本地上传(请参阅“管理项目和运行扫描”)。

注释

▪由于CxSuite服务器不能自动访问本地资源,所以本地项目不会进行自动扫描。

您需要定期手动上传一个新的zip文件。

▪Linux环境中生成的zip文件可能无法正常工作。

▪计行数功能计算源代码中的行数。

▪如果zip文件大小超过200MB,您将无法上传。

使用CxZiputility来创建一个具有指定扩展的较小zip文件。

o共享:

在一个从CxSuite服务器能够访问到的网络服务器中维护项目代码。

单击Select来配置细节:

1.提供Windows域用户名和密码,使用该用户名和密码,CxSuite服务器就可以访问网络:

用户名格式应为:

 domain_name\username

2.单击OK,并选择一个或多个包含有项目代码的网络文件夹:

3.单击OK

o源代码控制:

项目代码被保存在TFS、SVN或GIT源代码控制系统。

单击Select来配置源代码控制系统的链接。

o源代码提取:

激活一个可配置脚本,从源代码控制系统中提取代码,只有先前对CxSuiteWindows客户端应用程序进行配置的情况下才可用。

根据脚本配置,您将能够选择一个脚本和/或位置。

4.您可以视情况排除要扫描的文件夹和/或文件。

您可以输入一个以逗号分隔的文件夹列表,包括通配符,此方法同样适用于文件。

5.根据您的需要,单击CountLines来显示当前项目中的行数。

以下步骤为可选步骤。

您可以单击Finish跳过这些步骤。

6.单击Next并且配置时序安排(不适用于本地源代码位置)

为了支持持续集成的开发方法,建议您对源代码文件设定定期扫描计划,这样可以对所做出的修改进行检查。

可以通过Build文件中的CLI来自动执行,但该方法不强制执行,因为CxSuite对源代码的扫描不要求事先对源代码进行架构建立或编译。

7.单击Next,并视情况配置高级操作。

8.完成该向导。

扫描启动可能需要花一点时间。

2.2高级操作

CxSuite在每次扫描中可以自动执行可配置操作。

有两种类型的高级操作:

∙发送电子邮件

∙运行可执行文件

本节内容:

∙配置电子邮件操作

∙配置可执行文件操作

2.2.1配置电子邮件操作

您可以配置CxSuite在扫描前或扫描后自动发送电子邮件。

通过以下步骤配置自动电子邮件:

1.在一个项目的高级操作选项中,在相关项目下输入想要的电子邮件文本:

2.单击

并且添加收件人。

使用分号(;)来分隔电子邮箱地址。

3.单击Finish

电子邮件操作需要进行SMTP设置。

2.2.2配置一个可执行操作

按以下步骤配置CxSuite来在扫描前或扫描后运行一个可执行文件

1.上传一个可执行文件:

为了确保系统的完整性并对访问进行限制,必须由获批准的人员手动上传可执行文件。

CxSuite用于可执行文件的位置被定义在Management>ServerSettings>GeneralSettings>ExecutablesFolder中

2.为可执行文件定义一个操作:

访问Management > ScanSettings >Pre & PostScanActions> CreateNewAction,并且配置以下内容:

o操作类型:

预扫描操作或扫描后操作

o名称:

当向具体项目分配操作行为时,这将出现在一个下拉列表中。

o命令:

按可执行文件的要求使用语法,或从列表中进行选择。

o参数:

输入运行该命令时所需要的参数。

o对于扫描后操作,您也可以选择XML或CSV格式的扫描结果。

3.向项目指定操作:

在一个项目的高级操作选项中,从列表中选中一个操作:

4.单击Finish

 

2.3查看项目细节

您可以从导航菜单访问ProjectsandScans项下的Projects窗口

项目表列出了所有针对group配置的项目,在这些group中已登录用户即为其成员。

您可以管理该表。

对于一个非本地项目(或对于一个本地项目的增量扫描),总扫描只计算代码相对于先前扫描有所变化的扫描。

对于每个项目,您可以查看其扫描或者执行其他操作。

在表中选择一个项目,在窗口底部显示其详细信息:

∙Monitoring选项卡代表了侧重于发现漏洞数目及整体风险的最后10次扫描的进度。

oVulnerabilities(漏洞)图中包含了一个将漏洞分为不同严重等级(高、中、低,及相关信息)的图表。

每个图表都代表了逐行扫描情况下,按日期(x轴)对应的所发现的漏洞数目(y轴)。

oRiskIndicator(风险指标)图代表的是每一次的扫描结果,其中将所发现的漏洞数量与严重程度结合起来。

∙以下四个选项卡和“创建和配置一个项目”相同。

单击Edit来修改设置;完成后,点击update。

2.4管理规则集

您可以将CxSuite代码查询导入或导出为XML文件。

您也可以管理规则集,也就是用于选择每个项目的规则集。

本节内容:

∙导入和导出规则集

∙管理查询规则集

2.4.1导入和导出规则集

QueryViewer会显示所有Checkmarx的默认规则集和企业定义规则集。

您可以将企业规则集导入和导出为XML文件。

按以下步骤导出规则集:

1.访问 Management > ScanSettings,选择要导出的规则集。

 

2.单击ExportQueries。

3.保存导出的XML文件。

按以下步骤导入规则集

1.单击ImportQueries

2.选择要导入的XML文件

如果导入的规则集名称与现有的规则集名称相同,那么现有规则集会被覆盖。

2.4.2管理查询规则集

Preset是指在“创建和配置一个项目”时您可以选择的在扫描中使用的成套规则集。

可以使用预先定义好的Preset,并且您可以配置自己的。

您也可以导入或者导出Preset。

按如下步骤创建一个新的Preset:

1.访问 Management > ScanSettings>PresetManager,并且单击 CreateNewPreset:

 

2.为该preset输入名称,并且单击OK

3.选择一种编程语言

4.勾选Preset中要包含的规则集

5.单击Save

按以下步骤导出Preset

1.访问 Management > ScanSettings,并且选择要导出的preset

2.单击ExportPreset

3.保存导出的XML文件。

按以下步骤导入Preset:

1.访问Management > ScanSettings,并且单击ImportPreset

2.选择要导入的PresetXML文件。

如果要导入的Preset包含与现有查询名称相同的查询,那么现有查询会被覆盖。

 

2.5管理项目和运行扫描

在项目表中,针对每一个项目行,您都可以执行下述操作:

获得本项目中所有已执行扫描结果列表。

运行针对整个项目的完全扫描。

如果该项目是针对本地位置进行的配置,那么需要上传一个含有更新后的源代码的zip压缩文件。

(参见“创建和配置一个项目”)

上传全部源码,针对先前已扫描过的项目内部新增文件和修改文件进行增量扫描。

增量扫描可以显著缩短扫描时间,但是如果项目涉及大量变化,则不推荐使用此选项。

∙Duplicate(复制):

可以创建一个具有相同默认设置的新项目,但Location(位置)设置除外(例如源代码分支)。

∙Delete(删除):

 可以删除项目和所有扫描结果。

3队列

本节内容:

∙查看队列

∙队列操作

3.1查看队列

队列窗口可从主导航菜单直接访问,会列出当前正在运行的扫描以及将被执行的扫描顺序表。

您可以管理该表。

针对每一个扫描,队列表显示其详细资料,包括日期、时间、发起用户、初始系统,服务器名称,(CxEngine服务器正在执行该扫描),原始程式代码行数(LOC),扫描状态(见以下详述),以及可执行的操作(见以下详述)。

选择任一扫描即可显示其细节,表格下方的进度条指示扫描完成百分比.当第一个请求完成时(通常是扫描进度的50%),会弹出一个部分结果的总结,可链接到实际结果:

在该表中,每一次扫描都会在状态列中显示以下情况之一:

∙进度条:

显示扫描完成的百分比

∙挂起:

已提交的扫描请求,但仍在进行准备,如上传或解压

∙排队:

准备扫描,但在等待系统资源

∙已完成:

已完成的扫描在Queue窗口中停留一个可配置的时间段(默认情况下为10分钟)

∙失败:

当扫描被选择时,失败的详细信息显示在下方的窗格中

Queue队列窗口每分钟刷新一次。

如果选择主动扫描(显示出一个进度条,则窗口每10秒即会刷新一次。

多个项目可以并行运行,只要安装的license正确并且具备足够的系统资源。

每一个扫描都要求有自己的处理核,每15万行代码需要1G内存。

如果系统资源当前被占用,稍后会空出,则项目会被排队;如果系统整个资源不足以进行扫描,则会显示错误消息。

3.2Queue队列操作

在Queue表行中,您可以:

:

取消扫描

 (仅针对未完成扫描):

重新启动扫描并发送到队列末尾

 ((仅针对已完成扫描):

前往该项目的扫描结果表

4扫描结果

4.1查看扫描结果表格

您可以查看以下表格中的任何一个:

∙扫描窗口:

所有项目的扫描结果。

从主导航菜单访问该表格

∙单个项目的扫描结果:

在所有项目的表格中该项目的行中,单击

扫描结果会被显示在一个表格中,在该表格中,每一行代表的是一个单个项目的扫描结果。

您对该表的可以进行管理,包括按扫描时间、扫描完成日期、项目名称或风险等级排序。

标志有 

 的扫描结果集表示完整结果集中用户储存的部分结果。

“扫描结果”表格中的每一行都包含有风险级别分数和风险指示条,显示该次扫描中所发现所有漏洞的整体风险。

其他几列是:

∙发起用户:

开启扫描的用户

∙初始系统:

发起扫描的系统

∙LOC:

项目原程序代码行数

∙服务器名:

执行该扫描的CxEngine服务器

∙Cx版本:

执行扫描的CxSuite版本号

∙还有其他有效操作

如果扫描是在非本地项目中发起的(或者是本地项目中增加的扫描),并且与上次扫描时没有代码变更,注释指示扫描并未实际执行。

在表格中选择一个扫描在窗口底部显示扫描的详细信息:

∙Monitoring (监控)选项卡中含有两个对已发现漏洞进行总结的图表:

o“前5个高/中风险漏洞”图显示出本次扫描中检测到的最常见的五个高/中风险漏洞。

o“风险指标”图显示扫描状态,其中结合了已检测到漏洞的数量与严重程度。

∙“注释”选择卡允许针对扫描结果编写注释。

在单个项目的扫描结果表格中,标题栏还有其它可执行操作:

∙返回项目:

前往Projects窗口

∙对扫描进行比较:

启用比较扫描结果集.

 全面扫描 全部项目。

如果项目配置在本地,需要上传一个包含着更新后源代码的压缩文件(参见 创建和配置项目).

 增加扫描 仅针对新建和上次扫描后修改的文件.

4.2扫描结果操作

在扫描结果表中 (适用于所有项目或单个项目),针对每一行,您都可以:

 :

在浏览器中查看互动结果(参见理解扫描结果)

 :

生成报告包含有详细的扫描结果

:

查看扫描结果摘要:

本摘要包括:

o扫描详细信息表:

显示扫描开始和完成的日期、风险级别、项目代码行数(LOC)、文件数量、规则集(查询组)、源代码来源和注释。

o“前5个高/中风险漏洞”图显示出本次扫描中检测到的最常见的五个高/中风险漏洞。

o饼图显示所发现的各严重级别漏洞的数量占总漏洞的百分比。

o“风险指示”图显示扫描状态,其中结合了已检测到漏洞的数量与严重程度

:

下载有关该扫描的所有服务器日志

4.3理解及定向扫描结果

在网页界面中查看扫描结果的同时,您可以在结果中交互式地定向扫描结果:

该界面包括四个窗格,分别包含不同层次的信息,从全方位的表单深入具体到实际代码元素,您都可以通过下述顺序从窗格中获得:

∙查询(左下):

列表中的每一个项目都是一种特殊类型的漏洞,针对该漏洞类型,CxSuite会对扫描代码进行查询,检测到该漏洞的实例数量。

该查询按代码语言和严重级别进行排序。

点击

显示针对该漏洞类型的完整的信息,其中包括漏洞详细信息,原因和机制说明,漏洞风险避免建议方案以及源代码示例。

选择一个查询来查看Results窗格中所侦测到的实例:

∙结果(右下角的窗格中):

以两种格式显示查询窗格中针对所选择的该查询已检测到的实例:

o图表(Results窗格中的选项卡):

以图形形式显示第一个已检测到实例的第一个和最后一个代码元素,并且显示它们之间的关系。

在CxSuiteIDE插件,图形窗格中显示构成已检测到实例的代码元素的完整路径,并且显示它们之间的关系。

o结果(Results窗格中的选项卡):

以表格形式列出已检测到实例的详细信息:

突出显示的实例代码元素的详细信息出现在顶部。

选择(标记复选框)查找到的实例并改变它们的状态(可改为“待验证”、“不可开发”、“已证实”、“紧急”——对于忽略误报和计划解决哪些问题很有用)或严重程度(信息、低、中或高),或将其分配给用户。

您还可以为实例添加注释。

所有这些元数据为了项目的日后扫描而被维护,以便这些实例可被继续发现。

是否能够修改取决于用户权限。

单击SaveScanSubset(保存扫描子集)将结果表单中选择的实例保存为独立的结果集。

单击

 以获取选定实例的结果界面的URL。

您可以管理该表。

在结果窗格(在任一选项卡)中选择一个实例,来查看它在Path空格中的攻击向量:

∙路径(右上窗格):

指的是构成在结果空格中所选择的漏洞实例的代码元素的完整路径。

该路径显示的是对于该漏洞实例的完整攻击向量。

在Path窗格中选择一个代码元素,在源代码窗格其代码环境中查看该元素:

∙源代码(左上窗格):

指的是包含有源代码文件选项卡。

突出其中包含有Path窗格中所选择的元素的代码行。

使用CxSuiteIDE插件,您可以在适当位置立即修复代码!

4.4扫描结果示例

以下是一个扫描结果示例,显示的是一个SQL注入漏洞。

Queries窗格显示了已检测到的4个SQL注入漏洞实例

 

单击

可以显示有关SQL注入的完整信息,包括建议和代码示例。

简单地说,当用户输入被用于SQL查询语法中时,就会出现SQL注入漏洞。

由于这些输入可以被解释为SQL语法,而非用户输入数据,因此用户可以通过改变查询逻辑的方式操纵数据的输入,从而可能绕开安全检查而修改数据库,包括执行系统命令。

在结果窗格(底部、中间和右部)中选择漏洞的某一特定实例会在窗格顶部显示该实例代码详细信息,在路径窗格(右上方)中显示组件代码元素的路径。

该路径窗格显示的是用户向SQL查询输入的所有代码元素。

对每一个元素依次进行选择会在源代码窗格(顶部,左部和中间)代码全文里突显该元素。

漏洞需要沿该路径进行消除。

4.5生成扫描结果报告

您可以以下列格式之一生成包含有详细扫描结果的报告:

∙PDF

∙RTF

∙CSV

∙XML

如何生成报告:

1.在扫描结果列表中(对单个或全部课程),单击

2.从生成的报告和报告文件格式中筛选结果

3.若要改变报告模板:

1.选择 Changetemplate(改变模板)然后单击下一步

2.选择需要显示在封面的详细信息,是否需要在报告中包含威胁描述和外部链接,以及每个结果需要显示的详细信息:

4.点击生成报告

4.6比较扫描结果集

您可以比较两个扫描的结果CxSuite提供差异的总结和类似于单个扫描结果的交互式界面。

在单个项目的扫描结果表中,选择两个扫描结果集,然后单击Compare(比较),即可比较两个扫描的结果

:

要查看比较报告,选择表中的两行并单击CompareScans(扫描比较),即会出现一个比较总结报告:

该比较总结报告包括:

∙扫描详细信息表,显示扫描开始和完成的日期、风险水平、项目代码行数(LOC)、文件数量、规则集(查询组)、源代码来源和注释。

∙左下角的表显示的是与早期扫描相比,新扫描中存在的变化,按各严重级别的问题数分类:

o新问题:

仅在新扫描中发现的问题

o已解决的问题:

仅在先前扫描中发现的问题

o反复出现的问题:

两次扫描中出现的问题

∙右下角的图表通过图形的形式对两次扫描中所发现的漏洞数量进行了比较,按严重级别分类

要查看代码比较,在上述总结报告窗口的左下角单击结果,即可出现比较报告:

5用户管理

5.1角色与权限概述

CxSuite项目的可用性及其相关的扫描结果取决于项目配置,同时,也取决于CxSuite角色所确定的用户权限。

CxSuite角色还决定用户管理的权限。

CxSuite用户可以具备以下CxSuite角色之一:

∙普通用户属于一个或多个团队,并具有以下角色之一:

oScanner(扫描用户):

可以为自己的团队创建项目,并扫描和查看自己的团队现有项目的结果。

oReviewer(查看用户):

可以查看自己团队所创建项目的扫描结果,但不能创建项目或对现有的项目进行扫描。

∙CompanyManager(公司管理员用户):

可以为公司任何一个或多个团队创建和管理项目,并可以创建和管理公司的团队和用户。

∙ServiceProvider(SP)Manager(服务供应商管理员用户):

可以为服务供应商公司任何一个或多个团队创建和管理项目,并可以创建和管理服务供应商公司、团队和用户。

∙ServerManager(服务器管理员用户):

默认的管理员用户帐户即为服务器管理员用户。

服务器管理员用户对整个系统拥有全部的权限,包括上述所有权限及服务器设置。

本章节介绍如何创建和管理用户帐户,如何管理团队、公司和服务供应商(见“组织层次管理”)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1