[SDL 実践ガイド] 手動コード監査のアイデア

記事の序文

SDL セキュリティ テスト プロセスのコード監査部分では、通常、コード監査ツールを使用してソース コードのセキュリティ スキャンを実施し、スキャン結果をレビューして既存のセキュリティ問題を選別し、修復のためのセキュリティ注文の形式で開発者に提出します。監査ツールの利点は、迅速かつ完全に監査できることですが、誤検知や漏れも多いため、時間があるときに手動監査を使用してソース コードの二次セキュリティ監査を実施する企業もありますが、手動監査も同様です。一般的なセキュリティ問題は、時間がかかり、コードを完全にカバーすることを保証することが難しいことです。

監査のアイデア

以下では、JAVA プロジェクトのコード監査を例として、監査のアイデアを示します。

コードレベル

監査人は、プロジェクト コード内の安全でないコーディングや安全でない関数の使用を検索して、次のような一般的なリスクを見つけることができます。 OWASP トップ 10 の脆弱性

  • XXE

  • SQLインジェクション

  • コマンドの実行

  • ファイルのアップロード

  • ファイルの読み取り

  • JNIDインジェクション

  • 逆シリアル化の脆弱性

  • ……

ビジネスレベル

監査人は、プロジェクト フォルダー ディレクトリ、ファイル名、ファイル ソース コード内のコード関数に関するコメントを参照することで、コードのこの部分に対応するビジネス関数を推測し、一般的なビジネス関数の設計上の欠陥を探すことができます。

  • ユーザーログイン

  • ユーザー登録

  • パスワードを回復

  • アカウントのリチャージ

  • 個人情報を変更する

  • ……

コンポーネントフレームワーク

監査人は、プロジェクトの pom ファイルをチェックすることで、安全でないサードパーティのオープン ソース コンポーネントが使用されているかどうかを判断できます。また、プロジェクト ドキュメントなどの指示をチェックすることで、プロジェクトが安全でないフレームワークを使用しているかどうかを判断できます。

  1. フレームワークの脆弱性

  1. サードパーティライブラリの脆弱性

  1. ……

おすすめ

転載: blog.csdn.net/Fly_hps/article/details/129789558