IPC, RPC, D-Bus, COM και Local Trust Boundaries — DedSec Project
IPC, RPC, D-Bus, COM και Local Trust Boundaries Ελληνική έκδοση — Μάθημα 118. Οι διεθνείς τεχνικοί όροι, protocol names, standards και commands παραμένουν στα Αγγλικά όπου αυτό αυξάνει την…
Ελληνική έκδοση — Μάθημα 118. Οι διεθνείς τεχνικοί όροι, protocol names, standards και commands παραμένουν στα Αγγλικά όπου αυτό αυξάνει την ακρίβεια.
Το IPC είναι trust boundary ακόμη και στον ίδιο host. Εστίασε σε caller identity, authorization, marshalling, brokers και confused-deputy risks.
Μαθησιακοί στόχοι
Στο τέλος πρέπει να μπορείς να:
- εξηγήσεις το IPC threat modeling και να εντοπίσεις trust boundary, state transition και evidence που σχετίζονται με αυτό,
- εξηγήσεις το Unix sockets and peer credentials και να εντοπίσεις trust boundary, state transition και evidence που σχετίζονται με αυτό,
- εξηγήσεις το D-Bus names, policies and activation και να εντοπίσεις trust boundary, state transition και evidence που σχετίζονται με αυτό,
- εξηγήσεις το Windows COM/RPC identity and impersonation concepts και να εντοπίσεις trust boundary, state transition και evidence που σχετίζονται με αυτό,
- εξηγήσεις το named pipes and local endpoints και να εντοπίσεις trust boundary, state transition και evidence που σχετίζονται με αυτό,
- εξηγήσεις το message marshalling and schema validation και να εντοπίσεις trust boundary, state transition και evidence που σχετίζονται με αυτό,
Βαθιές τεχνικές έννοιες
1. IPC threat modeling
IPC είναι privilege boundary όταν μία process ζητά από άλλη να εκτελέσει ενέργεια. Κατέγραψε caller identity, server privilege, operation/resource, schema και ακριβές σημείο authorization.
2. Unix sockets και peer credentials
Unix-domain sockets μπορούν να παρέχουν kernel-authenticated UID/GID του peer. Προτίμησε αυτό το transport context από username που δηλώνει ο ίδιος ο client μέσα στο message.
3. D-Bus names, policies και activation
D-Bus συνδυάζει bus names, method calls, policy και service activation. Έλεγξε ποιος μπορεί να κατέχει/call ένα sensitive name και αν η authorization παραμένει σωστή όταν αλλάζουν packages ή policy.
4. Windows COM/RPC identity και impersonation
COM/RPC μπορεί να μεταφέρει caller security context σε privileged service. Αξιολόγησε authentication level, endpoint permissions, impersonation και αν ο server authorizes τον αρχικό caller πριν από privileged action.
5. named pipes και local endpoints
Local endpoint δεν είναι αυτόματα trusted. Περιόρισε connect/create permissions, authenticate peer, βάλε bounds στα messages και μην αφήνεις untrusted client να επιλέγει privileged file/process operation.
6. marshalling και schema validation
IPC payload είναι untrusted input. Χρησιμοποίησε explicit schema, length/depth limits, versioning και canonical encoding και απέρριψε contradictory fields στο component που παίρνει την τελική απόφαση.
7. capability-style handles
Ένα στενό unforgeable handle μπορεί να μεταφέρει συγκεκριμένη authority πιο ασφαλώς από global name και broad service account. Το handle πρέπει να παραμένει δεμένο με σωστό user, tenant και resource type.
8. brokered architectures και least privilege
Broker επιτρέπει σε low-privilege client μικρό σύνολο privileged operations. Ο broker πρέπει να θεωρεί κάθε request hostile, να ελέγχει peer context και parameters και να εκθέτει μόνο την ελάχιστη απαιτούμενη API surface.
Καθοδηγούμενο εργαστήριο
Εργαστήριο 1 — Κατάγραψε τοπικά άκρα επικοινωνίας IPC σε αναλώσιμη εικονική μηχανή Linux ή περιβάλλον Termux με εργαλεία μόνο ανάγνωσης.
Εργαστήριο 2 — Σχεδίασε εκπαιδευτικό API διαμεσολαβητή με αυξημένα δικαιώματα και όρισε πίνακα εξουσιοδότησης ανά λειτουργία.
Εργαστήριο 3 — Ιχνηλάτησε τοπική ανταλλαγή πελάτη και διακομιστή και εντόπισε πού ορίζεται, μετασχηματίζεται και ελέγχεται η ταυτότητα του καλούντος.
Πλήρες αγγλικό μάθημα
Επόμενα μαθήματα
Σχετικά modules: 021, 041, 062, 073, 074, 119. Από το κύριο menu επίλεξε Αναζήτηση μαθημάτων για να βρεις σχετικά θέματα σε όλο το project.