37C3 - Adventures in Reverse Engineering Broadcom NIC Firmware

Explore the challenges and triumphs of reverse engineering Broadcom NIC firmware, including the discovery of a unique compression algorithm, debugging techniques, and the importance of open source and secure boot mechanisms.

Key takeaways
  • The importance of open source firmware in achieving reproducible builds.
  • The challenges of reverse engineering firmware, including the need to understand the compression algorithm.
  • The discovery of a unique compression algorithm used in the firmware.
  • The ability to access the ape’s memory space through a special interface.
  • The identification of anti-features in the firmware, such as unclear documentation and unaccessible code.
  • The power of debugging tools in understanding the firmware’s behavior.
  • The absence of gigabit support in the ape’s firmware.
  • The ability to offload tasks to the ape, including custom protocol offloaders.
  • The importance of checksum validation in firmware updates.
  • The use of a global variable for decompression.
  • The discovery of a bug in the firmware’s decompression code.
  • The need for secure boot mechanisms in devices.
  • The importance of documentation and debugging tools in firmware development.
  • The use of compression algorithms in firmware.
  • The ability to access the ape’s memory space through a special interface.
  • The importance of checksum validation in firmware updates.
  • The absence of gigabit support in the ape’s firmware.
  • The power of debugging tools in understanding the firmware’s behavior.
  • The importance of documentation and debugging tools in firmware development.