代做COMP2211 Networks and Systems 2023-24调试Java程序
- 首页 >> Java编程Summative Security Coursework
Last Modified: February 1, 2024
Cover sheet
Module code and title |
COMP2211 Networks and Systems |
Academic year |
2023-24 |
Coursework title |
Cyber security coursework |
Coursework credits |
5 credits |
% of module’s final mark |
25% |
Submission date* |
Thursday, May 2nd , 2024, at 14:00 |
Estimated hours of work |
10 hours |
Submission method |
Ultra |
Additional coursework files |
durhamazon.ova |
Required submission items and formats |
username.txt (from submission system) |
1 Introduction
In this coursework you will be reviewing the security of a server belonging to a new startup company. The server hosts the company’s successful shop “durhamazon.com” (not a real website) that sells a range of products. It also contains a suite of proprietary tools, a database, and several employee user accounts. Some of the employees have been acting strangely recently. You’ve been hired to evaluate the security of the machine. It is important to make sure that the server is fully secured, including all services that are running, and ensure that no sensitive or confidential information can be leaked. You will be given a virtual machine image of the company server. Your job is to i) identify security vulnerabilities that are present, ii) exploit each vulnerability to the fullest extent, and iii) provide the correct mitigation to completely remove the threat.
Submission system
This assignment requires a bespoke submission approach for timely, fair and consistent marking due to the very large amount of fine-grained individually-weighted responses and large classes. Please visit this page:
https://cwkx.github.io/security-submission/
You are encouraged to first explore the virtual machine (identifying, exploiting and mitigating vulnerabilities) and manually make a table, e.g. on pen and paper, detailing what you have found.
When you are satisfied you have thoroughly explored the virtual machine, use the above submission system to search for and specify your answers (do not try to work backwards from the submission system and look for vunlerabilities listed in the available tags, as you will waste a lot of your time looking at misleading things).
This website contains a table where you can specify up to a maximum of 30 vulnerabilities through search- able ‘tags’. There are multiple correct ways to specify your answers. For example, the following screenshot shows how you can access the system. In this case either exploit of ‘Guess login details’ or ‘Guess ‘user’ has password ‘password” can be considered correct tags, and putting both is equally correct.
Information about the submission system
. There is no local storage or server backend with this; to save your progress click download, and to resume you can load the submission to resume. Refreshing the page will clear the table.
. Don’t try to modify/hack this system, e.g. changing the javascript to allow more rows (there is a capped maximum number of rows allowed in the table). Manually editing the downloaded file could also result in a parsing error and you getting zero marks.
. The system allows for rearranging the row order and specifying colours. This functionality does not impact the marking; it can be optionally used to help organise your findings.
Submission on Ultra
Type your CIS username and mystery solution into the appropriate fields, then when you have completed the table to the best of your ability, click the “占 Download” button to download a text file of your answers. Submit only this .txt file to Ultra. Do not modify the .txt file or try to bypass the constraints in the submission system. Any other files submitted to Ultra will not be considered.
2 Marking
Vulnerabilities, exploits and mitigations
There are over 30 vulnerabilities present on the machine where you can receive up to 90 marks for correctly specifying them. Most of the vulnerabilities are worth up to 5 marks each but there are a small number of very easy vulnerabilities that are only worth 3 marks. Duplicate vulnerabilities won’t be awarded any extra marks. Generally, each vulnerability is marked as follows:
1. Identification and location of the vulnerability and associated assets: 1 mark
2. Correct exploit of the vulnerability that maximises the severity: 1-2 marks
3. Correct mitigation of the vulnerability that minimises attack surface: 1-2 marks
Solve the Mystery
Some of the employees have been acting strangely. In a maximum of 6 sentences, explain what is going on. Can you prevent a crime? Can you offer any relationship advice, or information to Durham Constabulary? You don’t need to explain how you arrived at your conclusions. Solving this correctly is worth 10 marks. You will be deducted some marks here if you write more than 6 sentences for the mystery solution.
In summary, you can receive up to a maximum of 90 marks for correctly identifying and handling the vulnerabilities and 10 marks are available for solving the mystery.
Marking guidance
. There are numerous multiple correct tag combinations to describe and mitigate vulnerabilities. You won’t lose marks where there is ambiguity (e.g. several ways to say the same thing which is correct).
. Do not worry about the best combination of tags to describe something. It’s not marked by finding the exact correct combination of tags (there isn’t one). There are many, many different correct solutions that can get 100%.
. Marks are awarded for certain combinations/pairs/groups of tags in an overlapping non-linear way. You should add all relevant tags to enrich your responses. Exploits should maximise the severity of the threat vectors, and mitigations should completely remove the threat and minimise the attack surface.
. However, marks can be deducted for having too many tags or for specific incorrect tag combinations—basically don’t try and guess things you haven’t found in the VM. It is better to submit an incomplete table than to guess at vulnerabilities.
. Where possible, try to avoid the catch-all ‘Insecure’ descriptor and try to use a more specific descriptor instead—although it is unavoidable in several cases.
. Marking is not fully automated, responses will be checked manually.
3 Setup
You will be provided with a VirtualBox machine image. You should download and install VirtualBox on your computer. There are lots of guides for installing VirtualBox, just search online for how to install for your operating system. The machine image contains a Linux server that runs a number of services. To install the image provided, double click on it once you’ve installed VirtualBox, or you can click ‘File > Import Appliance’ from inside VirtualBox. You’ll probably want to keep this image file as you may need to re-install later if you break the installed image.
Due to the file size, you may have a problem with a corrupted download. If you think you might have a corrupted download check the MD5 hash which should be: 2fc696c8689b42e70c3b8ab572fe8473 If you have a slow internet connection, download the image to a USB stick from the university network. The virtual machine image is lightweight (on purpose) and may be out of date. You will not be awarded marks for stating that you can update the system to mitigate a vulnerability.
Common issues: (1) If you experience a ‘kernel panic’ or crash at startup, you likely don’t have ‘hardware virtualization’ enabled. Reboot your computer/laptop, enter the BIOS, and find the hardware virtualization setting and enable it, then restart. (2) If the Durhamazon shop doesn’t work, it probably means your host machine isn’t connected to the internet. (3) You do not need to use Kali Linux (or equivalent) in this assignment. If you want to transfer files to-and-from the server easily, without the hassle of setting up the network adapters correctly, consider simply using: https://tmpfiles.org/. (4) If the display is too large or too small, right click the VM in VirtualBox then go to ‘Display’ and change the ‘Scale Factor’ accordingly.
4 No redistribution policy & anti-collusion
Due to the nature of this assignment and the amount of work that goes into preparing the VMs, you are not permitted to post or share your solutions in the future. An optimised distance matrix and clustering strategy is used to detect collusion. Discrepancy in these cases (one or more individuals working together with similarly unusual answers) light up like a Christmas tree; this can be severely penalised.
5 Remarks
There are a number of files placed around the system that are hints for identifying a vulnerability. Use whatever third-party tools you like. Every vulnerability in the server has been/will be discussed at some point during one of the lectures. I hope you enjoy the coursework.