Scalable data classification para sa seguridad at privacy

Scalable data classification para sa seguridad at privacy

Ang pag-uuri ng data na nakabatay sa nilalaman ay isang bukas na problema. Nilulutas ng mga tradisyunal na sistema ng pag-iwas sa pagkawala ng data (DLP) ang problemang ito sa pamamagitan ng pag-fingerprint sa nauugnay na data at pagsubaybay sa mga endpoint para sa fingerprinting. Dahil sa malaking bilang ng patuloy na pagbabago ng mga mapagkukunan ng data sa Facebook, ang diskarte na ito ay hindi lamang hindi nasusukat, ngunit hindi rin epektibo para sa pagtukoy kung saan naninirahan ang data. Nakatuon ang papel na ito sa isang end-to-end na system na binuo upang makita ang mga sensitibong uri ng semantiko sa Facebook sa sukat at awtomatikong ipatupad ang pag-iimbak ng data at kontrol sa pag-access.

Ang diskarte na inilalarawan dito ay ang aming unang end-to-end na sistema ng privacy na sumusubok na lutasin ang problemang ito sa pamamagitan ng pagsasama ng mga signal ng data, machine learning, at tradisyonal na mga diskarte sa fingerprinting upang i-map at uriin ang lahat ng data sa Facebook. Ang inilarawang system ay pinapatakbo sa isang production environment, na nakakamit ng average na F2 score na 0,9+ sa iba't ibang klase ng privacy habang pinoproseso ang malaking halaga ng data resources sa dose-dosenang mga repository. Ipinapakilala ang pagsasalin ng ArXiv paper ng Facebook sa scalable data classification para sa seguridad at privacy batay sa machine learning.

Pagpapakilala

Ngayon, ang mga organisasyon ay nangongolekta at nag-iimbak ng maraming data sa iba't ibang mga format at lokasyon [1], pagkatapos ay ang data ay ginagamit sa maraming lugar, kung minsan ay kinopya o naka-cache nang maraming beses, na nagreresulta sa mahalaga at sensitibong impormasyon ng negosyo na nakakalat sa maraming data ng enterprise. mga tindahan. Kapag ang isang organisasyon ay kinakailangan upang matugunan ang ilang mga legal o regulasyon na kinakailangan, tulad ng pagsunod sa mga regulasyon sa sibil na paglilitis, ito ay nagiging kinakailangan upang mangolekta ng data tungkol sa lokasyon ng kinakailangang data. Kapag ang isang regulasyon sa privacy ay nagsasaad na dapat itago ng isang organisasyon ang lahat ng Social Security Number (SSN) kapag nagbabahagi ng personal na impormasyon sa mga hindi awtorisadong entity, ang natural na unang hakbang ay ang paghahanap sa lahat ng SSN sa mga tindahan ng data ng organisasyon. Sa ilalim ng gayong mga kalagayan, nagiging kritikal ang pag-uuri ng data [1]. Ang sistema ng pag-uuri ay magbibigay-daan sa mga organisasyon na awtomatikong ipatupad ang mga patakaran sa privacy at seguridad, tulad ng pagpapagana ng mga patakaran sa pagkontrol sa pag-access, pagpapanatili ng data. Ipinapakilala ng Facebook ang isang system na binuo namin sa Facebook na gumagamit ng maraming data signal, scalable system architecture, at machine learning para tumuklas ng mga sensitibong semantic data type.

Ang pagtuklas at pag-uuri ng data ay ang proseso ng paghahanap at pag-label ng data upang mabilis at mahusay na makuha ang nauugnay na impormasyon kapag kinakailangan. Ang kasalukuyang proseso ay sa halip ay manu-mano sa kalikasan at binubuo ng pagsusuri sa mga kaugnay na batas o regulasyon, pagtukoy kung anong mga uri ng impormasyon ang dapat ituring na sensitibo at kung ano ang iba't ibang antas ng pagiging sensitibo, at pagkatapos ay pagbuo ng mga klase at mga patakaran sa pag-uuri nang naaayon [1]. Data loss prevention (DLP) pagkatapos ay i-fingerprint ang data at sinusubaybayan ang mga downstream na endpoint upang makakuha ng mga fingerprint. Kapag nakikitungo sa isang warehouse na mabigat sa asset na may mga petabytes ng data, ang diskarteng ito ay hindi lamang sukat.

Ang aming layunin ay bumuo ng isang sistema ng pag-uuri ng data na sumusukat sa parehong matatag at lumilipas na data ng user, nang walang anumang karagdagang paghihigpit sa uri o format ng data. Ito ay isang mapangahas na layunin, at natural na may kasamang mga hamon. Ang isang naibigay na tala ng data ay maaaring libu-libong mga character ang haba.

Scalable data classification para sa seguridad at privacy
Figure 1. Mga daloy ng online at offline na pagtataya

Samakatuwid, dapat nating katawanin ito nang mahusay gamit ang isang karaniwang hanay ng mga tampok na maaaring pagsamahin sa ibang pagkakataon at madaling ilipat sa paligid. Ang mga feature na ito ay hindi lamang dapat magbigay ng tumpak na pag-uuri, ngunit nagbibigay din ng flexibility at extensibility upang madaling magdagdag at tumuklas ng mga bagong uri ng data sa hinaharap. Pangalawa, kailangan mong harapin ang malalaking offline na talahanayan. Ang matibay na data ay maaaring maimbak sa mga talahanayan na maraming petabytes ang laki. Maaari itong magresulta sa mas mabagal na bilis ng pag-scan. Pangatlo, dapat tayong sumunod sa mahigpit na pag-uuri ng SLA sa pabagu-bagong data. Pinipilit nito ang system na maging napakahusay, mabilis at tumpak. Panghuli, dapat kaming magbigay ng mababang latency na pag-uuri ng data para sa pabagu-bago ng data upang maisagawa ang real-time na pag-uuri gayundin para sa mga kaso ng paggamit ng Internet.

Inilalarawan ng papel na ito kung paano namin hinarap ang mga hamon sa itaas at nagpapakita ng mabilis at nasusukat na sistema ng pag-uuri na nag-uuri ng mga elemento ng data ng lahat ng uri, format, at pinagmumulan batay sa isang karaniwang hanay ng mga feature. Pinalawak namin ang arkitektura ng system at gumawa kami ng custom na machine learning model para mabilis na ma-classify ang offline at online na data. Ang papel na ito ay inayos ayon sa sumusunod: Ang Seksyon 2 ay nagpapakita ng pangkalahatang disenyo ng system. Tinatalakay ng Seksyon 3 ang mga bahagi ng isang machine learning system. Itinatampok ng mga Seksyon 4 at 5 ang kaugnay na gawain at binabalangkas ang mga direksyon ng trabaho sa hinaharap.

arkitektura

Upang harapin ang mga hamon ng paulit-ulit at Facebook-scale na online na data, ang sistema ng pag-uuri ay may dalawang magkahiwalay na stream, na tatalakayin natin nang detalyado.

Sustainable Data

Sa una, dapat matutunan ng system ang tungkol sa maraming mga asset ng impormasyon ng Facebook. Para sa bawat repositoryo, ang ilang pangunahing impormasyon ay kinokolekta, tulad ng data center na naglalaman ng data na iyon, ang system na naglalaman ng data na iyon, at ang mga asset na matatagpuan sa partikular na data repository. Lumilikha ito ng metadata catalog na nagbibigay-daan sa system na mahusay na makuha ang data nang hindi nag-overload sa mga kliyente at mapagkukunang ginagamit ng ibang mga inhinyero.

Ang metadata catalog na ito ay nagbibigay ng makapangyarihang pinagmulan para sa lahat ng na-scan na asset at nagbibigay-daan sa iyong subaybayan ang status ng iba't ibang asset. Gamit ang impormasyong ito, itinatatag ang priyoridad ng pag-iskedyul batay sa nakolektang data at panloob na impormasyon mula sa system, tulad ng oras na huling matagumpay na na-scan ang asset at ang oras na ginawa ito, pati na rin ang nakaraang memorya at mga kinakailangan ng CPU para sa asset na iyon kung na-scan ito dati. Pagkatapos, para sa bawat mapagkukunan ng data (habang magagamit ang mga mapagkukunan), isang trabaho ang tinatawag upang aktwal na i-scan ang mapagkukunan.

Ang bawat trabaho ay isang pinagsama-samang binary file na nagsasagawa ng Bernoulli sampling sa pinakabagong data na magagamit para sa bawat asset. Ang asset ay nahahati sa mga indibidwal na column, kung saan ang resulta ng pag-uuri ng bawat column ay hiwalay na pinoproseso. Bukod pa rito, nag-scan ang system para sa anumang puspos na data sa loob ng mga column. Ang JSON, mga array, mga naka-encode na istruktura, mga URL, base 64 na serialized na data, at higit pa ay na-scan lahat. Maaari nitong makabuluhang taasan ang oras ng pagpapatupad ng pag-scan dahil ang isang talahanayan ay maaaring maglaman ng libu-libong mga nested na column sa isang blob json.

Para sa bawat row na napili sa asset ng data, kinukuha ng system ng pag-uuri ang float at text na mga bagay mula sa nilalaman at iniuugnay ang bawat bagay pabalik sa column kung saan ito kinuha. Ang output ng hakbang sa pagkuha ng feature ay isang mapa ng lahat ng feature para sa bawat column na makikita sa asset ng data.

Para saan ang mga palatandaan?

Ang konsepto ng mga katangian ay susi. Sa halip na float at text traits, maaari kaming magpasa ng mga raw string sample na direktang kinukuha mula sa bawat data resource. Bilang karagdagan, ang mga modelo ng machine learning ay maaaring sanayin nang direkta sa bawat sample, sa halip na daan-daang mga kalkulasyon ng tampok na sinusubukan lamang na tantiyahin ang sample. Mayroong ilang mga dahilan para dito:

  1. Privacy muna: Pinakamahalaga, ang konsepto ng mga feature ay nagbibigay-daan sa amin na iimbak sa memorya lamang ang mga pattern na nakuha namin. Tinitiyak nito na nag-iimbak kami ng mga sample para sa iisang layunin at hindi kailanman nila-log ang mga ito sa pamamagitan ng sarili naming pagsisikap. Ito ay lalong mahalaga para sa pabagu-bagong data, dahil ang serbisyo ay dapat magpanatili ng ilang estado ng pag-uuri bago magbigay ng hula.
  2. Memorya: Ang ilang sample ay maaaring libu-libong character ang haba. Ang pag-iimbak ng naturang data at pagpapadala nito sa mga bahagi ng system ay hindi kinakailangang kumonsumo ng maraming karagdagang byte. Maaaring pagsamahin ang dalawang salik sa paglipas ng panahon, dahil maraming mapagkukunan ng data na may libu-libong column.
  3. Pagsasama-sama ng feature: Malinaw na kinakatawan ng mga feature ang mga resulta ng bawat pag-scan sa pamamagitan ng isang hanay ng mga feature, na nagpapahintulot sa system na pagsamahin ang mga resulta ng mga nakaraang pag-scan ng parehong mapagkukunan ng data sa isang maginhawang paraan. Maaari itong maging kapaki-pakinabang para sa pagsasama-sama ng mga resulta ng pag-scan mula sa isang mapagkukunan ng data sa maraming pagtakbo.

Pagkatapos ay ipapadala ang mga feature sa isang serbisyo sa paghula kung saan ginagamit namin ang pag-uuri na nakabatay sa panuntunan at machine learning upang mahulaan ang mga label ng data ng bawat column. Ang serbisyo ay umaasa sa parehong rule classifier at machine learning at pinipili ang pinakamahusay na hula na ibinigay mula sa bawat object ng hula.

Ang mga classifier ng panuntunan ay manu-manong heuristic, gumagamit sila ng mga kalkulasyon at coefficient para gawing normal ang isang bagay sa hanay na 0 hanggang 100. Kapag nabuo ang naturang paunang marka para sa bawat uri ng data at pangalan ng column na nauugnay sa data na iyon, hindi ito kasama sa anumang "pagbawal mga listahan.” , Pinipili ng classifier ng panuntunan ang pinakamataas na na-normalize na marka sa lahat ng uri ng data.

Dahil sa pagiging kumplikado ng pag-uuri, ang pag-asa lamang sa manu-manong heuristic ay nagreresulta sa mababang katumpakan ng pag-uuri, lalo na para sa hindi nakabalangkas na data. Para sa kadahilanang ito, bumuo kami ng isang machine learning system upang gumana sa pag-uuri ng hindi nakaayos na data gaya ng nilalaman at address ng user. Ginawang posible ng machine learning na magsimulang lumayo sa manu-manong heuristics at maglapat ng mga karagdagang signal ng data (hal. mga pangalan ng column, pinagmulan ng data), na makabuluhang nagpapahusay sa katumpakan ng pagtuklas. Sumisid kami nang malalim sa aming arkitektura ng machine learning mamaya.

Iniimbak ng serbisyo ng hula ang mga resulta para sa bawat column kasama ng metadata tungkol sa oras at estado ng pag-scan. Mababasa ito ng sinumang mga consumer at downstream na proseso na umaasa sa data na ito mula sa araw-araw na na-publish na dataset. Pinagsasama-sama ng set na ito ang mga resulta ng lahat ng mga trabahong ito sa pag-scan, o Real-Time Data Catalog API. Ang mga na-publish na hula ay ang pundasyon para sa awtomatikong pagpapatupad ng mga patakaran sa privacy at seguridad.

Sa wakas, pagkatapos maisulat ng serbisyo sa pagtataya ang lahat ng data at maiimbak ang lahat ng mga hula, maibabalik ng aming Data Catalog API ang lahat ng mga hula sa uri ng data para sa mapagkukunan nang real time. Araw-araw ay naglalathala ang system ng dataset na naglalaman ng lahat ng pinakabagong hula para sa bawat asset.

Pabagu-bagong data

Bagama't ang proseso sa itaas ay idinisenyo para sa patuloy na mga asset, ang hindi tuluy-tuloy na trapiko ay itinuturing ding bahagi ng data ng isang organisasyon at maaaring maging mahalaga. Para sa kadahilanang ito, ang system ay nagbibigay ng isang online na API para sa pagbuo ng real-time na mga hula sa pag-uuri para sa anumang pasulput-sulpot na trapiko. Ang real-time na sistema ng pagtataya ay malawakang ginagamit sa pag-uuri ng papalabas na trapiko, papasok na trapiko sa mga modelo ng machine learning at data ng advertiser.

Dito kumukuha ang API ng dalawang pangunahing argumento: ang key ng pagpapangkat at ang raw data na mahulaan. Ang serbisyo ay nagsasagawa ng parehong pagkuha ng bagay tulad ng inilarawan sa itaas at pinagsama-sama ang mga bagay para sa parehong key. Ang mga feature na ito ay sinusuportahan din sa persistence cache para sa failure recovery. Para sa bawat key ng pagpapangkat, tinitiyak ng serbisyo na nakakita ito ng sapat na mga sample bago tumawag sa serbisyo ng hula, kasunod ng prosesong inilarawan sa itaas.

Optimization

Para i-scan ang ilang storage, gumagamit kami ng mga library at technique para ma-optimize ang pagbabasa mula sa mainit na storage [2] at matiyak na walang mga pagkaantala mula sa ibang mga user na nag-a-access sa parehong storage.

Para sa napakalaking talahanayan (50+ petabytes), sa kabila ng lahat ng pag-optimize at kahusayan ng memorya, gumagana ang system upang i-scan at kalkulahin ang lahat bago maubos ang memorya. Pagkatapos ng lahat, ang pag-scan ay ganap na nakalkula sa memorya at hindi nakaimbak sa panahon ng pag-scan. Kung ang malalaking talahanayan ay naglalaman ng libu-libong column na may hindi nakaayos na mga kumpol ng data, maaaring mabigo ang trabaho dahil sa hindi sapat na mga mapagkukunan ng memorya kapag nagsasagawa ng mga hula sa buong talahanayan. Magreresulta ito sa pagbawas ng coverage. Para labanan ito, in-optimize namin ang system para magamit ang bilis ng pag-scan bilang proxy para sa kung gaano kahusay pinangangasiwaan ng system ang kasalukuyang workload. Ginagamit namin ang bilis bilang isang predictive na mekanismo upang makita ang mga problema sa memorya at predictively kalkulahin ang feature map. Kasabay nito, mas kaunting data ang ginagamit namin kaysa karaniwan.

Mga signal ng data

Ang sistema ng pag-uuri ay kasinghusay lamang ng mga signal mula sa data. Dito ay titingnan natin ang lahat ng mga signal na ginagamit ng sistema ng pag-uuri.

  • Batay sa Nilalaman: Siyempre, ang una at pinakamahalagang signal ay nilalaman. Isinasagawa ang Bernoulli sampling sa bawat asset ng data na sinusuri at kinukuha namin ang mga feature batay sa content ng data. Maraming mga palatandaan ang nagmumula sa nilalaman. Posible ang anumang bilang ng mga lumulutang na bagay, na kumakatawan sa mga kalkulasyon kung gaano karaming beses nakita ang isang partikular na uri ng sample. Halimbawa, maaaring mayroon kaming mga palatandaan ng bilang ng mga email na nakikita sa isang sample, o mga palatandaan ng kung gaano karaming mga emoji ang nakikita sa isang sample. Ang mga pagkalkula ng tampok na ito ay maaaring gawing normal at pagsama-samahin sa iba't ibang mga pag-scan.
  • Data provenance: Isang mahalagang signal na makakatulong kapag nagbago ang content mula sa parent table. Ang isang karaniwang halimbawa ay ang na-hash na data. Kapag na-hash ang data sa isang child table, madalas itong nagmumula sa parent table, kung saan nananatili itong malinaw. Nakakatulong ang lineage data sa pag-uuri ng ilang partikular na uri ng data kapag hindi malinaw na nabasa ang mga ito o na-convert mula sa upstream na talahanayan.
  • Mga Anotasyon: Isa pang signal na may mataas na kalidad na tumutulong sa pagtukoy ng hindi nakaayos na data. Sa katunayan, ang mga anotasyon at data ng pinagmulan ay maaaring magtulungan upang magpalaganap ng mga katangian sa iba't ibang asset ng data. Nakakatulong ang mga anotasyon na matukoy ang pinagmulan ng hindi nakaayos na data, habang ang data ng lineage ay makakatulong sa pagsubaybay sa daloy ng data na iyon sa buong repositoryo.
  • Ang pag-iniksyon ng data ay isang pamamaraan kung saan ang mga espesyal, hindi nababasang mga character ay sadyang ipinapasok sa mga kilalang pinagmumulan ng mga kilalang uri ng data. Pagkatapos, sa tuwing nag-i-scan kami ng nilalaman na may parehong hindi nababasang pagkakasunud-sunod ng character, maaari naming mahihinuha na ang nilalaman ay nagmumula sa kilalang uri ng data na iyon. Ito ay isa pang qualitative data signal na katulad ng mga anotasyon. Maliban na nakakatulong ang pagtuklas na nakabatay sa nilalaman na matuklasan ang inilagay na data.

Pagsukat ng mga Sukatan

Ang isang mahalagang bahagi ay isang mahigpit na pamamaraan para sa pagsukat ng mga sukatan. Ang mga pangunahing sukatan para sa pag-ulit ng pagpapabuti ng pag-uuri ay ang katumpakan at paggunita ng bawat label, na ang marka ng F2 ang pinakamahalaga.

Upang kalkulahin ang mga sukatang ito, kailangan ng isang independiyenteng pamamaraan para sa pag-label ng mga asset ng data na independiyente sa system mismo, ngunit maaaring gamitin para sa direktang paghahambing dito. Inilalarawan namin sa ibaba kung paano namin kinokolekta ang ground truth mula sa Facebook at ginagamit ito upang sanayin ang aming sistema ng pag-uuri.

Koleksyon ng maaasahang data

Nag-iipon kami ng maaasahang data mula sa bawat source na nakalista sa ibaba sa sarili nitong talahanayan. Ang bawat talahanayan ay may pananagutan para sa pagsasama-sama ng pinakabagong naobserbahang mga halaga mula sa partikular na pinagmulan. Ang bawat pinagmulan ay may mga pagsusuri sa kalidad ng data upang matiyak na ang mga naobserbahang halaga para sa bawat pinagmulan ay mataas ang kalidad at naglalaman ng mga pinakabagong label ng uri ng data.

  • Mga configuration ng platform sa pag-log: Ang ilang partikular na field sa mga talahanayan ng hive ay puno ng data na may partikular na uri. Ang paggamit at pagpapakalat ng data na ito ay nagsisilbing isang maaasahang mapagkukunan ng katotohanan.
  • Manu-manong pag-label: Ang mga developer na nagpapanatili ng system pati na rin ang mga panlabas na label ay sinanay na mag-label ng mga column. Ito ay karaniwang gumagana nang maayos para sa lahat ng uri ng data sa warehouse, at maaaring maging pangunahing pinagmumulan ng katotohanan para sa ilang hindi nakabalangkas na data, gaya ng data ng mensahe o nilalaman ng user.
  • Maaaring markahan o i-annotate ang mga column mula sa mga talahanayan ng magulang bilang naglalaman ng ilang partikular na data, at masusubaybayan namin ang data na iyon sa mga talahanayan ng mga bata.
  • Pagkuha ng mga thread ng execution: ang mga thread ng execution sa Facebook ay may mga partikular na uri ng data. Gamit ang aming scanner bilang isang arkitektura ng serbisyo, maaari kaming mag-sample ng mga stream na may alam na mga uri ng data at ipadala ang mga ito sa pamamagitan ng system. Nangangako ang system na hindi iimbak ang data na ito.
  • Mga sample na talahanayan: Ang mga malalaking hive table, na kilala na naglalaman ng buong data corpus, ay maaari ding gamitin bilang data ng pagsasanay at ipasa sa scanner bilang isang serbisyo. Mahusay ito para sa mga talahanayan na may buong hanay ng mga uri ng data, upang ang pagsa-sample ng column nang random ay katumbas ng pag-sample sa buong hanay ng uri ng data na iyon.
  • Sintetikong data: Maaari pa nga kaming gumamit ng mga aklatan na mabilis na bumubuo ng data. Ito ay mahusay na gumagana para sa simple, pampublikong mga uri ng data tulad ng isang address o GPS.
  • Mga Tagapangasiwa ng Data: Ang mga programa sa privacy ay karaniwang gumagamit ng mga tagapangasiwa ng data upang manu-manong magtalaga ng mga patakaran sa mga piraso ng data. Nagsisilbi itong lubos na tumpak na pinagmumulan ng katotohanan.

Pinagsasama namin ang bawat pangunahing pinagmumulan ng katotohanan sa isang corpus kasama ang lahat ng data na iyon. Ang pinakamalaking hamon na may bisa ay ang pagtiyak na ito ay kinatawan ng imbakan ng data. Kung hindi, maaaring mag-overtrain ang mga makina ng pag-uuri. Upang labanan ito, ang lahat ng mga pinagmumulan sa itaas ay ginagamit upang matiyak ang balanse kapag nagsasanay ng mga modelo o pagkalkula ng mga sukatan. Bilang karagdagan, ang mga tao na may label ay pare-parehong nagsa-sample ng iba't ibang column sa repository at nilagyan ng label ang data nang naaayon upang ang koleksyon ng ground truth ay mananatiling walang kinikilingan.

Patuloy na integrasyon

Upang matiyak ang mabilis na pag-ulit at pagpapabuti, mahalagang palaging sukatin ang pagganap ng system sa real time. Masusukat namin ang bawat pagpapabuti ng pag-uuri kumpara sa system ngayon, para mapatnubayan namin nang taktika ang mga pagpapabuti sa hinaharap batay sa data. Dito natin tinitingnan kung paano kinukumpleto ng system ang feedback loop na ibinigay ng wastong data.

Kapag nakatagpo ang system ng pag-iskedyul ng asset na may label mula sa pinagkakatiwalaang pinagmulan, nag-iskedyul kami ng dalawang gawain. Ang una ay gumagamit ng aming production scanner at sa gayon ang aming mga kakayahan sa produksyon. Ang pangalawang gawain ay gumagamit ng pinakabagong build scanner na may mga pinakabagong feature. Ang bawat gawain ay nagsusulat ng output nito sa sarili nitong talahanayan, nagta-tag ng mga bersyon kasama ang mga resulta ng pag-uuri.

Ito ay kung paano namin inihahambing ang mga resulta ng pag-uuri ng kandidato sa paglabas at ang modelo ng produksyon sa real time.

Habang inihahambing ng mga dataset ang mga feature ng RC at PROD, maraming variation ng ML classification engine ng serbisyo ng hula ang naka-log. Ang pinakakamakailang ginawang modelo ng machine learning, ang kasalukuyang modelo sa produksyon, at anumang pang-eksperimentong modelo. Ang parehong diskarte ay nagbibigay-daan sa amin na "maghiwa" ng iba't ibang bersyon ng modelo (agnostiko sa aming mga classifier ng panuntunan) at paghambingin ang mga sukatan sa real time. Ginagawa nitong madali ang pagtukoy kung kailan handa na ang isang eksperimento sa ML na pumasok sa produksyon.

Bawat gabi, ang mga feature ng RC na kinakalkula para sa araw na iyon ay ipinapadala sa pipeline ng pagsasanay ng ML, kung saan sinasanay ang modelo sa mga pinakabagong feature ng RC at sinusuri ang performance nito kumpara sa ground truth dataset.

Tuwing umaga, kinukumpleto ng modelo ang pagsasanay at awtomatikong na-publish bilang isang pang-eksperimentong modelo. Awtomatiko itong kasama sa pang-eksperimentong listahan.

Ilang resulta

Higit sa 100 iba't ibang uri ng data ang may label na may mataas na katumpakan. Ang mga uri ng mahusay na istruktura tulad ng mga email at numero ng telepono ay inuri na may f2 na marka na higit sa 0,95. Ang mga libreng uri ng data tulad ng content na binuo ng user at pangalan ay gumaganap din nang mahusay, na may mga marka ng F2 na mas mataas sa 0,85.

Ang isang malaking bilang ng mga indibidwal na column ng paulit-ulit at pabagu-bagong data ay inuuri araw-araw sa lahat ng mga repositoryo. Mahigit sa 500 terabytes ang ini-scan araw-araw sa higit sa 10 data warehouse. Karamihan sa mga repositoryong ito ay may higit sa 98% na saklaw.

Sa paglipas ng panahon, naging napakahusay ng pag-uuri, kung saan ang mga trabaho sa pag-uuri sa isang patuloy na offline na stream ay tumatagal ng average na 35 segundo mula sa pag-scan ng asset hanggang sa pagkalkula ng mga hula para sa bawat column.

Scalable data classification para sa seguridad at privacy
kanin. 2. Diagram na naglalarawan sa tuluy-tuloy na daloy ng pagsasama upang maunawaan kung paano nabuo at ipinadala ang mga RC object sa modelo.

Scalable data classification para sa seguridad at privacy
Figure 3. High-level na diagram ng isang bahagi ng machine learning.

Bahagi ng sistema ng machine learning

Sa nakaraang seksyon, nagsagawa kami ng malalim na pagsisid sa pangkalahatang arkitektura ng system, pag-highlight ng sukat, pag-optimize, at offline at online na mga daloy ng data. Sa seksyong ito, titingnan natin ang serbisyo sa pagtataya at ilalarawan ang sistema ng machine learning na nagpapagana sa serbisyo ng pagtataya.

Sa mahigit 100 uri ng data at ilang hindi nakabalangkas na nilalaman gaya ng data ng mensahe at nilalaman ng user, ang paggamit ng mga manual na heuristic ay nagreresulta sa katumpakan ng subparametric na pag-uuri, lalo na para sa hindi nakabalangkas na data. Para sa kadahilanang ito, bumuo din kami ng isang machine learning system upang harapin ang mga kumplikado ng hindi nakaayos na data. Ang paggamit ng machine learning ay nagbibigay-daan sa iyong magsimulang lumayo sa manu-manong heuristics at magtrabaho kasama ang mga feature at karagdagang signal ng data (halimbawa, mga pangalan ng column, pinagmulan ng data) upang mapabuti ang katumpakan.

Pinag-aaralan ng ipinatupad na modelo ang mga representasyon ng vector [3] sa mga siksik at kalat-kalat na bagay nang hiwalay. Ang mga ito ay pagkatapos ay pinagsama upang bumuo ng isang vector, na dumadaan sa isang serye ng batch normalization [4] at nonlinearity na mga hakbang upang makagawa ng huling resulta. Ang resulta ay isang numero ng lumulutang na punto sa pagitan ng [0-1] para sa bawat label, na nagsasaad ng posibilidad na ang halimbawa ay kabilang sa uri ng sensitivity na iyon. Ang paggamit ng PyTorch para sa modelo ay nagbigay-daan sa amin na gumalaw nang mas mabilis, na nagpapahintulot sa mga developer sa labas ng koponan na mabilis na gumawa at sumubok ng mga pagbabago.

Kapag nagdidisenyo ng arkitektura, mahalagang magmodelo ng mga kalat-kalat (hal. teksto) at siksik (hal. numeric) na mga bagay nang hiwalay dahil sa kanilang likas na pagkakaiba. Para sa panghuling arkitektura, mahalaga ding magsagawa ng parameter sweep para mahanap ang pinakamainam na halaga para sa rate ng pagkatuto, laki ng batch, at iba pang hyperparameter. Ang pagpili ng optimizer ay isa ring mahalagang hyperparameter. Nalaman namin na isang sikat na optimizer Adanmadalas na humahantong sa overfitting, samantalang ang isang modelo na may SGD mas matatag. Mayroong karagdagang mga nuances na kailangan naming isama nang direkta sa modelo. Halimbawa, ang mga static na panuntunan na nagsisiguro na ang modelo ay gumagawa ng isang tiyak na hula kapag ang isang tampok ay may isang tiyak na halaga. Ang mga static na panuntunang ito ay tinukoy ng aming mga kliyente. Nalaman namin na ang pagsasama ng mga ito nang direkta sa modelo ay nagresulta sa isang mas self-contained at matatag na arkitektura, kumpara sa pagpapatupad ng isang post-processing na hakbang upang mahawakan ang mga espesyal na kaso sa gilid. Tandaan din na ang mga panuntunang ito ay hindi pinagana sa panahon ng pagsasanay upang hindi makagambala sa proseso ng pagsasanay ng gradient descent.

Mga Problema

Ang isa sa mga hamon ay ang pagkolekta ng mataas na kalidad, maaasahang data. Ang modelo ay nangangailangan ng kumpiyansa para sa bawat klase upang matutunan nito ang mga ugnayan sa pagitan ng mga bagay at mga label. Sa nakaraang seksyon, tinalakay namin ang mga paraan ng pagkolekta ng data para sa parehong pagsukat ng system at pagsasanay ng modelo. Ang pagsusuri ay nagpakita na ang mga klase ng data tulad ng mga numero ng credit card at bank account ay hindi masyadong karaniwan sa aming bodega. Ginagawa nitong mahirap na mangolekta ng malaking halaga ng maaasahang data upang sanayin ang mga modelo. Upang matugunan ang isyung ito, bumuo kami ng mga proseso para sa pagkuha ng synthetic ground truth data para sa mga klaseng ito. Bumubuo kami ng naturang data para sa mga sensitibong uri kabilang ang SSN, mga numero ng credit card ΠΈ IBAN-mga numero kung saan hindi mahuhulaan ng modelo dati. Ang diskarte na ito ay nagbibigay-daan sa mga sensitibong uri ng data na maproseso nang walang mga panganib sa privacy na nauugnay sa pagtatago ng aktwal na sensitibong data.

Bukod sa mga isyu sa ground truth, may mga bukas na isyu sa arkitektura na ginagawa namin, tulad ng baguhin ang paghihiwalay ΠΈ maagang huminto. Ang paghihiwalay ng pagbabago ay mahalaga upang matiyak na kapag ang iba't ibang mga pagbabago ay ginawa sa iba't ibang bahagi ng network, ang epekto ay nakahiwalay sa mga partikular na klase at walang malawak na epekto sa pangkalahatang pagganap ng pagtataya. Ang pagpapabuti ng mga pamantayan sa maagang paghinto ay kritikal din upang matigil natin ang proseso ng pagsasanay sa isang matatag na punto para sa lahat ng mga klase, sa halip na sa isang punto kung saan ang ilang mga klase ay nag-o-overtrain at ang iba ay hindi.

Kahalagahan ng tampok

Kapag may bagong feature na ipinakilala sa isang modelo, gusto naming malaman ang pangkalahatang epekto nito sa modelo. Nais din naming tiyakin na ang mga hula ay nabibigyang-kahulugan ng tao upang maunawaan namin nang eksakto kung anong mga tampok ang ginagamit para sa bawat uri ng data. Para sa layuning ito kami ay binuo at ipinakilala ayon sa klase kahalagahan ng mga tampok para sa modelong PyTorch. Tandaan na iba ito sa pangkalahatang kahalagahan ng feature, na karaniwang sinusuportahan, dahil hindi nito sinasabi sa amin kung aling mga feature ang mahalaga para sa isang partikular na klase. Sinusukat namin ang kahalagahan ng isang bagay sa pamamagitan ng pagkalkula ng pagtaas ng error sa paghula pagkatapos muling ayusin ang bagay. Ang isang tampok ay "mahalaga" kapag ang pagpapalit ng mga halaga ay nagpapataas ng error ng modelo dahil sa kasong ito ang modelo ay umaasa sa tampok upang gawin ang hula nito. Ang isang tampok ay "hindi mahalaga" kapag ang pag-shuffle ng mga halaga nito ay nag-iiwan ng error sa modelo na hindi nagbabago, dahil sa kasong ito ay hindi ito pinansin ng modelo [5].

Ang kahalagahan ng feature para sa bawat klase ay nagbibigay-daan sa amin na gawing interpretable ang modelo para makita namin kung ano ang tinitingnan ng modelo kapag hinuhulaan ang isang label. Halimbawa, kapag pinag-aaralan natin ADDR, pagkatapos ay ginagarantiya namin na ang sign na nauugnay sa address, tulad ng AddressLinesCount, mataas ang ranggo sa talahanayan ng kahalagahan ng tampok para sa bawat klase upang ang ating intuwisyon ng tao ay tumugma nang maayos sa kung ano ang natutunan ng modelo.

Paghusga

Mahalagang tukuyin ang isang sukatan para sa tagumpay. Pinili namin F2 - balanse sa pagitan ng recall at katumpakan (recall bias ay bahagyang mas malaki). Ang pag-recall ay mas mahalaga para sa isang kaso ng paggamit sa privacy kaysa sa katumpakan dahil kritikal para sa team na huwag makaligtaan ang anumang sensitibong data (habang tinitiyak ang makatwirang katumpakan). Ang aktwal na pagsusuri sa pagganap ng F2 ng aming modelo ay lampas sa saklaw ng papel na ito. Gayunpaman, sa maingat na pag-tune makakamit natin ang matataas (0,9+) na mga marka ng F2 para sa pinakamahalagang sensitibong klase.

Kaugnay na gawain

Mayroong maraming mga algorithm para sa awtomatikong pag-uuri ng mga hindi nakaayos na mga dokumento gamit ang iba't ibang mga pamamaraan tulad ng pagtutugma ng pattern, paghahanap ng pagkakatulad ng dokumento at iba't ibang mga pamamaraan sa pag-aaral ng makina (Bayesian, mga puno ng desisyon, k-pinakamalapit na kapitbahay at marami pang iba) [6]. Anuman sa mga ito ay maaaring gamitin bilang bahagi ng isang pag-uuri. Gayunpaman, ang problema ay scalability. Ang diskarte sa pag-uuri sa artikulong ito ay may kinikilingan sa flexibility at performance. Nagbibigay-daan ito sa amin na suportahan ang mga bagong klase sa hinaharap at panatilihing mababa ang latency.

Mayroon ding maraming trabaho sa data fingerprinting. Halimbawa, inilarawan ng mga may-akda sa [7] ang isang solusyon na nakatuon sa problema ng pagkuha ng mga sensitibong pagtagas ng data. Ang pinagbabatayan na pagpapalagay ay maaaring ma-fingerprint ang data upang itugma ito sa isang hanay ng kilalang sensitibong data. Ang mga may-akda sa [8] ay naglalarawan ng isang katulad na problema ng pagtagas sa privacy, ngunit ang kanilang solusyon ay batay sa isang partikular na arkitektura ng Android at inuri lamang kung ang mga aksyon ng user ay nagreresulta sa pagbabahagi ng personal na impormasyon o kung ang pinagbabatayan na application ay naglalabas ng data ng user. Ang sitwasyon dito ay medyo naiiba dahil ang data ng gumagamit ay maaari ding maging lubhang hindi nakaayos. Samakatuwid, kailangan namin ng isang mas kumplikadong pamamaraan kaysa sa fingerprinting.

Panghuli, upang makayanan ang mga kakulangan ng data para sa ilang uri ng sensitibong data, ipinakilala namin ang sintetikong data. Mayroong isang malaking katawan ng panitikan sa pagpapalaki ng data, halimbawa, ang mga may-akda sa [9] ay ginalugad ang papel ng pag-iniksyon ng ingay sa panahon ng pagsasanay at naobserbahan ang mga positibong resulta sa pinangangasiwaang pag-aaral. Ang aming diskarte sa privacy ay naiiba dahil ang pagpapakilala ng maingay na data ay maaaring hindi produktibo, at sa halip ay tumutuon kami sa mataas na kalidad na sintetikong data.

Konklusyon

Sa papel na ito, ipinakita namin ang isang sistema na maaaring mag-uri-uriin ang isang piraso ng data. Nagbibigay-daan ito sa amin na lumikha ng mga system para ipatupad ang mga patakaran sa privacy at seguridad. Ipinakita namin na ang nasusukat na imprastraktura, tuluy-tuloy na pagsasama, machine learning at mataas na kalidad na katiyakan ng data ay may mahalagang papel sa tagumpay ng marami sa aming mga hakbangin sa privacy.

Maraming direksyon para sa trabaho sa hinaharap. Maaaring kabilang dito ang pagbibigay ng suporta para sa hindi naka-schematize na data (mga file), pag-uuri hindi lamang sa uri ng data kundi pati na rin sa antas ng sensitivity, at paggamit ng self-supervised na pag-aaral sa panahon ng pagsasanay sa pamamagitan ng pagbuo ng mga tumpak na halimbawa ng synthetic. Na, sa turn, ay makakatulong sa modelo na mabawasan ang mga pagkalugi sa pinakamaraming halaga. Ang trabaho sa hinaharap ay maaari ding tumuon sa daloy ng trabaho sa pagsisiyasat, kung saan hindi tayo matutuklasan at nagbibigay ng root cause analysis ng iba't ibang paglabag sa privacy. Makakatulong ito sa mga kaso gaya ng pagsusuri sa sensitivity (ibig sabihin, kung mataas ang sensitivity ng privacy ng isang uri ng data (hal. IP ng user) o mababa (hal. internal IP ng Facebook)).

Bibliograpiya

  1. David Ben-David, Tamar Domany, at Abigail Tarem. Pag-uuri ng data ng negosyo gamit ang mga semantic web na teknolohiya. Sa Peter F.Ï Patel-Schneider, Yue Pan, Pascal Hitzler, Peter Mika, Lei Zhang, Jeff Z. Pan, Ian Horrocks, at Birte Glimm, mga editor, Ang Semantic Web - ISWC 2010, pahina 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, at Sanjeev Kumar. f4: Ang mainit na BLOB storage system ng Facebook. Sa Ika-11 USENIX Symposium sa Disenyo at Pagpapatupad ng Mga Operating System (OSDI 14), pahina 383–398, Broomfield, CO, Oktubre 2014. USENIX Association.
  3. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, at Jeff Dean. Ibinahagi ang mga representasyon ng mga salita at parirala at ang kanilang komposisyon. Sa C. J. C. Burges, L. Bottou, M. Welling, Z. Ghahramani, at K. Q. Weinberger, mga editor, Mga Pagsulong sa Neural Information Processing System 26, pahina 3111–3119. Curran Associates, Inc., 2013.
  4. Sergey Ioffe at Christian Szegedy. Batch normalization: Pagpapabilis ng malalim na pagsasanay sa network sa pamamagitan ng pagbabawas ng internal covariate shift. Sa Francis Bach at David Blei, mga editor, Mga Proceeding ng 32nd International Conference on Machine Learning, Dami 37 of Mga Pamamaraan ng Machine Learning Research, pahina 448–456, Lille, France, 07–09 Hul 2015. PMLR.
  5. Leo Breiman. Random na kagubatan. Mach. Matuto., 45(1):5–32, Oktubre 2001.
  6. Thair Nu Phyu. Survey ng mga diskarte sa pag-uuri sa data mining.
  7. X. Shu, D. Yao, at E. Bertino. Pagpapanatili ng privacy ng pagtuklas ng sensitibong pagkakalantad ng data. IEEE Transactions on Information Forensics and Security, 10(5):1092–1103, 2015.
  8. Zhemin Yang, Min Yang, Yuan Zhang, Guofei Gu, Peng Ning, at Xiaoyang Wang. Appintent: Pagsusuri ng sensitibong paghahatid ng data sa android para sa pagtuklas ng pagtagas ng privacy. mga pahina 1043–1054, 11 2013.
  9. Qizhe Xie, Zihang Dai, Eduard H. Hovy, Minh-Thang Luong, at Quoc V. Le. Hindi sinusubaybayang pagpapalaki ng data.

Scalable data classification para sa seguridad at privacy
Alamin ang mga detalye kung paano makakuha ng hinahanap na propesyon mula sa simula o Level Up sa mga tuntunin ng mga kasanayan at suweldo sa pamamagitan ng pagkuha ng mga online na kurso sa SkillFactory:

Higit pang mga kurso

Pinagmulan: www.habr.com

Magdagdag ng komento