Tout le monde sait que ces six octets, généralement affichés au format hexadécimal, sont attribués en usine à la carte réseau et semblent aléatoires. Certaines personnes savent que les trois premiers octets de l'adresse sont l'ID du fabricant et que les trois octets restants leur sont attribués. On sait également que vous pouvez vous fixer arbitraire adresse. De nombreuses personnes ont entendu parler des « adresses aléatoires » dans le Wi-Fi.
Voyons ce que c'est.
L'adresse MAC (media access control address) est un identifiant unique attribuĂ© Ă un adaptateur rĂ©seau, utilisĂ© dans les rĂ©seaux des normes IEEE 802, principalement Ethernet, Wi-Fi et Bluetooth. Officiellement, on l'appelle « identifiant de type EUI-48 ». D'aprĂšs le nom, il est Ă©vident que l'adresse fait 48 bits, c'est-Ă -dire 6 octets. Il n'existe pas de norme gĂ©nĂ©ralement acceptĂ©e pour Ă©crire une adresse (contrairement Ă une adresse IPv4, oĂč les octets sont toujours sĂ©parĂ©s par des points). Elle s'Ă©crit gĂ©nĂ©ralement sous la forme de six nombres hexadĂ©cimaux sĂ©parĂ©s par deux points : 00:AB:CD:EF:11 : 22, mĂȘme si certains Ă©quipementiers prĂ©fĂšrent la notation 00 -AB-CD-EF-11-22 et mĂȘme 00ab.cdef.1122.
Historiquement, les adresses Ă©taient programmĂ©es dans la mĂ©moire ROM du chipset de la carte rĂ©seau et ne pouvaient ĂȘtre modifiĂ©es sans un programmateur de mĂ©moire flash. De nos jours, l'adresse peut ĂȘtre modifiĂ©e par programmation depuis le systĂšme d'exploitation. Vous pouvez dĂ©finir manuellement l'adresse MAC de la carte rĂ©seau dans Linux et MacOS (toujours), Windows (presque toujours, si le conducteur le permet), Android (uniquement avec accĂšs root) ; avec iOS (sans accĂšs root), une telle astuce n'est pas possible.
Structure d'adresse
L'adresse est constituĂ©e d'une partie de l'identifiant du fabricant, OUI, et d'un identifiant attribuĂ© par le fabricant. Attribution des identifiants OUI (Organizationally Unique Identifier) Organisation IEEE. En effet, sa longueur peut ĂȘtre non seulement de 3 octets (24 bits), mais de 28 ou 36 bits, Ă partir desquels des blocs (MAC Address Block, MA) d'adresses de types Large (MA-L), Medium (MA-M) et Des petits sont formĂ©s (MA-S) respectivement. La taille du bloc Ă©mis, dans ce cas, sera de 24, 20, 12 bits ou 16 millions, 1 million, 4 38 adresses. Il existe actuellement environ XNUMX XNUMX blocs distribuĂ©s, ils peuvent ĂȘtre consultĂ©s Ă l'aide de nombreux outils en ligne, par exemple ou .
Ă qui appartiennent les adresses ?
Traitement facile des informations accessibles au public L'IEEE fournit de nombreuses informations. Par exemple, certaines organisations ont pris pour elles-mĂȘmes de nombreux blocs OUI. Voici nos hĂ©ros :
Fournisseur
Nombre de blocs/enregistrements
Nombre d'adresses, millions
Cisco Systems Inc
888
14208
Apple
772
12352
Samsung
636
10144
Huawei Technologies Co.Ltd
606
9696
Intel Corporation
375
5776
Groupe ARRIS inc.
319
5104
Nokia Corporation
241
3856
Privé mode
232
2704
Texas Instruments
212
3392
zte corporation
198
3168
Autorité d'enregistrement IEEE
194
3072
Hewlett Packard
149
2384
Précision Hon Hai
136
2176
TP-LINK
134
2144
Dell Inc.
123
1968
Juniper Networks
110
1760
Sagemcom Haut Débit SAS
97
1552
Fibrehome Telecommunication Technologies Co. LTD
97
1552
Xiaomi Communications Co Ltd
88
1408
Guangdong Oppo Mobile Telecommunications Corp.Ltd
82
1312
Google n'en possĂšde que 40, et ce n'est pas surprenant : eux-mĂȘmes ne produisent pas beaucoup d'appareils rĂ©seau.
Les blocs MA ne sont pas fournis gratuitement, ils peuvent ĂȘtre achetĂ©s Ă un prix raisonnable (sans frais d'abonnement) pour respectivement 3000 1800 $, 755 232 $ ou XNUMX $. Fait intĂ©ressant, pour de l'argent supplĂ©mentaire (par an), vous pouvez acheter la « dissimulation » des informations publiques sur le bloc allouĂ©. Ils sont dĂ©sormais XNUMX, comme on peut le voir ci-dessus.
Quand manquerons-nous dâadresses MAC ?
Nous sommes tous assez fatiguĂ©s des histoires qui circulent depuis 10 ans selon lesquelles « les adresses IPv4 sont sur le point de sâĂ©puiser ». Oui, les nouveaux blocs IPv4 ne sont plus faciles Ă obtenir. On sait que les adresses IP ; Il existe cependant des blocs gigantesques et sous-utilisĂ©s appartenant Ă de grandes entreprises et Ă des agences gouvernementales amĂ©ricaines, avec peu dâespoir de les redistribuer Ă ceux qui en ont besoin. La prolifĂ©ration des NAT, CG-NAT et IPv6 a rendu le problĂšme de la pĂ©nurie d'adresses publiques moins aigu.
Une adresse MAC comporte 48 bits, dont 46 peuvent ĂȘtre considĂ©rĂ©s comme « utiles » (pourquoi ? continuez Ă lire), ce qui donne 246 ou 1014 adresses, soit 214 fois plus que l'espace d'adressage IPv4.
Actuellement, environ un demi-billion dâadresses ont Ă©tĂ© distribuĂ©es, soit seulement 0.73 % du volume total. Nous sommes encore trĂšs trĂšs loin de manquer dâadresses MAC.
Bits aléatoires
On peut supposer que les OUI sont distribués de maniÚre aléatoire et que le fournisseur attribue ensuite également des adresses de maniÚre aléatoire aux périphériques réseau individuels. Est-ce ainsi ? Regardons la répartition des bits dans les bases de données d'adresses MAC des appareils 802.11 à ma disposition, collectées par les systÚmes d'autorisation fonctionnels dans les réseaux sans fil . Les adresses appartiennent à des appareils réels connectés au Wi-Fi pendant plusieurs années dans trois pays. De plus, il existe une petite base de données de périphériques LAN filaires 802.3.
DĂ©composons chaque adresse MAC (six octets) de chacun des Ă©chantillons en bits, octet par octet, et regardons la frĂ©quence d'apparition du bit « 1 » dans chacune des 48 positions. Si le bit est dĂ©fini de maniĂšre complĂštement arbitraire, alors la probabilitĂ© d'obtenir un « 1 » devrait ĂȘtre de 50 %.
Sélection Wi-Fi n°1 (RF)
Ăchantillon Wi-Fi n°2 (BiĂ©lorussie)
Sélection Wi-Fi n°3 (Ouzbékistan)
Ăchantillonnage LAN (RF)
Nombre d'enregistrements dans la base de données
5929000
1274000
366000
1000
Numéro de bits :
% bits "1"
% bits "1"
% bits "1"
% bits "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 %
Pourquoi une telle injustice en 7 et 8 bits ? Il y a presque toujours des zéros.
En effet, la norme définit ces bits comme spéciaux ():

Le huitiÚme bit (à partir du début) du premier octet de l'adresse MAC est appelé bit Unicast/Multicast et détermine quel type de trame (trame) est transmis avec cette adresse, réguliÚre (0) ou diffusion (1) (multidiffusion ou diffuser). Pour une communication normale de la carte réseau unicast, ce bit est défini sur « 0 » dans tous les paquets qui lui sont envoyés.
Le septiÚme bit (à partir du début) du premier octet de l'adresse MAC est appelé bit U/L (Universel/Local) et détermine si l'adresse est globalement unique (0) ou localement unique (1). Par défaut, toutes les adresses « cousues par le fabricant » sont globalement uniques, de sorte que la grande majorité des adresses MAC collectées contiennent le septiÚme bit défini sur « 0 ». Dans le tableau des identifiants OUI attribués, seules environ 130 entrées ont un bit U/L de « 1 », et il s'agit apparemment de blocs d'adresses MAC destinés à des besoins particuliers.
Du sixiÚme au premier bits du premier octet, les bits des deuxiÚme et troisiÚme octets des identifiants OUI, et plus encore les bits des 4-6 octets de l'adresse attribuée par le constructeur sont répartis plus ou moins uniformément .
Ainsi, dans l'adresse MAC réelle de la carte réseau, les bits sont en réalité équivalents et n'ont aucune signification technologique, à l'exception de deux bits de service de l'octet de poids fort.
Prévalence
Vous vous demandez quels fabricants dâĂ©quipements sans fil sont les plus populaires ? Combinons la recherche dans la base de donnĂ©es OUI avec les donnĂ©es de l'Ă©chantillon n°1.
Fournisseur
Part des appareils, %
Apple
26,09
Samsung
19,79
Huawei Technologies Co. Ltd
7,80
Xiaomi Communications Co Ltd
6,83
communications mobiles sony inc
3,29
LG Ălectronique (Communications mobiles)
2,76
ASUSTek ORDINATEUR INC.
2,58
TCT mobile ltée
2,13
zte corporation
2,00
introuvable dans la base de données IEEE
1,92
Technologie de communication mobile Lenovo Ltd.
1,71
HTC Corporation
1,68
Fabrication Murata
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. Ltée
0,74
Lenovo Mobile Communication (Wuhan) Société Limitée
0,71
La pratique montre que plus le contingent d'abonnés au réseau sans fil dans un endroit donné est prospÚre, plus la part des appareils Apple est importante.
Unicité
Les adresses MAC sont-elles uniques ? En théorie, oui, puisque chaque fabricant d'appareils (propriétaire du bloc MA) est tenu de fournir une adresse unique pour chacune des cartes réseau qu'il produit. Cependant, certains fabricants de puces, à savoir :
- 00:0A:F5 Airgo Networks, Inc. (maintenant Qualcomm)
- 00:08:22 InPro Comm (maintenant MediaTek)
définissez les trois derniers octets de l'adresse MAC sur un nombre aléatoire, apparemment aprÚs chaque redémarrage de l'appareil. Il y avait 1 82 adresses de ce type dans mon échantillon n°XNUMX.
Vous pouvez bien sĂ»r vous dĂ©finir une adresse Ă©trangĂšre et non unique en la dĂ©finissant dĂ©libĂ©rĂ©ment « comme celle de votre voisin », en lâidentifiant avec un renifleur ou en la choisissant au hasard. Il est Ă©galement possible de dĂ©finir accidentellement une adresse non unique, par exemple en restaurant une configuration de sauvegarde d'un routeur comme Mikrotik ou OpenWrt.
Que se passera-t-il s'il y a deux appareils sur le rĂ©seau avec la mĂȘme adresse MAC ? Tout dĂ©pend de la logique de l'Ă©quipement rĂ©seau (routeur filaire, contrĂŽleur rĂ©seau sans fil). TrĂšs probablement, les deux appareils ne fonctionneront pas ou fonctionneront par intermittence. Du point de vue des normes IEEE, il est proposĂ© de rĂ©soudre la protection contre l'usurpation d'adresse MAC en utilisant, par exemple, MACsec ou 802.1X.
Que se passe-t-il si vous installez un MAC avec le septiĂšme ou le huitiĂšme bit dĂ©fini sur « 1 », c'est-Ă -dire adresse locale ou multicast ? TrĂšs probablement, votre rĂ©seau n'y prĂȘtera pas attention, mais formellement, une telle adresse ne sera pas conforme Ă la norme et il vaut mieux ne pas le faire.
Comment fonctionne la randomisation
Nous savons que pour empĂȘcher le suivi des mouvements des personnes en scannant et en collectant les ondes, les systĂšmes d'exploitation des smartphones MAC utilisent depuis plusieurs annĂ©es la technologie de randomisation. ThĂ©oriquement, lors du balayage des ondes Ă la recherche de rĂ©seaux connus, le smartphone envoie un paquet (groupe de paquets) de type requĂȘte de sonde 802.11 avec l'adresse MAC comme source :

La randomisation activée vous permet de spécifier non pas celle « assemblée », mais une autre adresse source de paquet, changeant à chaque cycle d'analyse, au fil du temps ou d'une autre maniÚre. Est-ce que ça marche? Regardons les statistiques des adresses MAC collectées depuis les airs par ce que l'on appelle le « radar Wi-Fi » :
Ăchantillon complet
Ăchantillon uniquement avec zĂ©ro 7Ăšme bit
Nombre d'enregistrements dans la base de données
3920000
305000
Numéro de bits :
% bits "1"
% bits "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 situation est complÚtement différente.
Le 8Ăšme bit du premier octet de l'adresse MAC correspond toujours Ă la nature Unicast de l'adresse SRC dans le paquet de requĂȘte de sonde.
Le 7Ăšme bit est mis Ă Local dans 92.2% des cas, soit Avec un certain degrĂ© de confiance, nous pouvons supposer quâun nombre exactement limitĂ© dâadresses collectĂ©es sont alĂ©atoires et que moins de 8 % sont rĂ©elles. Dans ce cas, la distribution des bits dans l'OUI pour de telles adresses rĂ©elles coĂŻncide approximativement avec les donnĂ©es du tableau prĂ©cĂ©dent.
Quel constructeur, selon l'OUI, possÚde les adresses aléatoires (c'est à dire avec le 7Úme bit en « 1 ») ?
Fabricant par OUI
Partager entre toutes les adresses
introuvable dans la base de données IEEE
62.45 %
Google Inc
37.54 %
ĐŸŃŃалŃĐœŃĐ”
0.01 %
De plus, toutes les adresses randomisĂ©es attribuĂ©es Ă Google appartiennent au mĂȘme OUI avec le prĂ©fixe DA:A1:19. Quel est ce prĂ©fixe ? Regardons dedans .
private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");Stock Android utilise un OUI spécial enregistré lors de la recherche de réseaux sans fil, l'un des rares avec le septiÚme bit défini.
Calculer le MAC réel à partir d'un MAC aléatoire
Voyons lĂ :
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'adresse entiÚre, ou ses trois octets inférieurs, est pure Random.nextLong()La « restauration brevetée d'un véritable MAC » est une arnaque. On peut s'attendre avec une quasi-certitude que les fabricants AndroidD'autres OUI non enregistrés sont également utilisés dans les téléphones. Nous n'avons pas accÚs au code source d'iOS, mais il est probable qu'un algorithme similaire y soit utilisé.
Ce qui prĂ©cĂšde n'annule pas le travail d'autres mĂ©canismes de dĂ©sanonymisation des abonnĂ©s Wi-Fi, basĂ©s sur l'analyse d'autres champs de la trame de requĂȘte de sonde, ou sur la corrĂ©lation de la frĂ©quence relative des requĂȘtes envoyĂ©es par l'appareil. Cependant, suivre de maniĂšre fiable un abonnĂ© Ă l'aide de moyens externes est extrĂȘmement problĂ©matique. Les donnĂ©es collectĂ©es seront plus adaptĂ©es Ă lâanalyse de la charge moyenne/crĂȘte par lieu et par heure, sur la base de grands nombres, sans rĂ©fĂ©rence Ă des appareils ou Ă des personnes spĂ©cifiques. Seuls ceux « Ă lâintĂ©rieur », les fabricants dâOS mobiles eux-mĂȘmes et les applications installĂ©es disposent de donnĂ©es prĂ©cises.
Quels sont les risques liĂ©s Ă la connaissance de l'adresse MAC de votre appareil ? Une attaque par dĂ©ni de service (DoS) peut ĂȘtre lancĂ©e sur les rĂ©seaux filaires et sans fil. Pour un appareil sans fil, sa prĂ©sence Ă proximitĂ© du capteur peut Ă©galement ĂȘtre dĂ©tectĂ©e. L'usurpation d'adresse permet de se faire passer pour votre appareil, mais cela ne fonctionnera que si des mesures de sĂ©curitĂ© supplĂ©mentaires (authentification et/ou chiffrement) ne sont pas mises en place. 99.9% Les gens d'ici n'ont rien Ă craindre.
Lâadresse MAC est plus compliquĂ©e quâil nây paraĂźt, mais plus simple quâelle ne pourrait lâĂȘtre.
Source: habr.com
