SYNフラッド攻撃は、通信ポートを大量の信号をクライアントから送信することにより、枯渇させて、サービスの停止を招く攻撃です。DDoS攻撃の一種として分類され、サイバー攻撃の一種です。
SYNフラッド攻撃は、通信サービスの停止を招くだけでなく、攻撃者が大量の信号を送信し続ける間に、脆弱性が発生し、不正アクセスも起こりやすくなりますので、早急に対応することが必要です。数年前にこの攻撃を発生させるマルウェアMirai による攻撃がアメリカで行われ、この亜種による攻撃が今後も懸念されています。
ただし、いくつか技術的な予防策・対応策として有効なものも確認されているので、SYNフラッド攻撃の仕組みと予防策・万が一攻撃を受けた場合の対応策についてまとめてお伝えします。
SYNフラッド攻撃とは
SYNフラッド攻撃は、DDoS攻撃の一種で、サーバ(ホストコンピュータ)のリソースを消費させることによりサービスを停止させる攻撃のことを言います。サーバの通信ポートがターゲットになり、ここにSYNパケット=接続要求信号を大量に送り付けるのが攻撃の内容です。
ホストコンピュータで一般的に利用されている、TCPプロトコル(通信規約)においては、3ウェイ・ハンドシェイクという手続きにより通信を確立します。ここにおける最初の接続要求(SYN)パケットを送信し続け、使用可能なポートを全て使用してしまうので、通信が妨害されてしまいます。
SYNパケットが送られたのみの状態では、手続きの半分しか完了していないことから、ハーフオープンとも呼ばれることがあり、SYNフラッド攻撃もハーフオープン攻撃との別名があります。
3ウェイ・ハンドシェイクをおさらい
TCPと呼ばれる、一般的にインターネット接続で利用されている通信プロトコルは、接続の要求をした場合、通信相手の応答があって初めて通信を確立する、コネクションプロトコルを利用しています。
ここにおける通信の以下の順序で行われる通信確立手続きを「3ウェイ・ハンドシェイク」と呼んでいます。
- サーバーがクライアントからSYNパケットを受信
- サーバーがSYN/ACKパケットをクライアントに返す
- サーバーがクライアントから接続開始をあらわすACKパケットを受信
この手続きによって通信が開始できる仕組みです。
DDoS攻撃とは
DDoSとは、Distributed Denial Of Serviceの略で、多数のコンピューターを踏み台にして大量のDoS攻撃を分散(Distributed)的に実施します。
多数のコンピュータが踏み台になるところから、DoS攻撃よりも攻撃規模は大きくなります。しかも、踏み台となるコンピュータは一般的に不特定多数であるため、攻撃のブロックが難しいのです。
一方、踏み台となるコンピュータの所有者は踏み台にされていることに気づいていないことが多い。マルウェアへの感染により踏み台にされることが多い。攻撃者の特定は困難です。
近年では無数のIoTデバイスを利用したDDoS攻撃も発生しており、これらのケースではさらにデバイスの量が増えるだけに、制圧がより難しくなっています。
SYNフラッド攻撃の仕組み
なりすましのIPアドレスで、大量のSYNパケットを攻撃対象のサーバーに送信します。
ここで、ACKパケットを送らずにSYNパケットを送信し続け(ハーフオープン状態)ますが、サーバ側はポートを全て使用されると、通信が確立できないので、サービスを機能させられなくなってしまいます。
攻撃者は、大量の踏み台コンピュータ(ボットネット)を利用して攻撃をしかけることもあり、攻撃規模を大きくすることができること、先ほどご紹介した通りです。
SYNフラッド攻撃の代表例「Mirai」とは
MiraiはIoTデバイスを踏み台化するマルウェアであり、2016年9月にアメリカの企業がMiraiによる大規模なDDoS攻撃を受けたことが発端で脅威が発覚しています。
Miraiを感染させた大量のIoT端末を踏み台にし、通信による遠隔操作でSYNフラッド攻撃を行い、攻撃対象のサーバーリソースを枯渇させていました。発覚当初は非常に制圧しにくかったことから、IoT端末に対する脅威として警戒されました。
2016年9月末にMiraiのソースコードが作者から公開されたことから、Mirai 自体への攻撃が減少しましたが、Miraiの亜種は出現し続けており、IoT端末の通信に関するセキュリティもより意識されるようになりました。
SYNフラッド攻撃の対策
SYNフラッド攻撃は、特にWebによるサービスを提供している事業者にとっては、サービスの停止を招き、企業の信用問題にもかかわります。また踏み台にされてしまったコンピュータを管理している場合も、二次被害を生じさせたことが原因で、損害賠償を請求されるような可能性も考えられます。
サービス提供者・非サービス提供者双方に、SYNフラッドを意識した対策を施す必要がありますが、非サービス事業者は、ウィルス・マルウェア・不正アクセス対策と共通する対策を施すこととなります。
SYNフラッド攻撃に特有の対策として、サービス提供者が特に意識して対策を行うべきポイントは以下の通りとなります。
設定でSYNフラッド攻撃への対策
SYNフラッド攻撃は、例えばファイアウォールやUTM、あるいはOS自身でSYNフラッド攻撃への対策ができるものもあります。
例えば、OSの場合、通信のタイムアウトが生じる時間を設定で調節することや、接続を強制し、リソースを開放するなどの方法をとり、ハーフオープン TCP 接続を大量に作成することを阻止、許容範囲にとどめることができれば攻撃をかわすことができます。
そこで、バックログキューを増加させ、許容量を増やし、リソースの枯渇が起こりにくくすること、古いTCP接続を上書きし、安全な通信を強制的に確立し、リソースを開放することなどの方法で、SYNフラッド攻撃に対抗することが考えられます。
サーバーリソースの見直し
サーバーがSYNフラッドとみられる攻撃で度々停止するようであればリソースの見直しも視野に入れることが考えられます。物理的にサーバの処理能力の向上や通信の許容量、回線の増強をすることが方法として考えられます。
しかし、クラウドサービスを利用すると、リソースはハードウェアに規定されず、気軽にリソースを上下させることができるので、サービスの停止を回避することができます。
SYNフラッド攻撃をはじめとする不正通信の監視
攻撃が通信を介して行われることから、通信監視はそれ自体有効な対策です。
中でも早期検知・早期に対処することに役立つのが、IDS(侵入検知システム・Intrusion Detection System )や、IPS(侵入防禦システム・Intrusion Prevention System) です。
これらを利用してSYNフラッド攻撃を監視、攻撃を検知したら踏み台になっているコンピュータの通信を遮断するなどの方法が考えられます。
また、WAF(Web アプリケーションファイアーウォール、Web Application Firewall) やUTM(統合脅威管理、United Threat Management) システムなどにも、IDS /IPSの機能が備わっているものがあります。これらの機能を利用し、不正通信を監視、通信を遮断する対応を行うことも有効な対策になります。
まとめ
SYNフラッド攻撃は、DDoS攻撃の一つであり、TCPと呼ばれる、一般的にインターネット接続で利用されている通信プロトコルの仕組みを悪用し、踏み台となるコンピュータから企業のシステムリソースの枯渇・サービス停止につながる大量の通信を行う攻撃です。
対策としては、早期の検知・制圧につなげられるIDS・IPSの利用や、サーバリソースに余裕を持たせる・スケーリングが柔軟であるクラウドサービスを利用することにより備えることが考えられます。一つの対策にのみ依存するのでは、サービスの停止を防ぐことは難しいと考えられます。
特にサービス提供事業者にとってサービスの停止は信用問題にもなりますので、重畳的に必要な対策を取り、サービスの停止を予防しておきましょう。