Σχεδίαση & υλοποίηση ενός ασφαλούς συστήματος CI/CD βασιζόμενου σε δοχεία

Στο σύγχρονο περιβάλλον ανάπτυξης εφαρμογών, με δεδομένο τον υψηλό ανταγωνισμό που υφίσταται ανάμεσα στους παρόχους εφαρμογών & ψηφιακών υπηρεσιών, έχει θεσπιστεί ως θεμελιώδης ανάγκη η ταχεία και αυτοματοποιημένη δημιουργία, παράδοση και εγκατάσταση κώδικα. Με τη σταδιακή εγκατάλειψη του μο...

Πλήρης περιγραφή

Αποθηκεύτηκε σε:
Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριοι συγγραφείς: Τριανταφυλλόπουλος, Λάμπρος, Triantafyllopoulos, Lampros
Άλλοι συγγραφείς: Κρητικός, Κυριάκος
Γλώσσα:el_GR
Δημοσίευση: 2024
Θέματα:
Διαθέσιμο Online:http://hdl.handle.net/11610/26376
Ετικέτες: Προσθήκη ετικέτας
Δεν υπάρχουν, Καταχωρήστε ετικέτα πρώτοι!
_version_ 1828462673495326720
author Τριανταφυλλόπουλος, Λάμπρος
Triantafyllopoulos, Lampros
author2 Κρητικός, Κυριάκος
author_facet Κρητικός, Κυριάκος
Τριανταφυλλόπουλος, Λάμπρος
Triantafyllopoulos, Lampros
author_sort Τριανταφυλλόπουλος, Λάμπρος
collection DSpace
description Στο σύγχρονο περιβάλλον ανάπτυξης εφαρμογών, με δεδομένο τον υψηλό ανταγωνισμό που υφίσταται ανάμεσα στους παρόχους εφαρμογών & ψηφιακών υπηρεσιών, έχει θεσπιστεί ως θεμελιώδης ανάγκη η ταχεία και αυτοματοποιημένη δημιουργία, παράδοση και εγκατάσταση κώδικα. Με τη σταδιακή εγκατάλειψη του μοντέλου καταρράκτη για την ανάπτυξη λογισμικού, και την εξάπλωση του ευέλικτου μοντέλου ανάπτυξης (agile software development model), η ανάγκη για συχνή και σταδιακή ενσωμάτωση αλλαγών στον κώδικα απαίτησε τη συσσωμάτωση δυο παραδοσιακά διαφορετικών χώρων της βιομηχανίας ανάπτυξης λογισμικού, αυτόν της ανάπτυξης κώδικα και αυτόν της λειτουργίας (operations) του κώδικα σε έναν ενιαίο, με τίτλο devops. Στον πυρήνα της λειτουργίας του devops βρίσκεται η έννοια των αγωγών (pipelines), μέσα από τους οποίους εκτελούνται οι κρίσιμες λειτουργίες της συνεχούς ενσωμάτωσης και συνεχούς παράδοσης (continuous integration & continuous delivery - CI/CD). Με αυτόν τον τρόπο, ο κώδικας αποθηκεύεται, ελέγχεται, δοκιμάζεται και τελικά διανέμεται στους καταναλωτές σε περιβάλλοντα παραγωγής. Γίνεται μεμιάς φανερό, ότι οποιαδήποτε επίθεση στους CI/CD αγωγούς, θέτει σε κίνδυνο όχι μόνο τους καταναλωτές του λογισμικού, αλλά και τις υποδομές πάνω από τις οποίες εκτελούνται οι αγωγοί. Στο πλαίσιο της παρούσας διπλωματικής εργασίας, θα γίνει μια βασική αναφορά στις τεχνολογίες που συνθέτουν το σύγχρονο περιβάλλον του κύκλου ζωής λογισμικού, θα αναλυθούν οι κίνδυνοι που ελλοχεύουν μέσα και έξω από τους αγωγούς, και τελικά θα προταθεί ένα σύστημα CI/CD βασισμένο σε δοχεία (containers), ικανό να προστατέψει τον κώδικα και τις υποδομές από επίδοξους εισβολείς.
id oai:hellanicus.lib.aegean.gr:11610-26376
institution Hellanicus
language el_GR
publishDate 2024
record_format dspace
spelling oai:hellanicus.lib.aegean.gr:11610-263762024-06-19T09:05:17Z Σχεδίαση & υλοποίηση ενός ασφαλούς συστήματος CI/CD βασιζόμενου σε δοχεία Design and implementation of a secure container-based CI/CD system Τριανταφυλλόπουλος, Λάμπρος Triantafyllopoulos, Lampros Κρητικός, Κυριάκος Ασφάλεια Πληροφοριακών και Επικοινωνιακών Συστημάτων δοχεία αγωγοί ασφάλεια devops CI/CD containers pipelines security Agile software development Computer software--Development. Στο σύγχρονο περιβάλλον ανάπτυξης εφαρμογών, με δεδομένο τον υψηλό ανταγωνισμό που υφίσταται ανάμεσα στους παρόχους εφαρμογών & ψηφιακών υπηρεσιών, έχει θεσπιστεί ως θεμελιώδης ανάγκη η ταχεία και αυτοματοποιημένη δημιουργία, παράδοση και εγκατάσταση κώδικα. Με τη σταδιακή εγκατάλειψη του μοντέλου καταρράκτη για την ανάπτυξη λογισμικού, και την εξάπλωση του ευέλικτου μοντέλου ανάπτυξης (agile software development model), η ανάγκη για συχνή και σταδιακή ενσωμάτωση αλλαγών στον κώδικα απαίτησε τη συσσωμάτωση δυο παραδοσιακά διαφορετικών χώρων της βιομηχανίας ανάπτυξης λογισμικού, αυτόν της ανάπτυξης κώδικα και αυτόν της λειτουργίας (operations) του κώδικα σε έναν ενιαίο, με τίτλο devops. Στον πυρήνα της λειτουργίας του devops βρίσκεται η έννοια των αγωγών (pipelines), μέσα από τους οποίους εκτελούνται οι κρίσιμες λειτουργίες της συνεχούς ενσωμάτωσης και συνεχούς παράδοσης (continuous integration & continuous delivery - CI/CD). Με αυτόν τον τρόπο, ο κώδικας αποθηκεύεται, ελέγχεται, δοκιμάζεται και τελικά διανέμεται στους καταναλωτές σε περιβάλλοντα παραγωγής. Γίνεται μεμιάς φανερό, ότι οποιαδήποτε επίθεση στους CI/CD αγωγούς, θέτει σε κίνδυνο όχι μόνο τους καταναλωτές του λογισμικού, αλλά και τις υποδομές πάνω από τις οποίες εκτελούνται οι αγωγοί. Στο πλαίσιο της παρούσας διπλωματικής εργασίας, θα γίνει μια βασική αναφορά στις τεχνολογίες που συνθέτουν το σύγχρονο περιβάλλον του κύκλου ζωής λογισμικού, θα αναλυθούν οι κίνδυνοι που ελλοχεύουν μέσα και έξω από τους αγωγούς, και τελικά θα προταθεί ένα σύστημα CI/CD βασισμένο σε δοχεία (containers), ικανό να προστατέψει τον κώδικα και τις υποδομές από επίδοξους εισβολείς. The current trends and standards of software development, given the high competition between the providers of applications and digital services, are all about rapid and automated code creation and installation. While the classic waterfall model of software development was being driven out, and its place ceded to the agile model, the need for frequent and gradual code implementation warranted the unification of two different fields of the software lifecycle, those of development and operations, under the newly created space of devops. At its core, one can find the notion of pipelines, constructs through which the pillars of devops, i.e., continuous integration and continuous delivery (CI/CD) are given shape and form. Alongside these pipelines, the code is stored, verified, tested and finally delivered to its consumers (in production environments). It becomes immediately obvious, that any successful attack upon the CI/CD pipelines, endangers not only the software consumers, but the infrastructure on which the pipelines are executed as well. As a part of this Master’s thesis, a brief introduction to the basic notions of current software development will be supplied, a catalogue of threats against pipelines will be defined, and finally we will propose a container-based CI/CD system, capable of fending off invaders while protecting the code, the pipelines and their infrastructure. 2024-05-23T08:40:56Z 2024-05-23T08:40:56Z 2024-02-02 http://hdl.handle.net/11610/26376 el_GR Attribution-NonCommercial-NoDerivatives 4.0 Διεθνές https://creativecommons.org/licenses/by-nc-nd/4.0/ 161 σ. application/pdf Σάμος
spellingShingle δοχεία
αγωγοί
ασφάλεια
devops
CI/CD
containers
pipelines
security
Agile software development
Computer software--Development.
Τριανταφυλλόπουλος, Λάμπρος
Triantafyllopoulos, Lampros
Σχεδίαση & υλοποίηση ενός ασφαλούς συστήματος CI/CD βασιζόμενου σε δοχεία
title Σχεδίαση & υλοποίηση ενός ασφαλούς συστήματος CI/CD βασιζόμενου σε δοχεία
title_full Σχεδίαση & υλοποίηση ενός ασφαλούς συστήματος CI/CD βασιζόμενου σε δοχεία
title_fullStr Σχεδίαση & υλοποίηση ενός ασφαλούς συστήματος CI/CD βασιζόμενου σε δοχεία
title_full_unstemmed Σχεδίαση & υλοποίηση ενός ασφαλούς συστήματος CI/CD βασιζόμενου σε δοχεία
title_short Σχεδίαση & υλοποίηση ενός ασφαλούς συστήματος CI/CD βασιζόμενου σε δοχεία
title_sort σχεδίαση υλοποίηση ενός ασφαλούς συστήματος ci cd βασιζόμενου σε δοχεία
topic δοχεία
αγωγοί
ασφάλεια
devops
CI/CD
containers
pipelines
security
Agile software development
Computer software--Development.
url http://hdl.handle.net/11610/26376
work_keys_str_mv AT triantaphyllopouloslampros schediasēylopoiēsēenosasphaloussystēmatoscicdbasizomenousedocheia
AT triantafyllopouloslampros schediasēylopoiēsēenosasphaloussystēmatoscicdbasizomenousedocheia
AT triantaphyllopouloslampros designandimplementationofasecurecontainerbasedcicdsystem
AT triantafyllopouloslampros designandimplementationofasecurecontainerbasedcicdsystem