HCL AppScan インテリジェント・コード・アナリティクス: コグニティブ・コンピューティングによるアプリケーション・セキュリティ・テストのカバレッジの向上
2021年4月20日
著者: HCL Software / A division of HCL Technologies (HCL)
前回の記事 では、コグニティブ・コンピューティングによって、静的アプリケーション・セキュリティ・テスト (SAST) につきものの誤検出やノイズを大幅に削減できることを紹介しました。また、ほとんどのアプリケーション・セキュリティ製品のアプローチである、言語カバレッジに影響を与えることなく (すなわち、ルール・セットを減らすことなく) 、誤検出を減らすことができることを示しました。
IFA (Intelligent findings analytics) は、アプリケーション・セキュリティ・テストにおける重要なブレークスルーとなりますが、静的解析言語プロセッサが生成したカバレッジの幅を維持するに過ぎません。
インテリジェント・コード・アナリティクス (ICA) は、コグニティブ・コンピューティングを使用して言語のカバレッジを拡張することにより、IFA を大きく前進させます。コーディング言語は、毎日のように新しいフレームワークが登場し、急速に進化しているため、これは非常に重要です。Java 8 のような新しい言語のバージョンでは、何万もの新しいアプリケーション・プログラム・インターフェース ( API ) が導入されます。
従来、訓練を受けたセキュリティ専門家は、これらの API の一つ一つを検証し、それが入力 (ソース) か出力 (シンク) かを確認し、コードに脆弱性 (テイント) が含まれているかどうかを判断していました。新しいフレームワークは、このプロセスをさらに複雑にしています。開発者にとってはコーディングが簡単になることで、テストシステムにとってはレビューが不透明になります。これらの API を特定し、マークアップと呼ばれるルールを作成するには、数週間以上かかることもあり、テストシステムのカバレッジにギャップが生じてしまいます。
ICA は、機械学習を API の識別とマークアップに適用することで、この問題に対処し、事実上排除します。驚くべきことに、ICA はこの作業をオンザフライで行います。ICA は新しい API やフレームワークに出会うたびに、それが汚染可能かどうかを瞬時に判断し、ルールを作成します。このルールは解析エンジンで使用され、アプリケーションのデータフローに実際の脆弱性が含まれているかどうかを判断します。
これらの結果がどのようにして得られたかを説明する言葉があります。"It just works!" この言葉の裏には確かに詳細がありますが、コグニティブ技術をアプリケーション・セキュリティ・テストに適用することの素晴らしさは、詳細をすべて知る必要がなく、結果を見るだけでよいということです。
IFAでは、訓練を受けた専門家が同じ分析を行った結果と同等以上の精度を機械が実現しました。同様に、ICA の結果も同様に、人間が行った分析結果と同等かそれ以上の素晴らしいものでした。これは、IFAと同様に、複雑な問題に何時間も取り組んでいると、人間は自然と疲れてミスをしがちになりますが、機械は同じ作業を数秒で完了し、疲れないということに起因していると考えられます。
IFA と ICA は、コグニティブ・コンピューティングを活用して、アプリケーション・セキュリティの主要分野であるスピードとカバレッジに対応します。この2つは、DevOps アプリケーション・セキュリティ・プログラムを成功させるために不可欠です。しかし、これは始まりに過ぎません。アプリケーション・セキュリティ・プログラムをより効果的にするために、コグニティブ・コンピューティングは次に何をもたらしてくれるのでしょうか?その答えは、このページをご覧ください。
AppScan のコグニティブ・アプリケーション・セキュリティ・テスト機能の詳細については、この短いアニメーション・ビデオをご覧ください。