Get Instant Help From 5000+ Experts For
question

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing:Proofread your work by experts and improve grade at Lowest cost

And Improve Your Grades
myassignmenthelp.com
loader
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!
Free Quote
wave
Security Analysis: Identify and Fix Vulnerabilities in Software

Task Summary

1.The security analysis, which will also require a software modification, is for 40% of your module mark and it will test the following module level outcomes:


•Have a thorough understanding of the main attack vectors commonly used to attack software and be able to design and implement software that reduces the likelihood of those vulnerabilities being exploitable


•Conduct a detailed and critical analysis of existing software and utilise the results to produce secure modifications to treat or mitigate any vulnerabilities found

The purpose of your first coursework is to see whether you can discover and fix security flaws in other people’s code, before you then attempt to build secure software from scratch for your second coursework.


The program you have been given has several security flaws; it may also have usability flaws but this coursework is about security flaws. It is intended to help connect companies offering jobs to applicants wanting jobs. Applicants can search for jobs matching their main skill and in doing so their details will be added to a database, represented by the file applicants-unapproved.txt.

Likewise, companies can search for applicants offering the main skill they require and in doing so their details will be added to another database, represented by the file companies-unapproved.txt. Another type of user, the admin, can approve companies and applicants by transferring them one by one to corresponding files applicants-approved.txt and companies-approved.txt.

You can compile and run the code, which has been developed on CLion, on either Windows or Ubuntu but you will need to examine the source code itself (which the attacker has access to) and think carefully about how it works.

Note that we are looking for security issues, rather than bugs or usability flaws. It’s up to you to decide which ones you want to fix, according to how well you feel you can fix them.


In the sections below where you are analysing code, you will be marked on the quality of understanding of the code and the potential attack vectors against secure software. In the sections where you are modifying the code, you will be marked on how well you have fixed the vulnerabilities you have identified. This includes code quality, design, rigorous explanation and testing. Missing out sections will cost you marks.


•Preliminary analysis – 20% (broken down as follows)


•Top-level software design reverse engineered from the code, including a call graph (see overleaf) that indicates which functions call which other functions (10%)


•Documentation of the source code as comments indicating any assumptions that are being made about the inputs and other variables of the program (10%)


•Modifications - 60% (broken down as follows)


•First issue fixed (20%)


•Awareness of the implications of the security issue (10%)


•The quality of the fix (10%)


•Second issue fixed (20%)


•Awareness of the implications of the security issue (10%)


•The quality of the fix (10%)


•2 other issues (20%)


•Awareness of the implications of the third security issue (10%)


•Awareness of the implications of the fourth security issue (10%)


•Conclusion- 20% (broken down as follows)


•A summary of the issues found and fixed (10%)


•A discussion of the implications of fixing and not fixing the vulnerabilities the third and fourth issues, combined with an assessment of the resources required to fix them (10%)


We are expecting a typical submission to be about 1000 words (excluding references and code) but you will not be penalised for exceeding this.

support
close