Skalbar dataklassificering för säkerhet och integritet

Skalbar dataklassificering för säkerhet och integritet

Att klassificera data baserat på innehåll är en öppen uppgift. Traditionella DLP-system (Data Loss Prevention) löser detta problem genom att ta fingeravtryck av relevant data och övervaka slutpunkter för fingeravtryck. Med tanke på det stora antalet ständigt föränderliga dataresurser på Facebook, skalar detta tillvägagångssätt inte bara inte, det är också ineffektivt för att avgöra var data finns. Den här artikeln handlar om ett heltäckande system byggt för att upptäcka känsliga semantiska typer i Facebook i stor skala och automatiskt upprätthålla datalagring och åtkomstkontroll.

Tillvägagångssättet som beskrivs här är vårt första end-to-end integritetssystem som försöker lösa detta problem genom att införliva datasignaler, maskininlärning och traditionella fingeravtryckstekniker för att visa och klassificera all data på Facebook. Det beskrivna systemet drivs i en produktionsmiljö och uppnår ett genomsnittligt F2-poäng på 0,9+ för olika integritetsklasser samtidigt som ett stort antal dataresurser bearbetas i dussintals lagringar. Introducerar en översättning av ett Facebook-inlägg på ArXiv om skalbar dataklassificering för säkerhet och integritet baserad på maskininlärning.

Inledning

Organisationer idag samlar in och lagrar stora mängder data i en mängd olika format och platser [1], sedan konsumeras data på många ställen, ibland kopieras eller cachelagras flera gånger, vilket resulterar i värdefull och känslig affärsinformation spridd över många företagsdatalager. När en organisation är skyldig att följa vissa lagar eller regulatoriska krav, såsom att följa bestämmelser i civilrättsliga tvister, blir det nödvändigt att samla in data om var de begärda uppgifterna finns. När en integritetsförordning säger att en organisation måste maskera alla personnummer (SSN) vid överföring av personuppgifter till obehöriga, är det naturliga första steget att slå upp alla SSN:er i organisationsövergripande datalager. Under sådana omständigheter blir dataklassificering kritisk [1]. Klassificeringssystemet kommer att tillåta organisationer att automatiskt upprätthålla integritets- och säkerhetspolicyer, såsom aktiveringspolicy för åtkomstkontroll, datalagring. Facebook introducerar ett system byggt av oss på Facebook som använder flera datasignaler, en skalbar systemarkitektur och maskininlärning för att upptäcka känsliga semantiska datatyper.

Dataupptäckt och klassificering handlar om att hitta och märka data så att relevant information snabbt och effektivt kan hämtas vid behov. Den nuvarande processen är mer en manuell process och består av att granska relevanta lagar eller förordningar, bestämma vilka typer av information som ska anses vara känsliga och vilka de olika känslighetsnivåerna är, och sedan bygga klasser och klassificeringspolicyer därefter [1]. Efter DLP-systemet (Data Loss Prevention) tas data fingeravtryck och nedströms slutpunkter övervakas för fingeravtryck. När man hanterar lagring med ett stort antal tillgångar och petabyte data, skalar detta tillvägagångssätt helt enkelt inte.

Vårt mål är att bygga ett dataklassificeringssystem som skalar för både robust och icke-beständig användardata, utan några ytterligare begränsningar för datatyp eller format. Detta är ett djärvt mål, och det är naturligtvis fyllt med svårigheter. En datainmatning kan vara tusentals tecken lång.

Skalbar dataklassificering för säkerhet och integritet
Figur 1. Online och offline förutsägelseflöden

Därför måste vi effektivt representera det med hjälp av en gemensam uppsättning funktioner som senare kan kombineras och enkelt flyttas. Dessa funktioner bör inte bara ge korrekt klassificering, utan också ge flexibiliteten och utökningsbarheten för att enkelt lägga till och upptäcka nya datatyper i framtiden. För det andra måste du ta itu med stora fristående bord. Beständiga data kan lagras i tabeller som är många petabyte stora. Detta kan sänka skanningshastigheten. För det tredje måste vi följa den strikta SLA-klassificeringen för instabil data. Detta tvingar systemet att vara mycket effektivt, snabbt och exakt. Slutligen måste vi tillhandahålla dataklassificering med låg latens för instabil data för att kunna utföra klassificering i realtid såväl som för webbanvändningsfall.

Den här artikeln beskriver hur vi hanterade problemen ovan och presenterar ett snabbt och skalbart klassificeringssystem som klassificerar dataobjekt av alla typer, format och källor baserat på en gemensam uppsättning funktioner. Vi utökade systemarkitekturen och skapade en speciell maskininlärningsmodell för snabb klassificering av offline- och onlinedata. Den här artikeln är organiserad enligt följande: Avsnitt 2 presenterar systemets övergripande design. Avsnitt 3 diskuterar delarna av ett maskininlärningssystem. Avsnitt 4 och 5 beskriver det relaterade arbetet och beskriver arbetets framtida inriktning.

Arkitektur

För att hantera utmaningarna med hållbar och onlinedata i Facebook-skala har klassificeringssystemet två separata strömmar, som vi kommer att diskutera i detalj.

hållbara data

Inledningsvis måste systemet lära sig om många Facebook-informationstillgångar. För varje butik samlas en del grundläggande information in, såsom datacentret som innehåller den datan, systemet som håller den datan och tillgångarna som finns i just det datalagret. Detta bildar en metadatakatalog som gör att systemet kan hämta data effektivt utan att överbelasta klienter och resurser som används av andra ingenjörer.

Denna metadatakatalog tillhandahåller en pålitlig källa för alla skannade tillgångar och låter dig spåra statusen för olika tillgångar. Denna information prioriterar schemaläggning baserat på insamlad data och intern information från systemet, till exempel när tillgången senast genomsöktes och när den skapades, och tidigare minnes- och CPU-krav för den tillgången, om den tidigare skannades. Sedan, för varje dataresurs (när resurserna blir tillgängliga), anropas det faktiska resursskanningsjobbet.

Varje jobb är en kompilerad binär som utför en Bernoulli-sampling på de senaste tillgängliga data för varje tillgång. Tillgången delas upp i separata kolumner, där klassificeringsresultatet för varje kolumn bearbetas oberoende. Dessutom söker systemet efter all rik data i kolumner. JSON, arrayer, kodade strukturer, URL:er, base 64 serialiserade data och mer skannas alla. Detta kan avsevärt öka tiden det tar att slutföra en skanning, eftersom en enda tabell kan innehålla tusentals kapslade kolumner i en blob json.

För varje rad som väljs i datatillgången extraherar klassificeringssystemet flyt- och textfunktioner från innehållet och länkar varje funktion tillbaka till kolumnen den togs från. Resultatet av funktionsextraktionssteget är en karta över alla funktioner för varje kolumn som finns i datatillgången.

Vad är tecken för?

Begreppet funktioner är nyckeln. Istället för float- och textattribut kan vi skicka råprovsträngar som hämtas direkt från varje dataresurs. Maskininlärningsmodeller kan också tränas direkt på varje prov snarare än hundratals funktionsberäkningar som bara försöker approximera provet. Det finns flera anledningar till detta:

  1. Sekretess först: Det viktigaste är att begreppet funktioner tillåter oss att bara lagra de mönster vi hämtar i minnet. Detta säkerställer att vi lagrar prover för ett enda ändamål och aldrig loggar dem på egen hand. Detta är särskilt viktigt för instabila data eftersom tjänsten måste bibehålla något klassificeringstillstånd innan en förutsägelse tillhandahålls.
  2. Minne: Vissa prov kan vara tusentals tecken långa. Att lagra sådan data och skicka den till delar av systemet förbrukar onödigt mycket extra byte. De två faktorerna kan kombineras med tiden med tanke på att det finns många dataresurser med tusentals kolumner.
  3. Funktionsaggregation: Funktioner ger en tydlig representation av resultaten av varje skanning genom en uppsättning funktioner, vilket gör att systemet kan aggregera resultaten från tidigare skanningar av samma dataresurs på ett bekvämt sätt. Detta kan vara användbart för att aggregera skanningsresultat av samma dataresurs över flera körningar.

Funktionerna skickas sedan till en prediktionstjänst, där vi använder regelbaserad klassificering och maskininlärning för att förutsäga dataetiketterna för varje kolumn. Tjänsten förlitar sig på både regelklassificerare och maskininlärning och väljer den bästa prediktionen som ges från varje prediktionsobjekt.

Regelklassificerare är manuell heuristik, den använder beräkningar och koefficienter för att normalisera ett objekt i intervallet från 0 till 100. När en sådan initial poäng har genererats för varje typ av data och kolumnnamnet som är associerat med denna data faller inte i någon "förneka" lists" väljer regelklassificeraren den högsta normaliserade poängen bland alla datatyper.

På grund av klassificeringens komplexitet leder användning av rent manuell heuristik till dålig klassificeringsnoggrannhet, särskilt för ostrukturerade data. Av denna anledning har vi utvecklat ett maskininlärningssystem för att arbeta med klassificering av ostrukturerad data som användarinnehåll och adress. Maskininlärning gjorde det möjligt för oss att börja gå bort från manuell heuristik och tillämpa ytterligare datasignaler (t.ex. kolumnnamn, dataursprung), vilket avsevärt förbättrade detekteringsnoggrannheten. Vi kommer att ta en djupdykning i vår maskininlärningsarkitektur senare.

Förutsägelsetjänsten lagrar resultaten för varje kolumn, tillsammans med metadata om tid och status för skanningen. Alla konsumenter och nedströmsprocesser som är beroende av denna data kan läsa den från den dagliga publicerade datamängden. Denna uppsättning sammanställer resultaten av alla dessa skanningsjobb, eller datakatalogens realtids-API. Publicerade prognoser är grunden för automatisk tillämpning av integritets- och säkerhetspolicyer.

Slutligen, efter att förutsägelsetjänsten har registrerat all data och alla förutsägelser är lagrade, kan vår datakatalog-API returnera alla datatypsförutsägelser för en resurs i realtid. Varje dag publicerar systemet en datauppsättning som innehåller alla de senaste prognoserna för varje tillgång.

Instabil data

Även om ovanstående process är utformad för beständiga tillgångar, anses icke-beständig trafik också vara en del av en organisations data och kan vara viktig. Av denna anledning tillhandahåller systemet ett online-API för att generera klassificeringsförutsägelser i realtid för eventuell oregelbunden trafik. Realtidsförutsägelsesystemet används i stor utsträckning för att klassificera utgående trafik, inkommande trafik i maskininlärningsmodeller och annonsörsdata.

Här använder API:et två huvudargument: grupperingsnyckeln och rådata som ska förutsägas. Tjänsten utför samma funktionsextraktion som beskrivs ovan och grupperar funktionerna för samma nyckel. Dessa funktioner stöds också i beständig cache för failover. För varje grupperingsnyckel säkerställer tjänsten att den har sett tillräckligt många prover innan den anropar prediktionstjänsten, enligt den process som beskrivs ovan.

optimering

För att skanna vissa lagringar använder vi heta lagringsläsoptimeringsbibliotek och metoder [2] och säkerställer att det inte finns några krascher från andra användare som kommer åt samma lagring.

För extremt stora tabeller (50+ petabyte), trots alla optimeringar och minneseffektivitet, arbetar systemet med att skanna och beräkna allt innan minnet tar slut. När allt kommer omkring är skanningen helt beräknad i minnet och sparas inte under skanningen. Om stora tabeller innehåller tusentals kolumner med ostrukturerade dataklumpar kan jobbet misslyckas på grund av otillräckliga minnesresurser när man gör tabellomfattande förutsägelser. Detta kommer att resultera i minskad täckning. För att bekämpa detta har vi optimerat systemet för att använda skanningshastighet som en proxy för hur väl systemet hanterar den aktuella belastningen. Vi använder hastighet som en prediktiv mekanism för att se minnesproblem och prediktiva beräkningar av funktionskartor. Då vi gör det använder vi mindre data än vanligt.

Datasignaler

Ett klassificeringssystem är bara så bra som signalerna från data. Här kommer vi att överväga alla signaler som används av klassificeringssystemet.

  • Innehållsbaserat: Naturligtvis är den första och viktigaste signalen innehåll. Bernoulli-sampling utförs på varje datatillgång som vi skannar och extraherar funktioner från datainnehållet. Många funktioner kommer från innehåll. Valfritt antal flytande objekt är möjliga, som representerar beräkningar av hur många gånger en viss typ av mönster har setts. Till exempel kan vi ha tecken på antalet e-postmeddelanden som setts i ett prov, eller tecken på hur många emojis som sågs i ett prov. Dessa funktionsberäkningar kan normaliseras och aggregeras över olika skanningar.
  • Data Origins: En viktig signal som kan hjälpa när innehållet har ändrats från den överordnade tabellen. Ett vanligt exempel är hashad data. När data i en underordnad tabell hashas kommer den ofta från den överordnade tabellen, där den förblir i klartext. Linjedata hjälper till att klassificera vissa typer av data när de inte läses tydligt eller konverteras från en uppströmstabell.
  • Anteckningar: Ytterligare en signal av hög kvalitet som hjälper till att identifiera ostrukturerad data. Faktum är att annoteringar och härstamningsdata kan samverka för att sprida attribut mellan olika datatillgångar. Anteckningar hjälper till att identifiera källan till ostrukturerad data, medan härkomstdata kan hjälpa till att spåra dataflödet i butiken.
  • Datainjektion är en teknik där speciella, oläsbara tecken avsiktligt injiceras i kända källor med kända datatyper. Sedan, när vi skannar innehåll med samma oläsbara teckensekvens, kan vi dra slutsatsen att innehållet kommer från den kända datatypen. Detta är en annan kvalitativ datasignal som liknar anteckningar. Förutom att innehållsbaserad upptäckt hjälper till att upptäcka inmatade data.

Metriskt mått

En viktig komponent är en rigorös metodik för att mäta mått. Huvudmåtten för klassificeringsförbättringsiterationen är noggrannheten och återkallelsen av varje etikett, där F2-poängen är den viktigaste.

Att beräkna dessa mätvärden kräver en oberoende metod för datatillgångsmärkning som är oberoende av själva systemet, men som kan användas för direkt jämförelse med det. Nedan beskriver vi hur vi samlar in grundsanning från Facebook och använder den för att träna vårt klassificeringssystem.

Insamling av tillförlitliga uppgifter

Vi samlar giltig data från varje källa som anges nedan i sin egen tabell. Varje tabell är ansvarig för att aggregera de senaste observerade värdena från den specifika källan. Varje källa har en datakvalitetskontroll för att säkerställa att de observerade värdena för varje källa är av hög kvalitet och innehåller de senaste datatypetiketterna.

  • Loggningsplattformskonfigurationer: Vissa fält i hive-tabellerna är fyllda med data som är av en viss typ. Användningen och spridningen av dessa data fungerar som en pålitlig källa till tillförlitlig data.
  • Manuell märkning: Utvecklare som underhåller systemet samt externa etiketter är utbildade att märka kolumner. Detta fungerar vanligtvis bra för alla typer av data i butiken och kan vara den primära källan till förtroende för vissa ostrukturerade data som postdata eller användargenererat innehåll.
  • Kolumner från överordnade tabeller kan markeras eller annoteras som innehållande viss data, och vi kan spåra denna data i tabellerna nedan.
  • Samplingstrådar: Facebooks trådar innehåller data av en specifik typ. Med vår skanner som en tjänstearkitektur kan vi ta prov på strömmar som har kända datatyper och skicka dem genom systemet. Systemet lovar att inte lagra denna data.
  • Exempeltabeller: Stora hive-tabeller som är kända för att innehålla hela datakorpusen kan också användas som träningsdata och skickas genom skannern som en tjänst. Detta är bra för tabeller med ett komplett utbud av datatyper, så att välja en kolumn slumpmässigt motsvarar att välja hela uppsättningen av den datatypen.
  • Syntetisk data: Vi kan till och med använda bibliotek som genererar data i farten. Detta fungerar bra för enkla, offentliga datatyper som en adress eller GPS.
  • Data Stewards: Sekretessprogram använder vanligtvis data Stewards för att manuellt bifoga policyer till databitar. Detta fungerar som en mycket exakt källa till förtroende.

Vi kombinerar alla större källor till hårda data till en korpus med all denna data. Det största problemet med validitet är att se till att det är representativt för datalagret. Annars kan klassificeringsmotorer överanpassas. För att bekämpa detta används alla ovanstående källor för att ge en balans när man tränar modeller eller beräknar mått. Dessutom provar mänskliga tokens de olika kolumnerna i butiken jämnt och märker data på lämpligt sätt så att insamlingen av giltiga värden förblir opartisk.

Fortsatt integration

För att säkerställa snabb iteration och förbättring är det viktigt att alltid mäta systemets prestanda i realtid. Vi kan mäta varje förbättring av klassificeringen mot dagens system, så att vi taktiskt kan rikta data för ytterligare förbättringar. Här tittar vi på hur systemet kompletterar den återkopplingsslinga som tillhandahålls av giltig data.

När schemaläggningssystemet stöter på en tillgång som har en etikett från en pålitlig källa, schemalägger vi två uppgifter. Den första använder vår tillverkningsskanner och därmed våra tillverkningsmöjligheter. Den andra uppgiften använder den senaste byggskannern med de senaste funktionerna. Varje uppgift skriver sin utdata till sin egen tabell och taggar versionerna tillsammans med klassificeringsresultaten.

Så här jämför vi klassificeringsresultaten för releasekandidaten och produktionsmodellen i realtid.

Medan datamängderna jämför RC- och PROD-funktioner, loggas många varianter av förutsägelsetjänstens ML-klassificeringsmotor. Den senaste maskininlärningsmodellen som byggdes, den nuvarande modellen i produktion och eventuella experimentella modeller. Samma tillvägagångssätt tillåter oss att "klippa ut" olika versioner av modellen (agnostiskt mot våra regelklassificerare) och jämföra mätvärden i realtid. Det är så lätt att avgöra när ett ML-experiment är redo att gå i produktion.

Varje natt skickas RC-funktionerna beräknade för den dagen till ML-träningspipeline, där modellen tränas på de senaste RC-funktionerna och utvärderar dess prestanda mot en giltig datauppsättning.

Varje morgon genomför modellen utbildning och publiceras automatiskt som en experimentell modell. Den ingår automatiskt i experimentlistan.

Några resultat

Mer än 100 olika typer av data är märkta med hög noggrannhet. Välstrukturerade typer som e-post och telefonnummer klassificeras med en f2-poäng högre än 0,95. Gratis datatyper som anpassat innehåll och namn fungerar också mycket bra, med F2-poäng på över 0,85.

Ett stort antal distinkta kolumner med robusta och icke-beständiga data klassificeras dagligen över alla repositories. Över 500 terabyte skannas dagligen i över 10 databutiker. Täckningen för de flesta av dessa förvar är över 98 %.

Med tiden har klassificeringen blivit mycket effektiv, eftersom klassificeringsjobb i en ihållande offlineström tar i genomsnitt 35 sekunder från att man skannat en tillgång till att beräkna förutsägelser för varje kolumn.

Skalbar dataklassificering för säkerhet och integritet
Ris. 2. Diagram som beskriver det kontinuerliga flödet av integration för att förstå hur RC-objekt genereras och skickas till modellen.

Skalbar dataklassificering för säkerhet och integritet
Figur 3. Högnivådiagram över en maskininlärningskomponent.

Maskininlärningssystemkomponent

I det föregående avsnittet tog vi en djupdykning i hela systemets arkitektur och lyfte fram skala, optimering och offline- och onlinedataflöden. I det här avsnittet tar vi en titt på prediktionstjänsten och beskriver maskininlärningssystemet som driver prediktionstjänsten.

Med över 100 datatyper och en del ostrukturerat innehåll som postdata och användargenererat innehåll, resulterar användning av rent manuell heuristik i subparametrisk klassificeringsnoggrannhet, särskilt för ostrukturerad data. Av denna anledning har vi också utvecklat ett maskininlärningssystem för att hantera komplexiteten hos ostrukturerad data. Genom att använda maskininlärning kan du börja gå bort från manuell heuristik och arbeta med funktioner och ytterligare datasignaler (t.ex. kolumnnamn, dataursprung) för att förbättra noggrannheten.

Den implementerade modellen studerar vektorrepresentationer [3] över täta och glesa objekt separat. De kombineras sedan för att bilda en vektor som går igenom en serie satsnormaliseringssteg [4] och icke-linjäritetssteg för att producera det slutliga resultatet. Slutresultatet är ett flyttal mellan [0-1] för varje etikett, vilket indikerar sannolikheten att instansen tillhör den känslighetstypen. Genom att använda PyTorch för modellen kunde vi röra oss snabbare, vilket gjorde det möjligt för utvecklare utanför teamet att snabbt göra och testa ändringar.

Vid utformningen av arkitekturen var det viktigt att modellera glesa (t.ex. text) och täta (t.ex. numeriska) objekt separat på grund av deras inneboende skillnad. För den slutliga arkitekturen var det också viktigt att utföra parametersvepning för att hitta det optimala värdet för inlärningshastighet, batchstorlek och andra hyperparametrar. Valet av optimerare var också en viktig hyperparameter. Vi upptäckte att den populära optimeraren Adamleder ofta till övermontering, medan modellen med SGD stabilare. Det fanns ytterligare nyanser som vi var tvungna att ta med direkt i modellen. Till exempel statiska regler som säkerställde att modellen gör en deterministisk förutsägelse när en egenskap har ett visst värde. Dessa statiska regler definieras av våra kunder. Vi fann att att införliva dem direkt i modellen resulterade i en mer fristående och robust arkitektur, i motsats till att implementera ett efterbearbetningssteg för att hantera dessa speciella kantfall. Observera också att dessa regler är inaktiverade under träning för att inte störa träningsprocessen för gradientnedstigning.

Problem

En av utmaningarna var insamlingen av tillförlitlig data av hög kvalitet. Modellen behöver validitet per klass så att den kan lära sig associationer mellan objekt och etiketter. I föregående avsnitt diskuterade vi datainsamlingsmetoder för både systemmätning och modellträning. Analysen visade att dataklasser som kreditkorts- och bankkontonummer inte är särskilt vanliga i vårt förråd. Detta gör det svårt att samla in stora mängder tillförlitliga data för modellträning. För att lösa detta problem har vi utvecklat processer för att generera syntetisk data för dessa klasser. Vi genererar sådan data för känsliga typer, inklusive SSN, kreditkortsnummer и IBAN-tal som modellen inte kunde förutsäga tidigare. Detta tillvägagångssätt gör att känsliga datatyper kan hanteras utan den integritetsrisk som är förknippad med att dölja verklig känslig data.

Förutom datatrovärdighetsfrågor finns det öppna arkitekturfrågor vi jobbar med som t.ex ändra isolering и tidigt stopp. Ändringsisolering är viktig så att när olika förändringar görs i olika delar av nätverket, är påverkan isolerad till specifika klasser och inte har en stor inverkan på den övergripande prediktionsprestandan. Att förbättra kriterierna för tidig stopp är också avgörande så att vi kan stoppa träningsprocessen vid en stabil punkt för alla klasser, och inte vid den punkt där vissa klasser tränar om och andra inte.

Funktionens betydelse

När en ny funktion introduceras i modellen vill vi veta dess övergripande inverkan på modellen. Vi vill också se till att förutsägelserna är mänskliga tolkningsbara så att vi kan förstå exakt vilka funktioner som används för varje typ av data. För detta ändamål har vi utvecklat och implementerat klassvis vikten av funktioner för en PyTorch-modell. Observera att detta skiljer sig från allmän funktionsviktighet, som vanligtvis stöds eftersom det inte talar om för oss vilka funktioner som är viktiga för en viss klass. Vi mäter vikten av ett objekt genom att beräkna ökningen av prediktionsfel efter att objektet har permuterats. En funktion är "viktig" när permutationen av värdena ökar modellens fel, eftersom modellen i det här fallet förlitade sig på funktionen i sin förutsägelse. Tecknet är "inte viktigt" när blandningen av dess värden lämnar modellfelet oförändrat, eftersom modellen i detta fall ignorerade det [5].

Funktionens betydelse för varje klass gör att vi kan göra modellen tolkningsbar så att vi kan se vad modellen uppmärksammar när den förutsäger etiketten. Till exempel när vi analyserar ADDR, då garanterar vi att attributet som är kopplat till adressen, som t.ex AddressLinesCount, rankas högt i tabellen för funktionsviktighet för varje klass så att vår mänskliga intuition stämmer väl överens med vad modellen har lärt sig.

Utvärdering

Det är viktigt att definiera ett enda mått för framgång. Vi väljer F2 - balans mellan återkallelse och noggrannhet (återkallningsbias är något större). Återkallelse är viktigare för sekretessanvändningsfallet än noggrannhet eftersom det är avgörande för teamet att inte missa några känsliga uppgifter (samtidigt som rimlig noggrannhet bibehålls). Den faktiska F2-prestandapoängen för vår modell ligger utanför ramen för denna artikel. Men med noggrann inställning kan vi uppnå en hög (0,9+) F2-poäng för de viktigaste känsliga klasserna.

Relaterat arbete

Det finns många algoritmer för automatisk klassificering av ostrukturerade dokument med olika metoder som mönstermatchning, dokumentlikhetssökning och olika maskininlärningsmetoder (bayesiska, beslutsträd, k-närmaste grannar och många andra) [6]. Alla dessa kan användas som en del av klassificeringen. Problemet är dock skalbarhet. Klassificeringsmetoden i den här artikeln är inriktad på flexibilitet och prestanda. Detta gör att vi kan stödja nya klasser i framtiden och hålla latensen låg.

Det finns också mycket datafingeravtrycksarbete. Till exempel beskrev författarna i [7] en lösning som fokuserar på problemet med att fånga upp konfidentiella dataläckor. Det underliggande antagandet är att ett datafingeravtryck kan matchas mot en uppsättning kända känsliga data. Författarna i [8] beskriver ett liknande problem med sekretessläckage, men deras lösning är baserad på den specifika Android-arkitekturen och klassificeras endast om användarens handlingar resulterade i att personlig information skickades eller om den underliggande applikationen läckte användardata. Situationen här är något annorlunda, eftersom användardata också kan vara mycket ostrukturerad. Därför behöver vi en mer sofistikerad teknik än fingeravtryck.

Slutligen, för att hantera bristen på data för vissa typer av känsliga uppgifter, introducerade vi syntetisk data. Det finns en stor mängd litteratur om dataförstärkning, till exempel undersökte författarna i [9] vilken roll brusinjektion spelar under träning och observerade positiva resultat i övervakat lärande. Vår inställning till integritet är annorlunda eftersom att introducera bullriga data kan vara kontraproduktivt och istället fokuserar vi på syntetisk data av hög kvalitet.

Slutsats

I den här artikeln har vi presenterat ett system som kan klassificera en databit. Detta tillåter oss att skapa system för att upprätthålla sekretess- och säkerhetspolicyer. Vi har visat att skalbar infrastruktur, kontinuerlig integration, maskininlärning och dataintegritet av hög kvalitet är nyckeln till framgången för många av våra integritetsinitiativ.

Det finns många områden för framtida arbete. Detta kan inkludera att ge stöd för rådata (filer), klassificera inte bara typen av data utan också känslighetsnivån och använda självövervakad inlärning direkt under utbildningen genom att generera korrekta syntetiska exempel. Vilket i sin tur kommer att hjälpa modellen att minska förlusterna så mycket som möjligt. Framtida arbete kan också fokusera på utredningsarbetsflödet, där vi går bortom upptäckt och tillhandahåller grundorsaksanalyser av olika integritetsintrång. Detta kommer att hjälpa i fall som känslighetsanalys (d.v.s. om datatypens integritetskänslighet är hög (t.ex. användarens IP) eller låg (t.ex. Facebooks interna IP)).

bibliografi

  1. David Ben-David, Tamar Domany och Abigail Tarem. Företagsdataklassificering med semantisk webbteknologi. I Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks och Birte Glimm, redaktörer, Den semantiska webben – ISWC 2010, sidorna 66–81, Berlin, Heidelberg, 2010. Springer Berlin Heidelberg.
  2. Subramanian Muralidhar, Wyatt Lloyd, Sabyasachi Roy, Cory Hill, Ernest Lin, Weiwen Liu, Satadru Pan, Shiva Shankar, Viswanath Sivakumar, Linpeng Tang och Sanjeev Kumar. f4: Facebooks varma BLOB-lagringssystem. I 11:e USENIX-symposiet om design och implementering av operativsystem (OSDI 14), sidorna 383–398, Broomfield, CO, oktober 2014. USENIX Association.
  3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado och Jeff Dean. Distribuerade representationer av ord och fraser och deras sammansättning. I CJC Burges, L. Bottou, M. Welling, Z. Ghahramani och KQ Weinberger, redaktörer, Framsteg inom neurala informationsbehandlingssystem 26, sidorna 3111–3119. Curran Associates, Inc., 2013.
  4. Sergey Ioffe och Christian Szegedy. Batchnormalisering: Accelererar djup nätverksträning genom att minska intern kovariatförskjutning. I Francis Bach och David Blei, redaktörer, Proceedings från den 32:a internationella konferensen om maskininlärning, volym 37 av Proceedings of Machine Learning Research, sidorna 448–456, Lille, Frankrike, 07–09 jul 2015. PMLR.
  5. Leo Breiman. Slumpmässiga skogar. Mach. Lära sig., 45(1):5–32, oktober 2001.
  6. Thair Nu Phyu. Undersökning av klassificeringstekniker inom datautvinning.
  7. X. Shu, D. Yao och E. Bertino. Sekretessbevarande upptäckt av exponering för känslig data. IEEE -transaktioner om informationskriminalteknik och säkerhet, 10(5):1092–1103, 2015.
  8. Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning och Xiaoyang Wang. Appintent: Analyserar känslig dataöverföring i Android för att upptäcka sekretessläckage. sidorna 1043–1054, 11 2013.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong och Quoc V. Le. Oövervakad dataökning.

Skalbar dataklassificering för säkerhet och integritet
Ta reda på detaljerna om hur du får ett eftertraktat yrke från grunden eller Level Up i kompetens och lön genom att ta SkillFactory onlinekurser:

Fler kurser

Källa: will.com

Lägg en kommentar