Re: Racing QM Initiator's

"Valery Smyslov" <svan@trustworks.com> Fri, 15 October 1999 08:28 UTC

Received: from lists.tislabs.com (portal.gw.tislabs.com [192.94.214.101]) by mail.imc.org (8.9.3/8.9.3) with ESMTP id BAA20204; Fri, 15 Oct 1999 01:28:01 -0700 (PDT)
Received: by lists.tislabs.com (8.9.1/8.9.1) id CAA02619 Fri, 15 Oct 1999 02:41:57 -0400 (EDT)
Message-Id: <199910150644.KAA03616@relay1.trustworks.com>
From: Valery Smyslov <svan@trustworks.com>
Organization: TWS
To: "Scott G. Kelly" <skelly@redcreek.com>, Dan Harkins <dharkins@network-alchemy.com>
Date: Fri, 15 Oct 1999 10:43:26 +0400
MIME-Version: 1.0
Content-type: text/plain; charset="US-ASCII"
Content-transfer-encoding: 7bit
Subject: Re: Racing QM Initiator's
CC: Sankar Ramamoorthi <Sankar@vpnet.com>, Jan Vilhuber <vilhuber@cisco.com>, Ben McCann <bmccann@indusriver.com>, ipsec@lists.tislabs.com
In-reply-to: <380603B8.6A9BF0C6@redcreek.com>
X-mailer: Pegasus Mail for Win32 (v3.12a)
Sender: owner-ipsec@lists.tislabs.com
Precedence: bulk

On 14 Oct 99, at 9:24, Scott G. Kelly wrote:

> Valery Smyslov wrote:
> 
> <trimmed...> 
> > Another curious point - how IKE handles self-connect. Let us assume
> > we have IPsec host A and an attacker injects IKE packet (src_ip = A,
> > dst_ip = A, CKY-I = xxx, CKY-R = 0) into the network. A receives this
> > packet and (naively) begins to act as responder creating state and
> > replying with packet (src_ip = A, dst_ip = A, CKY-I = xxx, CKY-R =
> > yyy). Then it receives this packet back, binds it to that very state
> > and, most likely, rejects it (possibly with some error notification)
> > because it is malformed from his (responder's) point of view. After
> > some time state will die due to timeout. Is this scenario correct? I
> > understand that this situation causes no particular harm and it is
> > very easy to avoid by simple sanity check (compare IP addresses), but
> > still, IKE seem to have no special treatment of it, have it?
> 
> Assuming policy is correctly configured (and implemented), this packet
> should never reach the IKE implementation, should it?

Why not? IKE is built atop TCP/IP stack, for the stack it is 
perfectly valid packet, IPsec policy usually allows any IKE packet 
(UDP/500) to pass through (otherwise you won't be able to communicate 
with nomadic peers). So, what prevents this packet from reaching IKE 
implementation? It may be dropped inside IKE implementation after 
simple sanity check, as I wrote. But the question was (just for 
curiosity): whether "self-connect" situation was considered by 
protocol designers or not?

> Scott

Regards,
Valera.