CS4417 Software Security Report Sample

Assignment Details

Each graduate student will develop a client-server-based application of their choice using any preferable programming language. The application developed must have the following functionality:

1. Login page ((i) must be able to log in/out, (ii) change password, (iii) be able to add new users/customers with least privileges)

2. Input field (such as feedback forum, contact page

3. Buy or sell products 3 points

4. Database to store data 2 points

From the security perspective, you will start your project using the following steps:

1. Read about Agile and DevOps. Choose either of these. This will be the first part in your project report. You must justify why did you choose a particular one.

2. The second component of your project will be to think like an attacker. Before you start development process, design the attack surface for your whole application and attack tree for the login page and input field. Explore diverse attack scenarios from the literature/standards (e.g, NIST, ISO).

3. Follow the remaining steps outlined in the selected SDLC to complete your project.

4. Due to time constraint, focus on testing your application for:

(i) Authentication: Verify the strength of authentication mechanism. Test for weak or easily guessable passwords.

(ii) Check for proper input validation to prevent injection attacks such as SQL injection, cross-site scripting (XSS), and command injection. Ensure that user inputs are sanitized and validated before processing.

(iii) You can use automated testing tools. You can also explore fuzzing (if interested).

Final Report

The final report should consist of:

1. Abstract – max 300 words

2. Introduction: [Which SDLC you selected and why – Max 2 single column pages (font size 12)]

3. Attack tree and surface: Show the attack tree and surface. Provide overview of different attacks. Highlight what standard did you consult to design attack tree and surface.

4. Technical controls: Explain what technical controls you implemented to address the attack concerns.

5. Testing: What testing tools did you choose.

6. Discussion: In this section, mention what did you learn from this project. 1 point

7. Appendix – Put all your code sample

The remaining 4 points will be on organisation of your report, grammatical mistakes etc.

Solution

Abstract

The improvement of a protected web application is a complex cycle that requires picky planning, essential execution, and diligent watchfulness against potential security risks. This report presents an all around assessment and documentation of a web application made with the Django structure, focusing in on four key functionalities: client confirmation, data input outlines, a buy/sell stage, and a generous informational index organization system. The picked Programming Improvement Life Cycle (SDLC) for this errand is the Handy system, known for its iterative and helpful philosophy, enabling flexibility and adaptability all through the progression stages (Gore et al., 2021).

The objective of this web application is to give a predictable and secure client experience, ensuring that client data stays private, trades are shielded, and potential shortcomings are proactively tended to. The Handy SDLC was picked on account of its ability to oblige changes and information rapidly, basic for refining wellbeing endeavors as the undertaking progresses.

The document digs through the Assault Tree and Surface investigation, marking the possible threats and weaknesses that makes people think twice about the application. A broad blueprint of various attacks is given, with a sharp emphasis on alluding to industry standards to design a fruitful attack tree and surface. The direction of OWASP (Open Web Application Security Venture) and CWE (Normal Shortcoming Specification) assumed an essential part in molding the security framework. Technical controls executed to support the application against potential risks consolidate lively client affirmation frameworks, secure data transmission shows, and serious data endorsement for client made content for university assignment help.

In the discussion, the project goes through the pieces of knowledge which is gained through the overall experience. It encompasses the troubles defied, models learned, and the constant necessity for watchfulness in the consistently propelling scene of web application security. This report gives a thorough outline of the security contemplations implanted in the improvement of a web application, displaying the execution of specialized controls, testing methods, and the iterative idea of Coordinated advancement (Larkins, 2020).

1. Introduction

In the powerful scene of web application improvement, the meaning of vigorous safety efforts couldn't possibly be more significant. This report frames the production of a web application utilizing the Django structure, with an emphasis on guaranteeing security across basic functionalities, including client confirmation, information input shapes, a purchase/sell stage, and a strong data set administration framework. The picked Programming Improvement Life Cycle (SDLC) for this attempt is the Nimble philosophy, chose for its versatility and iterative methodology, taking into account consistent incorporation of safety efforts all through the advancement interaction.

1.1 Agile Methodology Choice

The Spry SDLC was considered ideal for this task because of its adaptability in obliging changes and its iterative nature. Security contemplations are not static; they advance as the improvement advances. Lithe's iterative cycles empower persistent refinement of safety efforts in light of arising dangers and changing prerequisites (Idris et al., 2020).

1.2 Key Functionalities of the Web Application

The web application consolidates fundamental functionalities taking care of client communication, information the board, and secure exchanges. The client confirmation framework is intended to guarantee secrecy and client honor the executives. The information input structures, for example, criticism gatherings and contact pages, are braced with severe info approval to forestall normal weaknesses like cross-site prearranging. Moreover, a purchase/sell stage gives clients a solid climate for exchanges.

1.3 Database Management and Security

An essential part of the application is the powerful information base administration framework executed to safely store and recover information. Accentuation is put on forestalling normal data set related weaknesses, for example, SQL infusion assaults, by taking on accepted procedures in information dealing with and defined questions.

1.4 Aggressive Security Posture with OWASP and CWE Standards

The improvement consolidates a forceful security pose, drawing direction from industry guidelines like OWASP and CWE. The Assault Tree and Surface investigation act as a guide to distinguish likely dangers and weaknesses,

guaranteeing a proactive way to deal with security execution. This report presents an exhaustive outline of the security-driven improvement of a web application. The ensuing segments dive into the Assault Tree and Surface investigation, specialized controls executed, testing instruments utilized, and the illustrations gained from this undertaking. The Spry procedure, combined with industry guidelines, frames the bedrock of a solid, adaptable, and easy to use web application (Martelli et al., 2023).

2. Attack Tree and Surface

The security of any web application depends on its capacity to endure expected assaults. To sustain our web application against dangers, an Assault Tree and Surface investigation was led. This elaborate outlining the conceivable assault ways and surfaces, empowering a proactive position in tending to weaknesses. The essential references for this investigation were the Open Web Application Security Undertaking (OWASP) and Normal Shortcoming Specification (CWE) principles.

2.1 Attack Surface Overview

The Attack surface of the web application includes all places where an unapproved client or malevolent substance could endeavor to take advantage of weaknesses. This incorporates client inputs, network correspondence, data set connections, and outer points of interaction. By distinguishing and understanding these potential passage focuses, the advancement group acquired experiences into strengthening each layer of the application.

2.2 Attack Tree Design

The Attack Tree outline outwardly addresses potential assault ways and their conditions. The base of the tree frames the principal objective, while branches detail the different techniques an assailant could utilize to accomplish their objective. Thusly, each branch further separates into explicit assault situations and countermeasures. This various leveled portrayal helps with focusing on safety efforts in view of the probability and effect of various assault vectors (Vincent, 2022).

Checking up with CAPEC:

2.3 Standard References

The OWASP Top Ten, a broadly recognized manual for web application security, informed the investigation by featuring normal weaknesses. This incorporates infusion assaults, broken verification, delicate information openness, and others. Moreover, CWE, a local area driven work to count programming shortcomings, gave a far reaching index of known programming security shortcomings and weaknesses.

2.4 Proactive Security Measures

The Assault Tree and Surface examination assumed a urgent part in the proactive plan of safety controls. For example, input approval was carried out thoroughly to counter infusion assaults, secure transmission conventions were taken on to defeat listening in endeavors, and severe validation components were utilized to forestall unapproved access.

2.5 Ongoing Vigilance

Nonstop checking and refreshes in light of arising dangers and assault vectors are fundamental to the security stance of the web application. The Assault Tree and Surface examination give an organized way to deal with figuring out expected dangers, supporting the improvement of powerful safeguards. This continuous carefulness lines up with the Nimble approach embraced for the task, guaranteeing flexibility to the advancing scene of web security. In rundown, the Assault Tree and Surface examination filled in as a basic move toward recognizing and addressing possible dangers to our web application. By referring to industry guidelines, the examination directed the execution of vigorous safety efforts, laying the foundation for a versatile and secure framework. The resulting areas expound on the specialized controls got from this investigation and their viable execution inside the web application (Python, 2021).

2.6 Overview of Different Attacks

SQL Injection: Assailants endeavor to infuse pernicious SQL questions through client inputs, representing a gamble to the information base.

Cross-Site Scripting (XSS): Pernicious contents are infused into website pages saw by different clients, undermining their information or meeting.

Cross-Site Request Forgery (CSRF): Unauthorized commands are transmitted from a user's browser without their knowledge, exploiting their authenticated session.

3. Technical Controls

To strengthen the web application against distinguished assault concerns, a set-up of specialized controls has been carefully executed. These controls act as proactive measures to moderate likely weaknesses and guarantee a vigorous security pose all through the framework's usefulness.

3.1 Input Validation

Server-side information approval has been established to check normal assault vectors, explicitly SQL infusion and Cross-Site Prearranging (XSS) assaults. By approving and disinfecting client inputs on the server side, the application mitigates the gamble of noxious code infusion, guaranteeing that main real and expected information is handled (Grippa, Kuzmichev 2021).

3.2 Authentication and Authorization

Token-based validation has been utilized to upgrade client character check. Clients are given tokens upon effective login, and these tokens are therefore used for resulting demands. Job Based Admittance Control (RBAC) has been carried out to oversee client access honors. This guarantees that every client is conceded the most un-fundamental authorizations for their job, diminishing the expected effect of unapproved access.

3.3 Secure Communication

The reception of HTTPS (Hypertext Move Convention Secure) is a basic specialized control to guarantee secure information transmission between the client and server. HTTPS scrambles the information traded between the client's program and the server, frustrating potential listening in endeavors. This encryption is imperative, especially during delicate activities, for example, client validation and exchange handling.

3.4 Content Security Policy (CSP)

To neutralize Cross-Site Prearranging (XSS) assaults, a severe Substance Security Strategy (CSP) has been carried out. CSP is a program security standard that controls the assets a site page is permitted to stack. By characterizing and upholding a far reaching CSP, the application mitigates the gamble of unapproved script execution, upgrading generally security against XSS weaknesses.

3.5 Session Management

Hearty meeting the executives controls have been incorporated to forestall meeting related security issues. This incorporates carrying out secure meeting stockpiling systems, utilizing secure, arbitrary meeting identifiers, and executing meeting break approaches to moderate the gamble of meeting commandeering.

3.6 Database Security Controls

To get the data set, defined questions are used to forestall SQL infusion assaults. Furthermore, data set admittance is limited to the standard of least honor, guaranteeing that every client and application part has just the base access important for their capability (Casabona, 2020).

3.7 Logging and Monitoring

Extensive logging and observing instruments have been carried out to follow and break down framework exercises. This incorporates checking fizzled login endeavors, surprising client exercises, and potential security episodes. Logging supports recognizing and answering security occasions speedily. These specialized controls on the whole add to a complex security engineering, relieving a scope of possible dangers and weaknesses. The execution of these controls lines up with industry best practices and norms, guaranteeing that the web application sticks to a strong security system all through its lifecycle. The ensuing segment will dig into the testing procedures utilized to approve the viability of these specialized controls.

4. Testing

The approval of the web application's security and usefulness was executed through a mix of manual and robotized testing procedures.

4.1 Manual Testing

A far reaching manual testing approach was utilized to examine different parts of the web application. This included thorough testing to recognize issues connected with convenience, availability, and security. Manual testing worked with a point by point assessment of UIs, guaranteeing natural plan, openness consistence, and a consistent client experience. Security-centered manual testing dug into many-sided situations that computerized devices could neglect, guaranteeing the heartiness of the executed specialized controls (Filip, ?egan, 2020).

4.2 Automated Testing

Computerized testing devices assumed a vital part in approving the exhibition and security parts of the web application. Selenium, a strong mechanization instrument, was used for start to finish testing to reenact client communications and approve the right working of basic work processes. This computerized approach guaranteed that client ventures, from login to exchange handling, were flawlessly executed. OWASP ZAP, an open-source security testing apparatus, was utilized for computerized security testing. Destroy worked with the ID of expected weaknesses, including normal security dangers, for example, SQL infusion, cross-webpage prearranging, and other web application weaknesses.

Benefits of Combined Testing Approach

The collaboration of manual and robotized testing guaranteed an intensive and balanced approval process. Manual testing tended to nuanced parts of client experience, openness, and many-sided security situations, while mechanized testing sped up the distinguishing proof of possible weaknesses and approved the application's general execution. This consolidated methodology lines up with industry best works on, guaranteeing that the web application goes through a careful and extensive testing routine.

Ongoing Testing Practices

Testing is certainly not a one-time try however an iterative cycle coordinated all through the improvement lifecycle. Constant testing rehearses, both manual and mechanized, are fundamental to adjust to developing prerequisites, address arising security dangers, and keep an elevated degree of generally application quality.

5. Discussion

Over this task, a few key experiences were acquired:

1. Importance of Security

The task highlighted the foremost significance of safety in web application advancement. Carrying out secure coding practices and staying up with the latest are basic for building a vigorous safeguard against potential digital dangers (Ranjan et al., 2020).

2. User-Centric Design

The meaning of client experience and UI configuration became apparent. Guaranteeing a consistent and instinctive experience essentially adds to client fulfillment, encouraging positive communications with the web application.

3. Agile Flexibility

The Dexterous advancement model's iterative nature demonstrated priceless. It worked with the consistent consolidation of client input and obliged developing necessities, guaranteeing the end result adjusted intimately with client assumptions. The adaptability of Coordinated system added to the undertaking's a positive outcome by empowering flexibility all through the improvement interaction.

Appendix

1. Login View


2. Registration View

3. Forgot / Reset Password View

4. Feedback Form

5. Buy / Sell Product

References

1. Gore, H., Singh, R.K., Singh, A., Singh, A.P., Shabaz, M., Singh, B.K. and Jagota, V., 2021. Django: Web development simple & fast. Annals of the Romanian Society for Cell Biology, 25(6), pp.4576-4585.

2. Idris, N., Foozy, C.F.M. and Shamala, P., 2020. A generic review of web technology: Django and flask. International Journal of Advanced Science Computing and Engineering, 2(1), pp.34-40.

3. Vincent, W.S., 2022. Django for Beginners: Build websites with Python and Django. WelcomeToCode.

4. Grippa, V.M. and Kuzmichev, S., 2021. Learning MySQL. " O'Reilly Media, Inc.".

5. Filip, P. and ?egan, L., 2020, November. Comparison of mysql and mongodb with focus on performance. In 2020 International Conference on Informatics, Multimedia, Cyber and Information System (ICIMCIS) (pp. 184-187). IEEE.

6. Ranjan, A., Sinha, A. and Battewad, R., 2020. JavaScript for modern web development: building a web application using HTML, CSS, and JavaScript. BPB Publications.

7. Casabona, J., 2020. HTML and CSS: Visual QuickStart Guide. Peachpit Press.

8. Python, W., 2021. Python. Python Releases for Windows, 24.

9. Martelli, A., Ravenscroft, A.M., Holden, S. and McGuire, P., 2023. Python in a Nutshell. " O'Reilly Media, Inc.".

10. Larkins, K., 2020. A Comparison of Python Web Development Microframeworks. Southern Connecticut State University.

Would you like to schedule a callback?
Send us a message and we will get back to you

Highlights

Earn While You Learn With Us
Confidentiality Agreement
Money Back Guarantee
Live Expert Sessions
550+ Ph.D Experts
21 Step Quality Check
100% Quality
24*7 Live Help
On Time Delivery
Plagiarism-Free

Uni Assignment Help
A+ Grade Assured

Assignment Support
Hello!
Struggling with your assignments? Get 30% OFF on your first order.

Chat with experts now!
×
Get Instant Help
University Assignment Help

Still Finding University Assignment Help? You’ve Come To The Right Place!


CAPTCHA
AU ADDRESS
81 Isla Avenue Glenroy, Mel, VIC, 3046 AU
CONTACT