Εξέλιξη Κομματιού

Ημέρα 1

Ασφάλεια IT και συμπληρωματική κωδικοποίηση

  • Φύση της ασφάλειας
  • Έννοιες σχετικές με την ασφάλεια IT
  • Ορισμός κινδύνου
  • Διάφορες πτυχές της ασφάλειας IT
  • Απαιτήσεις διαφόρων εφαρμογών και γιατρικών πεδίων
  • Ασφάλεια IT vs. συμπληρωματική κωδικοποίηση
  • Από τα ελλείψεις προς τους botnets και την κυβερνοκriminaliteit
    • Φύση των ελλείψεων ασφάλειας
    • Αιτίες δυσκολίας
    • Από μια λογισμική που υφίσταται επίθεση σε αποσκοπιμένες επιθέσεις
  • Ταξινόμηση των κλάδων ασφάλειας
    • Taxonomy του Landwehr
    • The Seven Pernicious Kingdoms
    • OWASP Top Ten 2013
    • Σύγκριση OWASP Top Ten 2003 - 2013

Εισαγωγή στο Microsoft® Security Development Lifecycle (SDL)

  • Ημερολόγιο
  • Εφαρμογές υπό επίθεση...
    • Περίβλεψη κυβερνοκriminaliteit
    • Οι επιθέσεις εστιάζουν στις εφαρμογές
    • Τα περισσότερα κλίμακες υπάρχουν σε μικρότερες εφαρμογές ISV
  • Πηγές του Microsoft SDL...
    • Χρονολογία ασφάλειας στο Microsoft...
    • Ποιες εφαρμογές υποχρεώνονται να ακολουθήσουν το SDL;
  • Microsoft Security Development Lifecycle (SDL)
    • Microsoft Security Development Lifecycle (SDL)
    • Προ-Security Requirements: Κατάρτιση σε ασφάλεια
    • Φάση Α: Απαιτήσεις
    • Φάση Β: Σχεδίαση
    • Φάση Γ: Υλοποίηση
    • Φάση Δ: Εξέταση
    • Φάση Ε: Έκδοση – Σχέδιο αντίδρασης
    • Φάση Ε: Έκδοση – Τελική εξέταση ασφάλειας
    • Φάση Ε: Έκδοση – Αρχειοθέτηση
    • Μετά-Security Requirement: Αντίδραση
    • SDL Process Guidance for LOB Apps
    • SDL Guidance for Agile Methodologies
    • Η ασφαλής ανάπτυξη λογισμικού χρειάζεται βελτίωση διαδικασίας

Συμπληρωματικά πριντίπια σχεδίασης

  • Επιφάνεια αποκάλυψης
    • Μείωση της επιφάνειας αποκάλυψης
    • Επιφάνεια αποκάλυψης – παράδειγμα
    • Ανάλυση επιφάνειας αποκάλυψης
    • Μείωση της επιφάνειας αποκάλυψης – παραδείγματα
  • Προσωπική Δεδομένα
    • Προσωπικά δεδομένα
    • Κατανόηση των συμπεριφορών και των ανησυχιών των εφαρμογών
  • Ασφάλεια σε βάθος
    • SDL Core Principle: Security In Depth
    • Ασφάλεια σε βάθος – παράδειγμα
  • Πρίντιπιο ελάχιστης δικαιώματος χρήσης
    • Ελάχιστη δικαιώματος χρήσης – παράδειγμα
  • Ασφαλείς καθορισμένες συστάσεις
    • Ασφαλείς καθορισμένες συστάσεις – παραδείγματα

Συμπληρωματικά πριντίπια υλοποίησης

  • Ημερολόγιο
  • Microsoft Security Development Lifecycle (SDL)
  • Βασικές πληροφορίες buffer overflow
    • Intel 80x86 Processors – κύρια μνήμη
    • Το layout του χώρου μνήμης
    • Η μηχανή κλήσης συνάρτησης σε C/C++ σε x86
    • Τοπικές μεταβλητές και το frame stack
    • Stack overflow
      • Buffer overflow στον stack
      • Ασκήσεις – εισαγωγή
      • Ασκηση BOFIntro
      • Ασκηση BOFIntro – καθορισμός του layout stack
      • Ασκηση BOFIntro – απλή εκμετάλλευση
  • Επιβεβαίωση εισόδου
    • Έννοιες επιβεβαίωσης εισόδου
    • Προβλήματα ακέραιων αριθμών
      • Απεικόνιση αρνητικών ακέραιων αριθμών
      • Πλήρωση ακέραιων αριθμών
      • Πλήρωση αριθμητικής – προσδοκία για το αποτέλεσμα!
      • Ασκηση IntOverflow
      • Τι είναι το Math.Abs(int.MinValue)?
    • Πρόληψη προβλημάτων ακέραιων αριθμών
      • Πρόληψη προβλημάτων ακέραιων αριθμών
      • Εξασφάλιση πλήρωσης αριθμητικής – πρόσθεση
      • Εξασφάλιση πλήρωσης αριθμητικής – πολλαπλασιασμός
      • Ανίχνευση πλήρωσης με το keyword checked σε C#
      • Ασκηση – Χρήση του keyword checked σε C#
      • Εξαίρεσεις που ενισχύονται από πλήρωση σε C#
    • Περίπτωση μελέτης –Πλήρωση ακέραιου σε .NET
      • Πραγματικό πρόβλημα πλήρωσης ακέραιου υποχρεωτικό χρησιμό
      • Εκμετάλλευση του προβλήματος πλήρωσης ακέραιου
    • Πρόβλημα περιήγησης μεταξύ παθών (path traversal)
      • Πρόληψη του προβλήματος path traversal

Ημέρα 2

Συμπληρωματικά πριντίπια υλοποίησης

  • Injection
    • Τυπικές μέθοδοι επίθεσης SQL injection
    • Αόρατη και χρονοβάση περίπτωση SQL injection
    • Μέθοδοι προστασίας από SQL injection
    • Command injection
  • Ανεπαρκής πιστοποίηση - διαχείριση κωδικών
    • Ασκηση – Αδυναμία hashed κωδικών υποστήριξης
    • Διαχείριση και αποθήκευση κωδικών πρόσβασης
    • Ειδικά hash algorithms για την αποθήκευση κωδικών υποστήριξης
  • Cross-Site Scripting (XSS)
    • Cross-Site Scripting (XSS)
    • CSS injection
    • Εκμετάλλευση: injection μέσω άλλων HTML tags
    • XSS πρόληψη
  • Απουσία ελέγχου και συντονισμού σε μέγιστο επίπεδο λειτουργίας
    • Φίλτρο ανάβοητων προσφόρων αρχείων
  • Πρακτική κρυπτογράφηση
    • Αξιοπιστία με συμμετρική κρυπτογράφηση
    • Συμμετρικά algorithms κρυπτογράφησης
    • Block ciphers – modes of operation
    • Hash ή message digest
    • Αλγόριθμοι hash
    • Message Authentication Code (MAC)
    • Αξιοπιστία και αυθεντικότητα με συμμετρική κλειδιά
    • Αξιοπιστία με public-key encryption
    • Κανόνας του προσχώρημα – κατοχή ιδιωτικού κλειδιού
    • Τυπικά λάθη στην διαχείριση κωδικών υποστήριξης
    • Ασκηση – Hard coded passwords
    • Συμπέρασμα

Ασφάλεια εξέτασης πριντίπιοι

  • Συναρτητική δοκιμή vs. ασφάλεια δοκιμή
  • Επιθετικές κωδικοποίησης
  • Προτεραιότητα
  • Ασφάλεια δοκιμή στο SDLC
  • Βήματα του προγράμματος (risk analysis)
  • Περίβλεψη και συσσωρεύση πληροφοριών
    • Συμφέροντα
    • Πόροι
    • Η επιφάνεια αποκάλυψης
    • Ασφάλεια στόχοι για δοκιμή
  • Μοντέλο απειλών
    • Μοντέλο απειλών
    • Profiles επιθέτη
    • Μοντέλο απειλών με βάση τα δέντρα απειλών
    • Μοντέλο απειλών με βάση misuse/abuse cases
    • Misuse/abuse cases – παράδειγμα διαχείρισης ιδρυμάτων
    • STRIDE per element approach to threat modeling – MS SDL
    • Καθορισμός στόχων ασφάλειας
    • Diagramming – παραδείγματα DFD elements
    • Data flow diagram – παράδειγμα
    • Αποκολάψιση απειλών – STRIDE και DFD elements του MS SDL
    • Ανάλυση κινδύνων – καταταξία απειλών
    • Το μοντέλο DREAD για την ταξινόμηση απειλών/κινδύνων
  • Τεχνικές και εργαλεία ασφάλειας δοκιμή
    • Γενικές προσεγγίσεις δοκιμής
    • Τεχνικές για την κάθε φάση του SDLC
  • Εξέταση κώδικα
    • Εξέταση κώδικα για την ασφάλεια λογισμικού
    • Taint analysis
    • Ερμηνείαι
  • Στατική ανάλυση κώδικα
    • Στατική ανάλυση κώδικα
    • Ασκηση – Χρήση σε εργαλεία στατικής ανάλυσης κώδικα
  • Έλεγχος της υλοποίησης
    • Αντικειμενικός ελεγχός κατά τη διαδικασία λειτουργίας
    • Αντικειμενική vs. αυτοματική δοκιμή ασφάλειας
    • Επίθεση περιβόησης (penetration testing)
    • Δοκιμή ενδυνάμωσης
  • Αυτόματη δοκιμή ασφάλειας - fuzzing
    • Αυτόματη δοκιμή ασφάλειας - fuzzing
    • Προκλήσεις του fuzzing
  • Scanner απειλών web πλατφόρμων
    • Ασκηση – Χρήση scanner απειλών
  • Έλεγχος και ενδυνάμωση του περιβάλλοντος
    • Common Vulnerability Scoring System – CVSS
    • Scanner απειλών
    • Δημόσιες βάσεις δεδομένων
  • Περίπτωση μελέτης – Forms Authentication Bypass
    • NULL byte termination vulnerability
    • Το πρόβλημα Forms Authentication Bypass στον κώδικα
    • Εκμετάλλευση του Forms Authentication Bypass

Πηγές γνώσεων

  • Πηγές ασφαλούς κωδικοποίησης – starter kit
  • Βάσεις δεδομένων απειλών
  • .NET secure coding guidelines στο MSDN
  • .NET secure coding cheat sheets
  • Συστειμένα βιβλία – .NET και ASP.NET
 14 Ώρες

Αριθμός συμμετέχοντων


Τιμή ανά συμμετέχοντα

Σχόλια (5)

Εφεξής Μαθήματα

Σχετικές Κατηγορίες