Επικοινωνήστε μαζί μας

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

Ημέρα 1

Ασφάλεια πληροφοριακών συστημάτων και ασφαλής προγραμματισμός

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

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

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

Αρχές ασφαλούς σχεδιασμού

  • Επιφάνεια επίθεσης
    • Μείωση επιφάνειας επίθεσης
    • Επιφάνεια επίθεσης – ένα παράδειγμα
    • Ανάλυση επιφάνειας επίθεσης
    • Μείωση επιφάνειας επίθεσης – παραδείγματα
  • Ιδιωτικότητα
    • Ιδιωτικότητα
    • Κατανόηση Συμπεριφορών και Ανησυχιών Εφαρμογών
  • Άμυνα σε βάθος
    • Βασική Αρχή SDL: Άμυνα σε Βάθος
    • Άμυνα σε βάθος – παράδειγμα
  • Αρχή ελάχιστων προνομίων
    • Ελάχιστα προνόμια – παράδειγμα
  • Ασφαλείς προεπιλογές
    • Ασφαλείς προεπιλογές – παραδείγματα

Αρχές ασφαλούς υλοποίησης

  • Πρόγραμμα
  • Microsoft Security Development Lifecycle (SDL)
  • Βασικές αρχές υπερχείλισης buffer
    • Επεξεργαστές Intel 80x86 – κύριοι καταχωρητές
    • Διάταξη διευθύνσεων μνήμης
    • Ο μηχανισμός κλήσης συναρτήσεων σε C/C++ σε x86
    • Οι τοπικές μεταβλητές και το πλαίσιο στοίβας
    • Υπερχείλιση στοίβας
      • Υπερχείλιση buffer στη στοίβα
      • Ασκήσεις – εισαγωγή
      • Άσκηση BOFIntro
      • Άσκηση BOFIntro – καθορισμός διάταξης στοίβας
      • Άσκηση BOFIntro – ένα απλό exploit
  • Επικύρωση εισόδου
    • Έννοιες επικύρωσης εισόδου
    • Προβλήματα ακεραίων
      • Αναπαράσταση αρνητικών ακεραίων
      • Υπερχείλιση ακεραίου
      • Υπερχείλιση αριθμητικής – μαντέψτε την έξοδο!
      • Άσκηση IntOverflow
      • Ποια είναι η τιμή του Math.Abs(int.MinValue);
    • Μετριασμός προβλημάτων ακεραίων
      • Μετριασμός προβλημάτων ακεραίων
      • Αποφυγή αριθμητικής υπερχείλισης – πρόσθεση
      • Αποφυγή αριθμητικής υπερχείλισης – πολλαπλασιασμός
      • Ανίχνευση υπερχείλισης με τη λέξη-κλειδί checked στη C#
      • Άσκηση – Χρήση της λέξης-κλειδί checked στη C#
      • Εξαιρέσεις που προκαλούνται από υπερχειλίσεις στη C#
    • Μελέτη περίπτωσης – Υπερχείλιση ακεραίου στο .NET
      • Μια πραγματική ευπάθεια υπερχείλισης ακεραίου
      • Εκμετάλλευση της ευπάθειας υπερχείλισης ακεραίου
    • Ευπάθεια διάβασης μονοπατιού
      • Μετριασμός διάβασης μονοπατιού

Ημέρα 2

Αρχές ασφαλούς υλοποίησης

  • Εγχύσεις
    • Τυπικές μέθοδοι επιθέσεων SQL Injection
    • Blind και time-based SQL injection
    • Μέθοδοι προστασίας από SQL Injection
    • Εγχυση εντολών
  • Σπασμένη ταυτοποίηση - διαχείριση κωδικών πρόσβασης
    • Άσκηση – Αδυναμία κρυπτογραφημένων κωδικών πρόσβασης
    • Διαχείριση και αποθήκευση κωδικών πρόσβασης
    • Ειδικοί αλγόριθμοι κατακερματισμού για αποθήκευση κωδικών πρόσβασης
  • Cross-Site Scripting (XSS)
    • Cross-Site Scripting (XSS)
    • CSS injection
    • Εκμετάλλευση: έγχυση μέσω άλλων ετικετών HTML
    • Πρόληψη XSS
  • Έλλειψη ελέγχου πρόσβασης σε επίπεδο λειτουργίας
    • Φιλτράρισμα μεταφορτώσεων αρχείων
  • Πρακτική κρυπτογραφία
    • Παροχή εμπιστευτικότητας με συμμετρική κρυπτογραφία
    • Αλγόριθμοι συμμετρικής κρυπτογράφησης
    • Κρυπτογράφηση κατά μπλοκ – τρόποι λειτουργίας
    • Κατακερματισμός ή σύνοψη μηνύματος
    • Αλγόριθμοι κατακερματισμού
    • Κώδικας Αυθεντικοποίησης Μηνύματος (MAC)
    • Παροχή ακεραιότητας και αυθεντικότητας με συμμετρικό κλειδί
    • Παροχή εμπιστευτικότητας με κρυπτογράφηση δημόσιου κλειδιού
    • Κανόνας – κατοχή του ιδιωτικού κλειδιού
    • Τυπικά λάθη στη διαχείριση κωδικών πρόσβασης
    • Άσκηση – Κωδικοποιημένοι σταθερά κωδικοί πρόσβασης
    • Συμπέρασμα

Αρχές ασφαλούς επαλήθευσης

  • Λειτουργικός έλεγχος έναντι ελέγχου ασφάλειας
  • Ευπάθειες ασφάλειας
  • Ιεράρχηση προτεραιοτήτων
  • Έλεγχος ασφάλειας στον SDLC
  • Βήματα σχεδιασμού ελέγχου (ανάλυση κινδύνου)
  • Οριοθέτηση και συλλογή πληροφοριών
    • Ενδιαφερόμενα μέρη
    • Περιουσιακά στοιχεία
    • Η επιφάνεια επίθεσης
    • Στόχοι ασφάλειας για τον έλεγχο
  • Μοντελοποίηση απειλών
    • Μοντελοποίηση απειλών
    • Προφίλ επιτιθέμενων
    • Μοντελοποίηση απειλών βάσει δέντρων επίθεσης
    • Μοντελοποίηση απειλών βάσει περιπτώσεων κακής χρήσης/κατάχρησης
    • Περιπτώσεις κακής χρήσης/κατάχρησης – ένα απλό παράδειγμα ηλεκτρονικού καταστήματος
    • Προσέγγιση STRIDE ανά στοιχείο για μοντελοποίηση απειλών – MS SDL
    • Αναγνώριση στόχων ασφάλειας
    • Διαγραμματισμός – παραδείγματα στοιχείων DFD
    • Διάγραμμα ροής δεδομένων – παράδειγμα
    • Απαρίθμηση απειλών – Στοιχεία STRIDE και DFD του MS SDL
    • Ανάλυση κινδύνου – ταξινόμηση απειλών
    • Το μοντέλο κατάταξης απειλών/κινδύνου DREAD
  • Τεχνικές και εργαλεία ελέγχου ασφάλειας
    • Γενικές προσεγγίσεις ελέγχου
    • Τεχνικές για διάφορα βήματα του SDLC
  • Αναθεώρηση κώδικα
    • Αναθεώρηση κώδικα για ασφάλεια λογισμικού
    • Ανάλυση μόλυνσης
    • Ευρετικές μέθοδοι
  • Στατική ανάλυση κώδικα
    • Στατική ανάλυση κώδικα
    • Άσκηση – Χρήση εργαλείων στατικής ανάλυσης κώδικα
  • Έλεγχος της υλοποίησης
    • Χειροκίνητη επαλήθευση χρόνου εκτέλεσης
    • Χειροκίνητος έναντι αυτοματοποιημένου ελέγχου ασφάλειας
    • Δοκιμές διείσδυσης
    • Δοκιμές καταπόνησης
  • Fuzzing
    • Αυτοματοποιημένος έλεγχος ασφάλειας - fuzzing
    • Προκλήσεις του fuzzing
  • Σαρωτές ευπαθειών ιστού
    • Άσκηση – Χρήση σαρωτή ευπαθειών
  • Έλεγχος και ενίσχυση του περιβάλλοντος
    • Κοινό Σύστημα Βαθμολόγησης Ευπαθειών – CVSS
    • Σαρωτές ευπαθειών
    • Δημόσιες βάσεις δεδομένων
  • Μελέτη περίπτωσης – Παράκαμψη της Αυθεντικοποίησης Φορμών
    • Ευπάθεια τερματισμού με NULL byte
    • Η ευπάθεια παράκαμψης της αυθεντικοποίησης φορμών στον κώδικα
    • Εκμετάλλευση της παράκαμψης αυθεντικοποίησης φορμών

Πηγές γνώσης

  • Πηγές ασφαλούς προγραμματισμού – ένα πακέτο εκκίνησης
  • Βάσεις δεδομένων ευπαθειών
  • Οδηγίες ασφαλούς προγραμματισμού .NET στο MSDN
  • Φύλλα αναφοράς ασφαλούς προγραμματισμού .NET
  • Προτεινόμενα βιβλία – .NET και ASP.NET
 14 Ώρες

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


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

Σχόλια (3)

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

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