Projects and Experience

Password modeling for estimating strength of passwords

This is part of an ongoing Research Assistantship at CyLab, CMU where we are creating an efficient language model over a large set of passwords so that we can most efficiently guess the passwords. Efficiency of guessing is really important because to crack the passwords the cracker essentially has to guess all the passwords quickly. Given a leaked password in a hashed format, the cracker will iterate through password guesses and hash the guess and compare the hashes. If the hashes match, the password is said to be cracked.

Now to make it really hard for the crackers to guess the passwords, we want strong passwords which takes an inordinate amount of time to crack. After we get an estimate of the password strength from a deep model, we create a meter which provides feedback in form of a password meter. This makes sure people create strong passwords, where strength is data defined.

My contribution was that I migrated the project to tensorflow from theano, scaled the training to multiple GPUs, improved the training performance, improved the model accuracy and built a new model

Github – https://github.com/cupslab/neural_network_cracking

DDoS attack detection using Deep Learning

This was a part of a Research Assistantship at SUTD, Singapore where we developed models to detect Crossfire attack using Deep Learning techniques. Crossfire attack is a type of a Distributed Denial of Service (DDoS) attack on a network. To detect the attacks, we simulated the attacks over an institutional infrastructure and with the data, trained a model to detect the attacks. We tried different models like Convnets and LSTMs.

I was involved from development of the idea to the final implementation.

Beatbox to Drumtrack conversion app

After I moved to Singapore and then Pittsburgh, I had a problem. I no longer had my drumset with me. In its absence, I would just create beats from my mouth (beatboxing) to keep myself entertained. But it would sound shabby. This inspired the idea of converting the recording to professional sounding drumtracks.

The idea was to create an android app as it would be how the product should shape up, but the challenge was that signal processing and machine learning was in a really bad shape in android. So I created a client-server architecture where the phone client would send the recording to the server which would perform the compute and return the result.

The conversion involves detection and classification of sound for which I used feature extraction and a SVM model to detect. Also signal processing techniques were applied to filter some noise and segment the signals.

Github – https://github.com/misrasaurabh1/beatz

Projects at Nvidia, Bangalore

I was an Architect at the performance tools team in Nvidia for two years. Our team developed a variety of tools for assessing the performance of GPUs in RTL and silicon form along with drivers. I was responsible for probing customer requirements, designing the solution, implementing it, maintaining it and providing support.

I created a tool from scratch in C++ which enabled improved DX12 performance of Nvidia GPUs by 10% in async compute.

We also started and progressed on a new project to automatically help group test failures together using data mining and unsupervised learning techniques.

I also worked on a deep learning based approach to classify tests to achieve maximal test coverage of the chip.

High performance Twitter analytics web service

I built a cloud system which recommends hashtags, finds trending topics and tweets, modifies tweets over a distributed backend while maintaining consistency.

The project involved ETL over 1TB dataset, web servers and Database systems. The whole system was highly optimized and built under strict time and money constraints. The performance and correctness of the system was verified during a live test.

Technologies used were Hadoop MapReduce, Undertow web server, MySQL, HBASE and Java.

Android app platform for carpooling

Created a android app for course project which had a backend database integration and realtime chat functionality. The app was designed with a product design perspective which meant that we prototyped the designs, elicited feedback on it, did market research and did interviews and surveys on user preferences and demands.

A pipelined vector processor architecture for Face Recognition.

I designed the logic and the datapath of a pipelined vector processor which did matrix and scalar operations for Face Recognition. This was done as part of a summer research internship at CAD Lab, Indian Institute of Science, Bangalore. The processor was implemented in Bluespec System Verilog language. In this project I learned the timing constraints involved in implementing a high speed processor vector processor.

A novel low power clock distribution network

Primary author of this paper which tackled the problem of low power clock distribution network. The paper proposed and simulated a novel way to reduce the power consumption of hybrid clock network which fed clock at a reduced frequency and voltage levels. The paper proposed a power efficient Level Converter and Frequency Doubler to restore clock at nodes of the network. The proposed converter was 33% more power efficient than existing technologies at 400 MHz clock.