{"id":325,"date":"2024-05-12T20:24:48","date_gmt":"2024-05-12T18:24:48","guid":{"rendered":"https:\/\/cyberszary.pl\/?p=325"},"modified":"2024-05-13T21:29:29","modified_gmt":"2024-05-13T19:29:29","slug":"detekcja-phishingu-oparta-na-uczeniu-maszynowym","status":"publish","type":"post","link":"https:\/\/cyberszary.pl\/index.php\/2024\/05\/12\/detekcja-phishingu-oparta-na-uczeniu-maszynowym\/","title":{"rendered":"Detekcja phishingu oparta na uczeniu maszynowym"},"content":{"rendered":"\n<p>We wcze\u015bniejszym wpisie, poznali\u015bmy co to jest phishing, jak bardzo jest to zjawisko gro\u017ane dla ka\u017cdego u\u017cytkownika sieci komputerowej (Internet) oraz zobaczyli\u015bmy jak mo\u017ce wygl\u0105da\u0107 standardowy atak z wykorzystaniem element\u00f3w in\u017cynierii spo\u0142ecznej &#8211; kt\u00f3ra znacznie zwi\u0119ksza skuteczno\u015b\u0107 powodzenia samego ataku. <\/p>\n\n\n\n<p>W dzisiejszym wpisie, zademonstruje model, kt\u00f3ry wykorzystuj\u0105c metody uczenia maszynowego, pozwoli na skuteczne wykrywanie ataku, bez wzgl\u0119du na zastosowan\u0105 technik\u0119.<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#edbb9d\"><em>W artykule zastosuje kilka uproszcze\u0144 &#8211; dok\u0142adny opis ca\u0142ego mechanizmu, zaj\u0105\u0142 mi &#8230;. 274 strony \ud83d\ude42 Wpis ma na celu zademonstrowanie mo\u017cliwo\u015bci uczenia maszynowego w podniesieniu poziomu bezpiecze\u0144stwa. <\/em><\/p>\n\n\n\n<p>Dlaczego uczenie maszynowe? Nasta\u0142a pewna moda by dzi\u015b ka\u017cda firma, w ka\u017cdym produkcie oferowa\u0142a &#8222;uczenie maszynowe&#8221; &#8211; abstrahuj\u0105c od konieczno\u015bci jego zastosowania (klasyczny algorytm r\u00f3wnie dobrze spe\u0142nia swoje zadanie) &#8211; nie rozumiej\u0105c czym jest proces uczenia ,maszynowego i jakie mechanizmy stoj\u0105 za nim (<strong>tak, b\u0119dzie r\u00f3wnie\u017c ca\u0142a seria po\u015bwi\u0119cona temu zagadnieniu<\/strong>). Stosuj\u0105c jednak metody uczenia maszynowego, mo\u017cemy wykreowa\u0107 model detekcji ataku, odporny na zmian\u0119 warto\u015bci cech, wykry\u0107 nieznany dotychczas wzorzec (czego klasyczne metody nie potrafi\u0105, dop\u00f3ki analityk taki jak ja :), ich nie uzupe\u0142ni).<\/p>\n\n\n\n<p>Ka\u017cdy model uczenia maszynowego (o tym b\u0119d\u0119 jeszcze pisa\u0142), potrzebuje w procesie jego trenowania (nauki) danych. Tymi danymi b\u0119d\u0105 pewne cechy, wskazuj\u0105ce na mo\u017cliwy atak phishingowy. Gdzie je znajdziemy? W ka\u017cdej, phishingowej wiadomo\u015bci email&#8230; <\/p>\n\n\n\n<p>Ka\u017cda wiadomo\u015b\u0107 email, sk\u0142ada si\u0119 ze zwykle niewidocznego dla odbiorcy nag\u0142\u00f3wka wiadomo\u015bci (programy pocztowe, nie wy\u015bwietlaj\u0105 tych danych z wyj\u0105tkiem kilku p\u00f3\u0142: nadawcy, tematu, daty), w\u0142a\u015bciwej tre\u015bci wiadomo\u015bci (tekstowej lub sformatowanej za pomoc\u0105 j\u0119zyka HTML) oraz ewentualnych za\u0142\u0105cznik\u00f3w. Na pierwszy rzut oka, nie ma tu nic ciekawego. Wi\u0119c co mo\u017ce \u015bwiadczy\u0107 o phishingowym charakterze, opr\u00f3cz oczywistego odno\u015bnika w tre\u015bci wiadomo\u015bci do strony phishingowej? Ot\u00f3\u017c w\u0142a\u015bnie niewidoczne dla odbiorcy pola nag\u0142\u00f3wka&#8230; <\/p>\n\n\n\n<p>Wy\u015bwietlaj\u0105c \u017ar\u00f3d\u0142o wiadomo\u015bci, mo\u017cemy zobaczy\u0107 mn\u00f3stwo informacji, istotnych dla u\u017cytkownika skupionego na tre\u015bci wiadomo\u015bci, wa\u017cnych natomiast dla systemu pocztowego oraz na potrzeby analizy (w tym w\u0142a\u015bnie wykrywania ataku phishingowego). Przyk\u0142adowy nag\u0142\u00f3wek mo\u017ce wygl\u0105da\u0107 w nast\u0119puj\u0105cy spos\u00f3b:  <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Return-Path: &lt;FtX2aGpSLNAgDhEh2Ntq@technotechme.store&gt;\nDelivered-To: &lt;imie.nazwisko@wp.pl&gt;\nX-WP-SR: dWyc6KUtsT+WCW1uskg0A8rsLrusyQzka1PSAq1L0+\/x56R3lKWQgYmF1UoTSp28MVs\n =\nReceived: (wp-smtpd mx.wp.pl 29602 invoked from network); 1 Mar 2023 23:45:48 +0100\nReceived: from 170-187-176-125.ip.linodeusercontent.com (HELO technotechme.store) (&#91;170.187.176.125])\n          (envelope-sender &lt;FtX2aGpSLNAgDhEh2Ntq@technotechme.store&gt;)\n          by mx.wp.pl (WP-SMTPD) with SMTP\n          for &lt;imie.nazwisko@wp.pl&gt;; 1 Mar 2023 23:45:48 +0100\nMessage-ID: &lt;4T1017EroAjvcy6Ttwa5M-authsmtp@technotechme.store&gt;\nFrom: \"60563Centrum dystrybucji\" &lt;NOREPLY@1LOGIN.WP.PL&gt;\nSubject: 60563\u015aled\u017a przesy\u0142k\u0119: 90071329\nTo: \"imie.nazwisko@wp.pl\"&lt;imie.nazwisko@wp.pl&gt;\nCC: &lt;imie.nazwisko@wp.pl]&gt;\nContent-Type: text\/html\nContent-Transfer-Encoding: 7bit\nX-WP-DKIM-Status: no signature (id: n\/a)                                                      \nX-WP-MailID: e3a96695adcf712f34a9b0ebe09f875d\nX-WP-AV: skaner antywirusowy Poczty Wirtualnej Polski\nX-WP-SPAM: YES (U9) 0100119 &#91;QBaU]    <\/code><\/pre>\n\n\n\n<p>Wydobywaj\u0105c warto\u015bci niekt\u00f3rych p\u00f3l (np. adres pola &#8222;Return-Path&#8221;, odno\u015bniki URL, itp.), mo\u017cna przetworzy\u0107 ich warto\u015bci w systemie regu\u0142owym a nast\u0119pnie za\u0142adowa\u0107 je w postaci binarnego wektora cech o konstrukcji: <\/p>\n\n\n\n<div class=\"wp-block-katex-display-block katex-eq\" data-katex-display=\"true\"><pre>f_i = \\begin{cases}\n   0 &amp;\\text{if } value[i] \\notin phishing\\\\\n   1 &amp;\\text{if } value[i] \\isin phishing\n\\end{cases}<\/pre><\/div>\n\n\n\n<p>gdzie: <\/p>\n\n\n\n<p>0 &#8211; warto\u015b\u0107 pola nie wskazuje na mo\u017cliwy phishing<\/p>\n\n\n\n<p>1 &#8211; warto\u015b\u0107 pola wskazuje na mo\u017cliwy phishing<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Koduj\u0105c w powy\u017cszy spos\u00f3b cechy, uzyskujemy wektor:<\/p>\n\n\n\n<div class=\"wp-block-katex-display-block katex-eq\" data-katex-display=\"true\"><pre>f = \\lang f_0, f_1, ..., f_i \\rang<\/pre><\/div>\n\n\n\n<p>Tak zapisane wektory, pos\u0142u\u017c\u0105 jako dane ucz\u0105ce naszego modelu uczenia maszynowego. <\/p>\n\n\n\n<p>W literaturze opisanych jest jest wiele (i do\u015b\u0107 dobrze om\u00f3wionych) r\u00f3\u017cnych modeli, kt\u00f3re mo\u017cemy wykorzysta\u0107 do wykrywania phishingu. Do popularnych nale\u017c\u0105 sieci neuronowe, Naiwny Klasyfikator Bayesa, Maszyna Wektor\u00f3w No\u015bnych (SVM), regresja logistyczna i liniowa, drzewa decyzyjne, lasy losowe. Jaki wi\u0119c model wybra\u0107? Oczywi\u015bcie, dob\u00f3r najlepszego modelu nale\u017cy przeprowadzi\u0107 eksperymentalnie dla odpowiedniej jako\u015bci danych ucz\u0105cych.<\/p>\n\n\n\n<p>Na potrzeby tego wpisu, zbudujemy model oparty o Maszyn\u0119 Wektor\u00f3w No\u015bnych (SVM). Czym jest Maszyna Wektor\u00f3w No\u015bnych? Jest to klasyfikator<sup>1<\/sup> wyznaczaj\u0105cy hiperp\u0142aszczyzn\u0119 rozdzielaj\u0105cy z maksymalnym marginesem zbi\u00f3r danych nale\u017c\u0105cych do dw\u00f3ch r\u00f3\u017cnych klas. Graficznie mo\u017cna przedstawi\u0107 dzia\u0142anie klasyfikatora w nast\u0119puj\u0105cy spos\u00f3b: <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"675\" height=\"421\" src=\"https:\/\/cyberszary.pl\/wp-content\/uploads\/2024\/05\/2024-05-11_22h42_04.png\" alt=\"\" class=\"wp-image-350\" srcset=\"https:\/\/cyberszary.pl\/wp-content\/uploads\/2024\/05\/2024-05-11_22h42_04.png 675w, https:\/\/cyberszary.pl\/wp-content\/uploads\/2024\/05\/2024-05-11_22h42_04-300x187.png 300w\" sizes=\"(max-width: 675px) 100vw, 675px\" \/><figcaption class=\"wp-element-caption\">rys. 1 Zobrazowanie maszyny SVM. \u0179r\u00f3d\u0142o: opracowanie w\u0142asne. <\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Zadaniem klasyfikatora SVM jest wyznaczenie granicy decyzyjnej (hiperp\u0142aszczyzny rozdzielaj\u0105cej dwie klasy) oraz mo\u017cliwie najszerszej granicy dyskryminacji (marginesu klasyfikatora) spo\u015br\u00f3d mo\u017cliwych, kt\u00f3rych zwykle istnieje niesko\u0144czona ilo\u015b\u0107 (maksymalizacja marginesu). Nie b\u0119d\u0119 przytacza\u0142 wzor\u00f3w (ciekawskich odsy\u0142am do \u015bwietnego wyk\u0142adu prof. Patricka Winstona zarejestrowanego na MIT: <a href=\"https:\/\/www.youtube.com\/watch?v=_PwhiWxHK8o\">https:\/\/www.youtube.com\/watch?v=_PwhiWxHK8o<\/a> ). <\/p>\n\n\n\n<p>Mamy ju\u017c wybrany model, dysponujemy danymi ucz\u0105cymi (zakodowanym binarnie wektorem cech), pora wi\u0119c zbudowa\u0107 model. Do tego celu najlepszym wyborem b\u0119dzie biblioteka <strong>sklearn<\/strong> j\u0119zyka Python. <\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\" data-show-lang=\"0\"><code>from sklearn import svm\nfrom sklearn.svm import SVC\nfrom sklearn.model_selection import GridSearchCV, train_test_split<\/code><\/pre><\/div>\n\n\n\n<p>Zacznijmy od przygotowania danych. Jak ju\u017c wspomnia\u0142em danymi ucz\u0105cymi jest kodowany binarnie wektor. Stw\u00f3rzmy wi\u0119c plik CSV, w kt\u00f3rym ka\u017cdy wiersz odpowiada\u0142 b\u0119dzie nowemu egzemplarzy danych, a w kolumnach zapisane b\u0119d\u0105 warto\u015bci poszczeg\u00f3lnych cech (0 lub 1). W procesie nauki nadzorowanej<sup>2<\/sup>, ka\u017cdy egzemplarz danych ucz\u0105cych musi by\u0107 zaopatrzony w etykiet\u0119, m\u00f3wi\u0105c\u0105 modelowi do jakiej klasy nale\u017c\u0105 te dane. Nazwa etykiety znajdowa\u0107 si\u0119 b\u0119dzie w pierwszej kolumnie. Przyk\u0142adowa zawarto\u015b\u0107 pliku z danymi ucz\u0105cymi: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>phishing,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0\nphishing,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0<\/code><\/pre>\n\n\n\n<p>Dane s\u0105 wi\u0119c odpowiednio sformatowane i zapisane w pliku. Napiszmy wi\u0119c funkcj\u0119, kt\u00f3ra odczyta zawarto\u015b\u0107 pliku:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\" data-show-lang=\"0\"><code>#wczytanie biblioteki manipulacji i analizy danych\nimport pandas as pd\n\n#za\u0142adowanie danych \ndata = pd.read_csv(file_path, sep = &#39;,&#39;, header=None)\n\n#Przygotowanie danych, osobno cechy, osobno etykiety\nX = data.iloc[:, 1:].values #cechy\ny = data.iloc[:, 0].values #klasy<\/code><\/pre><\/div>\n\n\n\n<p>Odczytane dane, nale\u017cy podzieli\u0107 na dwa zbiory: treningowy (80% zbioru) oraz testowy (20% zbioru):<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\" data-show-lang=\"0\"><code> X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)<\/code><\/pre><\/div>\n\n\n\n<p>Dane s\u0105 odczytane, podzielone na zbiory treningowy i testowy, rozpocznijmy wi\u0119c proces uczenia:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\" data-show-lang=\"0\"><code>Model(X_train, X_test, y_train, y_test)<\/code><\/pre><\/div>\n\n\n\n<p>Zaraz, zaraz &#8230;. A gdzie model?! \ud83d\ude42 Zanim wi\u0119c rozpoczniemy proces nauki, zbudujmy wi\u0119c funkcj\u0119 odpowiadaj\u0105c\u0105 za proces uczenia. Zanim jednak przejdziemy do kodowania, jeszcze kilka s\u0142\u00f3w wyja\u015bnienia.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>W tym wpisie nie b\u0119d\u0119 wyja\u015bnia\u0142 zasad dzia\u0142ania Maszyny Wektor\u00f3w No\u015bnych &#8211; zrobi\u0119 to w osobnym artykule, po\u015bwi\u0119conym tylko temu klasyfikatorowi,<\/li>\n\n\n\n<li>Nie b\u0119d\u0119 opisywa\u0142 parametr\u00f3w uczenia klasyfikatora SVM, ani procesu ich strojenia &#8211; b\u0119dzie na to miejsce w artykule wspomnianym powy\u017cej,<\/li>\n\n\n\n<li><strong>Przedstawiony opis uczenia maszynowego zawiera wiele uproszcze\u0144<\/strong>, gdy\u017c celem jest ukazanie mo\u017cliwo\u015bci jego zastosowania do konkretnego zadania &#8211; wykrywania phishingu. <\/li>\n<\/ol>\n\n\n\n<p>Buduj\u0105c jakikolwiek model uczenia maszynowego, naszymi intencjami jest uzyskanie jak najlepszych efekt\u00f3w uczenia maszynowego. W tym celu konieczne jest zapewnienie strojenia r\u00f3\u017cnych parametr\u00f3w klasyfikatora (wyb\u00f3r j\u0105dra<sup>3<\/sup>, parametry zasi\u0119gu j\u0105dra, wagi regularyzacji &#8211;  o tym b\u0119d\u0119 pisa\u0142 omawiaj\u0105c dany klasyfikator). Upraszaj\u0105c, zastosujemy najprostsze j\u0105dro dla tego modelu, a nast\u0119pnie rozpoczniemy proces trenowania klasyfikatora Maszyny Wektor\u00f3w No\u015bnych. <\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\" data-show-lang=\"0\"><code>def Model(X_train, X_test, y_train, y_test):\n   \n    # definicja modelu SVM \n    model = SVC(kernel=&#39;linear&#39;)\n\n    # Trenowanie (uczenie) klasyfikatora\n    model.fit(X_train, y_train)<\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>I ju\u017c!<\/strong> Nasz model jest wytrenowany na wczytanych z pliku danych ucz\u0105cych! <\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#edbb9d\"><em><strong>Uwaga!<\/strong> Przedstawiony kod ma za zadanie zademonstrowa\u0107 mo\u017cliwo\u015b\u0107 wykorzystania uczenia maszynowego w detekcji phishingu. By\u015b m\u00f3g\u0142 go wykorzysta\u0107 w celach produkcyjnych, nale\u017cy go uzupe\u0142ni\u0107 o strojenie parametr\u00f3w oraz zadba\u0107 o w\u0142a\u015bciwe dane. <\/em><\/p>\n\n\n\n<p>Teraz pora na testowanie naszego modelu. Do tego celu wykorzystamy pozosta\u0142e 20% danych odczytanych z pierwotnego zbioru danych ucz\u0105cych.  <\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\" data-show-lang=\"0\"><code># Predykcja na danych testowych\ny_pred = model.predict(X_test)<\/code><\/pre><\/div>\n\n\n\n<p>Model jest wytrenowany, sprawdzony na danych testowych, przekonajmy si\u0119 wi\u0119c jak dok\u0142adnie przewiduje wyst\u0105pienie phishingu. Dok\u0142adno\u015b\u0107 przewidywania modelu okre\u015bla parametr <strong><em>accurac<\/em><\/strong><em><strong>y<\/strong><\/em> (dok\u0142adno\u015b\u0107), kt\u00f3ry mo\u017cemy wyrazi\u0107 wzorem:<\/p>\n\n\n\n<div class=\"wp-block-katex-display-block katex-eq\" data-katex-display=\"true\"><pre>ACC =  \\frac {(\\sum TP+ \\sum TN)}{ P}<\/pre><\/div>\n\n\n\n<p>gdzie:<\/p>\n\n\n\n<div class=\"wp-block-group is-vertical is-nowrap is-layout-flex wp-container-core-group-is-layout-3655d5c7 wp-block-group-is-layout-flex\">\n<p>\u2211TP \u2013 suma cech, kt\u00f3re otrzyma\u0142y klas\u0119 True Positive<\/p>\n\n\n\n<p>\u2211TN \u2013 suma cech, kt\u00f3re otrzyma\u0142y klas\u0119 True Negative<\/p>\n\n\n\n<p>P \u2013 wielko\u015b\u0107 populacji (ilo\u015b\u0107 wszystkich cech wskazuj\u0105cych na phishing)<\/p>\n<\/div>\n\n\n\n<p>Biblioteka <em><strong>sklearn<\/strong><\/em> posiada wbudowan\u0105 funkcj\u0119, kt\u00f3ra z powodzeniem obliczy dla nas dok\u0142adno\u015b\u0107 naszego modelu: <\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\" data-show-lang=\"0\"><code># Sprawdzenie dok\u0142adno\u015bci klasyfikacji\naccuracy = accuracy_score(y_test, y_pred)<\/code><\/pre><\/div>\n\n\n\n<p>W moich modelach, dla pozyskanych danych uzyska\u0142em dok\u0142adno\u015b\u0107 na poziomie <strong>88.13775510204081<\/strong>. Jest to bardzo dobra warto\u015b\u0107 wyj\u015bciowa, do strojenia parametr\u00f3w nauki klasyfikatora oraz pozyskania w\u0142a\u015bciwych danych ucz\u0105cych (od jako\u015bci tych danych w ogromnej mierze zale\u017ce\u0107 b\u0119dzie jako\u015b\u0107 modelu i dok\u0142adno\u015b\u0107 jego przewidywania).<\/p>\n\n\n\n<p>Pozostaje nam ju\u017c w\u0142a\u015bciwie ostatni element budowy modelu. Dodanie funkcji, kt\u00f3ra dla nowych danych okre\u015bla do jakiej klasy nale\u017c\u0105: <\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-python\" data-lang=\"Python\" data-show-lang=\"0\"><code># Predykcja na nowych danych\ny_pred = model.predict(X_new)<\/code><\/pre><\/div>\n\n\n\n<p><strong>I to ju\u017c ca\u0142y model! <\/strong>Nie takie uczenie maszynowe straszne \ud83d\ude42 <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Pamietaj! Wpis ten mia\u0142 na celu zademonstrowanie mo\u017cliwo\u015bci wykorzystania technik uczenia maszynowego do detekcji ataku phishngowego. By m\u00f3c ten model zastosowa\u0107 jako model produkcyjny, konieczne jest w\u0142a\u015bciwe jego wystrojenie (wspomnia\u0142em wy\u017cej o strojeniu parametr\u00f3w), zebraniem odpowiedniej ilo\u015bci danych w postaci wiadomo\u015bci email (w\u0142a\u015bciwe proporcje danych zar\u00f3wno phishingowych jak i stanowi\u0105cej normaln\u0105, nie z\u0142o\u015bliw\u0105 korespondencj\u0119 &#8211; by nie wyst\u0105pi\u0142 efekt tzw. skrzywienia danych). <\/p>\n\n\n\n<p>Mam nadziej\u0119, \u017ce Ci\u0119 zainteresowa\u0142em wykorzystaniem uczenia maszynowego. <strong>Mo\u017cliwo\u015bci jego zastosowania s\u0105 przeogromne<\/strong>. Automatyzacja pracy, zwi\u0119kszenie efektywno\u015bci, wydajno\u015bci, przy\u015bpieszenie proces\u00f3w, odkrywanie nowych modeli!! <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img decoding=\"async\" src=\"https:\/\/cyberszary.pl\/wp-content\/uploads\/2024\/05\/terminator.jpg\" alt=\"\" class=\"wp-image-362\"\/><figcaption class=\"wp-element-caption\">\u017ar\u00f3d\u0142o: <a href=\"https:\/\/wallpapers.com\/terminator\">https:\/\/wallpapers.com\/terminator<\/a><\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>[1] Klasyfikator &#8211; rodzaj algorytmu, kt\u00f3ry otrzymuj\u0105c nieznane dane, potrafi na podstawie wcze\u015bniejszych pr\u00f3bek danych, przypisze je do jednej z okre\u015blonych klas decyzyjnych (zklasyfikuje je).<\/p>\n\n\n\n<p>[2] Nauka nadzorowana &#8211; spos\u00f3b treningu algorytmu uczenia maszynowego<\/p>\n\n\n\n<p>[3] funkcja j\u0105dra (ang. kernel) &#8211; funkcja u\u017cywana do przekszta\u0142cenia danych wej\u015bciowych do przestrzeni o wy\u017cszej wymiarowo\u015bci, gdzie klasy mog\u0105 by\u0107 \u0142atwiejsze do rozdzielenia przez hiperp\u0142aszczyzn\u0119<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We wcze\u015bniejszym wpisie, poznali\u015bmy co to jest phishing, jak bardzo jest to zjawisko gro\u017ane dla ka\u017cdego u\u017cytkownika sieci komputerowej (Internet) [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":362,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1,6,5],"tags":[35,48,9],"class_list":["post-325","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bez-kategorii","category-phishing","category-ai","tag-ai-2","tag-machine-learning","tag-phishing"],"_links":{"self":[{"href":"https:\/\/cyberszary.pl\/index.php\/wp-json\/wp\/v2\/posts\/325","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cyberszary.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cyberszary.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cyberszary.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cyberszary.pl\/index.php\/wp-json\/wp\/v2\/comments?post=325"}],"version-history":[{"count":22,"href":"https:\/\/cyberszary.pl\/index.php\/wp-json\/wp\/v2\/posts\/325\/revisions"}],"predecessor-version":[{"id":489,"href":"https:\/\/cyberszary.pl\/index.php\/wp-json\/wp\/v2\/posts\/325\/revisions\/489"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cyberszary.pl\/index.php\/wp-json\/wp\/v2\/media\/362"}],"wp:attachment":[{"href":"https:\/\/cyberszary.pl\/index.php\/wp-json\/wp\/v2\/media?parent=325"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cyberszary.pl\/index.php\/wp-json\/wp\/v2\/categories?post=325"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cyberszary.pl\/index.php\/wp-json\/wp\/v2\/tags?post=325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}