My Projects

Home | Projects | Useful Links | Contact | Chords | Resume | Github

Binary instrumentation paper in USENIX Security 2023

During the master's at Stony Brook I worked in Secure Sytems lab of a new binary instrumentation technique that provides a robust and efficient technique for instrumenting binaries. Our work was published in USENIX Sec 23. You can find the paper here.

CFI and shadow stacks (master's thesis)

For my master's thesis I worked on developing a novel shadow stack implementation that can be used to protect againts Control flow hijack attacks like ROP attacks that target the return address. You can read the thesis here.

ELF binary parser in Rust

As an exercise to learn Rust I am writing an ELF binary parser in Rust. Currently it only support parsing of header, program header and section header.
Link to the source

Deal A Hand

A simple react app that deals a 5 card hand.
Link to the source

Secure Trash Bin File System

This is a file system developed on top of WrapFS, which is a pass-through file system for Linux. This was developed as a kernel lodable module written in Linux kernel style C, when mounted for a particular directory it enables a trash-bin like functionality. Whenever a file is deleted it would encrypt it and move it to a trash folder. This is achieved by leveraging WrapFS’s concept of upper and lower level objects. VFS layer would think that WrapFS is the actual filesystem while the filesystem like Ext4 would think of WrapFS as the VFS layer. This added layer of indirecction allows us to add or modify the filesystem objects.

Visualization Dashboard

Developed a data visualization dashboard using D3 Javascript library. It was used to analyze various development factors from United Nation datasets. The dashboard made use of bar chart, time series, choropleth, PCP and MDS.
Link to the video

Safex

It is a safe execution program that makes use of library interception to disallow any application to make direct system calls. Instead it sends out the system call information to a delegate process which then checks the system call parameters to a pre-defined policy according to which the system call is then made by the delegate process and the return value is sent back to the application making the system call, the system call parameters and file descriptors are passed between the library and the delegate process thought Unix domain socket.

url2file

A ptrace based utility that transparently extends an application with the ability to handle urls, made use of ptrace as a mechanism to intercept system calls that are made to access and open a file, if the file name is a url then the file was downloaded to the system and then the the system calls were made to that downloaded file

Some Chords

A website written to be simple and functional, written in plain ascii for portability. To go along with that a ncurses program written in C, which you can use from the link below.
Link to the source

Chords

A simple program to print out common guitar chord shapes right in your terminal. Maybe posix compliant, I am not too sure about that.
Link to the source

Phetch

A small little POSIX compliant shell script to print out useful/unuseful information in your terminal.

Will be expanding this till it's maturity to keep an eye on that!!
Link to the source

Intelligent Traffic Lights Using Reinforcement Learning

Distressed with the increasing traffic in my city, I decided to undertake a project that could have some value in the future. We Started off by conducting literature survey, soon to discover that there has been some solid work done in the field. We expanded our research to be more in line with the Indian Traffic conditions and the results we were able to achieve were significant. We achieved a 74% performance improvement over a standard traffic light.
Here is the link to the source

Navigation Bar and Status bar customisation for Android

These are theme-ing apps that work alongside the Substratum theme engine for Android to change and customize navigation and status bar of an android device. I made them possible using guides from the theme community, Android Studio, GIMP, Adobe Illustrator and JAVA. The Apps are called “[Substratum] Navigate theme” and “[Substratum] Status theme”. “Navigate” theme has crossed 300K downloads on Google Play Store.
Link to play store