diff --git a/Document-gr/0x01-Foreword.md b/Document-gr/0x01-Foreword.md new file mode 100644 index 000000000..d76c311fb --- /dev/null +++ b/Document-gr/0x01-Foreword.md @@ -0,0 +1,26 @@ +# Πρόλογος + +Οι τεχνολογικές επαναστάσεις μπορούν να συμβούν γρήγορα. Λιγότερο από μια δεκαετία πριν, τα smartphones ήταν αδέξιες συσκευές με μικρά πληκτρολόγια - ακριβά παιχνίδια για γκατζετάκιδες εργαζόμενους σε επιχειρήσεις. Σήμερα, τα smartphones είναι ένα ουσιαστικό μέρος της ζωής μας. Εξαρτόμαστε από αυτό για πληροφόρηση, πλοήγηση και επικοινωνία, και είναι παντού στην εργασία καθώς και στη προσωπική μας ζωή. + +Κάθε νέα τεχνολογία εισάγει νέους κινδύνους για την ασφάλεια και η παρακολούθηση αυτών των αλλαγών είναι μία από τις κυριότερες προκλήσεις που αντιμετωπίζει ο κλάδος της Ασφάλειας. Η αμυντική πλευρά είναι πάντα λίγα βήματα πίσω. Για παράδειγμα, το αυτόματο αντανακλαστικό για πολλούς ήταν να εφαρμόσουν παλιούς τρόπους σχετικά με το πως χειρίζεσαι τα πράγματα: τα smartphone είναι σαν μικρούς υπολογιστές και οι mobile εφαρμογές είναι ακριβώς όπως το κλασικό λογισμικό, οπότε είναι σίγουρα οι απαιτήσεις ασφαλείας παρόμοιες; Όμως δεν λειτουργεί έτσι. Τα λειτουργικά συστήματα για smartphone διαφέρουν από τα λειτουργικά συστήματα για κλασικούς υπολογιστές και οι mobile εφαρμογές διαφέρουν από τις web εφαρμογές. Για παράδειγμα, η κλασική μέθοδος σάρωσης-ανίχνευσης ιών που βασίζεται σε υπογραφές δεν έχει νόημα σε σύγχρονα περιβάλλοντα λειτουργικού συστήματος για κινητά: Όχι μόνο δεν είναι συμβατή με το μοντέλο διανομής εφαρμογών για κινητά, αλλά είναι επίσης τεχνικά αδύνατη λόγω περιορισμών στο sandboxing. Επίσης, ορισμένες κατηγορίες ευπαθειών, όπως buffer overflows και XSS, είναι λιγότερο σχετικές στο πλαίσιο των συνηθισμένων mobile εφαρμογών σε σύγκριση για παράδειγμα, με τις desktop και web εφαρμογές (ισχύουν εξαιρέσεις). + +Με την πάροδο του χρόνου, ο κλάδος μας έχει καταλάβει καλύτερα το τοπίο απειλών για κινητά. Όπως αποδεικνύεται, η ασφάλεια των κινητών έχει να κάνει με την προστασία δεδομένων: Οι εφαρμογές αποθηκεύουν τις προσωπικές μας πληροφορίες, φωτογραφίες, ηχογραφήσεις, σημειώσεις, δεδομένα λογαριασμών, επιχειρησιακές πληροφορίες, τοποθεσία και πολλά άλλα. Λειτουργούν ως clients που μας συνδέουν με υπηρεσίες που χρησιμοποιούμε σε καθημερινή βάση και ως κόμβοι επικοινωνίας που επεξεργάζονται κάθε μήνυμα που ανταλλάσσουμε με άλλους. Υποκλέψτε το smartphone ενός ατόμου, και θα έχετε αφιλτράριστη πρόσβαση στη ζωή αυτού του ατόμου. Αν σκεφτούμε ότι οι κινητές συσκευές χάνονται ή κλέβονται πιο εύκολα και ότι το κακόβουλο λογισμικό για κινητά αυξάνεται, η ανάγκη για προστασία δεδομένων γίνεται ακόμη πιο εμφανής. + +Ένα πρότυπο ασφαλείας για mobile εφαρμογές πρέπει επομένως να επικεντρώνεται στον τρόπο με τον οποίο οι εφαρμογές αυτές χειρίζονται, αποθηκεύουν και προστατεύουν ευαίσθητες πληροφορίες. Παρόλο που τα σύγχρονα λειτουργικά συστήματα για κινητά όπως το iOS και το Android προσφέρουν καλά APIs για ασφαλή αποθήκευση και επικοινωνία δεδομένων, αυτά πρέπει να εφαρμοστούν και να χρησιμοποιηθούν σωστά για να είναι αποτελεσματικά. Η αποθήκευση δεδομένων, η επικοινωνία μεταξύ εφαρμογών, η σωστή χρήση κρυπτογραφικών APIs και η ασφαλής επικοινωνία δικτύου είναι μόνο μερικές από τις πτυχές που απαιτούν προσεκτική εξέταση. + +Ένα σημαντικό ερώτημα που χρειάζεται συναίνεση του κλάδου είναι πόσο μακριά πρέπει να φτάσει κάποιος για την προστασία της εμπιστευτικότητας και της ακεραιότητας των δεδομένων. Για παράδειγμα, οι περισσότεροι από εμάς θα συμφωνούσαν ότι μια εφαρμογή για κινητά θα πρέπει να επαληθεύει το πιστοποιητικό του server σε μια επικοινωνία TLS. Τι γίνεται όμως με το pinning του πιστοποιητικού SSL; Αν δεν το κάνετε αυτό οδηγεί σε ευπάθεια; Θα πρέπει αυτό να είναι απαίτηση εάν μια εφαρμογή χειρίζεται ευαίσθητα δεδομένα ή είναι ίσως ακόμη και αντιπαραγωγικό; Χρειάζεται να κρυπτογραφήσουμε δεδομένα που είναι αποθηκευμένα σε βάσεις δεδομένων SQLite, παρόλο που το λειτουργικό σύστημα περικλείει την εφαρμογή; Αυτό που είναι κατάλληλο για μια εφαρμογή μπορεί να είναι μη ρεαλιστικό για μια άλλη. Το MASVS είναι μια προσπάθεια τυποποίησης αυτών των απαιτήσεων χρησιμοποιώντας επίπεδα επαλήθευσης που ταιριάζουν σε διαφορετικά σενάρια απειλών. + +Επιπλέον, η εμφάνιση κακόβουλου λογισμικού σε επίπεδο root, και εργαλείων απομακρυσμένης διαχείρισης έχει δημιουργήσει επίγνωση του γεγονότος ότι τα ίδια τα λειτουργικά συστήματα κινητών έχουν εκμεταλλεύσιμα ελαττώματα, επομένως οι στρατηγικές χρήσης container χρησιμοποιούνται ολοένα και περισσότερο για την παροχή πρόσθετης προστασίας σε ευαίσθητα δεδομένα και την αποτροπή παραβίασης από την πλευρά του client. Εδώ είναι που τα πράγματα περιπλέκονται. Υπάρχουν δυνατότητες ασφαλείας που υποστηρίζονται από υλικό και λύσεις container σε επίπεδο λειτουργικού συστήματος, όπως το Android for Work και το Samsung Knox, αλλά δεν είναι σταθερά διαθέσιμες σε διαφορετικές συσκευές. Ως ενίσχυση, είναι δυνατή η εφαρμογή μέτρων προστασίας που βασίζονται σε λογισμικό - αλλά δυστυχώς, δεν υπάρχουν πρότυπα ή διαδικασίες test για την επαλήθευση αυτού του είδους προστασίας. + +Ως αποτέλεσμα, αναφορές από τεστ ασφαλείας mobile εφαρμογών είναι παντού: Για παράδειγμα, ορισμένοι αναφέρουν την έλλειψη obfuscation ή εντοπισμού root σε μια εφαρμογή Android ως "ελάττωμα ασφαλείας". Από την άλλη πλευρά, μέτρα όπως η κρυπτογράφηση τιμών, ο εντοπισμός του debugger, ή το control flow obfuscation δεν θεωρούνται υποχρεωτικά. Ωστόσο, αυτός ο δυαδικός τρόπος εξέτασης των πραγμάτων δεν βγάζει νόημα, επειδή η ανθεκτικότητα δεν είναι μια δυαδική πρόταση: Εξαρτάται από τις συγκεκριμένες απειλές από την πλευρά του client από τις οποίες στοχεύει κανείς να αμυνθεί. Οι προστασίες λογισμικού δεν είναι άχρηστες, αλλά μπορούν τελικά να παρακαμφθούν, επομένως δεν πρέπει ποτέ να χρησιμοποιούνται ως αντικατάσταση των μηχανισμών ασφαλείας. + +Ο γενικός στόχος του MASVS είναι να προσφέρει μια βάση για την ασφάλεια mobile εφαρμογών (MASVS-L1), επιτρέποντας επίσης τη συμπερίληψη μέτρων άμυνας σε βάθος (MASVS-L2) και προστασίας έναντι απειλών από την πλευρά του client (MASVS-R). Το MASVS προορίζεται να επιτύχει τα ακόλουθα: + +- Παροχή απαιτήσεων (requirements) για Software Architects και προγραμματιστές που επιδιώκουν να αναπτύξουν ασφαλείς mobile εφαρμογές. +- Η συνεισφορά ενός προτύπου που να μπορεί να τεσταριστεί στα πλαίσια μια αξιολόγησης ασφάλειας mobile εφαρμογής. +- Αποσαφήνιση του ρόλου των μηχανισμών προστασίας λογισμικού στην ασφάλεια κινητών και παροχή απαιτήσεων για την επαλήθευση της αποτελεσματικότητάς τους. +- Παροχή συγκεκριμένων συστάσεων σχετικά με το επίπεδο ασφάλειας που συνιστάται για διαφορετικές περιπτώσεις χρήσης. + +Γνωρίζουμε ότι είναι αδύνατο να επιτευχθεί 100% συναίνεση του κλάδου. Ωστόσο, ελπίζουμε ότι το MASVS είναι χρήσιμο για την παροχή καθοδήγησης σε όλες τις φάσεις ανάπτυξης και δοκιμής mobile εφαρμογών. Ως πρότυπο ανοιχτού κώδικα, το MASVS θα εξελίσσεται με την πάροδο του χρόνου και καλωσορίζουμε κάθε συνεισφορά και πρόταση. + +Από τον Bernhard Mueller diff --git a/Document-gr/0x02-Frontispiece.md b/Document-gr/0x02-Frontispiece.md new file mode 100644 index 000000000..4e089775a --- /dev/null +++ b/Document-gr/0x02-Frontispiece.md @@ -0,0 +1,52 @@ +# Σχετικά με το Πρότυπο + +![OWASP Logo](images/OWASP_logo.png) + +Καλώς ήρθατε στο Μοbile Application Security Verification Standard (MASVS). Το MASVS είναι μια προσπάθεια της κοινότητας για τη δημιουργία ενός πλαισίου απαιτήσεων ασφαλείας που απαιτούνται για το σχεδιασμό, την ανάπτυξη και τη δοκιμή ασφαλών mobile εφαρμογών σε iOS και Android. + +Το MASVS είναι το επιστέγασμα της προσπάθειας της κοινότητας και του feedback από το κλάδο. Αναμένουμε ότι αυτό το πρότυπο θα εξελιχθεί με την πάροδο του χρόνου και καλωσορίζουμε τα σχόλια από την κοινότητα. + +Ο καλύτερος τρόπος για να έρθετε σε επαφή μαζί μας είναι μέσω του καναλιού OWASP Mobile Project Slack: . + +Λογαριασμοί μπορούν να δημιουργηθούν σε παρακάτω URL: [https://owasp.slack.com/join/shared_invite/zt-g398htpy-AZ40HOM1WUOZguJKbblqkw#/](https://owasp.slack.com/join/shared_invite/zt-g398htpy-AZ40HOM1WUOZguJKbblqkw#/). + +## Πνευματικά Δικαιώματα και Άδεια Χρήσης + +[![Creative Commons License](images/CC-license.png)](https://creativecommons.org/licenses/by-sa/4.0/) + +Copyright © 2021 The OWASP Foundation. Η προσπάθεια αυτή υπόκειται στην ακόλουθη άδεια [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/). Για οποιαδήποτε επαναχρησιμοποίηση ή διανομή, πρέπει να καταστήσετε σαφή στους άλλους τους όρους/άδειας χρήσης αυτού του έργου. + + + +## Ευχαριστίες + +| Επικεφαλής Έργου | Επικεφαλής Συγγραφέας | Συντελεστές και Κριτές +| ------- | --- | ----------------- | +| Sven Schleier and Carlos Holguera | Bernhard Mueller, Sven Schleier, Jeroen Willemsen and Carlos Holguera | Alexander Antukh, Mesheryakov Aleksey, Elderov Ali, Bachevsky Artem, Jeroen Beckers, Jon-Anthoney de Boer, Damien Clochard, Ben Cheney, Will Chilcutt, Stephen Corbiaux, Manuel Delgado, Ratchenko Denis, Ryan Dewhurst, @empty_jack, Ben Gardiner, Anton Glezman, Josh Grossman, Sjoerd Langkemper, Vinícius Henrique Marangoni, Martin Marsicano, Roberto Martelloni, @PierrickV, Julia Potapenko, Andrew Orobator, Mehrad Rafii, Javier Ruiz, Abhinav Sejpal, Stefaan Seys, Yogesh Sharma, Prabhant Singh, Nikhil Soni, Anant Shrivastava, Francesco Stillavato, Abdessamad Temmar, Pauchard Thomas, Lukasz Wierzbicki | + +
+ +| Γλώσσα | Μεταφραστές & Κριτές | +| --------------- | ------------------------------------------------------------ | +| Brazilian Portuguese | Mateus Polastro, Humberto Junior, Rodrigo Araujo, Maurício Ariza, Fernando Galves | +| Chinese (Traditonal) | Peter Chi, Lex Chien, Henry Hu, Leo Wang | +| Chinese (Simplified) | Bob Peng, Harold Zang, Jack S | +| French | Romuald Szkudlarek, Abderrahmane Aftahi, Christian Dong (Review) | +| German | Rocco Gränitz, Sven Schleier (Review) | +| Hindi | Mukesh Sharma, Ritesh Kumar, Kunwar Atul Singh, Parag Dave, Devendra Kumar Sinha, Vikrant Shah | +| Japanese | Koki Takeyama, Riotaro Okada (Review) | +| Korean | Youngjae Jeon, Jeongwon Cho, Jiyou Han, Jiyeon Sung | +| Persian | Hamed Salimian, Ramin Atefinia, Dorna Azhirak, Bardiya Akbari, Mahsa Omidvar, Alireza Mazhari, Milad Khoshdel | +| Portuguese | Ana Filipa Mota, Fernando Nogueira, Filipa Gomes, Luis Fontes, Sónia Dias| +| Russian | Gall Maxim, Eugen Martynov, Chelnokov Vladislav (Review), Oprya Egor (Review), Tereshin Dmitry (Review) | +| Spanish | Martin Marsicano, Carlos Holguera | + +Αυτό το έγγραφο ξεκίνησε σαν ένα fork του OWASP Application Security Verification Standard γραμμένο από το Jim Manico. + +### Δωρεές + +Ενώ τόσο το MASVS όσο και το MSTG δημιουργούνται και διατηρούνται από την κοινότητα σε εθελοντική βάση, μερικές φορές απαιτείται λίγη εξωτερική βοήθεια. Ως εκ τούτου, ευχαριστούμε τους δωρητές μας που παρείχαν τα κεφάλαια για να μπορέσουμε να προσλάβουμε τεχνικούς συντάκτες. Να σημειωθεί ότι η δωρεά τους δεν επηρεάζει με κανέναν τρόπο το περιεχόμενο του MASVS ή του MSTG. Τα πακέτα από δωρεές περιγράφονται στο [OWASP Project Wiki](https://www.owasp.org/index.php/OWASP_Mobile_Security_Testing_Guide#tab=Sponsorship_Packages "OWASP Mobile Security Testing Guide Donation Packages"). + +![OWASP MSTG](images/Donators/donators.png) + +Θα θέλαμε να ευχαριστήσουμε όσου αγόρασαν το βιβλίο από το [Leanpub](https://leanpub.com/mobile-security-testing-guide) και μας στήριξαν με αυτό το τρόπο. diff --git a/Document-gr/0x03-Using_the_MASVS.md b/Document-gr/0x03-Using_the_MASVS.md new file mode 100644 index 000000000..766e48bb8 --- /dev/null +++ b/Document-gr/0x03-Using_the_MASVS.md @@ -0,0 +1,82 @@ +# Το Mobile Application Security Verification Standard + +Το MASVS μπορεί να χρησιμοποιηθεί για να δημιουργήσει ένα επίπεδο εμπιστοσύνης στην ασφάλεια των mobile εφαρμογών. Οι απαιτήσεις αναπτύχθηκαν έχοντας κατά νου τους ακόλουθους στόχους: + +- Χρήση ως metric - Για την παροχή ενός προτύπου ασφαλείας με το οποίο οι υπάρχουσες mobile εφαρμογές μπορούν να συγκριθούν από προγραμματιστές και κατόχους εφαρμογών. +- Χρήση ως καθοδήγηση - Για παροχή καθοδήγησης σε όλες τις φάσεις ανάπτυξης και δοκιμής εφαρμογών για κινητά. +- Χρήση κατά την προμήθεια - Παροχή βασικής γραμμής για επαλήθευση ασφάλειας mobile εφαρμογών. + +## Μοντέλο Ασφάλειας Mobile Εφαρμογών + +Το MASVS ορίζει δύο επίπεδα επαλήθευσης ασφαλείας (MASVS-L1 και MASVS-L2), καθώς και ένα σύνολο απαιτήσεων ανθεκτικότητας απέναντι σε reverse engineering (MASVS-R). Το MASVS-L1 περιέχει γενικές απαιτήσεις ασφαλείας που συνιστώνται για όλες τις mobile εφαρμογές, ενώ το MASVS-L2 θα πρέπει να εφαρμόζεται σε εφαρμογές που χειρίζονται εξαιρετικά ευαίσθητα δεδομένα. Το MASVS-R καλύπτει πρόσθετους προστατευτικούς ελέγχους που μπορούν να εφαρμοστούν εάν η αποτροπή απειλών από την πλευρά του client αποτελεί στόχο κατα το Design. + +Η εκπλήρωση των απαιτήσεων στο MASVS-L1 οδηγεί σε μια ασφαλή εφαρμογή που ακολουθεί τις βέλτιστες πρακτικές ασφαλείας και δεν αντιμετωπίζει πρόβλημα από κοινά τρωτά σημεία. Το MASVS-L2 προσθέτει πρόσθετους ελέγχους με βάθος άμυνας, όπως το SSL pinning, με αποτέλεσμα μια εφαρμογή που είναι ανθεκτική σε πιο εξελιγμένες επιθέσεις - με την προϋπόθεση ότι οι μηχανισμοί ασφαλείας του λειτουργικού συστήματος του κινητού είναι άθικτοι και ο τελικός χρήστης δεν θεωρείται κακόβουλος. Η εκπλήρωση όλων ή υποσυνόλων των απαιτήσεων προστασίας λογισμικού στο MASVS-R συμβάλλει στην παρεμπόδιση συγκεκριμένων απειλών από την πλευρά του client όπου ο τελικός χρήστης είναι κακόβουλος ή/και το λειτουργικό σύστημα του κινητού είναι σε κίνδυνο. + +**I: Αν και συνιστούμε την υλοποίηση των μηχανισμών του MASVS-L1 σε κάθε εφαρμογή, η υλοποίηση ενός μηχανισμού ή όχι θα πρέπει τελικά να είναι μια απόφαση βασισμένη στον ρίσκο, η οποία κοινοποιείται στους business owners και λαμβάνεται αντίστοιχα.** + +**II: Να σημειωθεί ότι οι μηχανισμοί ελέγχου προστασίας λογισμικού που αναφέρονται στο MASVS-R και περιγράφονται στο OWASP Mobile Security Testing Guide μπορούν τελικά να παρακαμφθούν και δεν πρέπει ποτέ να χρησιμοποιηθούν ως αντικατάσταση των μηχανισμών ελέγχου ασφαλείας. Αντίθετα, προορίζονται να προσθέσουν έξτρα μηχανισμούς προστασίας βασισμένους σε απειλές, σε εφαρμογές που πληρούν επίσης τις απαιτήσεις MASVS στο MASVS-L1 ή στο MASVS-L2.** + +![Verification Levels](images/masvs-levels-new.jpg) + +### Δομή Εγγράφου + +Το πρώτο μέρος του MASVS περιέχει μια περιγραφή του μοντέλου ασφαλείας και των διαθέσιμων επιπέδων επαλήθευσης, ακολουθούμενα από συστάσεις σχετικά με τον τρόπο χρήσης του προτύπου στην πράξη. Οι λεπτομερείς απαιτήσεις ασφαλείας, μαζί με μια αντιστοίχιση στα επίπεδα επαλήθευσης, παρατίθενται στο δεύτερο μέρος. Οι απαιτήσεις έχουν ομαδοποιηθεί σε οκτώ κατηγορίες (V1 έως V8) με βάση τον τεχνικό στόχο / πεδίο εφαρμογής. Η ακόλουθη ονοματολογία χρησιμοποιείται σε όλο το MASVS και το MSTG: + +- *Κατηγορία Απαίτησης:* MASVS-Vx, e.g. MASVS-V2: Αποθήκευση Δεδομένων and Ιδιωτικότητα +- *Απαίτηση:* MASVS-Vx.y, e.g. MASVS-V2.2: "Στα αρχεία καταγραφής (logs) της εφαρμογής, δεν καταγράφονται ευαίσθητα δεδομένα." + +### Επίπεδα Επαλήθευσης σε Λεπτομέρεια + +#### MASVS-L1: Τυπική Ασφάλεια + +Μια mobile εφαρμογή που επιτυγχάνει το MASVS-L1 συμμορφώνεται με τις βέλτιστες πρακτικές ασφάλειας mobile εφαρμογών. Πληροί βασικές απαιτήσεις όσον αφορά την ποιότητα του κώδικα, το χειρισμό ευαίσθητων δεδομένων και την αλληλεπίδραση με το περιβάλλον κινητής τηλεφωνίας. Πρέπει να υπάρχει μια διαδικασία δοκιμής για την επαλήθευση των ελέγχων ασφαλείας. Αυτό το επίπεδο είναι κατάλληλο για όλες τις εφαρμογές για κινητές συσκευές. + +#### MASVS-L2: Άμυνα σε Βάθος + +Το MASVS-L2 εισάγει προηγμένους ελέγχους ασφαλείας που υπερβαίνουν τις τυπικές απαιτήσεις. Για να εκπληρωθεί το MASVS-L2, πρέπει να υπάρχει ένα μοντέλο απειλής (threat model) και η ασφάλεια πρέπει να αποτελεί αναπόσπαστο μέρος της αρχιτεκτονικής και του σχεδιασμού της εφαρμογής. Με βάση το μοντέλο απειλής, τα σωστά στοιχεία ελέγχου MASVS-L2 θα έπρεπε να έχουν επιλεγεί και υλοποιηθεί με επιτυχία. Αυτό το επίπεδο είναι κατάλληλο για εφαρμογές που χειρίζονται εξαιρετικά ευαίσθητα δεδομένα, όπως εφαρμογές mobile banking. + +#### MASVS-R: Ανθεκτικότητα απέναντι σε Reverse Engineering και Παραποίηση (Tampering) + +Η εφαρμογή διαθέτει ασφάλεια αιχμής και είναι επίσης ανθεκτική σε συγκεκριμένες, σαφώς καθορισμένες επιθέσεις από την πλευρά του client, όπως παραποίηση, τροποποίηση ή reverse engineering για την εξαγωγή ευαίσθητου κώδικα ή δεδομένων. Μια τέτοια εφαρμογή είτε αξιοποιεί hardware χαρακτηριστικά ασφαλείας, είτε επαρκώς ισχυρές και επαληθεύσιμες τεχνικές προστασίας λογισμικού. Το MASVS-R εφαρμόζεται σε εφαρμογές που χειρίζονται εξαιρετικά ευαίσθητα δεδομένα και μπορεί να χρησιμεύσει ως μέσο προστασίας της πνευματικής ιδιοκτησίας ή προστασίας από παραβιάσεις. + +### Προτεινόμενη Χρήση + +Οι εφαρμογές μπορούν να επαληθευτούν έναντι του MASVS L1 ή L2 με βάση την προηγούμενη αξιολόγηση κινδύνου και το συνολικό επίπεδο ασφάλειας που απαιτείται. Το L1 ισχύει για όλες τις mobile εφαρμογές, ενώ το L2 συνιστάται γενικά για εφαρμογές που χειρίζονται πιο ευαίσθητα δεδομένα ή/και λειτουργίες. Το MASVS-R (ή μέρη του) μπορεί να εφαρμοστεί για την επαλήθευση της ανθεκτικότητας έναντι συγκεκριμένων απειλών, όπως το repackaging ή η εξαγωγή ευαίσθητων δεδομένων, *επιπλέον* της κατάλληλης επαλήθευση ασφαλείας. + +Συνοπτικά, είναι διαθέσιμοι οι ακόλουθοι τύποι επαλήθευσης: + +- MASVS-L1 +- MASVS-L1+R +- MASVS-L2 +- MASVS-L2+R + +Οι διαφορετικοί συνδυασμοί αντικατοπτρίζουν διαφορετικούς βαθμούς ασφάλειας και ανθεκτικότητας. Ο στόχος είναι να επιτραπεί η ευελιξία: Για παράδειγμα, ένα παιχνίδι για κινητά μπορεί να μην δικαιολογεί την προσθήκη στοιχείων ελέγχου ασφαλείας MASVS-L2, όπως ο έλεγχος ταυτότητας 2 παραγόντων (2-FA) για λόγους χρηστικότητας, αλλά έχει έντονη επιχειρησιακή ανάγκη για πρόληψη παραποιήσης. + +#### Ποιο τύπο επαλήθευσης να επιλέξω + +Η εφαρμογή των απαιτήσεων του MASVS L2 αυξάνει την ασφάλεια, ενώ ταυτόχρονα αυξάνει το κόστος ανάπτυξης και δυνητικά επιδεινώνει την εμπειρία του τελικού χρήστη (σύνηθες trade-off). Γενικά, το L2 θα πρέπει να χρησιμοποιείται για εφαρμογές όποτε έχει νόημα από την άποψη του κινδύνου έναντι του κόστους (δηλαδή, όταν η πιθανή απώλεια που προκαλείται από παραβίαση εμπιστευτικότητας ή ακεραιότητας είναι υψηλότερη από το κόστος που προκύπτει από τους πρόσθετους μηχανισμούς ασφαλείας). Η αποτίμηση κινδύνου (risk assessment) θα πρέπει να είναι το πρώτο βήμα πριν από την εφαρμογή του MASVS. + +##### Παραδείγματα + +###### MASVS-L1 + +- Όλες οι εφαρμογές για κινητά. Το MASVS-L1 παραθέτει τις βέλτιστες πρακτικές ασφαλείας που μπορούν να ακολουθηθούν με εύλογο αντίκτυπο στο κόστος ανάπτυξης και στην εμπειρία χρήστη. Εφαρμόστε τις απαιτήσεις στο MASVS-L1 για οποιαδήποτε εφαρμογή που δεν πληροί τις προϋποθέσεις για ένα από τα υψηλότερα επίπεδα. + +###### MASVS-L2 + +- Κλάδος Υγειονομικής/Ιατρικής Περίθαλψης: Εφαρμογές για κινητά που αποθηκεύουν προσωπικά αναγνωρίσιμες πληροφορίες (PII) που μπορούν να χρησιμοποιηθούν για κλοπή ταυτότητας, πλαστές πληρωμές ή μια ποικιλία σχεδίων απάτης. Για τον τομέα της Περίθαλψης των Η.Π.Α., τα ζητήματα συμμόρφωσης περιλαμβάνουν τον Νόμο περί Φορητότητας και Λογοδοσίας Ασφάλισης Υγείας (HIPAA) για το απόρρητο, την ασφάλεια, τους κανόνες ειδοποίησης παραβίασης και τον κανόνα ασφάλειας ασθενών. +- Χρηματοοικονομικός Κλάδος: Εφαρμογές που επιτρέπουν την πρόσβαση σε εξαιρετικά ευαίσθητες πληροφορίες, όπως αριθμούς πιστωτικών καρτών, προσωπικά στοιχεία ή επιτρέπουν στον χρήστη να μετακινεί χρήματα. Αυτές οι εφαρμογές εγγυώνται πρόσθετους ελέγχους ασφαλείας για την αποφυγή απάτης. Οι οικονομικές εφαρμογές πρέπει να διασφαλίζουν τη συμμόρφωση με το Πρότυπο Ασφάλειας Δεδομένων του Κλάδου Πληρωμής (PCI DSS), το νόμο Gramm Leech Bliley και τον νόμο Sarbanes-Oxley (SOX). + +###### MASVS L1+R + +- Εφαρμογές για κινητά όπου η προστασία πνευματικής ιδιοκτησίας (IP) αποτελεί επιχειρηματικό στόχο. Τα στοιχεία ελέγχου ελαστικότητας που αναφέρονται στο MASVS-R μπορούν να χρησιμοποιηθούν για να αυξηθεί η προσπάθεια που απαιτείται για την απόκτηση του αρχικού πηγαίο κώδικα και να παρεμποδιστεί η παραβίαση/σπάσιμο. + +- Κλάδος Οnline Παιχνιδιών: Παιχνίδια με ουσιαστική ανάγκη να αποφευχθεί η τροποποίηση και η εξαπάτηση, όπως τα ανταγωνιστικά διαδικτυακά παιχνίδια. Η εξαπάτηση είναι ένα σημαντικό ζήτημα στα διαδικτυακά παιχνίδια, καθώς ένας μεγάλος αριθμός απατεώνων οδηγεί σε μια δυσαρεστημένη βάση παικτών και μπορεί τελικά να προκαλέσει την αποτυχία ενός παιχνιδιού. Το MASVS-R παρέχει βασικούς ελέγχους κατά της παραβίασης που βοηθούν στην αύξηση της προσπάθειας για τους απατεώνες. + +###### MASVS L2+R + +- Χρηματοοικονομικός Κλάδος: Εφαρμογές ηλεκτρονικής τραπεζικής που επιτρέπουν στον χρήστη να μετακινεί κεφάλαια, όπου τεχνικές όπως το code injection και instrumentation ενέχουν κίνδυνο. Σε αυτήν την περίπτωση, οι μηχανισμοί ελέγχου από το MASVS-R μπορούν να χρησιμοποιηθούν για να εμποδίσουν την παραβίαση, ανεβάζοντας τον πήχη για τους δημιουργούς κακόβουλου λογισμικού. + +- Όλες οι εφαρμογές για κινητά οι οποίες εκ κατασκευής, πρέπει να αποθηκεύουν ευαίσθητα δεδομένα στη φορητή συσκευή και ταυτόχρονα πρέπει να υποστηρίζουν ένα ευρύ φάσμα συσκευών και εκδόσεων λειτουργικού συστήματος. Σε αυτήν την περίπτωση, οι έλεγχοι ανθεκτικότητας μπορούν να χρησιμοποιηθούν ως μέτρο Άμυνας σε Βάθος (Defence in depth) για να αυξήσουν την προσπάθεια των επιτιθέμενων που στοχεύουν στην εξαγωγή των ευαίσθητων δεδομένων. + +- Οι εφαρμογές που υποστηρίζουν αγορές εντός εφαρμογής θα πρέπει ιδανικά να χρησιμοποιούν μηχανισμούς ελέγχου από την πλευρά του server και MASVS-L2 για την προστασία του επί πληρωμή περιεχομένου (paid content). Ωστόσο, ενδέχεται να υπάρχουν περιπτώσεις όπου δεν υπάρχει δυνατότητα χρήσης προστασίας από την πλευρά του server. Σε αυτές τις περιπτώσεις, οι μηχανισμοί MASVS-R θα πρέπει να εφαρμόζονται σαν έξτρα, προκειμένου να αυξηθεί η απαιτούμενα προσπάθεια του επιτιθέμενου για reversing ή tampering. diff --git a/Document-gr/0x04-Assessment_and_Certification.md b/Document-gr/0x04-Assessment_and_Certification.md new file mode 100644 index 000000000..dd3e200ce --- /dev/null +++ b/Document-gr/0x04-Assessment_and_Certification.md @@ -0,0 +1,47 @@ +# Αποτίμηση και Πιστοποίηση + +## Η θέση του OWASP's σχετικά με τις Πιστοποιήσεις MASVS and Σήματα Εμπιστοσύνης + +O OWASP, ως μη κερδοσκοπικός οργανισμός ουδέτερος ως προς τους προμηθευτές (vendor-neutral), δεν πιστοποιεί κανέναν vendor, verifier ή λογισμικό. + +Όλες αυτές οι διαβεβαιώσεις διασφάλισης, σήματα εμπιστοσύνης ή πιστοποιήσεις δεν ελέγχονται επίσημα, καταχωρούνται ή πιστοποιούνται από την OWASP, επομένως ένας οργανισμός που βασίζεται σε μια τέτοια άποψη πρέπει να είναι προσεκτικός όσον αφορά την εμπιστοσύνη που τίθεται σε οποιοδήποτε τρίτο μέρος ή σήμα εμπιστοσύνης που διεκδικεί (M)ASVS πιστοποίηση. + +Αυτό δεν θα πρέπει να εμποδίζει τους οργανισμούς να προσφέρουν τέτοιες υπηρεσίες διασφάλισης, εφόσον δεν διεκδικούν επίσημη πιστοποίηση OWASP. + +## Καθοδήγηση για Πιστοποίηση Mobile Εφαρμογών + +Ο συνιστώμενος τρόπος επαλήθευσης της συμμόρφωσης μιας mobile εφαρμογής με το MASVS είναι η εκτέλεση μιας ανασκόπησης "ανοιχτού βιβλίου", που σημαίνει ότι παρέχεται στους testers πρόσβαση σε σημαντικούς πόρους όπως Architects και Developers της εφαρμογής, project documentation, πηγαίος κώδικας και αυθεντικοποιήμενη πρόβαση σε endpoints, συμπεριλαμβανομένης της πρόσβασης σε τουλάχιστον έναν λογαριασμό χρήστη για κάθε ρόλο. + +Είναι σημαντικό να σημειωθεί ότι το MASVS καλύπτει μόνο την ασφάλεια της mobile εφαρμογής (από την πλευρά του client) και την επικοινωνία δικτύου μεταξύ της εφαρμογής και των απομακρυσμένων endpoints της, καθώς και μερικές βασικές και γενικές απαιτήσεις που σχετίζονται με τον έλεγχο ταυτότητας χρήστη και το session management. Δεν περιέχει συγκεκριμένες απαιτήσεις για τις απομακρυσμένες υπηρεσίες (π.χ. web services) που σχετίζονται με την εφαρμογή εκτός από ένα περιορισμένο σύνολο γενικών απαιτήσεων που σχετίζονται με την εξουσιοδότηση, τον έλεγχο ταυτότητας, την επαλήθευση μηχανισμών, και το session management. Ωστόσο, το MASVS V1 καθορίζει ότι οι απομακρυσμένες υπηρεσίες πρέπει να καλύπτονται από το συνολικό μοντέλο απειλών και να επαληθεύονται σύμφωνα με τα κατάλληλα πρότυπα, όπως το OWASP ASVS. + +Ένας οργανισμός πιστοποίησης πρέπει να περιλαμβάνει σε κάθε αναφορά το εύρος της επαλήθευσης (ιδιαίτερα εάν ένα βασικό συστατικό είναι out of scope), μια σύνοψη των ευρημάτων επαλήθευσης, συμπεριλαμβανομένων των επιτυχών και αποτυχημένων δοκιμών, με σαφείς ενδείξεις για τον τρόπο επίλυσης των αποτυχημένων δοκιμών. Η διατήρηση λεπτομερών εγγράφων εργασίας, στιγμιότυπων οθόνης (screenshots) ή screen records, σεναρίων για αξιόπιστη και επανειλημμένη εκμετάλλευση ενός ζητήματος και ηλεκτρονικών αρχείων δοκιμών, όπως η παρακολούθηση αρχείων καταγραφής διακομιστή μεσολάβησης (intercepting proxy logs) και σχετικών σημειώσεων, όπως μια λίστα εκκαθάρισης, θεωρείται τυπική πρακτική του κλάδου. Δεν αρκεί απλώς να εκτελείτε ένα εργαλείο και να αναφέρετε τις αστοχίες. Αυτό δεν παρέχει επαρκή στοιχεία ότι όλα τα ζητήματα σε επίπεδο πιστοποίησης έχουν ελεγχθεί και δοκιμαστεί διεξοδικά. Σε περίπτωση διαφωνίας, θα πρέπει να υπάρχουν επαρκή υποστηρικτικά στοιχεία που να αποδεικνύουν ότι κάθε επαληθευμένη απαίτηση έχει πράγματι δοκιμαστεί. + +### Χρησιμοποιώντας το OWASP Mobile Security Testing Guide (MSTG) + +Το OWASP MSTG είναι ένα εγχειρίδιο για τον έλεγχο της ασφάλειας των εφαρμογών για κινητά. Περιγράφει τις τεχνικές διαδικασίες για την επαλήθευση των απαιτήσεων που αναφέρονται στο MASVS. Το MSTG περιλαμβάνει μια λίστα δοκιμαστικών περιπτώσεων, καθεμία από τις οποίες αντιστοιχεί σε μια απαίτηση στο MASVS. Ενώ οι απαιτήσεις του MASVS είναι υψηλού επιπέδου και γενικές, το MSTG παρέχει εις βάθος συστάσεις και διαδικασίες δοκιμών σε βάση λειτουργικού συστήματος ανά κινητό. + +### Ο ρόλος των εργαλείων αυτοματοποιμένου testing ασφάλειας + +Η χρήση scanners πηγαίου κώδικα και εργαλείων black-box testing ενθαρρύνεται προκειμένου να αυξηθεί η αποτελεσματικότητα όποτε είναι δυνατόν. Ωστόσο, δεν είναι δυνατή η ολοκλήρωση της επαλήθευσης MASVS χρησιμοποιώντας μόνο αυτοματοποιημένα εργαλεία: Κάθε mobile εφαρμογή είναι διαφορετική και η κατανόηση της συνολικής αρχιτεκτονικής, business logic και τεχνικών παγίδων των συγκεκριμένων τεχνολογιών και frameworks που χρησιμοποιούνται, είναι υποχρεωτική απαίτηση για την επαλήθευση της ασφάλειας της εφαρμογής. + +## Άλλες χρήσεις + +### Ως λεπτομερή καθοδήγηση Αρχιτεκτονικής Ασφάλειας + +Μία από τις πιο κοινές χρήσεις του Mobile Application Security Verification Standard είναι ως πόρος για Security Architects. Από τα δύο κύρια πλαίσια αρχιτεκτονικής ασφαλείας, το SABSA ή το TOGAF, λείπουν πολλές πληροφορίες που είναι απαραίτητες για την ολοκλήρωση των ελέγχων αρχιτεκτονικής ασφάλειας mobile εφαρμογών. Το MASVS μπορεί να χρησιμοποιηθεί για να καλύψει αυτά τα κενά, επιτρέποντας στους Security Architects να επιλέγουν καλύτερα στοιχεία ελέγχου για ζητήματα κοινά σε εφαρμογές για κινητά. + +### Ως αντικαταστάτη σε έτοιμες λίστες για έλεγχο Ασφαλούς Κώδικα + +Πολλοί οργανισμοί μπορούν να επωφεληθούν από την υιοθέτηση του MASVS, επιλέγοντας ένα από τα δύο επίπεδα ή διαχωρίζοντας το MASVS και αλλάζοντας αυτό που απαιτείται για το επίπεδο ρίσκου κάθε εφαρμογής με έναν συγκεκριμένο τομέα. Ενθαρρύνουμε αυτόν τον τύπο forking, εφόσον διατηρείται η ιχνηλασιμότητα, έτσι ώστε εάν μια εφαρμογή έχει περάσει την απαίτηση 4.1, αυτό σημαίνει το ίδιο πράγμα για τα forked αντίγραφα όπως εξελίσσεται το πρότυπο. + +### Ως μια βάση Μεθοδολογίας για Τεστ Ασφάλειας + +Μια καλή μεθοδολογία δοκιμής ασφάλειας mobile εφαρμογών θα πρέπει να καλύπτει όλες τις απαιτήσεις που αναφέρονται στο MASVS. To OWASP Mobile Security Testing Guide (MSTG) περιγράφει περιπτώσεις δοκιμών black-box και white-box για κάθε απαίτηση επαλήθευσης. + +### Ως ένας οδηγός για αυτοματοποιημένο Unit και Integration testing + +Το MASVS έχει σχεδιαστεί για να είναι εξαιρετικά ελεγχόμενο, με μόνη εξαίρεση τις αρχιτεκτονικές απαιτήσεις. Τα αυτοματοποιημένα unit, integration και acceptance tests βάσει των απαιτήσεων MASVS μπορούν να ενσωματωθούν στον κύκλο ζωής συνεχούς ανάπτυξης. Αυτό όχι μόνο αυξάνει την ευαισθητοποίηση για την ασφάλεια των προγραμματιστών, αλλά βελτιώνει επίσης τη συνολική ποιότητα των εφαρμογών που προκύπτουν και μειώνει τον αριθμό των ευρημάτων κατά τη διάρκεια δοκιμών ασφαλείας στη pre-release φάση. + +### Για εκπαίδευση Ασφαλούς Ανάπτυξης + +Το MASVS μπορεί επίσης να χρησιμοποιηθεί για τον καθορισμό χαρακτηριστικών ασφαλών mobile εφαρμογών. Πολλά μαθήματα ασφαλούς κώδικα είναι απλά μαθήματα ethical hacking με μια ελαφριά πινελιά από συμβουλές κώδικα. Αυτό δεν βοηθά τους προγραμματιστές. Αντίθετα, τα προγράμματα εκπαίδευσης Ασφαλούς Ανάπτυξης μπορούν να χρησιμοποιούν το MASVS, με μεγάλη εστίαση στους προληπτικούς ελέγχους που τεκμηριώνονται στο MASVS, αντί π.χ. τα 10 κορυφαία ζητήματα ασφαλείας κώδικα. diff --git a/Document-gr/0x06-V1-Architecture_design_and_threat_modelling_requireme.md b/Document-gr/0x06-V1-Architecture_design_and_threat_modelling_requireme.md new file mode 100644 index 000000000..63b5183e7 --- /dev/null +++ b/Document-gr/0x06-V1-Architecture_design_and_threat_modelling_requireme.md @@ -0,0 +1,38 @@ +# V1: Απαιτήσεις Αρχιτεκτονικής, Σχεδίασης και Μοντέλου Απειλών + +## Στόχος Ελέγχου + +Σε ένα τέλειο κόσμο η ασφάλεια θα λαμβανόταν υπόψη σε όλες τις φάσεις ανάπτυξης του λογισμικού. Ωστόσο στη πραγματικότητα, συχνά η ασφάλεια λαμβάνεται υπόψη μόνο σε τελευταία στάδια του κύκλο ζωής του λογισμικού. Πέρα από τους τεχνικούς ελέγχους, το MASVS απαιτεί να υπάρχουν διαδικασίες οι οποίες εξασφαλίζουν ότι η ασφάλεια έχει συμπεριληφθεί κατά το σχεδιασμό της Αρχιτεκτονικής της mobile εφαρμογής, και ότι οι ρόλοι λειτουργίας και ασφάλειας όλων των υποσυστημάτων της εφαρμογής είναι γνωστοί. Δεδομένου ότι οι περισσότερες mobile εφαρμογές λειτουργούν ως clients σε απομακρυσμένες υπηρεσίες, πρέπει να εξασφαλισθεί ότι κατάλληλα πρότυπα ασφάλειας εφαρμόζονται σε αυτές τις υπηρεσίες - Το απομονωμένο testing της εφαρμογής δεν είναι επαρκές. + +Η κατηγορία “V1” παραθέτει απαιτήσεις σχετικά με την αρχιτεκτονική και το design της εφαρμογης. Συνεπώς είναι η μόνη κατηγορία η οποία δεν αντιστοιχίζεται με τεχνικά τεστ στο OWASP Mobile Testing Guide. Για να καλυφθούν έννοιες όπως το threat modeling, ο ασφαλής κύκλος ζωής του λογισμικού ή η διαχείριση κλειδιών, οι χρήστες του MASVS θα πρέπει να συμβουλευτούν τα σχετικά OWASP projects ή/και άλλα προτυπα, όπως αυτά που παραθέτονται στις αναφορές παρακάτω. + +## Απαιτήσεις Ασφάλειας + +Οι απαιτήσεις για το MASVS-L1 and MASVS-L2 παρουσιάζονται παρακάτω. + +| # | MSTG-ID | Description | L1 | L2 | +| -- | ---------- | ---------------------- | - | - | +| **1.1** | MSTG-ARCH-1 | Όλα τα υποσυστήματα/μέρη της εφαρμογής έχουν εντοπιστεί και είναι γνωστό ότι χρειάζονται για την εφαρμογή. | x | x | +| **1.2** | MSTG-ARCH-2 | Οι μηχανισμοί ασφάλειας δεν εφαρμόζονται ποτε στη μεριά του client, αλλά μόνο στα απομακρυσμένα endpoints. Security controls are never enforced only on the client side | x | x | +| **1.3** | MSTG-ARCH-3 | Μια υψηλού επίπεδου αρχιτεκτονική για τη mobile εφαρμογή και όλες τις συνδεδεμένες απομακρυσμένες υπηρεσίες έχει οριστεί, και η ασφάλεια έχει προσδιοριστεί σε αυτή την αρχιτεκτονική. | x | x | +| **1.4** | MSTG-ARCH-4 | Τα δεδομένα που θεωρούνται ευαίσθητα στο σκοπό της mobile εφαρμογής, έχουν εντοπιστεί με ακρίβεια. | x | x | +| **1.5** | MSTG-ARCH-5 | Όλα τα μέρη της εφαρμογής έχουν οριστεί ως προς τον επιχειρησιακό σκοπό που εξυπηρετούν ή/και ως προς τη λειτουργικότητα ασφάλειας που παρέχουν. | | x | +| **1.6** | MSTG-ARCH-6 | Ενα threat model για τη mobile εφαρμογή και τις συσχετιζόμενες απομακρυσμένες υπηρεσίες έχει παραχθεί, και εντοπίζει πιθανές απειλές καθώς και αντίμετρα ασφάλειας. | | x | +| **1.7** | MSTG-ARCH-7 | Όλοι οι μηχανισμοί ασφάλειας έχουν μια κεντρική υλοποίηση. | | x | +| **1.8** | MSTG-ARCH-8 | Υπάρχει μια αυστηρά καθορισμένη πολιτική σχετικά με το πως γίνεται η διαχείριση των κλειδιών κρυπτογράφησης (αν υπάρχουν), και πως ο κύκλος ζωής του κλειδιού επιβάλλεται στην εφαρμογή. Ιδανικά, μπορεί να ακολουθηθεί ένα πρότυπο διαχείρισης κλειδιών όπως το NIST SP 800-57. | | x | +| **1.9** | MSTG-ARCH-9 | Υπάρχει ένας μηχανισμός για επιβολή των ενημερώσεων (updates) της mobile εφαρμογής. | | x | +| **1.10** | MSTG-ARCH-10 | Η ασφάλεια καθορίζεται σε όλα τα στάδια του κύκλου ζωής του λογισμικού. | | x | +| **1.11** | MSTG-ARCH-11 | Μια πολιτική υπεύθυνης αποκάλυψης (responsible disclosure) υπάρχει και εφαρμόζεται αποτελεσματικά. | | x | +| **1.12** | MSTG-ARCH-12 | Η εφαρμογή πρέπει να συμορφώνεται με το νομικό πλαίσιο της ιδιωτικότητας (privacy). | x | x | + + +## Αναφορές + +Για περισσότερες πληροφορίες, δείτε επίσης: + +- OWASP Mobile Top 10: M10 (Extraneous Functionality) - +- OWASP Threat modelling - +- OWASP Secure SDLC Cheat Sheet - +- Microsoft SDL - +- NIST SP 800-57 - +- security.txt - diff --git a/Document-gr/0x07-V2-Data_Storage_and_Privacy_requirements.md b/Document-gr/0x07-V2-Data_Storage_and_Privacy_requirements.md new file mode 100644 index 000000000..0eeee5e6c --- /dev/null +++ b/Document-gr/0x07-V2-Data_Storage_and_Privacy_requirements.md @@ -0,0 +1,66 @@ +# V2: Απαιτήσεις Αποθήκευσης Δεδομένων και Ιδιωτικότητας + +## Στόχος Ελέγχου + +Η προστασία των ευαίσθητων δεδομένων όπως τα διαπιστευτήρια του χρήστη και η ιδιωτική πληροφορία, είναι σημαντικού σκοπού στην ασφάλεια mobile εφαρμογών. Αρχικά, ευαίσθητα δεδομένα μπορεί να εκτεθούν κατα λάθος σε άλλες εφαρμογές που τρέχουν στην ίδια συσκευή αν οι μηχανισμοί του λειτουργικού συστήματος (όπως το IPC) δεν χρησιμοποιούνται κατάλληλα. Δεδομένα μπορεί καταλάθος να διαρεύσουν στο cloud, μέσω μηχανισμών αποθήκευσης, backups ή από την cache του πληκτρολόγιου. Επιπροσθέτως, οι mobile συσκευές, μπορεί να χαθούν ή κλαπούν πιο εύκολα σε σύγκριση με άλλου τύπου συσκευές, με αποτέλεσμα το να αποκτήσει φυσική πρόσβαση ένας επιτιθέμενος να είναι ένα πιο πιθανό σενάριο. Σε αυτή τη περίπτωση, επιπλέον μορφές προστασίας μπορούν να υλοποιηθούν προκειμένου να κάνουν την ανάκτηση ευαίσθητων δεδομένων πιο δύσκολη. + +Να σημειωθεί ότι το MASVS είναι προσανατολισμένος γύρω από την εφαρμογή, και δε καλύπτει πολιτικές στο επίπεδο της συσκευής όπως εκείνες που εμπλέκονται με τα λύσεις Διαχείρισης Φορητής Συσκευής (MDM). Ενθαρρύνουμε τη χρήση τέτοιων πολιτικών σε ένα Enterprise περιβάλλον για την επιπλέον ενίσχυση της ασφάλειας των δεδομένων. + +### Ορισμός των ευαίσθητων δεδομένων + +Τα Ευαίσθητα δεδομένα στο σκοπό του MASVS περιλαμβάνουν και τα διαπιστευτήρια του χρήστη, και κάθε άλλα δεδομένα που θεωρούνται ευαίσθητα στο συγκεκριμένο πλαίσιο όπως: + +- Προσωπικά Ταυτοποιήσιμη Πληροφορία (ΡΙΙ) που θα μπορούν να χρησιμοποιηθεί κακόβουλα για κλοπή ταυτότητας. Αριθμοί κοινωνικής ασφάλισης, αριθμοί πιστωτικών καρτών, αριθμοί τραπεζικών λογαριασμών, πληροφορίες υγείας, +- Πολύ ευαίσθητα δεδομένα τα οποία θα οδηγούσαν σε απώλεια φήμης ή/και οικονομικά κόστη σε περίπτωση έκθεσης τους. Πληροφορίες συμβολαίων, πληροφορίες που δε καλύπτονται απο συμφωνο περι μη αποκάλυψης πληροφοριών (non disclosure agreement), πληροφορίες management. +- Οτιδήποτε δεδομένο υποχρεούται να προστατευθεί από το νόμο ή για λόγους συμμόρφωσης. + + +## Απαιτήσεις Ασφάλειας + +Η συντριπτική πλειοψηφία των προβλημάτων αποκάλυψης δεδομένων μπορεί να αποφευχθεί ακολουθώντας απλούς κανόνες. Οι περισσότεροι από τους μηχανισμούς που περιγράφονται σε αυτό το κεφάλαιο είναι υποχρεωτικοί για όλα τα επίπεδα επαλήθευσης. + +| # | MSTG-ID | Περιγραφή | L1 | L2 | +| -- | ---------- | ---------------------- | - | - | +| **2.1** | MSTG-STORAGE-1 | Πρέπει να χρησιμοποιούνται οι παρεχόμενες από το σύστημα δυνατότητας αποθήκευσης διαπιστευτηρίων για να αποθηκεύονται ευαίσθητα δεδομένα όπως PII, διαπιστευτήρια χρηστών ή κλειδιά κρυπτογράφησης. | x | x | +| **2.2** | MSTG-STORAGE-2 | Ευαίσθητα δεδομένα θα πρέπει να μην αποθηκεύονται εκτός του container της εφαρμογής ή των εγκαταστάσεων αποθήκευσης διαπιστευτηρίων του συστήματος. | x | x | +| **2.3** | MSTG-STORAGE-3 | Ευαίσθητα δεδομένα δε θα πρέπει να καταγράφονται σε logs της εφαρμογής. | x | x | +| **2.4** | MSTG-STORAGE-4 | Ευαίσθητα δεδομένα δε θα πρέπει να μοιράζονται με τρίτες οντότητες, εκτός αν είναι ένα απαραίτητο μέρος της Αρχιτεκτόνικης. | x | x | +| **2.5** | MSTG-STORAGE-5 | Η cache του πληκτρολογίου έχει απενεργοποιηθεί στο input του κειμένου που επεξεργάζεται ευαίσθητα δεδομένα. | x | x | +| **2.6** | MSTG-STORAGE-6 | Ευαίσθητα δεδομένα δε θα πρέπει να εκτίθενται μέσω μηχανισμών IPC. | x | x | +| **2.7** | MSTG-STORAGE-7 | Ευαίσθητα δεδομένα όπως κωδικοί ή PINs, δε θα πρέπει να εκτίθεται μέσω της διεπαφής με το χρήστη (user interface) | x | x | +| **2.8** | MSTG-STORAGE-8 | Ευαίσθητα δεδομένα δε θα πρέπει να περιλαμβάνονται σε backups που δημιουργούνται από το λειτουργικό σύστημα.| | x | +| **2.9** | MSTG-STORAGE-9 | Η εφαρμογή αφαιρεί ευαίσθητα δεδομένα απο τα views όταν η εφαρμογή μετακινείται στο background. | | x | +| **2.10** | MSTG-STORAGE-10 | Η εφαρμογή δεν κρατάει ευαίσθητα δεδομένα στη μνήμη περισσότερο από το απαραίτητο, και η μνήμη καθαρίζεται μετά τη χρήση αυτή. | | x | +| **2.11** | MSTG-STORAGE-11 | Η εφαρμογή επιβάλει μια πολιτική ασφάλειας της συσκευής, όπως για παράδειγμα το να απαιτείται από το χρήστη να ορίσει passcode συσκευής. | | x | +| **2.12** | MSTG-STORAGE-12 | Η εφαρμογή εκπαιδεύει το χρήστη σχετικά με τους τύπους PII που επεξεργάζεται η εφαρμογή, όπως επίσης και για βέλτιστες πρακτικές ασφάλειας που πρέπει να ακολουθεί ο χρήστης κατα τη χρήση της εφαρμογής. | x | x | +| **2.13** | MSTG-STORAGE-13 | Ευαίσθητα δεδομένα δε θα πρέπει να αποθηκεύονται τοπικά στη συσκευή. Αντιθέτως, τα δεδομένα θα πρέπει να ανακτόνται από μια απομακρυσμένη υπηρεσία όταν χρειάζεται, και να αποθηκεύονται μόνο στη μνήμη.| | x | +| **2.14** | MSTG-STORAGE-14 | Αν απαιτείται τα ευαίσθητα δεδομένα να αποθηκεύονται τοπικά, πρέπει να είναι κρυπτογραφημένα με ένα κλειδί που έχει προκύψει από το hardware-backed storage το οποίο απαιτεί αυθεντικοποίηση. | | x | +| **2.15** | MSTG-STORAGE-15 | Ο τοπικός αποθηκευτικός χώρος της εφαρμογής θα πρέπει να σβήνεται μετά από έναν υπερβολικό αριθμό από αποτυχημένες προσπάθειες αυθεντικοποίησης. | | x | + +## Αναφορές + +Το OWASP Mobile Security Testing Guide παρέχει αναλυτικές οδηγίες για την επαλήθευση οδηγιών των απαιτήσεων που παρουσιάζονται σε αυτό το κεφάλαιο. + +- Android: Testing Data Storage - +- iOS: Testing Data Storage - + +For more information, see also: + +- OWASP Mobile Top 10: M1 (Improper Platform Usage) - +- OWASP Mobile Top 10: M2 (Insecure Data Storage) - +- CWE 117 (Improper Output Neutralization for Logs) - +- CWE 200 (Information Exposure) - +- CWE 276 (Incorrect Default Permissions) - +- CWE 311 (Missing Encryption of Sensitive Data) - +- CWE 312 (Cleartext Storage of Sensitive Information) - +- CWE 316 (Cleartext Storage of Sensitive Information in Memory) - +- CWE 359 (Exposure of Private Information ('Privacy Violation')) - +- CWE 522 (Insufficiently Protected Credentials) - +- CWE 524 (Information Exposure Through Caching) - +- CWE 530 (Exposure of Backup File to an Unauthorized Control Sphere) - +- CWE 532 (Information Exposure Through Log Files) - +- CWE 534 (Information Exposure Through Debug Log Files) - +- CWE 634 (Weaknesses that Affect System Processes) - +- CWE 798 (Use of Hard-coded Credentials) - +- CWE 921 (Storage of Sensitive Data in a Mechanism without Access Control) - +- CWE 922 (Insecure Storage of Sensitive Information) - diff --git a/Document-gr/0x08-V3-Cryptography_Verification_Requirements.md b/Document-gr/0x08-V3-Cryptography_Verification_Requirements.md new file mode 100644 index 000000000..286aa851e --- /dev/null +++ b/Document-gr/0x08-V3-Cryptography_Verification_Requirements.md @@ -0,0 +1,39 @@ +# V3: Απαιτήσεις Κρυπτογραφίας + +## Στόχος ελέγχου + +Η κρυπτογραφία είναι ένα βασικό συστατικό όταν πρόκειται για την προστασία των δεδομένων που είναι αποθηκευμένα σε μια φορητή συσκευή. Είναι επίσης μια κατηγορία όπου τα πράγματα μπορεί να πάνε τρομερά στραβά, ειδικά όταν δεν τηρούνται οι τυπικές συμβάσεις. Ο σκοπός των ελέγχων σε αυτό το κεφάλαιο είναι να διασφαλίσουν ότι η επαληθευμένη εφαρμογή χρησιμοποιεί κρυπτογραφία σύμφωνα με τις βέλτιστες πρακτικές του κλάδου, συμπεριλαμβανομένων: + +- Χρήση αποδεδειγμένων βιβλιοθηκών κρυπτογράφησης. +- Σωστή επιλογή και διαμόρφωση κρυπτογραφικών παραμέτρων. +- Μια κατάλληλη γεννήτρια τυχαίων αριθμών όπου απαιτείται τυχαιότητα. + +## Απαιτήσεις Ασφάλειας + +| # | MSTG-ID | Description | L1 | L2 | +| -- | ---------- | ---------------------- | - | - | +| **3.1** | MSTG-CRYPTO-1 | Η εφαρμογή δεν βασίζεται στη συμμετρική κρυπτογραφία με hardcoded κλειδιά ως μοναδική μέθοδο κρυπτογράφησης.| x | x | +| **3.2** | MSTG-CRYPTO-2 | Η εφαρμογή χρησιμοποιεί αποδεδειγμένες υλοποιήσεις κρυπτογραφικών δυνατοτήτων. | x | x | +| **3.3** | MSTG-CRYPTO-3 | Η εφαρμογή χρησιμοποιεί κρυπτογραφικές υλοποιήσεις που είναι κατάλληλες για τη συγκεκριμένη περίπτωση χρήσης, διαμορφωμένες με παραμέτρους που συμμορφώνονται με τις βέλτιστες πρακτικές του κλάδου. | x | x | +| **3.4** | MSTG-CRYPTO-4 | Η εφαρμογή δεν χρησιμοποιεί κρυπτογραφικά πρωτόκολλα ή αλγόριθμους που θεωρούνται ευρέως καταργημένοι για λόγους ασφαλείας. | x | x | +| **3.5** | MSTG-CRYPTO-5 | Η εφαρμογή δεν επαναχρησιμοποιεί το ίδιο κρυπτογραφικό κλειδί για πολλούς σκοπούς. | x | x | +| **3.6** | MSTG-CRYPTO-6 | Όλες οι τυχαίες τιμές δημιουργούνται χρησιμοποιώντας μια επαρκώς ασφαλή γεννήτρια τυχαίων αριθμών. | x | x | + +## References + +Το OWASP Mobile Security Testing Guide παρέχει λεπτομερείς οδηγίες για την επαλήθευση των απαιτήσεων που αναφέρονται σε αυτήν την ενότητα. + +- Android: Testing Cryptography - +- iOS: Testing Cryptography - + +Για περισσότερες πληροφορίες δείτε επίσης: + +- OWASP Mobile Top 10: M5 (Insufficient Cryptography) - +- CWE 310 (Cryptographic Issues) - +- CWE 321 (Use of Hard-coded Cryptographic Key) - +- CWE 326 (Inadequate Encryption Strength) - +- CWE 327 (Use of a Broken or Risky Cryptographic Algorithm) - +- CWE 329 (Not Using a Random IV with CBC Mode) - +- CWE 330 (Use of Insufficiently Random Values) - +- CWE 337 (Predictable Seed in PRNG) - +- CWE 338 (Use of Cryptographically Weak Pseudo Random Number Generator (PRNG)) - diff --git a/Document-gr/0x09-V4-Authentication_and_Session_Management_Requirements.md b/Document-gr/0x09-V4-Authentication_and_Session_Management_Requirements.md new file mode 100644 index 000000000..28198b600 --- /dev/null +++ b/Document-gr/0x09-V4-Authentication_and_Session_Management_Requirements.md @@ -0,0 +1,41 @@ +# V4: Απαιτήσεις Αυθεντικοποίησης και Διαχείρισης Session + +## Στόχος Ελέγχου + +Στις περισσότερες περιπτώσεις, οι χρήστες που συνδέονται σε μια απομακρυσμένη υπηρεσία αποτελούν αναπόσπαστο μέρος της συνολικής αρχιτεκτονικής εφαρμογών για κινητά. Παρόλο που το μεγαλύτερο μέρος της λογικής συμβαίνει στο endpoint, το MASVS ορίζει ορισμένες βασικές απαιτήσεις σχετικά με τον τρόπο διαχείρισης των λογαριασμών χρηστών και των περιόδων σύνδεσης. + +## Απαιτήσεις Επαλήθευσης Ασφάλειας + +| # | MSTG-ID | Description | L1 | L2 | +| -- | ---------- | ---------------------- | - | - | +| **4.1** | MSTG-AUTH-1 | Εάν η εφαρμογή παρέχει στους χρήστες πρόσβαση σε μια απομακρυσμένη υπηρεσία, κάποια μορφή ελέγχου ταυτότητας, όπως ο έλεγχος ταυτότητας username/κωδικού πρόσβασης, εκτελείται στο απομακρυσμένο endpoint. | x | x | +| **4.2** | MSTG-AUTH-2 | Εάν χρησιμοποιείται stateful session management, το απομακρυσμένο endpoint χρησιμοποιεί session IDs που δημιουργούνται τυχαία για τον έλεγχο ταυτότητας των requests του client χωρίς αποστολή των διαπιστευτηρίων του χρήστη. | x | x | +| **4.3** | MSTG-AUTH-3 | Εάν χρησιμοποιείται stateless αυθεντικόποιηση με βάση κάποιον token, ο server παρέχει ένα token που έχει υπογραφεί χρησιμοποιώντας έναν ασφαλή αλγόριθμο. | x | x | +| **4.4** | MSTG-AUTH-4 | Το απομακρυσμένο endpoint τερματίζει την υπάρχουσα περίοδο λειτουργίας όταν ο χρήστης αποσυνδεθεί. | x | x | +| **4.5** | MSTG-AUTH-5 | Υπάρχει μια πολιτική κωδικού πρόσβασης και επιβάλλεται στο απομακρυσμένο endpoint. | x | x | +| **4.6** | MSTG-AUTH-6 | Το απομακρυσμένο endpoint εφαρμόζει έναν μηχανισμό για προστασία από την πολλάπλή υποβολή διαπιστευτηρίων. | x | x | +| **4.7** | MSTG-AUTH-7 | Οι περίοδοι λειτουργίας ακυρώνονται στο απομακρυσμένο endpoint μετά από μια προκαθορισμένη περίοδο αδράνειας και τα session tokens λήγουν. | x | x | +| **4.8** | MSTG-AUTH-8 | Ο βιομετρικός έλεγχος ταυτότητας (εάν υπάρχει), δεν δεσμεύεται από events (δηλαδή, χρησιμοποιώντας ένα API που απλώς επιστρέφει "true" ή "false"). Αντίθετα, βασίζεται στο ξεκλείδωμα του keychain/keystore. | | x | +| **4.9** | MSTG-AUTH-9 | Ένας δεύτερος παράγοντας ελέγχου ταυτότητας υπάρχει στο απομακρυσμένο endpoint και η απαίτηση 2FA επιβάλλεται με συνέπεια. | | x | +| **4.10** | MSTG-AUTH-10 | Οι ευαίσθητες συναλλαγές απαιτούν διπλό έλεγχο ταυτότητας (step-up authentication). | | x | +| **4.11** | MSTG-AUTH-11 | Η εφαρμογή ενημερώνει τον χρήστη για όλες τις ευαίσθητες δραστηριότητες με τον λογαριασμό του. Οι χρήστες μπορούν να προβάλουν μια λίστα συσκευών, να προβάλουν πληροφορίες με βάση στοιχεία (διεύθυνση IP, τοποθεσία κλπ.) και να αποκλείσουν συγκεκριμένες συσκευές. | | x | +| **4.12** | MSTG-AUTH-12 | Τα μοντέλα εξουσιοδότησης θα πρέπει να ορίζονται και να επιβάλλονται στο απομακρυσμένο endpoint. | x | x | + +## Αναφορές + +To OWASP Mobile Security Testing Guide παρέχει λεπτομερείς οδηγίες για την επαλήθευση των απαιτήσεων που αναφέρονται παραπάνω. + +- General: Authentication and Session Management - +- Android: Testing Local Authentication - +- iOS: Testing Local Authentication - + +Για περισσότερες πληροφορίες, δείτε επίσης: + +- OWASP Mobile Top 10: M4 (Insecure Authentication) - +- OWASP Mobile Top 10: M6 (Insecure Authorization) - +- CWE 287 (Improper Authentication) - +- CWE 307 (Improper Restriction of Excessive Authentication Attempts) - +- CWE 308 (Use of Single-factor Authentication) - +- CWE 521 (Weak Password Requirements) - +- CWE 604 (Use of Client-Side Authentication) - +- CWE 613 (Insufficient Session Expiration) - diff --git a/Document-gr/0x10-V5-Network_communication_requirements.md b/Document-gr/0x10-V5-Network_communication_requirements.md new file mode 100644 index 000000000..9eeae2525 --- /dev/null +++ b/Document-gr/0x10-V5-Network_communication_requirements.md @@ -0,0 +1,39 @@ +# V5: Απαιτήσεις Επικοινωνίας Δικτύου + +## Στόχος Ελέγχου + +Ο σκοπός των στοιχείων ελέγχου που παρατίθενται σε αυτήν την ενότητα είναι να διασφαλίσουν την εμπιστευτικότητα και την ακεραιότητα των πληροφοριών που ανταλλάσσονται μεταξύ της mobile εφαρμογής και των τελικών απομακρυσμένων endpoints. Τουλάχιστον, μια mobile εφαρμογή πρέπει να δημιουργήσει ένα ασφαλές, κρυπτογραφημένο κανάλι για επικοινωνία δικτύου χρησιμοποιώντας το πρωτόκολλο TLS με τις κατάλληλες ρυθμίσεις. Το επίπεδο 2 παραθέτει πρόσθετο μέτρο άμυνας σε βάθος, όπως το SSL pinning. + +## Απαιτήσεις Επαλήθευσης Ασφάλειας + +| # | MSTG-ID | Description | L1 | L2 | +| -- | ---------- | ---------------------- | - | - | +| **5.1** | MSTG-NETWORK-1 | Τα δεδομένα κρυπτογραφούνται στο δίκτυο χρησιμοποιώντας TLS. Το ασφαλές κανάλι χρησιμοποιείται με συνέπεια σε όλη την εφαρμογή. | x | x | +| **5.2** | MSTG-NETWORK-2 | Οι ρυθμίσεις TLS είναι σύμφωνες με τις τρέχουσες βέλτιστες πρακτικές ή όσο το δυνατόν πλησιέστερα εάν το mobile λειτουργικό σύστημα δεν υποστηρίζει τα προτεινόμενα πρότυπα. | x | x | +| **5.3** | MSTG-NETWORK-3 | Η εφαρμογή επαληθεύει το πιστοποιητικό X.509 του απομακρυσμένου endpoint όταν δημιουργηθεί το ασφαλές κανάλι. Γίνονται αποδεκτά μόνο πιστοποιητικά υπογεγραμμένα από αξιόπιστη Aρχή έκδοσης πιστοποιητικών (CA). | x | x | +| **5.4** | MSTG-NETWORK-4 | Η εφαρμογή είτε χρησιμοποιεί το δικό της χώρο αποθήκευσης πιστοποιητικών, είτε κάνει pin το πιστοποιητικό του endpoint ή το δημόσιο κλειδί και στη συνέχεια, δεν δημιουργεί συνδέσεις με endpoints που προσφέρουν διαφορετικό πιστοποιητικό ή κλειδί, ακόμη και αν είναι υπογεγραμμένα από αξιόπιστη αρχή έκδοσης πιστοποιητικών. | | x | +| **5.5** | MSTG-NETWORK-5 | Η εφαρμογή δεν βασίζεται σε ένα ανασφαλές κανάλι επικοινωνίας (email ή SMS) για κρίσιμες λειτουργίες, όπως εγγραφές και ανάκτηση λογαριασμού. | | x | +| **5.6** | MSTG-NETWORK-6 | Η εφαρμογή εξαρτάται μόνο από ενημερωμένες βιβλιοθήκες συνδεσιμότητας και ασφάλειας. | | x | + +## Αναφορές + +Tο OWASP Mobile Security Testing Guide παρέχει λεπτομερείς οδηγίες για την επαλήθευση των απαιτήσεων που αναφέρονται σε αυτήν την ενότητα. + +- General: Testing Network Communication - +- Android: Testing Network Communication - +- iOS: Testing Network Communication - + +Για περισσότερες πληροφορίες, δείτε επίσης: + +- OWASP Mobile Top 10: M3 (Insecure Communication) - +- CWE 295 (Improper Certificate Validation) - +- CWE 296 (Improper Following of a Certificate's Chain of Trust) - +- CWE 297 (Improper Validation of Certificate with Host Mismatch) - +- CWE 298 (Improper Validation of Certificate Expiration) - +- CWE 308 (Use of Single-factor Authentication) - +- CWE 319 (Cleartext Transmission of Sensitive Information) - +- CWE 326 (Inadequate Encryption Strength) - +- CWE 327 (Use of a Broken or Risky Cryptographic Algorithm) - +- CWE 780 (Use of RSA Algorithm without OAEP) - +- CWE 940 (Improper Verification of Source of a Communication Channel) - +- CWE 941 (Incorrectly Specified Destination in a Communication Channel) - diff --git a/Document-gr/0x11-V6-Interaction_with_the_environment.md b/Document-gr/0x11-V6-Interaction_with_the_environment.md new file mode 100644 index 000000000..42677e311 --- /dev/null +++ b/Document-gr/0x11-V6-Interaction_with_the_environment.md @@ -0,0 +1,45 @@ +# V6: Απαιτήσεις Αλληλεπίδρασης με τη Πλατφόρμα + +## Στόχος Ελέγχου + +Τα στοιχεία ελέγχου αυτής της ομάδας διασφαλίζουν ότι η εφαρμογή χρησιμοποιεί τα APIs της πλατφόρμας και standard μέρη της με ασφαλή τρόπο. Επιπλέον, τα στοιχεία ελέγχου καλύπτουν την επικοινωνία μεταξύ εφαρμογών (IPC). + +## Απαιτήσεις Επαλήθευσης Ασφάλειας + +| # | MSTG-ID | Description | L1 | L2 | +| -- | ---------- | ---------------------- | - | - | +| **6.1** | MSTG-PLATFORM-1 | Η εφαρμογή ζητά μόνο το ελάχιστο σύνολο απαραίτητων αδειών. | x | x | +| **6.2** | MSTG-PLATFORM-2 | Όλες τα inputs από εξωτερικές πηγές καθώς και ο χρήστης επικυρώνονται, και εάν χρειάζεται, γίνονται sanitize. Αυτό περιλαμβάνει δεδομένα που λαμβάνονται μέσω της διεπαφής χρήστη (UI), μηχανισμούς IPC, όπως intents, προσαρμοσμένα URLs και πηγές δικτύου. | x | x | +| **6.3** | MSTG-PLATFORM-3 | Η εφαρμογή δεν εξάγει ευαίσθητες λειτουργίες μέσω προσαρμοσμένων URL schemes, εκτός εάν αυτοί οι μηχανισμοί προστατεύονται σωστά. | x | x | +| **6.4** | MSTG-PLATFORM-4 | Η εφαρμογή δεν εξάγει ευαίσθητη λειτουργικότητα μέσω IPC δυνατοτήτων, εκτός εάν αυτοί οι μηχανισμοί προστατεύονται κατάλληλα. | x | x | +| **6.5** | MSTG-PLATFORM-5 | Η JavaScript είναι απενεργοποιημένη στα WebViews, εκτός εάν απαιτείται ρητά. | x | x | +| **6.6** | MSTG-PLATFORM-6 | Τα WebViews έχουν ρυθμιστεί ώστε να επιτρέπουν μόνο το ελάχιστο σύνολο απαιτούμενων protocol handlers (ιδανικά, υποστηρίζεται μόνο το https). Οι δυνητικά επικίνδυνοι handlers, όπως το file, το tel και το app-id, είναι απενεργοποιημένα.| x | x | +| **6.7** | MSTG-PLATFORM-7 | Εάν οι native μέθοδοι της εφαρμογής εκτίθενται σε ένα WebView, βεβαιωθείτε ότι το WebView αποδίδει μόνο JavaScript που περιέχεται στο package της εφαρμογής. | x | x | +| **6.8** | MSTG-PLATFORM-8 | Το object deserialization (εάν υπάρχει), υλοποιείται με χρήση ασφαλών serialization APIs. | x | x | +| **6.9** | MSTG-PLATFORM-9 | Η εφαρμογή προστατεύεται από επιθέσεις επικάλυψης οθόνης (screen overlay attacks, μόνο για Android) | | x | +| **6.10** | MSTG-PLATFORM-10 | Η cache, το storage και οι φορτωμένοι πόροι (JavaScript, κ.λπ.) ενός WebView θα πρέπει να διαγραφούν πριν καταστραφεί το WebView. | | x | +| **6.11** | MSTG-PLATFORM-11 | Επαληθεύστε ότι η εφαρμογή αποτρέπει τη χρήση τρίτων (custom) πληκτρολογίων, όποτε εισάγονται ευαίσθητα δεδομένα (μόνο για iOS).| | x | + +## Αναφορές + +Tο OWASP Mobile Security Testing Guide παρέχει λεπτομερείς οδηγίες για την επαλήθευση των απαιτήσεων που αναφέρονται σε αυτήν την ενότητα. + +- Android: Testing Platform Interaction - +- iOS: Testing Platform Interaction - + +Για περισσότερες πληροφορίες, δείτε επίσης: + +- OWASP Mobile Top 10: M1 (Improper Platform Usage) - +- OWASP Mobile Top 10: M7 (Poor Code Quality) - +- CWE 20 (Improper Input Validation) - +- CWE 79 (Improper Neutralization of Input During Web Page Generation) - +- CWE 200 (Information Leak / Disclosure) - +- CWE 250 (Execution with Unnecessary Privileges) - +- CWE 672 (Operation on a Resource after Expiration or Release) - +- CWE 749 (Exposed Dangerous Method or Function) - +- CWE 772 (Missing Release of Resource after Effective Lifetime) - +- CWE 920 (Improper Restriction of Power Consumption) - +- CWE 925 (Improper Verification of Intent by Broadcast Receiver) - +- CWE 926 (Improper Export of Android Application Components) - +- CWE 927 (Use of Implicit Intent for Sensitive Communication) - +- CWE 939 (Improper Authorization in Handler for Custom URL Scheme) - diff --git a/Document-gr/0x12-V7-Code_quality_and_build_setting_requirements.md b/Document-gr/0x12-V7-Code_quality_and_build_setting_requirements.md new file mode 100644 index 000000000..4183ea271 --- /dev/null +++ b/Document-gr/0x12-V7-Code_quality_and_build_setting_requirements.md @@ -0,0 +1,42 @@ +# V7: Απαιτήσεις Ποιότητας Κώδικα και Ρύθμισης Build + +## Στόχος Ελέγχου + +Ο στόχος αυτού του ελέγχου είναι να διασφαλίσει ότι ακολουθούνται βασικές πρακτικές ασφαλούς κώδικα κατά την ανάπτυξη της εφαρμογής, και ότι ενεργοποιούνται οι "δωρεάν" δυνατότητες ασφαλείας που προσφέρονται από τον μεταγλωττιστή. + +## Απαιτήσεις Επαλήθευσης Ασφάλειας + +| # | MSTG-ID | Description | L1 | L2 | +| -- | ---------- | ---------------------- | - | - | +| **7.1** | MSTG-CODE-1 | Η εφαρμογή είναι υπογεγραμμένη και εφοδιασμένη με έγκυρο πιστοποιητικό, του οποίου το ιδιωτικό κλειδί προστατεύεται κατάλληλα. | x | x | +| **7.2** | MSTG-CODE-2 | Η εφαρμογή έχει δημιουργηθεί σε λειτουργία έκδοσης (release mode), με ρυθμίσεις κατάλληλες για ένα release build (π.χ. χωρίς τη δυνατότητα debugging). | x | x | +| **7.3** | MSTG-CODE-3 | Tα debugging symbols έχουν αφαιρεθεί από τα native binaries | x | x | +| **7.4** | MSTG-CODE-4 | Κώδικας Debugging and κώδικας που χρησιμοποιείται για βοήθεια του developer (πχ test code, backdoors, κρυφές ρυθμίσεις) έχουν αφαιρεθεί. Η εφαρμογή δε καταγράφει αναλυτικά (verbose) error ή debugging μηνύματα. | x | x | +| **7.5** | MSTG-CODE-5 | Όλα τα τρίτα στοιχεία/υποσυστήματα που χρησιμοποιούνται από την mobile εφαρμογή, όπως βιβλιοθήκες και frameworks, εντοπίζονται και ελέγχονται για γνωστές ευπάθειες. | x | x | +| **7.6** | MSTG-CODE-6 | Η εφαρμογή εντοπίζει και χειρίζεται πιθανά exceptions. | x | x | +| **7.7** | MSTG-CODE-7 | H λογική διαχείρισης σφαλμάτων (error handling logic) στoυς μηχανισμούς ασφαλείας δεν επιτρέπει τη by default πρόσβαση. | x | x | +| **7.8** | MSTG-CODE-8 | Στον unmanaged κώδικα η μνήμη γίνεται allocate, freed και χρησιμοποιείται με ασφάλεια | x | x | +| **7.9** | MSTG-CODE-9 | Ενεργοποιούνται δωρεάν λειτουργίες ασφαλείας που προσφέρει το toolchain, όπως byte-code minimization , stack protection, PIE support, και reference counting. | x | x | + +## Αναφορές + +Tο OWASP Mobile Security Testing Guide παρέχει λεπτομερείς οδηγίες για την επαλήθευση των απαιτήσεων που αναφέρονται σε αυτήν την ενότητα. + +- Android: Testing Code Quality and Build Settings - +- iOS: Testing Code Quality and Build Settings - + +Για περισσότερες πληροφορίες, δείτε επίσης: + +- OWASP Mobile Top 10: M7 (Poor Code Quality) - +- CWE 20 (Improper Input Validation) - +- CWE 89 (Improper Neutralization of Special Elements used in an SQL Command) - +- CWE 95 (Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')) - +- CWE 119 (Improper Restriction of Operations within the Bounds of a Memory Buffer) - +- CWE 215 (Information Exposure through Debug Information) - +- CWE 388 (7PK - Errors) - +- CWE 489 (Leftover Debug Code) - +- CWE 502 (Deserialization of Untrusted Data) - +- CWE 511 (Logic/Time Bomb) - +- CWE 656 (Reliance on Security through Obscurity) - +- CWE 676 (Use of Potentially Dangerous Function) - +- CWE 937 (OWASP Top Ten 2013 Category A9 - Using Components with Known Vulnerabilities) - diff --git a/Document-gr/0x15-V8-Resiliency_Against_Reverse_Engineering_Requirements.md b/Document-gr/0x15-V8-Resiliency_Against_Reverse_Engineering_Requirements.md new file mode 100644 index 000000000..30e7a232e --- /dev/null +++ b/Document-gr/0x15-V8-Resiliency_Against_Reverse_Engineering_Requirements.md @@ -0,0 +1,71 @@ +# V8: Απαιτήσεις Ανθεκτικότητας + +## Στόχος Ελέγχου + +Αυτή η ενότητα καλύπτει μέτρα άμυνας σε βάθος (defense-in-depth) που προτείνονται για εφαρμογές που επεξεργάζονται ή παρέχουν πρόσβαση σε ευαίσθητα δεδομένα ή λειτουργίες. Η έλλειψη κάποιου από αυτά τα στοιχεία ελέγχου δεν προκαλεί ευπάθεια. Αντίθετα, προορίζονται να αυξήσουν την ανθεκτικότητα της εφαρμογής έναντι τoυ reverse engineering και συγκεκριμένων επιθέσεων από την πλευρά του client. + +Οι έλεγχοι σε αυτήν την ενότητα θα πρέπει να εφαρμοστούν όπως πρέπει, η αξιολόγηση των κινδύνων που προκαλείται από μη εξουσιοδοτημένη παραβίαση της εφαρμογής ή/και του reverse engineering του κώδικα. Προτείνουμε να συμβουλευτείτε το έγγραφο του OWASP "Technical Risks of Reverse Engineering and Unauthorized Code Modification Reverse Engineering and Code Modification Prevention" (βλ. παραπομπές παρακάτω) για μια λίστα κινδύνων και σχετικών τεχνικών απειλών. + +Για να είναι αποτελεσματικό οποιοδήποτε από τα στοιχεία ελέγχου της παρακάτω λίστας, η εφαρμογή πρέπει να πληροί τουλάχιστον όλα τα MASVS-L1 (δηλαδή, πρέπει να υπάρχουν σταθερά στοιχεία ελέγχου ασφαλείας), καθώς και όλες τις απαιτήσεις με χαμηλότερο αριθμό στο V8. Για παράδειγμα, τα obfuscation controls που παρατίθενται στην ενότητα "Παρεμπόδιση Κατανόησης (Impede Comprehension)" πρέπει να συνδυάζονται με την "Παρεμπόδιση δυναμικής ανάλυσης και παραβίασης (Ιmpede Dynamic Analysis and Tampering)" και "Δέσμευση με τη συσκευή (Device Binding)". + +**Λάβετε υπόψη ότι οι προστασίες λογισμικού δεν πρέπει ποτέ να χρησιμοποιούνται ως αντικατάσταση των στοιχείων ελέγχου ασφαλείας. Τα στοιχεία ελέγχου που αναφέρονται στο MASVR-R προορίζονται να προσθέσουν ειδικά για την απειλή, πρόσθετα προστατευτικά στοιχεία ελέγχου σε εφαρμογές που πληρούν επίσης τις απαιτήσεις ασφαλείας MASVS.** + +Ισχύουν οι ακόλουθες εκτιμήσεις: + +1. Πρέπει να οριστεί ένα μοντέλο απειλών που να περιγράφει με σαφήνεια τις απειλές από την πλευρά του client που πρόκειται να προστατευθούν. Επιπλέον, πρέπει να προσδιορίζεται ο βαθμός προστασίας που προορίζεται να παρέχει το σύστημα. Για παράδειγμα, ένας δηλωμένος στόχος θα μπορούσε να είναι να αναγκαστούν οι δημιουργοί στοχευμένου malware που επιδιώκουν να βλάψουν την εφαρμογή να επενδύσουν σημαντική προσπάθεια manual reverse engineering. + +2. Το μοντέλο απειλής πρέπει να είναι αξιόπιστο και σχετικό. Για παράδειγμα, η απόκρυψη ενός κρυπτογραφικού κλειδιού σε μια ανοιχτού κώδικα (white box) υλοποίησης μπορεί να αποδειχθεί περιττή, εάν ένας επιτιθέμενος μπορεί απλώς να υποκλέψει απευθείας το κώδικα. + +3. Η αποτελεσματικότητα της προστασίας θα πρέπει πάντα να επαληθεύεται από έναν άνθρωπο, ειδικό με πείρα στη δοκιμή των συγκεκριμένων τύπων anti-tampering και obfuscation που χρησιμοποιούνται (βλ. επίσης τα κεφάλαια "reverse engineering" και "assessing software protections" στο OWASP Mobile Security Testing Guide) + + + +### Παρεμπόδιση δυναμικής ανάλυσης και παραβίασης (Impede Dynamic Analysis and Tampering) + +| # | MSTG-ID | Description | R | +| -- | ----------- | ---------------------- | - | +| **8.1** | MSTG-RESILIENCE-1 | Η εφαρμογή εντοπίζει και ανταποκρίνεται στη παρουσία μιας rooted/jailbroken συσκευής είτε προειδοποιώντας το χρήστη είτε τερματίζοντας την εφαρμογή. | x | +| **8.2** | MSTG-RESILIENCE-2 | Η εφαρμογή εντοπίζει και ανταποκρίνεται σε ένα debugger που είναι σε χρήση. Όλα τα διαθέσιμα πρωτόκολλα debugging πρέπει να καλύπτονται. | x | +| **8.3** | MSTG-RESILIENCE-3 | Η εφαρμογή εντοπίζει και ανταποκρίνεται στη παραβίαση και τροποποίηση εκτελέσιμων αρχείων ή σημαντικών δεδομένων μέσα στο sandbox της. | x | +| **8.4** | MSTG-RESILIENCE-4 | Η εφαρμογή εντοπίζει και ανταποκρίνεται στη παρουσία ευρέως χρησιμοποιούμενων εργαλείων και frameworks στη συσκευή. | x | +| **8.5** | MSTG-RESILIENCE-5 | Η εφαρμογή εντοπίζει και ανταποκρίνεται στη λειτουργία μέσα σε emulator. | x | +| **8.6** | MSTG-RESILIENCE-6 | Η εφαρμογή εντοπίζει και ανταποκρίνεται στη παραβίαση και τροποποίηση του κώδικα και των δεδομένων μέσα στο memory space της. | x | +| **8.7** | MSTG-RESILIENCE-7 | Η εφαρμογή εφαρμόζει πολλαπλούς μηχανισμούς σε κάθε κατηγορία άμυνας (8.1 έως 8.6). Σημειώστε ότι η ανθεκτικότητα κλιμακώνεται με την ποσότητα και την ποικιλομορφία της πρωτοτυπίας των μηχανισμών που χρησιμοποιούνται. | x | +| **8.8** | MSTG-RESILIENCE-8 | Οι μηχανισμοί ανίχνευσης ενεργοποιούν αποκρίσεις διαφορετικών τύπων, συμπεριλαμβανομένων καθυστερημένων και κρυφών αποκρίσεων. | x | +| **8.9** | MSTG-RESILIENCE-9 | Το obfuscation εφαρμόζεται σε προγραμματικές άμυνες, οι οποίες με τη σειρά τους εμποδίζουν τo deobfuscation μέσω δυναμικής ανάλυσης. | x | + + +### Δέσμευση με τη συσκευή (Device Binding) + +| # | MSTG-ID | Description | R | +| -- | ----------- | ---------------------- | - | +| **8.10** | MSTG-RESILIENCE-10 | Η εφαρμογή υλοποιεί μια λειτουργία «σύνδεσης συσκευής» (device binding) χρησιμοποιώντας ένα δακτυλικό αποτύπωμα συσκευής που προέρχεται από πολλαπλές ιδιότητες μοναδικές για τη συσκευή. | x | + +### Παρεμπόδιση Κατανόησης (Impede Comprehension) + +| # | MSTG-ID | Description | R | +| -- | ----------- | ---------------------- | - | +| **8.11** | MSTG-RESILIENCE-11 | Όλα τα εκτελέσιμα αρχεία και οι βιβλιοθήκες που ανήκουν στην εφαρμογή είτε είναι κρυπτογραφημένα σε επίπεδο αρχείου ή/και σημαντικά τμήματα κώδικα και δεδομένων μέσα στα εκτελέσιμα είναι κρυπτογραφημένα ή packed. Μια βασική στατική ανάλυση δεν αποκαλύπτει σημαντικό κώδικα ή δεδομένα.| x | +| **8.12** | MSTG-RESILIENCE-12 | Εάν ο στόχος του obfuscation είναι η προστασία ευαίσθητων υπολογισμών, χρησιμοποιείται ένα obfuscation scheme που είναι κατάλληλο για τη συγκεκριμένη εργασία και ανθεκτικό έναντι των χειροκίνητων (manual) και αυτοματοποιημένων μεθόδων deobfuscation, λαμβάνοντας υπόψη την τρέχουσα δημοσιευμένη έρευνα. Η αποτελεσματικότητα του συστήματος deobfuscation πρέπει να επαληθευτεί μέσω manual tests. Σημειώστε ότι οι λειτουργίες απομόνωσης που βασίζονται στο hardware προτιμώνται έναντι του obfuscation όποτε είναι δυνατόν. | x | + +### Παρεμπόδιση Καταγραφής (Impede Eavesdropping) + +| # | MSTG-ID | Description | R | +| -- | ----------- | ---------------------- | - | +| **8.13** | MSTG-RESILIENCE-13 | Ως άμυνα σε βάθος (defense-in-depth), εκτός από τo σταθερό hardening των μερών/υποσυστημάτων που επικοινωνούν, μπορεί να εφαρμοστεί κρυπτογράφηση payload σε επίπεδο εφαρμογής για να εμποδίσει περαιτέρω την υποκλοπή. | x | + + + +## Αναφορές + +Tο OWASP Mobile Security Testing Guide παρέχει λεπτομερείς οδηγίες για την επαλήθευση των απαιτήσεων που αναφέρονται σε αυτήν την ενότητα. + +- Android: Testing Resiliency Against Reverse Engineering - +- iOS: Testing Resiliency Against Reverse Engineering - + +Για περισσότερες πληροφορίες, δείτε επίσης: + +- OWASP Mobile Top 10: M8 (Code Tampering) - +- OWASP Mobile Top 10: M9 (Reverse Engineering) - +- OWASP Reverse Engineering Threats - +- OWASP Reverse Engineering and Code Modification Prevention - diff --git a/Document-gr/0x90-Appendix-A_Glossary.md b/Document-gr/0x90-Appendix-A_Glossary.md new file mode 100644 index 000000000..5e8c17888 --- /dev/null +++ b/Document-gr/0x90-Appendix-A_Glossary.md @@ -0,0 +1,42 @@ +# Παράρτημα Α: Γλωσσάρι + +- **Address Space Layout Randomization (ASLR)** – Μια τεχνική για να κάνει πιο δύσκολη την εκμετάλλευση σφαλμάτων τύπου memory corruption. +- **Application Security** – Η ασφάλεια σε επίπεδο εφαρμογής εστιάζει στην ανάλυση στοιχείων που αποτελούν το επίπεδο εφαρμογής του Μοντέλου Αναφοράς Διασύνδεσης Ανοικτών Συστημάτων (OSI Model), αντί να εστιάζει, για παράδειγμα, στο υποκείμενο λειτουργικό σύστημα ή στα συνδεδεμένα δίκτυα. +- **Application Security Verification** – Η τεχνική αξιολόγηση μιας εφαρμογής έναντι του OWASP MASVS. +- **Application Security Verification Report** – Μια αναφορά που τεκμηριώνει τα συνολικά αποτελέσματα και την υποστηρικτική ανάλυση που παράγεται από τον ελεγκτή για μια συγκεκριμένη εφαρμογή. +- **Authentication** – Η επαλήθευση της διεκδικούμενης ταυτότητας ενός χρήστη εφαρμογής. +- **Automated Verification** – Η χρήση αυτοματοποιημένων εργαλείων (είτε εργαλεία δυναμικής ανάλυσης, εργαλεία στατικής ανάλυσης ή και τα δύο) που χρησιμοποιούν υπογραφές ευπαθειών για την εύρεση προβλημάτων. +- **Black Box Testing** – Είναι μια μέθοδος δοκιμής λογισμικού που εξετάζει τη λειτουργικότητα μιας εφαρμογής χωρίς να εξετάζει τις εσωτερικές δομές ή τις λειτουργίες της. +- **Component** – Μια αυτόνομη μονάδα κώδικα, με συσχετισμένες διεπαφές δίσκου και δικτύου που επικοινωνεί με άλλα στοιχεία. +- **Cross-Site Scripting (XSS)** – Μια ευπάθεια ασφαλείας που συνήθως εντοπίζεται σε εφαρμογές web που επιτρέπει την εισαγωγή σεναρίων από την πλευρά του πελάτη στο περιεχόμενο. +- **Cryptographic Module** – Υλικό, λογισμικό ή/και υλικολογισμικό που εφαρμόζει κρυπτογραφικούς αλγόριθμους ή/και δημιουργεί κρυπτογραφικά κλειδιά. +- **CWE** – Το CWE είναι μια λίστα κοινών αδυναμιών ασφάλειας λογισμικού που έχει αναπτυχθεί από την κοινότητα. Χρησιμεύει ως μια κοινή γλώσσα, ένα μέσο μέτρησης για εργαλεία ασφάλειας λογισμικού και ως βάση για τον εντοπισμό αδυναμιών, τον μετριασμό και τις προσπάθειες πρόληψης. +- **Dynamic Application Security Testing (DAST)** – Οι τεχνολογίες DAST έχουν σχεδιαστεί για να ανιχνεύουν συνθήκες που υποδεικνύουν μια ευπάθεια ασφαλείας σε μια εφαρμογή σε κατάσταση λειτουργίας. +- **Design Verification** – Η τεχνική αξιολόγηση της αρχιτεκτονικής ασφαλείας μιας εφαρμογής. +- **Dynamic Verification** – Η χρήση αυτοματοποιημένων εργαλείων που χρησιμοποιούν υπογραφές ευπαθειών για την εύρεση προβλημάτων κατά την εκτέλεση μιας εφαρμογής. +- **Globally Unique Identifier (GUID)** – Ένας μοναδικός αριθμός αναφοράς που χρησιμοποιείται ως αναγνωριστικό στο λογισμικό. +- **Hyper Text Transfer Protocol (HTTP)** – Ένα πρωτόκολλο εφαρμογής για κατανεμημένα, συνεργατικά, πληροφοριακά συστήματα υπερμέσων. Είναι το θεμέλιο της επικοινωνίας δεδομένων για τον Παγκόσμιο Ιστό. +- **Hardcoded Keys** – Κρυπτογραφικά κλειδιά που είναι αποθηκευμένα στην ίδια τη συσκευή. +- **IPC** – Inter Process Communications, Στο IPC, οι διεργασίες επικοινωνούν μεταξύ τους και με τον πυρήνα για να συντονίσουν τις δραστηριότητές τους. +- **Input Validation** – Η κανονικοποίηση και η επικύρωση των μη αξιόπιστων εισροών χρήστη. +- **Java Bytecode** – Το bytecode Java είναι το σύνολο εντολών της εικονικής μηχανής Java (JVM). Κάθε bytecode αποτελείται από ένα, ή σε ορισμένες περιπτώσεις δύο byte που αντιπροσωπεύουν την εντολή (opcode), μαζί με μηδέν ή περισσότερα byte για τη μετάδοση παραμέτρων. +- **Malicious Code** – Ο κώδικας που εισήχθη σε μια εφαρμογή κατά την ανάπτυξή της εν αγνοία του κατόχου της εφαρμογής, ο οποίος παρακάμπτει την επιδιωκόμενη πολιτική ασφαλείας της εφαρμογής. Δεν είναι το ίδιο με κακόβουλο λογισμικό, όπως ιός ή ιός τύπου worm! +- **Malware** – Εκτελέσιμος κώδικας που εισάγεται σε μια εφαρμογή κατά τη διάρκεια του χρόνου εκτέλεσης χωρίς τη γνώση του χρήστη ή του διαχειριστή της εφαρμογής. +- **Open Web Application Security Project (OWASP)** – Το Open Web Application Security Project (OWASP) είναι μια παγκόσμια δωρεάν και ανοιχτή κοινότητα που επικεντρώνεται στη βελτίωση της ασφάλειας του λογισμικού εφαρμογών. Η αποστολή μας είναι να κάνουμε την ασφάλεια των εφαρμογών «ορατή», έτσι ώστε άτομα και οργανισμοί να μπορούν να λαμβάνουν τεκμηριωμένες αποφάσεις σχετικά με τους κινδύνους ασφάλειας εφαρμογών. βλ: +- **Personally Identifiable Information (PII)** – PII είναι πληροφορίες που μπορούν να χρησιμοποιηθούν από μόνες τους ή με άλλες πληροφορίες για την αναγνώριση, επαφή ή εντοπισμό ενός μεμονωμένου ατόμου ή για την αναγνώριση ενός ατόμου στο πλαίσιο. +- **Position-Independent Executable (PIE)** – Ένα PIE είναι ένα μερός κώδικα μηχανής που, τοποθετημένο κάπου στην κύρια μνήμη, εκτελείται σωστά ανεξάρτητα από την απόλυτη διεύθυνσή (absolute address) του. +- **Public Key Infrastructure (PKI)** – Το PKI είναι μια διάταξη που δεσμεύει δημόσια κλειδιά με αντίστοιχες ταυτότητες οντοτήτων. Η δέσμευση καθορίζεται μέσω μιας διαδικασίας εγγραφής και έκδοσης πιστοποιητικών σε και από μια αρχή έκδοσης πιστοποιητικών (CA). +- **Static Application Security Testing (SAST)** – Το SAST είναι ένα σύνολο τεχνολογιών που έχουν σχεδιαστεί για να αναλύουν τον πηγαίο κώδικα εφαρμογής, τον κώδικα byte και τα binary αρχεία για την κωδικοποίηση και τις συνθήκες σχεδιασμού που είναι ενδεικτικές ευπάθειας ασφαλείας. Οι λύσεις SAST αναλύουν μια εφαρμογή από "μέσα προς τα έξω" σε κατάσταση που δεν εκτελείται. +- **SDLC** – Κύκλος ζωής ανάπτυξης λογισμικού. +- **Security Architecture** – Μια περίληψη του σχεδιασμού μιας εφαρμογής που προσδιορίζει και περιγράφει πού και πώς χρησιμοποιούνται οι μηχανισμοί ελέγχου ασφαλείας, καθώς επίσης και προσδιορίζει και περιγράφει τη θέση και την ευαισθησία τόσο των δεδομένων χρήστη όσο και της εφαρμογής. +- **Security Configuration** – Η διαμόρφωση κατά το χρόνο εκτέλεσης (runtime configuration) μιας εφαρμογής που επηρεάζει τον τρόπο χρήσης των μηχανισμών ασφαλείας. +- **Security Control** – Μια συνάρτηση ή στοιχείο που εκτελεί έλεγχο ασφαλείας (π.χ. μηχανισμός ελέγχου πρόσβασης) ή όταν καλείται έχει ως αποτέλεσμα μια ενέργεια ασφαλείας (π.χ. δημιουργία αρχείου ελέγχου). +- **SQL Injection (SQLi)** – Μια τεχνική έγχυσης κώδικα (code injection) που χρησιμοποιείται για την επίθεση σε εφαρμογές που βασίζονται σε δεδομένα, στην οποία εισάγονται κακόβουλες δηλώσεις SQL σε ένα σημείο εισόδου. +- **SSO Authentication** – To Single Sign On (SSO) συμβαίνει όταν ένας χρήστης συνδέεται σε έναν client και στη συνέχεια συνδέεται αυτόματα σε άλλους clients, ανεξάρτητα από την πλατφόρμα, την τεχνολογία ή τον τομέα που χρησιμοποιεί ο χρήστης. Για παράδειγμα, όταν συνδέεστε στο google, συνδέεστε αυτόματα στην υπηρεσία youtube, έγγραφα και αλληλογραφία. +- **Threat Modeling** – Μια τεχνική που αποτελείται από την ανάπτυξη ολοένα και πιο εκλεπτυσμένων αρχιτεκτονικών ασφαλείας για τον εντοπισμό παραγόντων απειλής, ζώνες ασφαλείας, ελέγχους ασφαλείας και σημαντικά τεχνικά και επιχειρηματικά περιουσιακά στοιχεία. +- **Transport Layer Security** – Κρυπτογραφικά πρωτόκολλα που παρέχουν ασφάλεια επικοινωνίας μέσω Διαδικτύου +- **URI and URL** – Ένα Uniform Resource Identifier (URI) είναι μια συμβολοσειρά χαρακτήρων που χρησιμοποιούνται για την αναγνώριση ενός ονόματος ή ενός πόρου Ιστού. Ένας Uniform Resource Locator (URL) χρησιμοποιείται συχνά ως αναφορά σε έναν πόρο. +- **User Acceptance Testing (UAT)** – Παραδοσιακά ένα περιβάλλον δοκιμής που συμπεριφέρεται όπως το περιβάλλον παραγωγής όπου όλες οι δοκιμές λογισμικού εκτελούνται πριν από τη μετάδοση. +- **Verifier** – Το άτομο ή η ομάδα που εξετάζει μια εφαρμογή σε σχέση με τις απαιτήσεις του OWASP MASVS. +- **Whitelist** – Μια λίστα με επιτρεπόμενα δεδομένα ή λειτουργίες, για παράδειγμα μια λίστα χαρακτήρων που επιτρέπεται να εκτελούν επικύρωση εισόδου. +- **X.509 Certificate** – Ένα πιστοποιητικό X.509 είναι ένα ψηφιακό πιστοποιητικό που χρησιμοποιεί το ευρέως αποδεκτό διεθνές πρότυπο υποδομής δημόσιου κλειδιού X.509 (PKI) για να επαληθεύσει ότι ένα δημόσιο κλειδί ανήκει στον χρήστη, τον υπολογιστή ή την ταυτότητα υπηρεσίας που περιέχεται στο πιστοποιητικό. diff --git a/Document-gr/0x91-Appendix-B_References.md b/Document-gr/0x91-Appendix-B_References.md new file mode 100644 index 000000000..7db8dec5e --- /dev/null +++ b/Document-gr/0x91-Appendix-B_References.md @@ -0,0 +1,14 @@ +# Παράρτημα Β: Αναφορές + +Τα ακόλουθα έργα του OWASP είναι πολύ πιθανό να είναι χρήσιμα στους χρήστες αυτού του προτύπου: + +- OWASP Mobile Security Project - [https://owasp.org/www-project-mobile-security/](https://owasp.org/www-project-mobile-security/) +- OWASP Mobile Security Testing Guide - [https://owasp.org/www-project-mobile-security-testing-guide/](https://owasp.org/www-project-mobile-security-testing-guide/) +- OWASP Mobile Top 10 Risks - [https://owasp.org/www-project-mobile-top-10/](https://owasp.org/www-project-mobile-top-10/) +- OWASP Reverse Engineering and Code Modification Prevention - [https://wiki.owasp.org/index.php/OWASP_Reverse_Engineering_and_Code_Modification_Prevention_Project](https://wiki.owasp.org/index.php/OWASP_Reverse_Engineering_and_Code_Modification_Prevention_Project) + +Ομοίως, οι ακόλουθοι ιστότοποι είναι πολύ πιθανό να είναι χρήσιμοι στους χρήστες αυτού του προτύπου: + +- MITRE Common Weakness Enumeration - [http://cwe.mitre.org/](http://cwe.mitre.org/) +- PCI Security Standards Council - [https://www.pcisecuritystandards.org](https://www.pcisecuritystandards.org) +- PCI Data Security Standard (DSS) v3.0 Requirements and Security Assessment Procedures - [https://www.pcisecuritystandards.org/documents/PCI\_DSS\_v3.pdf](https://www.pcisecuritystandards.org/documents/PCI_DSS_v3.pdf) diff --git a/Document-gr/CHANGELOG.md b/Document-gr/CHANGELOG.md new file mode 100644 index 000000000..d1a92d2a7 --- /dev/null +++ b/Document-gr/CHANGELOG.md @@ -0,0 +1,99 @@ +# Αρχείο καταγραφής αλλαγών (Changelog) + +## V1.3.1 και νεότερη έκδοση + +Όλα τα Changelog μας είναι διαθέσιμα στο διαδίκτυο στο Github repo OWASP MASVS, ανατρέξτε στo [Releases page](https://github.com/OWASP/owasp-masvs/releases). + +## V1.3 - 13 Μαΐου 2021 + +Είμαστε περήφανοι που ανακοινώνουμε την εισαγωγή ενός document build pipeline, ο οποίος αποτελεί σημαντικό ορόσημο για το έργο μας. Το build pipeline βασίζεται στο [Pandocker](https://github.com/dalibo/pandocker) και στο [Github Actions](https://github.com/OWASP/owasp-masvs/tree/master/.github/workflows ). +Αυτό μειώνει σημαντικά τον χρόνο που δαπανάται για τη δημιουργία νέων εκδόσεων και θα αποτελέσει επίσης τη βάση για το OWASP MSTG και θα διατεθεί για το έργο OWASP ASVS. + +### Αλλαγές + +- Υπάρχουν διαθέσιμες 4 ακόμη μεταφράσεις, οι οποίες είναι Hindi, Farsi, Πορτογαλικά και Πορτογαλικά Βραζιλίας +- Προστέθηκε η απαίτηση MSTG-PLATFORM-11 + +### Ιδιαίτερες ευχαριστίες + +- Το Jeroen Willemsen για την έναρξη αυτής της πρωτοβουλίας πέρυσι! +- Το Damien Clochard και το Dalibo για την υποστήριξη και την επαγγελματοποίηση του build pipeline. +- Όλοι οι Hindi, Farsi, Πορτογάλοι και Βραζιλιάνοι συνεργάτες μας για την εξαιρετική μεταφραστική δουλειά. + +## V1.2 - 7 Μαρτίου 2020 - Διεθνής κυκλοφορία + +Οι ακόλουθες αλλαγές αποτελούν μέρος της έκδοσης 1.2: + +- Διατίθεται μετάφραση του MASVS στα απλοποιημένα κινέζικα. +- Αλλαγή τίτλου στο εξώφυλλο του βιβλίου MASVS. +- Αφαιρέθηκε το Mobile Top 10 και το CWE από το MSTG και συγχωνεύτηκαν σε υπάρχουσες αναφορές στο MASVS. + +## V1.2-RC - 5 Οκτωβρίου 2019 - Προέκδοση (μόνο στα Αγγλικά) + +Οι ακόλουθες αλλαγές αποτελούν μέρος της προέκδοσης 1.2: + +- Προαγωγή σε flagship status. +- Η απαίτηση άλλαξε: MSTG-STORAGE-1 "πρέπει να χρησιμοποιηθεί". +- Προστίθενται οι απαιτήσεις MSTG-STORAGE-13, MSTG-STORAGE-14 και MSTG-STORAGE-15 με έμφαση στην προστασία δεδομένων. +- Η απαίτηση MSTG-AUTH-11 ενημερώθηκε για τη διατήρηση των συναφών πληροφοριών. +- Η απαίτηση MSTG-CODE-4 ενημερώθηκε για να καλύπτει περισσότερα από απλώς το debugging. +- Η απαίτηση MSTG-PLATFORM-10 προστέθηκε για την περαιτέρω ασφαλή χρήση των WebViews. +- Η απαίτηση MSTG-AUTH-12 προστέθηκε για να υπενθυμίζει στους προγραμματιστές την εφαρμογή εξουσιοδοτήσεων, ειδικά στην περίπτωση εφαρμογών πολλών χρηστών. +- Προστέθηκε λίγη περισσότερη περιγραφή για το πώς θα πρέπει να χρησιμοποιείται το MASVS με βάση την αξιολόγηση κινδύνου. +- Προστέθηκε λίγη περισσότερη περιγραφή για το περιεχόμενο επί πληρωμή. +- Η απαίτηση MSTG-ARCH-11 προστέθηκε για να συμπεριλάβει μια πολιτική Υπεύθυνης Αποκάλυψης (ΝDA) για εφαρμογές L2. +- Η απαίτηση MSTG-ARCH-12 προστέθηκε για να δείξει στους προγραμματιστές εφαρμογών ότι πρέπει να τηρούνται οι σχετικοί διεθνείς νόμοι περί απορρήτου και ιδιωτικότητας. +- Δημιούργησε ένα συνεπές στυλ για όλες τις αναφορές στην αγγλική έκδοση. +- Η απαίτηση MSTG-PLATFORM-11 προστέθηκε για την καταπολέμηση της κατασκοπείας μέσω πληκτρολογίων τρίτων. +- Η απαίτηση MSTG-MSTG-RESILIENCE-13 προστέθηκε για να εμποδίσει την υποκλοπή σε μια εφαρμογή. + +## V1.1.4 - 4 Ιουλίου 2019 - Έκδοση summit + +Οι ακόλουθες αλλαγές αποτελούν μέρος της έκδοσης 1.1.4: + +- Διορθώθηκαν όλα τα ζητήματα σήμανσης. +- Ενημερώσεις στη γαλλική και ισπανική μετάφραση. +- Μεταφράστηκε το αρχείο καταγραφής αλλαγών (changelog) στα Κινέζικα (ZHTW) και στα Ιαπωνικά. +- Αυτοματοποιημένη επαλήθευση της σύνταξης σήμανσης και της προσβασιμότητας των διευθύνσεων URL. +- Προστέθηκαν κωδικοί αναγνώρισης στις απαιτήσεις, οι οποίοι θα συμπεριληφθούν στη μελλοντική έκδοση του MSTG για να βρίσκετε εύκολα τις συστάσεις και τις δοκιμαστικές περιπτώσεις. +- Μειώθηκε το μέγεθος του repo και προστέθηκε το Generated στο .gitignore. +- Προστέθηκε ένας Κώδικας Δεοντολογίας & Οδηγίες Συνεισφοράς. +- Προστέθηκε ένα πρότυπο Pull-Request. +- Ενημερώθηκε ο συγχρονισμός με το repo που χρησιμοποιείται για τη φιλοξενία του ιστότοπου Gitbook. +- Ενημερώθηκαν τα σενάρια για τη δημιουργία XML/JSON/CSV για όλες τις μεταφράσεις. +- Μεταφράστηκε ο Πρόλογος στα Κινέζικα (ZHTW). + +## V1.1.3 - 9 Ιανουαρίου 2019 - Μικρές διορθώσεις + +- Διορθώστε το ζήτημα μετάφρασης της απαίτησης 7.1 στην ισπανική έκδοση +- Νέα ρύθμιση μεταφραστών σε ευχαριστίες + +## V1.1.2 - 3 Ιανουαρίου 2019 - Χορηγία και διεθνοποίηση + +Οι ακόλουθες αλλαγές αποτελούν μέρος της έκδοσης 1.1.2: + +- Προστέθηκε ευχαριστήριο σημείωμα για τους αγοραστές του ηλεκτρονικού βιβλίου. +- Προστέθηκε σύνδεσμος ελέγχου ταυτότητας που λείπει και ενημερώθηκε ο κατεστραμμένος σύνδεσμος ελέγχου ταυτότητας στο V4. +- Διορθώθηκε το swap μεταξύ 4.7 και 4.8 στα Αγγλικά. +- Πρώτη διεθνής κυκλοφορία! + - Διορθώσεις σε ισπανική μετάφραση. Η μετάφραση είναι πλέον σε συγχρονισμό με τα Αγγλικά (1.1.2). + - Διορθώσεις σε ρωσική μετάφραση. Η μετάφραση είναι πλέον σε συγχρονισμό με τα Αγγλικά (1.1.2). + - Προστέθηκε η πρώτη κυκλοφορία των Κινεζικών (ZHTW) Γαλλικών, Γερμανικών και Ιαπωνικών! +- Απλοποιημένο έγγραφο για ευκολία στη μετάφραση. +- Προστέθηκαν οδηγίες για αυτοματοποιημένες εκδόσεις. + +## V1.1.0 - 14 Ιουλίου 2018 + +Οι ακόλουθες αλλαγές αποτελούν μέρος της έκδοσης 1.1: + +- Αφαιρέθηκε η Απαίτηση 2.6 "Το πρόχειρο είναι απενεργοποιημένο σε πεδία κειμένου που ενδέχεται να περιέχουν ευαίσθητα δεδομένα.". +- Προστέθηκε η Απαίτηση 2.2 "Δεν πρέπει να αποθηκεύονται ευαίσθητα δεδομένα εκτός του κοντέινερ της εφαρμογής ή των εγκαταστάσεων αποθήκευσης διαπιστευτηρίων συστήματος." +- Η απαίτηση 2.1 αναδιατυπώθηκε σε "Οι εγκαταστάσεις αποθήκευσης διαπιστευτηρίων συστήματος χρησιμοποιούνται κατάλληλα για την αποθήκευση ευαίσθητων δεδομένων, όπως PII, διαπιστευτήρια χρήστη ή κρυπτογραφικά κλειδιά.". + +## V1.0 12 - Ιανουάριος 2018 + +Οι ακόλουθες αλλαγές αποτελούν μέρος της έκδοσης 1.0: + +- Διεγράφη το 8.9 ως ταυτόσημο του 8.12 +- Το 4.6 έγινε πιο γενικό +- Μικρές διορθώσεις (τυπογραφικά λάθη κλπ.) diff --git a/Document-gr/GLOSSARY.md b/Document-gr/GLOSSARY.md new file mode 100644 index 000000000..afc286da0 --- /dev/null +++ b/Document-gr/GLOSSARY.md @@ -0,0 +1,161 @@ +# Παράρτημα Α: Γλωσσάρι + +## Address Space Layout Randomization (ASLR) + +Μια τεχνική για να κάνει πιο δύσκολη την εκμετάλλευση σφαλμάτων τύπου memory corruption. + +## Application Security + +Η ασφάλεια σε επίπεδο εφαρμογής εστιάζει στην ανάλυση στοιχείων που αποτελούν το επίπεδο εφαρμογής του Μοντέλου Αναφοράς Διασύνδεσης Ανοικτών Συστημάτων (OSI Model), αντί να εστιάζει, για παράδειγμα, στο υποκείμενο λειτουργικό σύστημα ή στα συνδεδεμένα δίκτυα. + +## Application Security Verification + +Η τεχνική αξιολόγηση μιας εφαρμογής έναντι του OWASP MASVS. + +## Application Security Verification Report + +Μια αναφορά που τεκμηριώνει τα συνολικά αποτελέσματα και την υποστηρικτική ανάλυση που παράγεται από τον ελεγκτή για μια συγκεκριμένη εφαρμογή. + +## Authentication + +Η επαλήθευση της διεκδικούμενης ταυτότητας ενός χρήστη εφαρμογής. + +## Automated Verification + +Η χρήση αυτοματοποιημένων εργαλείων (είτε εργαλεία δυναμικής ανάλυσης, εργαλεία στατικής ανάλυσης ή και τα δύο) που χρησιμοποιούν υπογραφές ευπαθειών για την εύρεση προβλημάτων. + +## Black box testing + +Είναι μια μέθοδος δοκιμής λογισμικού που εξετάζει τη λειτουργικότητα μιας εφαρμογής χωρίς να εξετάζει τις εσωτερικές δομές ή τις λειτουργίες της. + +## Component + +Μια αυτόνομη μονάδα κώδικα, με συσχετισμένες διεπαφές δίσκου και δικτύου που επικοινωνεί με άλλα στοιχεία. + +## Cross-Site Scripting (XSS) + +Μια ευπάθεια ασφαλείας που συνήθως εντοπίζεται σε εφαρμογές web που επιτρέπει την εισαγωγή σεναρίων από την πλευρά του πελάτη στο περιεχόμενο. + +## Cryptographic module + +Υλικό, λογισμικό ή/και υλικολογισμικό που εφαρμόζει κρυπτογραφικούς αλγόριθμους ή/και δημιουργεί κρυπτογραφικά κλειδιά. + +## CWE + +Το CWE είναι μια λίστα κοινών αδυναμιών ασφάλειας λογισμικού που έχει αναπτυχθεί από την κοινότητα. Χρησιμεύει ως μια κοινή γλώσσα, ένα μέσο μέτρησης για εργαλεία ασφάλειας λογισμικού και ως βάση για τον εντοπισμό αδυναμιών, τον μετριασμό και τις προσπάθειες πρόληψης. + +## DAST + +Οι τεχνολογίες DAST έχουν σχεδιαστεί για να ανιχνεύουν συνθήκες που υποδεικνύουν μια ευπάθεια ασφαλείας σε μια εφαρμογή σε κατάσταση λειτουργίας. + +## Design Verification + +Η τεχνική αξιολόγηση της αρχιτεκτονικής ασφαλείας μιας εφαρμογής. + +## Dynamic Verification + +Η χρήση αυτοματοποιημένων εργαλείων που χρησιμοποιούν υπογραφές ευπαθειών για την εύρεση προβλημάτων κατά την εκτέλεση μιας εφαρμογής. + +## Globally Unique Identifier(GUID) + +Ένας μοναδικός αριθμός αναφοράς που χρησιμοποιείται ως αναγνωριστικό στο λογισμικό. + +## Hyper Text Transfer Protocol(HTTP) + +Ένα πρωτόκολλο εφαρμογής για κατανεμημένα, συνεργατικά, πληροφοριακά συστήματα υπερμέσων. Είναι το θεμέλιο της επικοινωνίας δεδομένων για τον Παγκόσμιο Ιστό. + +## Hardcoded keys + +Κρυπτογραφικά κλειδιά που είναι αποθηκευμένα στην ίδια τη συσκευή. + +## IPC + +Inter Process Communications, Στο IPC, οι διεργασίες επικοινωνούν μεταξύ τους και με τον πυρήνα για να συντονίσουν τις δραστηριότητές τους. + +## Input Validation + +Η κανονικοποίηση και η επικύρωση των μη αξιόπιστων εισροών χρήστη. + +## JAVA Bytecode + +Το bytecode Java είναι το σύνολο εντολών της εικονικής μηχανής Java (JVM). Κάθε bytecode αποτελείται από ένα, ή σε ορισμένες περιπτώσεις δύο byte που αντιπροσωπεύουν την εντολή (opcode), μαζί με μηδέν ή περισσότερα byte για τη μετάδοση παραμέτρων. + +## Malicious Code + +Ο κώδικας που εισήχθη σε μια εφαρμογή κατά την ανάπτυξή της εν αγνοία του κατόχου της εφαρμογής, ο οποίος παρακάμπτει την επιδιωκόμενη πολιτική ασφαλείας της εφαρμογής. Δεν είναι το ίδιο με κακόβουλο λογισμικό, όπως ιός ή ιός τύπου worm! + +## Malware + +Εκτελέσιμος κώδικας που εισάγεται σε μια εφαρμογή κατά τη διάρκεια του χρόνου εκτέλεσης χωρίς τη γνώση του χρήστη ή του διαχειριστή της εφαρμογής. + +## Open Web Application Security Project (OWASP) + +Το Open Web Application Security Project (OWASP) είναι μια παγκόσμια δωρεάν και ανοιχτή κοινότητα που επικεντρώνεται στη βελτίωση της ασφάλειας του λογισμικού εφαρμογών. Η αποστολή μας είναι να κάνουμε την ασφάλεια των εφαρμογών «ορατή», έτσι ώστε άτομα και οργανισμοί να μπορούν να λαμβάνουν τεκμηριωμένες αποφάσεις σχετικά με τους κινδύνους ασφάλειας εφαρμογών. βλ: + +## Personally Identifiable Information (PII) + +PII είναι πληροφορίες που μπορούν να χρησιμοποιηθούν από μόνες τους ή με άλλες πληροφορίες για την αναγνώριση, επαφή ή εντοπισμό ενός μεμονωμένου ατόμου ή για την αναγνώριση ενός ατόμου στο πλαίσιο. + +## PIE + +Ένα PIE είναι ένα μερός κώδικα μηχανής που, τοποθετημένο κάπου στην κύρια μνήμη, εκτελείται σωστά ανεξάρτητα από την απόλυτη διεύθυνσή (absolute address) του. + +## PKI + +Το PKI είναι μια διάταξη που δεσμεύει δημόσια κλειδιά με αντίστοιχες ταυτότητες οντοτήτων. Η δέσμευση καθορίζεται μέσω μιας διαδικασίας εγγραφής και έκδοσης πιστοποιητικών σε και από μια αρχή έκδοσης πιστοποιητικών (CA). + +## SAST + +Το SAST είναι ένα σύνολο τεχνολογιών που έχουν σχεδιαστεί για να αναλύουν τον πηγαίο κώδικα εφαρμογής, τον κώδικα byte και τα binary αρχεία για την κωδικοποίηση και τις συνθήκες σχεδιασμού που είναι ενδεικτικές ευπάθειας ασφαλείας. Οι λύσεις SAST αναλύουν μια εφαρμογή από "μέσα προς τα έξω" σε κατάσταση που δεν εκτελείται. + +## SDLC + +Κύκλος ζωής ανάπτυξης λογισμικού. + +## Security Architecture + +Μια περίληψη του σχεδιασμού μιας εφαρμογής που προσδιορίζει και περιγράφει πού και πώς χρησιμοποιούνται οι μηχανισμοί ελέγχου ασφαλείας, καθώς επίσης και προσδιορίζει και περιγράφει τη θέση και την ευαισθησία τόσο των δεδομένων χρήστη όσο και της εφαρμογής. + +## Security Configuration + +Η διαμόρφωση κατά το χρόνο εκτέλεσης (runtime configuration) μιας εφαρμογής που επηρεάζει τον τρόπο χρήσης των μηχανισμών ασφαλείας. + +## Security Control + +Μια συνάρτηση ή στοιχείο που εκτελεί έλεγχο ασφαλείας (π.χ. μηχανισμός ελέγχου πρόσβασης) ή όταν καλείται έχει ως αποτέλεσμα μια ενέργεια ασφαλείας (π.χ. δημιουργία αρχείου ελέγχου). + +## SQL Injection (SQLi) + +Μια τεχνική έγχυσης κώδικα (code injection) που χρησιμοποιείται για την επίθεση σε εφαρμογές που βασίζονται σε δεδομένα, στην οποία εισάγονται κακόβουλες δηλώσεις SQL σε ένα σημείο εισόδου. + +## SSO Authentication + +To Single Sign On (SSO) συμβαίνει όταν ένας χρήστης συνδέεται σε έναν client και στη συνέχεια συνδέεται αυτόματα σε άλλους clients, ανεξάρτητα από την πλατφόρμα, την τεχνολογία ή τον τομέα που χρησιμοποιεί ο χρήστης. Για παράδειγμα, όταν συνδέεστε στο google, συνδέεστε αυτόματα στην υπηρεσία youtube, έγγραφα και αλληλογραφία. + +## Threat Modeling + +Μια τεχνική που αποτελείται από την ανάπτυξη ολοένα και πιο εκλεπτυσμένων αρχιτεκτονικών ασφαλείας για τον εντοπισμό παραγόντων απειλής, ζώνες ασφαλείας, ελέγχους ασφαλείας και σημαντικά τεχνικά και επιχειρηματικά περιουσιακά στοιχεία. + +## Transport Layer Security + +Κρυπτογραφικά πρωτόκολλα που παρέχουν ασφάλεια επικοινωνίας μέσω Διαδικτύου + +## URI and URL + +Ένα Uniform Resource Identifier (URI) είναι μια συμβολοσειρά χαρακτήρων που χρησιμοποιούνται για την αναγνώριση ενός ονόματος ή ενός πόρου Ιστού. Ένας Uniform Resource Locator (URL) χρησιμοποιείται συχνά ως αναφορά σε έναν πόρο. + +## User acceptance testing (UAT) + +Παραδοσιακά ένα περιβάλλον δοκιμής που συμπεριφέρεται όπως το περιβάλλον παραγωγής όπου όλες οι δοκιμές λογισμικού εκτελούνται πριν από τη μετάδοση. + +## Verifier + +Το άτομο ή η ομάδα που εξετάζει μια εφαρμογή σε σχέση με τις απαιτήσεις του OWASP MASVS. + +## Whitelist + +Μια λίστα με επιτρεπόμενα δεδομένα ή λειτουργίες, για παράδειγμα μια λίστα χαρακτήρων που επιτρέπεται να εκτελούν επικύρωση εισόδου. + +## X.509 Certificate + +Ένα πιστοποιητικό X.509 είναι ένα ψηφιακό πιστοποιητικό που χρησιμοποιεί το ευρέως αποδεκτό διεθνές πρότυπο υποδομής δημόσιου κλειδιού X.509 (PKI) για να επαληθεύσει ότι ένα δημόσιο κλειδί ανήκει στον χρήστη, τον υπολογιστή ή την ταυτότητα υπηρεσίας που περιέχεται στο πιστοποιητικό. diff --git a/Document-gr/SUMMARY.md b/Document-gr/SUMMARY.md new file mode 100644 index 000000000..38e1ed8ed --- /dev/null +++ b/Document-gr/SUMMARY.md @@ -0,0 +1,23 @@ +# Πίνακας Περιεχομένων + +- [Ημερολόγιο Αλλαγών](CHANGELOG.md) +- [Πρόλογος](0x01-Foreword.md) +- [Εξώφυλλο](0x02-Frontispiece.md) +- [Χρησιμοποιώντας το MASVS](0x03-Using_the_MASVS.md) +- [Αποτίμηση και Πιστοποίηση](0x04-Assessment_and_Certification.md) + +## Απαιτήσεις Ασφάλειας + +- [V1: Απαιτήσεις Αρχιτεκτονικής, Σχεδιασμού και Μοντέλου Απειλών](0x06-V1-Architecture_design_and_threat_modelling_requireme.md) +- [V2: Απαιτήσεις Αποθήκευσης Δεδομένων και Ιδιωτικότητας](0x07-V2-Data_Storage_and_Privacy_requirements.md) +- [V3: Απαιτήσεις Κρυπτογραφίας](0x08-V3-Cryptography_Verification_Requirements.md) +- [V4: Απαιτήσεις Αυθεντικοποίησης και Διαχείρισης Session](0x09-V4-Authentication_and_Session_Management_Requirements.md) +- [V5: Απαιτήσεις Δικτυακής Επικοινωνίας](0x10-V5-Network_communication_requirements.md) +- [V6: Απαιτήσεις για Αλληλεπίδραση με τη Πλατφόρμα](0x11-V6-Interaction_with_the_environment.md) +- [V7: Απαιτήσεις Ποιότητας Κώδικα και Ρυθμίσεων Build](0x12-V7-Code_quality_and_build_setting_requirements.md) +- [V8: Απαιτήσεις Ανθεκτικότητας](0x15-V8-Resiliency_Against_Reverse_Engineering_Requirements.md) + +## Παράρτημα + +- [Παράρτημα A - Γλωσσάρι](GLOSSARY.md) +- [Παράρτημα B - Αναφορές](0x91-Appendix-B_References.md) diff --git a/Document-gr/book.json b/Document-gr/book.json new file mode 100644 index 000000000..a5c5d593d --- /dev/null +++ b/Document-gr/book.json @@ -0,0 +1,9 @@ +{ + "root" : ".", + + "structure": { + "readme": "0x01-Foreword.md" + }, + + "language": "gr" +} diff --git a/Document-gr/images/CC-license.png b/Document-gr/images/CC-license.png new file mode 100644 index 000000000..b20d04de9 Binary files /dev/null and b/Document-gr/images/CC-license.png differ diff --git a/Document-gr/images/Donators/donators.png b/Document-gr/images/Donators/donators.png new file mode 100644 index 000000000..2e25ebd72 Binary files /dev/null and b/Document-gr/images/Donators/donators.png differ diff --git a/Document-gr/images/GitHub_logo.png b/Document-gr/images/GitHub_logo.png new file mode 100644 index 000000000..ea6ff545a Binary files /dev/null and b/Document-gr/images/GitHub_logo.png differ diff --git a/Document-gr/images/MASVS-levels.png b/Document-gr/images/MASVS-levels.png new file mode 100644 index 000000000..62a601769 Binary files /dev/null and b/Document-gr/images/MASVS-levels.png differ diff --git a/Document-gr/images/OWASP_logo.png b/Document-gr/images/OWASP_logo.png new file mode 100644 index 000000000..9baaef889 Binary files /dev/null and b/Document-gr/images/OWASP_logo.png differ diff --git a/Document-gr/images/license.png b/Document-gr/images/license.png new file mode 100644 index 000000000..124d3ba4d Binary files /dev/null and b/Document-gr/images/license.png differ diff --git a/Document-gr/images/masvs-levels-new.jpg b/Document-gr/images/masvs-levels-new.jpg new file mode 100644 index 000000000..60e423a4e Binary files /dev/null and b/Document-gr/images/masvs-levels-new.jpg differ diff --git a/Document-gr/images/masvs-mini-cover.png b/Document-gr/images/masvs-mini-cover.png new file mode 100644 index 000000000..c7985e14c Binary files /dev/null and b/Document-gr/images/masvs-mini-cover.png differ diff --git a/Document-gr/images/masvs-progress.png b/Document-gr/images/masvs-progress.png new file mode 100644 index 000000000..aa01d9f7d Binary files /dev/null and b/Document-gr/images/masvs-progress.png differ diff --git a/Document-gr/images/slack_logo.png b/Document-gr/images/slack_logo.png new file mode 100644 index 000000000..6967050a0 Binary files /dev/null and b/Document-gr/images/slack_logo.png differ diff --git a/Document-gr/images/twitter_logo.png b/Document-gr/images/twitter_logo.png new file mode 100644 index 000000000..b52f15964 Binary files /dev/null and b/Document-gr/images/twitter_logo.png differ diff --git a/Document-gr/metadata.md b/Document-gr/metadata.md new file mode 100644 index 000000000..f3b2bfcfa --- /dev/null +++ b/Document-gr/metadata.md @@ -0,0 +1,33 @@ +--- +# This is the main metadata file. +# Variables below can be overwritten by the local metadata +# file (e.g. Document-fr/metadata.md) + +# Custom Template variables (cover, first page, etc.) +version: 'SNAPSHOT' # this will overridden at build time +languagetext: '' + +mainfont: 'DejaVu Sans' +sansfont: 'DejaVu Sans' +monofont: 'DejaVu Sans Mono' + +# General variables +toc: true +toc-depth: 2 +# numbersections: true +# secnumdepth: 2 +linkcolor: blue + +# Language variables +lang: 'gr' + +# Latex variables + +# Eisvogel Latex variables +# https://github.com/Wandmalfarbe/pandoc-latex-template#custom-template-variables +code-block-font-size: '\tiny' + +table-use-row-colors: true +geometry: "top=1cm,left=1cm,right=2cm,bottom=4cm" +--- + diff --git a/Document-gr/metadata.yml b/Document-gr/metadata.yml new file mode 100644 index 000000000..c7700ff67 --- /dev/null +++ b/Document-gr/metadata.yml @@ -0,0 +1,3 @@ +language: 'en' +languagetext: '' +toc_title: 'Table of Contents'