Slijede razlike između dviju inačica stranice.
Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
racfor_wiki:mrezna_forenzika:bpf_tehnologija [2020/01/09 12:27] ksalamun [Primjena u analizi datotečnog sustava] |
racfor_wiki:mrezna_forenzika:bpf_tehnologija [2024/12/05 12:24] (trenutno) |
||
---|---|---|---|
Redak 17: | Redak 17: | ||
===== Uvod ===== | ===== Uvod ===== | ||
- | Berkeley Packet Filter (BPF) tehnologija početno je razvijena u svrhu poboljšanja rada alata za primanje i obradu paketa mrežnog prometa. Nakon značajnih promjena osnovne inačice, BPF tehnologija postaje napredan alat za analizu i filtriranje mrežnog prometa i kao takva uključena je u jezgru operacijskog sustava Linux (engl. //kernel//). | + | |
+ | Berkeley Packet Filter (BPF) tehnologija početno je razvijena u svrhu poboljšanja rada alata za primanje i obradu paketa mrežnog prometa. Nakon značajnih promjena osnovne inačice, BPF tehnologija postaje napredan alat za analizu i filtriranje mrežnog prometa i kao takva uključena je u jezgru operacijskog sustava Linux. | ||
Kako bi se iskoristile prednosti moderne arhitekture računala, uvedena je proširena BPF tehnologija - eBPF (engl. //extended BPF//). Pripadni instrukcijski set prilagođen je na procesore suvremenih računala, što znatno poboljšava performanse. Proširena BPF tehnologija bit će opisana u sljedećem poglavlju. Važno je napomenuti da nakon proširenja funkcionalnosti BPF prestaje biti skraćenica naziva alata za filtriranje, | Kako bi se iskoristile prednosti moderne arhitekture računala, uvedena je proširena BPF tehnologija - eBPF (engl. //extended BPF//). Pripadni instrukcijski set prilagođen je na procesore suvremenih računala, što znatno poboljšava performanse. Proširena BPF tehnologija bit će opisana u sljedećem poglavlju. Važno je napomenuti da nakon proširenja funkcionalnosti BPF prestaje biti skraćenica naziva alata za filtriranje, | ||
Redak 23: | Redak 24: | ||
BPF se sastoji od instrukcijskog seta, struktura podataka i pomoćnih funkcija. S obzirom da ima virtualni instrukcijski set, BPF se može smatrati virtualnim strojem. BPF arhitektura bit će detaljnije opisana u poglavlju //Opis arhitekture// | BPF se sastoji od instrukcijskog seta, struktura podataka i pomoćnih funkcija. S obzirom da ima virtualni instrukcijski set, BPF se može smatrati virtualnim strojem. BPF arhitektura bit će detaljnije opisana u poglavlju //Opis arhitekture// | ||
- | Otkako je BPF tehnologija postala široko primjenjiva, | + | Otkako je BPF tehnologija postala široko primjenjiva, |
Redak 83: | Redak 84: | ||
**opensnoop** | **opensnoop** | ||
- | Alat opensnoop prati operacije otvaranja datoteka (sistemski poziv //open//) i koristan je za otkrivanje podatkovnih i konfiguraicijskih datoteka te dnevnika. Moguće je otkriti i probleme uzrokovane učestalim otvaranjem datoteka. U nastavku je naveden primjer korištenja naredbe. U ispisu se može uočiti utjecaj naredbe ispis datoteke (cat) na testnu datoteku. | + | Alat '' |
< | < | ||
Redak 97: | Redak 98: | ||
**scread** | **scread** | ||
- | Pomoću alata scread moguće je pratiti operacije čitanja datoteka (sistemski poziv //read//). Ime datoteke dohvaća se iz tablice deskriptora datoteka. | + | Pomoću alata '' |
< | < | ||
Redak 111: | Redak 112: | ||
**filelife** | **filelife** | ||
- | Alat filelife služi za utvrđivanje vijeka trajanja datoteka za datoteke koje su stvorene tijekom praćenja. Ispisuje vrijeme proteklo od stvaranja datoteke do brisanja. | + | Alat '' |
- | Radi ilustracije u primjeru je naveden dio ispisa alata filelife tijekom prevođenja Linux jezgre. U ispisu se mogu uočiti privremene datoteke koje generira prevoditelj gcc. | + | Radi ilustracije u primjeru je naveden dio ispisa alata '' |
< | < | ||
Redak 129: | Redak 130: | ||
U nastavku su navedeni uobičajeni koraci analize datotečnog sustava: | U nastavku su navedeni uobičajeni koraci analize datotečnog sustava: | ||
- | 1. identifikacija montirane datotečne sustave (naredba df i [[http:// | + | 1. identifikacija montirane datotečne sustave (naredba |
2. provjera kapaciteta montiranih datotečnih sustava | 2. provjera kapaciteta montiranih datotečnih sustava | ||
Redak 143: | Redak 144: | ||
7. ispitati raspodjelu latencije datotečnog sustava (alat [[http:// | 7. ispitati raspodjelu latencije datotečnog sustava (alat [[http:// | ||
- | 8. utvrditi udio pogodaka priručne memorije | + | 8. utvrditi udio pogodaka priručne memorije |
- | 9. usporediti brzinu logičkih i fizičkih ulazno/ | + | 9. usporediti brzinu logičkih i fizičkih ulazno/ |
Redak 156: | Redak 157: | ||
**execsnoop** | **execsnoop** | ||
- | Alat execsnoop prati izvođenje novih procesa, a koristan je za detekciju kratkotrajnih procesa koje je teško uočiti korištenjem alata kao što je top. U nastavku | + | Alat '' |
< | < | ||
Redak 163: | Redak 164: | ||
TIME PID ARGS | TIME PID ARGS | ||
22114 | 22114 | ||
+ | 21983 | ||
</ | </ | ||
Redak 168: | Redak 170: | ||
**runqlat** | **runqlat** | ||
- | Alat runqlat služi za mjerenje latencije raspoređivača. Ova karakteristika korisna je za definiranje zasićenja procesora, stanja u kojem ima više zahtjeva za resursima nego što se može obraditi. Kao što je vidljivo u primjeru, rezultat naredbe je histogram koji pokazuje | + | Alat '' |
< | < | ||
Redak 193: | Redak 195: | ||
==== Primjena u analizi mrežnog prometa ==== | ==== Primjena u analizi mrežnog prometa ==== | ||
- | Mrežni promet odvija se putem različitih slojeva i protokola, uključujući | + | Mrežni promet odvija se putem različitih slojeva i protokola, uključujući |
* Koje TCP veze su pokrenute? Od strane kojih procesa? | * Koje TCP veze su pokrenute? Od strane kojih procesa? | ||
Redak 208: | Redak 210: | ||
**sockstat** | **sockstat** | ||
- | Pomoću alata sockstat moguće je ispisati statistiku priključaka uz broj sistemskih poziva vezanih uz priključke. Ispis se ponavlja za svaku proteklu sekundu. U ovom primjeru vidljivi su sistemski pozivi '' | + | Pomoću alata '' |
- | Ovaj alat pruža uvid u statistiku priključaka na visokoj razini i koristan je za pokretanje daljnje analize. U ispis je uključen i naziv ispitivača (engl. probe) kako bi se olakšala analiza. Primjerice, ako je uočen prevelik broj '' | + | Ovaj alat pruža uvid u statistiku priključaka na visokoj razini i koristan je za pokretanje daljnje analize. U ispis je uključen i naziv ispitivača (engl. |
< | < | ||
Redak 223: | Redak 225: | ||
**sofamily** | **sofamily** | ||
- | Alat sofamily omogućuje praćenje novih povezivanja na priključke putem sistemskih poziva accept i connect. Također, navodi se naziv procesa i obitelj adresa (IPv4 ili IPv6). Alat je koristan za detekciju neočekivane uporabe priključaka. U nastavku je naveden primjer korištenja ovog alata. | + | Alat '' |
< | < | ||
Redak 234: | Redak 236: | ||
</ | </ | ||
- | U uglatim zagradama je navedeno redom: ime procesa, broj obitelji adresa te ime obitelji adresa, ukoliko je poznata. Ovakvo mapiranje brojeva adresnih obitelji specifično je za Linux i definirano je u zaglavlju include/ | + | U uglatim zagradama je navedeno redom: ime procesa, broj obitelji adresa te ime obitelji adresa, ukoliko je poznata. Ovakvo mapiranje brojeva adresnih obitelji specifično je za Linux i definirano je u zaglavlju |
**soprotocol** | **soprotocol** | ||
- | Pomoću alata soprotocol također je moguće pratiti nova povezivanja na priključke, | + | Pomoću alata '' |
**socketio** | **socketio** | ||
- | Alat socektio omogućuje ispis količine ulazno/ | + | Alat '' |
- | U ovom primjeru proces systemd-resolve, | + | U ovom primjeru proces |
< | < | ||
Redak 269: | Redak 271: | ||
[3] [[http:// | [3] [[http:// | ||
+ | |||
+ | [4] [[https:// | ||
+ | |||
+ | [5] [[https:// | ||