Tout ce que vous vouliez savoir sur l'adresse MAC

Tout ce que vous vouliez savoir sur l'adresse MACTout 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 IEEE ou Wireshark.

À qui appartiennent les adresses ?

Traitement facile des informations accessibles au public dĂ©chargement des bases de donnĂ©es 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 extrĂȘmement inĂ©galement rĂ©parti; 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 WNAM. 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 (Wikipedia):
Tout ce que vous vouliez savoir sur l'adresse MAC

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 :

Tout ce que vous vouliez savoir sur l'adresse MAC

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 code source Android.

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

Achetez un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Achetez un hĂ©bergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster