Fuzztruction: Using Fault Injection-based Fuzzing to Leverage Implicit Domain Knowledge
https://www.usenix.org/system/files/usenixsecurity23-bars.pdf
Paper focuses on fuzzing programs accepting structured inputs by using fault-injection. Assuming we have a generator program, this technique intelligently mutates the instructions in the generator program to generate *mostly* well-formed inputs. Next, these inputs will be used to test target programs (i.e., those that accept structured input).
Fuzzing, Fault Injection, Mutation
Pros:
USBFuzz: A Framework for Fuzzing USB Drivers by Device Emulation
Paper focuses on finding software vulnerabilities to which a host OS can be exposed due to a malicious USB device. An emulated device is used to feed in input to USB device drivers to fuzz them using coverage guided or dumb fuzzing techniques. It has been successful in finding a number of Bugs in different operating systems
Fuzzing, Kernel Security, USB
Pros:
PTAuth: Temporal Memory Safety via Robust Points-to Authentication, PDF
Pros:
Retrofitting Fine Grain Isolation in the Firefox Renderer, PDF
Pros:
Fuzzware: Using Precise MMIO Modeling for Effective Firmware Fuzzing PDF
The paper is about creating an approach to automatically create hardware models to facilitate firmware re-hosting. The approach is to use localised symbolic execution in order to classify the MMIO access into an abstract hardware model.
Hardware, MMIO, Re-hosting
Pros:
SoK: All You Ever Wanted to Know About x86/x64 Binary Disassembly But Were Afraid to Ask PDF
The paper looks at the effectiveness of binary analysis tools on x86/x64 binaries. The ground truth information was collected by modifying the compiler and assembler, this information was then used to evaluate the tools.
Pros:
(Aravind Machiry)
XDA: Accurate, Robust Disassembly with Transfer Learning PDF
No reading group.
No reading group.
Neural Transfer Learning for Repairing Security Vulnerabilities in C Code, PDF
Machine Learning, Vulnerability Recovery, Defense
The paper presents a technique based on transfer learning to automatically repair security vulnerabilities. Specifically, they train a transformer model to learn bug fixes and then use th trained model for fixing vulnerabilities.
Binary Rewriting without Control Flow Recovery, PDF
BinaryAnalysis, Tooling
The paper presents techniques to introduce trampoline based patches i.e., jumps (opcode: e9) into x86 binaries. Their techniques do not depend on recovering control flow, which is considered as a hard problem on binaries.
An Electromagnetic Fault Injection Sensor using Hogge Phase-Detector, PDF
Hardware defense, Defense
The paper presents a sensor to detect EM Fault Injections on hardware. The paper proposes an all digital solution to effectively detect changes in a Ring Oscillator.
The Seven Sins: Security Smells in Infrastructure as Code Scripts, PDF
Software engineering suggestions, Defense
The paper identifies security smells in Infrastructure as Code Scripts i.e.Puppet script.
They basically parse Puppet scripts to get key value pairs and pattern matches for specific security smells.
Examiner: Automatically Locating Inconsistent Instructions Between Real Devices And Cpu Emulators For Arm, PDF
Differential Testing, Vulnerability Detection
The paper uses differential testing to automatically locate inconsistent instructions, which behave differently between emulators and real devices targeting ARM processors.
They use ARM instruction xml to understand the possible instruction encodings and use constraint solver to generate valid instructions i.e., instruction which will always be decoded.
Prime+Probe 1, JavaScript 0: Overcoming Browser-based Side-Channel Defenses, PDF
Side-channel attack, Attacks
The paper explores the possibilities of performing side channel attacks in scenarios where access to the conventional timers are restricted. It relies on performing network requests to attacker controlled servers to obtain similar information.
NTFUZZ: Enabling Type-Aware Kernel Fuzzing on Windows with Static Binary Analysis, PDF
Fuzzing, Vulnerability Detection
This paper uses static analysis (abstract interpretation) to determine the data types of the arguments accepted by Windows system calls.
Later, it uses these data types to mutate system call arguments.
Fuzzing methodology:
They use runtime mutation to fuzz system call arguments. Specifically, first they select some seed applications that trigger the target system call. Second, these system calls are hooked and their arguments are mutated at runtime using their types determined in the first step.
ARBITRAR : User-Guided API Misuse Detection, IEEE Security and Privacy (2021), PDF