owasp-scsvs-ja
  • OWASP Smart Contract Security Verification Standard ja
  • OWASP スマートコントラクトセキュリティ検証標準 0.0.1 日本語版
    • OWASP スマートコントラクトセキュリティ検証標準
    • リーダー
    • S1. アーキテクチャ、設計、脅威モデリング (Architecture, Design, and Threat Modeling)
    • S2. ポリシー、手続き、コード管理 (Policies, Procedures, and Code Management)
    • S3. ビジネスロジックと経済のセキュリティ (Business Logic and Economic Security)
    • S4. アクセス制御と認証 (Access Control and Authentication)
    • S5. 安全なインタラクションと通信 (Secure Interactions and Communications)
    • S6. 暗号化の実践 (Cryptographic Practices)
    • S7. 算術と論理のセキュリティ (Arithmetic and Logic Security)
    • S8. サービス拒否 (Denial of Service (DoS))
    • S9. ブロックチェーンデータと状態管理 (Blockchain Data and State Management)
    • S10. ガスの使用量、効率、制限 (Gas Usage, Efficiency, and Limitations)
    • S11. コンポーネント固有のセキュリティ (Component-Specific Security)
Powered by GitBook
On this page
  • 管理目標
  • S8.1 ガス制限 (Gas Limits)
  • 管理目標
  • S8.1.A 効率的なループと関数の設計 (Efficient Loop and Function Design)
  • S8.1.B フォールバックメカニズム (Fallback Mechanisms)
  • S8.2 資源枯渇に対する耐性 (Resilience Against Resource Exhaustion)
  • 管理目標
  • S8.2.A レート制限 (Rate Limiting)
  1. OWASP スマートコントラクトセキュリティ検証標準 0.0.1 日本語版

S8. サービス拒否 (Denial of Service (DoS))

管理目標

プラクティスとメカニズムを確立して、コントラクトの機能とか要請を妨げる可能性のあるサービス拒否 (DoS) 攻撃を防ぎます。

S8.1 ガス制限 (Gas Limits)

管理目標

コントラクト設計と機能実装がガス使用に効率的であり、out-of-gas エラーや関連する脆弱性に関連するリスクを軽減することを確認します。

S8.1.A 効率的なループと関数の設計 (Efficient Loop and Function Design)

参照コード
要件
L1
L2
L3
SWE

S8.1.A1

重要な機能のガス消費を慎重に管理することで、コントラクトが不十分なガスのグリーフィング攻撃から保護されていることを確認します。

✓

✓

S8.1.A2

RocketDepositPool コントラクトのようなシステムが burn() のような関数の失敗を適切に処理することを確認します。

✓

✓

S8.1.A3

関数とループのガス使用が効率的であり、out-of-gas エラーを回避することを検証します。

✓

✓

S8.1.A4

ブロックガス制限によるサービス拒否攻撃を防ぐメカニズムを実装して、トランザクションや操作がガス制限の制約を超えないことを確保します。

✓

✓

S8.1.B フォールバックメカニズム (Fallback Mechanisms)

参照コード
要件
L1
L2
L3
SWE

S8.1.B1

try/catch ブロックには十分なガスが提供され、エラー時の失敗や予期しない動作を回避することを確認します。

✓

✓

S8.2 資源枯渇に対する耐性 (Resilience Against Resource Exhaustion)

管理目標

戦略を実装して、DoS シナリオにつながる可能性のあるリソース枯渇攻撃から保護します。

S8.2.A レート制限 (Rate Limiting)

参照コード
要件
L1
L2
L3
SWE

S8.2.A1

サービス拒否 (DoS) 攻撃につながる可能性のあるブロッキングメカニズムの使用を避けます。

✓

✓

S8.2.A2

過剰なデータクエリを効率的に処理することで、supportsERC165InterfaceUnchecked() のような関数における潜在的な DoS から保護します。

✓

✓

S8.2.A3

特に条件が満たされないシナリオで、アサーションがサービス拒否や予期しないコントラクトの差し戻しにつながらないことを確認します。

✓

✓

S8.2.A4

外部関数呼び出しからの戻り値がチェックされ、予期しない動作につながる可能性がある、チェックされていない戻り値に関連する問題を防いでいることを検証します。

✓

✓

S8.2.A5

起こりうるすべてのエラー状態を適切に処理することで、コントラクト関数が予期しない差し戻しによるサービス拒否から保護されていることを確認します。

✓

✓

S8.2.A6

ERC165Checker.sol の supportsERC165InterfaceUnchecked() のような関数が大きなデータクエリを効率的に処理して、過剰なリソース消費を回避することを確認します。

✓

✓

PreviousS7. 算術と論理のセキュリティ (Arithmetic and Logic Security)NextS9. ブロックチェーンデータと状態管理 (Blockchain Data and State Management)

Last updated 6 months ago