サイズの大きい電子メールや大量の電子メールを攻撃対象に送りつけること。
要はUDPパケット(動画通信とか確実性が低くて良いもので、大量に送れて、TCPのようにハンドシェイクしなくていいもの)を大量に送りつける手法での攻撃のこと。
----
DDoS攻撃の主な攻撃手法8つの特徴をまとめてみた | セキュリティ対策 | CyberSecurityTIMES
https://www.shadan-kun.com/blog/measure/1426/
UDPフラッド攻撃とは、偽ったIPアドレスからDDoS攻撃をするものです。UDPとはTCPと同じく、データ受信をする仕組みの一つです。
しかしUDPはTCPのような接続手順を省略した(コネクションレス)通信であるため、一方的にパケットを送信できます。UDPはオーバーヘッドが低いという特徴から、チャットやVoIPなどのチェックや再チェックが不要なトラフィックに利用されています。UDPは悪用されやすく、攻撃者は比較的少ないリソースで攻撃できる特徴があります。
UDPフラッド攻撃には、ランダム・ポート・フラッド攻撃、フラグメント攻撃の2種類の手法があります。この二つの攻撃方法について紹介します。
UDPフラッド攻撃 — ランダム・ポート・フラッド攻撃
ランダム・ポート・フラッド攻撃とは、サーバのランダムなポートに対してUDPデータグラムを含むパケットを大量に送信することで、サーバを停止させようとする攻撃です。
これにより、サーバはそのポートで待機しているアプリケーションを繰り返し確認し、(アプリケーションが見つからない場合は)ICMPの「Destination Unreachable」パケットで応答します。そして、このプロセスを大量に処理することによりサーバリソースを消費します。
UDPフラッド攻撃 — フラグメント攻撃
UDPフラッド攻撃としてのフラグメント攻撃とは、突然大きなサイズのUDPパケットを大量に送信する攻撃です。逆に、極端に短いパケットのデータを大量に送信することで、ネットワークデバイス(特にファイアーウォール)に負荷をかけることもできます。いずれにしても送信先は大量の処理をするためにリソースを消費します。
----
----
DDoS攻撃の主な攻撃手法8つの特徴をまとめてみた | セキュリティ対策 | CyberSecurityTIMES
https://www.shadan-kun.com/blog/measure/1426/
UDPフラッド攻撃とは、偽ったIPアドレスからDDoS攻撃をするものです。UDPとはTCPと同じく、データ受信をする仕組みの一つです。
しかしUDPはTCPのような接続手順を省略した(コネクションレス)通信であるため、一方的にパケットを送信できます。UDPはオーバーヘッドが低いという特徴から、チャットやVoIPなどのチェックや再チェックが不要なトラフィックに利用されています。UDPは悪用されやすく、攻撃者は比較的少ないリソースで攻撃できる特徴があります。
UDPフラッド攻撃には、ランダム・ポート・フラッド攻撃、フラグメント攻撃の2種類の手法があります。この二つの攻撃方法について紹介します。
UDPフラッド攻撃 — ランダム・ポート・フラッド攻撃
ランダム・ポート・フラッド攻撃とは、サーバのランダムなポートに対してUDPデータグラムを含むパケットを大量に送信することで、サーバを停止させようとする攻撃です。
これにより、サーバはそのポートで待機しているアプリケーションを繰り返し確認し、(アプリケーションが見つからない場合は)ICMPの「Destination Unreachable」パケットで応答します。そして、このプロセスを大量に処理することによりサーバリソースを消費します。
UDPフラッド攻撃 — フラグメント攻撃
UDPフラッド攻撃としてのフラグメント攻撃とは、突然大きなサイズのUDPパケットを大量に送信する攻撃です。逆に、極端に短いパケットのデータを大量に送信することで、ネットワークデバイス(特にファイアーウォール)に負荷をかけることもできます。いずれにしても送信先は大量の処理をするためにリソースを消費します。
----
TCP接続には次のプロセスでネットワーク接続を行っている。
コンピュータ間は、「送っていいか? 」「いいっすよ」の応答で成り立っている。
AというコンピュータからBと言うコンピュータで接続をする場合も、
AからBへ「送っていいか? 」の信号を送り、BからAへは「いいっすよ」と返答する。
この「送っていいか? 」の信号はSYN(synchronize packet(同期))、「いいっすよ」の信号はACK(肯定応答:acknowledgement(承認))で送られる。
これらの信号が双方のA,Bに送られた時に接続が確立できる・・・が、
いま現状のコンピュータ間接続はもうちょっと丁寧に接続確認をしていて、SYNとACKの要求と応答をA→B、B→Aの双方で行い、都合下記の3回の接続が行われるので、3ウェイハンドシェイク(三種の握手)と呼ばれる。
仕組みは次の通り。
1.A→BにSYNを送る。
2.Bが応答できる場合、B→AにACKを送る。このついでにB→Aで逆に接続要求のSYNを送る。
この時、ワンアクションでsyn/ackのセットを送る。
3.2を受けてAが応答できる場合、A→BにACKを送る。
ちなみにsyn、ack/syn、ackの中身TCPヘッダーのControl Bits部にある値を見ると、
1.syn・・・0x002
2.ack/syn・・・0x012
3.ack・・・0x010
となっています。
更に上記の記号(Control Bits)の中身を言うと、
1.000(前3桁)・・・Reserved(予約ビット。常に3桁のゼロ)
2.0(4桁目)・・・ECN-Nonce(輻輳保護)。
https://webcache.googleusercontent.com/search?q=cache:zzqHFPofp9kJ:https://www.ietf.org/rfc/rfc3540.txt+&cd=1&hl=ja&ct=clnk&gl=jp
を読むと、
Abstract
This note describes the Explicit Congestion Notification (ECN)-nonce,
an optional addition to ECN that protects against accidental or
malicious concealment of marked packets from the TCP sender. It
improves the robustness of congestion control by preventing receivers
from exploiting ECN to gain an unfair share of network bandwidth.
The ECN-nonce uses the two ECN-Capable Transport (ECT)codepoints in
the ECN field of the IP header, and requires a flag in the TCP
header. It is computationally efficient for both routers and hosts.
つまりは、このビットは何をしているのかというと、rfc3540の規格で定められたTCPセンダーからの偶発・もしくは悪意のある隠蔽が行われたパケットに対する保護をするためここにビットを追加したらしい。
もうちょい詳しく訳すと、コンピュータ通信での混雑コントロールにおける堅牢性の改善としてやったようです。
ちなみにECNとはExplicit Congestion Notificationの略で、明示的輻輳通知のこと。
3.0(5桁目)・・・Congestion Window Reduced(CWR) 下のECN echo(輻輳が起こってまっせ通知フラグ)に従って輻輳ウインドウを減少させたことを通知するためのフラグ。減少で1。そのままで0。
ちなみに輻輳ウィンドウとは、TCPでの設定値の内の一つで、TCPには通信状況によって送信可能なデータ量を調節するための輻輳ウィンドウと呼ばれる値を設定できる(輻輳とは、さまざまな物が1カ所に集中すること。通信分野では、電話回線やインターネット回線にアクセスが集中することとされる。輻輳ウィンドウは、ネットワークパスの途中で一部のルーターがオーバーランしないようにするために実装された送信者強制ウィンドウで、パケットロスが起きると「あっ、こいつは輻輳しているな」と判断して、このサイズが半分に下がる。輻輳ウィンドウは受信ウィンドウサイズ(コンピュータ間通信で「次はどれくらい送ってきて大丈夫だよ」と言う量のこと)とは別物
https://codeday.me/jp/qa/20190125/170724.html
)。
4.0(6桁目)・・・ECN-Echo 輻輳が起こってまっせ、と言うことを相手側に通知するためのフラグ。起こっていたら1。起こっていなかったら0。
ちなみにECNとは、Explicit(明示的な) Congestion(混雑) Notification(通知)(:明示的な混雑通知)の略。
5.0(7桁目)・・・Urgent 緊急ポインタ・フィールドが有効かどうか。
緊急ポインタ・フィールドとは、相手からのデータを受信中にもう止めて欲しい(BREAK)とか、それを切り上げて次の処理に移って欲しいなどを通知するTCPパケット内での通信フィールドのこと。
緊急ポインターフィールドは、優先的に送信する必要があるデータが存在する時に使用される。
6.X(8桁目)・・・Acknowledgement←ACKが含まれる時には1に、含まれない時は0になる。
7.0(9桁目)・・・Push TCPパケットのヘッダに設定される情報の一つで、パケットを受信したらすぐに上位のプロトコルやアプリケーションに渡すよう指示するためのもの。通常の通信はバッファにためてためてためて、一定量になったら上位プロトコルに渡すが、このフラグが入っていると即時上位プロトコルに渡す。
8.0(10桁目)・・・Reset
TCPでの通信で、正しくないパケットを受け取った時に通信リセットの指示をする場合に、このビットを立てた(1にした)RSTパケットを相手に送る。
RSTパケットを受け取った側は、接続要求や通信状態が拒否されたものとみなし、どのような遷移状態であっても通信はリセットされ、TCPの状態もCLOSEDに移行し、TCBは削除され、終了しなければならない。
通常の、丁寧に切断するFINパケットを用いる方法と違い、強制的に切断する行儀の悪い方法である。
9.0(11桁目)・・・Syn←SYNが含まれる時には1に、含まれない時は0になる。
10.0(12桁目)・・・Fin 接続の終了を通知する際のfinパケットを送る際に1を立てる。
と言うことで、この場合は上記の6と9が問題になる。
1.6が1で9が0の場合はsyn
2.6が1で9が1の場合はack/syn
3.6が0で9が1の場合はack
となる。
普通は上記の1→2→3で通信が確立されて、通信が開始されるが、
1のみを大量に送りつけることも技術的には可能だ。
その時に相手方の処理をフラッドさせて(溢れさせて)、攻撃する手法のことをSYS Flood攻撃と呼ぶ。
コンピュータ間は、「送っていいか? 」「いいっすよ」の応答で成り立っている。
AというコンピュータからBと言うコンピュータで接続をする場合も、
AからBへ「送っていいか? 」の信号を送り、BからAへは「いいっすよ」と返答する。
この「送っていいか? 」の信号はSYN(synchronize packet(同期))、「いいっすよ」の信号はACK(肯定応答:acknowledgement(承認))で送られる。
これらの信号が双方のA,Bに送られた時に接続が確立できる・・・が、
いま現状のコンピュータ間接続はもうちょっと丁寧に接続確認をしていて、SYNとACKの要求と応答をA→B、B→Aの双方で行い、都合下記の3回の接続が行われるので、3ウェイハンドシェイク(三種の握手)と呼ばれる。
仕組みは次の通り。
1.A→BにSYNを送る。
2.Bが応答できる場合、B→AにACKを送る。このついでにB→Aで逆に接続要求のSYNを送る。
この時、ワンアクションでsyn/ackのセットを送る。
3.2を受けてAが応答できる場合、A→BにACKを送る。
ちなみにsyn、ack/syn、ackの中身TCPヘッダーのControl Bits部にある値を見ると、
1.syn・・・0x002
2.ack/syn・・・0x012
3.ack・・・0x010
となっています。
更に上記の記号(Control Bits)の中身を言うと、
1.000(前3桁)・・・Reserved(予約ビット。常に3桁のゼロ)
2.0(4桁目)・・・ECN-Nonce(輻輳保護)。
https://webcache.googleusercontent.com/search?q=cache:zzqHFPofp9kJ:https://www.ietf.org/rfc/rfc3540.txt+&cd=1&hl=ja&ct=clnk&gl=jp
を読むと、
Abstract
This note describes the Explicit Congestion Notification (ECN)-nonce,
an optional addition to ECN that protects against accidental or
malicious concealment of marked packets from the TCP sender. It
improves the robustness of congestion control by preventing receivers
from exploiting ECN to gain an unfair share of network bandwidth.
The ECN-nonce uses the two ECN-Capable Transport (ECT)codepoints in
the ECN field of the IP header, and requires a flag in the TCP
header. It is computationally efficient for both routers and hosts.
つまりは、このビットは何をしているのかというと、rfc3540の規格で定められたTCPセンダーからの偶発・もしくは悪意のある隠蔽が行われたパケットに対する保護をするためここにビットを追加したらしい。
もうちょい詳しく訳すと、コンピュータ通信での混雑コントロールにおける堅牢性の改善としてやったようです。
ちなみにECNとはExplicit Congestion Notificationの略で、明示的輻輳通知のこと。
3.0(5桁目)・・・Congestion Window Reduced(CWR) 下のECN echo(輻輳が起こってまっせ通知フラグ)に従って輻輳ウインドウを減少させたことを通知するためのフラグ。減少で1。そのままで0。
ちなみに輻輳ウィンドウとは、TCPでの設定値の内の一つで、TCPには通信状況によって送信可能なデータ量を調節するための輻輳ウィンドウと呼ばれる値を設定できる(輻輳とは、さまざまな物が1カ所に集中すること。通信分野では、電話回線やインターネット回線にアクセスが集中することとされる。輻輳ウィンドウは、ネットワークパスの途中で一部のルーターがオーバーランしないようにするために実装された送信者強制ウィンドウで、パケットロスが起きると「あっ、こいつは輻輳しているな」と判断して、このサイズが半分に下がる。輻輳ウィンドウは受信ウィンドウサイズ(コンピュータ間通信で「次はどれくらい送ってきて大丈夫だよ」と言う量のこと)とは別物
https://codeday.me/jp/qa/20190125/170724.html
)。
4.0(6桁目)・・・ECN-Echo 輻輳が起こってまっせ、と言うことを相手側に通知するためのフラグ。起こっていたら1。起こっていなかったら0。
ちなみにECNとは、Explicit(明示的な) Congestion(混雑) Notification(通知)(:明示的な混雑通知)の略。
5.0(7桁目)・・・Urgent 緊急ポインタ・フィールドが有効かどうか。
緊急ポインタ・フィールドとは、相手からのデータを受信中にもう止めて欲しい(BREAK)とか、それを切り上げて次の処理に移って欲しいなどを通知するTCPパケット内での通信フィールドのこと。
緊急ポインターフィールドは、優先的に送信する必要があるデータが存在する時に使用される。
6.X(8桁目)・・・Acknowledgement←ACKが含まれる時には1に、含まれない時は0になる。
7.0(9桁目)・・・Push TCPパケットのヘッダに設定される情報の一つで、パケットを受信したらすぐに上位のプロトコルやアプリケーションに渡すよう指示するためのもの。通常の通信はバッファにためてためてためて、一定量になったら上位プロトコルに渡すが、このフラグが入っていると即時上位プロトコルに渡す。
8.0(10桁目)・・・Reset
TCPでの通信で、正しくないパケットを受け取った時に通信リセットの指示をする場合に、このビットを立てた(1にした)RSTパケットを相手に送る。
RSTパケットを受け取った側は、接続要求や通信状態が拒否されたものとみなし、どのような遷移状態であっても通信はリセットされ、TCPの状態もCLOSEDに移行し、TCBは削除され、終了しなければならない。
通常の、丁寧に切断するFINパケットを用いる方法と違い、強制的に切断する行儀の悪い方法である。
9.0(11桁目)・・・Syn←SYNが含まれる時には1に、含まれない時は0になる。
10.0(12桁目)・・・Fin 接続の終了を通知する際のfinパケットを送る際に1を立てる。
と言うことで、この場合は上記の6と9が問題になる。
1.6が1で9が0の場合はsyn
2.6が1で9が1の場合はack/syn
3.6が0で9が1の場合はack
となる。
普通は上記の1→2→3で通信が確立されて、通信が開始されるが、
1のみを大量に送りつけることも技術的には可能だ。
その時に相手方の処理をフラッドさせて(溢れさせて)、攻撃する手法のことをSYS Flood攻撃と呼ぶ。
smurf自体にあまり直接的な理解ができる意味はない。
元々マネロンする人程度の意味だったのだが、とあるセキュリティ攻撃をするツールの名称がsmurfだったがためにsmurf攻撃と呼ばれるようになった。
smurf攻撃では、次の仕組みを利用する。
1.pingを任意のところに打つ。
2.打たれた相手は応答するためにpingを打ってきたところに返す。
3.打った本人はその結果を受領して、対象機器の応答状態を見る。
と言うpingの仕組みを悪用する。
元々、pingを打ったら、そのping「打ち元の自分はここのアドレスを使ってますよ」と言う情報を付加している。
当然打たれた相手はその情報を元に、打ち元のアドレスを割り出してそこに返すわけだ。
しかし、この「打ち元」のアドレスは0と1の信号であるし、デジタル情報なので、詐称することができる。
デタラメな詐称だったらまだ被害は少ないが、攻撃したいとある計算機器があって、そこのアドレスを打ち元と詐称してpingを打つのはどうだろう。
そうすると、ping応答を打たれたサーバーなどは、その詐称先の計算機へ返す。
1個2個であれば問題ないが、数百万などのpingを色んなサーバーから応答された場合、pingの応答でパンクすることになる。
これがsmurf攻撃である。
元々マネロンする人程度の意味だったのだが、とあるセキュリティ攻撃をするツールの名称がsmurfだったがためにsmurf攻撃と呼ばれるようになった。
smurf攻撃では、次の仕組みを利用する。
1.pingを任意のところに打つ。
2.打たれた相手は応答するためにpingを打ってきたところに返す。
3.打った本人はその結果を受領して、対象機器の応答状態を見る。
と言うpingの仕組みを悪用する。
元々、pingを打ったら、そのping「打ち元の自分はここのアドレスを使ってますよ」と言う情報を付加している。
当然打たれた相手はその情報を元に、打ち元のアドレスを割り出してそこに返すわけだ。
しかし、この「打ち元」のアドレスは0と1の信号であるし、デジタル情報なので、詐称することができる。
デタラメな詐称だったらまだ被害は少ないが、攻撃したいとある計算機器があって、そこのアドレスを打ち元と詐称してpingを打つのはどうだろう。
そうすると、ping応答を打たれたサーバーなどは、その詐称先の計算機へ返す。
1個2個であれば問題ないが、数百万などのpingを色んなサーバーから応答された場合、pingの応答でパンクすることになる。
これがsmurf攻撃である。
回答例:
「他人のPC又はサーバに保存された顧客情報を不正に取得して、販売する」
情報漏洩の一種。
「他人のPC又はサーバに保存された顧客情報を不正に取得して、販売する」
情報漏洩の一種。