Computer Security Chapter 6
Computer Security Chapter 6
1. Understanding the Application: Gain insight into the application and its
potential vulnerabilities.
2. Code Review: Developers review the application's source code to identify
and fix security vulnerabilities.
3. Authentication and Authorization: Implement strong user authentication
and access controls.
4. Data Encryption: Encrypt sensitive data in transit and at rest.
5. Input Validation: Input validation ensures that user inputs are checked
and sanitized to prevent malicious or unexpected content.
6. Secure Configuration: Properly configuring the application and its
environment is crucial for hardening.
7. Use of Security Libraries and Frameworks: Security libraries and
frameworks offer pre-built solutions for common security issues.
8. Regular Updates and Patching: Keeping the application and its
dependencies up-to-date is essential for security.
9. Security Testing: Security testing techniques, such as penetration testing
and vulnerability scanning, are employed to identify weaknesses
Vraj3
Application patches
Application patches, also known as software patches, are updates or fixes
released by software developers to address known issues, vulnerabilities, and
bugs in a specific application. These patches are essential for improving the
functionality, stability, and security of the software. Here are some key points
about application patches:
Bug Fixes: Patches also resolve non-security-related issues or bugs that may
affect the application's performance, user experience, or functionality.
Web servers:
• A web server is software or hardware that serves web content to users
over the internet.
• It handles client requests for web pages and other online resources and
delivers them to the users' web browsers.
• Web servers play a critical role in the functioning of the World Wide Web.
• Web server is a computer where the web content is stored.
Here are some key points about web servers:
Common Web Servers: Several web server software solutions are commonly
used, including Apache HTTP Server, Nginx, Microsoft Internet Information
Services (IIS), and LiteSpeed.
Web Hosting: Web hosting providers use web servers to host websites, making
them accessible to users worldwide
Static and Dynamic Content: Web servers handle both static content (e.g.,
HTML, CSS, images) and dynamic content generated by applications (e.g., PHP
scripts, database queries).
Active Directory:
• Active Directory (AD) is a directory service developed by Microsoft for
use in Windows-based networks.
• It serves as a central repository for network resources, such as users,
computers, printers, and various network devices, and it provides a
framework for organizing and managing these resources.
• Active Directory plays a fundamental role in network management and
security in Windows environments.
Vraj3
Group Policy: Group Policy allows administrators to define and enforce security
policies, software deployment, and configuration settings for users and
computers across the network.
Web security:
Web security, often referred to as web application security, is a set of practices,
technologies, and measures designed to protect websites and web applications
from various threats, vulnerabilities, and cyberattacks.
It encompasses strategies and tools that focus on safeguarding the
confidentiality, integrity, and availability of data and services provided through
web-based systems.
Cross-Site Scripting (XSS): XSS attacks involve injecting malicious scripts into
web pages viewed by other users. These scripts can steal user data, session
cookies, or perform other malicious actions.
SQL Injection: In SQL injection attacks, malicious SQL code is injected into input
fields to manipulate or gain unauthorized access to a web application's
database.
Cross-Site Request Forgery (CSRF): CSRF attacks trick users into unknowingly
executing actions on a web application without their consent when they are
authenticated.
Phishing: Phishing attacks use deceptive websites or emails to trick users into
revealing sensitive information such as login credentials, personal details, or
financial data.
DDoS Attacks: Distributed Denial of Service (DDoS) attacks flood a website with
an overwhelming amount of traffic, causing it to become unavailable to
legitimate users.
Vraj3
Content Spoofing: Content spoofing attacks involve tricking users into believing
they are on a legitimate website or displaying fake content.
Network Level:
Application Level:
Transport Level:
SSL/TLS Encryption: Transport Layer Security (TLS) and Secure Sockets Layer
(SSL), provide secure encrypted communication between clients and servers,
ensuring data privacy during transit.
Encrypted DNS (DNS over HTTPS, DNS over TLS): Using encrypted DNS
protocols helps protect against eavesdropping on DNS requests and responses.
SSL
• SSL was originated by Netscape.
• It is a computer networking protocol for securing connections between
network application clients and servers over an insecure network, such
as the internet.
• SSL uses encryption algorithms to scramble data, making it unreadable
to unauthorized parties.
• SSL provides data integrity by using cryptographic hashing and
checksums to detect unauthorized modifications to data during
transmission.
• SSL enables the authentication of both the server and, optionally, the
client. Server authentication ensures that clients are connecting to
legitimate servers, and client authentication verifies the identity of the
connecting user.
• A Secure Sockets Layer (SSL) / Transport Layer Security (TLS) handshake is
the process of creating a safe and secure encrypted communication
channel between the client (user's browser) and the server (web server).
• SSL certificates are used to validate the identity of the server and
establish trust between the client and server.
• Certificates are issued by trusted certificate authorities (CAs)
TLS:
• TLS (Transport Layer Security) is a cryptographic protocol designed to
provide secure and encrypted communication over computer networks,
such as the internet.
• TLS ensures data privacy, integrity, and authentication by encrypting data
during transmission and verifying the identities of the communicating
parties.
• TLS has largely replaced its predecessor, SSL (Secure Sockets Layer), due
to its improved security and performance features.
• TLS was developed to address security vulnerabilities found in earlier
versions of SSL, making it a more secure choice for encrypted
communications.
Vraj3
(same as ssl)
• TLS uses encryption algorithms to scramble data, making it unreadable
to unauthorized parties.
• TLS provides data integrity by using cryptographic hashing and
checksums to detect unauthorized modifications to data during
transmission.
• TLS enables the authentication of both the server and, optionally, the
client. Server authentication ensures that clients are connecting to
legitimate servers, and client authentication verifies the identity of the
connecting user.
• A Secure Sockets Layer (SSL) / Transport Layer Security (TLS) handshake is
the process of creating a safe and secure encrypted communication
channel between the client (user's browser) and the server (web server).
• SSL/TLS certificates are used to validate the identity of the server and
establish trust between the client and server.
• Certificates are issued by trusted certificate authorities (CAs)
SET functionalities:
• Provide Authentication
• Merchant Authentication – Similar to cardholder
authentication, SET also involved the authentication of the
online merchant. Merchants needed digital certificates
issued by trusted CAs to establish their identity and
credibility.
• Customer / Cardholder Authentication – SET provided a
mechanism for authenticating the identity of the
cardholder. This was typically achieved through digital
certificates issued by a trusted certificate authority (CA)
SQL Injection
• SQL Injection is a security vulnerability in which malicious SQL code is
injected into a web application's input fields, allowing attackers to
manipulate or retrieve data from a database, often resulting in
unauthorized access or data breaches.
SQL injection and web application:
• Web applications often take user input through forms, URL
parameters, cookies, or other means. Attackers identify these input
fields, such as login forms, search boxes, and contact forms, where
they can inject malicious SQL code.
• Injection Point: SQL injection attacks occur when an application fails to
properly validate or sanitize user inputs, allowing the attacker to insert
malicious SQL code into the input fields or parameters.
Vraj3
• The application then sends the manipulated input to the database for
processing. If the input is not properly validated and sanitized, the
injected SQL commands are executed.
Input Validation: Ensure that user inputs are properly validated and sanitized to
prevent the injection of malicious code.
Web Application Firewall (WAF): A WAF can help detect and block SQL injection
attempts.
Code Reviews: Conduct regular code reviews to identify and fix vulnerabilities,
including SQL injection issues, in the application code.
OS hardening:
Hardening of the OS is the act of configuring an OS securely, updating it,
creating rules and policies to help govern the system in a secure manner, and
removing unnecessary applications and services.
OS hardening is the process of securing and strengthening an operating system
to reduce vulnerabilities and protect it from cyber threats
Inject Malicious SQL Code: The attacker inputs specially crafted data into the
vulnerable input field. For instance, in a login form, the attacker may enter a
username like admin' OR '1'='1 in an attempt to manipulate the SQL query.
Manipulate the SQL Query: If the application doesn't properly validate and
sanitize input, the malicious data is included in the SQL query. In the login form
example, the attacker's input may result in a query like:
Exploit: In this case, the injected query always returns a valid result because
'1'='1' is always true. The attacker might gain unauthorized access to the
system as if they were an administrator.
Vraj3
SSL TLS
SSL (Secure Socket Layer) supports TLS (Transport Layer Security) does
the Fortezza algorithm. not support the Fortezza algorithm.
SSL (Secure Socket Layer) is the 3.0 TLS (Transport Layer Security) is the
version. 1.0 version.
SSL uses port to set up explicit TLS uses protocol to set up implicit
connection. connection.