Fortify SCA とは何ですか? インストール方法は?
公開: 2023-01-13Fortify Static Code Analyzer (SCA) は、ソース コードを分析し、セキュリティの脆弱性の根本原因を特定します。
Fortify スキャンは、最も深刻な問題に優先順位を付け、開発者がそれらを修正する方法をガイドします。
Fortify 静的コード アナライザー
Fortify Static Code Analyzer には、Buffer、Content、Control Flow、Dataflow、Semantic、Configuration、Structural などのさまざまな脆弱性アナライザーがあります。 これらの各アナライザーは、実行される分析の種類に必要な情報を提供するように調整された、さまざまな種類のルールを受け入れます。

Fortify Static Code Analyzer には、次のコンポーネントがあります。
- Fortify スキャン ウィザード。 これは、分析の後または前にスクリプトを実行するオプションを提供するツールです。
- 監査ワークベンチ。 分析結果を整理・管理するGUIベースのアプリです。
- カスタム ルール エディタ。 これは、開発者が分析用のカスタム ルールを作成および編集できるようにするツールです。
- IntelliJ および Android Studio 用のプラグイン。 このプラグインは、IDE 内で分析結果を提供します。
- エクリプスのプラグイン。 このツールは Eclipse と統合されており、IDE 内に結果を表示します。
- 竹のプラグイン。 分析を実行する Bamboo ジョブから結果を収集するプラグインです。
- ジェンキンス プラグイン。 このプラグインは、Jenkins Job から分析結果を収集します。
Fortify SCAの特長

#1。 複数の言語をサポート
Fortify SCA でサポートされている言語の一部は次のとおりです。 ABAP/BSP、ActionScript、ASP (VBScript を使用)、COBOL、ColdFusion、Apex、ASP.NET、C# (.NET)、C/C++、Classic、VB.NET、VBScript、CFML、Go、HTML、Java (Android を含む) )、JavaScript/AJAX、JSP、Kotlin、Visual Basic、MXML (Flex)、Objective C/C++、PHP、PL/SQL、Python、Ruby、Swift、T-SQL、および XML。
#2。 柔軟な導入オプション
- Fortify On-Premを使用すると、組織は Fortify SCA のすべての側面を完全に制御できます。
- Fortify On Demandを使用すると、開発者は Software As Service 環境で作業できます。
- Fortify Hostedを使用すると、開発者は、完全なデータ制御を備えた分離された仮想環境を通じて、2 つの世界 (オンデマンドとオンプレミス) の両方を楽しむことができます。
#3。 CI/CD ツールと簡単に統合
- 開発者は、Fortify SCA を Visual Studio や Eclipse などの主要な IDE と簡単に統合できます。
- このツールは、Sonatype、WhiteSource、Snyk、BlackDuck などのオープンソース ツールと統合されているため、開発者はさまざまなアクションを制御できます。
- また、Fortify SCA を Bitbucket や GitHub などのリモート コード リポジトリと統合することもできます。 したがって、このツールは、そのようなプラットフォームにプッシュされたコードの脆弱性をチェックし、レポートを送信できます。
#4。 リアルタイムアラート
Fortify SCA はコーディング中にリアルタイムの更新を提供するため、コーディングが完了するまでテストを行う必要はありません。 このツールには、速度と効率のために構築された構成および構造アナライザーがあり、安全なアプリケーションの作成に役立ちます。
#5。 機械学習を利用した監査アシスタント
機械学習アルゴリズムを使用する監査アシスタントを使用すると、システムの監査が高速になります。 アシスタントはすべての脆弱性を識別し、信頼度に基づいて優先順位を付けます。 ツールがレポートを生成するため、組織は監査コストを節約できます。
#6。 柔軟性
ユーザーは、必要に応じて実行するスキャンの種類を選択できます。 たとえば、正確で詳細なスキャンが必要な場合は、包括的なスキャン オプションを選択できます。 開発者は、主要な脅威のみを検出したい場合、高速スキャン オプションを選択することもできます。
Fortify SCA は何をしますか?

Fortify SCA には、一般的な開発エコシステムでいくつかの役割があります。 以下は役割の一部です。
静的テストはより良いコードの構築に役立ちます
静的アプリケーション セキュリティ テスト (SAST) は、開発の初期段階でセキュリティの脆弱性を特定するのに役立ちます。 幸いなことに、これらのセキュリティの脆弱性のほとんどは安価に修正できます。
このようなアプローチは、開発中にコードに導入された問題についてテストが即座にフィードバックを提供するため、アプリケーションのセキュリティ リスクを軽減します。
開発者は、静的アプリケーション セキュリティ テストを通じてセキュリティについても学び、安全なソフトウェアの作成を開始できます。
Fortify SCA は、安全なコーディング ルールと複数のアルゴリズムの広範なナレッジ ベースを使用して、セキュリティの脆弱性についてソフトウェア アプリケーションのソース コードを分析します。 このアプローチでは、脆弱性を特定して解決策を提供するために、データと実行がたどることができる実行可能なパスを分析します。
セキュリティの問題を早期に発見
Fortify SCA はコンパイラを模倣します。 Fortify スキャンの後、このツールはソース コード ファイルを読み取り、セキュリティ分析用に強化された中間構造に変換します。
すべてのセキュリティの脆弱性は、中間形式で簡単に見つけることができます。 このツールには、複数の特殊なアナライザーで構成される分析エンジンが付属しており、コードが安全なコーディング プラクティスの規則に違反しているかどうかを分析するために、安全なコーディング ルールを使用します。
Fortify SCA には、静的分析機能を拡張してカスタム ルールを含める場合に備えて、ルール ビルダーも付属しています。 このような設定での結果は、タスクと対象者に基づいてさまざまな形式で表示できます。
Fortify Software Security Center (SSC) が結果の管理を支援
Fortify Software Security Center (SSC) は、組織のアプリケーション セキュリティ プログラム全体を可視化する集中管理リポジトリです。 SSC を通じて、セキュリティの脅威が特定された場合、ユーザーは修復作業を監査、レビュー、優先順位付け、および管理できます。
Fortify SSC は、組織内のアプリケーション セキュリティ体制の正確な範囲と全体像を提供します。 SSC は中央サーバーに常駐しますが、リアルタイム、動的、静的分析に及ぶさまざまなアプリケーション セキュリティ テスト活動から結果を受け取ります。

Fortify SCA で実行できるコード分析の種類は?

Fortify スキャンは、コード分析を行う際に悪意のある王国のアーキテクチャから借用します。 これらは、Fortify SCA が行う分析のタイプです。
- 入力の検証と表現 - 入力の検証と表現に関連する問題は、代替エンコーディング、数値表現、およびメタ文字に起因します。 このような問題の例として、「バッファ オーバーフロー」、「クロスサイト スクリプティング」攻撃、および「SQL インジェクション」が挙げられます。これらは、ユーザーが入力を信頼したときに発生します。
- API の乱用。 契約の終了を尊重しない呼び出し元は、最も一般的なタイプの API の悪用です。
- セキュリティ機能。 このテストは、ソフトウェア セキュリティとセキュリティ ソフトウェアを区別します。 分析は、認証、権限管理、アクセス制御、機密性、および暗号化の問題に焦点を当てます。
- 時間と状態。 コンピュータは、さまざまなタスクを非常に高速に切り替えることができます。 時間と状態の分析は、スレッド、情報、プロセス、および時間の間の予期しない相互作用から生じる欠陥を検索します。
- エラー。 Fortify SCA は、エラーが潜在的な攻撃者に与える情報が多すぎるかどうかをチェックします。
- コードの品質。 通常、コードの品質が低いと、予期しない動作が発生します。 ただし、攻撃者は、不適切に記述されたコードに遭遇した場合、自分の利益のためにアプリケーションを操作する可能性があります。
- カプセル化。 これは、強い境界線を引くプロセスです。 このような分析は、検証されたデータと検証されていないデータを区別することを意味します。
Fortify SCA をダウンロードしてインストールする
インストール プロセスを開始する前に、次のことを行う必要があります。
- 公式ドキュメントからシステム要件を確認してください
- Fortify ライセンス ファイルを取得します。 Microfocus ダウンロード ページからパッケージを選択します。 Fortify Static Code Analyzer を検索し、アカウントを作成して、Fortify ライセンス ファイルを取得します。

- Visual Studio Code がインストールされているか、サポートされている別のコード エディターがあることを確認してください
Windows へのインストール方法
- インストーラー ファイルを実行する
Fortify_SCA_and_Apps_<version>_windows_x64.exe
注意: <version> はソフトウェアのリリース バージョンです。
- 使用許諾契約に同意したら、[次へ] をクリックします。
- Fortify Static Code Analyzer をインストールする場所を選択し、[次へ] をクリックします。
- インストールするコンポーネントを選択し、[次へ] をクリックします。
- Visual Studio 2015 または 2017 の拡張機能をインストールする場合は、ユーザーを指定します。
-
fortify.license
ファイルのパスを指定したら、[次へ] をクリックします。 - セキュリティ コンテンツを更新するために必要な設定を指定します。 URL を https://update.fortify.com として指定することにより、Fortify Rulepack 更新サーバーを使用できます。 [次へ] をクリックします。
- サンプル ソース コードをインストールするかどうかを指定します。 [次へ] をクリックします。
- [次へ] をクリックして、Fortify SCA とアプリケーションをインストールします。
- [インストール後にセキュリティ コンテンツを更新する]をクリックし、インストールが完了したら [完了] をクリックします。
Linux にインストールする方法
同じ手順に従って、Fortify SCA を Linux ベースのシステムにインストールできます。 ただし、最初のステップでは、これをインストーラー ファイルとして実行します。
Fortify_SCA_and_Apps__linux_x64.run
または、コマンド ライン プロンプトを使用して Fortify SCA をインストールすることもできます。
ターミナルを開き、このコマンドを実行します
./Fortify_SCA_and_Apps__linux_x64.run --mode text
インストール プロセスが完了するまで、コマンド ラインの指示に従ってすべてのプロンプトに従います。
Fortify スキャンを実行する方法

インストールが完了したら、セキュリティ分析用のツールをセットアップします。
- インストール ディレクトリに移動し、コマンド プロンプトを使用して bin フォルダーに移動します。
-
scapostinstall.
その後、s と入力して設定を表示できます。 - これらのコマンドを使用してロケールをセットアップします。
2 を入力して [設定] を選択します。
1 を入力して [一般] を選択します。
1 を入力してロケールを選択します
language にEnglish: enと入力して、言語を英語に設定します。
- セキュリティ コンテンツの更新を構成します。 2 を入力して設定を選択し、もう一度 2 を入力して Fortify Update を選択します。 URL を https://update.fortify.com として指定することで、Fortify Rulepack 更新サーバーを使用できるようになりました。
-
sourceanalyzer
と入力して、ツールが完全にインストールされているかどうかを確認します。
Fortify SCA がバックグラウンドで実行され、すべてのコードでセキュリティの脆弱性がチェックされるようになりました。
まとめ
システムがハッキングされ、データが侵害されるケースがインターネット時代に蔓延しています。 幸いなことに、現在、Fortify Static Code Analyzer などのツールがあり、コードが記述されているときにセキュリティの脅威を検出し、アラートを送信して、そのような脅威の処理に関する推奨事項を提供できます. Fortify SCA を他のツールと併用すると、生産性が向上し、運用コストが削減されます。
また、ソフトウェア構成分析 (SCA) を調べて、アプリケーションのセキュリティを向上させることもできます。