In this paper I will highlight a modus operandi of hackers launching Denial of Service (DoS) cyberattacks. I will theoretically show how CAM Overflow and TCP SYN Flood attacks can be performed, using Kali Linux, a Linux distribution used by cyber criminals to launch MitM (Man-in-the-Middle) attacks, DoS attacks, observing traffic in a computer network, etc. Hackers can affect the functioning of devices on an organization’s local network (server, router, switch, etc.) by sending thousands of packets per second to the target device. CAM Overflow is an attack where a hacker aims to overcrowd the CAM table of a switch with MAC addresses, and TCP SYN Flood is an attack that can be launched against a server in the computer network.
INTELLIGENCE INFO, Vol. 1, Nr. 1, Septembrie 2022, pp. 125-130
ISSN 2821 – 8159, ISSN – L 2821 – 8159, DOI: 10.58679/II52272
Business process discovery related to process mining is a set of techniques that automatically build a representation of an organization’s current business processes and major process variations. These techniques use evidence found in existing technology systems that run business processes within an organization.
Keywords: business process discovery, business processes, business, data mining, techniques
Rezumat
Descoperirea proceselor de afaceri legată de procesele de minerit este un set de tehnici care construiesc automat o reprezentare a proceselor de afaceri curente ale unei organizații și a variațiilor majore ale procesului. Aceste tehnici folosesc dovezi găsite în sistemele tehnologice existente care rulează procesele de afaceri în cadrul unei organizații.
Cuvinte cheie: descoperirea proceselor de afaceri, procese de afaceri, afaceri, mineritul datelor, tehnici
Descoperirea proceselor de afaceri (Business process discovery, BPD) legată de procesele de minerit este un set de tehnici care construiesc automat o reprezentare a proceselor de afaceri curente ale unei organizații și a variațiilor majore ale procesului. Aceste tehnici folosesc dovezi găsite în sistemele tehnologice existente care rulează procesele de afaceri în cadrul unei organizații.
Tehnici de descoperire a proceselor de afaceri
Tehnicile de descoperire a proceselor de afaceri includ următoarele proprietăți:
Paradigma emergentă – Metodele actuale se bazează pe interviuri manuale structurate de sus în jos, bazate pe reprezentări la mâna a doua a procesului de afaceri/comportamentelor sistemului. Un proces automatizat de descoperire se bazează pe colectarea de date din sistemul de informații pe o perioadă de timp. Aceste date pot fi apoi analizate pentru a forma un model de proces.
Descoperirea automată a proceselor – Prin automatizarea analizei datelor, subiectivitatea tehnicilor curente de analiză manuală a proceselor este eliminată. Sistemul automatizat are o metodologie înrădăcinată care, prin încercări repetate, s-a dovedit că descoperă cu acuratețe procese și variații de proces fără părtinire.
Informații exacte – Deoarece informațiile sunt colectate de la sursa reală, nu pot fi inexacte, spre deosebire de a le colecta de la reprezentarea unei părți secundare.
Informații complete – Un proces automatizat captează toate informațiile care au loc în sistem și le reprezintă în funcție de oră, dată, utilizator etc… Deoarece informațiile sunt culese din interacțiuni în timp real, nu pot fi pierdute sau pierdute să existe probleme de memorie selectivă. Aceasta include caracterul complet în ceea ce privește excepțiile din procese. Adesea, excepțiile sunt tratate ca „zgomot” statistic, ceea ce poate exclude ineficiențe importante în procesele de afaceri.
Proces standardizat – Colectarea automată de informații oferă date de proces care pot fi grupate, cuantificate și clasificate. Acest lucru oferă o bază pentru dezvoltarea și monitorizarea atât a proceselor actuale, cât și a celor noi, cărora li se pot atribui criterii de referință. Aceste repere sunt rădăcina atât a noului proiect de proces, cât și a stabilirii cauzei principale a problemei. În plus, datele standardizate ale procesului pot pune bazele eforturilor de îmbunătățire continuă a procesului.
Aplicație / Tehnici
Descoperirea proceselor de afaceri completează și se bazează pe munca în multe alte domenii.
Descoperirea proceselor este unul dintre cele trei tipuri principale de minerit al proceselor. Celelalte două tipuri de minerit procese sunt verificarea conformității și extinderea/îmbunătățirea modelului. Toate aceste tehnici au ca scop extragerea cunoștințelor legate de proces din jurnalele de evenimente. În cazul descoperirii procesului, nu există un model de proces anterior; modelul este descoperit pe baza jurnalelor de evenimente. Verificarea conformității are ca scop găsirea diferențelor între un anumit model de proces și jurnalul de evenimente. În acest fel este posibilă cuantificarea conformității și analiza discrepanțelor. Îmbunătățirea adoptă un model a priori și îl îmbunătățește sau îl extinde folosind informații din registrul de evenimente, de exemplu, afișează blocajele.
Descoperirea proceselor de afaceri este următorul nivel de înțelegere în domeniul emergent al analiticii de afaceri, care permite organizațiilor să vadă, să analizeze și să ajusteze structura și procesele care stau la baza operațiunilor de zi cu zi. Această descoperire include colectarea de informații despre toate componentele unui proces de afaceri, inclusiv tehnologia, oamenii, procedurile și protocoalele departamentului.
Descoperirea proceselor de afaceri creează un proces principal care completează analitica procesului de afaceri (business process analysis, BPA). Instrumentele și metodologiile BPA sunt potrivite pentru descompunerea proceselor ierarhice de sus în jos și analitica proceselor viitoare. BPD oferă o analiză de jos în sus care se îmbină cu cea de sus în jos pentru a oferi un proces de afaceri complet, organizat ierarhic de BPA.
Business intelligence oferă organizațiilor rapoarte și analize privind datele din organizațiile lor. Cu toate acestea, BI nu are model de proces, conștientizare sau analiză. BPD completează BI oferind o vizualizare explicită a procesului pentru operațiunile curente și oferind analize pe acel model de proces pentru a ajuta organizațiile să identifice și să acționeze asupra ineficiențelor sau anomaliilor procesului de afaceri.
Analitica web este un exemplu limitat de BPD prin faptul că analiza web reconstruiește procesul utilizatorului web în timp ce interacționează cu un sit web. Cu toate acestea, aceste analize sunt limitate la procesul conținut în sesiune, din perspectiva utilizatorilor și în ceea ce privește doar sistemul și procesul bazat pe web.
Triajul afacerilor oferă un cadru pentru clasificarea proceselor identificate prin analiza proceselor de afaceri (BPA) pe baza importanței lor relative pentru atingerea unui obiectiv sau rezultat măsurabil declarat. Folosind aceleași categorii angajate de serviciile medicale militare și de dezastre, procesele de afaceri sunt clasificate astfel:
Esenţial/critic (proces roşu) – Proces esenţial pentru atingerea rezultatelor/obiectivelor
Important/urgent (proces galben) – Proces care accelerează atingerea rezultatelor/ obiectivelor
Opțional/de susținere (proces verde) – Procesul nu este necesar pentru atingerea rezultatelor/obiectivelor
Resursele sunt alocate în funcție de categoria de proces, cu resurse mai întâi dedicate proceselor roșii, apoi proceselor galbene și în final proceselor verzi. În cazul în care resursele devin limitate, resursele sunt mai întâi reținute de la procesele verzi, apoi de la procesele galbene. Resurse sunt reținute de la procesele roșii numai dacă eșecul în atingerea rezultatelor/obiectivelor este acceptabil.
Scopul / Exemplu
Un mic exemplu poate ilustra tehnologia descoperirii proceselor de afaceri care este necesară astăzi. Instrumentele automate de descoperirea proceselor de afaceri captează datele necesare și le transformă într-un set de date structurate pentru diagnosticul propriu-zis; O provocare majoră este gruparea acțiunilor repetitive de la utilizatori în evenimente semnificative. În continuare, aceste instrumente de descoperire a proceselor de afaceri propun modele de proces probabilistice. Comportamentul probabilist este esențial pentru analiza și diagnosticarea proceselor. Următoarele arată un exemplu în care un proces probabil de reparare este recuperat din acțiunile utilizatorului. Modelul de proces „așa cum este” arată exact unde este problema în această afacere. Cinci la sută reparații defecte sunt un semn rău, dar și mai rău, remediile repetitive care sunt necesare pentru a finaliza acele reparații sunt greoaie.
Istorie
Business intelligence (BI) a apărut în urmă cu mai bine de 20 de ani și este esențială pentru raportarea a ceea ce se întâmplă în sistemele unei organizații. Cu toate acestea, aplicațiile actuale BI și tehnologiile de minerit a datelor nu sunt întotdeauna potrivite pentru evaluarea nivelului de detaliu necesar pentru a analiza datele nestructurate și dinamica umană a proceselor de afaceri.
Six-Sigma și alte abordări cantitative pentru îmbunătățirea proceselor de afaceri au fost folosite de peste un deceniu cu grade diferite de succes. O limitare majoră a succesului acestor abordări este disponibilitatea datelor exacte care să formeze baza analizei. Cu BPD, multe organizații six-sigma găsesc capacitatea de a-și extinde analiza în mod eficient în procesele de afaceri majore.
Exploatarea proceselor, potrivit cercetătorilor de la Universitatea de Tehnologie Eindhoven, (PM) a apărut ca disciplină științifică în jurul anului 1990, când tehnici precum algoritmul Alpha au făcut posibilă extragerea modelelor de proces (reprezentate de obicei ca rețele Petri) din jurnalele de evenimente. Cu toate acestea, recunoașterea acestei discipline științifice este extrem de limitată în câteva țări. Pe măsură ce hype-ul mineritul proceselor purtat de Universitatea de Tehnologie din Eindhoven a crescut, au apărut din ce în ce mai multe critici care subliniază că mineritul proceselor nu este altceva decât un set de algoritmi care rezolvă o problemă specifică și simplă de afaceri: descoperirea proceselor de afaceri și metode auxiliare de evaluare. Astăzi, există peste 100 de algoritmi de extragere a proceselor care sunt capabili să descopere modele de proces care includ și concurența, de exemplu, tehnici de descoperire a proceselor genetice, algoritmi de extracție euristică, algoritmi de extracție bazați pe regiune și algoritmi de extragere fuzzy.
O analiză mai profundă a datelor de proces „așa cum sunt” poate dezvălui care sunt părțile defecte responsabile pentru comportamentul general din acest exemplu. Poate duce la descoperirea unor subgrupuri de reparații care au nevoie de fapt de concentrare a managementului pentru îmbunătățire.
În acest caz, ar deveni evident că piesele defecte sunt și ele responsabile pentru reparațiile repetitive. Au fost documentate aplicații similare, cum ar fi cazul unui furnizor de asigurări de sănătate în care în 4 luni a fost obținut rentabilitatea investiției în analiza procesului de afaceri prin înțelegerea precisă a procesului de tratare a daunelor și descoperirea pieselor defecte.
Referințe
Ward, J. & Peppard, J. (2002). Situation Analysis. In Strategic Planning for information systems. (pp. 82 – 83). England: John Wiley & Sons. ISBN 978-0-470-84147-1
D’Atri A., De Marco M., Casalino N. (2008). “Interdisciplinary Aspects of Information Systems Studies”, Phys-ica-Verlag, Springer, Germany, pp. 1-416, doi:l0.l007/978-3-7908-20l0-2 ISBN 978-3-7908-2009-6
Verna Allee, The Knowledge Evolution: Expanding Organizational Intelligence, Butterworth-Heinemann (1997) ISBN 0-7506-9842-X
David Perkins, King Arthur’s Round Table: How Collaborative Conversations Create Smart Organizations, Wiley (2002) ISBN 0-4712-3772-8
Tufte, Edward (1983). The Visual Display of Quantitative Information. Cheshire, Connecticut: Graphics Press. ISBN 0-9613921-4-2.
[David Loshin (2003), “Business Intelligence: The Savvy Manager’s Guide, Getting Onboard with Emerging IT”, Morgan Kaufmann Publishers, ISBN 9781558609167].
Kimball, R., Ross, M., Thornthwaite, W., Mundy, J., Becker, B. The Data Warehouse Lifecycle Toolkit, Wiley Publishing, Inc., 2008. ISBN 978-0-470-14977-5
McGonagle, John J. and Carolyn M. Vella (2003). The Manager’s Guide to Competitive Intelligence. Westport CT: Greenwood Publishing Group. p. 184. ISBN 1567205712.
Rozinat and W.M.P. van der Aalst. Conformance Testing: Measuring the Fit andAppropriateness of Event Logs and Process Models. In C. Bussler et al., editor, Business Process Management 2005 Workshops, volume 3812 of Lecture Notes in Computer Science, pages 163–176. Springer-Verlag, Berlin, 2006.
van der Aalst, W., Reijers, H. & Song, M. Discovering Social Networks from Event Logs. Comput Supported Coop Work 14, 549–593 (2005). https://doi.org/10.1007/s10606-005-9005-9
Python is a multi-paradigm programming language that pursues a simpler, less cluttered syntax and grammar while giving developers a choice in their coding methodology. In most situations, it is recommended to allocate memory from the Python heap, since the latter is under the control of the Python memory manager. Even when the requested memory is used solely for internal, very specific purposes, delegating all memory requests to the Python memory manager gives the interpreter a more accurate picture of its overall memory footprint. For learning the Python programming language, it is easy to work with memory images in a very specific format.
Python este un limbaj de programare multi-paradigmă care urmărește o sintaxă și o gramatică mai simple, mai puțin aglomerate, oferind în același timp dezvoltatorilor o alegere în metodologia lor de codare. În cele mai multe situații, se recomandă alocarea memoriei din heap-ul Python, deoarece acesta din urmă este sub controlul managerului de memorie Python. Chiar și atunci când memoria solicitată este utilizată exclusiv în scopuri interne, foarte specifice, delegarea tuturor solicitărilor de memorie către managerul de memorie Python face ca interpretul să aibă o imagine mai precisă a amprentei sale de memorie în ansamblu. Pentru învățarea limbajului de programare Python, este ușor de lucrat cu imaginile memoriei, într-un format foarte specific.
Cuvinte cheie: programare, limbaj de programare, Python, memorie, imaginea memoriei
Python urmărește o sintaxă și o gramatică mai simple, mai puțin aglomerate, oferind în același timp dezvoltatorilor o alegere în metodologia lor de codare. Este un limbaj de programare multi-paradigmă. Programarea orientată pe obiecte și programarea structurată sunt pe deplin acceptate, iar multe dintre caracteristicile sale acceptă programarea funcțională și programarea orientată pe aspect (inclusiv prin metaprogramare și metaobiecte (metode magice)). Multe alte paradigme sunt acceptate prin intermediul extensiilor, inclusiv proiectarea prin contract și programarea logică.
În cele mai multe situații, se recomandă alocarea memoriei din heap-ul Python, deoarece acesta din urmă este sub controlul managerului de memorie Python. De exemplu, acest lucru este necesar atunci când interpretul este extins cu noi tipuri de obiecte scrise în C. Un alt motiv pentru utilizarea heap-ului Python este dorința de a informa managerul de memorie Python despre nevoile de memorie ale modulului de extensie. Chiar și atunci când memoria solicitată este utilizată exclusiv în scopuri interne, foarte specifice, delegarea tuturor solicitărilor de memorie către managerul de memorie Python face ca interpretul să aibă o imagine mai precisă a amprentei sale de memorie în ansamblu.
Pentru învățarea limbajului de programare Python, este ușor de lucrat cu imaginile memoriei. Imaginile memoriei vor avea un format foarte specific, iar acest lucru este crucial: nu fiți creativi cu modul în care sunt etichetate lucrurile sau unde sunt desenate lucrurile. Pentru ca să funcționeze codul dvs., trebuie să aveți această imagine exact corectă. Nu este artă; este știință.
Imaginile noastre ale memoriei vor fi întotdeauna împărțite în exact două „zone”, una în stânga și una în dreapta, etichetate după cum urmează:
Scrierea în memorie
Când creăm variabile atomice într-o celulă Code, precum:
pin_count = 844
username = ‘Bekka Palmer’
fiecare este pusă pe partea stângă a diagramei ca o casetă cu nume. Numele casetei este numele variabilei, iar elementul din casetă este valoarea acesteia.
Nu contează ce casete sunt mai mari sau mai mici pe pagină, doar că fiecare nume se asociază cu caseta corespunzătoare și nu se încurcă. Ca bonus, am colorat diferit casetele, indicând faptul că pin_count (int) este un alt tip decât numele de utilizator (str)[1].
Crearea mai multor variabile adaugă doar mai multe casete cu nume:
...
avg_num_impressions = 1739.3
board_name = “Things to Make”
Am amestecat în mod deliberat ordinea casetelor. Python nu oferă nicio garanție cu privire la „ordinea” în care va stoca variabilele. Garanțiile Python sunt doar că va stoca în mod constant un nume, o valoare și un tip pentru fiecare variabilă.
Când schimbăm valoarea unei variabile (mai degrabă decât să creăm una nouă), valoarea din caseta corespunzătoare se actualizează:
Rețineți că valoarea anterioară din casetă este complet ștearsă și nu există absolut nicio modalitate de a o recupera vreodată. De fapt, nu există nicio modalitate de a ști că a existat chiar o valoare anterioară diferită de cea actuală. Cu excepția cazului în care sunt organizate în mod specific, programele de computer țin doar evidența prezentului, nu a trecutului.
Un alt aspect: spre deosebire de unele limbaje de programare (așa-numitele limbaje „puternic tipizate”, precum Java sau C++), chiar și tipul valorii pe care o deține o variabilă se poate schimba dacă doriți. Chiar dacă următorul exemplu nu are prea mult sens, să presupunem că am scris acest cod în continuare:
…
pin_count = 999.635
username =11
Acest lucru face ca nu numai conținutul casetelor să se schimbe, ci chiar și culorile acestora. Variabila username a fost acum un moment, dar acum este int.
Citirea din memorie
„Citirea din memorie” înseamnă doar referirea la o variabilă pentru a-i recupera valoarea. Până în prezent, nu știm cum să facem cu excepția tipăririi:
print(“The {} board has {} pins.”.format(another_board,
pin_count))
▌The Pink! board has 999.635 pins.
Important este că imaginea memoriei este (doar) înregistrarea curentă și fiabilă a aspectului memoriei în orice punct al unui program. Gândiți-vă la asta ca reflectând un instantaneu în timp: imediat după executarea unei linii de cod – și chiar înainte de următoarea – putem consulta imaginea pentru a obține valoarea fiecărei variabile. Exact asta face, practic, Python.
Subliniez acest punct, deoarece există mulți începători care privesc codul complicat și încearcă să „gândească” ce valoare va avea fiecare variabilă pe măsură ce rulează. Este greu de făcut cdoar cu câteva linii. Pentru a ține evidența a ceea ce s-a schimbat în ceea ce s-a schimbat și când, trebuie să păstrați cu adevărat o listă actualizată a valorii fiecărei variabile pe măsură ce programul se execută … ceea ce este de fapt exact ceea ce este imaginea memoriei.
Deci, dacă încercați să vă dați seama „ce va ieși din acest program dacă imprim variabila odometer imediat după linia 12?” nu încercați să priviți codul și să-i reconstruiți comportamentul de la zero. În schimb, desenați o imagine a memoriei, actualizați-o în mod corespunzător în timp ce parcurgeți fiecare linie de cod, apoi uitați-vă la ea pentru răspuns.
[1] Un alt detaliu minuscul pe care l-ați putea observa: chiar dacă codul nostru avea ghilimele simple pentru a delimita numele Bekka Palmer, am pus ghilimele duble în caseta din imaginea memoriei. Acest lucru subliniază faptul că, indiferent de modul în care creați un șir în cod – indiferent dacă este vorba de ghilimele simple sau duble – „lucrul” care se scrie în memorie este același. De fapt, cele stocate sunt de fapt caracterele Bekka Palmer fără ghilimele. Totuși, îmi place să introduc ghilimele în imaginile memoriei, doar pentru a sublinia natura șirului valorii.