Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】【60億円流出】Solanaステーキングで何が起きたのかーAPI悪用の可能性と対策

2025年10月01日に「Zenn」が公開したITニュース「【60億円流出】Solanaステーキングで何が起きたのかーAPI悪用の可能性と対策」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Solanaステーキングで約60億円のSOLがハッキングされた。アンステーク(解除)と見せかけた取引に、引き出し権限のすり替えが仕込まれ、新しい鍵で資金が抜き取られた。API悪用の可能性も指摘されている。被害企業はユーザー損失を出さない方針だ。

ITニュース解説

2025年9月8日、Solanaブロックチェーン上で約60億円相当の暗号資産$SOLが不正に引き出される大規模なハッキング事件が発生した。この事件は、ブロックチェーン技術を使ったステーキングサービスという、比較的新しい金融の仕組みにおけるセキュリティの甘さを浮き彫りにした。システムエンジニアを目指す上では、こうした事件からセキュリティの重要性やシステム設計の注意点を学ぶことが非常に重要だ。

まず、事件の舞台となったSolana(ソラナ)とは、高速かつ低コストで取引ができることを特徴とするブロックチェーンプラットフォームである。ブロックチェーンとは、暗号技術を用いてデータを分散的に記録・管理する技術で、一度記録されたデータは改ざんが困難であるという特性を持つ。そして$SOLは、Solanaブロックチェーンの基盤となる暗号資産だ。

今回の事件の中心である「ステーキング」とは、保有する暗号資産を特定のネットワークに預け入れ、そのネットワークの安定稼働やセキュリティ維持に貢献することで、報酬を得る仕組みを指す。銀行の預金に利息がつくのと似ているが、ステーキングはブロックチェーンの分散型ネットワークの維持に直接参加する意味合いが強い。ユーザーは自分の$SOLをステーキングサービスを提供するプロバイダーに預け、プロバイダーがその$SOLを使ってネットワークに参加し、報酬を得る。

今回のハッキングの手口は非常に巧妙だった。事件は二段階で実行された。第一段階は、攻撃実行の約一週間前、2025年8月31日に仕込まれた。この日、攻撃者は「アンステーク(Deactivate)」と呼ばれるトランザクションを送信した。「アンステーク」とは、ステーキングを解除し、預けていた暗号資産を引き出せる状態に戻すための正当な命令だ。しかし、この一見通常のアンステークトランザクションの中に、攻撃者は密かに「Authorize(Withdrawer)」という別の命令を8本も同梱していた。

「Authorize(Withdrawer)」とは、簡単に言えば、ステーキングされた資産を引き出す権限を持つウォレット(Withdrawer)を、別のウォレットに変更する命令である。つまり、本来であれば資産の所有者やサービス提供者だけが持つべき引き出し権限を、攻撃者自身が管理するウォレットに「すり替える」ための指令だった。この権限すり替えは、複数の命令を一つのトランザクションにまとめて実行できるブロックチェーンの特性を悪用したものと考えられる。この第一段階で、攻撃者は新しい引き出し権限を持つ「鍵」を手に入れることに成功した。

そして第二段階は、2025年9月8日に実行された。攻撃者は、第一段階で不正に入手した新しい引き出し権限(鍵)を使い、複数回にわたって資産の引き出し(Withdraw)を実行した。この行為により、約60億円相当もの$SOLが、正当な所有者の意図に反して攻撃者のウォレットへ流出した。この不正な引き出しを「ドレイン」と呼ぶ。

このような手口が成功した背景には、「API悪用の可能性」が指摘されている。API(Application Programming Interface)とは、異なるソフトウェアやサービス間で情報をやり取りするための窓口や規約のことだ。ステーキングサービスでは、ユーザーの操作を受け付けたり、ブロックチェーンと通信したりするためにAPIが使われる。攻撃者は、このAPIを介して、正当なアンステークという命令の中に不正な権限すり替え命令を忍び込ませ、システムに受け入れさせた可能性が考えられる。これは、APIが受け取る命令の検証が不十分だったり、複数の命令を組み合わせた場合のセキュリティチェックが甘かったりしたことを示唆している。

今回の被害額は非常に大規模だったが、ハッキングを受けたStaking Providerは、ユーザーの損失は出さない方針を表明している。これは、企業が自社の資金などでユーザーの被害を補填することを示唆しており、ブロックチェーンサービスにおける企業の責任のあり方を示す重要な事例となる。また、サービス提供元は直ちにDashboard(ユーザーが操作する画面)やAPIを停止し、さらなる被害を防ぎつつ、段階的な復旧と原因の調査を進めることを発表した。

システムエンジニアを目指す私たちは、今回の事件から多くの教訓を得る必要がある。まず、セキュリティはシステムの設計、開発、運用において最優先事項でなければならない。特に、資産を扱うシステムでは、トランザクションの内部構造を厳密に検証し、不正な命令の組み合わせが実行されないような防御機構を組み込むことが不可欠だ。権限管理は徹底し、どのユーザーやプログラムがどのような操作を行えるのかを明確にし、最小限の権限のみを与える「最小権限の原則」を遵守すべきである。APIの設計においては、入力値の検証を厳格に行い、認証・認可の仕組みを堅牢にすることで、不正なAPI呼び出しを防ぐ必要がある。一つの防御が破られても、別の防御層で食い止められるような多層防御の考え方も重要だ。さらに、システムへの不審なアクセスやトランザクションを常に監視し、異常を早期に検知・対応できる体制を整えることも求められる。ブロックチェーンのスマートコントラクト(プログラム)自体に脆弱性がないか、専門家による監査を定期的に実施することも、セキュリティ確保の重要な手段となる。このような事件は、技術の進化とともにセキュリティ脅威も巧妙化していることを示しており、常に最新の知識と対策が求められる。

関連コンテンツ

関連IT用語