Re: [Last-Call] Last Call: <draft-gont-numeric-ids-sec-considerations-06.txt> (Security Considerations for Transient Numeric Identifiers Employed in Network Protocols) to Best Current Practice

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Joseph


On 12/17/20 8:35 PM, Joseph Touch wrote:
> 
> 
>> On Dec 14, 2020, at 9:12 PM, Fernando Gont <fgont@xxxxxxxxxxxxxxx
>> <mailto:fgont@xxxxxxxxxxxxxxx>> wrote:
>>
>> Flawed IDs introduce problems. IDs that are not flawed do not.
> 
> Christian has expressed much of my position, with the exception of the
> following:
> 
> IMO - protocols MUST NOT limit how IDs are selected or used. The issue
> isn’t the protocol spec; it’s the implementation.
> 

If the use of IDs creates a known security problem they should, yes.
If guidance is not heeded things like those described here will continue
to happen:

note CVE-2020-17439, another instance of good old off-path DNS cache
poisoning due to use of predictable DNS TXIDs


[PDF]
https://www.forescout.com/company/resources/amnesia33-how-tcp-ip-stacks-breed-critical-vulnerabilities-in-iot-ot-and-it-devices/


> I.e., an *implementation* MAY do so. These recommendations MAY be
> useful, to that end.
> 
> What I want to avoid is breaking the potential for IoT devices to use
> these protocols simply because they can’t implement the approaches
> described here.

I don't think this is really a concern given that IoT devices are
already implementing some of the proposed algorithms.

For example, RFC 6528 is a Proposed Standard and mandates (with SHOULD):

3.  Proposed Initial Sequence Number Generation Algorithm

   TCP SHOULD generate its Initial Sequence Numbers with the expression:

      ISN = M + F(localip, localport, remoteip, remoteport, secretkey)

   where M is the 4 microsecond timer, and F() is a pseudorandom
   function (PRF) of the connection-id.  F() MUST NOT be computable from
   the outside, or an attacker could still guess at sequence numbers
   from the ISN used for some other connection.  The PRF could be
   implemented as a cryptographic hash of the concatenation of the
   connection-id and some secret data; MD5 [RFC1321] would be a good
   choice for the hash function.

It is possible that some devices do not follow that advice but any
device with a working PRNG should be capable of doing it.

> 
> I also want to avoid a receiver saying “hey, sender, you picked the IDs
> badly, so I won’t connect to you”.

I don't think this is mandated anywhere.
In fact our draft does not even mandate that consideration is given to
the security & privacy factors of IDs, documented and an algorithm
recommended. But protocol authors may very well say:
"for the ID field <x> use a global counter initialized in 0 and
incremented by 1 in each packet or any other algorithm, we are aware of
the security & privacy consenquences, this is a conscious decision, see
Security Considerations for further discussion of our attacker  model"

> That’s where I worry this is headed, and want to avoid.
I understand the concern but I do not see how our draft could lead to that.

regards,
/ivan

-- 
Iván Arce
CTO - Security Analysis
Quarkslab

-- 
last-call mailing list
last-call@xxxxxxxx
https://www.ietf.org/mailman/listinfo/last-call




[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux