2020年4月14日、英語版ブログに "Think You Can’t Get No SAST -isfaction? Think Again" がポストされました。その翻訳版を掲載します。
SAST満足(SAST-isfaction) を得られないとお考えですか
Rob Cuddy
HCL
アプリケーションのセキュリティーに精通しているならば、静的分析セキュリティーテスト (SAST) という用語を聞いたことがあるでしょう。しかし、どれだけ役立っていますでしょうか。あなたやチームに付加価値を与えていますでしょうか。より高品質のソフトウェアをより素早く提供するのに役立っていますか。それとも、開発過程における必要悪だと見なされていますか。脆弱性の可視性は得られているでしょうか。実際の問題を見つけるのに、ノイズをふるいにかけるために多くの時間を費やしていませんか。HCL では、静的解析を最大限に活用し、探している SAST 応答を取得するときがきたと考えています。
SAST -isfactionを見つけるのが難しいのはなぜでしょうか
共有する情報がある限り、それを保護する必要がありました。歴史を通じて、メソッドを使用してデータを非表示または難読化する多くの例があります。たとえば、中世の時代には暗号文の記録があります。その前は、エジプト人には象形文字があり、楔形文字はすべてメソポタミア全体にありました。
第二次世界大戦前後から、情報はデジタル形式で共有され、情報セキュリティーが生まれました。今回の最も注目すべき例は、エニグマとボンバのマシンです。それ以来、コンピュータはあらゆる業界に導入され、何十億行ものコードが書かれてきました。また、コードセキュリティーの必要性も高まっています。Lint 呼ばれる最初の実際の静的分析セキュリティーテスト (SAST) ツールは1978年に登場しました。これは、一般的なコードエラーとコード構成の問題を検出するために作成され、コンパイラによってこれらのフラグが立てられています。
今日のペースの速い開発の世界に早送りし、エラーや脆弱性を見つける必要性がかつてないほど広まっています。しかし、最新のセキュリティーチームは、スキャンを適切に構成することに関してプレッシャーを感じています。潜在的なソース、シンク、字句解析、汚染、呼び出し (または制御フロー) グラフのめまいがする配列を考えると、不思議ではありません。これらすべてのオプションは、対処する2つの大きなハードルを意味します。
ろくでもない偽陽性
Lintの背後にある基本的なアイデアは素晴らしかったが、フラグが立てられたすべてのものが実際のエラーとして簡単に検証できるわけではないため、誤検知の可能性が高かった。誤検知は、テストで脆弱性が宣言されたときに発生しますが、実際にはそうではありません。テスト診断は、ある種のルール違反が発生したと判断し、問題です。これはさまざまな理由で発生する可能性がありますが、一般的な理由は、使用されるツールがアプリケーションコードを通過するデータを完全に追跡できないことです。ほとんどの SAST ツールは、注意を怠ってエラーが発生し、不明確な場合はエラーとしてフラグを立てます。
誤検知の主な問題は、対処すべきノイズが多いことです。これは、チームが問題を調査し、何かが本当の問題であるかどうかを特定するためにより多くの時間を費やす必要があることを意味します。また、チェック対象の量が多いため、チームが実際の問題を見逃しやすくなります。
そして、偽陰性
そして、何かを逃すことは潜在的にはるかに大きな問題です。コードに簡単に公開される可能性のある実際の脆弱性があり、使用されたツールがそれらを評価しなかった、またはそれらを検出するための適切なルールがあった場合はどうなりますか?私たちのチームがシステムをテストするための最良の方法を見つけるために多くの時間を費やしている場合、これらの種類の問題は長期間検出されなくなります。
私たちが持っているようにすべてをテストしたかどうかわからない場合はどうなりますか?特にそれがAPPLに来るときの ICA ション・プログラミング・インターフェース (API)。たとえば、開発チームが最新バージョンのSpringの利用を開始することを決定したとします。現在のバージョン (この記事の執筆時の5.2.5)、400以上のパッケージが含まれています。平均して、セキュリティー専門家は API のセキュリティーへの影響を1?10分で評価できます。これらのパッケージを使用して開発された API について、それぞれに保証が必要だと想像してください。つまり、1人の専任担当者がすべてを手動で評価するには、最大2か月かかる可能性があります。他に何もしない小さな専任チームであっても、完了するまでに1週間以上かかる可能性があります。考慮すべき他の API とフレームワークがある場合、問題はさらに悪化します。
朗報: 救いはここにあります
現在、InfoSecチームの88%は、平均して週に25時間を超える脆弱性の調査と検出を行っています。つまり、実際の問題ではないものを追跡するのに費やされる時間はコストがかかります。そして、潜在的な問題を見逃すことは破滅的となる可能性があります。HCL AppScan には、これらの問題の両方に対処するために特別に設計された独自の機能があることをすでにご存じかもしれません。現在バージョン10では、 HCL は一般的な SAST エンジンを利用して、クラウド製品の分析力をオンプレミスにもたらします。これにより、 AppScan はハイブリッド環境での静的テストに最適です。
https://ponemonsullivanreport.com/2018/08/the-value-of-artificial-intelligence-in-cybersecurity/ https://support.hcltechsw.com/csm?id=kb_article&sysparm_article=KB0077301
ノイズを制限する
HCL AppScanには、誤検知によるノイズに対処するように設計された拡張機能を備えています。これを Intelligent Finding Analytics (IFA) と呼びます。簡単に言うと、 IFA は機械学習機能を使用して誤検知を除外するため、不要です。IFA は数秒で結果をトリアージし、数万のリストをはるかに管理しやすい意味のあるものに変えることができます。実際に HCL は、 IFA が誤検知を最大98%削減することを確認しています。その時間の節約だけでも IFA に価値があります。しかし、IFA はそこで止まりません。
https://www.brighttalk.com/webcast/17840/372461/what-can-a-i-do-for-your-devsecops-program
ノイズを除去することに加えて、 IFA はさらに一歩進んで、残りの結果に優先順位を付け、関連するグループに整理します。これにより、対象を絞った改善策の提案を提供することにより、結果をすぐに実行可能にすることができます。問題の修正に関しては、どこから始めればよいかを推測する必要がありません。IFA を使用すると、開発者は自分の努力がどこに最も影響を与えるかについて、より良い感覚を持つことができます。
誤った安心感の回避
マイクロサービスを作成している場合や API を利用している場合は、変更を考慮することが重要です。そのため、 HCL にはIntelligent Code Analytics (ICA) があります。ICA の自動機械 ICA ll yの発見とは、新しい API を検出し、それらを適切に評価しています。そのため、セキュリティーチームが数週間かけて独自のマークアップを作成する必要がなく、 ICA の機械学習機能を、自信を持って活用できます。そして、あなたは数秒でそれを行うことができます。
ICA は、サードパーティの API とフレームワークのレビューを確実にし、それぞれに適切なセキュリティーの影響を割り当てます。これにより、より完全なスキャン結果、より正確な発見、およびより高い信頼が可能になります。
そして今、それはDevOpsにとってさらに良い
静的テストにはコードベースの深い知識が含まれるため、他のタイプのセキュリティーテストでは不可能な脆弱性が見つかります。ただし、これはより複雑になることも意味します。これは、開発パイプラインに統合するのが難しい場合があります。HCL は、優れた SAST をより簡単かつ効率的に行うためのいくつかの優れた新機能を導入しています。
Project Pizza
スキャンを小さなスライスに分割して、マルチスレッドを利用し、並列で実行します。速度をさらに向上させるために、これらも最初のスキャンでキャッシュし、後続のスキャンで新しいコードを含むもののみをスキャンします。
暗黙的なセキュリティー
新しいユーティリティを活用してリアルタイムで分析することで、開発者を置き去りにする必要がありません。CodesweepはVSCode IDEチェッカーで、最新のコード変更を自動的に分析して、開発者に調査結果をリアルタイムで通知します。 https://marketplace.visualstudio.com/items?itemName=HCLTechnologies.hclappscancodesweep
Bring Your Own Language (BYOL) カスタムスキャナーの開発を可能にし、ソースコードに対して直接脆弱性分析を迅速に実行するための新しいフレームワーク。これらは、 AppScan デプロイメントに簡単に組み込むことができます。ベンダーが新しい言語のサポートを構築するまで数ヶ月待つ必要はもうありません。
したがって、今日静的テストを実行していて、 SAST 化されていない場合は、 HCL AppScan バージョン10 を再検討するか、 HCL AppScan on Cloudの30日間の無料試用にサインアップすることをお勧めします、探していた SAST -isfactionを見つけられることでしょう。