Słowniczek — FinPhishGuard

Wyjaśnienia pojęć używanych w hypotheses.md i outline.md.
Kolejność: od ogólnych do szczegółowych, pogrupowane tematycznie.


1. Podstawowe pojęcia phishingu

Phishing — atak polegający na podszywaniu się pod zaufaną organizację (np. bank) w celu wyłudzenia danych logowania lub pieniędzy. Zazwyczaj przez fałszywą stronę internetową wyglądającą jak oryginał.

Brand impersonation — podszywanie się pod markę (np. PKO BP, PayPal, mBank) przez skopiowanie jej logo, kolorystyki i układu strony. Główny mechanizm wizualnego phishingu.

RBPD (Reference-Based Phishing Detection) — klasa systemów detekcji phishingu działająca przez porównanie strony podejrzanej z bazą referencyjną legalnych stron marek. Przykłady: Phishpedia, PhishIntention, KnowPhish.

CRP (Credential-Requiring Page) — strona wymagająca podania danych uwierzytelniających (login + hasło). PhishIntention najpierw wykrywa czy strona to CRP, zanim porównuje z bazą marek.

Brand tier — poziom hierarchii marek:

  • Tier 1: duże banki tradycyjne (PKO BP, HSBC, Chase, DBS Bank)
  • Tier 2: serwisy płatnicze (PayPal, Stripe, Revolut, BLIK)
  • Tier 3: neobanki i fintech (N26, Monzo, Klarna, Revolut)
  • Tier 4: banki regionalne, mało znane

BLIK — polski mobilny system płatności (Polskie ePłatności). Powszechny cel phishingu w Polsce.


2. Modele i architektury

CLIP (Contrastive Language-Image Pretraining) — model OpenAI trenowany na 400 mln par (obraz, opis tekstowy). Uczy się wspólnej przestrzeni embeddingów dla obrazów i tekstu. Kluczowa właściwość: zero-shot — rozpoznaje nowe kategorie bez dodatkowego treningu, przez porównanie tekstu (“logo of PKO BP”) z obrazem.

ViT (Vision Transformer) — architektura modelu wizyjnego używająca mechanizmu Transformer (uwaga) zamiast splotów CNN. Dzieli obraz na “patche” (kafelki) i przetwarza je jak tokeny tekstu. Stosowany w CLIP ViT-B/32.

ResNet-50 — klasyczna architektura sieci splotowej (CNN) z 50 warstwami i połączeniami rezydualnymi (skip connections). Używana przez PhishIntention i Phishpedia jako backbone do rozpoznawania logo.

Siamese network — architektura sieci neuronowej do porównywania par obiektów: dwie identyczne podsieci przetwarzają dwa obrazy, a wynik to miara podobieństwa między nimi. Phishpedia i PhishIntention używają jej do dopasowywania logo strony do bazy marek.

Triplet loss — funkcja straty trenująca Siamese network: uczy model że logo marki A jest bliżej innych logo A niż logo marki B. Podstawa VisualPhishNet.

LLM (Large Language Model) — duży model językowy (np. GPT-4, Qwen, Gemma, Mistral) trenowany na ogromnych ilościach tekstu. Rozumie i generuje tekst, może analizować HTML/URL.

MLLM (Multimodal Large Language Model) — LLM rozszerzony o rozumienie obrazów (np. GPT-4V, Gemini, Qwen-VL). Może opisywać screenshoty stron i identyfikować marki bez osobnego modelu logo.

VLM (Vision-Language Model) — podobnie jak MLLM; model przetwarzający jednocześnie obraz i tekst. CLIP jest uproszczonym VLM (embeddingi, nie generowanie).

NER (Named Entity Recognition) — zadanie NLP polegające na wykrywaniu nazw własnych w tekście (osób, organizacji, marek, miejsc). W projekcie M3 używa NER do wydobycia nazw marek bankowych z HTML strony.

LoRA (Low-Rank Adaptation) — technika efektywnego fine-tuningu dużych modeli: zamiast trenować wszystkie parametry, dodaje małe macierze “przyrostowe” do wybranych warstw. Redukuje koszt GPU 10-100×.


3. Ataki adversarial

Adversarial attack — celowo spreparowane wejście do modelu ML, które powoduje błędną klasyfikację. Dla modeli wizualnych: minimalne zmiany pikseli niewidoczne dla człowieka, które “oszukują” detektor.

Evasion rate / ASR (Attack Success Rate) — procent ataków, które skutecznie ominęły detektor. Evasion rate 95% = 95% zmodyfikowanych logo nie zostaje wykrytych jako phishing.

White-box attack — atakujący zna architekturę i wagi modelu → może obliczać gradienty → najsilniejszy atak (górna granica skuteczności).

Black-box attack — atakujący nie zna modelu → atakuje przez API (tylko wejście/wyjście) lub generuje adversarial na innym modelu i liczy na transfer.

Transfer attack — atak wygenerowany na modelu A przeniesiony na model B bez dostępu do B. LogoMorph (Hao 2024) atakuje PhishIntention, potem testuje transfer na Phishpedia.

GAN (Generative Adversarial Network) — dwa modele trenujące się nawzajem: generator produkuje fałszywe próbki, dyskryminator próbuje je odróżnić od prawdziwych. Lee 2023 używa GAN do generowania adversarial logos.

GAN logos (Lee 2023) — loga bankowe zmodyfikowane przez GAN: wyglądają identycznie dla człowieka, ale omijają detektor Siamese. Fooling rate >95% white-box, 42%+ black-box.

Diffusion logos / LogoMorph (Hao 2024) — loga generowane przez modele dyfuzyjne (generatywne modele oparte na stopniowym “odszumianiu”). Skuteczniejsze niż GAN: bypass PhishIntention 97-100%. Typy: zmiana fontu (text logo), modyfikacja obrazu (image logo), kombinacja.

PhishOracle (Kulkarni 2024) — narzędzie do automatycznego generowania adversarial phishing stron: transformuje logo, ukrywa słowa kluczowe, modyfikuje HTML. Powoduje spadek Phishpedia o 42pp.

Delayed rendering / Timing attack (Yuan 2026) — atak polegający na opóźnieniu wyświetlenia logo strony. Gdy detektor robi screenshot (zwykle po 2s), logo jest jeszcze niewidoczne → detektor klasyfikuje jako bezpieczna. ASR=100% dla PhishIntention.

CSS clip-path: inset() — właściwość CSS ucinająca widoczną część elementu. clip-path: inset(0, 0, 100%) = element całkowicie ukryty. Yuan 2026 używa jej do stopniowego odsłaniania logo po N sekundach.

PhishMe module — moduł JavaScript użyty w Yuan 2026 do kontrolowania czasu renderowania logo przez setTimeout / setInterval.

Curtain Effect — technika Yuan 2026: logo odsłaniane od góry jak kurtyna (clip-path maleje z 100% do 0% w czasie).

Pixelation attack — technika Yuan 2026: logo rozmyte na N×N pikseli, potem stopniowo wyostrzane. 5×5px → ASR=89% na screenshocie preliminarnym.

Text-to-image attack (TBE) — atak z KnowPhish (Li 2024): zamiast prawdziwego logo, atakujący używa tekstu napisanego stylem podobnym do logo (obejście text brand entity detector). Brand accuracy spada do 5%.


4. Obrony adversarial

Adversarial hardening / adversarial training — trening modelu na przykładach adversarial: model uczy się klasyfikować poprawnie mimo perturbacji. Standard: metoda Madry 2018 z PGD.

PGD (Projected Gradient Descent) — iteracyjna metoda generowania adversarial examples do treningu: wiele małych kroków wzdłuż gradientu straty, z projekcją z powrotem do kuli ε. Parametry: ε (max perturbacja), k (liczba kroków), α (rozmiar kroku).

ε (epsilon) — maksymalna dozwolona perturbacja adversarial mierzona normą L∞ lub L₂. ε=8/255 = maksymalna zmiana każdego piksela o 8/255 ≈ 3% zakresu. Próg niewidzialności dla człowieka.

FGSM (Fast Gradient Sign Method) — najprostszy atak adversarial: jeden krok w kierunku gradientu straty. Szybki, ale słabszy niż PGD. Goodfellow 2015.

I-FGSM (Iterative FGSM) — wielokrotnie aplikowany FGSM z małym krokiem. Silniejszy niż FGSM, słabszy niż pełny PGD.

Gradient masking — technika obrony polegająca na modyfikacji gradientu modelu tak, by atakujący nie mógł go efektywnie obliczyć. Słaba obrona: podatna na BPDA bypass.

BPDA (Backward Pass Differentiable Approximation) — technika obejścia gradient masking: zastępuje niegradientowalną obronę przybliżeniem różniczkowalnym podczas propagacji wstecznej. Liu 2022 testuje PhishIntention na BPDA — gradient masking nie chroni.

Catastrophic forgetting — zjawisko gdzie model po fine-tuningu na nowych danych traci wcześniej nabytą wiedzę. Ryzyko przy PGD hardeningu: model może pogorszyć dokładność na czystych (nieadwersarialnych) danych.

Randomized Smoothing — metoda certyfikowanej odporności: model klasyfikuje na podstawie wielu losowo zaszumionych wersji wejścia. Daje matematyczną gwarancję odporności do promienia ρ (L₂). Cohen 2019.


5. Metryki

Recall / TPR (True Positive Rate) — procent phishingowych stron poprawnie wykrytych. Recall = TP / (TP + FN). Najważniejsza metryka w detekcji phishingu (miss = zagrożenie dla użytkownika).

Precision — procent stron oznaczonych jako phishing, które faktycznie są phishingiem. Precision = TP / (TP + FP). Niska precision = dużo false alarms (blokowanie legalnych stron).

F1 score — harmoniczna średnia Recall i Precision: F1 = 2 × (Precision × Recall) / (Precision + Recall). Balansuje obie metryki.

FPR (False Positive Rate) — procent legalnych stron błędnie oznaczonych jako phishing. FPR = FP / (FP + TN). FPR=10⁻³ = 1 fałszywy alarm na 1000 legalnych stron.

FPR @ 95% TPR — FPR przy progu klasyfikatora ustawionym tak, by recall wynosił 95%. Standard w ocenie systemów bezpieczeństwa: jak wiele legalnych stron blokujesz, gdy łapiesz 95% phishingu?

Top-1 accuracy — procent przypadków, gdzie model wskazuje poprawną markę jako pierwszą w rankingu. Dla brand matching: czy poprawna marka jest na pozycji #1 wśród kandydatów?

ROC curve — wykres TPR vs FPR dla różnych progów klasyfikatora. AUC = pole pod krzywą ROC (1.0 = ideał, 0.5 = losowy).

AUC (Area Under Curve) — agregat ROC curve w jedną liczbę.

Ablation study — eksperyment polegający na kolejnym wyłączaniu poszczególnych komponentów systemu, by zmierzyć wkład każdego z nich. H6: M1 solo → M1+M2 → M1+M2+M3 → full system.

Imbalance ratio — stosunek próbek z klasy większościowej do mniejszościowej. Ji & Kim 2025: 79:1 (phishing:legit) — realistyczny warunek produkcyjny.


6. Technologie webowe (M4 — DOM analysis)

DOM (Document Object Model) — drzewista reprezentacja HTML strony w przeglądarce. JavaScript modyfikuje DOM w czasie rzeczywistym. M4 analizuje DOM statycznie (bez renderowania) szukając sygnatur timing attack.

HTML cloaking — technika ukrywania prawdziwej treści strony przed detektorem: użytkownik widzi phishing, crawler/bot widzi coś innego. Różne od delayed rendering.

JS worker / Web Worker — skrypt JavaScript działający w tle, w oddzielnym wątku. Może kontrolować timing rendering bez blokowania głównego wątku → trudniejszy do wykrycia.

ServiceWorker — skrypt działający między przeglądarką a siecią, może przechwytywać requesty. Zaawansowana technika evasion (ryzyko wskazane w H3).

Static analysis — analiza kodu (HTML/CSS/JS) bez wykonywania. M4 szuka clip-path: inset(), setTimeout, wzorców PhishMe modułu w kodzie źródłowym, zanim strona zostanie w ogóle uruchomiona.


7. Modele w projekcie (FinPhishGuard)

M1 — URL Analyzer — moduł analizy URL: cechy leksykalne (długość, entropia, myślniki, TLD), cechy DNS (wiek domeny, reputacja), homoglyph detection (IDN lookalike domains).

M2 — Visual Brand Matcher — moduł wizualny z 3 podmodułami:

  • M2a: Logo detector (DETR/Faster-RCNN — detekcja bounding box logo)
  • M2b: CLIP zero-shot matcher (embedding logo → cosine similarity z bazą marek)
  • M2c: PGD-hardened ViT verifier (weryfikacja po adversarial hardeningu)

M3 — Content Analyzer — moduł analizy treści HTML: NER (ekstrakcja nazw marek z tekstu), porównanie z bazą domen legalnych, wykrywanie słów kluczowych (phishing keywords).

M4 — DOM Timing Analyzer — moduł statycznej analizy HTML/CSS/JS: szuka sygnatur delayed rendering (clip-path, setTimeout patterns, PhishMe-style code) bez renderowania strony.


8. Systemy z literatury

Phishpedia (Lin 2021) — RBPD: logo detector (Faster-RCNN) + Siamese ResNet brand matcher. Precision=98.2%, Recall=87.1% w lab; 57-88% real-world (Ji 2024).

PhishIntention (Liu 2022) — rozszerzenie Phishpedia: CRP detector (czy strona pyta o dane?) + logo matching. Recall=90% @ FPR=10⁻³ w lab; 49-66% real-world (Ji 2024).

DynaPhish (Liu 2023) — PhishIntention z dynamicznym rozszerzaniem bazy marek (crawling w czasie rzeczywistym). Recall=22% real-world w badaniu Ji 2024 — najgorszy wynik.

KnowPhish / KPD (Li 2024) — SOTA: KnowPhish Knowledge Base (Wikidata + Whois) + KPD (LBE detector logo + TBE detector tekst). Recall=86.90%, F1=92.05%, 2.02s/sample. Najlepszy system bez adversarial testing.

LBE (Logo Brand Entity) — w KnowPhish: encja marki wykryta przez analizę logo. Odpowiednik M2b w FinPhishGuard.

TBE (Text Brand Entity) — w KnowPhish: encja marki wykryta przez analizę tekstu HTML (brand name, domain). Odpowiednik M3 w FinPhishGuard.

EMD (Earth Mover’s Distance) — miara podobieństwa między rozkładami kolorów stron. Bardzo prosta baseline: Recall=30% real-world.

VisualPhishNet (Abdelnabi 2020) — Siamese triplet network na screenshotach stron (nie tylko logo). Recall=39% real-world.

LogoSENSE (Bozkir 2020) — dataset logotypów z bounding boxes. Używany w EXP-3 jako baza marek do testowania CLIP i Siamese.

TR-OP dataset — “Turkish Open Phishing” — publicznie dostępny zbiór phishingowy używany przez KnowPhish i inne prace jako benchmark.

Ji & Kim 2025 dataset — zbiór 19,131 phishingowych + 243 legalne strony (screenshoty + HTML + URL). Najnowszy duży publicznie dostępny benchmark. Imbalance 79:1. Główny dataset ewaluacyjny w projekcie.

PhishMMF — dataset z SAHF-PD (2026): 11,672 próbek z pełnymi cechami multimodalnymi (email + URL + screenshot + HTML).


9. Koncepcje ML / Deep Learning

Zero-shot — model klasyfikuje nowe kategorie bez trenowania na nich. CLIP zero-shot: “czy ten screenshot pasuje do opisu logo PKO BP?” — bez przykładów treningowych PKO BP.

Fine-tuning — dostosowanie gotowego modelu do nowego zadania przez dalszy trening na małym, specjalistycznym datasecie.

Backbone — główna sieć ekstrakcji cech (np. ResNet-50, ViT-B/32) będąca “kręgosłupem” większego systemu.

Embedding / wektor cech — reprezentacja obiektu (obrazu, tekstu) jako wektora liczb w przestrzeni wielowymiarowej. Podobne obiekty → bliskie wektory → mała odległość cosinusowa.

Cosine similarity — miara podobieństwa dwóch wektorów: cos(θ) ∈ [−1, 1]. Im bliżej 1, tym bardziej podobne. Używana do porównywania embeddingów logo.

Contrastive learning — podejście do treningu: model uczy się, że podobne pary (logo A + logo A) mają bliskie embeddingi, a niepodobne (logo A + logo B) — dalekie. Podstawa CLIP.

Late fusion — łączenie wyników modeli na końcu (wyjście prawdopodobieństwo klasy). M1+M2+M3+M4 → fuzja ich decyzji/scores → klasyfikacja końcowa. Przeciwieństwo: early fusion (łączenie surowych cech).

Catastrophic forgetting — patrz sekcja 4.

Gradient — kierunek i intensywność zmiany funkcji straty. Adversarial attacks używają gradientu do znajdowania perturbacji maksymalizujących błąd modelu.

Regularization — techniki zapobiegające overfittingowi (np. dropout, weight decay, data augmentation).


10. Skróty i notacja

SkrótPełna nazwa
CLIPContrastive Language-Image Pretraining
ViTVision Transformer
CNNConvolutional Neural Network
GANGenerative Adversarial Network
RBPDReference-Based Phishing Detection
CRPCredential-Requiring Page
NERNamed Entity Recognition
LLMLarge Language Model
MLLMMultimodal Large Language Model
VLMVision-Language Model
LoRALow-Rank Adaptation
PGDProjected Gradient Descent
FGSMFast Gradient Sign Method
BPDABackward Pass Differentiable Approximation
ASRAttack Success Rate
TPRTrue Positive Rate (= Recall)
FPRFalse Positive Rate
AUCArea Under Curve
ROCReceiver Operating Characteristic
DOMDocument Object Model
TLDTop-Level Domain (np. .com, .pl)
IDNInternationalized Domain Name
TBEText Brand Entity (KnowPhish)
LBELogo Brand Entity (KnowPhish)
KPDKnowPhish Detector
SOTAState of the Art
εEpsilon — maksymalna perturbacja adversarial
pppunkty procentowe