JP3648211B2 - パケット中継プログラム、パケット中継装置および記録媒体 - Google Patents
パケット中継プログラム、パケット中継装置および記録媒体 Download PDFInfo
- Publication number
- JP3648211B2 JP3648211B2 JP2002093201A JP2002093201A JP3648211B2 JP 3648211 B2 JP3648211 B2 JP 3648211B2 JP 2002093201 A JP2002093201 A JP 2002093201A JP 2002093201 A JP2002093201 A JP 2002093201A JP 3648211 B2 JP3648211 B2 JP 3648211B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- packet
- establishment request
- acknowledgment packet
- ack
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明は、ネットワークから多数のTCPコネクション確立要求パケットの送信を受けた時のパケット中継プログラム、パケット中継装置および記録媒体に関するものである。
【0002】
【従来の技術】
TCPはコネクション型のプロトコルであり、コネクションを確立するために以下のような3Way Handshakeが用いられる。サーバ側は、Listenにあり、そこにクライアントは利用したいサービスのポートへSYNパケットを送信する。サーバ側はそれを受け、ACKパケットを送信、それと同時にSYNパケットも送信する。クライアントはそれを受け、ACKパケットをサーバに返信してコネクションが確立される。
【0003】
【発明が解決しようとする課題】
DOS攻撃の1つにSYN Flood攻撃がある。これは、TCPサービスに対し、接続要求(SYNパケット)を多量に送りつけ、そのサービスの処理能力を消費させる攻撃である。悪意のあるクライアントは、IPアドレスを詐称したSYNパケットを送信してくるため、サーバはSYN+ACKを送信し、SYN RCVDの状態のままクライアントからのACKパケットを待ちつづける。悪意のあるクライアントはIPアドレスを詐称しているため、当然のことながらこのACKパケットは戻ってこない。この時、多量の接続要求を受信すると、その数だけバッファ上に情報を確保する必要があるため、メモリを消費し、正常なアクセスを受けられなくなったり、システムクラッシュを起こしたりするなど種々な問題を引き起こすこととなる。そのための対策として、受け付けるクライアントを制限する方法は実現されているが、全てのなクライアントを把握することは不可能であり、この方法を適用できるサーバは社内サーバなどに限られてしまうなどの問題があった。
【0004】
本発明は、これらの問題を解決するため、同一セグメント内に代理サーバを設けてサーバが送信元から受信したパケットを代理サーバに中継依頼して当該代理サーバからAckパケットを受信して待機状態から開放すると共にアプリに当該パケットを渡して待機させ、サーバのOSにおける待機状態を可及的に早急に解消して詐称パケットなどにより全てのサービスの提供が停止する事態をなくすことを目的としている。
【0005】
【課題を解決するための手段】
図1を参照して課題を解決するための手段を説明する。
【0006】
図1において、サーバ1は、ネットワークからパケットを受信するものであって、OS2およびアプリ3などから構成されるものである。
【0007】
OS2は、オペレーティングシステムであって、ここでは、パケットを受信する通信機能21などから構成されるものである。
【0008】
アプリ3は、OS2の制御のもとで動作するアプリケーションプログラムであって、ここでは、サーバ(WWW)31,サーバ(SMTP)32,サーバ(telnet)33などであり、各種サービスを提供するものである。
【0009】
代理サーバ4は、サーバ1と同一セグメント内に設けたものであって、ここでは、サーバ1に代理して送信元にパケットを中継およびサーバにAckパケットを送信したりなどするものである。
【0010】
ルータ6は、ネットワーク間(異なるセグメント間)で相互にパケットを送受信するものであって、ここでは、代理サーバ61を設けたものである。
【0011】
次に、動作を説明する。
サーバ1がパケットを受信すると、待機状態に遷移すると共に代理サーバ41(あるいはルータ6内の代理サーバ61)にパケットの中継依頼し、中継依頼を受けた代理サーバ4(あるいはルータ6内の代理サーバ61)が送信元にパケットを送信すると共にサーバ1にAckパケットを送信し、Ackパケットをサーバ1が受信すると、アプリ3にパケットを渡すと共に待機状態から開放し、パケットを渡されたアプリ3がタイマを起動して所定時間経過しても送信元からパケットを受信しないときに、リセットパケットを送信元に送信してリセットするようにしている。
【0012】
この際、代理サーバ61を同一セグメント内のルータ6に設け、あるいはサーバ1内に独立に設けるようにしている。
【0013】
また、サーバ1で、WWWサーバ、電子メールサーバ,telnetサーバなどの2つ以上のサーバとして機能させるようにしている。
【0014】
従って、同一セグメント内に代理サーバ4,61などを設けてサーバ1が送信元から受信したパケットを代理サーバ4,61などに中継依頼して代理サーバ4,61などからAckパケットを受信して待機状態から開放すると共にアプリ3にパケットを渡して待機させることにより、サーバ1のOSにおける待機状態を可及的に早急に解消して詐称パケットなどにより全てのサービスの提供が停止する事態をなくすことが可能となる。
【0015】
【発明の実施の形態】
次に、図1から図3を用いて本発明の実施の形態および動作を順次詳細に説明する。
【0016】
図1は、本発明のシステム構成図を示す。
図1において、サーバ1は、外部ネットワークに接続せれたクライアントなどからのパケットを受信するものである、ここでは、攻撃対象のサーバであって、OS2およびアプリ3などから構成されるものである。
【0017】
OS2は、オペレーティングシステムであって、ここでは、パケットを受信するOSの機能である通信機能21などから構成されるものである。通信機能21は、WWW、電子メール、テルネットなどの各種サービスに対応したソケットを送信元毎にそれぞれ用意し、パケットを受信したときに該当ソケットで各種サービスを提供するアプリにパケットを振り分けて渡したり、受け取って送信元に送信したりするようにしている。
【0018】
アプリ3は、OS2の制御のもとで動作するアプリケーションプログラムであって、ここでは、サーバ(WWW)31,サーバ(SMTP)32,サーバ(telnet)33などとして動作するものであり、各種サービスを実際に提供するものである。
【0019】
代理サーバ4は、サーバ1と同一セグメント内に接続した(設けた)ものであって、ここでは、サーバ1に代理して送信元にパケットを中継およびサーバ1にAckパケットを送信したりなどするものであり、中継手段41、代理応答手段42などから構成されるものである(図2および図3を用いて後述する)。
【0020】
ハブ5は、同一セグメント内で複数の機器(サーバ1、代理サーバ4、ルータ6)を接続して相互にパケットを送受信するためのものである。
【0021】
ルータ6は、ネットワーク間(異なるセグメント間)で相互にパケットを送受信するものであって、ここでは、代理サーバ61を設けたものである。
【0022】
代理サーバ61は、代理サーバ4と同一に動作し、ここでは、ルータ6内に設けたものであって、中継手段62、代理応答手段63などから構成されるものである。
【0023】
外部ネットワーク7は、ルータ6に接続されたサーバ1などが接続されたネットワークと異なる外部(他)のネットワークであって、ここでは、多数の詐称パケットをサーバ1に向けて送信するクライアントが接続されているネットワークである。
【0024】
次に、図2のシーケンス例の順番に従い、図1の構成の動作を詳細に説明する。
【0025】
図2は、本発明のシーケンス例を示す。ここで、クライアント(攻撃側)は、図1の外部ネットワークに接続されたクライアント(端末)であって、多数の詐称パケット(送信元のIPアドレスを偽ったパケット)をサーバ1に送信するものである。代理サーバ4は、図1のサーバ1と同一セグメント内に設置された代理サーバ4(あるいはルータ6内の代理理サーバ61)である。サーバ1は図1のサーバ1である。
【0026】
図2において、S1は、クライアント(攻撃側)が特殊パケットをサーバ1に向けて送信する。これは、外部ネットワーク上のクライアント(攻撃側)が送信元のIPアドレスを偽ったSYNパケット(確立要求)をサーバ1に向けて送信する。
【0027】
S2は、サーバ1の通信機能21がS1で送信したSYNパケットを受信し、LISTEN状態から待機状態(SYNーRCVD状態)に遷移すると共に、代理サーバ4に向けて▲1▼(SYN+Ack)パケット(確立要求/確立要求の確認応答)を送信する(図3の▲1▼参照)。
【0028】
S3は、代理サーバ4がパケット中継とAckパケットの返却を行なう。これにより、▲4▼(SYN+Ack)パケット(確立要求/確立要求の確認応答)を送信元に送信する(図3の▲4▼参照)と共に、サーバ1に▲5▼Ackパケット(確認応答)を送信する(図3の▲5▼参照)。
【0029】
S4は、S3で送信された▲5▼Ackパケットを受信したサーバ1が待機状態から確立状態(ESTABLISHED状態)に遷移すると共に、S22で受信したパケットをアプリ3に渡す。このように、代理サーバ4が送信元の代理でサーバ1にAckパケットを返信することにより、サーバ1はあたかも送信元から正常な確認応答が返されたかのように正常にセションの確立を行い、アプリに制御を渡すことが可能となる。
【0030】
S5は、アプリ3が無通信タイマ監視を行い、タイマ満了時はRSTパケット送信でソケット資源を即座に解放する。これは、S4でパケットを渡されたアプリが送信元(クライアント)からのパケットの受信を待機(S3で代理サーバ4から送信元に返信された▲4▼(SYN+Ack)パケットに対する送信元からのパケットの受信を待機)するが、ここでは、詐称IPアドレスに送信したために受信されなく、タイムオーバとなりRSTパケット送信でソケット資源を即座に開放する。
【0031】
S6は、アプリ3がClose(クローズ)すると共に、RESTパケットを代理サーバ4に送信し、リセットする。
【0032】
S7は、代理サーバ4がRSTパケットを詐称されたIPアドレス(詐称された送信元)に送信し、リセットする。
【0033】
以上によって、外部ネットワークから送信元のIPアドレスを詐称された多数の▲1▼SYNパケットがサーバ1で受信されても、サーバ1は即座に▲3▼(SYN+Ack)パケットを代理サーバ4に送信して中継依頼し、代理サーバ4は詐称された送信元IPアドレスに▲4▼(SYN+Ack)パケットを送信すると共に疑似の▲5▼Ackパケットをサーバ1に返信してサーバ1を確立状態(ESTABLISH状態)に遷移させ、サーバ1はパケットをアプリ3に渡し、アプリ3がタイマを起動し、この場合には、詐称の送信元IPアドレスから応答がないので、タイムオーバとなり、即座にソケットを解放およびリセットパケットを代理サーバ4、詐称の送信元に送信して一連の処理を終了することが可能となる。これにより、従来のOS2の通信機能21のある種別(例えば電子メールのSMTP)のソケット資源が使い果たされ、他の種別(WWW、TELNETなど)のソケット資源などが使えなくなり、図4の既述した全体としての機能が停止してしまう事態をなくすことが可能となる。即ち、アプリ3である各WWW,SMTP、TELNETなどのアプリケーションプログラム側で個別にタイマ設定(例えば動的にタイマ値を変更)してタイムオーバしたときに即座にソケット資源を解放し、次のパケットを受信することが可能となると共に、他の種別のWWW,SMTP、TELNETなどには全く影響を与えないように切り離すことが可能となる。
【0034】
尚、代理サーバ4は、ネットワークの同一セグメント内であれば、ルータ6内で動作する代理サーバ61、更に、サーバ1内にOS2,アプリ3と独立に動作する代理サーバとして設けてもよい。
【0035】
図3は、本発明のTCP/IPパケット概念構造図を示す。
図3の概念の欄の
・パケットのEtherヘッダには、送信元と宛先のMACアドレスと、Ethernetヘッダとして必要な情報を格納する。
【0036】
・IPヘッダには、送信元IPアドレス、宛先IPアドレス等のIPヘッダとして必要な情報を格納する。
【0037】
・TCPヘッダには、送信元ポート番号、宛先ポート番号、コードビット、シーケンス番号、確認応答番号等のTCPヘッダとして必要な情報を格納する。
【0038】
・データには、ユーザデータを格納する。
▲1▼は、既述した図2の▲1▼SYNパケットの例であって、ここでは、図示の下記の情報を設定する。
【0039】
・パケットのEtherヘッダには、同一セグメント内のMACアドレスを設定する。
【0040】
・IPヘッダには、送信元のIPを詐称している。
・TCPヘッダには、コードビットの”SYN”が立てる。
【0041】
▲3▼は、既述した図2の▲3▼(SYN+Ack)パケットの例であって、ここでは、図示の下記の情報を設定する。
【0042】
・パケットのEtherヘッダには、同一セグメント内のMACアドレスを設定する。
【0043】
・IPヘッダには、▲1▼の送信元、宛先のIPアドレスが逆になる。
・TCPヘッダには、コードビットの”SYNとAck”が立てる。
【0044】
▲4▼は、既述した図2の▲4▼(SYN+Ack)パケットの例であって、ここでは、図示の下記の情報を設定する。
【0045】
・パケットのEtherヘッダには、同一セグメント内のMACアドレスを設定する。
【0046】
・IPヘッダには、▲3▼と全く同じ。
・TCPヘッダには、▲3▼と全く同じ。
【0047】
▲5▼は、既述した図2の▲5▼Ackパケットの例であって、ここでは、図示の下記の情報を設定する。
【0048】
・パケットのEtherヘッダには、同一セグメント内のMACアドレスを設定する。
【0049】
・IPヘッダには、▲3▼とは逆。▲1▼と同じ内容。
・TCPヘッダには、ACKビットのみ立てる。
【0050】
【0051】
【発明の効果】
以上説明したように、本発明によれば、同一セグメント内に代理サーバ4,61などを設けてサーバ1が送信元から受信したパケットを代理サーバ4,61などに中継依頼して代理サーバ4,61などからAckパケットを受信して待機状態から開放すると共にアプリ3にパケットを渡して待機させる構成を採用しているため、サーバ1のOSにおける待機状態を可及的に早急に解消して詐称パケットなどにより全サービスの提供が停止する事態をなくすことが可能となる。
【図面の簡単な説明】
【図1】本発明のシステム構成図である。
【図2】本発明のシーケンス例である。
【図3】本発明のTCP/IPパケット概念構造図である。
【図4】従来技術の説明図である。
【符号の説明】
1:サーバ
2:OS
21:通信機能
3:アプリ
31:サーバ(WWW)
32:サーバ(SMTP)
33:サーバ(TELNET)
4、61:代理サーバ
41、62:中継手段
42,63:代理応答手段
5:ハブ
6:ルータ
7:外部ネットワーク
Claims (3)
- 外部ネットワークとサーバとの間に設置された中継サーバにおけるパケット中継プログラムであって、
前記中継サーバに、
前記サーバからの確立要求/確立要求の確認応答パケットを受信するステップと、
前記確立要求/確立要求の確認応答パケットの受信に基づき、前記外部ネットワークに該確立要求/確立要求の確認応答パケットを中継すると共に、前記サーバに該確立要求/確立要求の確認応答パケットに対応する確認応答パケットを返信するステップと
を動作させることを特徴とするパケット中継プログラム。 - 外部ネットワークとサーバとの間に設置された中継サーバに、
前記サーバからの確立要求/確立要求の確認応答パケットを受信するステップと、
前記確立要求/確立要求の確認応答パケットの受信に基づき、前記外部ネットワークに該確立要求/確立要求の確認応答パケットを中継すると共に、前記サーバに該確立要求/確立要求の確認応答パケットに対応する確認応答パケットを返信するステップと
を動作させることを特徴とするパケット中継プログラムを記録したコンピュータ読取可能な記録媒体。 - サーバからの確立要求/確立要求の確認応答パケットを受信する手段と、
前記確立要求/確立要求の確認応答パケットの受信に基づき、外部ネットワークに該確立要求/確立要求の確認応答パケットを中継すると共に、前記サーバに該確立要求/確立要求の確認応答パケットに対応する確認応答パケットを返信する手段と
を備えることを特徴とするパケット中継装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002093201A JP3648211B2 (ja) | 2002-03-28 | 2002-03-28 | パケット中継プログラム、パケット中継装置および記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002093201A JP3648211B2 (ja) | 2002-03-28 | 2002-03-28 | パケット中継プログラム、パケット中継装置および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003289338A JP2003289338A (ja) | 2003-10-10 |
JP3648211B2 true JP3648211B2 (ja) | 2005-05-18 |
Family
ID=29237782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002093201A Expired - Lifetime JP3648211B2 (ja) | 2002-03-28 | 2002-03-28 | パケット中継プログラム、パケット中継装置および記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3648211B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4082613B2 (ja) | 2004-09-06 | 2008-04-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信サービスを制限するための装置 |
JP4160992B2 (ja) | 2006-11-30 | 2008-10-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | シミュレーション・システム、コンピュータ装置、シミュレーション方法、およびプログラム |
JP5222096B2 (ja) * | 2008-10-30 | 2013-06-26 | 京セラ株式会社 | 無線通信装置および無線通信方法 |
JP5090408B2 (ja) | 2009-07-22 | 2012-12-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ネットワーク通信において送信データの宛先を動的に制御する方法及び機器 |
JP6540095B2 (ja) * | 2015-02-27 | 2019-07-10 | 日本電気株式会社 | 通信装置、情報処理システム、電文処理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10136025A (ja) * | 1996-11-01 | 1998-05-22 | Hitachi Software Eng Co Ltd | ネットワーク間通信中継方法および中継装置 |
US6061341A (en) * | 1997-12-16 | 2000-05-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Use of transmission control protocol proxy within packet data service transmissions in a mobile network |
-
2002
- 2002-03-28 JP JP2002093201A patent/JP3648211B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003289338A (ja) | 2003-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7234161B1 (en) | Method and apparatus for deflecting flooding attacks | |
Eggert et al. | Unicast UDP usage guidelines for application designers | |
US8032641B2 (en) | Assymmetric traffic flow detection | |
AU2004217318B2 (en) | Using TCP to authenticate IP source addresses | |
US6772334B1 (en) | System and method for preventing a spoofed denial of service attack in a networked computing environment | |
JP4313266B2 (ja) | サーバ装置、その制御方法およびコネクション確立方法 | |
US20040015721A1 (en) | Denial of service defense by proxy | |
US6983325B1 (en) | System and method for negotiating multi-path connections through boundary controllers in a networked computing environment | |
CN110266678B (zh) | 安全攻击检测方法、装置、计算机设备及存储介质 | |
EP3276891B1 (en) | Techniques for establishing a communication connection between two network entities via different network flows | |
WO2006133651A1 (en) | Communication method between communication devices and communication apparatus | |
JP2018528679A (ja) | 負荷平衡システムにおいて接続を確立するデバイス及び方法 | |
AU2007320794B2 (en) | Selective session interception method | |
US7564848B2 (en) | Method for the establishing of connections in a communication system | |
JP2017118545A5 (ja) | ||
Simpson | TCP cookie transactions (TCPCT) | |
JP3648211B2 (ja) | パケット中継プログラム、パケット中継装置および記録媒体 | |
US20060114931A1 (en) | IPv6/IPv4 packet conversion system | |
Bellis et al. | DNS Stateful Operations | |
Bernardo et al. | Network security considerations for a new generation protocol UDT | |
JP2002312261A (ja) | ネットワークサービス中継方法及び中継装置 | |
Bellis et al. | RFC 8490: DNS Stateful Operations | |
Kiesel | On the use of cryptographic cookies for transport layer connection establishment | |
Norris | Analysis of a telnet session hijack via spoofed MAC addresses and session resynchronization | |
Simpson | RFC 6013: TCP Cookie Transactions (TCPCT) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050112 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050210 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3648211 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080218 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090218 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100218 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110218 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110218 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120218 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130218 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140218 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term |