KĂ”igile on teada, et see kuus baiti, mis on tavaliselt esitatud kuusnurkse vormingus, mÀÀratakse vĂ”rkaartidele tehases ja nĂ€iliselt on need juhuslikud. MĂ”ned teavad, et aadressi esimesed kolm bait on tootja tunnus ja ĂŒlejÀÀnud kolm baiti mÀÀratakse neile. Samuti on teada, et endale on vĂ”imalik mÀÀrata juhuslik aadress. Paljud on kuulnud ka Wi-Fi "juhuslikest aadressidest".
Selgitame, mis see on.
MAC-aadress (media access control address) on vĂ”rguadapterile mÀÀratud ainulaadne tuvastaja, mida kasutatakse IEEE 802 standardite, peamiselt Etherneti, Wi-Fi ja Bluetoothi vĂ”rkudes. Ametlikult nimetatakse seda "EUI-48 tĂŒĂŒpi identifikaatoriks". Nagu nimest selgub, on aadress 48 bitine, st 6 baiti pikk. Ăhtegi ĂŒldiselt aktsepteeritud standardit aadressi kirjutamise jaoks ei ole (erinevalt IPv4 aadressist, kus oktettide vahel on alati punktid). Tavaliselt kirjutatakse see kuue kuusnurkse numbri kujul, mis on jagatud koma: 00:AB:CD:EF:11:22, ehkki mĂ”ned seadme tootjad eelistavad vormingut 00-AB-CD-EF-11-22 ja isegi 00ab.cdef.1122.
Ajalooliselt kirjutati aadressid vĂ”rguadapteri BIOSi ilma vĂ”imaluseta neid muuta ilma seadistustootjaga, kuid praeguseks vĂ”ib aadressi muuta tarkvara abil, operatsioonisĂŒsteemist. MĂC-aadressi seadistamine vĂ”rguadapterile on vĂ”imalik Linuxis ja MacOS-is (alati), Windowsis (peaaegu alati, kui draiver lubab), Androidis (ainult juuritud); iOS-is (ilma juurita) on sarnane trikk vĂ”imatu.
Aadressi struktuur
Aadress koosneb tootja identifikaatori osast, OUI-st, ja tootja mÀÀratud identifikaatorist. OUI (Organizationally Unique Identifier) identifikaatorite eesmĂ€rgiks IEEE organisatsioon. Tegelikult vĂ”ib selle pikkus olla mitte ainult 3 baiti (24 bitti), vaid ka 28 vĂ”i 36 bitti, millest moodustatakse plokid (MAC Address Block, MA) adresseerimise tĂŒĂŒpide Large (MA-L), Medium (MA-M) ja Small (MA-S) jaoks. Sel juhul on vĂ€ljastatava ploki suurus 24, 20, 12 bitti vĂ”i vastavalt 16 miljonit, 1 miljon, 4 tuhat aadressi. Hetkel on jaotatud ligikaudu 38 tuhat plokki, mida saab tutvuda paljude veebitööriistadega, nĂ€iteks vĂ”i .
Kellele aadressid kuuluvad
Lihtne töötlemine avalikult kĂ€tte saadavast IEEE pakub ĂŒsna palju teavet. NĂ€iteks on mĂ”ned organisatsioonid omandanud palju OUI plokke. Siin on meie kangelased:
Tarnija
Plokkide/kannete arv
Aadresside arv, mln.
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 Registration Authority
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 neid kokku 40, ja see pole ĂŒllatav: nad ise ei tooda nii palju vĂ”rgu seadmeid.
MA plokke ei pakuta tasuta, neid saab mĂ”istlike hindadega (ilma igakuise tasuta) osta vastavalt 3000 dollarit, 1800 dollarit vĂ”i 755 dollarit. Uvitav, et lisaraha (aastas) eest on vĂ”imalik osta âavaliku teabe varjamistâ mÀÀratud ploki kohta. Selliseid on hetkel, nagu nĂ€ha ĂŒleval, 232.
Millal lÔppevad MAC-aadressid
Oleme kĂ”ik ĂŒsnagi vĂ€sinud pidevast juttudest, et âIPv4 aadressid hakkavad kohe otsa saamaâ. Jah, uusi IPv4 plokke on juba raske saada. Samas on teada, et IP aadressid ; on suuriĂ€ ja vĂ€hĂ€kĂ€ytössĂ€ olevia lohkoja, jotka kuuluvat suurille yrityksille ja Yhdysvaltain valtiollisille laitoksille, tosin ilman erityistĂ€ toivoa niiden jakamisesta tarvitseville. NAT, CG-NAT ja IPv6 levinneisyys ovat tehneet julkisten osoitteiden puutteesta vĂ€hemmĂ€n akuutin ongelman.
MAC-osoitteessa on 48 bittiÀ, joista 46 voidaan laskea 'kÀytÀnnöllisiksi' (miksi? Lue lisÀÀ), mikÀ antaa 246 tai 1014 osoitetta, mikÀ on 214 kertaa suurempi kuin IPv4-osoiteavaruus.
TÀllÀ hetkellÀ on jaettu noin puoli biljoonaa osoitetta, vain 0,73 % kokonaismÀÀrÀstÀ. MAC-osoitteet eivÀt ole vielÀ missÀÀn vaiheessa loppumassa.
Bittien satunnaisuus
Voidaan olettaa, ettÀ OUI:t jaetaan sattumanvaraisesti, ja myyjÀt sitten myös sattumanvaraisesti mÀÀrittÀvÀt osoitteet yksittÀisille verkkolaitteille. Onko nÀin? Katsotaan, miten bitit jakautuvat kÀytössÀ olevissa MAC-osoitebaaseissa 802.11-laitteista, jotka on kerÀtty langattomissa verkoissa toimivien todennusjÀrjestelmien avulla. . Osoitteet kuuluvat todellisille laitteille, jotka ovat yhteydessÀ Wi-Fi-verkkoihin useiden vuosien ajan kolmessa maassa. LisÀksi on pieni 802.3-laitteiden tietokanta langallisille LAN:lle.
LÀheme igas valimis lÀbi iga MAC-aadressi (kuus bitti) bititi ja vaatame, kui tihti ilmub bit '1' iga 48 asukoha juures. Kui bit on tÀiesti juhuslikult seatud, peaks tÔenÀosus saada '1' olema 50%.
Wi-Fi valim â1 (Venemaa)
Wi-Fi valim â2 (Valgevene)
Wi-Fi valim â3 (Usbekistan)
LAN valim (Venemaa)
Kirjete 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 tuleb selline ebaausus 7. ja 8. bitis? Seal on peaaegu alati nullid.
TÔepoolest, standard mÀÀratleb need bitid kui spetsiaalsed ():

Esimese bajti MAC-aadressi kaheksas (alates algusest) bit kutsutakse unicast/multicast bitiks ja mÀÀrab, millist tĂŒĂŒpi kaader (frame) edastatakse selle aadressiga, kas tavaline (0) vĂ”i ĂŒlekande (1) (multicast vĂ”i broadcast). Tava unicast-i suhtluse jaoks on see bit kĂ”ikidesse saadetavates paketides seatud '0'.
Seitsmenda (esimene) biti esimese baidi MAC-aadressist nimetatakse U/L (Universal/Local) bitiks ja see mÀÀrab, kas aadress on globaalselt ainulaadne (0) vÔi kohalikult ainulaadne (1). Vaikimisi on kÔik "tootja poolt sisse kirjutatud" aadressid globaalselt ainulaadsed, seetÔttu sisaldab absoluutne enamus genereeritud MAC-aadressidest seitsmenda biti seadistatud "0". OUI mÀÀratud identifikaatorite tabelis on ainult umbes 130 kirjet, millel on U/L bit "1", ja tÔenÀoliselt on need MAC-aadresside plokid spetsiaalsete vajaduste jaoks.
Esimese baidi alates kuuendast kuni esimeseni, teise ja kolmanda baidi bitid OUI identifikaatorites ning veelgi enam neljanda kuni kuuenda baidi aadressid, mis on mÀÀratud tootja poolt, on enam-vÀhem vÔrdselt jaotatud.
Seega on reaalsetes MAC-aadressides vĂ”rdsed bitid ja need ei kanna tehnoloogilist tĂ€hendust, vĂ€lja arvatud kaks ĂŒlemise baidi teenindusbitit.
Levinud
Huvitav, millised traadita seadmete tootjad on kĂ”ige populaarsemad? Ăhendame OUI andmebaasi otsingu andmestiku valimiga â1.
Tarnija
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
ei leitud IEEE andmebaasist
1,92
Lenovo Mobile Communication Technology Ltd.
1,71
HTC Corporation
1,68
Murata Manufactuaring
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 jÔukam on mobiilside vÔrgu kasutajaskond antud kohas, seda suurem on Apple-seadmete osakaal.
Ainulaadsus
Kas MAC-aadressid on ainulaadsed? Teoorias jah, kuna iga seadme tootja (MAC-aadressi omanik) peab tagama igale tootetud vÔrgukaardile ainulaadse aadressi. 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 baiti juhuslikuks numbriks, ilmselt pÀrast iga seadme taaskÀivitamist. Selliseid aadresse leidsin oma valimist nr 1 kokku 82 tuhat.
VĂ”ite endale panna kellegi teise, mitteunikaalse aadressi, muidugi eesmĂ€rgipĂ€raselt seda ânagu naabrimeesâ seadistades, mÀÀrates selle snifferiga vĂ”i valides juhuslikult. Samuti on vĂ”imalik juhuslikult seada endale mitteunikaalne aadress, nĂ€iteks tehes varukoopia taastamise mĂ”nest marsruuterist, nagu Mikrotik vĂ”i OpenWrt.
Mida teha, kui vĂ”rgus on kaks seadet sama MAC-aadressiga? KĂ”ik sĂ”ltub vĂ”rgu seadmete (juhtmeĂŒhendusega marsruuteri, traadita vĂ”rgu kontrolleri) loogikast. TĂ”enĂ€oliselt ei tööta kumbki seade vĂ”i töötab ĂŒles-alla. IEEE standardite seisukohalt soovitatakse MAC-aadresside vale kasutamise kaitset lahendada nĂ€iteks MACsec'i vĂ”i 802.1X abil.
Mis juhtub, kui seadistada endale MAC-aadress, mille seitsmes vĂ”i kaheksas bitt on seadistatud â1â, st local vĂ”i multicast-aadress? TĂ”enĂ€oliselt ei pööra teie vĂ”rk sellele tĂ€helepanu, kuid formaalselt selline aadress ei vasta standardile ning parem oleks seda mitte teha.
Kuidas töötab randomiseerimine?
Me teame, et inimeste liikumise jĂ€lgimise vĂ€ltimiseks, kasutades eetrit ja MAC-aadresside kogumist, on nutitelefonide operatsioonisĂŒsteemid juba mitmeid aastaid rakendanud randomiseerimise tehnoloogiat. Teoreetiliselt saadab nutitelefon, otsides tuntud vĂ”rke, etri skaneerimise kĂ€igus 802.11 probe request paketi, mille allikana on MAC-aadress.

KĂ€ivitatud randomiseerimine vĂ”imaldab mÀÀrata mitte "fiksitud" aadressi, vaid mĂ”ne muu allika aadressi, mis muutub iga skaneerimistsĂŒkli jooksul, ajaliselt vĂ”i muul viisil. Kas see töötab? Vaatame W-Fi Radariga kogutud MAC-aadresside statistikat:
Kogu valim
Valim ainult nullseitsme bittiga
Kirjete 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 tÀiesti teine.
MAC-aadressi esimeses baitis olev kaheksas bitt vastab endiselt probe request paketi SRC-aadressi Unicast iseloomule.
Seitsmes bitt on 92,2% juhtudest mÀÀratud kohaliku (Local) vÀÀrtusega, see tÀhendab, et piisava kindlusega vÔib öelda, et just nii palju kogutud aadresse kuulub randomiseeritutele, vÀhem kui 8% on aga tegelikud. Samuti on nende tegelike aadresside OUI bittide jaotumine ligikaudu kooskÔlas eelneva tabeli andmetega.
Millisele tootjale kuuluvad OUI jÀrgi juhuslikud aadressid (st 7. bitis on '1')?
Tootja OUI jÀrgi
Osakaal kÔikidest aadressidest
ei leitud IEEE andmebaasist
62.45%
Google Inc.
37.54%
muu
0.01%
Samas kuuluvad kĂ”ik Google'ile omistatud juhuslikud aadressid ĂŒ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");Tavaliselt kasutab Android traadita vĂ”rkude otsimisel spetsiaalset registreeritud OUI-d, mis on ĂŒks vĂ€heseid, mille seitsmes bit on seadistatud.
Kalkuleerime juhuslikust pÀris MAC-aadressi
Vaatame sealt edasi:
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 byt'i on puhas Random.nextLong(). «Patenteeritud reaalsete MACide taastamine» on petmine. Suure tÔenÀosusega vÔib eeldada, et Androidi telefonide tootjad kasutavad ka teisi, mitte registreeritud OUI-sid. iOSi lÀhtekood meie kÀsutuses ei ole, kuid tÔenÀoliselt on seal rakendatud sarnast algoritmi.
Ălaltoodu ei tĂŒhista teiste Wi-Fi abonentide deanonimiseerimise mehhanismide toimet, mis pĂ”hinevad probe request raamistiku teiste vĂ€ljade analĂŒĂŒsil vĂ”i seadme saadetud pĂ€ringute suhtelise sageduse korrelatsioonil. Kuid abonendi vĂ€liste vahenditega tĂ€pselt jĂ€lgida on ÀÀrmiselt problemaatiline. Kogutud andmed sobivad paremini keskmise / tipukoormuse analĂŒĂŒsimiseks asukoha ja aja pĂ”hjal, tuginedes suurtele numbritele, ilma et seonduda konkreetsete seadmete ja inimestega. TĂ€psed andmed on ainult neil, kes on âseesâ, ehk mobiilsete operatsioonisĂŒsteemide tootjatel ja paigaldatud rakendustel.
Mida vĂ”ib ohtlikku tĂ€hendada, kui keegi teine teab teie seadme MAC-aadressi? Traadita ja traadiga vĂ”rgu puhul vĂ”ib korraldada 'teenuse keelamise' rĂŒnnaku. Traadita seadme puhul on samuti vĂ”imalik, et antud piirkonnas, kus on sensor, jÀÀb see mĂ”neti registreerituks. Aadressi vale esitamine vĂ”ib muuta teid teiste seadmete jaoks 'nende seadme' nĂ€iliseks, kui ei ole rakendatud tĂ€iendavaid kaitsemeetmeid (autentimine ja/vĂ”i krĂŒpteerimine). 99,9% inimestest ei pea selle pĂ€rast muretsema.
MAC-aadress on keerulisem, kui paistab, kuid lihtsam, kui vÔiks olla.
Allikas: habr.com
