What is Denial of Service (DoS)?
Denial of Service (DoS)は、サイト、API、またはノードを迷惑なトラフィックや負荷の高いリクエストで溢れさせて利用不可にしようとする攻撃です。誰かが電話を止めどなくかけ続けて他の人が繋がれない状態を想像してください。厄介で騒がしく、防御が弱いと非常に効果的です。
「Denial of Service (DoS)はハッキングされて資金が消えたという意味だ」……これは正確ではありません。Denial of Service (DoS)は可用性を狙う攻撃で、鍵そのものを狙うわけではありません。アクセスを遮断したり遅延させたりしますが、資金の窃取は通常、別の脆弱性が必要です。
How Denial of Service (DoS) works
注目のイベント時に人気のある取引所のエンドポイントを想像してください。ある攻撃者がリクエストを洪水のように送り込む、あるいは重い処理経路を誘発することで、通常のユーザーが待たされる状況になります。簡単な流れ:
- ステップ1:攻撃者はRPCゲートウェイ、バリデータ、またはAPIルートなどを標的に定めます。
- ステップ2:大量の無意味なトラフィックを押し込み、対象の ネットワーク帯域 と処理能力が詰まります。
- ステップ3:実際のユーザーはタイムアウトや失敗するリクエスト、キューの増大に伴う手数料の上昇に直面します。
- ステップ4:オンチェーンでは、トランザクションが 承認 を待つ時間が長くなり、取引やミントに影響を及ぼすことがあります。
- ステップ5:防御側はレート制限、フィルタリング、キャッシュ、ルーティングの改善などでサービスの可用性を保とうと対処します。
派手ではありませんが、これが典型的な手口です。
Why Denial of Service (DoS) Matters
影響を受けると実感します。ウォレットが無事でもその影響は感じられます。気にすべき理由は次の通りです:
- 利点:兆候を把握しておけば、トラフィック急増時の不利な約定、ミントの取り逃し、スワップ失敗を避けやすくなります。
- 視点:ボットネットは安価で、注目イベントは狙われやすく、攻撃者はエアドロップや人気リリースのような混雑を好みます。
- 関連性:ウォレットやノード、そして 分散型アプリケーション(dApps) で遭遇することがあり、特に一斉にアクセスが集中した際に発生しやすいです。
大きなリリース前には、スケーラブルなインフラを謳う提供者を選び、妥当なスリッページとタイムアウトを設定し、バックアップのRPCを用意しておきましょう。
Key Characteristics of Denial of Service (DoS)
他の攻撃と区別される点:
- 飽和:計算、メモリ、トラフィックキューなどの限られた資源を圧倒します。
- 可用性:データを盗むのではなく、サービスを遅くするまたは利用できなくすることを狙います。
- 規模:単一の発信源からでも、多数のマシンを使った大規模な群体まで多様です。
- 副次被害:その経路上の全員が影響を受け、単一のユーザーだけが被害を受けるわけではありません。
Variations
Denial of Service (DoS)にはいくつかの型があります。オンチェーンでは、コストの高い呼び出しを連続で送ることでスマートコントラクトを攻撃することもあります。
- ボリューム型:大量のトラフィックで回線を埋め、本来のリクエストを飲み込ませます。
- プロトコル型:ネットワークプロトコルの特性を悪用して、サーバーを無駄な処理で忙しくさせます。
- アプリケーション型:検索やアカウント履歴など、重いエンドポイントを呼び出してCPUやメモリを消費させます。
- DDoS:多くの発信源からの分散型で、短時間でフィルタするのがさらに困難です。
ミントや上場の際の停止は必ずしも脆弱性の悪用とは限りません。外見は同じでも、単にトラフィック過負荷である場合もあります。
Example
注目を集めたNFTミントの際、取引所APIや公開RPCが叩かれてスワップが停滞し、手数料が急騰する中でトランザクションが保留のままになることがあります。
Fun Fact
1990年代の古典的なSYNフラッドは、ほとんど帯域を使わずに大規模サーバーを落とせたため話題になりました。そのため、より賢いフィルタの開発が常に続いています。
Wrap-Up
要点:Denial of Service (DoS)は扉を塞ぐような攻撃であり、錠を破るものではありません。人が集まる前に混雑対策を準備しておきましょう。
