Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

Npm-ekosysteemin uhat ja niiden välttäminen

Aula, Akseli (2024)

 
Avaa tiedosto
AulaAkseli.pdf (1.704Mt)
Lataukset: 



Aula, Akseli
2024

Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2024-11-28
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-2024111810268
Tiivistelmä
Ohjelmistokehityksen yhteydessä käytetään usein valmiita ohjelmistokomponentteja tehostamaan kehitystä. Näitä ohjelmistopaketeiksi kutsuttuja komponentteja lisätään tyypillisesti sovelluksiin täydentämään puuttuvia toiminnallisuuksia. Niin kutsutut pakettiekosysteemit, kuten npm, mahdollistavat ohjelmistopakettien sekä jakamisen että käyttöönoton osaksi sovelluksia. Pakettiekosysteemit pohjautuvat usein avoimuuteen, jolloin kuka tahansa voi julkaista- tai ottaa käyttöön kolmannen osapuolen paketteja. Vaikka paketit ovat usein suunniteltu helpottamaan kehittäjien työtä, tuo ekosysteemin avoimuus mukana myös tietoturvallisuusriskejä.

Työn tavoitteena on tutustua tarkemmin erityisesti npm-ekosysteemiin liittyviin tietoturvariskeihin. Tutkimuksessa selvitetään minkälaisille uhkille pakettiekosysteemiin julkaistut haitalliset paketit voivat käyttäjän altistaa, mitkä tekijät mahdollistavat haitalliset paketit, ja lopuksi kuinka käyttäjät voivat välttää haitalliset paketit ja niiden seuraukset.

Itse tutkimuskysymyksiin vastattiin moniäänisen kirjallisuuskatsauksen avulla. Tyypillisestä kirjallisuuskatsauksesta poiketen, moniäänisessä kirjallisuuskatsauksessa hyödynnetään tieteellisten materiaalien lisäksi myös niin kutsuttua harmaata kirjallisuutta. Kirjallisuustyyppinä harmaa kirjallisuus koostuu kaikesta tutkimusjulkaisujen ulkopuolelle jäävästä aineistosta, kuten raporteista, blogiteksteistä tai uutisista. Sisällyttämällä tutkimukseen harmaata kirjallisuutta, voidaan pyrkiä täydentämään tutkimuksen tuloksia asioilla, kuten kirjoittajan kokemuksilla tai oleellisilla ajankohtaisilla asioilla, joita ei tieteellisessä kirjallisuudessa käsitellä.

Tutkimusmenetelmän suorituksen seurauksena kerättiin yhteensä 195 julkaisua sisältävä lopullinen aineisto, joka koostui 125 harmaan- ja 70 tieteellisen kirjallisuuden julkaisusta. Tämän pohjalta valikoiduista julkaisuista poimittiin tutkimuskysymyksiin vastaavia attribuutteja. Keräyksen päätteeksi tutkimuskysymyksiin vastaavat attribuutit luokiteltiin ja lajiteltiin yhä täsmentäviin pää- ja alaluokkiin. Lopulta kuhunkin tutkimuskysymykseen liittyvistä luokista laadittiin koosteet virtakaavioiden muodossa, joiden avulla kysymysten taustalla vaikuttavat ilmiöt ja niiden kokoluokat ovat helposti silmäiltävissä.

Tutkimuksen seurauksena havaittiin, että tiedon luvaton hankkiminen esimerkiksi tietovuotojen tai -murtojen merkeissä, sekä pakettien sisältämän haitallisen koodin suoritus ovat merkittävimpiä haitallisista paketeista johtuvia uhkia. Haitallisten pakettien taustatekijöistä merkittävimmiksi havaittiin muun muassa sekä suorasti haitalliset paketit, mukaan lukien erilaiset nimiharhautukset tai haitalliset asennusskriptit että sovellusten suuret riippuvuusverkostot. Välttämiskeinoissa puolestaan korostuivat pakettien elinkaareen liittyvät toimenpiteet, muun muassa käyttöönottoon ja asennukseen tai seurantaan liittyen. Toiseksi merkittävimmäksi välttämiskeinoksi havaittiin erityisesti haavoittuvien- tai haitallisten pakettien tunnistamiseen keskittyvät työkalut.
 
Software development often involves the use of ready-made software components to streamline the development process. These components, referred to as software packages, are typically integrated into applications to fill in missing functionalities. So-called package ecosystems, such as npm, enable software packages to be both distributed and introduced as part of applications. Package ecosystems are often based on openness, allowing anyone to release or use third-party packages. While packages are often designed to simplify the work of developers, the open nature of the ecosystem also introduces potential security risks.

The goal of this study is to explore the security risks associated with specifically the npmecosystem. The research explores the threats posed by malicious packages published in the package ecosystem, the factors enabling such threats, and finally, how users can avoid malicious packages and their potential consequences.


The research questions were addressed through a multivocal literature review. Unlike a typical literature review, a multivocal literature review incorporates not only scientific materials but also so-called grey literature. As a type of literature, grey literature consists of all materials outside the research publications, such as reports, blog posts or news articles. By including grey literature in the study, it is possible to complement research findings with aspects like the authors’ experiences or relevant current matters, which are typically not covered in scientific literature.

The literature review yielded a final data set of 195 publications, comprising 125 from grey literature and 70 from scientific literature. From these selected publications, attributes relevant to the research questions were extracted. These attributes were subsequently classified and grouped into main and subcategories to refine the analysis. Finally, the categories related to each research question were compiled in the form of flow charts to illustrate the underlying phenomena and their dimensions.

As a result of the study, it was found that unauthorized acquisition of information, for example through data leaks or data breaches, as well as the execution of malicious code within packages, are the most significant threats posed by malicious packages. The key factors underlying malicious packages were found to include both directly harmful packages, such as various forms of typosquatting and malicious install scripts, as well as extensive dependency relation networks in applications. In terms of mitigation measures, actions related to the lifecycle of packages, particularly regarding adoption and installation or monitoring were emphasized. Additionally, tools focusing on identifying vulnerable or malicious packages emerged as the second most significant mitigation method.
 
Kokoelmat
  • Opinnäytteet - ylempi korkeakoulututkinto [43034]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste