Re: [PATCH net-next v2] net: WireGuard secure network tunnel

From: Jason A. Donenfeld
Date: Thu Dec 19 2019 - 05:53:27 EST


On Thu, Dec 19, 2019 at 11:49 AM Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote:
>
> On Thu, Dec 19, 2019 at 11:11 AM Jason A. Donenfeld <Jason@xxxxxxxxx> wrote:
> >
> > On Thu, Dec 19, 2019 at 11:07 AM Jason A. Donenfeld <Jason@xxxxxxxxx> wrote:
> > >
> > > On Thu, Dec 19, 2019 at 10:35 AM Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote:
> > > That's exciting about syzcaller having at it with WireGuard. Is there
> > > some place where I can "see" it fuzzing WireGuard, or do I just wait
> > > for the bug reports to come rolling in?
> >
> > Ahh, found it: https://storage.googleapis.com/syzkaller/cover/ci-upstream-net-kasan-gce.html
> > Looks like we're at 1% and counting. :)
>
> Yes, that's it. But that's mostly stray coverage.
> wg_netdevice_notification I guess mostly because it tested _other_ device types.
> And a bit of netlink because it sends random garbage into netlink.
>
> For netlink part it would require something along these lines:
> https://github.com/google/syzkaller/blob/master/sys/linux/socket_netlink_generic_devlink.txt
> https://github.com/google/syzkaller/blob/master/sys/linux/socket_netlink_crypto.txt
> https://github.com/google/syzkaller/blob/master/sys/linux/socket_netlink_generic_fou.txt
> https://github.com/google/syzkaller/blob/master/sys/linux/socket_netlink_generic_seg6.txt
>
> And for device setup, harder to say. Either pre-create one here:
> https://github.com/google/syzkaller/blob/79b211f74b08737aeb4934c6ff69a263b3c38013/executor/common_linux.h#L668
> or teach it how to create them on the fly or both or something else.
>
> Probably some wire packet formats here:
> https://github.com/google/syzkaller/blob/79b211f74b08737aeb4934c6ff69a263b3c38013/sys/linux/vnet.txt

Ahh, cool, okay. Netlink, device creation, and basic packet structure
is a good start. What about the crypto, though?