Research Projects of Alexey Smirnov
I was a graduate student at Computer Science Department of Stony Brook University from 2002 to 2006. I got a Masters degree in Computer Science in 2005. These are the projects that I worked on at SUNY as well as shortly thereafter.
My interests are in systems area. They include security, operating systems, graphics, mobile technologies. I was doing research under supervision as well as independently.
Mobile technologies. When it comes to Internet access, a typical cellphone cannot display HTML pages because of the associated computational complexity. A simplified version of HTML called WML was designed for cellphones. Limited hardware resources of a low-end cellphone hinder its ability to execute Java applications. These kind of phones are typically in the $100 price range. People use them to make calls but rarely do they think of using them to browse the Internet. Project Bomjpacket aims at providing the ability to browse the Internet using minimal resources. It is better than OperaMini because the latter is quite resource demanding.
Application security. Buffer overflow attacks are the easiest and thus the most widely used method to hijack control of a remote system. Many researchers have proposed methods of detect buffer overflow attacks. A comprehensive defense strategy against buffer overflow attacks should include the following components:
- Attack detection that can detect an attack before the control is hijacked;
- Attack packet identification that can identify the attacking packet and pass it to an IDS
- Attack repair that can repair the memory state of the compromised program so that the program will think it has never received any attack packets.
- Signature generation. PASAN is able to generate attack signatures in the form of multiple patterns in a byte stream, each of which can be characterized by a regular expression and/or a length constraint.
- Patch generation. From the corrupted return address associated with a buffer overflow attack, PASAN first produces a source-code level patch and then tests the patch against the original attack packets to ensure that the patch fixes the original vulnerability as well as related vulnerabilities