RSSAmplifier

Blog

Travis Finkenauer's Blog

travisf.netRSS feed ↗8 posts

Latest posts

A Rust FFI adventure in unsafety

Recommended reading : ownership , unsafe Rust Introduction 🔗 This blog post covers my adventure in fixing a bug in the Rust bindings for the Capstone C library , a disassembly library that supports several CPU architectures. The capstone-rs crate attempts to provide a Rusty, object-oriented interface. You do not necessarily need previous experience in C code or foreign function (FFI) bindings to…

Generic numeric functions in safe, stable Rust with the num crate

Note: This post assumes some familiarity with Rust, in particular traits . Introduction 🔗 It is useful to be able to write code that is generic over multiple types, such as integer types. The Rust standard library originally had the unstable (deprecated since release 1.11.0) traits Zero and One that could partially help, but these required the nightly compiler. Since then, the num crate has moved…

Fuzzybit

I previously released a Python module, fuzzybit , that can be used to inspect the bit-level entropy of an observed history of values. I am now open-sourcing some example code I wrote for examining the section load address entropy. The example code can be found in the examples/vmmap_entropy directory of the fuzzybit source. The example code has the following files: calc_vmmap_entropy.py : Python…

CTF Writeup: Brain Repl

This is a writeup/walkthrough for a binary exploitation challenge I wrote for a CTF competition at the University of Michigan that was hosted by Facebook . This article assumes that you are familiar with GDB and basic binary exploitation techniques such as return to libc attacks . You can download the problem and solution from GitHub . Note: When this blog was originally written, pwntools was the…

Smashing the Stack For Fun and Profit (Today)

The article Smashing the Stack for Fun and Profit by Aleph One is the seminal work in bringing the method of stack-based buffer overflows to the masses. However, a problem with Smashing the Stack is that it was published in 1996—modern defenses (which are enabled by default) frustrate would be hackers who try to follow the tutorial, only to find that the examples do not work. As the 20 th…

Umbra Firewall

We designed and implemented Umbra (available on GitHub ), an application-layer firewall that targets embedded web interfaces. Umbra is designed to be simple for manufacturers to configure and add to existing embedded systems. Umbra works by acting as a friendly man-in-the-middle that enforces a set security policy. Umbra can protect against attacks such as cross-site request forgery (CSRF),…

Improved i3 Workspace Switcher

I recently switched to the i3 window manager . This was not my first time using a tiling window manager---I have previously used xmonad . My gripe with xmonad was that even though I am familiar with functional programming (specifically OCaml), I did not understand the Haskell configuration script at all, and it seems like I'm not the only one . For me, i3 wins over xmonad in terms of configuration…

Estonia Internet Voting

We investigated the security of Estonia's Internet elections assuming a state-level adversary. I wrote the proof-of-concept client malware that is able to silently steal votes. The project website is https://estoniaevoting.org/ . You can see read our peer-reviewed paper at https://estoniaevoting.org/findings/paper/ . BibTeX: 🔗 @InProceedings{ivoting-ccs2014, author = {Drew Springall and Travis…