Svi znaju da su ovih šest bajtova, obično prikazani u heksadecimalnom formatu, tvornički dodijeljeni mrežnoj kartici i naizgled su nasumični. Neki ljudi znaju da su prva tri bajta adrese ID proizvođača, a preostala tri bajta su im dodijeljena. Također je poznato da se možete postaviti proizvoljan adresa. Mnogi su ljudi čuli za "nasumične adrese" u Wi-Fi-ju.
Hajdemo shvatiti što je to.
MAC adresa (adresa kontrole pristupa medijima) je jedinstveni identifikator dodijeljen mrežnom adapteru, koji se koristi u mrežama standarda IEEE 802, uglavnom Ethernet, Wi-Fi i Bluetooth. Službeno se zove "EUI-48 type identifier". Iz imena je vidljivo da je adresa dugačka 48 bita, tj. 6 bajtova. Ne postoji općeprihvaćeni standard za pisanje adrese (za razliku od IPv4 adrese, gdje su okteti uvijek odvojeni točkama). Obično se piše kao šest heksadecimalnih brojeva odvojenih dvotočkom: 00:AB:CD:EF:11: 22, iako neki proizvođači opreme preferiraju oznaku 00 -AB-CD-EF-11-22 pa čak i 00ab.cdef.1122.
Povijesno gledano, adrese su se upisivale u ROM čipseta mrežne kartice bez mogućnosti njihove izmjene bez flash programatora, ali danas se adresa može programski promijeniti iz operativnog sustava. Možete ručno postaviti MAC adresu mrežne kartice u sustavima Linux i MacOS (uvijek), Windows (gotovo uvijek, ako upravljački program dopušta), Android (samo rootan); S iOS-om (bez roota) takav trik je nemoguć.
Struktura adrese
Adresa se sastoji od dijela identifikatora proizvođača, OUI, i identifikatora koji dodjeljuje proizvođač. Dodjela identifikatora OUI (Organizationally Unique Identifier).
Tko je vlasnik adresa?
Jednostavna obrada javno dostupnih
Dobavljač
Broj blokova/zapisa
Broj adresa, milijun
Cisco Systems Inc
888
14208
jabuka
772
12352
Samsung
636
10144
Huawei Technologies Co.Ltd
606
9696
Intel Corporation
375
5776
ARRIS Grupa Inc.
319
5104
Korporacija Nokia
241
3856
Privatni
232
2704
Texas Instruments
212
3392
zte korporacija
198
3168
Tijelo za registraciju IEEE
194
3072
Hewlett Packard
149
2384
Hon Hai Precision
136
2176
TP-LINK
134
2144
Dell Inc.
123
1968
Juniper Networks
110
1760
Sagemcom Broadband SAS
97
1552
Fiberhome Telecommunication Technologies Co. LTD
97
1552
Xiaomi Communications Co Ltd
88
1408
Guangdong Oppo Mobile Telecommunications Corp.Ltd
82
1312
Google ih ima samo 40, i to ne čudi: oni sami ne proizvode mnogo mrežnih uređaja.
MA blokovi nisu dostupni besplatno, mogu se kupiti po razumnoj cijeni (bez pretplate) za 3000 USD, 1800 USD ili 755 USD. Zanimljivo, za dodatni novac (godišnje) možete kupiti "skrivanje" javnih informacija o dodijeljenom bloku. Sada ih ima 232, kao što se može vidjeti gore.
Kada će nam ponestati MAC adresa?
Svi smo prilično umorni od priča koje se vrte već 10 godina da će “IPv4 adrese uskoro ponestati”. Da, nove IPv4 blokove više nije lako nabaviti. Poznato je da IP adrese
MAC adresa ima 48 bitova, od kojih se 46 može smatrati "korisnim" (zašto? čitajte dalje), što daje 246 ili 1014 adresa, što je 214 puta više od IPv4 adresnog prostora.
Trenutno je distribuirano otprilike pola trilijuna adresa ili samo 0.73% ukupnog volumena. Još smo jako, jako daleko od toga da ostanemo bez MAC adresa.
Bitovi slučajnosti
Može se pretpostaviti da su OUI-ovi raspoređeni nasumično, a dobavljač tada također nasumično dodjeljuje adrese pojedinačnim mrežnim uređajima. Je li tako? Pogledajmo distribuciju bitova u bazama podataka MAC adresa 802.11 uređaja kojima raspolažem, a koje prikupljaju radni sustavi autorizacije u bežičnim mrežama
Raščlanimo svaku MAC adresu (šest bajtova) svakog od uzoraka u bitove, bajt po bajt, i pogledajmo učestalost pojavljivanja bita “1” u svakoj od 48 pozicija. Ako je bit postavljen na potpuno proizvoljan način, tada bi vjerojatnost dobivanja "1" trebala biti 50%.
Wi-Fi izbor br. 1 (RF)
Wi-Fi uzorak br. 2 (Bjelorusija)
Wi-Fi izbor br. 3 (Uzbekistan)
LAN uzorkovanje (RF)
Broj zapisa u bazi podataka
5929000
1274000
366000
1000
Broj bita:
% bit "1"
% bit "1"
% bit "1"
% bit "1"
1
48.6%
49.2%
50.7%
28.7%
2
44.8%
49.1%
47.7%
30.7%
3
46.7%
48.3%
46.8%
35.8%
4
48.0%
48.6%
49.8%
37.1%
5
45.7%
46.9%
47.0%
32.3%
6
46.6%
46.7%
47.8%
27.1%
7
0.3%
0.3%
0.2%
0.7%
8
0.0%
0.0%
0.0%
0.0%
9
48.1%
50.6%
49.4%
38.1%
10
49.1%
50.2%
47.4%
42.7%
11
50.8%
50.0%
50.6%
42.9%
12
49.0%
48.4%
48.2%
53.7%
13
47.6%
47.0%
46.3%
48.5%
14
47.5%
47.4%
51.7%
46.8%
15
48.3%
47.5%
48.7%
46.1%
16
50.6%
50.4%
51.2%
45.3%
17
49.4%
50.4%
54.3%
38.2%
18
49.8%
50.5%
51.5%
51.9%
19
51.6%
53.3%
53.9%
42.6%
20
46.6%
46.1%
45.5%
48.4%
21
51.7%
52.9%
47.7%
48.9%
22
49.2%
49.6%
41.6%
49.8%
23
51.2%
50.9%
47.0%
41.9%
24
49.5%
50.2%
50.1%
47.5%
25
47.1%
47.3%
47.7%
44.2%
26
48.6%
48.6%
49.2%
43.9%
27
49.8%
49.0%
49.7%
48.9%
28
49.3%
49.3%
49.7%
55.1%
29
49.5%
49.4%
49.8%
49.8%
30
49.8%
49.8%
49.7%
52.1%
31
49.5%
49.7%
49.6%
46.6%
32
49.4%
49.7%
49.5%
47.5%
33
49.4%
49.8%
49.7%
48.3%
34
49.7%
50.0%
49.6%
44.9%
35
49.9%
50.0%
50.0%
50.6%
36
49.9%
49.9%
49.8%
49.1%
37
49.8%
50.0%
49.9%
51.4%
38
50.0%
50.0%
49.8%
51.8%
39
49.9%
50.0%
49.9%
55.7%
40
50.0%
50.0%
50.0%
49.5%
41
49.9%
50.0%
49.9%
52.2%
42
50.0%
50.0%
50.0%
53.9%
43
50.1%
50.0%
50.3%
56.1%
44
50.1%
50.0%
50.1%
45.8%
45
50.0%
50.0%
50.1%
50.1%
46
50.0%
50.0%
50.1%
49.5%
47
49.2%
49.4%
49.7%
45.2%
48
49.9%
50.1%
50.7%
54.6%
Čemu tolika nepravda u 7 i 8 bitovima? Gotovo uvijek postoje nule.
Doista, standard definira te bitove kao posebne (
Osmi (od početka) bit prvog bajta MAC adrese naziva se Unicast/Multicast bit i određuje koja se vrsta okvira (okvira) prenosi ovom adresom, obični (0) ili emitirani (1) (multicast ili emitiranje). Za normalnu, unicast komunikaciju mrežnog adaptera, ovaj bit je postavljen na "0" u svim paketima koji mu se šalju.
Sedmi (od početka) bit prvog bajta MAC adrese naziva se U/L (Universal/Local) bit i određuje je li adresa globalno jedinstvena (0) ili lokalno jedinstvena (1). Prema zadanim postavkama, sve "proizvođački spojene" adrese su globalno jedinstvene, tako da velika većina prikupljenih MAC adresa sadrži sedmi bit postavljen na "0". U tablici dodijeljenih OUI identifikatora samo oko 130 unosa ima U/L bit “1”, a očito se radi o blokovima MAC adresa za posebne potrebe.
Od šestog do prvih bitova prvog bajta, bitovi drugog i trećeg bajta u OUI identifikatorima, a još više bitovi u 4-6 bajtova adrese koju je dodijelio proizvođač raspoređeni su manje-više ravnomjerno. .
Dakle, u stvarnoj MAC adresi mrežnog adaptera, bitovi su zapravo ekvivalentni i nemaju nikakvo tehnološko značenje, s izuzetkom dva servisna bita visokog bajta.
rasprostranjenost
Pitate se koji su proizvođači bežične opreme najpopularniji? Spojimo pretragu u OUI bazi s podacima iz uzorka br. 1.
Dobavljač
Udio uređaja, %
jabuka
26,09
Samsung
19,79
Huawei Technologies Co. Ltd.
7,80
Xiaomi Communications Co Ltd
6,83
sony mobile Communications inc
3,29
LG Electronics (Mobilne komunikacije)
2,76
ASUSTek COMPUTER INC.
2,58
TCT mobile ltd
2,13
zte korporacija
2,00
nije pronađen u IEEE bazi podataka
1,92
Lenovo Mobile Communication Technology Ltd.
1,71
HTC Corporation
1,68
Proizvodnja Murata
1,31
InPro Comm
1,26
Microsoft Corporation
1,11
Shenzhen TINNO Mobile Technology Corp.
1,02
Motorola (Wuhan) Mobility Technologies Communication Co. doo
0,93
Korporacija Nokia
0,88
Shanghai Wind Technologies Co. doo
0,74
Lenovo Mobile Communication (Wuhan) Company Limited
0,71
Praksa pokazuje da što je bogatiji kontingent pretplatnika bežične mreže na određenoj lokaciji, to je veći udio Apple uređaja.
Jedinstvenost
Jesu li MAC adrese jedinstvene? U teoriji, da, budući da svaki proizvođač uređaja (vlasnik MA bloka) mora osigurati jedinstvenu adresu za svaki od mrežnih adaptera koje proizvodi. Međutim, neki proizvođači čipova, naime:
- 00:0A:F5 Airgo Networks, Inc. (sada Qualcomm)
- 00:08:22 InPro Comm (sada MediaTek)
postavite zadnja tri bajta MAC adrese na slučajni broj, očito nakon svakog ponovnog pokretanja uređaja. U mom uzorku broj 1 bilo je 82 tisuće takvih adresa.
Možete si, naravno, postaviti stranu, nejedinstvenu adresu tako da je namjerno postavite "poput susjedove", identificirate je njuškalom ili je nasumično odaberete. Također je moguće slučajno postaviti sebi nejedinstvenu adresu tako da, na primjer, vratite sigurnosnu kopiju konfiguracije routera poput Mikrotika ili OpenWrt-a.
Što će se dogoditi ako na mreži postoje dva uređaja s istom MAC adresom? Sve ovisi o logici mrežne opreme (žičani usmjerivač, kontroler bežične mreže). Najvjerojatnije oba uređaja ili neće raditi ili će raditi s prekidima. Sa stajališta IEEE standarda, zaštita od lažiranja MAC adresa predlaže se riješiti korištenjem, primjerice, MACsec-a ili 802.1X.
Što ako instalirate MAC sa sedmim ili osmim bitom postavljenim na "1", tj. lokalna ili multicast adresa? Najvjerojatnije vaša mreža neće obratiti pozornost na to, ali formalno takva adresa neće biti u skladu sa standardom i bolje je to ne učiniti.
Kako funkcionira randomizacija
Znamo da kako bi se spriječilo praćenje kretanja ljudi skeniranjem i prikupljanjem zračnih valova, MAC operativni sustavi za pametne telefone već nekoliko godina koriste tehnologiju randomizacije. Teoretski, kada skenira eter u potrazi za poznatim mrežama, pametni telefon šalje paket (grupu paketa) tipa 802.11 probe request s MAC adresom kao izvorom:
Omogućena randomizacija omogućuje vam da navedete ne "spojenu", već neku drugu adresu izvora paketa, koja se mijenja sa svakim ciklusom skeniranja, tijekom vremena ili na neki drugi način. Radi li to? Pogledajmo statistiku MAC adresa koje je iz zraka prikupio takozvani “Wi-Fi Radar”:
Cijeli uzorak
Uzorak samo s nultim 7. bitom
Broj zapisa u bazi podataka
3920000
305000
Broj bita:
% bit "1"
% bit "1"
1
66.1%
43.3%
2
66.5%
43.4%
3
31.7%
43.8%
4
66.6%
46.4%
5
66.7%
45.7%
6
31.9%
46.4%
7
92.2%
0.0%
8
0.0%
0.0%
9
67.2%
47.5%
10
32.3%
45.6%
11
66.9%
45.3%
12
32.3%
46.8%
13
32.6%
50.1%
14
33.0%
56.1%
15
32.5%
45.0%
16
67.2%
48.3%
17
33.2%
56.9%
18
33.3%
56.8%
19
33.3%
56.3%
20
66.8%
43.2%
21
67.0%
46.4%
22
32.6%
50.1%
23
32.9%
51.2%
24
67.6%
52.2%
25
49.8%
47.8%
26
50.0%
50.0%
27
50.0%
50.2%
28
50.0%
49.8%
29
50.0%
49.4%
30
50.0%
50.0%
31
50.0%
49.7%
32
50.0%
49.9%
33
50.0%
49.7%
34
50.0%
49.6%
35
50.0%
50.1%
36
50.0%
49.5%
37
50.0%
49.9%
38
50.0%
49.8%
39
50.0%
49.9%
40
50.0%
50.1%
41
50.0%
50.2%
42
50.0%
50.2%
43
50.0%
50.1%
44
50.0%
50.1%
45
50.0%
50.0%
46
50.0%
49.8%
47
50.0%
49.8%
48
50.1%
50.9%
Slika je potpuno drugačija.
8. bit prvog bajta MAC adrese još uvijek odgovara Unicast prirodi SRC adrese u paketu zahtjeva sonde.
Sedmi bit je postavljen na lokalno u 7% slučajeva, tj. S priličnom sigurnošću možemo pretpostaviti da je točno toliko prikupljenih adresa randomizirano, a da je manje od 92.2% stvarnih. U ovom slučaju, raspodjela bitova u OUI za takve stvarne adrese približno se podudara s podacima u prethodnoj tablici.
Koji proizvođač, prema OUI-ju, posjeduje randomizirane adrese (tj. sa 7. bitom u "1")?
Proizvođač OUI
Podijeli na sve adrese
nije pronađen u IEEE bazi podataka
62.45%
Google Inc
37.54%
ostalo
0.01%
Štoviše, sve nasumične adrese dodijeljene Googleu pripadaju istom OUI-ju s prefiksom DA:A1:19. Što je ovo prefiks? Pogledajmo unutra
private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");
Stock Android koristi poseban, registrirani OUI prilikom traženja bežičnih mreža, jedan od rijetkih s postavljenim sedmim bitom.
Izračunajte pravi MAC iz slučajnog
Pogledajmo tamo:
private static final long VALID_LONG_MASK = (1L << 48) - 1;
private static final long LOCALLY_ASSIGNED_MASK = MacAddress.fromString("2:0:0:0:0:0").mAddr;
private static final long MULTICAST_MASK = MacAddress.fromString("1:0:0:0:0:0").mAddr;
public static @NonNull MacAddress createRandomUnicastAddress(MacAddress base, Random r) {
long addr;
if (base == null) {
addr = r.nextLong() & VALID_LONG_MASK;
} else {
addr = (base.mAddr & OUI_MASK) | (NIC_MASK & r.nextLong());
}
addr |= LOCALLY_ASSIGNED_MASK;
addr &= ~MULTICAST_MASK;
MacAddress mac = new MacAddress(addr);
if (mac.equals(DEFAULT_MAC_ADDRESS)) {
return createRandomUnicastAddress(base, r);
}
return mac;
}
Cijela adresa ili njezina niža tri bajta je čista Random.nextLong(). "Vlasnički oporavak pravog MAC-a" je prijevara. S visokim stupnjem pouzdanosti možemo očekivati da proizvođači Android telefona koriste druge, neregistrirane OUI-ove. Nemamo izvorni kod za iOS, ali najvjerojatnije se tamo koristi sličan algoritam.
Gore navedeno ne poništava rad drugih mehanizama za deanonimiziranje Wi-Fi pretplatnika, na temelju analize drugih polja okvira zahtjeva sonde ili korelacije relativne učestalosti zahtjeva koje šalje uređaj. Međutim, pouzdano praćenje pretplatnika korištenjem vanjskih sredstava iznimno je problematično. Prikupljeni podaci bit će prikladniji za analizu prosječnog/vršnog opterećenja prema lokaciji i vremenu, na temelju velikih brojeva, bez pozivanja na određene uređaje i ljude. Točne podatke imaju samo oni “unutra”, sami proizvođači mobilnih OS-a i instalirane aplikacije.
Što bi moglo biti opasno ako netko drugi zna MAC adresu vašeg uređaja? Napadi uskraćivanjem usluge mogu se pokrenuti za žične i bežične mreže. Za bežični uređaj, štoviše, s određenom je vjerojatnošću moguće snimiti trenutak njegovog pojavljivanja na mjestu gdje je senzor instaliran. Laženjem adrese možete se pokušati “pretvarati” da je vaš uređaj, što može funkcionirati samo ako se ne koriste dodatne sigurnosne mjere (autorizacija i/ili enkripcija). 99.9% ljudi ovdje nema razloga za brigu.
MAC adresa je kompliciranija nego što se čini, ali jednostavnija nego što bi mogla biti.
Izvor: www.habr.com