Reverse Traceroute

Hugo Slabbert hugo at slabnet.com
Tue Feb 28 19:05:32 UTC 2023


> It is not so bad. But you are still raising a valid point and we have
been pondering over this and indeed this is one of the reasons why we have
posted our work here.
>
> I think, if you want to mount an amplification attack, you would be way
better off using DNS :)

Agreed; it's a very low level of amplification, and there are lower hanging
fruit. I do think it's worthwhile to still indicate, though, in a similar
vein overall in the security considerations re: rate limiting server side.

> We could easily specify payload to be added to the request so that the
request and the respective response and probe as equivalent in size.

I'm still a fan of the notion that, for a connectionless protocol, the
response size should not exceed the request size, to eliminate that risk
entirely. I think that does become a bit much in this case, though, if we
have to factor in the spoofing scenario, as you have:

1. client: traceroute request -> server
2. server: probe -> client
3. client: probe response -> server (may be missing)
4. server: traceroute response -> client

The client gets both the traceroute response (4) as well as the traceroute
probe (2). If padding were to be required in the traceroute request, it
would need to account for *both* the +24 bytes delta between the traceroute
request and response probes, as well as for the actual probe size,
including its L3 headers. imho that starts to balloon the traceroute
request a good bit, and also feels clunky that we're now coupling things
such that the traceroute request also needs to calculate or be aware of the
size of the actual probe in order to craft its traceroute request.

> Also, I think it would be worth while discussing over at the IETF.

Sure thing. Should I try to piggyback on an existing thread in Int-area or
start a new thread there?

-- 
Hugo Slabbert


On Sun, Feb 26, 2023 at 1:39 AM Rolf Winter <rolf.winter at hs-augsburg.de>
wrote:

> Hi Hugo,
>
> correct. It is not so bad. But you are still raising a valid point and
> we have been pondering over this and indeed this is one of the reasons
> why we have posted our work here.
>
> I think, if you want to mount an amplification attack, you would be way
> better off using DNS :) A response and probe, as you said, is a little
> more than a request in terms of bytes on the wire. We could easily
> specify payload to be added to the request so that the request and the
> respective response and probe as equivalent in size. Would you, or
> anybody on this list be worried about amplification given that it only a
> little bit more? This would be really interesting input to us. Also, I
> think it would be worth while discussing over at the IETF.
>
> Just as some additional information, we expect people to rate limit
> reverse traceroute, which our implementation already allows.
>
> Best,
>
> Rolf
>
>
>
> Am 25.02.23 um 21:00 schrieb Hugo Slabbert:
> > Ah, apologies, I misunderstood:
> >
> > One reverse traceroute request => one probe + one reverse traceroute
> > response.
> >
> > So it is *slightly* additive, but does not multiply out to the distance
> > between the reverse traceroute server and the target.
> >
> > On Sat, Feb 25, 2023, 11:19 Hugo Slabbert <hugo at slabnet.com
> > <mailto:hugo at slabnet.com>> wrote:
> >
> >     Is there a possible reflection & amplification vector here?
> >
> >     * The client sends a reverse traceroute request to the server. This
> >     has a 12-byte ICMP header as indicated in 3.1
> >     * The server responds to the client with a traceroute response. This
> >     has a 12-byte ICMP header as indicated in 3.2, but also a traceroute
> >     payload of 24 bytes as indicated in 3.3
> >
> >     So the total response from client to server has at least +24 bytes
> >     beyond the original client request? And a spoofed source address on
> >     a reverse traceroute request would then direct the reverse
> >     traceroute response to the spoofed victim?
> >
> >     +24 bytes is not a huge amount in terms of amplification, but if
> >     this is accurate, is that perhaps worth calling out in the security
> >     considerations?
> >
> >     Actually: Would there not also be a slight additional bit of traffic
> >     to the spoofed address, in that the actual traceroute probe itself,
> >     that is sent from the reverse traceroute server, is also directed
> >     towards the spoofed source IP address? The last probe in the series,
> >     that has a TTL equal to the distance between the reverse traceroute
> >     server and the probe target, would reach the target, but additional
> >     probes (with TTL shorter than the distance from server to target)
> >     would still be flung from the server across intermediate hops.
> >
> >     E.g. if I spoof a client address that is 15 hops away from the
> >     reverse traceroute server, then my single reverse traceroute request
> >     would result in:
> >
> >     * 15 probes initiated from the reverse traceroute server toward the
> >     spoofed target (with each probe progressing one hop closer to the
> >     target)
> >     * one reverse traceroute response that is +24 bytes from my original
> >     request, also directed toward the spoofed target
> >
> >     Am I understanding the structure correctly there?
> >
> >     --
> >     Hugo Slabbert
> >
> >
> >     On Sat, Feb 25, 2023 at 5:40 AM Rolf Winter
> >     <rolf.winter at hs-augsburg.de <mailto:rolf.winter at hs-augsburg.de>>
> wrote:
> >
> >         Hi Tore,
> >
> >         thanks for the suggestion. We are already in touch with the
> >         NLNOG Ring
> >         folks. They are really helpful! But, the more the better.
> >
> >         Also, for people playing with the client, it would be helpful to
> >         us if
> >         you use the --transmit command line switch. This will send
> >         information
> >         about the traceroute operation to us for further analysis.
> >
> >         Additionally, the endpoint "playground.net...." is currently
> >         used for
> >         some variations of reverse traceroute, so some measurements
> >         might not
> >         work currently. You can just use any of the other endpoints.
> >
> >         Best,
> >
> >         Rolf
> >
> >         Am 25.02.23 um 11:09 schrieb Tore Anderson:
> >          > * Rolf Winter
> >          >
> >          >
> >          >> If you would like to play with reverse traceroute, the
> >         easiest option
> >          >> is to work with the client and use one of the public server
> >         instances
> >          >>
> >         (
> https://github.com/HSAnet/reverse-traceroute/blob/main/ENDPOINTS <
> https://github.com/HSAnet/reverse-traceroute/blob/main/ENDPOINTS>).
> >          >> If you would be willing to host a public server instance
> >         yourself,
> >          >> please reach out to us.
> >          >
> >          > I suggest you get in touch with the fine folks at NLNOG RING
> >         and ask it
> >          > they would be interested in setting this up on the 600+ RING
> >         nodes all
> >          > over the world. See https://ring.nlnog.net/
> >         <https://ring.nlnog.net/>.
> >          >
> >          > Tore
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nanog.org/pipermail/nanog/attachments/20230228/15e3779e/attachment.html>


More information about the NANOG mailing list