メインコンテンツ

セキュリティの欠陥

セキュリティの脆弱性に関連する欠陥

これらの欠陥では、ハッキングなどのセキュリティ攻撃に対して脆弱性のあるコード内の場所が強調表示されます。多くの場合、これらの欠陥によりランタイム エラーが発生することはありませんが、代わりにコード内のリスクのある領域が示されます。欠陥には次のものがあります。

  • 機密データの管理

  • 危険な関数や旧式の関数の使用

  • 乱数の発生

  • パスやコマンドの外部制御

Polyspace 結果

すべて展開する

チェック時と使用時 (TOCTOU) の間のファイル アクセスアクセス競合によりファイルやフォルダーの状態が変化する可能性がある
子プロセスに対するファイル記述子の公開複数のプロセスで使用されるコピーされたファイル記述子
chroot の後に chdir を実行せずにファイルが操作されましたchroot の呼び出し後に操作されたファイルの、パス関連の脆弱性
デバイス ファイルの I/O 動作が不適切ですセキュリティの脆弱性やシステム障害につながる可能性のある操作
システム関数の安全でない呼び出しサニタイズされていないコマンド引数には悪用可能な脆弱性が含まれる
セキュリティで保護されていない一時ファイルを使用しています一時的に生成されたファイル名がセキュリティで保護されていない
パス操作が脆弱ですパス引数が /..//abs/path/ など、セキュリティで保護されない要素を含む
権限を削除する順序が正しくありません昇格された権限のうち低い権限より前に高い権限を削除
権限の削除が検証されていません攻撃者がプログラムへの意図しない昇格されたアクセス権を取得可能
umask が chmod 型の引数と共に使用されていますumask の引数で、外部ユーザーによる制御が過剰に許可されている
アクセス許可の割り当てが脆弱です引数により外部ユーザーに書き込み、読み取りまたは検索の権限が付与されている
安全でない標準暗号化関数関数が再呼び出し可能でないか、リスクの大きい暗号化アルゴリズムを使用している
安全でない標準関数セキュリティ関連用には安全でない関数
危険な標準関数を使用しています危険な関数が格納先バッファーでバッファー オーバーフローを引き起こす可能性がある
旧式の標準関数が使用されています旧式のルーチンがセキュリティの脆弱性や移植性の問題の原因となることがある
LDAP インジェクションData read from an untrusted source is used in the construction of an LDAP query (R2023a 以降)
SQL インジェクションData read from an untrusted source is used in the construction of an SQL query (R2023a 以降)
定数シードからの確定的な乱数出力です出力を確定的にする定数シードがシード ルーチンで使用されている
予測可能なシードによる予測可能な乱数出力ですシード ルーチンで予測可能なシードが使用され、出力が予測可能になっている
擬似乱数発生器が脆弱です暗号法的に脆弱な疑似乱数発生器を使用
クリティカルなデータ メンバーがプライベートではありませんA critical data member is declared public (R2022a 以降)
errno の未チェック関数呼び出し後のエラー状態について、errno をチェックしていない
相対パスからバイナリを実行すると、外部アクターの制御を受ける可能性があります相対パスを含むコマンドには悪意のある攻撃に対する脆弱性がある
関数ポインターに絶対アドレスが割り当てられています関数アドレスとして使用される定数式にコード インジェクションに対する脆弱性がある
ハードコードされた機密データ機密データが文字列リテラルなどとしてコード内に露出される
ネットワーク接続操作の順序が正しくありません接続手順の順序が誤っているか手順が抜けているためソケットが正しく確立できない
構造体のパディングによる情報漏洩パディング バイトに含まれる可能性のある機密情報
相対パスからライブラリを読み込むと、外部アクターの制御を受ける可能性があります相対パスで読み込まれたライブラリは悪意のある攻撃に対し脆弱である
データの長さとサイズが一致していませんデータ サイズ引数が実際のデータ長から計算されない
switch 条件の case がありませんswitch 変数が case によってカバーされておらず、default ケースがない
readlink() の不適切な使用readlink の 3 番目の引数がバッファー内に NULL 終端の領域を残さない
プレーン テキストのパスワードがファイル システムに保存されていますPassword stored in files in plain text format (R2023b 以降)
リソース インジェクションData input is not properly restricted before being used as a resource identifier (R2024a 以降)
要注意の関数の戻り値がチェックされていません予期しない戻り値およびエラーのチェックなしで呼び出される要注意の関数
機密データが出力されました関数により機密データが出力される
要注意のヒープ メモリが解放前にクリアされていません機密データがメモリ ルーチンでクリアも解放もされていない
不確かなメモリのクリーン アップコードでは機密である可能性がある情報をメモリからクリアするが、コンパイラ最適化では、その情報が消去されずに残される可能性がある (R2022a 以降)
スタック内にクリアされていない機密データがありますスタック内の変数がクリアされておらず、機密データが含まれている

トピック

  • Bug Finder 欠陥グループ

    Bug Finder の欠陥チェッカーは、データ フロー、同時実行、数値などのグループに分類されています。