Areas of Interest
Operating systems, wireless networks, network intrusion detection, network processors, network measurement, and scalable storage systems.
What follows is an overview of projects where I was involved. Briefly, I was involved in numerous projects that required linux kernel hacking, network processors programming, implementation of low-level device drivers , embedded systems programming etc.
NOAH Database Management Interface (2008)
Implementing a web application (based on Ruby on Rails web framework) that eases the management of a network of honeypots. Information concerning the location of the sensors/honeypots, the hardware and software configuration of the sensors/honeypots and the services running are easily managed.
NOAH Database Population Tool (2007)
Implementing a command line tool that parses the log files that are emitted by the Argos Honeypot and populates the tables of a MySQL database. The goal of NOAHDB is to assist the network administrator to collect and analyse all that precious information emmited by the Argos honeypot.
Asterisk Voice-over-IP Configuration Tool (2007)
Implementing a tool based on Python for automatic configuration of Asterisk VoIP server. The tool features a command-line interface and a web-based interface and supports SIP, IAX, ZAP, EPYGI, and MGCP phones. It also supports SIP, IAX and ZAP trunks.
Wireless Network Intrusion Prevention System (2006)
With the explosive adoption of wireless networking, wireless security became an issue of paramount importance. With the physical medium (air) providing no restriction to unauthorized users and encryption protocols failing to achieve their claimed security requirements, wireless security is a challenging research area.
Porting Linux to a Xilinx Virtex-II Pro FPGA Evaluation Board (2004)
We ported the Linux kernel to an Avnet Virtex-II Pro Evaluation board. The goal was to test a novel interconnection network between PowerPC processors.
A High-Performance Remote Storage System (2004)
Modern storage systems are required to scale to large storage capacities and I/O throughput in a cost effective manner. For this reason, they are increasingly being built out of commodity components, mainly PCs equipped with large numbers of disks and interconnected of high-performance system area networks.
A High-Performance Network Intrusion Prevention System (2003)
Network intrusion prevention systems provide proactive defense against security threats by detecting and blocking attack-related traffic. his task can be highly complex, and therefore, software-based network intrusion prevention systems are not capable of handling high speed links.
Network Monitoring API (2002)
We designed a novel general-purpose network traffic Monitoring Application Programming Interface (MAPI) for network monitoring applications. This work built on a generalized network flow model that is flexible enough to capture emerging application needs, and expressive enough to allow the system to exploit specialized monitoring hardware, where available.
Discovery of the Topology of Gnutella and Study of its Performance (2001)
Unstructured peer-to-peer networks such as Gnutella are attractive for certain applications because they require no precise control over network topology or data placement. However, the query algorithm used in Gnutella does not scale.
Developing Applications for Embedded Systems (2001)
Developing demo applications for two evaluation boards. The first one was DIL/NetPC DNP/1110 and the second one was IPC@CHIP.
Advanced Coursework & Other (2000-2001)
(1) Designed and implemented a RISC processor using Verilog. (2) Implemented text detection using trained convolutional filters. The system consisted of a convolutional neural network designed to recognize strongly variable text patterns directly from pixel images with no preprocessing. (3) Implemented a morphological technique for text extraction from images. (4) Designed and implemented a compiler for a language similar to C. (5) Designed and implemented a highly-available, replicated data matrix.