Tietojen peittäminen [1] (obfuskaatio [ 2] ) on tapa suojata luottamuksellisia tietoja luvattomalta käytöltä korvaamalla alkuperäiset tiedot kuvitteellisilla tiedoilla tai mielivaltaisilla merkeillä. Samalla naamioitu tieto näyttää realistiselta ja johdonmukaiselta, ja sitä voidaan käyttää ohjelmistojen testausprosessissa. Useimmissa tapauksissa peittämistä käytetään henkilötietojen ja organisaation luottamuksellisten tietojen suojaamiseen.
Tietojen peittämisen käyttö on yleisintä sovelluskehitysprosessissa . Samaan aikaan on yleinen käytäntö käyttää tuotantotietoja kaikissa kehitysvaiheissa: sovelluksia ja laajennuksia luotaessa , testauksen ja virheenkorjauksen vaiheissa .
Suurin ongelma yritysten [3] ja organisaatioiden johdon näkökulmasta on se, että sovelluskehittäjät eivät aina joudu yritysten tietoturvapalvelujen tarkastukseen ennen kuin he pääsevät käsiksi tuotantotietoihin. Tämä käytäntö voi johtaa vakaviin tietoturva-aukoihin, koska luvattomat käyttäjät voivat kopioida tietoja ja tuotannon eri vaiheiden turvatoimenpiteet ohitetaan helposti.
Organisaatiotason yleisen tietojen peittämiskäytännön tulisi liittyä läheisesti ohjausjärjestelmien testauskäytäntöön [4] ja ydinmetodologiaan, ja sen tulisi sisältää prosesseja maskattujen tietojen osajoukkojen testien jakamiseksi [5] .
Peitettyjen tietojen on täytettävä seuraavat kriteerit:
Korvaaminen on yksi tehokkaimmista peittotekniikoista tietojen alkuperäisen ulkonäön säilyttämiseksi. Esimerkiksi, jos alkuperäinen tietokantataulukko sisältää tietueita, joissa on tietoja asiakkaista, niin oikeat nimet ja sukunimet voidaan korvata nimillä ja sukunimillä, jotka on otettu erityisesti luodusta (valmistetusta) tiedostosta. Joten maskauksen ensimmäisessä vaiheessa kaikki asiakkaiden nimet voidaan korvata mielivaltaisilla miesten nimillä ja toisessa vaiheessa naisten nimet voidaan lisätä naisasiakkaita vastaaviin soluihin (suodattamalla asiakasluettelo soluittain sukupuolen mukaan). Käyttämällä tätä lähestymistapaa peittämiseen voit varmistaa tietueiden asianmukaisen anonymiteetin ja säilyttää asiakkaiden sukupuolisuhteen peitetyssä taulukossa. On tärkeää, että tietokanta näyttää samalla realistiselta, eikä tiedon peittäminen ole ilmeinen.
Korvausmenetelmää voidaan käyttää tietokantakentille, jotka sisältävät erilaisia tietoja: esimerkiksi puhelinnumeroita, postinumeroita, maksukorttien numeroita, vakuutustodistuksia jne. On tärkeää, että muovikorttien numeroiden tapauksessa kuvitteellisten numeroiden tulee onnistua läpäise tarkastus algoritmin Moon mukaan .
Useimmissa tapauksissa valedatatiedostojen tulee olla riittävän suuria sallimaan mahdollisimman paljon vaihtelua, mutta silti mahdollistaa korvaavien tietojoukkojen itsekääntäminen. Nämä kriteerit ovat tärkeitä valittaessa tietojen peittoohjelmistoratkaisua.
Sekoitus on hyvin yleinen tapa peittää tiedot. Se on samanlainen kuin edellä käsitelty korvausmenetelmä, mutta sekoitettuna korvaustiedot otetaan samasta taulukon sarakkeesta kuin alkuperäiset tiedot. Yksinkertaisesti sanottuna sarakkeen tiedot sekoitetaan satunnaisesti.
Pelkästään tätä menetelmää käyttävillä naamioinneilla on kuitenkin vakavia haittoja. Hyökkääjä, jolla on pääsy joihinkin todellisiin tietoihin, voi palauttaa loput tiedot analysoimalla "mitä jos?" -menetelmää käyttäen. Lisäksi sekoitus voidaan kääntää päinvastaiseksi purkamalla sen algoritmi.
Puutteistaan huolimatta sekoitusmenetelmä on loistava lisä muihin tietojen peittämismenetelmiin ja voi tarjota joitain etuja tietyissä tapauksissa. Voit esimerkiksi peittää tilinpäätökset korvaamalla toimittajien nimet ja sekoittamalla sitten tilinumeroita koko tietokannassa. Samanaikaisesti on erittäin epätodennäköistä, että kukaan, vaikka olisi rajoitettu pääsy alkuperäisiin tietoihin, pystyisi palauttamaan ne.
Varianssi (scatter) -menetelmää käytetään työskenneltäessä tietokantakenttien kanssa, jotka sisältävät taloustietoja ja päivämääriä. Tämä menetelmä koostuu siitä, että maskattu numeerinen arvo poikkeaa alkuperäisestä tietyllä määrällä. Esimerkiksi työntekijöiden palkkatietoja sisältäviä soluja peitettäessä poikkeama alkuperäisestä arvosta voi olla ± 10 %, joten peitetty tieto näyttää varsin realistiselta ja loogiselta.
Sama koskee sarakkeita tietokantataulukoissa, jotka sisältävät päivämäärät. Jos maskaaminen vaaditaan demografisten ja vakuutusmatemaattisten tietojen eheyden säilyttämiseksi , ± 120 päivän poikkeama soveltaminen kalenteripäivämääräkenttiin säilyttää niiden suhteen taulukossa, mutta henkilön henkilöllisyyttä ei voida määrittää päivämäärän mukaan. syntymästä esimerkiksi.
Salaus on kehittynein tapa peittää tiedot. Salausalgoritmi olettaa yleensä "avaimen" olemassaolon, jota tarvitaan alkuperäisen tiedon salauksen purkamiseen ja tarkastelemiseen.
Ensi silmäyksellä salaus on ihanteellinen ratkaisu tiedon saatavuuden rajoittamisen ongelmaan, mutta käytännössä "avain" voidaan siirtää työntekijälle, jolla ei ole riittäviä oikeuksia tarkastella tietoja, mikä tekee tyhjäksi kaikki naamiointiyritykset. .
Salaukseen voi liittyä myös alkuperäisten tietojen muuntaminen binäärimuotoon , mikä voi aiheuttaa ongelmia sovelluksissa. Sovellusten sisäisten ristiriitojen tunnistamiseksi ja poistamiseksi on suoritettava testaus , jossa lähtötiedot siirretään testaajille, ja tämä puolestaan sisältää tietoturvapalvelun testaukseen osallistuvien IT-asiantuntijoiden tarkistamisen. Teoriassa loistava idea käytännössä toteutuessaan aiheuttaa paljon vaikeuksia: salaus vie paljon aikaa havaittujen puutteiden testaamiseen ja poistamiseen.
Viime aikoina ohjelmistokehittäjät ja tiedeyhteisö ovat tunnustaneet salaukseen liittyvät ongelmat. Tämän alueen tutkimuksen tuloksena syntyi uusia salausalgoritmeja, joiden avulla voit tallentaa alkuperäisen tietomuodon - FPE (format protection encryption) .
Joskus käytetään yksinkertaistettua tietojen peittomenetelmää, joka koostuu tietokannan merkinnän merkkien korvaamisesta nollilla tai mielivaltaisilla merkeillä (esimerkiksi tähdillä tai "X"). Ilmeisesti tällä menetelmällä voit vain piilottaa alkuperäisen arvon, ei peittää. Lähes kaikissa tapauksissa tämä lähestymistapa vähentää tietojen eheyden astetta, koska se aiheuttaa ongelmia sovellusten tietojen validoinnissa . Lisäksi tietokantatietueiden "luonnolliset" arvot osoittavat selvästi, että taulukkoon on käytetty peittämistä.
Useimmiten tätä peittomenetelmää käytetään maksukorttien kanssa työskentelyssä. Esimerkiksi verkkokauppojen puhelinkeskukset näkevät vain asiakkaan luottokorttinumeron (XXXX XXXX XXXX 6789) neljä viimeistä numeroa , mutta tietojen vahvistamisen jälkeen laskutusjärjestelmä lähettää koko korttinumeron maksujärjestelmään .
Tämä järjestelmä ei ole kovin tehokas testijärjestelmille, mutta hyödyllinen yllä kuvatussa laskutusskenaariossa. Se tunnetaan myös laajalti tapana peittää dataa dynaamisesti [6] .
Tietojen peittämistä on kahta päätyyppiä: staattinen ja dynaaminen maskaus.
Staattista tietojen peittämistä käytetään tyypillisesti, kun tietokanta on luovutettava testattavaksi (esimerkiksi ulkoistettaessa ). Tietokannan ylläpitäjä luo kopion tuotantotietokannasta, lataa sen erilliselle palvelimelle, vähentää sen sisältämän tiedon määrää jättäen vain tiettyjen testien suorittamiseen tarvittavat tiedot, sitten käyttää maskausta, tekee tarvittavat muutokset ohjelmakoodiin, ja lähettää tietokannan peitetyn kopion kehittäjille tai testaajille.
Dynaaminen maskaus (reaaliaikainen maskaus, lennossa maskaus) tapahtuu siirrettäessä tuotantotietoja kehittäjille ilman välitallennusta millekään tallennusvälineelle .
Tämäntyyppinen peitto on paras ratkaisu organisaatioille, jotka käyttävät jatkuvaa integraatiota ja joilla ei ole aikaa luoda ja ladata tietokannan varmuuskopioita . Jatkuvan integroinnin ansiosta on tärkeää pystyä jatkuvasti välittämään pieniä tuotantotietoja kehittäjille testattavaksi.
Dynaaminen maskaus tapahtuu määritteiden ja määriteltyjen käytäntöjen perusteella. Esimerkiksi:
Dynaamista maskausta voidaan käyttää myös reaaliaikaisen tiedonsalauksen yhteydessä, erityisesti käytettäessä muotoa säilyttävää salausta.
Viime vuosina pilvipohjainen sovelluskehitys on tullut yhä suositummaksi, toimivatko nämä sovellukset suoraan pilvessä tai paikallisella tietokoneella. Testitapausten luomiseen ja siirtämiseen paikallisista tietokannoista "pilveen" tai "pilven" eri ympäristöjen välillä on useita menetelmiä. Tietojen peittämisestä tulee väistämättä osa ohjelmiston elinkaarta .
|