On teada, et need kuus bait, mis tavaliselt kuvatakse kuuekohalises heksadesimaalses formaadis, omistatakse vĂ”rgukaardile tehases ja nĂ€ivad esmapilgul juhuslikud. MĂ”ned teavad, et aadressi esimesed kolm bait on tootja identifikaator, ja ĂŒlejÀÀnud kolm bait omistatakse neile. Samuti on teada, et saate oma mugandatud aadressi. Paljud on kuulnud ka "juhuslikest aadressidest" Wi-Fi-s.
Selgitame, mis see on.
MAC-aadress (media access control address) â ainulaadne identifikaator, mis antakse vĂ”rguadapterile, kasutatakse IEEE 802 standardite vĂ”rkudes, peamiselt Ethernetis, Wi-Fi-s ja Bluetoothis. Ametlikult nimetatakse seda "EUI-48 tĂŒĂŒpi identifikaatoriks". Nagu nimest tuleneb, on aadress pikkusega 48 bitti ehk 6 bait. Aadressi kirjutamise kohta ei ole ĂŒldiselt aktsepteeritud standardit (erinevalt IPv4 aadressist, kus oktetid eraldatakse alati punktidega). Tavalised kirjutamisviisid on kuus kuuekohalist heksadesimaalset numbrit, mis on eraldatud kooloniga: 00:AB:CD:EF:11:22, kuigi mĂ”ned seadme tootjad eelistavad kirjutamisvormi 00-AB-CD-EF-11-22 vĂ”i isegi 00ab.cdef.1122.
Ajalooliselt kirjutati aadressid vĂ”rguadapteri kiibi PZUs, mille muutmine ilma vĂ€lise programmeerija abita ei olnud vĂ”imalik, kuid praegu saab aadressi muuta programmidena operatsioonisĂŒsteemist. MAC-aadressi mÀÀramine vĂ”rguadapterile on vĂ”imalik Linuxis ja MacOS-is (alati), Windowsis (peaaegu alati, kui draiver lubab), Androidis (ainult juurdunud); iOS-is (ilma juurimiseta) on selline trikk vĂ”imatu.
Aadressi struktuur
Aadress koosneb tootja identifikaatori osast, OUI, ja tootja mÀÀratud identifikaatorist. OUI identifikaatorite mÀÀramine (Organizationally Unique Identifier) IEEE organisatsioon. Tegelikult vĂ”ib selle pikkus olla mitte ainult 3 bait (24 bitti), vaid ka 28 vĂ”i 36 bitti, mille alusel moodustatakse blokid (MAC Address Block, MA) aadresside tĂŒĂŒpide jaoks: suur (MA-L), keskmine (MA-M) ja vĂ€ike (MA-S) vastavalt. Sellisel juhul on vĂ€lja antava bloki suurus 24, 20, 12 bitti vĂ”i 16 miljonit, 1 miljon, 4000 aadressi. Praegu on jaotatud umbes 38 tuhat bloki, mida saab vaadata paljude veebitööriistade abil, nĂ€iteks vĂ”i .
Kellele aadressid kuuluvad
Lihtne avalike andmete töötlemine annab piisavalt teavet. NÀiteks on mÔned organisatsioonid vÔtnud endale palju OUI bloke. Siin on meie kangelased:
Tootja
Plokkide/arvude arv
Aadresside arv, miljoneid
Cisco Systems Inc
888
14208
Apple
772
12352
Samsung
636
10144
Huawei Technologies Co.Ltd
606
9696
Intel Corporation
375
5776
ARRIS Group Inc.
319
5104
Nokia Corporation
241
3856
Privaatne
232
2704
Texas Instruments
212
3392
zte corporation
198
3168
IEEE Registratsiooni Amet
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'il on kokku 40, mis ei ole ĂŒllatav: nad ise ei tooda palju vĂ”rgu seadmeid.
MA blokke ei jagata tasuta, neid saab osta mĂ”istlike hindadega (ilma tellimistasuta) vastavalt $3000, $1800 vĂ”i $755. Huvi pĂ€rast, lisamaksa eest (aastas) saab osta âavaliku teabe varjamiseâ teenuse eraldi ploki kohta. Praegu on neid, nagu ĂŒlaltoodud nĂ€itab, 232.
Kui MAC-aadressid otsa saavad
Me kĂ”ik oleme juba vĂ€sinud lugematutest lugudest, mis rÀÀgivad, et âIPv4 aadressid hakkavad kiiresti otsa saamaâ. Jah, uusi IPv4 blokke on nĂŒĂŒd raske saada. Samas on teada, et IP aadressid ; eksisteerivad hiiglaslikud ja vĂ€hekasutatud blokkide hulgad, mis kuuluvad suurtele ettevĂ”tetele ja USA riigiasutustele, kuigi loota, et neid jagatakse vajaduse jĂ€rgi, ei ole eriti reaalne. NAT, CG-NAT ja IPv6 levik on teinud avalike aadresside puuduse probleemi vĂ€hem akuutseks.
MAC-aadressis on 48 bitti, millest âkasutatavadâ vĂ”ivad olla 46 (miks? Loe edasi), mis annab 2^46 ehk 1014 aadressi, mis on 2^14 korda suurem IPv4 aadressiruumist.
Praegu on jaotatud umbes pool triljonit aadressi, mis on vaid 0,73% kogu mahust. MAC aadresside lÔppemiseni on veel vÀga, vÀga pikk tee.
Bitide juhuslikkus
VĂ”ib eeldada, et OUI jaotatakse juhuslikult ning tootja mÀÀrab seejĂ€rel samuti juhuslikult aadresse individuaalsetele vĂ”rgu seadmetele. Kas see tĂ”esti nii on? Vaadakem MAC aadresside jaotust, mis on kogutud minu kĂ€sutuses olevates 802.11-seadmete andmebaasides, mis on koostatud töötavate autoriseerimissĂŒsteemide jĂ€rgi traadita vĂ”rkudes . Aadressid kuuluvad tegelikele seadmetele, mis on ĂŒhendatud Wi-Fi'ga mitme aasta jooksul kolme riigi ulatuses. Lisaks sisaldub vĂ€ike andmebaas 802.3-seadmest, mis on ĂŒhendatud traadiga LAN-iga.
Jagame iga MAC-aadressi (kuu baidi) igas valimis bite kaupa, ja vaatame, kui sageli ilmub bit '1' igas 48 positsioonis. Kui bitt on mÀÀratud tÀiesti suvaliselt, siis tÔenÀosus saada '1' peaks olema 50%.
Wi-Fi valim nr 1 (Venemaa)
Wi-Fi valim nr 2 (Valgevene)
Wi-Fi valim nr 3 (Usbekistan)
LAN valim (Venemaa)
Aruannete arv andmebaasis
5929000
1274000
366000
1000
Biti number:
% 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%
Kust see ebaÔiglus 7. ja 8. bitis tuleb? Seal on peaaegu alati nullid.
TÔepoolest, standard mÀÀratleb need bitid erilise ():

Esimese baidi kaheksas (algusest) bitt MAC-aadressis nimetatakse Unicast/Multicast bitiks ja see mÀÀrab, millist tĂŒĂŒpi raami (frame) edastatakse selle aadressiga, tavaline (0) vĂ”i laialeviine (1) (multicast vĂ”i broadcast). TavaĂŒlekande, unicast, puhul on see bitt igas saadetavas paketis mÀÀratud '0'.
Esimese baidi seitsmes (algusest) bitt MAC-aadressis nimetatakse U/L (Universal/Local) bitiks ja see mÀÀrab, kas aadress on globaalne unikaalne (0) vÔi lokaalne unikaalne (1). Vaikimisi on kÔik 'tootja poolt kirjutatud' aadressid globaalselt unikaalsed, seega sisaldab enamik kogutud MAC-aadresse seitsmenda biti mÀÀratletud '0'. OUI mÀÀratud id-de tabelis on ainult umbes 130 kirjet, kus U/L bitt on '1', ja nÀhtavasti on need MAC-aadresside plokid eriliste vajaduste jaoks.
Esimese baidi bitid 6.â1. ja teise ja kolmanda baidi bitid OUI identifikaatorites, samuti 4.â6. baidi aadressi bitid, mille tootja mÀÀrab, on jaotatud enam-vĂ€hem ĂŒhtlaselt.
Seega, reaalsetes MAC-aadressides on vÔrguadapteri bitid tegelikult vÔrdsed ja ei kanna tehnoloogilist tÀhendust, vÀlja arvatud kaks teenindusbitit kÔrgeimas baidis.
Levinud esindajate hulk
Huvitav, millised traadita seadmete tootjad on kÔige populaarsemad? Kombineerime OUI andmebaasi otsingu valimise nr 1 andmetega.
Tootja
Seadmete osakaal, %
Apple
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 (Mobile Communications)
2,76
ASUSTek COMPUTER INC.
2,58
TCT mobile ltd
2,13
zte corporation
2,00
andmebaasis ei leitud
1,92
Lenovo Mobile Communication Technology Ltd.
1,71
HTC Corporation
1,68
Murata Manufacturing
1,31
InPro Comm
1,26
Microsoft Corporation
1,11
Shenzhen TINNO Mobile Technology Corp.
1,02
Motorola (Wuhan) Mobility Technologies Communication Co. Ltd.
0,93
Nokia Corporation
0,88
Shanghai Wind Technologies Co. Ltd
0,74
Lenovo Mobile Communication (Wuhan) Company Limited
0,71
Praktika nÀitab, et mida varakam on mobiilivÔrgu kasutajaskond, seda suurem on Apple'i seadmete osakaal.
Ainulaadsus
Kas MAC-aadressid on unikaalsed? Teoorias jah, kuna iga seadme tootja (MA-ploki omanik) peab tagama, et iga vÀlja antud vÔrguadapteri jaoks on ainulaadne aadress. Kuid mÔned kiibitootjad, nimelt:
- 00:0A:F5 Airgo Networks, Inc. (praegu Qualcomm)
- 00:08:22 InPro Comm (praegu MediaTek)
seavad MAC-aadressi viimased kolm baitit juhuslikuks numbriks, mida tÔenÀoliselt muudetakse pÀrast iga seadme taaskÀivitamist. Selliseid aadresse leidsin oma valimis nr 1 82 tuhat.
VÔÔra mittetĂŒĂŒpilise aadressi seadmine on muidugi vĂ”imalik, kui paigaldada see ânagu naabrilâ, tuvastades selle snifferiga, vĂ”i valida see juhuslikult. Samuti on vĂ”imalik juhuslikult seada mittetĂŒĂŒpne aadress, nĂ€iteks taastades mĂ”ne ruuteri, nagu Mikrotik vĂ”i OpenWrt, konfiguratsiooni varukoopia.
Mis juhtub, kui vÔrgus on kaks seadet sama MAC-aadressiga? KÔik sÔltub vÔrguseadmest (traadiga ruuter, juhtmeta vÔrgu kontroller). TÔenÀoliselt ei tööta kummagi seade vÔi töötavad need katkestustega. IEEE standardite kohaselt soovitatakse MAC-aadresside vÔltsimise kaitsmiseks kasutada nÀiteks MACsec vÔi 802.1X.
Mis juhtub, kui seadistad endale MAC-i, mille seitsmes vĂ”i kaheksas bitti on seatud â1â, st kohaliku vĂ”i multicast-aadressi? TĂ”enĂ€oliselt ei mĂ€rka teie vĂ”rk seda, kuid formaalselt ei vasta selline aadress standardile ja parem on seda mitte teha.
Kuidas toimib randomiseerimine
Teame, et inimeste liikumise jĂ€lgimise vĂ€ltimiseks, skaneerides eeter ja kogudes MAC-e, on nutitelefonide operatsioonisĂŒsteemid juba mitu aastat kasutanud randomiseerimise tehnoloogiat. Teoreetiliselt, kui skaneerida eeter tuntud vĂ”rkude otsinguks, saadab nutitelefon paketi (pakettide grupi) tĂŒĂŒpi 802.11 probe request MAC-aadressiga allikana:

KĂ€ivitatud randomiseerimine vĂ”imaldab mÀÀrata mitte âlahendatudâ, vaid mingi muu paketi allika aadressi, mis muutub iga skaneerimistsĂŒkli ajal, ajas vĂ”i muul moel. Kas see töötab? Vaadakem statistikat, mille Wi-Fi Radar on kogunud eetrisse MAC-aadresside kohta:
Kogu valik
Valik ainult nullse 7. bitiga
Aruannete arv andmebaasis
3920000
305000
Biti number:
% 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%
Pilt on hoopis teine.
8. bit esimese baidi MAC-aadressis vastab endiselt SRC-aadressi Unicast-iseloomule probe request pakendis.
7. bit on 92,2% juhtudel seadistatud Local, st piisava kindlusega vÔib vÀita, et just nii palju kogutud aadresse kuulub randomiseeritud ja vÀhem kui 8% -le kuuluvad reaalsetele. Samal ajal vastab OUI bitide jaotus nende reaalsete aadresside jaoks rohkem vÔi vÀhem eeltoodud tabeli andmetele.
Millisele tootjale kuuluvad randomiseeritud aadressid (st 7. bit on â1â)?
Tootja OUI kaudu
Osakaal kÔikide aadresside seas
andmebaasis ei leitud
62.45%
Google Inc.
37.54%
teised
0.01%
KĂ”ik Google'ile kuuluvad randomiseeritud aadressid kuuluvad ĂŒhele OUI-le, mille prefiks on DA:A1:19. Mis on see prefiks? Vaatame .
private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");Tavaline Android kasutab traadita vĂ”rke otsides spetsiaalset, registreeritud OUI-d, ĂŒks vĂ€heseid, millel on seitsmes bit seadistatud.
Kalkuleerime reaalset MAC-i juhuslikust
Vaatame seal samas:
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;
}
Aadress tervikuna vĂ”i selle kolm madalamat baidi on puhas Random.nextLong(). âPatenteeritud reaalsete MAC-de taastamineâ on petmine. Suure tĂ”enĂ€osusega vĂ”ib eeldada, et Android-telefonide tootjad kasutavad teisi, registreerimata OUI-sid. iOS-i lĂ€htekood on meil puudulik, kuid tĂ”enĂ€oliselt kasutatakse seal sarnast algoritmi.
Ălaltoodud ei sea kahtluse alla Wi-Fi abonentide deanonimise teiste mehhanismide toimimist, mis pĂ”hinevad muude probe request raami vĂ€ljade analĂŒĂŒsil vĂ”i seadme saadetud pĂ€ringute suhtelise sageduse korrelatsioonil. Siiski on vĂ€listest vahenditest abonendi tĂ€pne jĂ€lgimine ÀÀrmiselt keeruline. Kogutud andmed sobivad enamasti asukoha ja aja keskmise/haripunkti koormuse analĂŒĂŒsimiseks, tuginedes suurtele numbritele, ilma seostamata konkreetsete seadmete ja inimestega. TĂ€psed andmed on ainult neil, kes on "sees", mobiilsete operatsioonisĂŒsteemide tootjatel ning paigaldatud rakendustel.
Mis vĂ”iks olla ohtlik selles, et keegi teine teab teie seadme MAC-aadressi? Traadiga ja traadita vĂ”rkudes on vĂ”imalik korraldada "teenuse keelamise" rĂŒnnak. Traadita seadme puhul on tĂ”enĂ€osus, et fikseeritakse hetk, mil see ilmub sensoriga varustatud kohta. Aadressi vale esitamine vĂ”ib vĂ”imaldada "end seadmena esitlemist", kuid see vĂ”ib toimida vaid siis, kui ei rakendata tĂ€iendavaid turvameetmeid (autentimine ja/vĂ”i krĂŒpteerimine). 99,9% inimestest ei pea siin millegi pĂ€rast muretsema.
MAC-aadress on keerulisem, kui nÀib, kuid lihtsam, kui vÔiks olla.
Allikas: habr.com
