Alles, was Sie über die MAC-Adresse wissen möchten.

Alles, was Sie über die MAC-Adresse wissen möchten.Es ist allgemein bekannt, dass diese sechs Bytes, die normalerweise in hexadezimaler Form angezeigt werden, bei der Herstellung der Netzwerkkarte zugewiesen werden und auf den ersten Blick willkürlich erscheinen. Einige wissen, dass die ersten drei Bytes der Adresse die Herstellerkennung sind, während die anderen drei zugewiesen werden. Es ist auch bekannt, dass man sich eine beliebige Adresse zuweisen kann. Viele haben auch von „zufälligen Adressen“ bei Wi-Fi gehört.

Lassen Sie uns klären, was das ist.

Die MAC-Adresse (Media Access Control Address) ist ein einzigartiger Identifikator, der einem Netzwerkadapter zugewiesen wird und in Netzwerken nach IEEE 802, hauptsächlich Ethernet, Wi-Fi und Bluetooth, verwendet wird. Offiziell wird sie als „EUI-48 Identifikator“ bezeichnet. Aus dem Namen geht hervor, dass die Adresse eine Länge von 48 Bit hat, also 6 Bytes. Es gibt keinen allgemein anerkannten Standard für die Schreibweise der Adresse (im Gegensatz zur IPv4-Adresse, bei der die Oktette immer durch Punkte getrennt sind). Sie wird normalerweise als sechs hexadezimale Zahlen geschrieben, die durch Doppelpunkte getrennt sind: 00:AB:CD:EF:11:22, obwohl einige Hardwarehersteller die Schreibweise 00-AB-CD-EF-11-22 oder sogar 00ab.cdef.1122 bevorzugen.

Historisch wurden Adressen im ROM des Netzwerkkarten-Chips ohne Möglichkeit zur Modifikation ohne einen Flash-Programmierer gespeichert, jedoch kann die Adresse heutzutage softwaremäßig über das Betriebssystem geändert werden. Den MAC-Adresse einer Netzwerkkarte manuell einstellen können Sie unter Linux und MacOS (immer), Windows (fast immer, wenn es der Treiber zulässt), Android (nur gerootet); ein ähnlicher Trick ist bei iOS (ohne Root) nicht möglich.

Aufbau der Adresse

Die Adresse besteht aus einem Teil der Hersteller-ID, OUI, und einer ID, die vom Hersteller zugewiesen wird. Die Zweckbestimmung der OUI-Identifikatoren (Organizationally Unique Identifier) wird betrieben von wird von der IEEE-Organisation verwaltet. Tatsächlich kann dessen Länge nicht nur 3 Bytes (24 Bit), sondern auch 28 oder 36 Bit betragen, aus denen die Blöcke (MAC Address Block, MAB) für die Typen Large (MA-L), Medium (MA-M) und Small (MA-S) gebildet werden. In diesem Fall beträgt die Größe des ausgegebenen Blocks jeweils 24, 20, 12 Bit oder 16 Millionen, 1 Million, 4 Tausend Adressen. Derzeit sind etwa 38.000 Blöcke verteilt, die man mit zahlreichen Online-Tools, zum Beispiel bei IEEE oder Wireshark.

Zu wem gehören die Adressen

Einfaches Abrufen von öffentlich zugänglichen Datenbank-Extrakten IEEE bietet eine Fülle von Informationen. Zum Beispiel haben einige Organisationen viele OUI-Blöcke in Besitz genommen. Hier sind unsere Helden:

Anbieter
Anzahl der Blöcke/Einträge
Anzahl der Adressen, in Millionen

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

Privat
232
2704

Texas Instruments
212
3392

zte corporation
198
3168

IEEE Registrierungsbehörde
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 hat insgesamt nur 40, was nicht überraschend ist, da sie selbst nicht viele Netzwerkgeräte herstellen.

MA-Blöcke werden nicht kostenlos bereitgestellt, sie können für vernünftige Preise (ohne Abonnementgebühren) für 3000 $, 1800 $ oder 755 $ erworben werden. Interessanterweise kann man gegen eine zusätzliche Jahresgebühr die 'Verbergung' öffentlicher Informationen über einen zugewiesenen Block erwerben. Derzeit gibt es, wie oben zu sehen ist, 232 solcher Blöcke.

Wann enden die MAC-Adressen

Wir sind alle ziemlich müde von den immer wiederkehrenden Geschichten seit etwa 10 Jahren, dass 'IPv4-Adressen bald erschöpft sein werden'. Ja, es ist inzwischen schwierig, neue IPv4-Blöcke zu erhalten. Gleichzeitig ist bekannt, dass IP-Adressen extrem ungleichmäßig verteilt sind.; es gibt riesige und wenig genutzte Blöcke, die großen Unternehmen und staatlichen Institutionen in den USA gehören, jedoch ohne besondere Hoffnung auf deren Umverteilung zugunsten der Bedürftigen. Die Verbreitung von NAT, CG-NAT und IPv6 hat das Problem des Mangels an öffentlichen Adressen weniger dringlich gemacht.

Die MAC-Adresse hat 48 Bit, von denen man 46 als „nützlich“ betrachten kann (warum? Lies weiter), was 246 oder 1014 Adressen ergibt, also 214 Mal mehr als der IPv4-Adressraum.
Momentan sind etwa eine halbe Billion Adressen verteilt, was nur 0,73 % des gesamten Volumens ausmacht. Bis zur Erschöpfung der MAC-Adressen ist es noch ein sehr langer Weg.

Zufälligkeit der Bits

Es könnte angenommen werden, dass die OUIs zufällig verteilt sind und der Anbieter dann ebenfalls zufällig Adressen für einzelne Netzgeräte vergibt. Stimmt das? Lassen Sie uns die Verteilung der Bits in den verfügbaren MAC-Adressen-Datenbanken von 802.11-Geräten betrachten, die von aktivierenden Authentifizierungssystemen in Drahtlosnetzwerken gesammelt wurden. WNAM. Die Adressen gehören zu echten Geräten, die über mehrere Jahre hinweg in drei Ländern mit Wi-Fi verbunden waren. Zusätzlich gibt es eine kleine Datenbank von 802.3-Geräten aus drahtgebundenen LANs.

Wir zerlegen jede MAC-Adresse (sechs Bytes) jeder Stichprobe in Bits und betrachten die Häufigkeit des Auftretens des Bits „1“ an jeder der 48 Positionen. Wenn das Bit völlig zufällig gesetzt ist, sollte die Wahrscheinlichkeit, eine „1“ zu erhalten, bei 50 % liegen.

WLAN-Stichprobe Nr. 1 (RF)
WLAN-Stichprobe Nr. 2 (Weißrussland)
WLAN-Stichprobe Nr. 3 (Usbekistan)
LAN-Stichprobe (RF)

Anzahl der Einträge in der Datenbank
5929000
1274000
366000
1000

Bit-Nummer:
% 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%

Woher kommt diese Ungerechtigkeit in den Bits 7 und 8? Dort sind fast immer Nullen.

In der Tat definiert der Standard diese Bits als speziell (Wikipedia):
Alles, was Sie über die MAC-Adresse wissen möchten.

Das achte (von Anfang an) Bit des ersten Bytes der MAC-Adresse wird als Unicast/Multicast-Bit bezeichnet und bestimmt, um welchen Typ von Rahmen (Frame) es sich bei dieser Adresse handelt: gewöhnlich (0) oder Broadcast (1) (Multicast oder Broadcast). Für die gewöhnliche Unicast-Interaktion des Netzwerkadapters wird dieses Bit in allen gesendeten Paketen auf „0“ gesetzt.

Das siebte Bit des ersten Bytes der MAC-Adresse wird als U/L (Universal/Local) Bit bezeichnet und bestimmt, ob die Adresse global eindeutig (0) oder lokal eindeutig (1) ist. Standardmäßig sind alle 'werksseitig einprogrammierten' Adressen global eindeutig, weshalb der überwiegende Teil der registrierten MAC-Adressen das siebte Bit auf '0' gesetzt hat. In der Tabelle der zugewiesenen OUI-Identifikatoren haben nur etwa 130 Einträge das U/L-Bit auf '1', und offensichtlich handelt es sich dabei um MAC-Adressblöcke für spezielle Zwecke.

Die Bits von sechs bis eins des ersten Bytes, sowie die Bits des zweiten und dritten Bytes in den OUI-Identifikatoren, und selbst die Bits in den Bytes 4 bis 6, die vom Hersteller zugewiesen werden, sind mehr oder weniger gleichmäßig verteilt.

Somit sind in einer echten MAC-Adresse eines Netzwerkadapters die Bits tatsächlich gleichwertig und tragen keine technische Bedeutung, abgesehen von den beiden Steuerbits im höchsten Byte.

Verbreitung

Interessant, welche Hersteller von drahtloser Hardware am beliebtesten sind? Lassen Sie uns die Suche in der OUI-Datenbank mit den Daten der Stichprobe Nr. 1 kombinieren.

Anbieter
Anteil der Geräte, %

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 (Mobilkommunikation)
2,76

ASUSTek COMPUTER INC.
2,58

TCT mobile ltd
2,13

zte corporation
2,00

nicht in der IEEE-Datenbank gefunden
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

Shanghai Wind Technologies Co. Ltd
0,74

Lenovo Mobile Communication (Wuhan) Company Limited
0,71

Die Praxis zeigt, dass je wohlhabender die Benutzergruppe in einem bestimmten Gebiet ist, desto höher ist der Anteil an Apple-Geräten.

Einzigartigkeit

Sind MAC-Adressen einzigartig? Theoretisch ja, da jeder Hersteller von Geräten (Besitzer des MAC-Blockes) verpflichtet ist, eine einzigartige Adresse für jeden von ihm produzierten Netzwerkadapter bereitzustellen. Allerdings gibt es einige Chip-Hersteller, und zwar:

  • 00:0A:F5 Airgo Networks, Inc. (jetzt Qualcomm)
  • 00:08:22 InPro Comm (jetzt MediaTek)

setzen die letzten drei Bytes der MAC-Adresse auf eine zufällige Zahl, offenbar nach jedem Neustart des Geräts. In meiner Stichprobe Nr. 1 gab es 82.000 solcher Adressen.

Es ist natürlich möglich, sich eine fremde, nicht einzigartige Adresse zuzuweisen, indem man sie gezielt "wie der Nachbar" einstellt, sie mit einem Sniffer ermittelt oder zufällig auswählt. Es ist auch möglich, versehentlich eine nicht einzigartige Adresse zu verwenden, beispielsweise durch die Wiederherstellung eines Backups der Konfiguration eines Routers wie Mikrotik oder OpenWrt.

Was passiert, wenn im Netzwerk zwei Geräte mit derselben MAC-Adresse vorhanden sind? Das hängt von der Logik der Netzwerkausrüstung ab (z.B. Kabelrouter oder WLAN-Controller). Wahrscheinlich werden beide Geräte entweder nicht funktionieren oder nur intermittierend arbeiten. Nach den IEEE-Standards wird vorgeschlagen, die MAC-Adressen-Spoofing-Problematik mit Techniken wie MACsec oder 802.1X zu lösen.

Was passiert, wenn Sie sich eine MAC-Adresse mit dem siebten oder achten Bit, das auf "1" gesetzt ist, d.h. eine lokale oder Multicast-Adresse, zuweisen? Ihre Netzwerkumgebung wird wahrscheinlich nicht darauf achten, aber formell entspricht eine solche Adresse nicht dem Standard, daher ist es besser, dies zu vermeiden.

Wie funktioniert die Randomisierung?

Wir wissen, dass Smartphone-Betriebssysteme seit mehreren Jahren die Technik der Randomisierung einsetzen, um die Verfolgung von Personen durch das Scannen von Funksignalen und das Sammeln von MAC-Adressen zu verhindern. Theoretisch sendet ein Smartphone beim Scannen nach bekannten Netzwerken ein Paket (eine Gruppe von Paketen) vom Typ 802.11 Probe Request mit der MAC-Adresse als Quelle:

Alles, was Sie über die MAC-Adresse wissen möchten.

Die aktivierte Randomisierung erlaubt es, nicht die „verbrannte“ Adresse, sondern eine andere Quelladresse des Pakets zu verwenden, die sich bei jedem Scanzyklus, zeitlich oder auf andere Weise ändert. Funktioniert das? Betrachten wir die Statistiken der gesammelten MAC-Adressen aus dem Funk, die sogenannte „Wi-Fi Radar“:

Die gesamte Stichprobe
Stichprobe nur mit dem nullten 7-Bit

Anzahl der Einträge in der Datenbank
3920000
305000

Bit-Nummer:
% 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%

Das Bild sieht ganz anders aus.

Das 8. Bit des ersten Bytes der MAC-Adresse entspricht nach wie vor der Unicast-Natur der SRC-Adresse im Probe Request-Paket.

In 92,2 % der Fälle ist das 7. Bit auf Local gesetzt, d.h. mit ausreichender Sicherheit kann angenommen werden, dass so viele gesammelte Adressen randomisiert sind, während weniger als 8 % real sind. Dabei entspricht die Verteilung der Bits im OUI für diese realen Adressen ungefähr den Daten der vorherigen Tabelle.

Welchem Hersteller gehören die randomisierten Adressen (d.h. mit dem 7. Bit auf '1') laut OUI?

Hersteller laut OUI
Anteil aller Adressen

nicht in der IEEE-Datenbank gefunden
62.45%

Google Inc.
37.54%

andere
0.01%

Alle randomisierten Adressen, die Google zugeordnet sind, gehören zu einem OUI mit dem Präfix DA:A1:19. Was ist dieses Präfix? Schauen wir uns die Android-Quellcodes.

private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");

Der stock Android verwendet beim Scannen nach WLANs einen speziellen, registrierten OUI, einer der wenigen mit gesetztem siebten Bit.

Berechne die echte MAC aus der randomisierten

Schauen wir auch dort nach:

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;
    }

Die Adresse insgesamt oder ihre letzten drei Bytes sind rein Random.nextLong(). „Patentierte Wiederherstellung der echten MAC“ – ist ein Betrug. Mit hoher Wahrscheinlichkeit kann man davon ausgehen, dass die Hersteller von Android-Telefonen auch andere, nicht registrierte OUIs verwenden. Wir haben keine iOS-Quellcodes, aber wahrscheinlich wird dort ein ähnlicher Algorithmus verwendet.

Das Vorhergehende hebt die Funktion anderer Mechanismen zur De-Anonymisierung von Wi-Fi-Nutzern nicht auf, die auf der Analyse anderer Felder im Probe-Request-Frame basieren oder auf der Korrelation der relativen Frequenz der vom Gerät gesendeten Anfragen. Allerdings ist es äußerst schwierig, einen Nutzer mit externen Mitteln zuverlässig nachzuvollziehen. Die gesammelten Daten sind eher für die Analyse der durchschnittlichen/spitzen Auslastung nach Standort und Zeit geeignet, basierend auf großen Zahlen, ohne Bezug auf bestimmte Geräte und Personen. Echte Daten haben nur die, die „innen“ sind, also die Hersteller von mobilen Betriebssystemen und die installierten Anwendungen.

Was kann gefährlich sein daran, dass jemand die MAC-Adresse Ihres Geräts kennt? Für kabelgebundene und drahtlose Netzwerke können Angriffe wie Denial-of-Service organisiert werden. Bei einem drahtlosen Gerät besteht zudem die Möglichkeit, den Zeitpunkt zu erfassen, an dem das Gerät an einem Sensorort registriert wird. Durch Adressmanipulation könnte versucht werden, sich als Ihr Gerät auszugeben, was jedoch nur funktioniert, wenn keine zusätzlichen Sicherheitsmaßnahmen (Autorisation und/oder Verschlüsselung) angewendet werden. 99,9 % der Menschen müssen sich hier keine Sorgen machen.

Die MAC-Adresse ist komplexer als sie scheint, aber einfacher, als man denken könnte.

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster