運用者のタイプミスによる構文エラーでクラッシュしたボットネット 15
ストーリー by headless
停止 部門より
停止 部門より
いささか旧聞ではあるが、Akamai の研究者がボットネット KmsdBot を監視していたところ、突然クラッシュしてしまったそうだ。調査の結果、ボットネット運用者によるコマンドのタイプミスが原因と判明したという
(Akamai のブログ記事、
Ars Technica の記事、
The Register の記事)。
KmsdBot は DDoS 攻撃を実行する機能も備える暗号通貨採掘ボットネット。弱い認証情報を使用する SSH 接続を通じてシステムに感染していくという。リバースエンジニアリングの困難さから攻撃者に選ばれることが増えつつある Go 言語で書かれている。Akamai ではハニーポットに感染した KmsdBot を分析していた。
クラッシュの原因を調べるため、Akamai ではボットネットの C2 に代わって機能し、攻撃の実行コマンドを送信する自前の C2 を作成。2 つの仮想マシンを用意して 1 つにボットを感染させ、もう 1 つを C2 としてコマンドを送信する実験を実行したところ、「!bigdata www.bitcoin.com443 / 30 3 3 100」というコマンドでボットネットが停止したそうだ。
一目でお気付きになった方も多いと思われるが、このコマンドはドメイン名とポート番号がスペースで区切られていない。ボットは構文エラーをチェックする機能を備えておらず、引数の数が正しくないコマンドを受け取った Go バイナリはインデックス範囲外の指定エラーによりクラッシュする。
これにより、C2 と通信したすべての感染マシンでボットのコードがクラッシュし、ボットネット全体が停止したとみられる。ボットは感染マシンで実行を持続する機能を備えておらず、ボットネットを復元するには再度感染させて再構築する必要があるとのことだ。
KmsdBot は DDoS 攻撃を実行する機能も備える暗号通貨採掘ボットネット。弱い認証情報を使用する SSH 接続を通じてシステムに感染していくという。リバースエンジニアリングの困難さから攻撃者に選ばれることが増えつつある Go 言語で書かれている。Akamai ではハニーポットに感染した KmsdBot を分析していた。
クラッシュの原因を調べるため、Akamai ではボットネットの C2 に代わって機能し、攻撃の実行コマンドを送信する自前の C2 を作成。2 つの仮想マシンを用意して 1 つにボットを感染させ、もう 1 つを C2 としてコマンドを送信する実験を実行したところ、「!bigdata www.bitcoin.com443 / 30 3 3 100」というコマンドでボットネットが停止したそうだ。
一目でお気付きになった方も多いと思われるが、このコマンドはドメイン名とポート番号がスペースで区切られていない。ボットは構文エラーをチェックする機能を備えておらず、引数の数が正しくないコマンドを受け取った Go バイナリはインデックス範囲外の指定エラーによりクラッシュする。
これにより、C2 と通信したすべての感染マシンでボットのコードがクラッシュし、ボットネット全体が停止したとみられる。ボットは感染マシンで実行を持続する機能を備えておらず、ボットネットを復元するには再度感染させて再構築する必要があるとのことだ。
一方スラドは (スコア:1)
タイプミスがないと感染が疑われるのであった
ストレージに残らん奴? (スコア:0)
> ボットは感染マシンで実行を持続する機能を備えておらず
自動実行や既存実行ファイルからの起動もしないのであれば、
流し込まれた攻撃コードがオンメモリで動くだけでストレージへの書き込みは起きない奴かな?
ファイルを対象にしたアンチウィルスでは検知すべき対処が無い。
紐付きjailbreakと同じく再起動で元通りだけど、
痕跡が少なそうだからこういうのは見つけるのつらそう。
Re: (スコア:0)
ストレージに残るけど、設定保存後にクラッシュして、再起動もできなくなり、再感染が必要になるとか?
例外握り潰しは正義 (スコア:0)
こういうことあるから例外握り潰しは正義。クラッシュはしない。
別にボットネットがユーザー側でクラッシュしてもそう困らないだろうけど。
接続が切れたら困るか。
Re:例外握り潰しは正義 (スコア:1)
なるほど、エラー忘却型コンピューティング [wikipedia.org]というソリューション。
Re: (スコア:0)
エラー忘却型コンピューティングというソリューション。
エラー忘却型勘ピューティングなら前世紀から実装済みですな
Re: (スコア:0)
> こういうことあるから例外握り潰しは正義。クラッシュはしない。
クラッシュなんてデータ破壊に比べればはるかに軽度の問題でしかない。
安易な例外握りつぶしはデータ破壊に繋がることがあるので悪。
Re: (スコア:0)
一般論としてはともかく、ボットネットにとって宿主のデータ保全なんかどうでもいいだろ
Re: (スコア:0)
C2ノード切り替えのコマンドミスってそのまま保存されたらやっぱり構築したBotネットが無効化されてしまうから駄目は駄目では?
Re: (スコア:0)
いかに握り潰すかもノウハウだろw
Re: (スコア:0)
正義なんてない。握り潰しに問題が無い場合はそうするだけ。
Re: (スコア:0)
そもそも例外のデフォルト動作を何もしないにしておけと
昔からの議論の対象かな
# それは0割でどうするかに始まった
Re: (スコア:0)
Command & Control、軍事用語の「指揮と統制」から転じてBotネットワークでコマンドを別のマシンに送信し続ける感染済みマシンのこと
Re: (スコア:0)
A1. C&Cサーバー(C2サーバー): Akamaiの記事でも単にC2って言ってるし別にいいんじゃね
A2. 掲載ノルマに追われて大変だった(headless氏にノルマがあるのかは知らん)