Engaging security into product development by using baseline security configuration for operating systems
Niemi, Kimi (2024)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024112229453
https://urn.fi/URN:NBN:fi:amk-2024112229453
Tiivistelmä
Eri maiden turvallisuusvaatimusten ja -suositusten heterogeenisen luonteen ja jatkuvasti kehittyvän kyberturvallisuusuhkakentän vuoksi globaalien ohjelmistoyritysten on osoittautunut vaikeaksi noudattaa alueellisia vaatimuksia ja varmistaa tuotteidensa tietoturvan taso. Asioita mutkistaa entisestään, että jo yksistään Euroopan unioni (EU) on ottanut, ja on ottamassa käyttöön uusia direktiivejä ja asetuksia liittyen tuotteiden ja palvelujen kyberturvallisuuteen – nämä ovat EU:n Cyber Resilience Act (EU CRA) -asetus ja Network and Information Security Directive (NIS2) -direktiivi.
Tutkimuksen tarkoituksena oli tutkia valittua ryhmää organisaatioita ja niiden GNU/Linux-käyttöjärjestelmille asettamia erilaisia koventamissuosituksia, ja muodostaa prosessi globaaliin käyttöön soveltuvan käyttöjärjestelmän koventamisprofiilin luomiseksi. Tutkitut organisaatiot ovat peräisin Ranskasta,Espanjasta, Yhdysvalloista ja Australiasta, ja osa organisaatioista on globaaleja. Tutkimus tehtiin OpenSCAP- (Security Content Automation Protocol) ja SCAP Security Guide -projektien työkaluilla ja valittuna käyttöjärjestelmänä oli Alma Linux 9. Työn muita tavoitteita oli koventamisen automatisointi avoimen lähdekoodin työkaluilla luotujen skriptien avulla, sekä prosessin integroiminen tuotekehitykseen jatkuvan integroinnin työkaluilla.
Tutkimuksen tuloksena oli selkeä prosessi koventamisprofiilin luomiseksi, mukaan lukien menetelmät luodun profiilin päivittämiseksi, jos ja kun turvallisuusvaatimukset muuttuvat. Työ sisältää myös matalan tason tietoa GNU/Linux-komentojen muodossa prosessin soveltamisesta askel askeleelta käytännössä. Jatkuva integrointi -osio työstä sisältää geneerisen tavan integroida prosessi Jenkinsin automaatioputkeen groovy skriptien avulla, mikä siirtää tietoturvaa aikaisempaan vaiheeseen tuotekehityksessä.
Tutkimus kattaa virtuaalikoneiden koventamisen, mutta konsepti soveltuu myös perinteisiin, palvelinrautaan tehtäviin käyttöjärjestelmän asennuksiin, vaikka varsinaisissa koventamissäädöissä on joitain eroja verrattuna virtuaalikoneisiin tehtäviin kovennuksiin. Due to the heterogenous nature of security hardening requirements and recommendations in different countries, and the constantly evolving cybersecurity threat landscape, it has proven hard for global software companies to comply to the regional requirements, and to ensure the security posture of their products. To further complicate things, the European Union (EU) alone, is and has been introducing new directives and regulations in regards to cybersecurity of products and services – These being the EU Cyber Resilience Act (EU CRA) regulation and Network and Information Security Directive (NIS2).
The purpose of the research was to examine the different hardening recommendations set for GNU/Linux operating systems by a selected group of organizations and regulating bodies, in order to form a process for generating a globally accepted hardening profile, that aims to comply to the majority of the requirements.
The organizations that were researched originate from France, Spain, United States of America, Australia, and some of the organizations are global. The research was conducted by using tools provided by the OpenSCAP (Security Content Automation Protocol) and SCAP Security guide projects, and the selected operating system (OS) was Alma Linux 9. Other objectives of the work were automation of the hardening by using scripts generated by opensource tools, and integration of the process to product development through continuous integration tools.
The result of the research was a clear process for creating a hardening profile, including the methods for updating the generated profile, if and when the security requirements change. The work also incorporates low level information, in the form of GNU/Linux commands, on how to apply the process step by step in
practice. Continuous integration part of the work contains a generic way of integrating the process to Jenkins automation pipeline through groovy scripts, shifting security to the left in the product development phase.
The research covers the hardening of virtual machines (VM), but the concept is applicable also for bare metal installations of the OS, although there are some differences in the actual hardening controls that are applied in comparison to VM hardening.
Tutkimuksen tarkoituksena oli tutkia valittua ryhmää organisaatioita ja niiden GNU/Linux-käyttöjärjestelmille asettamia erilaisia koventamissuosituksia, ja muodostaa prosessi globaaliin käyttöön soveltuvan käyttöjärjestelmän koventamisprofiilin luomiseksi. Tutkitut organisaatiot ovat peräisin Ranskasta,Espanjasta, Yhdysvalloista ja Australiasta, ja osa organisaatioista on globaaleja. Tutkimus tehtiin OpenSCAP- (Security Content Automation Protocol) ja SCAP Security Guide -projektien työkaluilla ja valittuna käyttöjärjestelmänä oli Alma Linux 9. Työn muita tavoitteita oli koventamisen automatisointi avoimen lähdekoodin työkaluilla luotujen skriptien avulla, sekä prosessin integroiminen tuotekehitykseen jatkuvan integroinnin työkaluilla.
Tutkimuksen tuloksena oli selkeä prosessi koventamisprofiilin luomiseksi, mukaan lukien menetelmät luodun profiilin päivittämiseksi, jos ja kun turvallisuusvaatimukset muuttuvat. Työ sisältää myös matalan tason tietoa GNU/Linux-komentojen muodossa prosessin soveltamisesta askel askeleelta käytännössä. Jatkuva integrointi -osio työstä sisältää geneerisen tavan integroida prosessi Jenkinsin automaatioputkeen groovy skriptien avulla, mikä siirtää tietoturvaa aikaisempaan vaiheeseen tuotekehityksessä.
Tutkimus kattaa virtuaalikoneiden koventamisen, mutta konsepti soveltuu myös perinteisiin, palvelinrautaan tehtäviin käyttöjärjestelmän asennuksiin, vaikka varsinaisissa koventamissäädöissä on joitain eroja verrattuna virtuaalikoneisiin tehtäviin kovennuksiin.
The purpose of the research was to examine the different hardening recommendations set for GNU/Linux operating systems by a selected group of organizations and regulating bodies, in order to form a process for generating a globally accepted hardening profile, that aims to comply to the majority of the requirements.
The organizations that were researched originate from France, Spain, United States of America, Australia, and some of the organizations are global. The research was conducted by using tools provided by the OpenSCAP (Security Content Automation Protocol) and SCAP Security guide projects, and the selected operating system (OS) was Alma Linux 9. Other objectives of the work were automation of the hardening by using scripts generated by opensource tools, and integration of the process to product development through continuous integration tools.
The result of the research was a clear process for creating a hardening profile, including the methods for updating the generated profile, if and when the security requirements change. The work also incorporates low level information, in the form of GNU/Linux commands, on how to apply the process step by step in
practice. Continuous integration part of the work contains a generic way of integrating the process to Jenkins automation pipeline through groovy scripts, shifting security to the left in the product development phase.
The research covers the hardening of virtual machines (VM), but the concept is applicable also for bare metal installations of the OS, although there are some differences in the actual hardening controls that are applied in comparison to VM hardening.