Eltsenien wit dat dizze seis bytes, meastal werjûn yn heksadesimale opmaak, wurde tawiisd oan de netwurk kaart op it fabryk, en binne skynber willekeurich. Guon minsken witte dat de earste trije bytes fan it adres binne de fabrikant ID, en de oerbleaune trije bytes wurde tawiisd oan harren. It is ek bekend dat jo sels ynstelle kinne willekeurich adres. In protte minsken hawwe heard oer "willekeurige adressen" yn Wi-Fi.
Litte wy útfine wat it is.
MAC-adres (adres foar media tagongskontrôle) is in unike identifier tawiisd oan in netwurkadapter, brûkt yn netwurken fan IEEE 802 noarmen, benammen Ethernet, Wi-Fi en Bluetooth. Offisjeel wurdt it de "EUI-48 type identifier" neamd. Ut de namme docht bliken dat it adres 48 bits lang is, d.w.s. 6 byts. D'r is gjin algemien akseptearre standert foar it skriuwen fan in adres (yn tsjinstelling ta in IPv4-adres, wêrby't oktetten altyd skieden wurde troch punten) It wurdt normaal skreaun as seis heksadesimale getallen skieden troch in kolon: 00:AB:CD:EF:11: 22, hoewol't guon apparatuer fabrikanten leaver de notaasje 00 -AB-CD-EF-11-22 en sels 00ab.cdef.1122.
Histoarysk waarden adressen yn 'e ROM fan' e netwurkkaart-chipset flitse sûnder de mooglikheid om se te feroarjen sûnder in flash-programmeur, mar tsjintwurdich kin it adres programmatysk feroare wurde fanút it bestjoeringssysteem. Jo kinne it MAC-adres fan in netwurkkaart manuell ynstelle yn Linux en MacOS (altyd), Windows (hast altyd, as de bestjoerder it talit), Android (allinich woartele); Mei iOS (sûnder root) is sa'n trúk ûnmooglik.
Adres struktuer
It adres bestiet út in diel fan de identifier fan 'e fabrikant, OUI, en in identifier tawiisd troch de fabrikant. Tawizing fan OUI (Organizationally Unique Identifier)-identifikaasjes
Wa hat de adressen?
Maklike ferwurking fan iepenbier beskikber
Ferkeaper
Oantal blokken / records
Oantal adressen, miljoen
Cisco Systems Inc
888
14208
Appel
772
12352
Samsung
636
10144
Huawei Technologies Co.Ltd
606
9696
Intel Corporation
375
5776
Ynformaasje oer it bedriuw ARRIS Group Inc.
319
5104
Nokia Corporation
241
3856
private
232
2704
Texas Instruments
212
3392
zte Corporation
198
3168
IEEE Registraasje 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
Ien diel fan Fiberhome Telecommunication Technologies Co., Ltd. LTD
97
1552
De skiednis fan Xiaomi Communications Co., Ltd
88
1408
Guangdong Oppo Mobile Telecommunications Corp.Ltd
82
1312
Google hat mar 40 fan har, en dit is net ferrassend: se sels produsearje net in protte netwurkapparaten.
MA-blokken wurde net fergees levere, se kinne wurde kocht foar in ridlike priis (sûnder abonnemintskosten) foar respektivelik $3000, $1800 of $755. Ynteressant kinne jo foar ekstra jild (per jier) keapje "ferbergjen" fan iepenbiere ynformaasje oer it tawiisde blok. Dat binne der no 232 fan, sa't hjirboppe te sjen is.
Wannear sille wy út MAC-adressen rinne?
Wy binne allegear aardich wurch fan 'e ferhalen dy't al 10 jier geande binne dat "IPv4-adressen op it punt steane te rinnen." Ja, nije IPv4-blokken binne net mear maklik te krijen. It is bekend dat IP-adressen
In MAC-adres hat 48 bits, wêrfan 46 kinne wurde beskôge as "nuttich" (wêrom? lês fierder), dat jout 246 of 1014 adressen, dat is 214 kear mear as de IPv4 adres romte.
Op it stuit binne sawat in heal triljoen adressen ferspraat, of mar 0.73% fan it totale folume. Wy binne noch heul, heul fier fan it rinnen fan MAC-adressen.
Randomness bits
It kin oannommen wurde dat de OUI's willekeurich ferdield wurde, en de ferkeaper jout dan ek willekeurich adressen oan yndividuele netwurkapparaten. Is it sa? Litte wy sjen nei de ferdieling fan bits yn 'e databases fan MAC-adressen fan 802.11-apparaten ta myn beskikking, sammele troch wurkjende autorisaasjesystemen yn draadloze netwurken
Litte wy elk MAC-adres (seis bytes) fan elk fan 'e samples brekke yn bits, byte foar byte, en sjoch nei de frekwinsje fan it foarkommen fan 'e "1" bit yn elk fan 'e 48 posysjes. As it bit op in folslein willekeurige manier ynsteld is, dan moat de kâns om in "1" te krijen 50% wêze.
Wi-Fi seleksje nr. 1 (RF)
Wi-Fi sample nr. 2 (Wyt-Ruslân)
Wi-Fi seleksje nr. 3 (Oezbekistan)
LAN sampling (RF)
Oantal records yn 'e databank
5929000
1274000
366000
1000
Bitnûmer:
% 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%
Wêrom sa'n ûnrjocht yn 7 en 8 bits? Der binne hast altyd nullen.
Yndie, de standert definiearret dizze bits as spesjale (
De achtste (fan it begjin ôf) bit fan 'e earste byte fan it MAC-adres wurdt de Unicast/Multicast-bit neamd en bepaalt hokker type frame (frame) wurdt ferstjoerd mei dit adres, reguliere (0) of útstjoering (1) (multicast of útstjoere). Foar normale, unicast netwurkadapterkommunikaasje is dit bit ynsteld op "0" yn alle pakketten dy't dernei stjoerd binne.
De sânde (fan it begjin ôf) bit fan 'e earste byte fan it MAC-adres wurdt de U/L (Universeel/Lokaal) bit neamd en bepaalt oft it adres globaal unyk is (0), of lokaal unyk (1). Standert binne alle "fabrikant-stikte" adressen wrâldwiid unyk, sadat de grutte mearderheid fan sammele MAC-adressen it sânde bit befettet op "0". Yn 'e tabel mei tawiisde OUI-identifikaasjes hawwe mar sawat 130 yngongen in U / L-bit fan "1", en blykber binne dit blokken fan MAC-adressen foar spesjale behoeften.
Fan 'e sechsde oant de earste bits fan' e earste byte, de bits fan 'e twadde en tredde bytes yn' e OUI-identifikaasjes, en noch mear, de bits yn 'e 4-6 bytes fan it adres tawiisd troch de fabrikant wurde min of mear gelyk ferdield .
Sa binne de bits yn it echte MAC-adres fan 'e netwurkadapter eins lykweardich en hawwe gjin technologyske betsjutting, mei útsûndering fan twa tsjinstbits fan 'e hege byte.
Prevalens
Benijd hokker fabrikanten fan draadloze apparatuer de populêrste binne? Litte wy it sykjen yn 'e OUI-database kombinearje mei de gegevens fan sample nûmer 1.
Ferkeaper
Oanpart fan apparaten, %
Appel
26,09
Samsung
19,79
Huawei Technologies Co. Ltd
7,80
De skiednis fan Xiaomi Communications Co., Ltd
6,83
Sony Mobile Communications Inc
3,29
LG Electronics (Mobyle Communications)
2,76
De bedriuw ASUSTek COMPUTER INC.
2,58
TCT Mobile Ltd
2,13
zte Corporation
2,00
net fûn yn de IEEE databank
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
De bedriuw Shanghai Wind Technologies Co., Ltd. Ltd
0,74
Lenovo Mobile Communication (Wuhan) Company Limited
0,71
Oefenjen lit sjen dat de wolfeartiger de kontingint fan draadloze netwurkabonnees op in bepaalde lokaasje, hoe grutter it oandiel fan Apple-apparaten.
Unykheid
Binne MAC-adressen unyk? Yn teory, ja, om't elke apparaatfabrikant (MA-blokeigner) ferplicht is om in unyk adres te jaan foar elk fan 'e netwurkadapters dy't it produsearret. Guon chipfabrikanten, nammentlik:
- 00:0A:F5 Airgo Networks, Inc. (no Qualcomm)
- 00:08:22 InPro Comm (no MediaTek)
set de lêste trije bytes fan it MAC-adres op in willekeurich getal, blykber nei elk apparaat trochstart. Der stiene 1 tûzen fan sokke adressen yn myn stekproef nr.
Jo kinne fansels foar josels in frjemd, net-unyk adres ynstelle troch it doelbewust yn te stellen "lykas dat fan jo buorman", it te identifisearjen mei in sniffer, of it willekeurich te kiezen. It is ek mooglik om josels per ûngelok in net-unyk adres yn te stellen troch bygelyks in reservekopykonfiguraasje fan in router lykas Mikrotik of OpenWrt te herstellen.
Wat bart der as der twa apparaten op it netwurk binne mei itselde MAC-adres? It alles hinget ôf fan de logika fan it netwurk apparatuer (wired router, Wireless netwurk controller). Meast wierskynlik, beide apparaten sille of net wurkje of sil wurkje tuskenskoften. Ut it eachpunt fan IEEE noarmen wurdt foarsteld beskerming tsjin MAC adres spoofing wurde oplost mei, bygelyks, MACsec of 802.1X.
Wat as jo ynstallearje in MAC mei de sânde of achtste bit ynsteld op "1", i.e. lokaal of multicast adres? Meast wierskynlik, jo netwurk sil net betelje omtinken oan dit, mar formeel sa'n adres sil net foldwaan oan de standert, en it is better net te dwaan.
Hoe randomisaasje wurket
Wy witte dat om it folgjen fan bewegingen fan minsken te foarkommen troch it scannen en sammeljen fan loftgolven, hawwe smartphone MAC-bestjoeringssystemen al ferskate jierren randomisaasjetechnology brûkt. Teoretysk, by it skennen fan de loftgolven op syk nei bekende netwurken, stjoert de smartphone in pakket (groep pakketten) fan it 802.11-probe-oanfraachtype mei it MAC-adres as de boarne:
Ynskeakele randomisaasje lit jo net de "stikte" opjaan, mar in oar pakketboarneadres, feroarjend mei elke skennensyklus, oer de tiid, of op in oare manier. Wurket it? Litte wy sjen nei de statistiken fan MAC-adressen sammele út 'e loft troch de saneamde "Wi-Fi Radar":
Hiele stekproef
Sample allinne mei nul 7e bit
Oantal records yn 'e databank
3920000
305000
Bitnûmer:
% 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%
De foto is folslein oars.
It 8ste bit fan 'e earste byte fan it MAC-adres komt noch oerien mei de Unicast-aard fan it SRC-adres yn it probe-fersykpakket.
It 7e bit is yn 92.2% fan de gefallen op Lokaal ynsteld, d.w.s. Mei in reedlike graad fan fertrouwen kinne wy oannimme dat krekt safolle fan 'e sammele adressen binne willekeurich, en minder as 8% binne echt. Yn dit gefal komt de ferdieling fan bits yn 'e OUI foar sokke echte adressen sawat oerien mei de gegevens yn' e foarige tabel.
Hokker fabrikant hat neffens de OUI de willekeurich adressen (dus mei it 7e bit yn "1")?
Fabrikant troch OUI
Diel ûnder alle adressen
net fûn yn de IEEE databank
62.45%
Google Inc.
37.54%
rêst
0.01%
Boppedat hearre alle randomisearre adressen dy't oan Google binne tawiisd oan deselde OUI mei it foarheaksel DA:A1:19. Wat is dit foarheaksel? Litte wy nei binnen sjen
private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");
Stock Android brûkt in spesjale, registrearre OUI by it sykjen nei draadloze netwurken, ien fan de pear mei de sânde bit set.
Berekkenje echte MAC út willekeurige ien
Litte wy dêr sjen:
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;
}
It hiele adres, of syn ûnderste trije bytes, is suver Random.nextLong(). "Eigendomsherstel fan echte MAC" is in scam. Mei in hege graad fan fertrouwen kinne wy ferwachtsje dat fabrikanten fan Android-tillefoanen oare, net registrearre OUI's brûke. Wy hawwe de iOS-boarnekoade net, mar wierskynlik wurdt dêr in ferlykber algoritme brûkt.
It boppesteande annulearret it wurk fan oare meganismen foar de-anonymisearjen fan Wi-Fi-abonnees net, basearre op 'e analyze fan oare fjilden fan it frame fan' e probe-oanfraach, of korrelaasje fan 'e relative frekwinsje fan oanfragen stjoerd troch it apparaat. It betrouber folgjen fan in abonnee mei eksterne middels is lykwols ekstreem problematysk. De sammele gegevens sille mear geskikt wêze foar it analysearjen fan gemiddelde / pyklast troch lokaasje en tiid, basearre op grutte oantallen, sûnder ferwizing nei spesifike apparaten en minsken. Allinnich dy "binnen", de fabrikanten fan mobile OS sels, en ynstalleare applikaasjes hawwe krekte gegevens.
Wat kin gefaarlik wêze as in oar it MAC-adres fan jo apparaat wit? Oanfallen foar ûntkenning fan tsjinst kinne wurde lansearre foar bedrade en draadloze netwurken. Foar in draadloare apparaat is it ek mei wat kâns mooglik om it momint fan syn uterlik op te nimmen op it plak dêr't de sensor is ynstalleare. Troch it adres te spoofen, kinne jo besykje "foar te dwaan" as jo apparaat, wat allinich kin wurkje as gjin ekstra feiligensmaatregels wurde brûkt (autorisaasje en/of fersifering). 99.9% fan de minsken hjir hawwe neat te soargen oer.
It MAC-adres is yngewikkelder dan it liket, mar ienfâldiger dan it koe wêze.
Boarne: www.habr.com