2009年1月14日水曜日

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
セキュリティ専門家が「最も恐ろしいプログラミング・エラー・トップ25」を発表とあったので、ソースをざっくり呼んでみることにした。

2009 CWE/SANS Top 25 Most Dangerous Programming Errors


The Top 25 is organized into three high-level categories that contain multiple CWE entries.

Insecure Interaction Between Components


コンポーネント間の危険なやり取り。

These weaknesses are related to insecure ways in which data is sent and received between separate components, modules, programs, processes, threads, or systems.


  • CWE-20: Improper Input Validation, 不適切な入力の検証

  • CWE-116: Improper Encoding or Escaping of Output, 出力の不適切なエンコード・コード

  • CWE-89: Failure to Preserve SQL Query Structure (aka 'SQL Injection')

  • CWE-79: Failure to Preserve Web Page Structure (aka 'Cross-site Scripting')

  • CWE-78: Failure to Preserve OS Command Structure (aka 'OS Command Injection')

  • CWE-319: Cleartext Transmission of Sensitive Information, 平文での機密情報・個人情報の送受信

  • CWE-352: Cross-Site Request Forgery (CSRF)

  • CWE-362: Race Condition, 競合

  • CWE-209: Error Message Information Leak エラーメッセージからの情報漏れ。(「ユーザ名もしくはパスワードが違います。」ではなく「パスワードが違います。」と答えてユーザ名が存在することをもらしてしまう)



Risky Resource Management


危険なリソース管理。

The weaknesses in this category are related to ways in which software does not properly manage the creation, usage, transfer, or destruction of important system resources.
システム上重要なリソースの生成、使用、転送、破棄・解放が不適切に行われることによる脆弱性。


  • CWE-119: Failure to Constrain Operations within the Bounds of a Memory Buffer、メモリバッファの領域内に操作を限定できないことによる脆弱性

  • CWE-642: External Control of Critical State Data、競合状態のデータを外から操作可能できてしまうことによる脆弱性

  • CWE-73: External Control of File Name or Path、外部からファイル名もしくはパスを操作できてしまう脆弱性

  • CWE-426: Untrusted Search Path、信頼できない探索パス。(おそらく../../../etc/passedとか。)

  • CWE-94: Failure to Control Generation of Code (aka 'Code Injection')、実行コードの生成の管理の失敗

  • CWE-494: Download of Code Without Integrity Check、検証なしでの実行コードダウンロード

  • CWE-404: Improper Resource Shutdown or Release、不適切なリソース解放

  • CWE-665: Improper Initialization、不適切な初期化

  • CWE-682: Incorrect Calculation 、正しくない計算



Porous Defenses



The weaknesses in this category are related to defensive techniques that are often misused, abused, or just plain ignored.


  • CWE-285: Improper Access Control (Authorization)、不正な権限管理

  • CWE-327: Use of a Broken or Risky Cryptographic Algorithm、正しくない暗号アルゴリズムの使用

  • CWE-259: Hard-Coded Password、パスワードをプログラムに埋め込む

  • CWE-732: Insecure Permission Assignment for Critical Resource、重要な資源へのアクセス権限の不適切な許可の付与

  • CWE-330: Use of Insufficiently Random Values、ランダム性の不足した値の使用

  • CWE-250: Execution with Unnecessary Privileges、不要に高い権限での実行。

  • CWE-602: Client-Side Enforcement of Server-Side Security。サーバ側の権限をクラアントサイドでの認証で行う

0 件のコメント: