Ideas for Google Summer of Code 2015
A detailed description of ideas for Google Summer of Code
(GSoC)
project proposals.
The ideas are grouped by the project it is related to.
After a short description for each project the ideas are described.
The ideas described here are of direct interest of our organization,
but students can also propose original ideas.
In any case, it is a good practice be in contact with the possible
mentors and other students in our
IRC channel #labepi at freenode.net network and GSoC mailing list
labepi-gsoc@googlegroups.com.
Project: GIK
The Great Internet Keeper (GIK) project aims to build tools and
theories to study the Internet.
The current state of development of this project is theoretical.
The first results, presented in a PhD thesis (see references), support
the creation of tools with new strategies to perform monitoring of
large networks.
The next steps are grouped in two main ideas, described below.
-
Idea: Network scanner daemon and database
-
Brief description:
The Center for Applied Internet Data Analysis
(CAIDA)
researchers have been collecting connectivity and latency data
for a wide cross-section of the Internet.
On its PhD thesis, Medeiros (2013) use this data to support some
conjectures about the design of monitoring systems for large
scale networks.
This idea is for talented students who wish to develop new tools
based on this research.
-
Expected results:
(a) an Internet centric topology mapper;
(b) an accurate latency estimator for each hop of an Internet
path; and
(c) an optimized database system to store the data collected by
these tools.
-
Expected knowledge: computer networks, signal processing,
statistics, feature extraction, graph theory.
-
Skill level: medium.
-
Mentor: João Paulo de Souza Medeiros.
-
Suggested references:
[1] MEDEIROS, J.P.S.
A Influência da Observabilidade e da
Visualização Radial no Projeto de Sistemas de
Monitoramento de Redes de Computadores (in portuguese).
Universidade Federal do Rio Grande do Norte, 2013.
[2] LYON, G.F.
Nmap Network Scanning.
Nmap Project, 2009.
-
Idea: Algorithms for analysis of large graphs
-
Brief description:
On its PhD thesis, Medeiros (2013) presents conjectures about the
design of monitoring systems for large scale networks.
This is made based on experiments and simulations which use
metrics to characterize graphs.
Some algorithms used to compute these metrics are not fast enough
to study graphs with the size of the Internet.
This idea is for talented students who wish to develop a library
based in C language to study large scale graphs.
The proposal should be based on the use and extension of our `C
Library for Algorithmics and Data Structures' (CLADS).
-
Expected results:
(a) the implementation of the classical
Edmonds' algorithm for the maximum
matching problem;
(b) the implementation of
Vazirani's algorithm for the maximum
matching problem;
(c) the implementation of optimized algorithms to compute some
metrics on graphs; and
(d) write a technical report describing the discoveries and
achievements.
-
Expected knowledge: c, data structures, graph theory and complex
networks.
-
Skill level: hard.
-
Mentor: João Paulo de Souza Medeiros.
-
Suggested references:
[1] MEDEIROS, J.P.S.
A Influência da Observabilidade e da
Visualização Radial no Projeto de Sistemas de
Monitoramento de Redes de Computadores (in portuguese).
Universidade Federal do Rio Grande do Norte, 2013.
[2] LIU, Y.-Y.; SLOTINE, J.-J.; BARABASI, A.-L.
Controllability of complex networks.
Nature, Volume 473, pp 167–173, 2011.
Project: KIoT
This is a new project which aims to create an open source low cost
development environment for Internet of Things (IoT) applications.
The integration of wireless sensors networks (WSN) to the Internet is
an emerging research topic in the scientific community.
But wireless sensors and integration devices are too expensive to make
possible practical research on large scale.
Moreover, some open source enthusiasts wants a free platform to develop
its applications.
These two facts were the reason to the creation of a core (kernel)
development platform for IoT, named KIoT.
-
Idea: IoT unix based gateway system
-
Brief description:
The major part of electronic commercial and industrial devices
are based on existing legacy systems.
Integrate these devices to the IoT infrastructure is a problem
the student will deal with on this idea.
-
Expected results:
(a) a free operating system platform to serve as a IoT gateway;
(b) a representative application which explores gateway
pontential; and
(c) a technical report describing the steps to build the gateway.
-
Expected knowledge: unix, c, kernel development, microelectronic,
microprocessor programming, wireless networks and data
transmission systems.
-
Skill level: hard.
-
Mentor: João Batista Borges Neto or
João Paulo de Souza Medeiros.
-
Suggested references:
[1] MCKELLAR, J.; RUBINI, A.; CORBET, J.; KROAH-HARTMAN, G.
Linux Device Drivers.
O'Reilly, 2015.
Project: RadialNet
A network visualization tool initially developed for
Umit
during the
GSoC
(Google Summer of Code) program in 2007.
It consists in a graphical tool to illustrate network information
obtained by
Nmap.
Basically, it offers a interactive visualization for exploration of
network topology and properties using a radial layout based placement
of network nodes.
Part of RadialNet is integrated on the official Nmap front-end, named
Zenmap.
The official Nmap
book
contains a section named
Surfing the Network Topology
devoted to this subject.
To get the last version of RadialNet check its
repository.
-
Idea: General improvements and new features
-
Brief description:
In general terms, students should expose in proposals for this
idea the improvements and new features they think it should be in
RadialNet.
For example, it is already possible to import Nmap XML files and
to perform scans using Nmap.
Although Nmap integration should be improved, import data from
CAIDA tools
like Scamper is also a desired new feature.
-
Expected results:
(a) import data from other network scan tools;
(b) improve Nmap integration; and
(c) create and keep up to date RadialNet users and developers
documentation.
-
Expected knowledge: python, gtk, network monitoring and network
security.
-
Skill level: easy.
-
Mentor: João Paulo de Souza Medeiros.
-
Suggested references:
[1] MEDEIROS, J.P.S.
A Influência da Observabilidade e da
Visualização Radial no Projeto de Sistemas de
Monitoramento de Redes de Computadores (in portuguese).
Universidade Federal do Rio Grande do Norte, 2013.
[2] LYON, G.F.
Nmap Network Scanning.
Nmap Project, 2009.
-
Idea: New drawing algorithms and performance improvements
-
Brief description:
The radial layout used to draw the network
gives to RadialNet its name.
However, probably it is not always the best method to draw any
graph.
Other methods, for example force-directed graph drawing, should be considered.
Moreover, the use of some general strategies can improve the
performance of drawing algorithms, for example the
Quadtree data structure.
-
Expected results:
(a) improve the performance of the radial layout method;
(b) implement, at least, two other drawing methods; and
(c) write a technical report comparing the performances of each
method.
-
Expected knowledge: python, gtk, graph drawing, scientific
visualization, computational geometry and data structures.
-
Skill level: hard.
-
Mentor: João Paulo de Souza Medeiros.
-
Suggested references:
[1] MEDEIROS, J.P.S.
A Influência da Observabilidade e da
Visualização Radial no Projeto de Sistemas de
Monitoramento de Redes de Computadores (in portuguese).
Universidade Federal do Rio Grande do Norte, 2013.
[2] TOLLIS, I.G.; DI BATTISTA, G.; EADES, P.; TAMASSIA, R.
Graph Drawing: Algorithms for the
Visualization of Graphs. Prentice Hall, 1998.
-
Idea: Remote computer fingerprint database management
-
Brief description:
Remote computer fingerprinting (RCF) is a main research interest
of our group.
There is a large number of tools and methods to perform RCF,
which makes difficult study that matter.
This idea intends to promote proposals which aims to group the
most expressive remote device fingerprint databases and make
easier their management.
-
Expected results:
(a) a database management system for heterogeneous remote device
fingerprint databases;
(b) support to Nmap IPv4 and IPV6 remote operating system
fingerprints; and
(c) a classification system to match acquire data with stored
fingerprints.
-
Expected knowledge: python, gtk, computer networks and pattern
classification.
-
Skill level: medium.
-
Mentor: João Paulo de Souza Medeiros.
-
Suggested references:
[1] MEDEIROS, J.P.S.
A Influência da Observabilidade e da
Visualização Radial no Projeto de Sistemas de
Monitoramento de Redes de Computadores (in portuguese).
Universidade Federal do Rio Grande do Norte, 2013.
[2] MEDEIROS, J.P.S.; BORGES NETO, J.B.; DANTAS QUEIROZ, G.S.;
PIRES, P.S.M.
Intelligent Remote Operating System
Detection.
In: Case Studies in Intelligent Computing, pp 177-196, ISBN
978-1-4822-0703-3, CRC Press, 2014.
[3] MEDEIROS, J.P.S.; BORGES NETO, J.B.; BRITO JUNIOR, A.M.;
PIRES, P.S.M.
Learning Remote Computer
Fingerprinting. In:
Computational Intelligence in Digital Forensics. Studies in
Computational Intelligence, Volume 555, pp 253-283, ISBN
978-3-319-05884-9, Springer, 2014.
[4] LYON, G.F.
Nmap Network Scanning.
Nmap Project, 2009.
Project: SHELF
SHELF HPC Platform (Scalable, Heterogeneous, Low-cost and Free High
Performance Computing Platform) is a project which aims to build up a
parallel and distributed computing low-cost testbed for research and
educational purposes.
It consists on a
Beowulf cluster
equipped with standard Linux systems, specifically
Debian, and
Open MPI
(A High Performance Message Passing Library).
-
Idea: Minimalist system image for computing nodes
-
Brief description:
Legacy hardware may have very restricted processing and storage
capabilities.
Since the project is intended to use low cost devices, the loaded
system on computer nodes should be fast and small.
Proposals for this idea should describe a methodology which will
achieve how to build up a minimalist functional system for
parallel processing.
-
Expected results:
(a) a technical report describing the steps to build the
minimalist system image;
(b) the implementation of a representative parallel algorithm to
evaluate the system; and
(c) a technical report with a performance comparison between
a general and the minimalist system.
-
Expected knowledge: unix, c, kernel configuration, operating
systems, computer networks, distributed systems and parallel
programming.
-
Skill level: medium.
-
Mentor: João Batista Borges Neto or
João Paulo de Souza Medeiros.
-
Suggested references:
[1] PACHECO, P.
Parallel Programming with MPI.
Morgan Kaufmann, 1996.
-
Idea: Parallel stochastic search optimization algorithms
-
Brief description:
Some computational problems can not be solved exactly in a
reasonable amount of time.
NP-complete is a class of problems which
practically require the use of experimental algorithms to solve
them approximately.
Since some of these experimental algorithms can be parallelized,
its is possible to take advantage of parallel programming to
speed up this process.
Basically, for this idea the student should propose the
implementation of at least two experimental parallelized
algorithms (e.g. genetic algorithms).
-
Expected results:
(a) implementation of two experimental parallelized
algorithms;
(b) application of the implementations to two problems; and
(c) a technical report comparing the performance of the two
implementations.
-
Expected knowledge: computer networks, parallel programming,
distributed systems, optimization, stochastic search and
experimental algorithms.
-
Skill level: hard.
-
Mentor: João Batista Borges Neto or
João Paulo de Souza Medeiros.
-
Suggested references:
[1] PACHECO, P.
Parallel Programming with MPI.
Morgan Kaufmann, 1996.
Project: ZION
It is a project which aims to identify remote networked systems and
devices through the network, e.g. using operating system
fingerprinting.
Operating System (OS) fingerprinting is the process of identify the OS
of a remote machine through a computer network.
This process has many applications in network security.
Both white and black hat hackers can use OS fingerprinting to obtain
information about possible vulnerable targets on a computer network.
There are many tools that can perform OS fingerprinting.
However, there are many OS fingerprinting deceiving tools that can
invalidate identification results.
Two well known OS fingerprinting deceiving tools are Honeyd and IP
Personality.
The use of PAT (Port Address Translation), often related to load
balancing and services distribution, also difficult identification,
because some OS fingerprinting tools use more than a open port to
perform identification.
Other problem is packet normalization.
Some firewalls, like OpenBSD PF, has the ability of normalize packets
to suppress ambiguities and security problems in communication.
-
Idea: Remote computer fingerprinting tool
-
Brief description:
This idea consists in the creation of a new remote computer
fingerprinting tool, which can overcome the problems described
above.
The proposal should be based on the use and extension of our `C
library for Learning Appliance and Neural Networks' (CLANN)
and our `C Library for Network Environment Tools' (CLNET).
-
Expected results:
(a) advances the characterization and classification
processes;
(b) write a technical report describing the discoveries and
achievements;
(c) create a significant database of remote compute fingerprints;
and
(d) write a tool to acquire, characterize and classify remote
computer fingerprints.
-
Expected knowledge: computer networks, c, python, feature
extraction and pattern classification.
-
Skill level: medium.
-
Mentor: João Paulo de Souza Medeiros.
-
Suggested references:
[1] MEDEIROS, J.P.S.; BORGES NETO, J.B.; BRITO JUNIOR, A.M.;
PIRES, P.S.M.
Learning Remote Computer
Fingerprinting. In:
Computational Intelligence in Digital Forensics. Studies in
Computational Intelligence, Volume 555, pp 253-283, ISBN
978-3-319-05884-9, Springer, 2014.
[2] MEDEIROS, J.P.S.; BORGES NETO, J.B.; DANTAS QUEIROZ, G.S.;
PIRES, P.S.M.
Intelligent Remote Operating System
Detection.
In: Case Studies in Intelligent Computing, pp 177-196, ISBN
978-1-4822-0703-3, CRC Press, 2014.
-
Idea: Evaluation of remote computer fingerprint uniqueness
-
Brief description:
This is a qualified research idea.
The student should elaborate and perform an experiment to verify
quantitatively the possibility of creation of unique remote
computer fingerprints.
-
Expected results:
(a) a significant experiment measuring the uniqueness hypothesis
for remote computer fingerprints;
(b) write a technical report describing the discoveries and
achievements; and
(c) write a prototype tool to acquire, characterize and classify
remote computer fingerprints.
-
Expected knowledge: computer networks, python, signal processing,
statistics, feature extraction and pattern classification.
-
Skill level: hard.
-
Mentor: João Paulo de Souza Medeiros.
-
Suggested references:
[1] MEDEIROS, J.P.S.; BORGES NETO, J.B.; BRITO JUNIOR, A.M.;
PIRES, P.S.M.
Learning Remote Computer
Fingerprinting. In:
Computational Intelligence in Digital Forensics. Studies in
Computational Intelligence, Volume 555, pp 253-283, ISBN
978-3-319-05884-9, Springer, 2014.
[2] KOHNO, T.; BROIDO, A.; CLAFFY, K.C.
Remote physical device fingerprinting.
IEEE Transactions on Dependable and Secure Computing, Volume
2, Issue 2, pp 93-108, 2005.