Artwork

Konten disediakan oleh CCC media team. Semua konten podcast termasuk episode, grafik, dan deskripsi podcast diunggah dan disediakan langsung oleh CCC media team atau mitra platform podcast mereka. Jika Anda yakin seseorang menggunakan karya berhak cipta Anda tanpa izin, Anda dapat mengikuti proses yang diuraikan di sini https://id.player.fm/legal.
Player FM - Aplikasi Podcast
Offline dengan aplikasi Player FM !

Finding Bugs in Closed-source Software: An Open-source Static Binary Analysis Tool (written in Rust) (froscon2024)

55:21
 
Bagikan
 

Manage episode 434897543 series 2475293
Konten disediakan oleh CCC media team. Semua konten podcast termasuk episode, grafik, dan deskripsi podcast diunggah dan disediakan langsung oleh CCC media team atau mitra platform podcast mereka. Jika Anda yakin seseorang menggunakan karya berhak cipta Anda tanpa izin, Anda dapat mengikuti proses yang diuraikan di sini https://id.player.fm/legal.
Building a product with an entirely open-source software stack is still challenging at best - sometimes even infeasible. The past has shown that vulnerabilities in closed-source components may be exploited by attackers to undermine the security of a system. Attackers invest a considerable amount of effort and expertise into reverse-engineering these components to uncover complex vulnerabilities. Manufacturers that rely on closed source components oftentimes have neither the resources not the expertise to perform the same level of auditing. This imbalance leads to security issues in the final product that may directly impact its users. The cwe_checker is an open-source research prototype that performs static analysis of binary code to find potential vulnerabilities. It currently supports the analysis of Linux user space programs and kernel modules as well as bare-metal firmwares. Our goal is to reduce the time and expertise needed by vendors to thoroughly audit their closed-source dependencies. The talk will start with a short introduction to the general problem area, as outlined in the abstract, and proceed by introducing the goals behind the cwe_checker. It continues with a presentation of the idea, requirements, and high-level architecture of the cwe_checker. In its main part, the talk will walk through the development of a simple data-flow analysis that detects instances of CWE252 (Unchecked Return Value). It will cover both, conceptual aspects behind the static analysis algorithm and the concrete code that implements it using the internal cwe_checker APIs. Finally, the algorithm will be used to find unchecked return values of `copy_from_user`, a programming error that is almost certainly exploitable, in non-upstream Linux device drivers taken from embedded device firmware images. To conclude the talk, an overview of other available analyses as well as possible directions for future research will be given. Students interested in Rust and program analysis are invited to contact us for thesis projects and internship opportunities. External contributions to the cwe_checker have unfortunately been uncommon due to the steep learning curve and absence of walkthrough-style documentation. (There is detailed rustdoc documentation of all APIs.) It is hoped that this talk will equip interested listeners with information to start developing their own analysis ideas within the cwe_checker. about this event: https://programm.froscon.org/2024/events/3064.html
  continue reading

1782 episode

Artwork
iconBagikan
 
Manage episode 434897543 series 2475293
Konten disediakan oleh CCC media team. Semua konten podcast termasuk episode, grafik, dan deskripsi podcast diunggah dan disediakan langsung oleh CCC media team atau mitra platform podcast mereka. Jika Anda yakin seseorang menggunakan karya berhak cipta Anda tanpa izin, Anda dapat mengikuti proses yang diuraikan di sini https://id.player.fm/legal.
Building a product with an entirely open-source software stack is still challenging at best - sometimes even infeasible. The past has shown that vulnerabilities in closed-source components may be exploited by attackers to undermine the security of a system. Attackers invest a considerable amount of effort and expertise into reverse-engineering these components to uncover complex vulnerabilities. Manufacturers that rely on closed source components oftentimes have neither the resources not the expertise to perform the same level of auditing. This imbalance leads to security issues in the final product that may directly impact its users. The cwe_checker is an open-source research prototype that performs static analysis of binary code to find potential vulnerabilities. It currently supports the analysis of Linux user space programs and kernel modules as well as bare-metal firmwares. Our goal is to reduce the time and expertise needed by vendors to thoroughly audit their closed-source dependencies. The talk will start with a short introduction to the general problem area, as outlined in the abstract, and proceed by introducing the goals behind the cwe_checker. It continues with a presentation of the idea, requirements, and high-level architecture of the cwe_checker. In its main part, the talk will walk through the development of a simple data-flow analysis that detects instances of CWE252 (Unchecked Return Value). It will cover both, conceptual aspects behind the static analysis algorithm and the concrete code that implements it using the internal cwe_checker APIs. Finally, the algorithm will be used to find unchecked return values of `copy_from_user`, a programming error that is almost certainly exploitable, in non-upstream Linux device drivers taken from embedded device firmware images. To conclude the talk, an overview of other available analyses as well as possible directions for future research will be given. Students interested in Rust and program analysis are invited to contact us for thesis projects and internship opportunities. External contributions to the cwe_checker have unfortunately been uncommon due to the steep learning curve and absence of walkthrough-style documentation. (There is detailed rustdoc documentation of all APIs.) It is hoped that this talk will equip interested listeners with information to start developing their own analysis ideas within the cwe_checker. about this event: https://programm.froscon.org/2024/events/3064.html
  continue reading

1782 episode

Tous les épisodes

×
 
Loading …

Selamat datang di Player FM!

Player FM memindai web untuk mencari podcast berkualitas tinggi untuk Anda nikmati saat ini. Ini adalah aplikasi podcast terbaik dan bekerja untuk Android, iPhone, dan web. Daftar untuk menyinkronkan langganan di seluruh perangkat.

 

Panduan Referensi Cepat