Tothom sap que aquests sis bytes, que normalment es mostren en format hexadecimal, s'assignen a la targeta de xarxa de fàbrica i aparentment són aleatoris. Algunes persones saben que els tres primers bytes de l'adreça són l'identificador del fabricant i els tres bytes restants se'ls assignen. També se sap que pots configurar-te arbitrari adreça. Molta gent ha sentit parlar d'"adreces aleatòries" a la Wi-Fi.
Anem a esbrinar què és.
L'adreça MAC (adreça de control d'accés a mitjans) és un identificador únic assignat a un adaptador de xarxa, utilitzat en xarxes d'estàndards IEEE 802, principalment Ethernet, Wi-Fi i Bluetooth. Oficialment s'anomena "EUI-48 type identifier". Pel nom és obvi que l'adreça té 48 bits de llarg, és a dir. 6 bytes. No hi ha cap estàndard acceptat generalment per escriure una adreça (a diferència d'una adreça IPv4, on els octets sempre estan separats per punts). Normalment s'escriu com sis números hexadecimals separats per dos punts: 00:AB:CD:EF:11: 22, tot i que alguns fabricants d'equips prefereixen la notació 00 -AB-CD-EF-11-22 i fins i tot 00ab.cdef.1122.
Històricament, les adreces s'incloïen a la ROM del chipset de la targeta de xarxa sense la possibilitat de modificar-les sense un programador flash, però actualment l'adreça es pot canviar mitjançant programació des del sistema operatiu. Podeu configurar manualment l'adreça MAC d'una targeta de xarxa a Linux i MacOS (sempre), Windows (gairebé sempre, si el controlador ho permet), Android (només arrelat); Amb iOS (sense arrel) aquest truc és impossible.
Estructura d'adreces
L'adreça consta d'una part de l'identificador del fabricant, OUI, i un identificador assignat pel fabricant. Assignació d'identificadors OUI (Organizationally Unique Identifier).
Qui és el propietari de les adreces?
Fàcil processament de disponibles públicament
Venedor
Nombre de blocs/registres
Nombre d'adreces, milions
Cisco Systems Inc
888
14208
poma
772
12352
Samsung
636
10144
Huawei Technologies Co.Ltd
606
9696
Intel Corporation
375
5776
Grup ARRIS Inc.
319
5104
Nokia Corporation
241
3856
Privat
232
2704
Texas Instruments
212
3392
corporació zte
198
3168
Autoritat de registre IEEE
194
3072
Hewlett Packard
149
2384
Precisió Hon Hai
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 només en té 40, i això no és sorprenent: ells mateixos no produeixen molts dispositius de xarxa.
Els blocs MA no es proporcionen de manera gratuïta, es poden comprar per un preu raonable (sense quota de subscripció) per 3000, 1800 o 755 dòlars, respectivament. Curiosament, per diners addicionals (per any) podeu comprar "amagar" la informació pública sobre el bloc assignat. Ara n'hi ha 232, com es pot veure més amunt.
Quan ens quedarem sense adreces MAC?
Tots estem bastant cansats de les històries que porten 10 anys passant que "les adreces IPv4 estan a punt d'esgotar-se". Sí, els nous blocs IPv4 ja no són fàcils d'obtenir. Se sap que les adreces IP
Una adreça MAC té 48 bits, dels quals 46 es poden considerar "útils" (per què? Continueu llegint), que dóna 246 o 1014 adreces, que és 214 vegades més que l'espai d'adreces IPv4.
Actualment, s'han distribuït aproximadament mig bilió d'adreces, és a dir, només el 0.73% del volum total. Encara estem molt, molt lluny de quedar-nos sense adreces MAC.
Bits d'atzar
Es pot suposar que les OUI es distribueixen aleatòriament i, aleshores, el venedor també assigna adreces a l'atzar a dispositius de xarxa individuals. És així? Vegem la distribució de bits a les bases de dades d'adreces MAC dels dispositius 802.11 a la meva disposició, recollits pels sistemes d'autorització de treball en xarxes sense fil
Desglossem cada adreça MAC (sis bytes) de cadascuna de les mostres en bits, byte per byte, i observem la freqüència d'ocurrència del bit "1" en cadascuna de les 48 posicions. Si el bit s'estableix d'una manera completament arbitrària, la probabilitat d'obtenir un "1" hauria de ser del 50%.
Selecció Wi-Fi núm. 1 (RF)
Mostra de Wi-Fi núm. 2 (Bielorússia)
Selecció de Wi-Fi núm. 3 (Uzbekistan)
Mostreig de LAN (RF)
Nombre de registres a la base de dades
5929000
1274000
366000
1000
Número de bit:
% 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%
Per què tanta injustícia en 7 i 8 bits? Gairebé sempre hi ha zeros.
De fet, l'estàndard defineix aquests bits com a especials (
El vuitè bit (des del principi) del primer byte de l'adreça MAC s'anomena bit Unicast/Multicast i determina quin tipus de trama (frame) es transmet amb aquesta adreça, regular (0) o broadcast (1) (multicast o multicast). emissió). Per a la comunicació normal de l'adaptador de xarxa unicast, aquest bit s'estableix a "0" en tots els paquets que s'hi envien.
El setè bit (des del principi) del primer byte de l'adreça MAC s'anomena bit U/L (Universal/Local) i determina si l'adreça és única globalment (0) o única localment (1). Per defecte, totes les adreces "costurades pel fabricant" són úniques a nivell mundial, de manera que la gran majoria de les adreces MAC recopilades contenen el setè bit establert a "0". A la taula d'identificadors OUI assignats, només unes 130 entrades tenen un bit U/L de "1", i sembla que es tracta de blocs d'adreces MAC per a necessitats especials.
Del sisè als primers bits del primer byte, els bits del segon i tercer bytes en els identificadors OUI, i més encara els bits dels 4-6 bytes de l'adreça assignada pel fabricant es distribueixen de manera més o menys uniforme. .
Així, a l'adreça MAC real de l'adaptador de xarxa, els bits són realment equivalents i no tenen significat tecnològic, a excepció de dos bits de servei del byte alt.
Prevalença
Et preguntes quins fabricants d'equips sense fil són els més populars? Combinem la cerca a la base de dades OUI amb les dades de la mostra núm. 1.
Venedor
Quota de dispositius, %
poma
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 (comunicacions mòbils)
2,76
ASUSTek COMPUTER INC.
2,58
TCT Mobile Ltd
2,13
corporació zte
2,00
no es troba a la base de dades IEEE
1,92
Lenovo Mobile Communication Technology Ltd.
1,71
HTC Corporation
1,68
Fabricació Murata
1,31
Comunicació InPro
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
La pràctica demostra que com més pròsper sigui el contingent de subscriptors de xarxes sense fil en una ubicació determinada, més gran serà la quota de dispositius Apple.
Unicitat
Les adreces MAC són úniques? En teoria, sí, ja que cada fabricant de dispositiu (propietari del bloc MA) ha de proporcionar una adreça única per a cadascun dels adaptadors de xarxa que produeix. No obstant això, alguns fabricants de xips, a saber:
- 00:0A:F5 Airgo Networks, Inc. (ara Qualcomm)
- 00:08:22 InPro Comm (ara MediaTek)
establiu els darrers tres bytes de l'adreça MAC a un nombre aleatori, aparentment després de cada reinici del dispositiu. Hi havia 1 mil adreces d'aquest tipus a la meva mostra número 82.
Per descomptat, podeu establir-vos una adreça estrangera i no única establint-la a propòsit "com la del vostre veí", identificant-la amb un sniffer o escollint-la a l'atzar. També és possible configurar accidentalment una adreça no única, per exemple, restaurant una configuració de còpia de seguretat d'un encaminador com Mikrotik o OpenWrt.
Què passarà si hi ha dos dispositius a la xarxa amb la mateixa adreça MAC? Tot depèn de la lògica de l'equip de xarxa (encaminador amb cable, controlador de xarxa sense fil). El més probable és que ambdós dispositius no funcionin o funcionaran de manera intermitent. Des del punt de vista dels estàndards IEEE, es proposa resoldre la protecció contra la falsificació d'adreces MAC utilitzant, per exemple, MACsec o 802.1X.
Què passa si instal·leu un MAC amb el setè o vuitè bit establert a "1", és a dir. adreça local o multicast? El més probable és que la vostra xarxa no hi presti atenció, però formalment aquesta adreça no complirà l'estàndard i és millor no fer-ho.
Com funciona l'aleatorització
Sabem que per evitar el seguiment dels moviments de les persones mitjançant l'escaneig i la recollida d'ones, els sistemes operatius MAC dels telèfons intel·ligents fan servir la tecnologia d'aleatorització durant diversos anys. Teòricament, quan escaneja les ones a la recerca de xarxes conegudes, el telèfon intel·ligent envia un paquet (grup de paquets) del tipus de sol·licitud de sonda 802.11 amb l'adreça MAC com a font:
L'aleatorització activada us permet especificar no la "cosida", sinó una altra adreça d'origen del paquet, canviant amb cada cicle d'escaneig, amb el temps o d'una altra manera. Funciona? Vegem les estadístiques de les adreces MAC recollides des de l'aire per l'anomenat "Radar Wi-Fi":
Mostra sencera
Mostra només amb zero 7è bit
Nombre de registres a la base de dades
3920000
305000
Número de bit:
% 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%
La imatge és completament diferent.
El 8è bit del primer byte de l'adreça MAC encara correspon a la naturalesa Unicast de l'adreça SRC al paquet de sol·licitud de sonda.
El 7è bit s'estableix en Local en el 92.2% dels casos, és a dir. Amb un cert grau de confiança, podem suposar que exactament tantes de les adreces recollides són aleatòries i que menys del 8% són reals. En aquest cas, la distribució de bits a la OUI per a aquestes adreces reals coincideix aproximadament amb les dades de la taula anterior.
Quin fabricant, segons l'OUI, és propietari de les adreces aleatòries (és a dir, amb el setè bit a "7")?
Fabricant per OUI
Comparteix entre totes les adreces
no es troba a la base de dades IEEE
62.45%
Google Inc
37.54%
descans
0.01%
A més, totes les adreces aleatòries assignades a Google pertanyen a la mateixa OUI amb el prefix DA:A1:19. Què és aquest prefix? Mirem-hi
private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");
Stock Android utilitza una OUI especial i registrada quan cerca xarxes sense fil, una de les poques amb el setè bit configurat.
Calcula el MAC real a partir d'un aleatori
Vegem-hi:
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;
}
L'adreça sencera, o els seus tres bytes inferiors, és pura Random.nextLong(). La "recuperació pròpia del MAC real" és una estafa. Amb un alt grau de confiança, podem esperar que els fabricants de telèfons Android utilitzin altres OUI no registrats. No tenim el codi font d'iOS, però el més probable és que s'utilitzi un algorisme similar.
L'anterior no cancel·la el treball d'altres mecanismes per a la desanonimització dels subscriptors de Wi-Fi, basat en l'anàlisi d'altres camps del marc de sol·licitud de sonda, o la correlació de la freqüència relativa de les sol·licituds enviades pel dispositiu. Tanmateix, fer un seguiment fiable d'un subscriptor mitjançant mitjans externs és extremadament problemàtic. Les dades recollides seran més adequades per analitzar la càrrega mitjana/pic per ubicació i temps, en funció de grans números, sense fer referència a dispositius i persones concrets. Només aquells "dins", els mateixos fabricants de sistemes operatius mòbils i les aplicacions instal·lades tenen dades precises.
Què podria ser perillós que algú altre conegui l'adreça MAC del vostre dispositiu? Els atacs de denegació de servei es poden llançar per a xarxes amb cable i sense fil. Per a un dispositiu sense fil, a més, amb certa probabilitat és possible registrar el moment de la seva aparició al lloc on està instal·lat el sensor. Mitjançant la falsificació de l'adreça, podeu intentar "fingir" que és el vostre dispositiu, que només pot funcionar si no s'utilitzen mesures de seguretat addicionals (autorització i/o xifratge). El 99.9% de la gent aquí no té res de què preocupar-se.
L'adreça MAC és més complicada del que sembla, però més senzilla del que podria ser.
Font: www.habr.com