Lovejoy's Antique Evaluation Web Application  In this part of the coursework, you will develop a secure web application for a local antique dealer named Lovejoy. Lovejoy wants a minimum viable product allowing customers to reg

You must work on this assignment on your own. The standard Informatics rules for collision, plagiarism and lateness apply. Any cases of potential misconduct discovered will be reported and investigated.

Part A – Access Control – 15 marks

To do this part of the coursework, you'll need access to a Linux or Unix-based operating system that allows you to create users. The Sussex UNIX server doesn't let you create new users for security reasons. If you're using a Mac, you're all set — it already has a Linux-based terminal you can use. If you're on Windows, you can install Windows Subsystem for Linux ( WSL) to complete this section. Another option is to set up a Linux system on AWS services.

Write Linux/Unix commands to complete each task and show the output that it has worked.

Task 1 – Setup Environment

– Create a directory named computerSecurity_lab.

– Inside it, create: file1.txt, file2.sh, secret.doc.

– Display current permissions.

Task 2 – Modify Permissions

– file1.txt → Owner: read/write; Group & Others: none.

– file2.sh → Executable by everyone.

– secret.doc → Read-only for all users.

– show permissions

Task 3 – Change Ownership

– Create a new user (if permitted) named Bob.

– Change ownership of file1.txt to Bob.

– Change group ownership of the directory computerSecurity_lab to ethicalHackcers (create this  

   Group first).

Task 4 – Directory Access Control

– Create a subdirectory named shared_docs.

– Set permissions so that: Owner → rwx, Group → rx, Others → —

– Verify the permission.

Task 5 – Umask Configuration

– Display current umask.

– Adjust so new files are created with rw-r—– (umask 027).

– Create a test file and confirm permissions.

Part B (70 marks)

 Lovejoy's Antique Evaluation Web Application

 In this part of the coursework, you will develop a secure web application for a local antique dealer named Lovejoy. Lovejoy wants a minimum viable product allowing customers to register and then request potential evaluations of antique objects. Lovejoy has many rivals in the antique business who may sometimes resort to underhand tactics and so is very concerned about the security of the application.  

Your secure web application will need to have these features for the minimum viable product (MVP) release: user registration and login, a password policy, “request evaluation” page and then an extension of the “request evaluation” page file upload to allow upload of photos. Finally, Lovejoy needs a request listing page.

You should build Lovejoy's MVP focusing on the following features in each task. Mark allocation for each task is as described below and in the security analysis grid. You should reflect upon your work and provide estimates of how much you've achieved by filling out the marking grid. An example of self-reflection is provided in the Canvas. There are thus 30 marks for completing the application reasonably and 40 marks for the security features identified.

You have a choice of technologies from which to build the application:

· PHP

· Java

· Python

No other approach is allowed. If you are using Java and Python, you should research it yourself to find out where you want to host it.  

 

Task 1 – Develop a secure web form that allows customers to register in the application. They must register an email address, password, name and contact telephone number. The users' details should be stored in a database. 

 

Code Quality 5 marks

Task 2 – Develop a secure login feature.

 

Code Quality 5 marks

 

Task 3 – Extend the password management feature to provide password strength recommendations and password recovery.

 

Code Quality 5 marks

 

Task 4 – Implement a “Request Evaluation” web page only accessible to logged in users. This web page should have a comment box to type in the details of the object and their request, and a dropdown box for preferred method of contact between phone or email. The evaluation page should allow for file upload of a photo of the object. 

 

Code Quality 5 marks

 

Task 5 – Implement a page that displays a list of evaluation requests. This page should only be visible to an administrator role.

Code Quality 5 marks

 

Task 6 – Database is designed.

5 marks.

 

 

Submission guidance

You are only submitting the report to the Canvas. You must follow the report template at the end of the coursework.

Report–You must use the report template provided at the end of this coursework description. In your report, you will provide screenshots of all the marking criteria elements and annotate where necessary. In screen shots for the code, please don't give a big chunk of code, provide only the related lines. Use bullet points to give any explanation, please don't write big paragraphs. 

 

Recording–You are required to use Sussex Panopto to record a video demonstrating the functionality of your application and its associated security features. Relevant links for Panopto are provided at the end of this document. The tool is straightforward to use: log in using your University credentials, select the appropriate screen, and record the demonstration of your application, highlighting the features relevant to the marking criteria.

When recording your video, please observe the following guidelines:

1. The recording must not exceed 10 minutes in duration.

2. The video must demonstrate the testing of all tasks and features in sequence, including all security-related components.

3. Provide either a voice-over narration or on-screen text to explain each part of the recording.

4. Ensure that both your screen and you are visible in the recording.

5. Use the self-reflection grid from Task 0 to determine and present the order of the recorded features.

After completing the recording, access the Share settings in Panopto. Select the option that allows anyone within the organization who has the link to view the video. Then, copy the shareable link and include it in your report.

How  to use Panopto?

·  Recording presentation using Panopto

 

 

Code file location (OneDrive)– Upload your code to the OneDrive and provide the code link in the report for our inspection.

Select the folder where you have all the code, then click on the share option. In the settings, click on the pencil drop down menu and select the option can edit. Copy the link and put it in your report.

See the recording on the Canvas how to setup this in a correct way.

 

 

Report

1) Code file Location: ——————————————

Upload your code to OneDrive and provide a link here. Set up correct permission so that anyone with a link can view it.

2) Panopto recording:————————————————

 If you don't provide this, I will not be  

 

Task 0 – Self-reflection

Themarking grid should be completedobjectively and accurately to reflect the standard of your work. Indicate allsuggested features that have been successfully implemented by marking the corresponding boxes. Anyadditional security features you have developed should be listed in the'Suggestive Features' column where placeholders (dashes) are provided. Finally,Identify and highlight theappropriate level of attainment (Poor,Average to Good, orExcellent) that most accurately represents the quality and completeness of your submission.

Excellent

[7 to 10 marks]

 

Implementation has no flaws, and the student has gone beyond to be considered for this.

 [ You must mention in self-reflection if you have implemented more features]

Average to good

[4 to 7 marks]

 

 

Poor or

evidence is not clear in the report.

[0 to 4 marks]

 

 

Tick ​​(Y)

/

Cross

(X)

Suggestive features to implement

Criteria

 

Policy has no flaw, and its implementation is excellent. Various mechanisms implemented to ensure password policy is secure. 

 

Policy has no flaws, but implementation of policy is simple.

 

Policy has many flaws for example password is not encrypted, and no salt applied. Password forgot policy has security flaws.

 

Password entropy       

Password policy – 10 marks

 

Security questions

 

Password recovery

 

Account Lockout

 

 —–

Several countermeasures are implemented, and the quality of countermeasures are excellent. Other vulnerabilities are dealt with.

Countermeasures are implemented in all the pages however the quality of implementation is simple. 

Very little effort to implement countermeasures to avoid these vulnerabilities.

 

 

SQL injection

Vulnerabilities – 10 marks

 

 

XSS

 

CSR

 

File Upload

 

—–

Excellent implementation. Student has gone beyond.

All requirements are implemented to authenticate the user. However, quality of implementation is simple. 

Lots of obvious authentication's requirements are not implemented.

 

Email verification for registration,

Authentication – 10 marks

 

2 factor authentication (PIN)

 

2 factor authentications (email)

 

——–

Excellent implementation of countermeasures against these attacks.

No flaws in countermeasures however quality of implementation is simple. 

 

Very little effort against these attacks

 

 

Brute force attack – Number of attempts

Obfuscation/Common attacks – 10 marks

 

Botnet attack – Captcha

 

Dictionary attack/Rainbow table attack

 

—–

 

 

 

 

User registration

Features of web application –

30 marks

 

User login

 

Forgot password

 

Evaluation

 

List evaluation

 

Database design and its security

 

 

 

 

 

Access control -15 marks

 

 

 

 

All the marking criteria covered

Video – 9 marks

 

 

 

 

Completion of this marking grid clearly

Self-reflection – 6 marks

 Part A – Access Control – 15 marks

 Task 1 – Setup Environment

Task 2 – Modify Permissions

Task 3 – Change Ownership

Task 4 – Directory Access Control

Task 5 – Umask Configuration

Part B – Lovejoy (70 marks)

 Task 1 – Develop a secure web form that allows customers to register in the application. They must register an email address, password, name and contact telephone number. The users' details should be stored in a database.  

 Bullet list why it is secure and provide evidence of code snippet.

 Task 2 – Develop a secure login feature.

Bullet list why it is secure and provide evidence of code snippet.

 Task 3 – Extend the password management feature to provide password strength recommendations and password recovery.

Create a couple of test accounts in Lovejoy and provides its passwords as evidence. These passwords must not be used by you somewhere else.  

– Password 1:

– Password 2:

Bullet list other reasons why this is secure:

Task 4 – Implement a “Request Evaluation” web page only accessible to logged in users. This web page should have a comment box to type in the details of the object and their request, and a dropdown box for preferred method of contact between phone or email. The evaluation page should allow for file upload of a photo of the object.  

 Bullet list why it is secure and provide evidence of code snippet.

 Task 5 – Implement a page that displays a list of evaluation requests. This page should only be visible to an administrator role.

 Bullet list why it is secure and provide evidence of code snippet.