My particular focus is on Distibuted Ledger Technologies and their Security aspects.

Having my current research interests in Hyperproperties, as my last(* and ongoing) Research is based on Verifying no vulnerability due to Information Flow in Ethereum Smart Contracts, done under Dr. Pramod Subramanyan, Computer Science & Engineering Department, Indian Institute of Technology - Kanpur, as an Undergraduate Research Assistant for a period of 2 months. [Read below about the Reseach]

Link to the Intern Completion Certificate

Other than these, I am also interested in Kernels of Machine Learning ALgorithms and their applications, Entrepreneurial Applications of the technology.

Further, I want to expand my domain, and move to Networked systems and learn more about Distributed systems at practical level, I am trying to find and delve into a field with an intersection of DLTs, Machine Learning and their Security.


Research Description

Secure Systems and Blockchain, [ETHEREUM],[under Guidance]

Advised by : Dr. Pramod Subramanyan, Assistant Professor, IIT Kanpur

Certificate

Topic: “Verifying no vulnerability due to Information Flow in Ethereum Smart Contracts” using Fuzzing Techniques to verify ​ HYPERPROPERTIES.

Using ​ Fuzzing​ technique, to find the bugs created due to Information Flow​ , mainly with the help of Observational Determinism​.

Description:​ I was the only​ Research Assistant in the project and have spent my summers​ working on ​Formal Methods​ , Concurrent and Parallel systems​, hyperproperties, Functional Programming Language (particularly ​ Haskell​ ), Model Checking, Solidity, and have worked out with source codes of popular security vulnerabilities finding software such as ​Slither​, Oyente​,​ ContractFuzzer. One of the main things I am working on is adding “Parallel Fuzzing Campaign” in a fuzzing tool Echidna, which is a Fuzz Testing Framework for Solidity Contracts.

Github Repository:

Below is the link to the repository containing the I worked on related to the issue, you stated above: https://github.com/johnsoncarl/echidna

the thing I performed was actually Concurrency as Hyperproperties require the two instances to be completely independent.

The code contains 3 added branches and respective corrections, out of them the most important one has the listed changes:

MASTER

concurrent https://github.com/johnsoncarl/echidna/tree/concurrent

experimental https://github.com/johnsoncarl/echidna/tree/experimental

experimental2 https://github.com/johnsoncarl/echidna/tree/experimental2

In the rest of the branches, major changes were done in the same files.

Language,Tools and Libraries: Solidity​ , shell, ​ Haskell,​ ​ Fuzzing Systems​ , ​ Echidna(Fuzzing Framework), Python