セキュリティの欠陥
セキュリティの脆弱性に関連する欠陥
これらの欠陥では、ハッキングなどのセキュリティ攻撃に対して脆弱性のあるコード内の場所が強調表示されます。多くの場合、これらの欠陥によりランタイム エラーが発生することはありませんが、代わりにコード内のリスクのある領域が示されます。欠陥には次のものがあります。
- 機密データの管理 
- 危険な関数や旧式の関数の使用 
- 乱数の発生 
- パスやコマンドの外部制御 
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 の欠陥チェッカーは、データ フロー、同時実行、数値などのグループに分類されています。 
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)