4. トラフィック分析技術
4.8. 最新の不正アクセスの動向
近年ではさらに新しい攻撃についての研究が数多く報告されている。本調査研究ではそれ らの中でも現時点で決定的な対策がなく、また実際に攻撃としての効果を挙げることが報 告されている2つのDoS攻撃について調査検討する。
4.8.1. Reflector攻撃
DRDoS(Distributed Reflection DoS)攻撃は様々なシステムおよびアプリケーションが生成
する応答パケットを利用してDoSトラフィックを生成する、反射型のDoS攻撃である。攻
撃者はReflectorとなるノードに向けてSource IPを攻撃目標となるように改竄したなんら
かの要求パケットを送信し、Reflector にそれに対する応答パケットを目標(改竄された Source IP)に対して送信(返信)させることで成立する[54][55][56]。
図 15 DDoSと反射型DDoS 例として、reflection SYN flooding attackを挙げる。
1.攻撃者はSource IPを目標のIPアドレスに設定して、大量のSYNパケットを送 出
2.SYNパケットを受信したサーバやルータは、TCPの3wayハンドシェイクを成立 させるためにSYN/ACKパケットをSYNパケットのSource IP(目標)に向けて送 る。
3.Reflectorは、3wayハンドシェイクが完了するACKが返ってくるまでSYN/ACK を送り続ける。
4.しかしSYN/ACKの宛先は元のSYNの送信者とは異なるため、ACKが戻される ことはなく、再送によってSYN/ACKの量はSYNパケットの3〜4倍にもなる。
5.結果として、ネットワークが SYN/ACK で溢れ、攻撃者が攻撃を終えたあとでも 数分間は、その効果が持続する。
この攻撃の特徴として、
• インターネットの基本的な伝送プロトコルを利用
• “Reflector”のリストを生成するのは容易
等が挙げられる。これらの中には単独では特に不正ではないパケットも多くあり、単純な パケットフィルタ等ではReflector側でも被攻撃側でも防ぐことが困難である。
図 16にTCP-SYNによる反射型攻撃の例を示す。実験環境を図 17に示す。攻撃者(A)
から反射ノード(R)にTCP-SYNを送信し、Rから被害者(V)にSYN-ACKが送信され る。グラフの赤で示された線が結果的にVに届いた攻撃パケットの量となる。X軸をAが
生成するTCP-SYNの送信レート(PPS)、Y軸をVに届いたパケットの量を示している。
図からわかるとおり、攻撃の効果は攻撃パケットに対して線形ではない。これは R が応答 パケットを再送するなどの処理を行うことで増幅されるとともに、VからRに送られるRST パケットによって通信が終了するケースがあるためである。また A からの送信レートが一 定以上になるとRに対するSYN floodとなることから効果が落ちてくることがわかる。こ の特性は、洗練された攻撃ではA が送信するパケットの送信レートは大きな値となりにく いことを示しており、検知の困難さが予想される。実際には反射型攻撃は大量の R を活用 することからVでは早い段階でRSTを送信することができなくなり、効果はさらに上がる ことが予想できる。
図 16 TCP-SYNによる反射型攻撃の例
図 17 反射型攻撃の実験
また通信プロトコルとしての基本的な機能を利用したものであるため、インターネット上 の多くのノードがReflectorになりえる。このことは多くのノードを使った大規模なDDoS トラフィックを容易に生成し得ることを示しており、今後大きな脅威となり得る。
4.8.2. Pulsing DoS攻撃
従来のDoSは大量のトラフィックを発生させて目標がサービスを提供できない状態にする 事を目的としている。一方、DeS(Degradation of Service)攻撃はサービスを劣化させるこ とを目的とした攻撃であり、従来のDoSとは異なり大量のトラフィックを発生させる必要 がないと言われている。DeS 攻撃はサービスを妨害するものではないため、個々の被害者 側では攻撃を受けているという事に気付きにくい。また、攻撃トラフィックが従来の DoS と比べかなり少ないため検知・追跡が困難になる。
このような攻撃を実行するために、通常のDoS攻撃が大容量のトラフィックを連続的に送 信するのに対して、Pulsing DoSでは非常に短い時間で比較的少数のパケットを断続的に送 信する。
この手法は、ネットワークのQueueを埋め尽くすために十分な程度のパケットだけを送信 することによって、他の通常通信のパケットがロスする可能性を効率的に高めることを目 的としている。Queueの長さが40〜50パケット分程度であることとTCPの輻輳制御アル ゴリズムの影響で、帯域を埋め尽くすことなく通常通信のTCPの性能を引き下げることが できる。
文献[57]では、この攻撃に関して詳細な研究を実施している。図 18に文献中で述べられて いる効果的なPulseの生成方法について示す。この攻撃はTCPの輻輳制御アルゴリズムを 悪用することで最も効果を発揮する。
l1 Queue
V
R A
攻撃
のトラフィックが最も効果的となる。一度 Queue を埋めてしまうとその後は Queue のサ ービス率l2と等しい送信レートの攻撃で十分な効果を発揮する。l2での攻撃を一定時間継 続することでTCPは回線が輻輳していると判断し送信レートを下げる。このとき一定数異 常のパケットが攻撃によってあふれているQueueで落とされるとTCPはSlow Startとし て知られている輻輳制御プロセスを開始する。
TCP はその性質上輻輳に対して保守的な制御を行うように設計されていることから、一度 深刻な輻輳と判断されSlow Startプロセスを開始すると、再び送信レートを上げることに 対して慎重な制御を行う。攻撃者はこの間T時間攻撃をしなくてもTCPの性能を落とした ままでいられる。結果として図のように定期的に必要最小限のパケットを送信することで TCP通信に大きなダメージを与えることが可能になる。
実際にはこれほどの精密な制御は容易ではないが、文献では大雑把にこれに近い攻撃を実 行するだけでも十分な効果があることが実験を通して示されている。
図 18 効果的なPulsing DoSの例