Uundaji wa mfumo wa kiotomatiki wa kupambana na wavamizi kwenye tovuti (udanganyifu)

Kwa takriban miezi sita iliyopita, nimekuwa nikiunda mfumo wa kupambana na ulaghai (shughuli za ulaghai, ulaghai, n.k.) bila miundombinu yoyote ya awali kwa hili. Mawazo ya leo ambayo tulipata na kutekeleza katika mfumo wetu hutusaidia kugundua na kuchanganua shughuli nyingi za ulaghai. Katika makala hii, ningependa kuzungumza juu ya kanuni ambazo tulifuata na kile tulichofanya kufikia hali ya sasa ya mfumo wetu, bila kuzama katika sehemu ya kiufundi.

Kanuni za mfumo wetu

Unaposikia maneno kama "otomatiki" na "udanganyifu" kuna uwezekano mkubwa ukaanza kufikiria kuhusu kujifunza kwa mashine, Apache Spark, Hadoop, Python, Airflow, na teknolojia nyingine katika mfumo ikolojia wa Apache Foundation na uga wa Sayansi ya Data. Nadhani kuna kipengele kimoja cha kutumia zana hizi ambacho hakitajwi kwa kawaida: zinahitaji sharti fulani ziwepo kwenye mfumo wako wa biashara kabla ya kuzitumia. Kwa kifupi, unahitaji jukwaa la data la biashara ambalo linajumuisha ziwa la data na hifadhi. Lakini vipi ikiwa huna jukwaa kama hilo na bado unahitaji kuendeleza mazoezi haya? Kanuni zifuatazo, ambazo ninaelezea hapa chini, zimetusaidia kufikia hatua ambayo tunaweza kuzingatia kuboresha mawazo yetu, badala ya kutafuta kazi. Walakini, hii sio "plateau" ya mradi huo. Kuna mambo mengi zaidi katika mpango kutoka kwa maoni ya kiteknolojia na bidhaa.

Kanuni ya 1: Thamani ya Biashara Kwanza

Tunaweka "thamani ya biashara" mbele ya juhudi zetu zote. Kwa ujumla, mfumo wowote wa uchambuzi wa moja kwa moja ni wa kundi la mifumo tata yenye kiwango cha juu cha automatisering na utata wa kiufundi. Kuunda suluhisho kamili itachukua muda mwingi ikiwa utaiunda kutoka mwanzo. Tuliamua kuweka thamani ya biashara kwanza na ukomavu wa kiteknolojia pili. Katika maisha halisi, hii ina maana kwamba hatukubali teknolojia ya hali ya juu kama fundisho la sharti. Tunachagua teknolojia ambayo inatufaa zaidi kwa sasa. Baada ya muda, inaweza kuonekana kuwa tutalazimika kutekeleza tena moduli kadhaa. Haya ndiyo maelewano tuliyoyakubali.

Kanuni ya 2: Akili iliyoongezwa

Ninaweka dau kuwa watu wengi ambao hawahusiki kwa kina katika kutengeneza suluhu za kujifunza kwa mashine wanaweza kufikiria kuwa uingizwaji wa binadamu ndio lengo. Kwa kweli, suluhisho za kujifunza kwa mashine sio kamili na ni katika maeneo fulani tu ambayo uingizwaji unawezekana. Tuliachana na wazo hili tangu mwanzo kwa sababu kadhaa: data isiyosawazisha kuhusu shughuli za ulaghai na kutokuwa na uwezo wa kutoa orodha kamili ya vipengele vya miundo ya kujifunza kwa mashine. Kwa kulinganisha, tulichagua chaguo la upelelezi ulioongezwa. Hili ni dhana mbadala ya akili ya bandia ambayo inaangazia jukumu la kusaidia la AI, ikisisitiza ukweli kwamba teknolojia za utambuzi zimeundwa ili kuboresha akili ya binadamu, si kuchukua nafasi yake. [1]

Kwa kuzingatia hili, kutengeneza suluhisho kamili la kujifunza kwa mashine tangu mwanzo kutahitaji juhudi kubwa ambayo ingechelewesha uundaji wa thamani ya biashara yetu. Tuliamua kuunda mfumo wenye kipengele kinachokua mara kwa mara cha kujifunza kwa mashine chini ya uelekezi wa wataalamu wetu wa kikoa. Sehemu ya ujanja ya kuunda mfumo kama huu ni kwamba inabidi kuwapa wachambuzi wetu kesi za uchunguzi sio tu katika suala la kama hii ni shughuli ya ulaghai au la. Kwa ujumla, ukiukwaji wowote katika tabia ya wateja ni kesi ya tuhuma ambayo wataalam wanahitaji kuchunguza na kwa namna fulani kujibu. Ni matukio machache tu kati ya haya yaliyorekodiwa yanaweza kuainishwa kuwa ya ulaghai.

Kanuni ya 3: Jukwaa Tajiri la Maarifa

Sehemu ngumu zaidi ya mfumo wetu ni uthibitishaji wa mwisho hadi mwisho wa utendakazi wa mfumo. Wachanganuzi na wasanidi programu wanapaswa kupata hifadhidata za kihistoria kwa urahisi na vipimo vyote vilivyotumika kwa uchanganuzi. Kwa kuongeza, jukwaa la data linapaswa kutoa njia rahisi ya kuongeza seti iliyopo ya viashiria na mpya. Michakato tunayounda, na hii si michakato ya programu tu, inapaswa kurahisisha kukokotoa upya vipindi vya awali, kuongeza vipimo vipya na kubadilisha utabiri wa data. Tunaweza kufikia hili kwa kukusanya data yote ambayo mfumo wetu wa uzalishaji hutoa. Katika hali kama hiyo, data inaweza kuwa kizuizi polepole. Tutahitaji kuhifadhi idadi inayoongezeka ya data ambayo hatutumii na kuilinda. Katika hali kama hii, data itazidi kutokuwa na umuhimu baada ya muda, lakini bado inahitaji juhudi zetu kuidhibiti. Kwetu sisi, uhifadhi wa data haukuwa na maana, na tuliamua kutumia mbinu tofauti. Tuliamua kupanga maghala ya data ya wakati halisi karibu na huluki lengwa tunazotaka kuainisha, na kuhifadhi pekee data inayoturuhusu kuangalia vipindi vya hivi majuzi na vilivyosasishwa. Changamoto ya juhudi hii ni kwamba mfumo wetu ni tofauti na hifadhi nyingi za data na moduli za programu zinazohitaji upangaji makini ili kufanya kazi kwa njia thabiti.

Ubunifu wa dhana za mfumo wetu

Tuna vipengele vinne kuu katika mfumo wetu: mfumo wa kumeza, mfumo wa kukokotoa, uchanganuzi wa BI, na mfumo wa kufuatilia. Zinatumika kwa madhumuni mahususi, na tunaziweka kando kwa kufuata mbinu fulani za maendeleo.

Uundaji wa mfumo wa kiotomatiki wa kupambana na wavamizi kwenye tovuti (udanganyifu)

Ubunifu wa msingi wa mkataba

Kwanza kabisa, tulikubali kwamba vipengele vitegemee tu miundo fulani ya data (mikataba) ambayo inapitishwa kati yao. Hii inafanya kuwa rahisi kuunganisha kati yao na si kulazimisha utungaji maalum (na utaratibu) wa vipengele. Kwa mfano, katika baadhi ya matukio hii huturuhusu kuunganisha moja kwa moja mfumo wa kupokea na mfumo wa ufuatiliaji wa arifa. Katika hali kama hiyo, hii itafanywa kwa mujibu wa mkataba wa arifa uliokubaliwa. Hii ina maana kwamba vipengele vyote viwili vitaunganishwa kwa kutumia mkataba ambao kipengele kingine chochote kinaweza kutumia. Hatutakuwa tunaongeza mkataba wa ziada ili kuongeza arifa kwenye mfumo wa ufuatiliaji kutoka kwa mfumo wa uingizaji. Mbinu hii inahitaji matumizi ya idadi ya chini iliyoamuliwa mapema ya mikataba na hurahisisha mfumo na mawasiliano. Kimsingi, tunachukua mbinu inayoitwa "Muundo wa Kwanza wa Mkataba" na kuitumia kwa mikataba ya utiririshaji. [2]

Kutiririsha Kila mahali

Kuokoa na kusimamia serikali katika mfumo bila shaka kutasababisha matatizo katika utekelezaji wake. Kwa ujumla, hali lazima ipatikane kutoka kwa kipengele chochote, lazima iwe sawa na kutoa thamani ya kisasa zaidi kwenye vipengele vyote, na lazima iwe ya kuaminika na maadili sahihi. Zaidi ya hayo, kupigia simu uhifadhi unaoendelea ili kupata hali ya hivi punde kutaongeza kiwango cha I/O na utata wa kanuni zinazotumika katika muda halisi. Kwa sababu ya hili, tuliamua kuondoa hifadhi ya hali, ikiwa inawezekana, kabisa kutoka kwa mfumo wetu. Mbinu hii inahitaji kwamba data zote muhimu zijumuishwe katika kitengo cha data zinazopitishwa (ujumbe). Kwa mfano, ikiwa tunahitaji kuhesabu jumla ya idadi ya uchunguzi fulani (idadi ya shughuli au kesi zilizo na sifa fulani), tunaihesabu kwa kumbukumbu na kuzalisha mkondo wa maadili hayo. Sehemu tegemezi zitatumia ugawaji na upangaji kugawanya mtiririko na vyombo na kufanya kazi kwa maadili ya hivi punde. Njia hii iliondoa hitaji la kuwa na uhifadhi wa diski unaoendelea kwa data kama hiyo. Mfumo wetu hutumia Kafka kama wakala wa ujumbe na unaweza kutumika kama hifadhidata na KSQL. [3] Lakini kuitumia kungeunganisha sana suluhisho letu na Kafka, na tuliamua kutoitumia. Mbinu ambayo tumechagua inaturuhusu kubadilisha Kafka na wakala mwingine wa ujumbe bila mabadiliko makubwa ya ndani ya mfumo.

Dhana hii haimaanishi kwamba hatutumii hifadhi ya disk na hifadhidata. Ili kuangalia na kuchambua utendaji wa mfumo, tunahitaji kuhifadhi kiasi kikubwa cha data kwenye diski, ambayo inawakilisha viashiria na majimbo mbalimbali. Jambo muhimu hapa ni kwamba algorithms ya wakati halisi haitegemei data kama hiyo. Mara nyingi, sisi hutumia data iliyohifadhiwa kwa uchanganuzi wa nje ya mtandao, utatuzi na ufuatiliaji wa matukio na matokeo mahususi ambayo mfumo hutoa.

Matatizo katika mfumo wetu

Kuna matatizo fulani ambayo tumetatua kwa kiwango fulani, lakini yanahitaji ufumbuzi wa kufikiria zaidi. Kwa sasa, ningependa tu kuwataja hapa, kwa sababu kila kitu kina thamani ya makala yake.

  • Bado tunahitaji kufafanua michakato na sera zinazosaidia kuzalisha data muhimu na muhimu kwa ajili ya uchambuzi wetu otomatiki, ugunduzi na uchunguzi wa data.
  • Kuanzishwa kwa matokeo ya uchambuzi na mtu katika mchakato wa kurekebisha kiotomatiki mfumo ili kuisasisha na data ya hivi karibuni. Hili sio tu sasisho kwa muundo wetu, lakini pia sasisho kwa michakato yetu na uelewa bora wa data yetu.
  • Kupata usawa kati ya mbinu ya kubainisha ya IF-ELSE na ML. Mtu fulani alisema: "ML ni chombo cha waliokata tamaa." Hii inamaanisha kuwa utataka kutumia ML wakati hutaelewa tena jinsi ya kuboresha na kuboresha kanuni zako. Kwa upande mwingine, mbinu ya kuamua hairuhusu ugunduzi wa makosa ambayo hayakutarajiwa.
  • Tunahitaji njia rahisi ya kujaribu dhana au uhusiano wetu kati ya vipimo kwenye data.
  • Mfumo lazima uwe na viwango vingi vya matokeo chanya ya kweli. Kesi za ulaghai ni sehemu tu ya kesi zote ambazo zinaweza kuchukuliwa kuwa chanya kwa mfumo. Kwa mfano, wachambuzi wanataka kupokea kesi zote zinazotiliwa shaka kwa ukaguzi, na ni sehemu ndogo tu kati yao ni ya ulaghai. Mfumo lazima utoe wachambuzi kwa ufanisi kesi zote, iwe ni ulaghai halisi au tabia ya kutiliwa shaka.
  • Mfumo wa data unapaswa kuwa na uwezo wa kurejesha hifadhidata za kihistoria kwa hesabu zilizoundwa na kukokotwa kwa haraka.
  • Usambazaji rahisi na wa kiotomatiki wa kipengele chochote cha mfumo katika angalau mazingira matatu tofauti: uzalishaji, majaribio (beta), na kwa wasanidi.
  • Na mwisho lakini sio mdogo. Tunahitaji kuunda jukwaa pana la ulinganishaji ambapo tunaweza kuchanganua miundo yetu. [4]

marejeo

  1. Augmented Intelligence ni nini?
  2. Utekelezaji wa Mbinu ya Usanifu wa API-Kwanza
  3. Kafka Inabadilisha Kuwa "Hifadhi Hifadhidata ya Utiririshaji wa Tukio"
  4. Kuelewa AUC-ROC Curve

Chanzo: mapenzi.com

Kuongeza maoni