Subject · Information security

Database SecurityTopics

İF-2209y-EN5 creditsSpring semesterMandatory3

Topic plan

The subject's topics and the learning outcomes attached to each one.

17 topics
  1. 1. Introduction to databases (lecture). database concept and purpose; types of data models (hierarchical, network, relational, document-oriented); DBMS architecture.

    Lecture

    This topic introduces the fundamental concepts and purposes of databases and database management systems (dbms). it examines the role of databases in storing, organizing, managing, and retrieving structured information. different types of data models, including hierarchical, network, relational, and document-oriented models, are discussed, along with their main characteristics and applications. the topic also provides an overview of DBMS architecture and its core components, explaining how database systems support efficient data management and access.

  2. 2. Relational data model, introduction to SQL (lecture). tables, rows, columns, primary and foreign keys, relationships. creating a database and applying constraints in a DBMS (lab).

    Lecture

    This topic introduces the relational data model and the fundamental concepts of sql. it covers the structure of relational databases, including tables, rows, columns, primary keys, foreign keys, and relationships between tables. students will learn how to create databases and tables, define data types, and apply integrity constraints such as PRIMARY key, FOREIGN key, NOT null, unique, and CHECK constraints. practical laboratory activities focus on creating and configuring a relational database using a DBMS and applying SQL commands to ensure data integrity and consistency.

  3. 3. Sql - structured query language (lecture). ddl, dml, dcl, TCL commands; where, join,order by,group by,having, aggregate functions. configuring users, roles, and access rights in a dbms, grant/revoke (lab).

    Lecture

    This topic introduces SQL as the standard language for managing and interacting with relational databases. it covers the main categories of SQL commands, including ddl, dml, dcl, and tcl, as well as data retrieval and manipulation techniques using where, join, ORDER by, GROUP by, having, and aggregate functions. the practical laboratory component focuses on database access control, including the creation and configuration of users and roles and the management of permissions using GRANT and REVOKE commands to ensure secure and controlled access to database resources.

  4. 4. Database backup and recovery (lecture). backup types: full and incremental backup. recovering a database from lost data. practice in creating and restoring backups in postgresql using pg_dump and pg_restore (lab).

    Lecture

    This topic introduces the principles and techniques of database backup and recovery to ensure data availability and minimize the impact of data loss or system failures. it covers different backup strategies, including full and incremental backups, as well as the main stages of database recovery. students will examine methods for restoring databases after accidental data deletion, corruption, or system failure. the practical laboratory component focuses on creating and restoring postgresql database backups using the pg_dump and pg_restore utilities.

  5. 5. Database backup and recovery (lecture). backup types: full and incremental backup. recovering a database from lost data. practice in creating and restoring backups in postgresql using pg_dump and pg_restore (lab).

    Lecture

    This topic introduces the principles and techniques of database backup and recovery to ensure data availability and minimize the impact of data loss or system failures. it covers different backup strategies, including full and incremental backups, as well as the main stages of database recovery. students will examine methods for restoring databases after accidental data deletion, corruption, or system failure. the practical laboratory component focuses on creating and restoring postgresql database backups using the pg_dump and pg_restore utilities.

  6. 6. Sql - view, function, procedure, trigger (lecture). access control and security analysis using views (lab).

    Lecture

    This topic covers advanced SQL database objects, including views, functions, stored procedures, and triggers. it explains their purpose, structure, and practical applications in automating database operations, simplifying data access, and enforcing business rules. particular attention is given to the use of views as a security mechanism for controlling access to sensitive data and limiting users to authorized information. the laboratory component focuses on creating and configuring views and applying them to database access control and security analysis.

  7. 7. Database design (lecture). requirements gathering, ER diagrams, normalization (1nf-3nf, boyce-codd). logging and auditing user activities (lab).

    Lecture

    This topic introduces the fundamental principles of database design, including requirements gathering, conceptual data modeling, and the development of entity-relationship (er) diagrams. it covers database normalization techniques from first normal form (1nf) through third normal form (3nf) and boyce-codd normal form (bcnf) to reduce data redundancy and maintain data integrity. the laboratory component focuses on configuring database logging and auditing mechanisms to monitor and record user activities, supporting security analysis, accountability, and compliance.

  8. 8. Database design (lecture). requirements gathering, ER diagrams, normalization (1nf-3nf, boyce-codd). logging and auditing user activities (lab).

    Lecture

    This topic covers the fundamental principles of secure database design, including requirements gathering, data modeling, and the development of entity-relationship (er) diagrams. it introduces database normalization techniques, including first, second, and third normal forms (1nf–3nf) and boyce-codd normal form (bcnf), with emphasis on reducing data redundancy and maintaining data integrity. the laboratory component focuses on configuring database logging and auditing mechanisms to monitor and analyze user activities, identify security-relevant events, and support accountability within database systems.

  9. 9. Indexes and query optimization (lecture). types of indexes, execution plans. working with SQL dcl: grant/revoke practice, creating an access policy (lab).

    Lecture

    This topic introduces database indexes and query optimization techniques used to improve the performance and efficiency of database operations. it covers different types of indexes, their structure and applications, as well as the use of execution plans to analyze and optimize SQL queries. the laboratory component focuses on applying SQL data control language (dcl) commands, particularly GRANT and revoke, to manage user permissions and develop appropriate database access policies based on security requirements.

  10. 10. Database security issues. fundamentals of access management (lecture).

    Lecture

    This topic introduces common database security issues and the fundamental principles of access management. it covers threats such as unauthorized access, data leakage, privilege misuse, SQL injection, data modification, and other security vulnerabilities affecting database systems. the topic also examines authentication, authorization, access control, user privileges, roles, and the principle of least privilege. emphasis is placed on implementing effective access management mechanisms to protect the confidentiality, integrity, and availability of database resources.

  11. 11. Access management (lecture): use of views, security logs, and audit trails. data encryption: symmetric vs asymmetric encryption (lab).

    Lecture

    This topic examines access management mechanisms used to protect database resources and monitor user activities. it covers the use of database views for restricting access to sensitive information, as well as security logs and audit trails for recording and analyzing user actions and security-related events. the laboratory component introduces data encryption techniques and compares symmetric and asymmetric encryption, focusing on their principles, key management, practical applications, and role in protecting sensitive database information.

  12. 12. Introduction to nosql (lecture): document-oriented databases (e.g., mongodb). protection against SQL injection: attack demonstration, parameterized queries (lab).

    Lecture

    This topic introduces nosql databases, with a focus on document-oriented database systems such as mongodb. it examines the main characteristics, structure, and use cases of document-oriented databases and compares them with traditional relational database systems. the laboratory component focuses on SQL injection vulnerabilities, demonstrating how malicious input can affect database queries and how parameterized queries and secure input-handling techniques can be used to prevent such attacks and improve application security.

  13. 13. Isecurity in postgresql (lecture). network-level protection: firewall, proxy, VPN (simulation) (lab).

    Lecture

    This topic introduces the security mechanisms and best practices used to protect postgresql database systems. it covers postgresql authentication, authorization, access control, secure configuration, and protection of database resources against unauthorized access. the laboratory component focuses on network-level database protection through the simulation and configuration of security mechanisms such as firewalls, proxy servers, and vpns, with emphasis on controlling and securing network connections to database systems.

  14. 14. Transactions and concurrency control (lecture): ACID properties, isolation levels, locks.

    Lecture

    This topic introduces database transactions and the principles of concurrency control used to maintain data consistency and integrity in multi-user database environments. it covers the ACID properties of transactions—atomicity, consistency, isolation, and durability—and examines different transaction isolation levels and their impact on concurrent operations. the topic also discusses locking mechanisms and their role in preventing data conflicts, concurrency anomalies, and inconsistent database states.

  15. 15. Sql injection (lecture).

    Lecture

    This topic introduces SQL injection as a common web application and database security vulnerability. it examines the causes and mechanisms of SQL injection attacks, including how improperly validated user input can alter database queries and lead to unauthorized access or data manipulation. the topic also covers common SQL injection techniques, potential security impacts, and defensive measures such as input validation, parameterized queries, prepared statements, least-privilege access, and secure database configuration.

  16. 16. Database security on the internet (lecture): encryption, proxy servers, firewalls, digital signatures, certificate authorities. vulnerability analysis and audit: sqlmap, dbshield, greenbone/openvas, nmap (lab).

    Lecture

    This topic examines the security of databases operating in internet-connected environments and introduces key mechanisms for protecting database communications and services. it covers encryption, proxy servers, firewalls, digital signatures, and certificate authorities, with emphasis on secure communication, authentication, and protection against unauthorized access. the laboratory component focuses on database vulnerability assessment and security auditing using tools such as sqlmap, dbshield, greenbone/openvas, and nmap to identify potential vulnerabilities, misconfigurations, exposed services, and security risks.

  17. 17. Final course assessment.

    Lecture

    This assessment evaluates students’ overall knowledge and practical skills acquired throughout the course. it covers key database security concepts, including access control, authentication and authorization, encryption, backup and recovery, SQL injection protection, auditing and logging, secure database configuration, and vulnerability assessment. the assessment may include theoretical questions and practical tasks designed to evaluate students’ ability to apply database security principles and implement appropriate security controls in real-world scenarios.