Hello,

I have reviewed this draft. My comments are as followings:

- Section 3.2 <snip> TKEY can solve the problem ..</snip> 
IMO TKEY also needs some manual preconfiguration on the server side. So, it
does not completely solve the TKEY distribution problem. 
furthermore This is only applicable to recursive resolvers and authoritavie
servers.Therefore, for client communications, it has the same barriers as
DNSSEC has for clients (trusted anchors,etc.)

If the victim node is behind NAT (servers are not behind NAT), and attacker
is not in the same network, IMO, it cannot perform any amplification or DoS
attack on the victim node. unless otherwise, the attacker is aware of the
communication and ports used for the clients behind the NAT. Therefore, the
use of this mechanism is not applicable in such situation. Therefore, I do
not see any use case for nodes behind NAT. 
If the client has a global IP address, for example if it uses IPv6 that
usually the IP address is global, then the attacker has a possibility to
perform the DoS attack even though the client uses this method. because:

- As far as I understood from the method, It is similar to enclosed figures
(the algorithm is only arbitrary algorithm but this really does not matter).
The problem is that still amplification and spoofing or any attacks
explained in the draft is possible The reasons are as follows:

1- client doesn't know the random number used by the server to calculate the
servers' cookie response. if it needs to know then it returns to the barrier
of sharing this value between clients and servers
2- The server has no way to authenticate the client. so, it also accepts any
arbitrary request from the attacker with forged IP address. Using cookie
also doesn't help otherwise 
* the client uses the global IP address
* the attacker could not sniff the first communication when the client sends
its cookie
* the server stores the cookie and its mapping to the IP address of the
client (this doesn't make sense for NAT as there are more than one node
behind a single Ip address)
Furthermore:
3- the server doesn't know the random number used by client to calculate
client_cookie therefore if the server doesn't store this mapping (that in
public resolvers it does not make sense) the resolver cannot authenticate
the client and it also accepts cookies from the attacker
* training data only temporary solve the problem, only in case the attacker
doesn't sniff the trained data, but for longer period, both node (client and
server) needs to store state information which is similar to problem of
other security approaches such as DNS data security that needs to keep state
information. 


The algorithm used by client and server to generate cookies doesn't change
the attack circumstances. Because there are no way for the server to
authenticate client. Furthermore, attacker is free to choose any IP address
and generate its cookie. this will be result in higher chance for DoS attack
since the server needs to calculate the cookie for each request, even
though, the time is small but it is bigger than when the server does not use
cookie
Unless otherwise, server store every single mapping of clients to their
cookies (as explained earlier) which is not practical in public DNS
resolvers specially for IPv6 address that the address space is large. what
is the database to keep such mapping?? what is the search method?? this is
also useless because the client IP might be temporary or random and changes
or the clinet no longer use an IP address.
 

So IMO, as a result it cannot provide the protection it explains in the
draft.


Furthermore, It appears that the assumption of this draft is that the
attacker cannot sniff the client's and server's messages therefore, it
cannot forge this message. IMO, this assumption is not true.
If the attacker cannot sniff the messages between clients and servers, it
doesn't know also to forge which IP address to have an efficient attack.
IMO, it is not a true assumption. Attacker starts any attacks by having a
pre-defined phase to know its victims...

In general, based on my understanding from the mechanism, it does not
protect what it supposed to protect and It only adds a new data to the DNS
messages and includes processing times without providing the mentioned
value.
If I mis-understood the mechanism please explain.
thanks,
Best,
Hosnieh
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to