The document discusses database security. It begins by outlining key topics like what database security is, why it is needed, and concepts like confidentiality, integrity and availability. It then covers specific security problems like threats from authorized and unauthorized users. The document concludes by describing some security controls that can be implemented, such as authorization, encryption, authentication, firewalls, and access privileges for reading, inserting, updating and deleting data.
Advanced Persistent Threats (APTs) are a serious concern as they represent a threat to an organization’s intellectual property, financial assets and reputation. In some cases, these threats target critical infrastructure and government institutions, thereby threatening the country’s national security itself.
The internet began in the 1950s as a US government network called ARPANET to enable communication in case of nuclear war. In the 1960s, scientists developed packet switching and email, allowing computers to communicate. In the 1970s, protocols like TCP/IP were developed to connect different networks, and the term "internet" was coined. The 1980s saw widespread adoption among researchers, and domains and browsers launched in the 1990s, making the internet publicly accessible. The web, e-commerce, social media, and mobile use transformed the internet in the 2000s into a global communication platform.
Deep Learning approaches for Hate speech detection. In this work we used the two deep learning approaches DCNN and MLP two separate classifier on four publicly available datasets.
The document discusses making inferences by drawing conclusions based on evidence and reasoning. It provides examples of inferences about characters' personalities, themes of stories, and symbols. Readers can infer character development, themes, symbols, and plot details by analyzing clues in the text and using their own thinking. Making inferences involves reading between the lines and using evidence from what is observed or read to draw conclusions. Activities are suggested for students to practice making inferences based on images, short films, and notes.
This document discusses leadership and team building. It defines leadership as the action of leading a group towards goals. There are different leadership styles such as autocratic, democratic, and laissez-faire. Good leadership skills include drive, emotional intelligence, motivation, knowledge, and self-confidence. Team building involves forming a team, storming through issues, norming team roles and processes, and high performing collaboration. Characteristics of effective teams include trust, commitment to shared goals, empowerment, information sharing, developing team spirit, and celebrating successes together.
Database security involves protecting a database from unauthorized access, modification, or deletion. It aims to ensure the confidentiality, integrity, and availability of data through various mechanisms like access controls, encryption, firewalls, and authorization levels. These controls regulate how data flows between systems and users, prevent indirect data inferences, and restrict access to only authorized users and operations. The goal is to safeguard sensitive information in databases from both intentional and accidental security threats.
Database security aims to protect data from unauthorized access through various security controls. This includes restricting access (secrecy), ensuring data integrity, and maintaining data availability. Common threats include accidental issues like hardware/software errors and natural disasters, as well as deliberate actions by authorized or unauthorized users. Microsoft Access provides security features like user accounts, permissions, and database passwords to control access and protect data.
The document discusses database security and provides an overview of key concepts. It defines database security and the data security lifecycle. It also outlines various countermeasures for database security including authorization, views, backup and recovery, integrity, encryption, and RAID technology. The overall goals are to understand security issues in database systems and consider how to address threats and protect against risks like theft, fraud, and data loss or exposure.
This document discusses database security. It introduces the CIA triangle of confidentiality, integrity and availability as key security objectives. It describes various security access points like people, applications, networks and operating systems. It also discusses vulnerabilities, threats, risks and different security methods to protect databases. The document provides an overview of concepts important for implementing database security.
Database security is an important topic in DBMS course. This is my group presentation of this course. We discus three are security aspects, security problems, security controls, database and firewall.
This document discusses information security and system security. It defines information, information security, and the goals of security including confidentiality, integrity and availability. It describes different types of attacks such as interruption, interception, modification and fabrication. It explains passive attacks like eavesdropping and traffic analysis, as well as active attacks including masquerade, replay, message modification, and denial of service. The document outlines why computer security is needed and covers topics like vulnerabilities, threats, and controls to protect against various security risks.
This document provides an overview of operating system security. It discusses the key components and functions of an operating system including multitasking, resource management, user interfaces, and more. It then examines the security environment of an operating system including services, files, memory, authentication, authorization, and vulnerabilities. Finally, it outlines best practices for securing an operating system such as installing only necessary software, configuring users and permissions properly, applying patches and updates, and performing regular security monitoring, backups and testing.
This document discusses database security and authentication. It defines security as protective digital privacy measures to prevent unauthorized access to databases. Authentication is the process of recognizing a user's identity. Passwords are a basic form of authentication where a user must provide the correct password to access a database. Strong authentication offers more secure options like smart cards and Kerberos. Database security also involves regulating access at the physical location, operating system, database application, and user interface levels.
This document discusses basic concepts in computer security. It defines computer security as techniques for ensuring data cannot be read or compromised without authorization, usually through encryption and passwords. The three main goals of computer security are confidentiality, integrity, and availability. Vulnerabilities are weaknesses that can be exploited, and threats are circumstances with potential to cause harm. Common threats include interception, interruption, modification, and fabrication. Controls are protective measures used to reduce vulnerabilities, and physical security and security methods like antivirus software and firewalls can help secure computers.
This document discusses database security, threats, and countermeasures. It defines database security as protecting the confidentiality, integrity, and availability of database data. Common threats include unauthorized access, data corruption, and network issues. Countermeasures include access control, authorization, encryption, backups, and firewalls. Firewalls monitor network traffic to identify and block harmful queries. Encryption uses keys to securely store and decrypt data. Authorization controls user permissions. These controls help secure database data from both intentional and accidental threats.
what is security of database system
how we can handle database security
how database security can be check
what are the countermeasures of database security
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
Basic Network Attacks
The active and passive attacks can be differentiated on the basis of what are they, how they are performed and how much extent of damage they cause to the system resources. But, majorly the active attack modifies the information and causes a lot of damage to the system resources and can affect its operation. Conversely, the passive attack does not make any changes to the system resources and therefore doesn’t causes any damage.
The document discusses security issues in networks and distributed systems. It describes possible network security threats like wiretapping, impersonation, message integrity violations, hacking, and denial of service attacks. It also discusses network security controls like encryption and authentication methods. Specifically, it covers Kerberos, PEM, and PGP for authentication and encryption. It describes different types of firewalls - screening routers, proxy gateways, and guards - and their functions in securing networks. However, it notes that firewalls are not complete solutions and have their own security issues.
1. Distributed transaction managers ensure transactions have ACID properties through implementing the 2-phase commit protocol for reliability, 2-phase locking for concurrency control, and timeouts for deadlock detection on top of local transaction managers.
2. The 2-phase commit protocol guarantees subtransactions of the same transaction will all commit or abort despite failures, while 2-phase locking requires subtransactions acquire locks in a growing phase and release in a shrinking phase.
3. Timeouts are used to detect and abort transactions potentially experiencing a distributed deadlock.
The document discusses key components and concepts related to operating system structures. It describes common system components like process management, memory management, file management, I/O management, and more. It then provides more details on specific topics like the role of processes, main memory management, file systems, I/O systems, secondary storage, networking, protection systems, and command interpreters in operating systems. Finally, it discusses operating system services, system calls, and how parameters are passed between programs and the operating system.
Memory management is the act of managing computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when no longer needed. This is critical to any advanced computer system where more than a single process might be underway at any time
This document discusses types of attacks on computer and network security. It defines passive and active attacks. Passive attacks monitor systems without interaction and include interception and traffic analysis attacks. Interception involves unauthorized access to messages. Traffic analysis examines communication patterns. Active attacks make unauthorized changes and include masquerade, interruption, fabrication, session replay, modification, and denial of service attacks. Masquerade involves assuming another user's identity. Interruption obstructs communication. Fabrication inserts fake messages. Session replay steals login information. Modification alters packet addresses or data. Denial of service deprives access by overwhelming the target.
The document discusses system security and defines key related terms. System security is the ability of a system to protect itself from accidental or deliberate attacks. It is essential for availability, reliability, and safety as most systems are networked. Without proper security, systems are vulnerable to damage like denial of service, data corruption, and disclosure of confidential information. Security can be achieved through strategies such as avoiding vulnerabilities, detecting and eliminating attacks, and limiting exposure and enabling recovery from successful attacks.
This document discusses database security and SQL injection attacks. It begins by defining databases and their components like tables, rows, and columns. It then explains relational databases and SQL. The document discusses SQL injection attacks in detail, providing examples of how attacks work and countermeasures. It also covers topics like role-based access control, inference, statistical databases, and database encryption.
This document discusses database security and SQL injection attacks. It begins with an overview of access control in SQL and views before discussing SQL injection attacks in more detail. The key points are that SQL injection attacks involve inserting malicious SQL statements into user input fields to exploit applications that directly insert user input into SQL queries. Examples are given of how attacks can read or delete entire databases. The best defenses include using prepared statements with bound parameters and validating/sanitizing all user input.
Database security involves protecting a database from unauthorized access, modification, or deletion. It aims to ensure the confidentiality, integrity, and availability of data through various mechanisms like access controls, encryption, firewalls, and authorization levels. These controls regulate how data flows between systems and users, prevent indirect data inferences, and restrict access to only authorized users and operations. The goal is to safeguard sensitive information in databases from both intentional and accidental security threats.
Database security aims to protect data from unauthorized access through various security controls. This includes restricting access (secrecy), ensuring data integrity, and maintaining data availability. Common threats include accidental issues like hardware/software errors and natural disasters, as well as deliberate actions by authorized or unauthorized users. Microsoft Access provides security features like user accounts, permissions, and database passwords to control access and protect data.
The document discusses database security and provides an overview of key concepts. It defines database security and the data security lifecycle. It also outlines various countermeasures for database security including authorization, views, backup and recovery, integrity, encryption, and RAID technology. The overall goals are to understand security issues in database systems and consider how to address threats and protect against risks like theft, fraud, and data loss or exposure.
This document discusses database security. It introduces the CIA triangle of confidentiality, integrity and availability as key security objectives. It describes various security access points like people, applications, networks and operating systems. It also discusses vulnerabilities, threats, risks and different security methods to protect databases. The document provides an overview of concepts important for implementing database security.
Database security is an important topic in DBMS course. This is my group presentation of this course. We discus three are security aspects, security problems, security controls, database and firewall.
This document discusses information security and system security. It defines information, information security, and the goals of security including confidentiality, integrity and availability. It describes different types of attacks such as interruption, interception, modification and fabrication. It explains passive attacks like eavesdropping and traffic analysis, as well as active attacks including masquerade, replay, message modification, and denial of service. The document outlines why computer security is needed and covers topics like vulnerabilities, threats, and controls to protect against various security risks.
This document provides an overview of operating system security. It discusses the key components and functions of an operating system including multitasking, resource management, user interfaces, and more. It then examines the security environment of an operating system including services, files, memory, authentication, authorization, and vulnerabilities. Finally, it outlines best practices for securing an operating system such as installing only necessary software, configuring users and permissions properly, applying patches and updates, and performing regular security monitoring, backups and testing.
This document discusses database security and authentication. It defines security as protective digital privacy measures to prevent unauthorized access to databases. Authentication is the process of recognizing a user's identity. Passwords are a basic form of authentication where a user must provide the correct password to access a database. Strong authentication offers more secure options like smart cards and Kerberos. Database security also involves regulating access at the physical location, operating system, database application, and user interface levels.
This document discusses basic concepts in computer security. It defines computer security as techniques for ensuring data cannot be read or compromised without authorization, usually through encryption and passwords. The three main goals of computer security are confidentiality, integrity, and availability. Vulnerabilities are weaknesses that can be exploited, and threats are circumstances with potential to cause harm. Common threats include interception, interruption, modification, and fabrication. Controls are protective measures used to reduce vulnerabilities, and physical security and security methods like antivirus software and firewalls can help secure computers.
This document discusses database security, threats, and countermeasures. It defines database security as protecting the confidentiality, integrity, and availability of database data. Common threats include unauthorized access, data corruption, and network issues. Countermeasures include access control, authorization, encryption, backups, and firewalls. Firewalls monitor network traffic to identify and block harmful queries. Encryption uses keys to securely store and decrypt data. Authorization controls user permissions. These controls help secure database data from both intentional and accidental threats.
what is security of database system
how we can handle database security
how database security can be check
what are the countermeasures of database security
FellowBuddy.com is an innovative platform that brings students together to share notes, exam papers, study guides, project reports and presentation for upcoming exams.
We connect Students who have an understanding of course material with Students who need help.
Benefits:-
# Students can catch up on notes they missed because of an absence.
# Underachievers can find peer developed notes that break down lecture and study material in a way that they can understand
# Students can earn better grades, save time and study effectively
Our Vision & Mission – Simplifying Students Life
Our Belief – “The great breakthrough in your life comes when you realize it, that you can learn anything you need to learn; to accomplish any goal that you have set for yourself. This means there are no limits on what you can be, have or do.”
Like Us - https://www.facebook.com/FellowBuddycom
Basic Network Attacks
The active and passive attacks can be differentiated on the basis of what are they, how they are performed and how much extent of damage they cause to the system resources. But, majorly the active attack modifies the information and causes a lot of damage to the system resources and can affect its operation. Conversely, the passive attack does not make any changes to the system resources and therefore doesn’t causes any damage.
The document discusses security issues in networks and distributed systems. It describes possible network security threats like wiretapping, impersonation, message integrity violations, hacking, and denial of service attacks. It also discusses network security controls like encryption and authentication methods. Specifically, it covers Kerberos, PEM, and PGP for authentication and encryption. It describes different types of firewalls - screening routers, proxy gateways, and guards - and their functions in securing networks. However, it notes that firewalls are not complete solutions and have their own security issues.
1. Distributed transaction managers ensure transactions have ACID properties through implementing the 2-phase commit protocol for reliability, 2-phase locking for concurrency control, and timeouts for deadlock detection on top of local transaction managers.
2. The 2-phase commit protocol guarantees subtransactions of the same transaction will all commit or abort despite failures, while 2-phase locking requires subtransactions acquire locks in a growing phase and release in a shrinking phase.
3. Timeouts are used to detect and abort transactions potentially experiencing a distributed deadlock.
The document discusses key components and concepts related to operating system structures. It describes common system components like process management, memory management, file management, I/O management, and more. It then provides more details on specific topics like the role of processes, main memory management, file systems, I/O systems, secondary storage, networking, protection systems, and command interpreters in operating systems. Finally, it discusses operating system services, system calls, and how parameters are passed between programs and the operating system.
Memory management is the act of managing computer memory. The essential requirement of memory management is to provide ways to dynamically allocate portions of memory to programs at their request, and free it for reuse when no longer needed. This is critical to any advanced computer system where more than a single process might be underway at any time
This document discusses types of attacks on computer and network security. It defines passive and active attacks. Passive attacks monitor systems without interaction and include interception and traffic analysis attacks. Interception involves unauthorized access to messages. Traffic analysis examines communication patterns. Active attacks make unauthorized changes and include masquerade, interruption, fabrication, session replay, modification, and denial of service attacks. Masquerade involves assuming another user's identity. Interruption obstructs communication. Fabrication inserts fake messages. Session replay steals login information. Modification alters packet addresses or data. Denial of service deprives access by overwhelming the target.
The document discusses system security and defines key related terms. System security is the ability of a system to protect itself from accidental or deliberate attacks. It is essential for availability, reliability, and safety as most systems are networked. Without proper security, systems are vulnerable to damage like denial of service, data corruption, and disclosure of confidential information. Security can be achieved through strategies such as avoiding vulnerabilities, detecting and eliminating attacks, and limiting exposure and enabling recovery from successful attacks.
This document discusses database security and SQL injection attacks. It begins by defining databases and their components like tables, rows, and columns. It then explains relational databases and SQL. The document discusses SQL injection attacks in detail, providing examples of how attacks work and countermeasures. It also covers topics like role-based access control, inference, statistical databases, and database encryption.
This document discusses database security and SQL injection attacks. It begins with an overview of access control in SQL and views before discussing SQL injection attacks in more detail. The key points are that SQL injection attacks involve inserting malicious SQL statements into user input fields to exploit applications that directly insert user input into SQL queries. Examples are given of how attacks can read or delete entire databases. The best defenses include using prepared statements with bound parameters and validating/sanitizing all user input.
The document discusses database security and SQL injection attacks. It provides an overview of access control in SQL and MySQL, including the use of views and privileges. It then describes SQL injection attacks, giving examples of how attackers can exploit vulnerabilities to view sensitive data or delete tables. The best defense is using prepared statements with bound parameters rather than embedding user input directly into SQL. Other defenses include input validation, output encoding, limiting permissions, and configuring error reporting.
The document discusses database security and SQL injection attacks. It provides an overview of access control in SQL and MySQL, views, and limitations of SQL security. It defines SQL injection attacks and gives examples of how attacks work by inserting malicious SQL statements into user input. The document recommends best practices for prevention, including using prepared statements with bound variables, input validation, output encoding, and limiting database permissions.
What they are, steps you can take to prevent them, a brief overview.
3/13/2013 winter term 2013 at Portland State University for the Introduction to Databases class.
Presented by Stacy Watts and Tyler Fetters
The Information Systems, Databases are vital and critical in the arena of Business, Enterprise, Governance etc., for the decision making. Further, the Information Systems are designed to reach maximum number of people for interaction with system. This intent of system usage appears to be resourceful but the identification of reliable users of system has challenged the technocrats
Most of the applications uses relational data base system (RDBMS) for the database support but with intelligent exploitation of vulnerability in Structured Query Language (SQL) of RDBMS, the dishonest people are interested in manipulation or processing of the data for business value reduction or damage.
This paper attempts to endow with security to a relational database system by the inclusion of newly designed semiotic to keyword SECURE into a lexicon of SQL. Then the semiotic is articulated in relational algebraic expression for current query engine execution.
In today's modern world, security is a necessary fact of life. GreenSQL Security helps small to large organizations protect their sensitive information against internal and external threats. The rule-based engine offers database firewall, intrusion detection and prevention (IDS/IPS). GreenSQL Security Engine applies exception detection to prevent hacker attacks, end-user intrusion and unauthorized access by privileged insiders. The system provides a web based intuitive and flexible policy framework that enables users to create and edit their security rules quickly and easily. GreenSQL interfaces between your database and any source requiring a connection to it. This approach shields your database application and database operating system from direct, remote access. GreenSQL Database Security 1) Stops SQL Injection attacks on your web application 2) Blocks unauthorized database access and alerts you in real time about unwanted access 3) Separates your application database access privileges from administrator access 4) Gives you a complete event log for investigating database traffic and access 5) Ensures you achieve successful implementation with 24/7 support
This document discusses Row-Level Security (RLS) and Dynamic Data Masking in Microsoft SQL Server 2016. It provides an overview of RLS benefits like fine-grained access control and increased security. Examples demonstrate how to create a security policy with a filter predicate. Dynamic Data Masking helps prevent data abuse by masking sensitive data for unauthorized users according to a defined policy, without affecting the underlying data. Limitations include that masking cannot be used on certain column types.
Data modeling is the process of exploring data structures and relationships. It involves identifying entity types, attributes, relationships and applying normalization. Conceptual, logical and physical data models are used at different stages of the design process. Database security involves techniques like access control, encryption and firewalls to protect data confidentiality, integrity and availability. Issues like SQL injection occur when user input is not sanitized before passing to the database.
The document provides an overview of DB2 security features including authorization, authentication, LBAC, RCAC, backup and recovery, data encryption, trusted contexts, and InfoSphere data replication. It discusses authorization at the instance, database, and object levels and covers row and column access controls. The document also outlines different data encryption options in DB2, backup approaches, and trusted connections. It concludes with references for further information.
SQL Injection Prevention by Adaptive AlgorithmIOSR Journals
The document proposes an adaptive algorithm to prevent SQL injection attacks. It first surveys different SQL injection methods like tautology attacks, piggybacked queries, union queries, and illegal queries. It then analyzes existing techniques like parse tree validation and code conversion. The proposed method combines these techniques by parsing user input, checking for vulnerabilities, and applying code conversion if needed. The algorithm is implemented in PHP and MySQL and results show it can sanitize input securely without performance overhead. The adaptive approach provides stronger security than existing individual techniques.
The document discusses SQL injection prevention through an adaptive algorithm. It first describes how SQL injections work by exploiting vulnerabilities in web applications that use client-supplied data in SQL queries. It then proposes a novel method that uses parse tree validation and code conversion techniques to detect and prevent SQL injection attacks, especially during the login phase. The method is described as being simple and effective.
The document discusses database and data center security. It provides reasons why database security has not kept pace with increased reliance on databases, including the complexity of database management systems and SQL, lack of dedicated security personnel, and use of cloud technologies. It then covers database concepts like structured query language, SQL injection attacks, access controls, encryption, and inference channels. Finally, it defines data centers and their key security elements.
This document discusses database security. It begins by stating that as threats to databases have increased, security of databases is increasingly important. It then defines database security as protecting the confidentiality, integrity, and availability of database data. The document outlines some common database security threats like SQL injection, unauthorized access, password cracking, and network eavesdropping. It then discusses some methods of securing databases, including through firewalls and data encryption. Firewalls work by filtering database traffic according to rules, while data encryption scrambles data so it can only be read by authorized users. The document stresses the importance of restricting database access to authorized users and applications.
Database security and security in networksG Prachi
The document discusses database security and network security, including security requirements for databases like reliability, integrity and access control, threats in networks like firewalls and intrusion detection systems, and issues around sensitive data in databases like inference where sensitive data can be deduced from aggregate queries and statistical databases. It also covers security models for databases including discretionary access control using views, roles and privileges and mandatory access control using security labels.
Security Issues Surrounding Data Manipulation in a Relational DatabaseDavid Murphy
This document discusses security issues related to data manipulation in relational database management systems (RDBMS). It begins by introducing RDBMS and describing common access control policies like mandatory access control, discretionary access control, and role-based access control. It then discusses how structured query language (SQL) enables data manipulation but is also vulnerable to SQL injection attacks. Specific examples of database breaches at large companies are provided to illustrate security issues related to weak authentication policies, plaintext passwords, and SQL injection vulnerabilities. The document argues that proper user input validation and intrusion prevention systems are needed to protect against unauthorized data access and modification in RDBMS.
fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff...Rana sing
This document proposes a technique called "web service oriented XPATH authentication" to prevent SQL injection attacks. The proposed system uses two filtration models - an active guard model to detect and prevent suspicious characters, and a service detector model that validates user input against stored data. The system aims to effectively secure applications like banking by identifying input parameters and applying prevention techniques to queries before they access the database.
This document proposes a technique called "web service oriented XPATH authentication" to prevent SQL injection attacks. The proposed system uses two filtration models - an active guard model to detect and prevent suspicious characters, and a service detector model that validates user input against stored data. The system aims to effectively secure applications like banking by preventing all forms of SQL attacks while allowing legitimate users to access databases. Modules described include information gathering, identifying input parameters, and employing various techniques to prevent SQL injection attacks like tautologies, malformed queries, and inference.
CCNA 200-301 IPv6 addressing and subnetting MCQs CollectionCAS
This document contains a collection of 140 multiple choice questions related to IPv6 addressing and subnetting for the CCNA 200-301 exam. It begins with sample questions such as the recommended prefix length for IPv6 subnets, parts of a global unicast address, and types of IPv6 addresses. The rest of the document consists of multiple choice questions with answer options intended to test knowledge of IPv6 concepts like address types, autoconfiguration, subnetting, and EUI-64 interface identifier generation.
RRB JE Stage 2 Computer and Applications Questions Part 5CAS
Computer viruses, worms, Trojan horses, spyware, and other malware can harm computer systems in various ways. Anti-virus software, firewalls, and other security measures help protect against malware threats. Digital certificates, digital signatures, strong passwords also help secure computer systems and networks from unauthorized access.
This document provides an introduction to IoT security. It discusses key components of IoT including sensors, actuators, microcontrollers, communication capabilities, and identification. The document outlines the ITU-T IoT reference model and describes security challenges at different levels including devices, fog networks, core networks, and data centers. It also discusses common IoT security issues such as unpredictable behavior, device similarity, problematic deployments, lack of upgrades, and lack of transparency. Finally, the document summarizes common IoT security tools including encryption, passwords, hardware security modules, two-factor authentication, and public key infrastructure certificates.
MEANING OF RESEARCH
OBJECTIVES OF RESEARCH
CHARACTERISTICS OF RESEARCH
CRITERIA OF A GOOD RESEARCH
QUALITIES OF GOOD RESEARCH
RESEARCH MOTIVATIONS
TYPES OF RESEARCH
PROBLEMS IN RESEARCH
RESEARCH APPROACHES
RESEARCH PROCESS
LITERATURE REVIEW
HYPOTHESIS
CRITERIA OF GOOD RESEARCH
PROBLEMS ENCOUNTERED BY RESEARCHER
The document is a collection of riddles and puzzles posted by Mr. Rajasekar Ramalingam from the Department of Information Technology at College of Applied Sciences in Oman. It contains repeated phrases of "Can you solve this?" and "Identify the correct one!" followed by various riddles and puzzles for the reader to solve.
Symmetric encryption and message confidentialityCAS
Symmetric Encryption Principles
Data Encryption Standard
Advanced Encryption Standard
Stream Ciphers and RC4
Cipher Block Modes of Operation
Key Distribution
This document discusses various types of malicious software including viruses, worms, and malware. It provides definitions and examples of different viruses and worms, how they spread and replicate on systems. It also summarizes approaches for detecting, identifying and removing viruses and worms, as well as proactive containment strategies for worms.
This document discusses legal and ethical aspects of computer security. It covers topics like cybercrime and types of computer crimes. It also discusses challenges in cybercrime law enforcement and profiles of cybercriminals and victims. Intellectual property issues related to software, algorithms, databases and digital content are examined. The document also covers privacy issues and common criteria for privacy classification. Finally, it discusses professional responsibilities and codes of conduct in computing.
12.1 Security Awareness, Training, and Education
12.2 Polices and Employment Practices
12.3 E-Mail and Internet Use Policies
12.4 Computer Security Incident Response Teams
1 Symmetric Encryption
2 Message Authentication and Hash Functions
3 Public-Key Encryption
4 Digital Signatures and Key Management
5 Random and Pseudo random Numbers
6 Practical Application: Encryption of Stored Data
7 Symmetric vs Asymmetric
Internet security association and key management protocol (isakmp)CAS
The document summarizes the Internet Security Association and Key Management Protocol (ISAKMP). ISAKMP allows two parties to negotiate a security association (SA) to protect subsequent communications. It operates in two phases: first, the parties negotiate an ISAKMP SA used to securely exchange keying material, and second, the keying material is used to establish SAs for protocols like IPsec. The document describes the ISAKMP negotiation process, key material derived during negotiation like SKEYID, and the structure of ISAKMP message headers.
APNIC Update, presented at NZNOG 2025 by Terry SweetserAPNIC
Terry Sweetser, Training Delivery Manager (South Asia & Oceania) at APNIC presented an APNIC update at NZNOG 2025 held in Napier, New Zealand from 9 to 11 April 2025.
DNS Resolvers and Nameservers (in New Zealand)APNIC
Geoff Huston, Chief Scientist at APNIC, presented on 'DNS Resolvers and Nameservers in New Zealand' at NZNOG 2025 held in Napier, New Zealand from 9 to 11 April 2025.
Top Vancouver Green Business Ideas for 2025 Powered by 4GoodHostingsteve198109
Vancouver in 2025 is more than scenic views, yoga studios, and oat milk lattes—it’s a thriving hub for eco-conscious entrepreneurs looking to make a real difference. If you’ve ever dreamed of launching a purpose-driven business, now is the time. Whether it’s urban mushroom farming, upcycled furniture sales, or vegan skincare sold online, your green idea deserves a strong digital foundation.
The 2025 Canadian eCommerce landscape is being shaped by trends like sustainability, local innovation, and consumer trust. To stay ahead, eco-startups need reliable hosting that aligns with their values. That’s where 4GoodHosting.com comes in—one of the top-rated Vancouver web hosting providers of 2025. Offering secure, sustainable, and Canadian-based hosting solutions, they help green entrepreneurs build their brand with confidence and conscience.
As eCommerce in Canada embraces localism and environmental responsibility, choosing a hosting provider that shares your vision is essential. 4GoodHosting goes beyond just hosting websites—they champion Canadian businesses, sustainable practices, and meaningful growth.
So go ahead—start that eco-friendly venture. With Vancouver web hosting from 4GoodHosting, your green business and your values are in perfect sync.
Reliable Vancouver Web Hosting with Local Servers & 24/7 Supportsteve198109
Looking for powerful and affordable web hosting in Vancouver? 4GoodHosting offers premium Canadian web hosting solutions designed specifically for individuals, startups, and businesses across British Columbia. With local data centers in Vancouver and Toronto, we ensure blazing-fast website speeds, superior uptime, and enhanced data privacy—all critical for your business success in today’s competitive digital landscape.
Our Vancouver web hosting plans are packed with value—starting as low as $2.95/month—and include secure cPanel management, free domain transfer, one-click WordPress installs, and robust email support with anti-spam protection. Whether you're hosting a personal blog, business website, or eCommerce store, our scalable cloud hosting packages are built to grow with you.
Enjoy enterprise-grade features like daily backups, DDoS protection, free SSL certificates, and unlimited bandwidth on select plans. Plus, our expert Canadian support team is available 24/7 to help you every step of the way.
At 4GoodHosting, we understand the needs of local Vancouver businesses. That’s why we focus on speed, security, and service—all hosted on Canadian soil. Start your online journey today with a reliable hosting partner trusted by thousands across Canada.
APNIC -Policy Development Process, presented at Local APIGA Taiwan 2025APNIC
Joyce Chen, Senior Advisor, Strategic Engagement at APNIC, presented on 'APNIC Policy Development Process' at the Local APIGA Taiwan 2025 event held in Taipei from 19 to 20 April 2025.
Understanding the Tor Network and Exploring the Deep Webnabilajabin35
While the Tor network, Dark Web, and Deep Web can seem mysterious and daunting, they are simply parts of the internet that prioritize privacy and anonymity. Using tools like Ahmia and onionland search, users can explore these hidden spaces responsibly and securely. It’s essential to understand the technology behind these networks, as well as the risks involved, to navigate them safely. Visit https://torgol.com/
Best web hosting Vancouver 2025 for you businesssteve198109
Vancouver in 2025 is more than scenic views, yoga studios, and oat milk lattes—it’s a thriving hub for eco-conscious entrepreneurs looking to make a real difference. If you’ve ever dreamed of launching a purpose-driven business, now is the time. Whether it’s urban mushroom farming, upcycled furniture sales, or vegan skincare sold online, your green idea deserves a strong digital foundation.
The 2025 Canadian eCommerce landscape is being shaped by trends like sustainability, local innovation, and consumer trust. To stay ahead, eco-startups need reliable hosting that aligns with their values. That’s where 4GoodHosting.com comes in—one of the top-rated Vancouver web hosting providers of 2025. Offering secure, sustainable, and Canadian-based hosting solutions, they help green entrepreneurs build their brand with confidence and conscience.
As eCommerce in Canada embraces localism and environmental responsibility, choosing a hosting provider that shares your vision is essential. 4GoodHosting goes beyond just hosting websites—they champion Canadian businesses, sustainable practices, and meaningful growth.
So go ahead—start that eco-friendly venture. With Vancouver web hosting from 4GoodHosting, your green business and your values are in perfect sync.
Smart Mobile App Pitch Deck丨AI Travel App Presentation Templateyojeari421237
🚀 Smart Mobile App Pitch Deck – "Trip-A" | AI Travel App Presentation Template
This professional, visually engaging pitch deck is designed specifically for developers, startups, and tech students looking to present a smart travel mobile app concept with impact.
Whether you're building an AI-powered travel planner or showcasing a class project, Trip-A gives you the edge to impress investors, professors, or clients. Every slide is cleanly structured, fully editable, and tailored to highlight key aspects of a mobile travel app powered by artificial intelligence and real-time data.
💼 What’s Inside:
- Cover slide with sleek app UI preview
- AI/ML module implementation breakdown
- Key travel market trends analysis
- Competitor comparison slide
- Evaluation challenges & solutions
- Real-time data training model (AI/ML)
- “Live Demo” call-to-action slide
🎨 Why You'll Love It:
- Professional, modern layout with mobile app mockups
- Ideal for pitches, hackathons, university presentations, or MVP launches
- Easily customizable in PowerPoint or Google Slides
- High-resolution visuals and smooth gradients
📦 Format:
- PPTX / Google Slides compatible
- 16:9 widescreen
- Fully editable text, charts, and visuals
Smart Mobile App Pitch Deck丨AI Travel App Presentation Templateyojeari421237
Database security
1. 1
DATABASE SECURITYDATABASE SECURITY
ITSY3104 Computer Security A - Lecture 7 Database Security
Mr. RAJASEKAR RAMALINGAM
Department of IT, College of Applied
Sciences, Sur.
Sultanate of Oman.
http://vrrsekar.wixsite.com/raja
Based on
William Stallings, Lawrie Brown, Computer Security:
Principles and Practice, Third Edition
4. 7.2 Database Access Control
Database access control
system determines:
Database access control
system determines:
If the user has access to the entire
database or just portions of it
What access rights the user has
(create, insert, delete, update, read,
write)
Can support a range of
administrative policies
Can support a range of
administrative policies
Centralized administration
•Small number of privileged users may
grant and revoke access rights
Ownership-based administration
•The creator of a table may grant and
revoke access rights to the table
Decentralized administration
•The owner of the table may grant and
revoke authorization rights to other users,
allowing them to grant and revoke access
rights to the table 4
5. 7.3 SQLAccess Controls
Two commands for managing access rights:
grant
used to grant one or more access rights or can be
used to assign a user to a role
revoke
revokes the access rights
Typical access rights are:
select, insert, update, delete, references
5ITSY3104 Computer Security A - Lecture 7 Database Security
6. 6
GRANT { privileges | role } [ON table] TO { user | role |
PUBLIC } [IDENTIFIED BY password] [WITH GRANT
OPTION]
e.g. GRANT SELECT ON ANY TABLE TO ricflair
REVOKE { privileges | role } [ON table] FROM { user |
role | PUBLIC }
e.g. REVOKE SELECT ON ANY TABLE FROM ricflair
Typical access rights are:
SELECT, INSERT, UPDATE, DELETE, REFERENCES
NETW4005 - SPRING 2017 - LECTURE 9 - DATABASE SECURITY
7. 7.4 Role-Based Access Control (RBAC)
Role-based access control eases administrative burden and
improves security
A database RBAC needs to provide the following capabilities:
Create and delete roles
Define permissions for a role
Assign and cancel assignment of users to roles
Categories of database users:
7
8. 8
7.5 INFERENCE
Process of performing authorized queries & deducing
unauthorized information from the legitimate responses
received.
The inference problem arises when the combination of a
number of data items is more sensitive than the individual
items, or when a combination of data items can be used to
infer data of a higher sensitivity.
The attacker may make use of nonsensitive data as well as
metadata.
Metadata refers to knowledge about correlations or
dependencies among data items that can be used to deduce
information not otherwise available to a particular user.
ITSY3104 Computer Security A - Lecture 7 Database Security
9. 9
The information transfer path by which unauthorized data is
obtained is referred to as an inference channel.
Two inference techniques can be used to derive additional
information:
1. Analyzing functional dependencies between attributes within a
table or across tables; and
2. Merging views with the same constraints.
ITSY3104 Computer Security A - Lecture 7 Database Security
10. 10
INFERENCE EXAMPLE…
Figure a : Shows a table Employee with five columns.
Figure b : Shows two views.
Figure c : This violates the access control policy that the
relationship of attributes Name and Salary must not be disclosed.
ITSY3104 Computer Security A - Lecture 7 Database Security
11. 11
7.5.1 INFERENCE COUNTERMEASURES
Inference detection at database design
alter database structure or access controls
Inference detection at query time
by monitoring and altering or rejecting queries
Need some inference detection algorithm
a difficult problem
cf. employee-salary example
ITSY3104 Computer Security A - Lecture 7 Database Security
12. 12
7.6 STATISTICAL DATABASES (SDB)
Provides data of a statistical nature (Counts & Averages)
Two types:
1. Pure statistical database
This type of database only stores statistical data.
An example is a census database.
Access control for a pure SDB is straightforward.
Certain users are authorized to access the entire database.
2. Ordinary database with statistical access
This type of database contains individual entries;
This is the type of database discussed so far in this chapter.
The database supports a population of nonstatistical users
who are allowed access to selected portions of the database.
ITSY3104 Computer Security A - Lecture 7 Database Security
13. 13
7.6.1 STATISTICAL DATABASE SECURITY
Use a characteristic formula C
A logical formula over the values of attributes
e.g. (Gender=Male) AND ((Major=CS) OR (Major=EE))
Query set X(C) of characteristic formula C, is the set of
records matching C
A statistical query is a query that produces a value calculated
over a query set
ITSY3104 Computer Security A - Lecture 7 Database Security
16. 16
7.7 PROTECTING AGAINST INFERENCE
SDB implementers have developed two distinct approaches to
protection of an SDB from inference attacks.
1. Query restriction:
Rejects a query that can lead to a compromise.
The answers provided are accurate.
Query restriction techniques defend against inference by restricting
statistical queries so that they do not reveal user confidential
information.
Restriction in this context simply means that some queries are
denied.
The simplest form of query restriction is query size restriction.
ITSY3104 Computer Security A - Lecture 7 Database Security
17. 17
2. Perturbation:
Provides answers to all queries, but the answers are approximate.
Due to the addition of noise to the statistics generated from the
original data.
This can be done in one of two ways:
1. Data Perturbation :
The data in the SDB can be modified (perturbed) so as to produce
statistics that cannot be used to infer values for individual records.
2. Output Perturbation :
When a statistical query is made, the system can generate
statistics that are modified from those that the original database
would provide, again thwarting attempts to gain knowledge of
individual records.
ITSY3104 Computer Security A - Lecture 7 Database Security
19. 19
7.8 DATABASE ENCRYPTION
Databases typical a valuable info resource
Protected by multiple layers of security:
Firewalls, Authentication, O/S Access Control Systems,
DB Access Control Systems, and Database Encryption
Can encrypt
Entire database - very inflexible and inefficient
Individual fields - simple but inflexible
Records (rows) or columns (attributes) - best
also need attribute indexes to help data retrieval
ITSY3104 Computer Security A - Lecture 7 Database Security
20. ITSY3104 Computer Security A - Lecture 7 Database Security 20
Query
Processor
1. Original query
metadata
4. Plaintext
result
2. Transformed
query
3. Encrypted
result
Client
User
Data owner
Server
Encrypt/
Decrypt
Query
Executor
Meta
Data
Meta
Data
Encrypted
database
Data-
base
21. 21
A database encryption example is depicted in Figure. Four
entities are involved:
1. Data owner: organization that produces the sensitive data.
2. User: that presents requests (queries) to the system.
3. Client: Front-end that transforms user queries into queries on
encrypted data
4. Server: that receives encrypted data from a data owner and
makes them available for distribution to clients.
The server could in fact be owned by the data owner but more
typically, is owned and maintained by an external provider.
Database Encryption…
ITSY3104 Computer Security A - Lecture 7 Database Security
22. 22
Database Encryption…
A user at the client can retrieve a record from the database
with the following sequence:
1. The user issues an SQL query for fields from one or more
records with a specific value of the primary key.
2. The query processor at the client encrypts the primary key,
modifies the SQL query accordingly, and transmits the query
to the server.
3. The server processes the query using the encrypted value of
the primary key and returns the appropriate record or records.
4. The query processor decrypts the data and returns the results.
ITSY3104 Computer Security A - Lecture 7 Database Security
23. 7.9 SQL Injection Attacks (SQLi)
• One of the most prevalent and
dangerous network-based
security threats
• Designed to exploit the nature
of Web application pages
• Sends malicious SQL
commands to the database
server
• Most common attack goal is
bulk extraction of data
• Depending on the environment
SQL injection can also be
exploited to:
• Modify or delete data
• Execute arbitrary operating
system commands
• Launch denial-of-service
(DoS) attacks
ITSY3104 Computer Security A - Lecture 7 Database Security 23
24. Figure 5. 5 Typical S QL I njection Attack
Legend: .
Internet
Router
Firewall
Switch
Wireless
access point
Web servers
Web
application
server
Database servers
Database
Data exchanged
between hacker
and servers
Two-way traffic
between hacker
and Web server
Credit card data is
retrieved from
database
ITSY3104 Computer Security A - Lecture 7 Database Security 24
26. 7.9.2 SQLi Attack Avenues
• Attackers inject SQL commands by providing suitable crafted user input
User inputUser input
• Attackers can forge the values that are placed in HTTP and network headers and exploit this
vulnerability by placing data directly into the headers
Server variablesServer variables
• A malicious user could rely on data already present in the system or database to trigger an SQL
injection attack, so when the attack occurs, the input that modifies the query to cause an attack
does not come from the user, but from within the system itself
Second-order injectionSecond-order injection
• An attacker could alter cookies such that when the application server builds an SQL query
based on the cookie’s content, the structure and function of the query is modified
CookiesCookies
• Applying user input that constructs an attack outside the realm of web requests
Physical user inputPhysical user input
ITSY3104 Computer Security A - Lecture 7 Database Security 26
27. 7.9.3 SQLi Countermeasures
Three types:
• Manual defensive
coding practices
• Parameterized query
insertion
• SQL DOM
Defensive
coding
Defensive
coding
• Signature based
• Anomaly based
• Code analysis
DetectionDetection • Check queries at
runtime to see if they
conform to a model
of expected queries
Run-time
prevention
Run-time
prevention
ITSY3104 Computer Security A - Lecture 7 Database Security 27
Editor's Notes
#4: For example, a typical telephone directory contains one entry for each subscriber, with columns for name, telephone number, and address. Such a table is called a flat file because it is a single two-dimensional data. In a flat file, all of the data are stored in a single table. For the telephone directory, there might be a number of subscribers with the same name, but the telephone numbers should be unique, so that the telephone number serves as a unique identifier for a row. However, two or more people sharing the same phone number might each be listed in the directory, but with the same telephone number, which is no longer unique.
Figure 5.2 here shows how new services and features can be added to the telephone database without reconstructing the main table. In this example, there is a primary table with basic information for each telephone number. The telephone number serves as a primary key.
A query language allows the user to request selected items of data from all records that fit a given set of criteria. For example, a telephone company representative could retrieve a subscriber's billing information as well as the status of special services or the latest payment received, all displayed on one screen.
#5: Commercial and open-source DBMSs typically provide an access control capability
for the database. The DBMS operates on the assumption that the computer system
has authenticated each user. As an additional line of defense, the computer system
may use the overall access control system described in Chapter 4 to determine
whether a user may have access to the database as a whole. For users who are
authenticated and granted access to the database, a database access control system
provides a specific capability that controls access to portions of the database.
Commercial and open-source DBMSs provide discretionary or role-based
access control. We defer a discussion of mandatory access control considerations
to Chapter 13 . Typically, a DBMS can support a range of administrative policies,
including the following:
• Centralized administration: A small number of privileged users may grant and
revoke access rights.
• Ownership-based administration: The owner (creator) of a table may grant
and revoke access rights to the table.
• Decentralized administration: In addition to granting and revoking access rights
to a table, the owner of the table may grant and revoke authorization rights to
other users, allowing them to grant and revoke access rights to the table.
As with any access control system, a database access control system distinguishes
different access rights, including create, insert, delete, update, read, and write. Some
DBMSs provide considerable control over the granularity of access rights. Access
rights can be to the entire database, to individual tables, or to selected rows or columns
within a table. Access rights can be determined based on the contents of a table entry.
For example, in a personnel database, some users may be limited to seeing salary
information only up to a certain maximum value. And a department manager may
only be allowed to view salary information for employees in his or her department.
#6: SQL provides two commands for managing access rights, GRANT and REVOKE.
For different versions of SQL, the syntax is slightly different. In general terms, the
GRANT command has the following syntax: 1
GRANT { privileges | role }
[ON table]
TO { user | role | PUBLIC }
[IDENTIFIED BY password]
[WITH GRANT OPTION]
This command can be used to grant one or more access rights or can be used
to assign a user to a role. For access rights, the command can optionally specify that
it applies only to a specified table. The TO clause specifies the user or role to which
the rights are granted. A PUBLIC value indicates that any user has the specified
access rights. The optional IDENTIFIED BY clause specifies a password that
must be used to revoke the access rights of this GRANT command. The GRANT
OPTION indicates that the grantee can grant this access right to other users, with or
without the grant option.
As a simple example, consider the following statement.
GRANT SELECT ON ANY TABLE TO ricflair
This statement enables user ricflair to query any table in the database.
Different implementations of SQL provide different ranges of access rights.
The following is a typical list:
• Select: Grantee may read entire database; individual tables; or specific
columns in a table.
• Insert: Grantee may insert rows in a table; or insert rows with values for specific
columns in a table.
• Update: Semantics is similar to INSERT.
• Delete: Grantee may delete rows from a table.
• References: Grantee is allowed to define foreign keys in another table that
refer to the specified columns.
The REVOKE command has the following syntax:
REVOKE { privileges | role }
[ON table]
FROM { user | role | PUBLIC }
Thus, the following statement revokes the access rights of the preceding example:
REVOKE SELECT ON ANY TABLE FROM ricflair
#7: SQL provides two commands for managing access rights, GRANT and REVOKE. For different versions of SQL, the syntax is slightly different. The GRANT command can be used to grant one or more access rights or can be used to assign a user to a role. For access rights, the command can optionally specify that it applies only to a specified table. The TO clause specifies the user or role to which the rights are granted. A PUBLIC value indicates that any user has the specified access rights. The optional IDENTIFIED BY clause specifies a password that must be used to revoke the access rights of this GRANT command. The GRANT OPTION indicates that the grantee can grant this access right to other users, with our without the grant option. Consider the simple example shown, which enables user ricflair to query any table in the database. The REVOKE command has the syntax shown. The example revokes the access rights of the preceding example.
Different implementations of SQL provide different ranges of access rights, e.g.:
• SELECT: Grantee may read entire database; individual tables; or specific columns in a table.
• INSERT: Grantee may insert rows in a table; or insert rows with values for specific columns in a table.
• UPDATE: Semantics is similar to INSERT.
• DELETE: Grantee may delete rows from a table.
• REFERENCES: Grantee is allowed to define foreign keys in another table that refer to the specified columns.
#8: A role-based access control (RBAC) scheme is a natural fit for database access
control. Unlike a file system associated with a single or a few applications, a
database system often supports dozens of applications. In such an environment,
an individual user may use a variety of applications to perform a variety of tasks,
each of which requires its own set of privileges. It would be poor administrative
practice to simply grant users all of the access rights they require for all the tasks
they perform. RBAC provides a means of easing the administrative burden and
improving security.
In a discretionary access control environment, we can classify database users
in three broad categories:
• Application owner: An end user who owns database objects (tables, columns,
rows) as part of an application. That is, the database objects are generated by
the application or are prepared for use by the application.
End user other than application owner: An end user who operates on database
objects via a particular application but does not own any of the database objects.
• Administrator: User who has administrative responsibility for part or all of the
database.
We can make some general statements about RBAC concerning these
three types of users. An application has associated with it a number of tasks,
with each task requiring specific access rights to portions of the database.
For each task, one or more roles can be defined that specify the needed access
rights. The application owner may assign roles to end users. Administrators are
responsible for more sensitive or general roles, including those having to do
with managing physical and logical database components, such as data files,
users, and security mechanisms. The system needs to be set up to give certain
administrators certain privileges. Administrators in turn can assign users to
administrative-related roles.
A database RBAC facility needs to provide the following capabilities:
• Create and delete roles.
• Define permissions for a role.
• Assign and cancel assignment of users to roles.
#9: Inference, as it relates to database security, is the process of performing authorized queries and deducing unauthorized information from the legitimate responses received. The inference problem arises when the combination of a number of data items is more sensitive than the individual items, or when a combination of data items can be used to infer data of a higher sensitivity. Figure 5.5here illustrates the process. The attacker may make use of nonsensitive data as well as metadata. Metadata refers to knowledge about correlations or dependencies among data items that can be used to deduce information not otherwise available to a particular user. The information transfer path by which unauthorized data is obtained is referred to as an inference channel. In general terms, two inference techniques can be used to derive additional information: analyzing functional dependencies between attributes within a table or across tables; and merging views with the same constraints.
#11: An example of inference across tables is shown in Figure 5.6. Figure 5.6a shows a table Employee with five columns. Figure 5.6b shows two views. Users of these views are not authorized to access the relationship between Name and Salary. A user who has access to either or both views cannot infer the relationship by functional dependencies. That is, there is not a functional relationship between Name and Salary such that knowing Name and perhaps other information is sufficient to deduce Salary. However, suppose the two views are created with the access constraint that Name and Salary cannot be access together. A user who knows the structure of the Employee table and who knows that the view tables maintain the same row order as the Employee table is then able to merge the two views to construct the table shown in Figure 5.6c. This violates the access control policy that the relationship of attributes Name and Salary must not be disclosed.
#12: There are two approaches to dealing with the threat of disclosure by inference.
• Inference detection during database design: removes an inference channel by altering the database structure or by changing the access control regime to prevent inference. Examples include removing data dependencies by splitting a table into multiple tables or using more fine-grain access control roles in an RBAC scheme.
• Inference detection at query time: eliminate an inference channel violation during a query or series of queries. If inference channel detected, query is denied or altered.
For either of the preceding approaches, some inference detection algorithm is needed. This is a difficult problem and the subject of ongoing research. Consider a database containing personnel information, including names addresses, and salaries of employees. Individually, the name, address, and salary information is available to a subordinate role, such as Clerk, but the association of names and salaries is restricted to a superior role, such as Administrator. One solution to this problem is to construct three tables. The Employees Table and the Salaries Table are accessible to the Clerk role, but the Emp-Salary table is only available to the Administrator role. In this structure, the sensitive relationship between employees and salaries is protected from users assigned the Clerk role. Now suppose we add a new attribute, employee start date, which is not sensitive. This could be added to the Salaries table. However, an employee's start data is an easily observable or discoverable attribute of an employee. Thus a user in the Clerk role should be able to infer (or partially infer) the employee's name. This would compromise the relationship between employee and salary. Hence we should add the Start-Date column to the Employees Table instead.
#13: A statistical database (SDB) is one that provides data of a statistical nature, such as counts and averages. The term statistical database is used in two contexts:
• Pure statistical database: This type of database only stores statistical data. An example is a census database. Typically, access control for a pure SDB is straightforward: certain users are authorized to access the entire database.
• Ordinary database with statistical access: This type of database contains individual entries; this is the type of database discussed so far in this chapter. The database supports a population of nonstatistical users who are allowed access to selected portions of the database using DAC, RBAC, or MAC. In addition, the database supports a set of statistical users who are only permitted statistical queries. For these latter users, aggregate statistics based on the underlying raw data are generated in response to a user query, or may be pre-calculated and stored as part of the database. We are mainly concerned with this type of SDB.
The access control objective for an SDB system is to provide users with the aggregate information without compromising the confidentiality of any individual entity represented in the database. The security problem is one of inference. The database administrator must prevent, or at least detect, the statistical user who attempts to gain individual information through one or a series of statistical queries.
#14: Statistics are derived from a database by means of a characteristic formula, C, which is a logical formula over the values of attributes. A characteristic formula uses the operators OR, AND, and NOT (+ . ~). A characteristic formula specifies a subset of the records in the database. The example specifies all male students majoring in either CS or EE. For numerical attributes, relational operators may be used. The query set of characteristic formula C, denoted as X(C), is the set of records matching that characteristic. A statistical query is a query that produces a value calculated over a query set. Some simple statistics that can be derived from a query set are count, sum, average, median, max, min.
A statistical user of an underlying database of individual records is restricted to obtaining only aggregate, or statistical, data from the database and is prohibited access to individual records. The inference problem in this context is that a user may infer confidential information about individual entities represented in the SDB, Such an inference is called a compromise. In some cases, a sequence of queries may reveal information.
In general terms, the inference problem for an SDB can be stated as follows. A characteristic function C defines a subset of records (rows) within the database. A query using C provides statistics on the selected subset. If the subset is small enough, perhaps even a single record, the questioner may be able to infer characteristics of a single individual or a small group. Even for larger subsets, the nature or structure of the data may be such that unauthorized information may be released.
#15: The example shown here from Table 5.3 is a database containing 13 confidential records of students in a university that has 50 departments.
A characteristic formula C specifies a subset of the records in the database. For example C = (GP > 3.7) specifies all students whose grade point average exceeds 3.7.
The query set of is the set of records matching some characteristic C. For example, for C = Female CS, X(C) consists of records 1 and 4, the records for Allen and Davis.
A statistical query is a query that produces a value calculated over a query set. Examples: count(Female . CS) = 2; sum(Female . CS, SAT) = 1400.
The inference problem is that a user may infer confidential information about individual entities represented in the SDB. For example, the statistic sum(EE Female, GP) = 2.5 compromises the database if the user knows that Baker is the only female EE student. In some cases, a sequence of queries may reveal information. For example, suppose a questioner knows that Baker is a female EE student, but does not know if she is the only one. Consider the following sequence of two queries that reveals the sensitive information:
count(EE Female) = 1
sum(EE Female, GP) = 2.5
#16: A statistical query is a query that produces a value calculated over a query set.
Table 5.4 lists some simple statistics that can be derived from a query set. Examples:
count (Female • CS) 2; sum (Female • CS, SAT) 1400.
#19: SDB implementers have developed two distinct approaches to protection of an SDB from inference attacks (Figure 5.8).
Query restriction: Rejects a query that can lead to a compromise. The answers provided are accurate. Query restriction techniques defend against inference by restricting statistical queries so that they do not reveal user confidential information. Restriction in this context simply means that some queries are denied. The simplest form of query restriction is query size restriction. For a database of size N (number of rows, or records), a query q(C) is permitted only if the number of records that match C satisfies: k <= |X(C)| <= N-k, where k is a fixed integer greater than 1. Thus, the user may not access any query set of less than k records. Note that the upper bound is also needed. The upper bound of N – k guarantees that the user does not have access to statistics on query sets of less than k records. In practice, queries of the form q(All) are allowed, enabling users to easily access statistics calculated on the entire database. Query size restriction counters attacks based on very small query sets.
Perturbation: Provides answers to all queries, but the answers are approximate, due to the addition of noise to the statistics generated from the original data. This can be done in one of two ways: the data in the SDB can be modified (perturbed) so as to produce statistics that cannot be used to infer values for individual records( data perturbation). Alternatively, when a statistical query is made, the system can generate statistics that are modified from those that the original database would provide, again thwarting attempts to gain knowledge of individual records (output perturbation). Regardless of the specific perturbation technique, the designer must attempt to produce statistics that accurately reflect the underlying database.
#20: The database is typically the most valuable information resource for any organization and is therefore protected by multiple layers of security, including firewalls, authentication mechanisms, general access control systems, and database access control systems, and for particularly sensitive data database encryption. Encryption can be applied to the entire database, at the record level (encrypt selected records), at the attribute level (encrypt selected columns), or at the level of the individual field.
One approach is to encrypt the entire database and not provide the encryption/ decryption keys to the service provider. This solution, by itself is inflexible. The user has little ability to access individual data items based on searches or indexing on key parameters, but rather would have to download entire tables from the database, decrypt the tables, and work with the results. To provide more flexibility, it must be possible to work with the database in its encrypted form. The simplest possible arrangement is that each individual item in the database is encrypted separately, all using the same encryption key. The encrypted database is stored at the server, but the server does not have the key, so that the data is secure at the server. The client system does have a copy of the encryption key, so can encrypt fields to check in the query and decrypt returned results. This method is straightforward but lacks flexibility. The set of encrypted values do not preserve the ordering of values in the original attribute. To provide more flexibility, each record (row) of a table in the database is encrypted as a block. To assist in data retrieval, attribute indexes are associated with each table. For some or all of the attributes an index value is created. This arrangement provides for more efficient data retrieval, but does leak rough ordering info to any attacker.
#24: The SQL injection (SQLi) attack is one of the most prevalent and dangerous
network-based security threats. Consider the following reports:
1. The July 2013 Imperva Web Application Attack Report [IMPE13] surveyed a
cross-section of Web application servers in industry and monitored eight different
types of common attacks. The report found that SQLi attacks ranked
first or second in total number of attack incidents, the number of attack
requests per attack incident, and average number of days per month that an
application experienced at least one attack incident. Imperva observed a single
Web site that received 94,057 SQL injection attack requests in one day.
2. The Open Web Application Security Project’s 2013 report [OWAS13] on the
ten most critical Web application security risks listed injection attacks, especially
SQLi attacks, as the top risk. This ranking is unchanged from its 2010 report.
3. The Veracode 2013 State of Software Security Report [VERA13] found that
percentage of applications affected by SQLi attacks is around 32% and that
SQLi attacks account for 26% of all reported breaches. Veracode also considers
this among the most dangerous threats, reporting that three of the biggest
SQL injection attacks in 2012 resulted in millions of email addresses, user
names, and passwords being exposed and damaged the respective brands.
4. The Trustwave 2013 Global Security Report [TRUS13] lists SQLi attacks as
one of the top two intrusion techniques. The report notes that poor coding
practices have allowed the SQL injection attack vector to remain on the threat
landscape for more than 15 years, but that proper programming and security
measures can prevent these attacks.
In general terms, an SQLi attack is designed to exploit the nature of Web application
pages. In contrast to the static Web pages of years gone by, most current Web sites
have dynamic components and content. Many such pages ask for information, such
as location, personal identity information, and credit card information. This dynamic
content is usually transferred to and from back-end databases that contain volumes of
information—anything from cardholder data to which type of running shoes is most
purchased. An application server Web page will make SQL queries to databases to
send and receive information critical to making a positive user experience.
In such an environment, an SQLi attack is designed to send malicious SQL
commands to the database server. The most common attack goal is bulk extraction
of data. Attackers can dump database tables with hundreds of thousands of customer
records. Depending on the environment, SQL injection can also be exploited
to modify or delete data, execute arbitrary operating system commands, or launch
denial-of-service (DoS) attacks.
#25: SQLi is an attack that exploits a security vulnerability occurring in the database layer
of an application (such as queries). Using SQL injection, the attacker can extract or
manipulate the web application’s data. The attack is viable when user input is either
incorrectly filtered for string literal escape characters embedded in SQL statements
or user input is not strongly typed, and thereby unexpectedly executed.
Figure 5.5, from [ACUN13], is a typical example of an SQLi attack. The steps
involved are as follows:
1. Hacker finds a vulnerability in a custom Web application and injects an SQL
command to a database by sending the command to the Web server. The command
is injected into traffic that will be accepted by the firewall.
2. The Web server receives the malicious code and sends it to the Web application
server.
3. The Web application server receives the malicious code from the Web server
and sends it to the database server.
4. The database server executes the malicious code on the database. The database
returns data from credit cards table.
5. The Web application server dynamically generates a page with data including
credit card details from the database.
6. The Web server sends the credit card details to the hacker.
#26: The SQLi attack typically works by prematurely terminating a text string and
appending a new command. Because the inserted command may have additional
strings appended to it before it is executed, the attacker terminates the injected
string with a comment mark “--”. Subsequent text is ignored at execution time.
#27: We can characterize SQLi attacks in terms of the avenue of attack and the type of
attack [CHAN11, HALF06]. The main avenues of attack are as follows:
• User input: In this case, attackers inject SQL commands by providing suitably
crafted user input. A Web application can read user input in several
ways based on the environment in which the application is deployed. In most
SQLi attacks that target Web applications, user input typically comes from
form submissions that are sent to the Web application via HTTP GET or
POST requests. Web applications are generally able to access the user input
contained in these requests as they would access any other variable in the
environment.
• Server variables: Server variables are a collection of variables that contain
HTTP headers, network protocol headers, and environmental variables. Web
applications use these server variables in a variety of ways, such as logging
usage statistics and identifying browsing trends. If these variables are logged
to a database without sanitization, this could create an SQL injection vulnerability.
Because attackers can forge the values that are placed in HTTP and
network headers, they can exploit this vulnerability by placing data directly
into the headers. When the query to log the server variable is issued to the
database, the attack in the forged header is then triggered.
• Second-order injection: Second-order injection occurs when incomplete
prevention mechanisms against SQL injection attacks are in place. In second-order
injection, a malicious user could rely on data already present in the
system or database to trigger an SQL injection attack, so when the attack
occurs, the input that modifies the query to cause an attack does not come
from the user, but from within the system itself.
• Cookies: When a client returns to a Web application, cookies can be used
to restore the client’s state information. Because the client has control over
cookies, an attacker could alter cookies such that when the application server
builds an SQL query based on the cookie’s content, the structure and function
of the query is modified.
• Physical user input: SQL injection is possible by supplying user input that
constructs an attack outside the realm of web requests. This user-input could
take the form of conventional barcodes, RFID tags, or even paper forms which
are scanned using optical character recognition and passed to a database management
system.
#28: Because SQLi attacks are so prevalent, damaging, and varied both by attack avenue and
type, a single countermeasure is insufficient. Rather an integrated set of techniques
is necessary. In this section, we provide a brief overview of the types of countermeasures
that are in use or being researched, using the classification in [SHAR13].
These countermeasures can be classified into three types: defensive coding, detection,
and run-time prevention.
Many SQLi attacks succeed because developers have used insecure coding
practices. Thus, defensive coding is an effective way to dramatically reduce the
threat from SQLi. Examples of defensive coding include the following:
• Manual defensive coding practices: A common vulnerability exploited by
SQLi attacks is insufficient input validation. The straightforward solution for
eliminating these vulnerabilities is to apply suitable defensive coding practices.
An example is input type checking, to check that inputs that are supposed to
be numeric contain no characters other than digits. This type of technique
can avoid attacks based on forcing errors in the database management system.
Another type of coding practice is one that performs pattern matching to try
to distinguish normal input from abnormal input.
• Parameterized query insertion: This approach attempts to prevent SQLi by
allowing the application developer to more accurately specify the structure
of an SQL query, and pass the value parameters to it separately such that any
unsanitary user input is not allowed to modify the query structure.
• SQL DOM: SQL DOM is a set of classes that enables automated data type
validation and escaping [MCCL05]. This approach uses encapsulation of
database queries to provide a safe and reliable way to access databases. This
changes the query-building process from an unregulated one that uses string
concatenation to a systematic one that uses a type-checked API. Within the
API, developers are able to systematically apply coding best practices such as
input filtering and rigorous type checking of user input.
A variety of detection methods have been developed, including the following:
• Signature based: This technique attempts to match specific attack patterns.
Such an approach must be constantly updated and may not work against self-modifying
attacks.
• Anomaly based: This approach attempts to define normal behavior and then
detect behavior patterns outside the normal range. A number of approaches
have been used. In general terms, there is a training phase, in which the system
learns the range of normal behavior, followed by the actual detection phase.
• Code analysis: Code analysis techniques involve the use of a test suite to
detect SQLi vulnerabilities. The test suite is designed to generate a wide range
of SQLi attacks and assess the response of the system.
Finally, a number of run-time prevention techniques have been developed as
SQLi countermeasures. These techniques check queries at runtime to see if they
conform to a model of expected queries. Various automated tools are available for
this purpose [CHAN12, SHAR13].