DedSec Project

Ασφάλεια Databases, Data Layer και Query Engines — DedSec Project

Ασφάλεια Databases, Data Layer και Query Engines Ελληνική έκδοση — Μάθημα 090. Διατηρούνται οι διεθνείς τεχνικοί όροι όπου είναι ακριβέστεροι και ευκολότεροι στην αναζήτηση. Στόχος του…

Ελληνική έκδοση — Μάθημα 090. Διατηρούνται οι διεθνείς τεχνικοί όροι όπου είναι ακριβέστεροι και ευκολότεροι στην αναζήτηση.

Στόχος του μαθήματος

Να κατανοήσεις σε βάθος το Ασφάλεια Databases, Data Layer και Query Engines, να αναγνωρίζεις trust boundaries και failure states και να μπορείς να αποδείξεις ένα συμπέρασμα με ασφαλές, επαναλήψιμο evidence.

Βαθιές τεχνικές έννοιες

1. Query construction

Parameterized queries ή typed query APIs διαχωρίζουν data από query syntax. Dynamic table/field names χρειάζονται explicit allowlists και όχι απλή string escaping.

2. Database identity

Εφαρμογές και admins πρέπει να χρησιμοποιούν ξεχωριστές database identities με least privilege. Connection pool/service account authority καθορίζει blast radius ενός application bug.

3. Row and tenant isolation

Multi-tenant isolation μπορεί να εφαρμόζεται σε application, database row-level policy ή ξεχωριστά stores. Η τελική decision πρέπει να χρησιμοποιεί trusted tenant context και negative tests μεταξύ synthetic tenants.

4. Stored logic and triggers

Triggers, procedures και functions μπορούν να εκτελούν privileged logic εκτός application code. Review ownership/definer rights, side effects, migrations και auditability.

5. NoSQL and search engines

Document/search/query DSLs έχουν διαφορετικές injection και authorization semantics από SQL. Χρησιμοποίησε structured APIs, schema/field controls και resource limits.

6. Replication and backups

Replicas, exports και backups περιέχουν το ίδιο ή περισσότερο sensitive data από primary. Encryption, access, retention και restore tests πρέπει να καλύπτουν όλα τα copies.

7. Encryption boundaries

At-rest encryption προστατεύει storage media αλλά database/service identity μπορεί ακόμη να διαβάζει plaintext. Field-level ή application-layer encryption αλλάζει key/metadata/query tradeoffs και χρειάζεται συγκεκριμένο threat model.

8. Audit and anomaly detection

Database audit πρέπει να συνδέει identity, client/service, query/action, object, result και time χωρίς να γράφει passwords/secrets. Baselines βοηθούν να εντοπιστούν unusual bulk access ή admin changes.

Καθοδηγούμενο εργαστήριο

  1. Build a localhost SQLite or PostgreSQL toy application with separate migration and runtime roles; document which statements each role should be able to execute — εκτέλεσέ το μόνο στο isolated/owned lab και κατέγραψε before/after αποτέλεσμα.
  2. Create a tenant-isolation test matrix that covers API calls, background jobs, exports, caching, and administrative tools — εκτέλεσέ το μόνο στο isolated/owned lab και κατέγραψε before/after αποτέλεσμα.
  3. Take a harmless sample backup, restore it into an isolated lab, and verify the restore procedure includes permissions and secrets—not just data files — εκτέλεσέ το μόνο στο isolated/owned lab και κατέγραψε before/after αποτέλεσμα.

Πλήρες αγγλικό μάθημα

English Module 090