1 of 21

Deconstructing Firewalls

Trevon

2 of 21

$whoami

  • Graduate Student
  • Lifelong learning
  • Lurker
  • 49th Security Division
    • 49sd.com

3 of 21

This Talk…

4 of 21

What is a Firewall

“A guardian of the digital world, standing between the chaos of the internet and the sanctity of our networks. It is a sentinel of order, enforcing the rules of access and denying entry to those who would do harm.”

5 of 21

Types of Firewalls

  • Rudimentary packet filter
  • Stateful vs. Stateless
  • Proxy-based
  • Next Generation Firewall

6 of 21

My Personal Favorite (Distributed Firewall)

  • Not a new idea
  • Packet filtering in switches/(between links)
    • East-to-West
  • Types of Implementations
    • Host based
    • Network device based
  • Linkedin Distributed Firewall

7 of 21

Recapping Concepts

  • All firewalls filtering packets
  • Features
  • Use case

8 of 21

Lower Level Packets Filters

  • Implementing packets
  • BPF (Berkeley packet filter)
    • ebpf.io/what-is-ebpf/
    • Used in wireshark and TCPDump
    • Original BPF paper
  • Netfitler
    • IPtables
  • Libpcap

9 of 21

Higher-Levels of Abstractions

  • Software Defined Networking
    • Decouples control and data plane
  • Open VSwitch
  • Manipulation of network packets

10 of 21

What is a Dataplane?

  • Responsible for forwarding packets
  • Data link networking / networking layer (OSI model)
  • Data path
  • Programmable ?

11 of 21

Languages Specifically for Programming Dataplanes

  • P4
  • eBPF
    • Berkeley Packet Filter
  • FD.io VPP
    • Vector Packet Processor

12 of 21

How can we put this all together?

13 of 21

Let's say you wanted to build your own (janky) NGFW

14 of 21

Components

  • Intrusions Detection System
    • Listener
  • eBPF program
    • Packet forwarder
    • Packet filter
  • Python Program
    • Point of integration

15 of 21

eBPF Program: Packet Filter

16 of 21

Binding in Python

17 of 21

More Polished Solutions

18 of 21

Research Applications

  • Agile Network Security
  • Storage Efficient
  • Eventually open source

19 of 21

Good References

20 of 21

Takeaways

  • Firewalls can be approachable
  • Data plane programmable = affordable solutions ?

21 of 21

Around the web

twitter/mastadon : @trevonistrevon

https://trevon.dev