基本的な紹介
Checkmarx CxEnterprise (Checkmarx CxSuite) は、イスラエルのハイテク ソフトウェア会社である Checkmarx が発行したソース コード セキュリティ スキャン ソフトウェアです。このソフトウェアは、次のようなソース コードの技術的および論理的欠陥を特定、追跡、修復するために使用できます。脆弱性、品質上の欠陥、ビジネスロジックの問題など。
製品アーキテクチャ
Checkmarx CxEnterprise (Checkmarx CxSuite) の製品構成は次のとおりです。
製品コンポーネント
CxScanEngine: CxScanEngine は指定されたサーバーにインストールされており、エンジン サービスはスキャンおよびクエリ スキャン タスクを担当します。
CxClient: クライアント マシンにインストールされる軽量のクライアント コンポーネント。CxClient は WCF を通じて CxManager と通信します。
CxManager: CxManager は指定されたサーバーにインストールされ、ユーザー、プロジェクト、スキャン タスクなどの管理を担当します。CxManager は CxScanEngine と通信します。
CxPortal Web サービス: Web サービスは、社内 LAN または外部ネットワークで使用され、Web ブラウザまたは IDE を使用してプラグインを開発し、スキャン サービスを使用します。
Web ブラウザ/Eclipse/Visual Studio プラグイン: CxPortal クライアント。社内 LAN または外部インターネット ネットワーク ユーザーが Web ブラウザまたは IDE を使用してプラグインを開発し、スキャン サービスを使用してスキャン結果を管理するために使用されます。
走査原理
Checkmarx CxEnterprise (Checkmarx CxSuite) の静的ソース コード スキャンの原則:
ソフトウェアの使用状況
クライアントスキャン
ステップ 1: デスクトップの「Checkmarx Audit」をクリックしてクライアントを起動し、ユーザー名とパスワードを入力してログインします。
ステップ 2: [新しいローカル プロジェクト] ボタンをクリックして、スキャンする必要がある JAVA コードのフォルダーを選択します (忘れずに完全な jar パッケージを添付してください。添付しないと、Checkmarx は正常にコンパイルされません)。
ステップ 3: [カウント] をクリックすると、スキャンされるコードの行数が表示され、コード監査のワークロードを評価しやすくなります。
Step 4:如果您要手工选择进行代码审计时使用的规则库,那么可以勾选"Select Queries Before Loading Project"选项
Step 5:点击"Scan"加载资源并选择要使用的代码规则库,这里我们扫描的代码是JAVA所以只需要勾选JAVA即可
Step 6:之后开始进行扫描
Step 7:完成扫描后我们可以看到类似下面的扫描结果
为了便于查看扫描到的有效漏洞,我们可以勾选这里的"Hide Empty"将没有漏洞的结果项隐藏掉
Step 8:之后点击Results中的扫描项查看结果,在中间的栏目中可以看到扫描出的漏洞点有几处,在右侧的PATH中会展示参数的整个传递跟踪过程
点击PATH中的节点会跳转到对应的代码点
Step 9:导出结果
导出结果如下,总体感觉不是很友好~
Web端扫描
Step 1;点击桌面的快捷方式"Checkmarx Portal"打开Web操作界面
Step 2:填写表单进行登录
Step 3:新建扫描项目
Step 2:上传java源码压缩包(注意:支持源代码控制系统和拉取源码)
Step 3:开始进行扫描
Step 4:扫描完成后可以看到当前项目的整体漏洞分布情况,包括发现了多少高危漏洞,多少中低危漏洞等
查看扫描总结:
打开查看器查看:
此时左下角为扫描结果,最下方为漏洞扫描的结果条目,通过查阅上下条目可以再上方的框中看到定位的问题代码,同时在右侧可以看到参数的整个传递过程,便于审计人员确定问题是否存在
Checkmarx提供了一个非常好的功能就是我们可以再左下角的扫描结果中选择高、中、低类型,之后选择下方的"图形"界面,之后在图形界面中可以看到Web漏洞触发流程的交集点,此时修复漏洞可以从交集点处直接进行修复,修复一处可疑解决N多处
Step 5:导出报告
扫描规则
查询规则查看器:
规则集管理器: