The project code for each project is given as a word in capitals
before the project description. E.G the code for the first project
described below is AIRCRACK1 . You will need to use the project code in the
form to register the appropriate project. Please do not register any project until
by considering required aims, objectives and available support technology and information
resources, you are confident that you are willing and able to complete your
registered project.
Where 2 projects with the same prefix are numbered 1 and 2, e.g.
APACHEVS1 and APACHEVS2, these may be registered by a pair of students interested
in working and cooperating with each other in order to have work assessed
as a joint project. Please don't register any one of these unless you are willing
to work with whichever student succeeds in registering the other. Please read
the assignment brief to review additional requirements for pair projects.
- AIRCRACK1 The student undertaking this must be able to use Linux in
connection with WiFi and collaborate with the student undertaking Aircrack2.
Download and install the Aircrack-ng tool suite
and study the use of these tools in connection with a WiFi access point setup
for the purpose of penetration testing. The student registering this
must ensure that they are authorised to penetration test the access
point to be tested by the owner of this access point. How long did it
take to find the WEP keys ? Are attacks against WEP feasible without
injecting traffic into the AP ? To what extent does the WEP key length
affect the difficulty of obtaining the key ?
- AIRCRACK2 see Aircrack1. This student should concentrate on configuration
of the WiFi access point. Do the instructions available for the setup of the
access point help or hinder security of this installation, e.g. in
connection with use of good entropy and support for WPA and WPA2 to mitigate
dictionary attacks ? To what extent has your understanding of this been changed
in connection with the penetration testing undertaken ?
- APACHEVS1 Install a recent copy of the Apache webserver program on Linux
or another OS with equivalent multiuser capabilities and configure this
server so that multiple users can operate their own web sites using
the virtual server Apache facility. Study, test and write a user guide
explaining relevant Apache and operating system configuration
issues relevant to maintaining appropriate access controls.
Report on what you have discovered about webserver security
and access control.
- APACHEVS2 as above, but one student should concentrate on the OS access
control configuration including user file upload requirements for website
maintenance, while the other should concentrate on the Apache
configuration.
- BACKUP Using Rsync (remote synchronisation) and SSH (secure shell)
programs investigate procedures used for
automating backups of a server to a remote machine You must use
minimum bandwidth by only backing up changes after an initial
full backup is taken. Investigate procedures for making sure that
the data being transferred between machines is suitably encrypted.
Write a userguide describing the setup of all programs.
- BHISTLEAK Investigate use of the Javascript Document Object Model
(DOM) by a website interested in discovering which known links to other
websites have recently been visited by particular client browsers, based
on how a visited link is rendered in the browser window.
Develop a proof of exploit concept webpage which can tell browsers
which of a set of URLs to other websites they have recently visited.
Study the Javascript DOM and write a report on web-user privacy issues
which this exploit demonstrates and how this problem might be mitigated.
Further information is
available here. and here.
- BLOCKCIPHER Investigate, summarise and report upon cryptographic and security
application issues concerning a selection of block cipher algorithms including
DES1, triple DES, AES
and any other relevant competing algorithms. You must be willing to
study published materials concerning the peer review of relevant algorithms.
Your report must demonstrate the development of your understanding of
the mathematical issues encountered.
- BUFFER1 Investigate buffer overrun attacks, and test and demonstrate proof of
concept code within a VM environment. Write a report describing
your investigation, experiments and conclusions.
- BUFFER2 Investigate and apply technologies suitable for remediation of buffer
overrun attacks, e.g. address space layout randomisation. How well can these be detected
using static code analysis tools ?
- CACHEPOISON Investigate the mechanisms by which a resolving DNS server which
caches client requests using predictable pseudo-random numbers to generate
query IDs and UDP source port numbers can be manipulated by an
attacker in order to cause redirection of client queries to a spoofed
website, e.g. for Internet banking, using a poisoned DNS cache. Write
a report deriving lessons from the known history of discovered and
patched vulnerabilities in BIND and other DNS servers, e.g. DJBDNS.
Given the increase in bandwidth between attackers and likely DNS target
servers, do you think further attack modes are likely to be discovered
in currently fully patched DNS servers ? What can a site running
a DNS server do to detect and prevent this kind of attack ? Report your
investigation, wider study and conclusions.
- CAPTCHA These initials stand for Completely Automated Public Turing test
telling Computers and Humans Apart. Registering at a website or email
provider often involves solving a puzzle, e.g. by reading obfuscated
words or numbers encoded as graphics files. This has led to an arms race,
with spammers allegedly employing low-wage labour to solve these puzzles
and create spamming accounts cheaply, and investigating automated
means of solving these puzzles, and those setting these puzzles
devising more sophisticated
means of making these more difficult to solve using automated means.
Study and review the academic papers and resources available e.g. by
starting at http://www.captcha.net/ and identify, obtain,
download and experiment
with available CAPTCHA software, write a HOWTO for this as your technical
investigation and discuss trends in your context and conclusions report.
See also http://www.theregister.co.uk/2010/07/01/animated_captcha/ .
- CSSPRIV read http://dbaron.org/mozilla/visited-privacy and
http://www.theregister.co.uk/2010/04/05/firefox_browsing_history_fix/ .
Then study web technologies including Javascript and CSS to make
sure you understand the implications of website operators being
able to discover which other sites a client has visited, and
technical measures and user precautions needed to avoid
this privacy leak.
- COOKIE Websites place and file cookies in the browser cache folders of
user workstations for later retrieval, e.g. for web session authentication.
Some cookies are useful for the end user as they enable you to access
sites requiring authentication more easily. However, some of these cookies
are of little use to the end user, but are of use to advertising conglomerates
as these enable them to track many users across very many websites.
Such cookies could be identified and removed using a simple text editor,
but this was labour intensive, and likely not to be done regularly. Developments
in web browsers using database tools also result in more opaque storage.
Investigate the format by which cookies are stored, and develop a program
specification to enable a user to accept and automatically remove
cookies from unwanted advertisers in order to block cross site tracking.
This program should help a user identify unwanted sites, while being
able to operate without interfering with the use of wanted sites.
Write this specification as your technical report and then study and
report upon the wider issues raised by use of cookies in undermining
user privacy and recommend countermeasures in your context and conclusions
report.
- CONVERGENCE1 The perspectives and convergence web browser plugins and
servers offers an
extended approach to HTTPS certificate validation, involving
multipath checking to guard against man in the middle and
forged certificate attacks. Install the Firefox browser
plugin, study the academic papers concerned with key validation
and other documentation at the perspectives site, and investigate
how this software improves validation of self-signed web server
certificates. Further information
on Perspectives is available here and
on Convergence here .
To obtain high marks a student is expected to investigate installation of
client and server software
and join and make appropriate use of the developer mailing list.
A student working on this is expected to collaborate with a student
working on Convergence2 based upon negotiated division of work.
- CONVERGENCE2 A student working on this is expected to collaborate with
a student working on Convergence1 based upon negotiated division of work.
- CRACKUNIX Install and use a cracking program designed to investigate
password strength on Unix or Linux and weaknesses of a selection
of passwords. Describe procedures which an attacker with access to
the hardware containing the hash file but no logical access might
need to use in order to copy this. Develop an organisational
policy suitable for a company employing 300 people on password choice
based on your tests. Write a report describing
your investigation, experiments and conclusions. This project is
suitable for a pair project collaborating with CRACKWIN.
- CRACKWIN Install and use a cracking program designed to investigate
password strength on Windows and weaknesses of a selection of
passwords. Describe procedures used to obtain the password hash
from the Windows registry which an attacker with physical but no
logical access might need to use. Develop an organisational
policy suitable for a company employing 300 people on password choice
based on your tests. Write a report describing your investigation,
experiments and conclusions. See also CRACKUNIX .
- DANE This is for DNS Authentication of named entities. DNSSEC isn't just
for validating DNS lookups, it also concerns use of the DNS for storage, retrieval
and time limited cached provision of key materials for other applications, e.g.
email. Study the use cases described
in rfc6394 and research current uses of DNS for storage of key and authentication materials
and write a report readable by non-technical but educated members of the public
clarifying how DNSSEC may help enable other applications to be secured, discussing
also the limitations in this approach.
- DISKLEAK Many organisations need to dispose of outdated computing
equipment in an environmental and community-friendly
manner without disclosing any confidential information. A
number of charities exist which will refit these
computers, e.g. for developing country use. Investigate how
information is physically stored on hard disks and how
it may be restored if accidently deleted, and write a
computer program which can delete everything on a hard
disk securely. Investigate other software packages, and
policies and procedures suitable for an
organisation that wants to dispose of such equipment
without totally destroying it, and can not rely on
any outside party securely to erase confidential information on
redundant computers. Write a policy and procedures document
suitable for an organisation providing probation and
related criminal-justice services that employs 100 staff.
- DNSBL1 This miniproject will suit a student who has an internet
connection capable of forwarding incoming connections from an
infrequently changing external IP address on port 25. Study the
use of DNS technology in distributing information
to email servers concerning Internet hosts relaying spam email.
Your report will cover the history of this technology and explain
why DNS provides a suitable protocol for this purpose. Obtain
DNS content records for your email server. Configure this to
use a DNSBL and compare the results when
more than one DNSBL blacklist is used.
- DNSBL2 As above, but one student can concentrate on DNS configuration
issues while the other can concentrate on SMTP server configuration.
- DNSSEC Study and summarise the DNSSEC standards, pilots and current
implementation experience. How would use of this standard within a group of
participants willing to register subdomains within a particular internet domain
enable them to solve known scalability and trust problems associated with
the development of a PKI (Public Key Infrastructure) ?
- DOMINATOR This (currently beta) project involves installing debuggers and a plugin
to Mozilla web browsers for the purpose of assisting with automated
detection of cross site scripting (XSS) vulnerabilities based upon what
the Javascript code from a suspect website is doing within the browser
environment in real time. This would suit a student who either already
has Javascript skills and wishes to extend these or who has skills in
another programming language who wishes to study Javascript and web
site vulnerabilities. Install this program, use it to test and find
a popular but XSS or CSRF vulnerable website. Describe the use of
this program and provide an analysis of the vulnerability discovered.
Further information
is available. A student undertaking this project
should be willing to work with the student undertaking DOMSNITCH .
- DOMSNITCH This tool is similar to Dominator but works on the Chrome
web browser. A student undertaking this should be willing to work
jointly with the student undertaking DOMINATOR.
Further information is available.
- DRMVIDEO Carry out a review into current DRM technologies
applied to video content and the status of published countermeasures,
e.g. to enable access for disabled users or for long term
historical preservation purposes. This
project may be unsuited to students intending to travel to
the United States or any country with laws similar to the
US Digital Millenium Copyright Act, unless the student
undertaking this review intends to keep aspects of the knowledge
likely to result from this review confidential.
- DRMAUDIO See Drmvideo, but investigate application
for audio content.
- DRMBOOK See Drmvideo, but investigate application
for e-book content.
- DRRK Investigate the
open source DR rootkit and
install it as a Linux kernel module on a test Linux installation.
Carry out whatever observations you can to investigate how it
might be used to hide processes, files and network sockets and
write a technical report and then a context report based on the
wider issues concerning what a systems administrator of a hosted
network server farm would need to know to detect the presence of
rootkits on managed Linux servers. This would suit a student
willing to compile Linux operating system kernels from source code.
- EVILMAID1 Someone ostensibly working as a hotel maid will often have
access, for a few minutes, to laptop computers left in rooms being serviced.
The USB boot key carrying Evil Maid software is designed to install
additional software on a laptop which implements disk encryption. Evil Maid
records the encryption password next time this is input, so this can
be obtained on the following visit by the hotel maid to the room. A description of the software is here. Obtain a copy and experiment with the use of
this on a laptop on which TrueCrypt disk encryption has been installed.
Write a howto guide showing how the password can be obtained.
- EVILMAID2 As above, but one student is to concentrate on the user of
the Evilmaid program, while the other is to
study TrueCrypt and other disk encrption approaches and consider how the
laptop could be setup with further protections in order to make the hotel
maid's job take longer and be exposed by other means, e.g. checksumming
or use of programmed audible alarms.
- FIRESHEEP Firesheep is the name of a Firefox browser plugin
which monitors shared
network connections (e.g. as are likely to occur between users of an open or
cracked WiFi hotspot) for website authentication cookies. For example,
an initial
Facebook or Gmail login is likely to be encrypted using HTTPS, but subsequent
client requests are likely to be unencrypted, making use of the cookie issued
at login instead of the password to continue the authenticated session. Carry
out experiments using this plugin over the use of an open network setup for
this purpose, and establish what other measures need to be carried out to use a
cookie obtained using Firesheep to enable e.g. an existing Facebook
or Gmail session to be hijacked. A student registering this project must use
this approach only to demonstrate the feasibility of hijacking a logged in
web session in respect of their own account credentials or with the informed
consent of the account owner in order to ensure this activity is carried out
legitimately.
- FLASHDISK Solid State Disks and similar devices are known to use seperate
physical blocks and pages from the equivalent logical structures as
presented to the device control interface, with a layer of pointers
between these. This approach enables overprovision of physical
blocks so that wear-levelling capabilities built into the device
can retire blocks once these have been written too many times for
reliability reasons, and to move physical blocks around in order
to prevent overuse of a few physical blocks and underuse of the rest.
This approach leads to problems for responsible users concerned about
data protection at the end of life of these devices, as well as
presenting opportunities for forensics investigators to obtain
information stored on blocks marked inaccessible using direct hardware
access, e.g. following unsoldering flash chips. Investigate current
standards, forensic approaches and designs, e.g. to determine
whether current ONFI
interface standards are adequate for legitimate data protection
obligations affecting those processing personal data.
- FUZZ1 Investigate and report on the use of fuzzing to find security
weaknesses in a program which should be secure but isn't. You
should also apply this technique to a specific and up-to date program of
your choice. Two students can undertake this project, but both
students undertaking this
must identify a different and relevant program to be evaluated, the
name of which must be agreed with module coordinator. This would
suit students with the programming ability needed to make progress. Write a
personal report describing your investigation, implementation, experiments
and conclusions. Before starting on this project you must ensure
agreement with the module coordinator on aims and objectives and the
program you will investigate by this means.
- FUZZ2 see Fuzz1
- GPG Investigate and develop a policy for signing and distributing
encryption keys to be used for GPG authentication and encryption
of email to be used between a team of artists and technicians working
on the development of a major new Hollywood movie. Note that different
individuals within this team will be using Windows and Linux. Investigate
the installation and configuration support requirements for email
clients and cryptographic programs and write a userguide. Write
a report describing your investigation, experiments and conclusions.
- GSMPHONE Review published resources concerning how easy
or difficult it is to crack GSM phone communications with
base stations. Start at http://lwn.net/Articles/367949/ .
- HASH Investigate, summarise and report upon cryptographic and
security application
issues concerning a selection of hashing algorithms including MD5 and SHA1
and any other relevant competing algorithms. You must be willing to
study published materials concerning the peer review of relevant algorithms.
Your report must demonstrate the development of your understanding of
mathematical issues encountered.
- HTTPS Configure and install an intranet webserver capable of supporting the
HTTPS protocol. Investigate configuration of the server giving
privileged access based on the use of cryptographic certificates installed
within client web browsers and servers, e.g. for an intranet
application to support
home workers. Write a userguide and a report describing
your investigation, experiments and conclusions.
- HDCP This system is used to encrypt high definition video streams between
devices in order to enable intellectual property owners to maintain control
of the distribution of their programmes and movies etc. However, in
September 2010
the master key was leaked. Would creation of an unlicensed device using
this key require custom hardware or could this be done using software, and if
the latter then how could this be done in practice ? To what extent does
the release of this key compromise the system it protects, or are there
other factors (e.g. hardware licensing regimes backed by law) limiting
the range of exploits and the number of people able to carry out exploits in
practice. Compare the current state of this technology to the compromised
DVD (search
for DVDCSS) content scrambling system. Starting points include:
http://www.freedom-to-tinker.com/blog/felten/understanding-hdcp-master-key-leak
and http://lwn.net/Articles/405683/ .
- HTTPSEVERYWHERE1 Making your web browser use HTTPS in preference to HTTP
on sites which support this improves both privacy and security. As a
starting point read https://www.eff.org/https-everywhere and install this
Firefox extension. But how easy is it for a webserver operator to upgrade
to HTTPS from HTTP and how much does this cost for a modular website
divided into 20 virtual domains, where the list of subdomains frequently
needs to be changed ? Do the websites on the list supported by
the Firefox plugin work as efficiently in secure mode ? Either test a ruleset
in the HTTPSEverywhere developers pending rules or develop your own set
of rules for a website for which rule development has not yet occurred, and
write a report describing your experiences. You should attempt to input
your work into the collaborative development and testing of this
plugin. Your report might usefully review the collaborative development
experience of using this tool.
- HTTPSEVERYWHERE2 Collaborate with the student registering HTTPSEVERYWHERE1.
One student should develop a new ruleset for a website not yet covered which
supports optional use of HTTPS and input this into the collaborative
development process. The other student should test a ruleset already in the
pending rules area. Both should provide feedback as part of the EFF development process.
- IPV6PROT Study and report on the security provisions within the IP version 6
protocol and compare these to IP version 4. Study the relevant RFC standards
and the current state of IPV6 implementation. Which security problems of IPV4
is IPV6 likely to resolve ? Report on your technical investigation and
on the impact of any security issues on the likelyhood of IPV6
adoption. Suitable for 2 students willing to collaborate on condition
they are willing to experiment with use of IPV6 between 2 different
operating systems.
- ISPLOCAL What can and should ISPs do when customer systems are
compromised ? How would they know ? To investigate these questions
you should be willing to discuss these with ISP technical staff e.g. using
relevant on-line forums, and have an interest in router technology.
Write a report describing your investigation and conclusions. This
project could either be done individually, or jointly with another
student undertaking Ispremote.
- ISPREMOTE What procedures can be used to identify a remote ISP responsible
for an attack origin based on a known IP address ? How should communication
with an identified ISP proceed and do any standards exist for this
purpose and are any being actively proposed ?
Write a report describing your investigation, experiments and
conclusions. See also Isplocal.
- JSCRIPT Study and report on the security design behind the development
of the JavaScript programming language for the purpose of providing
client-processed active web content. Your report must cover programming
language design and implementation design issues. Historically, what
weaknesses have had to be addressed ? This project might be done
collaboratively with a student studying server side language
issues, see PHP.
- KERBEROS1 agree to work with other student undertaking Kerberos 2.
As a team of 2, install and configure Kerberos AS, TGS, Kerberos
authenticated client and service providing server implementations.
Write a personal report on work undertaken and userguide for AS and Kerberos
client installation.
- KERBEROS2 See Kerberos 1. Agree to work with other student
undertaking Kerberos 1. Write a personal report on work undertaken and
userguide for TGS and service providing server.
- NFS1 Install and configure an NFS (Network File System) server and
client. Write a userguide. Investigate security issues
concerned with the development of NFS services and summarise these. If someone
were proposing to implement NFS over a wide area network what
recommendations would you give for security configurations and
feasible applications and why ? Write a report describing
your investigation, experiments and conclusions.
- NFS2 See NFS1. This project can be undertaken by 2 students
agreeing to collaborate with each other. The student
undertaking NFS2 should investigate client side security
issues, the student undertaking NFS1 should concentrate on
server side issues.
- NULLPTR Null or zero pointers normally do not reference data, and
are used in the 'C' programming language to mark the
end of useful data, none useful data, or uninitialised data.
But situations may exist in a kernel where a zero address maps
useful data. This has led to the discovery of a important new
class of vulnerability in the Linux Kernel in 2009, if use of an
pointer marked uninitialised can be made not to lead to a
hardware exeption.
How has this problem been exploited and has it been fixed ? What
about older Kernels still in use e.g. in your ADSL router ? How would
a cracker go about exploiting this type of problem and how
can this kind of exploit be defended against ? This miniproject
would suit a student with some 'C' programming knowledge.
- PAYMENT Investigate security drivers concerning development of an
Internet payment protocol. How
do your identified important security issues influence the design of this
system and protocol? Before agreeing to undertake this project make
sure that you have adequate documentation available to carry out your
investigation in connection with the protocol you want to investigate.
If another student has registered this, further Yourchoice projects
on this topic will be accepted in respect of different payment systems.
To obtain a high mark a thorough protocol analysis and understanding
will be required.
- PRIVEMAIL1 Anonymous remailer services are operated to provide
people living in countries with repressive laws and corrupt police
and security services with the ability to communicate, to exercise
rights of freedom of speech considered legitimate elsewhere and to
do so as safely and securely as possible. Carry out an investigation
into the legal, anti-spam and other security issues concerned with
provision of such a service.
- PRIVEMAIL2 Investigate email client and encryption software from a
security perspective, suitable for use by a civil rights
activist in a country with repressive laws and/or corrupt
police and security services to enable this individual to
communicate with contacts abroad in as secure a manner
as possible. You may assume that this individual is
able to receive computing support and training when
travelling abroad but not when inside the country from
which and in which their communications must be secured.
This individual is assumed to have
very limited computing knowledge. Write a report giving
reasons for your choice of software together with an
installation, configuration and user guide. It should
be possible for the user to memorise all relevant and
neccessary details from the user guide. See Privemail1.
- REPUTATION1 Many online services allow users to score each others
reputation, but these systems can sometimes be gamed through the
creation of false on-line identities or through deliberately false
reports. Carry out a comparative review of reputation mechanisms
used for a type of on-line service and report on
the internal mechanisms and policies which detect cheating or
which make this more difficult. Sybil attacks must be
researched in relation to manipulation of current reputation systems.
- REPUTATION2 See Reputation 1. Students working together on
Reputation 1 and 2 must investigate 2 different on-line services
e.g. email and auctions, where reputation is relevant.
- ROOTKIT Investigation into rootkits and countermeasures in general.
What are rootkits, which
ones currently exist in the wild and what do these do to mask their activity?
How effective are current countermeasures and how can current tools be
used more reliably ? If you encountered a new rootkit, how would you
investigate what it did ? Research and answer these questions and write
a guide for prospective rootkit hunters and trackers. Write a report.
- SAMBA1 When a Samba server is used as a fileserver within a small company,
using Windows clients and a Linux fileserver,
what security configurations should be applied ? Write a userguide based
on your installation, research and testing experience and a
report.
- SAMBA2 See Samba1. One student should concentrate on making Windows clients
communicate with a Linux fileserver, the other should concentrate on making
Linux clients communicate with a Windows fileserver.
- SAMBAFOUR Samba version 4 is a development version capable of
providing an open source Active Directory domain controller.
Currently this needs to be installed using source code.
Follow the instructions in
http://wiki.samba.org/index.php/Samba4/HOWTO to install
and configure Samba 4 and describe the technical problems
you were able to solve and those which you had to
communicate upstream to the developers, if any aspect of
the above Howto were incorrect. Your context and conclusions
report should describe the current status of Samba 4
development. This project would suit a student with strong
Linux or Unix skills, including some prior experience of
installation of software using source code, with an
interest in Windows/Linux network integration.
- SANDBOXIE Experiment with this sandboxing program in connection
with secure use of untrusted programs and carry out a thorough
set of tests evaluating configuration and use of this tool
Carry out a comparison between this and similar sandboxing techniques, e.g.
use of virtual machines. start at http://www.sandboxie.com/
- SANDBOXVB Investigate and test procedures for use of VMs making use of
VirtualBox VMs for securely testing
untrusted and suspicious software. The procedures you develop should be useful
in helping make life easier than it now is for others wanting to do this.
Write a report on what you have discovered on security applications of
virtual machine technlogy and on sandboxing generally. See also Sandboxvmw
- SANDBOXVMW Investigate and test procedures for use of VMs making use of
VMWare VMs for securely testing
untrusted and suspicious software. The procedures you develop should be useful
in helping make life easier than it now is for others wanting to do this.
Write a report on what you have discovered on security applications of
virtual machine technlogy and on sandboxing generally. This is suitable for
a joing project involving a pair of students working on Sandboxvb and Sandboxvmw.
- SANDBOXVPC Investigate and test procedures for use of VMs making use of
Microsoft Virtual PC for securely testing
untrusted and suspicious software. The procedures you develop should be useful
in helping make life easier than it now is for others wanting to do this.
Write a report on what you have discovered on security applications of
virtual machine technlogy and on sandboxing generally.
- SELINUX1 This is a security technology which has been added to
the Fedora and Red Hat distributions of Linux to provide
mandatory access control (MAC). Opinion on this amongst the Linux
system administration and developer communities is divided.
Some think it is too complicated and causes too many new bugs
to be of practical use. Others believe that it is neccessary in
order to limit what applications can do to what they were designed
to do in order to prevent security compromises. Start by
reading the article and discussion on http://lwn.net/Articles/288507/ .
Then install Fedora and attempt to configure a security policy for a
simple application installed from source without an existing Fedora
security policy. If, as expected, this turns out to be difficult,
attempt to obtain support from the Fedora community support resources
relevant to this activity. Depending upon how far you achieve
a working set of MAC labels and rules for your application either write
a report describing how you went about this and achieved this, or
describing what would need to be done to improve tools or support
resources and activities to make this activity easier in future.
- SELINUX2 See SELINUX1 . This project can be conducted by 2
students working collaboratively. They could either divide the work
so that one student reports on how to achieve a working MAC policy
and the other reports on how support resources and activities could
be improved, or by the students collaborating on understanding
SELinux generally while working on MAC policies for 2 different
applications.
- SELINUX_HTTPD
Starting at this SELinux resource
investigate and experiment with the process of using SELinux to harden an Apache
webserver installation. Your webserver should be capable of supporting a dynamic
web application - e.g. a Webmail program such as Squirrelmail. Your technical
report should describe the set of features and security contexts and labels required
and should provide an installation and configuration procedure.
- SERVERNAMEINDICATION Many webserver operators avoid using secure HTTP (HTTPS)
due to the requirement for one certificate and IPV4 address per virtual domain, in
situations where many web domains and subdomains are provided using the
same server in virtual domain hosting mode. Use
http://en.wikipedia.org/wiki/Server_Name_Indication as
a starting point. Setup an Apache webserver with SNI technology enabled
providing 2 domain names, and experiment using a selection of web browsers and
either using self-signed certificates or free certificates.
Investigate backwards compatibility issues for a web server operator
providing multiple web domains using a single IPV4 address to users with
a variety of web browsers and operating systems intending to improve
security by encrypting web sessions involving authentication of clients
and use of cookies. Report on issues which need to be resolved before this
technology can be implemented more widely.
- SETUID Experiment using Linux virtual machines to create
an insecure setuid program using an interpreted language.
Develop an attack script using the same language to compromise
local security. Develop a proof of concept script which
exploits the race condition between the 2 stages of execution
of the setuid script in order to demonstrate how a soft
link to the script can be redirected. Develop a secure
wrapper script using a compiled language which can run a
(possibly modified) version of the setuid script application
in a manner resistant to the attack you have experimented
with. Write technical and context reports describing what
you have done and learned concerning this aspect of system
security.
- SKIPFISH Investigate web application security scanning tools including
Skipfish and Nikto. Starting point:
http://www.theregister.co.uk/2010/03/23/google_skipfish_web_app_security_scanner/
- SNORT Install the Snort intrusion detection system on a suitable
host exposed to the internet. Investigate the reports generated
by this program and the kinds of attack which it provides some
degree of protection against. Provide a userguide for someone
intending to use this program to protect against the attacks
which it detects on your system.
- SPAMORIG Investigate standards and implementations concerned with identification
and evaluation of the responsible Internet domain for sending unwanted email.
Write a report summarising your review, experiments and findings and
explaining current development activities.
- SPAMECON Investigate economic incentives for perpetrators, ISPs and users
in email
security and spamming. Which spammers are making money, and how are they
doing this ? Investigate current laws affecting those sending
unsolicited bulk email in at least 3 countries. Write a report summarising
your findings and identifying legal loopholes enabling spammers operating from
these countries to continue doing so.
- SPAMTRAP1 Study the use of spamtraps used for the purpose of identifying
Internet hosts responsible for sending or relaying large volumes of
spam. How is a large spamtrap built, and how is the data obtained
likely to be used. What are the precautions someone using this data
to create a blacklist likely to need to take to avoid false
positives ? This miniproject will suit a student who has an internet
connection capable of forwarding incoming connections from an
infrequently changing external IP address on port 25.
- SPAMTRAP2 One student can concentrate on setting up a spamtrap,
the other can concentrate on analysing live data captured by this
means.
- SQLI1 Investigate SQL injection attacks, and test and demonstrate proof of
concept code in connection with a web application with an SQL database
within a VM environment. Write a report describing
your investigation, experiments and conclusions.
- SQLI2 One student should concentrate on setting up and configuring an SQL
server and the other a networked application which accesses the SQL server.
- SSHD1 Investigation into secure shell (ssh) server exposures. Install
and configure an operating system running the sshd server program
and check log activity. What risks
does someone who needs to use secure shell login to administrate a
remote server undertake, how can risks be mitigated through
a more secure configuration and use of other programs and procedures etc.
Write a report describing your investigation, experiments, recommendations
and conclusions.
- SSHD2 One student should concentrate upon Secure shell server installation
and administration. The other should concentrate on attack patterns in
the wild and mitigation measures, e.g. through use of Iptables or
programs such as Denyhosts.
- TOMANDJERRY_L This project concerns defending against the possibilities
an employee being offered a mouse (or similar standard peripheral) of
conventional appearance but with unusual embedded
capabilities. A starting point concerning this attack
is the article linked here. On Linux the command: lsusb discloses the serial numbers of USB
connected hardware, making feasible approaches for identifying hardware not on an
approved list, and similar possibilities for defending against unauthorised hardware
are likely to exist on other operating systems. Look into the requirements
for modifying the Linux an operating system against such an attack and study the capabilities of
existing security products or subsystems intended or suitable for this purpose.
A student undertaking this project must have an interest in exploring how security
modules interact with operating systems either at the kernel or at the scripting level.
Use this code for the Linux version of this project. Collaboration opportunities
exist, see the other TomandJerry projects.
- TOMANDJERRY_W as above, but student undertaking this project must investigate
Microsoft Windows equivalent operating system vulnerabilities and programmed defences.
Collaboration opportunities exist, see the other TomandJerry projects.
- TOMANDJERRY_X as above, but student undertaking this project must investigate
Apple Mac OS X or other Bsd Unix equivalent operating system vulnerabilities and programmed defences.
Collaboration opportunities exist, see the other TomandJerry projects.
- VIRUS Investigate the use of virtual machine environments for the responsible
study and secure containment of software viruses. Obtain a virus sample
which can be investigated within a secure environment and study its
behaviour. This should be a virus known to have spread widely and
be currently in the wild rather than proof of concept code. This
project should not be registered by anyone unconfident in being able
to obtain and responsibly contain a suitable virus sample. Write a
userguide describing secure containment procedures and a
report describing your investigation, experiments and conclusions.
- VPN1 With another student undertaking VPN2, investigate technologies
suitable for implementing a virtual private network (VPN) between
2 computers which must communicate securely over the Internet.
Install, configure and test suitable programs. Install server
software for an insecure protocol e.g. SMTP, FTP or Telnet
and configure routing to enable provision of service to
the other machine. Write a personal report describing your
investigation, implementation, experiments and conclusions.
- VPN2 With another student undertaking VPN1, investigate technologies
suitable for implementing a virtual private network (VPN) between
2 computers which must communicate securely over the Internet.
Install, configure and test suitable programs. Install client
software for an insecure protocol e.g. SMTP, FTP or Telnet
and configure routing to enable provision of service to
the other machine.Write a personal report describing your
investigation, implementation, experiments and conclusions.
- WIRESHARK Install Wireshark on a suitable host for the purpose of
monitoring network traffic. Which security threats can this program
detect ? Given the history of security issues concerning the
special privileges this program runs with, investigate means of
seperating the packet analysis facilities of this program from
the packet capture facilities so that the analysis can be
carried out in a safer environment.
- WORM Is the Internet as susceptible to the same level of attacks using network
worms as it was five years ago ? If it isn't why not, and if it is, what
vulnerabilities can still be exploited ? Write a report describing
your investigation and conclusions.
- XSRF Investigate cross site request forgery attacks. Before undertaking this
make sure you are able to setup web server application to test and demonstrate
proof of concept within an emulated environment. Write a report describing
your investigation, experiments and conclusions. A student working on
this may undertake a joint project with the student undertaking Xss
- XSS Investigate cross site scriping attacks. Before undertaking this make
sure you are able to setup web server application to test and demonstrate
proof of concept within an emulated environment. Write a report describing
your investigation, experiments and conclusions. See also XSRF.
- YOURCHOICE1 If you don't like any of the above projects, or the projects
you want to do have all been taken first by other students, or if
there is a security investigation you have in mind and are keen to do, propose
a project yourself of a similar level of security theory interest
and practical difficulty to the module coordinator as those described
above but which is clearly different from any other project. Make your
proposal to the module coordinator by email. This must
include a clearly written paragraph describing what you will investigate,
identification of the information resources you will read,
experiments you want to carry out, programs you will configure and
test, any programs if any (these must be within your abilities) which you
want to develop to help in your security investigation, and your documentation
deliverables in connection with your project report. You will receive a reply
by email, either accepting your proposal, accepting it with
suggestions to improve it, or rejecting it giving reasons, e.g.
because it is considered too difficult, too vague, not relevant or too easy, or
because your idea is unoriginal, (another student has already agreed
to do the same project) or because there is insufficient
information identified or likely to be available.
- YOURCHOICE2 see Yourchoice1
- YOURCHOICE3 see Yourchoice1
- YOURCHOICE4 see Yourchoice1
- YOURCHOICE5 see Yourchoice1
- YOURCHOICE6 see Yourchoice1
- YOURCHOICE7 see Yourchoice1
- YOURCHOICE8 see Yourchoice1
- YOURCHOICE9 see Yourchoice1
- YOURCHOICE10 see Yourchoice1
- YOURCHOICE11 see Yourchoice1
- YOURCHOICE12 see Yourchoice1
- YOURCHOICE13 see Yourchoice1
- YOURCHOICE14 see Yourchoice1
- YOURCHOICE15 see Yourchoice1
- YOURCHOICE16 see Yourchoice1
- YOURCHOICE17 see Yourchoice1
- YOURCHOICE18 see Yourchoice1
- YOURCHOICE19 see Yourchoice1
- YOURCHOICE20 see Yourchoice1
- YOURCHOICE21 see Yourchoice1
- YOURCHOICE22 see Yourchoice1
- YOURCHOICE23 see Yourchoice1
- YOURCHOICE24 see Yourchoice1
- YOURCHOICE25 see Yourchoice1
- YOURCHOICE26 see Yourchoice1
- YOURCHOICE27 see Yourchoice1
- YOURCHOICE28 see Yourchoice1
- YOURCHOICE29 see Yourchoice1
- YOURCHOICE30 see Yourchoice1
- YOURCHOICE31 see Yourchoice1
- YOURCHOICE32 see Yourchoice1
- YOURCHOICE33 see Yourchoice1
- YOURCHOICE34 see Yourchoice1
- YOURCHOICE35 see Yourchoice1
- YOURCHOICE36 see Yourchoice1
- YOURCHOICE37 see Yourchoice1
- YOURCHOICE38 see Yourchoice1
- YOURCHOICE39 see Yourchoice1
- YOURCHOICE40 see Yourchoice1
- YOURCHOICE41 see Yourchoice1
- YOURCHOICE42 see Yourchoice1
- YOURCHOICE43 see Yourchoice1
- YOURCHOICE44 see Yourchoice1
- ZZZTEST used for testing the project registration system only. As this is not
a real project please do not attempt registering it.