Land攻撃(Landこうげき)は、送信元IPアドレスと送信先IPアドレスが同一のパケットを攻撃対象コンピュータに送ることで成立する、DoS攻撃の一種である[1]。"Land" は "Local Area Network Denial" の略。
この攻撃手法とそこで用いられている脆弱性は、1997年11月20日にBugtraqへの投稿によって公開された。発見者はm3ltで、公開の際はland.c[2]という名前の検証用コード(エクスプロイト)のソースコードが付けられていた。そのため、CVEなどではloopback DoSなどと呼ばれているが、一般にはLand攻撃と呼ばれている。
攻撃手法は非常にシンプルなもので、攻撃対象コンピュータのIPアドレスを送信元IPアドレスと送信先IPアドレスの両方にセットした、セッション確立パケット(SYNパケット)を送出するというものである。攻撃対象コンピュータがこの脆弱性を抱えたものであれば、このパケットがフィルタリングされていない限り、オープンポートであればSYN+ACKパケットを、クローズポートであればRSTパケットを送信元IPアドレスに返すことになる。しかし、送信元IPアドレスに攻撃対象コンピュータのIPアドレスがセットされているため、左記パケットの返信先も攻撃対象コンピュータ自身となる。land.cでは、IPアドレスだけでなくポート番号も送信元と送信先で同じ値をセットしていたため、攻撃対象コンピュータは自身の同じポート番号に返信パケットを送り、その返信パケットにもさらに同じポートに返信する、という具合に自分自身の特定ポートにパケットを送り続けることとなり、自滅的にフリーズないしは実用的でないほどの高負荷状態に陥る。
なお、land.cにはいくつかの亜種が公開されており[3]、land.cでは一定時間高負荷になるだけのオペレーティングシステム (OS) であっても、亜種ではフリーズしてしまうような改良が加えられているものもある。
Land攻撃は、そのシンプルさとは裏腹に、当時現役であった非常に多くのOSが脆弱性を抱えていたことで知られる。以下が、当時対象となっていたOSの一覧である(マイナーバージョンは省略している)。
また、この問題の発表以降にマイクロソフトがリリースした以下のOSでも同じ脆弱性を抱えていたことが、後に発見されている。
さらには、上記がIPv4を対象にしたものであるのに対し、IPv6に対しても多くのOSが脆弱性を抱えていたことが2005年5月17日に示された[4]。
IPAは、過去に発生したTCP/IPに関わる脆弱性問題の再発を防止するため、「TCP/IPに係る既知の脆弱性に関する調査報告書」を作成しており[5]、この中でLand攻撃についても言及されている(TCP問題の4)。