Academic Projects
◦ Fetal Heart Rate Monitoring System: Built a search tool for doctors to find patient information from millions of records of visits of patients at the Stony Brook Hospital. (Elasticsearch, Postgres, Flask)
Implemented google login for the FHR system dashboard (Python, Flask, Oauth2.0).
◦ NBA Players Analytics Dashboard: Developed an interactive one page dashboard of NBA players to visualize interesting trends in basketball over the past few decades (Javascript, d3.js, HTML, CSS, Bootstrap).
◦ DNS attack detector: Developed two tools: dnspoision and dnsdetect as part of the Network Secutrity course (CSE508). dnspoision - An on-path DNS poisoning tool using GoPacket Library available in Golang, that captured the DNS packets in promiscious mode and injected malformed responses on the network to selected DNS queries, thereby poisoning the cache of the node that initiated the query.
dnsdetect - Captured traffic from a network interface and reported any successful/unsuccesful attempts made to poison the victim's cache.
◦ Plugboard proxy: Developed "Plugboard Proxy" for adding an extra layer of protection to publicly accessible network services. The pbproy essentially runs in two modes: client mode and reverse proxy mode.
Rather than connecting directly to the TCP service, the client first connects to the pluboard proxy which is running on the same machine as the server, which then relays all the traffic to the original server. Before forwarding the traffic, the pbproxy decrypts the traffic using a symmetrix key. This ensures that in case there is any data coming from the client which is not properly encrypted, then it would turn into garbage.
On the other hand, when the pbproxy is running in the reverse proxy mode, it takes traffic from the server and sends it back to the original client.
◦ Smart Parking Reservation: Developed an Android app with online payment feature for Embedded systems course which locates and reserves parking spots in the university campus. (Android, GPS)
◦ Multipart Downloader: Developed command line utility to download large files from the internet in
multiple chunks using multithreading and resume downloads from the last known byte in case of failures. (C, libcurl)