Jtestによるセキュリティチェック
Jtestのセキュリティ脆弱性検出の特長
Jtestは、Javaコードに潜むさまざまなセキュリティ脆弱性を検出します。ソフトウェアのセキュリティテストは開発の後工程やリリースの直前に行われることが多く、問題が見つかると大きな手戻りが発生します。その結果、リリースの遅延や工数の増加につながることもあります。そこで、開発の初期段階からJtestを使うことでセキュリティの問題をコーディングの早い段階で発見し、手戻りを最小限に抑えることができます。Jtestは クロスサイトスクリプティングやSQLインジェクション、HTTPレスポンス分割といった、セキュリティ脆弱性を検出する800種類のルールが搭載されており、Webアプリケーションを脅かす攻撃に対して、脆弱なコードをピンポイントに検出します。また、CERT for Java、OWASP Top10、PCI DSS、CWE Top 25などの権威ある団体が発表したセキュリティ脆弱性のルールカテゴリがあらかじめ用意されているので、すぐに検証を実施することが可能です。搭載されているルールやルールセットは容易にカスタマイズできるので、ユーザ独自のセキュリティポリシーに合わせたルールおよびルールセットを作成し、チーム内で共有することで、ポリシーへの準拠を徹底することができます。
JtestによるDevSecOps
DevSecOpsという言葉を聞いたことがあるでしょうか?DevOpsは開発と運用がチームとして連携してすることで効率よく開発を進められるようにする活動です。そこにセキュリティの観点も取り入れ、セキュリティ品質を同時に担保することをDevSecOpsといいます。
なぜDevSecOpsなのか?
セキュリティテストは通常、リリース前など後工程で行われることが多いため、問題が見つかると大きな手戻りが発生します。その結果リリースの遅延や工数の増加に繋がり、せっかくDevOpsで行った効率の良い開発が台無しになる場合があります。そこで、初期段階からセキュリティを意識した開発を行うことで、手戻りを最小限に抑え、セキュアで効率的な開発を行うことができます。
DevSecOpsの実現
この DevSecOps を実現するには、これまでの活動に加えて次のような仕組みをチームに適用することが重要です。
OWASP TOP 10やPCI DSSなど一般的な脆弱性に関するポリシーをチームに適用することで、チーム全体がセキュアなソフトウェア開発に対して共有に認識を持つ事ができます。Jtestではこれらセキュアコーディング標準対するコンフィギュレーションを用意しており、すぐにセキュリティチェックを開始することができます。
この DevSecOps を実現するには、これまでの活動に加えて次のような仕組みをチームに適用することが重要です。
- チーム全体が共通の認識でセキュリティ確保に取り組む
- 開発者がセキュアなソースコードを実装する
- セキュリティテストを CI 環境で自動化する
OWASP TOP 10やPCI DSSなど一般的な脆弱性に関するポリシーをチームに適用することで、チーム全体がセキュアなソフトウェア開発に対して共有に認識を持つ事ができます。Jtestではこれらセキュアコーディング標準対するコンフィギュレーションを用意しており、すぐにセキュリティチェックを開始することができます。
・OWASP TOP 10 | ・PCI DSS | ・Cert For Java |
・OWASP API SECURITY TOP 10 | ・CWE | ・CWE TOP 25 |
・CWE TOP 25 + On the Cusp | ・UL 2900 | ・DISA-ASD-STIG |
開発者がセキュアなソースコードを実装する
JtestはIDEにプラグインして利用できるため、チームが採用したセキュアコーディング標準に沿ったコーディングが行われているか、開発者自身が自分のマシンでソースコードを書きながらその場でチェックを行うことができます。もし、セキュリティの問題が見つかったとしても、書いたのその場ですぐに修正することが出来るため、手戻りを発生させずにセキュリティの問題を取り除く事ができます。ツールを使うことで特定の有識者に依存する事なくセキュリティチェックを行えます。
JtestはIDEにプラグインして利用できるため、チームが採用したセキュアコーディング標準に沿ったコーディングが行われているか、開発者自身が自分のマシンでソースコードを書きながらその場でチェックを行うことができます。もし、セキュリティの問題が見つかったとしても、書いたのその場ですぐに修正することが出来るため、手戻りを発生させずにセキュリティの問題を取り除く事ができます。ツールを使うことで特定の有識者に依存する事なくセキュリティチェックを行えます。
セキュリティチェックを CI 環境で自動化する
JtestをCI環境に組み込むことで、開発者がソースコードをコミットしたタイミングや夜間など定期的に静的解析を実施できます。開発者は解析の実行を意識せずに結果を受け取れます。また、ソースコードが変更された場合は必ず実行されるので、チェック漏れがなくなり、セキュアコーディング標準を徹底できます。CI環境で実行した解析結果はダッシュボードツールであるParasoft DTPへ自動で登録されます。Parasoft DTPのダッシュボードを確認することで、ソースコードの状態をチームで共有することができます。
JtestをCI環境に組み込むことで、開発者がソースコードをコミットしたタイミングや夜間など定期的に静的解析を実施できます。開発者は解析の実行を意識せずに結果を受け取れます。また、ソースコードが変更された場合は必ず実行されるので、チェック漏れがなくなり、セキュアコーディング標準を徹底できます。CI環境で実行した解析結果はダッシュボードツールであるParasoft DTPへ自動で登録されます。Parasoft DTPのダッシュボードを確認することで、ソースコードの状態をチームで共有することができます。
※ セキュリティルール及びセキュリティコンプライアンス規約セットによる静的解析には「セキュリティコンプライアンスパック」のライセンス(有償)が必要です。
イベント・セミナー
Java対応静的解析・単体テストツール Jtestに
関するお問い合わせ
テクマトリックス株式会社
東京本社ソフトウェアエンジニアリング事業部
03-4405-7853
- メールでのお問い合わせ
- parasoft-info@techmatrix.co.jp