Hi, I'm Khushang Singla,

Skills

C++
C
Python
Java
Bash
R
x86_64 assembly
Prolog
Awk
Golang
PyTorch
NumPy
Matplolib
torchvision
pwntools
keras
BeautifulSoup
Pandas
sklearn
FLTK
Git
LaTeX
Neovim
gdb
sphinx
Doxygen
Wireshark
docker

Education & Experience

  • B.Tech. Computer Science
  • May 2024 - July 2024 - Rubrik Inc.
    Software Development Internship
  • January 2024 - April 2024 - Teaching Assisstant
    Operating Systems TA
  • May 2022 - May 2023 - Cyber Security Community
    Convener
    Cybersecurity Reverse Engineering Binary Exploitation Cryptography
  • April 2019 - March 2021 - Bhavan Vidyalaya, Panchkula
    Senior Secondary Education
    CBSE 97.4 %

Projects

This project was done in teams of 3. We explored effects of various changes in spectre attack. We also modified the attack to leak data from victim when there is no shared memory. This modification involved use of Prime+Probe to leak cache states.

Computer Architecture Spectre Prime + Probe

This was my RnD Project done under guidance of Prof. Biswabandan Panda. As part of this project, I explored the possibility of exploiting amdprefetch attack on recent processors. I also explored the TLB reverse engineering described in TLB;DR: Desynchronized Reversing which utilizes the fact that memory and TLB are not synchronized to get higher accuracy results

Computer Architecture TLB Reverse Engineering TLB Attacks

Studied effects of different cache hierarchies on performance in case of graph workloads. Used champsim simulator to implement variations of cache hierarchies.

Cache Hierarchy ChampSim Graph workloads Performance

This was my RnD Project done under guidance of Prof. Biswabandan Panda. As part of this project, I first read about the Website Fingerprinting which analyses and proves that interrupts cause the leakage in this and not the cache as was said in the paper. Later, we explored the possibility of using this interrupt side channel to break VM isolation and leak the processes being run across the VM layer. This was started by Girish Srivatsa and Prajith and later continued by me and Shubham Roy

Computer Architecture VM Isolation Interrupt Side Channel

This was my course project done under guidance of Prof. Vinay Ribeiro. As part of this project, I implemented a blockchain simulator in C++. The simulator supported small and fast nodes connected through fast or slow links. It simulated PoW based on various heuristics.

CPP Blockchain Simulator

SCLP stands for Simple C Like Programming Language. As a part of course project for the course Implementation of Programming Languages, we had written this compiler in teams of 2. This compiler generates mips assembly for the input program. It supports loops, conditions, and functions.

CPP Compiler YACC Lex

I participated in various CTFs as part of the team IITBreachers, the official team of Cybersecurity Community of IIT Bombay. We ended up in good positions in various CTFs and even qualified the first round of CSAW. I also designed and hosted various questions for various CTFs organised by Trust Lab, IIT Bombay. I have written writeups of a few of the questions I designed.

CTF

A fast, secure chatting application.
In this project, we (team of 3) built a chatting application with End-to-End Encryption. It also supported Group Chats. We used sockets and selectors primitives in python for communication channels and server handling respectively. We also implemented various load-balancer techniques. We compared various load-balancing mechanisms by performance analysis using 100 clients connecting to 5 servers.

Sockets Python selectors Client-Server End-to-End Encryption

Convolutional Neural Network. I made Neural Network from scratch for MNIST dataset. I also made Convolutional Neural Network using PyTorch for classifying CIFAR-10 dataset. The project also involved implementing U-Net on Caravana Dataset.

Neural Net CNN U-Net ML PyTorch

Game of Tic-Tac-Toe
This game involves two players on network. One of the players acts as server and other player acts as client. This was made using sockets in Java.

Java Game Sockets

Game of Brick Breaker. This is a web browser game made using javascript and HTML. The game involves various levels. The game is also hosted on GitHub pages.

HTML JavaScript Game

Single Player game made using Fast-Light ToolKit (FLTK) library of C++. This project involved various concepts of Object Oriented Programming.

OOPS C++ FLTK

Course Project studying various different types of adversarial attacks and defenses on different types of datasets.

ML Adversary CyberSecurity

Group of 2. Studied about various tools for anonymous communication. Focussed on deep understanding of anonymous network of I2P and Tor.

Tor I2P Anonymous CyberSecurity

Contact