Alles, was Sie ĂŒber die MAC-Adresse wissen wollten

Alles, was Sie ĂŒber die MAC-Adresse wissen wolltenEs ist allgemein bekannt, dass diese sechs Bytes, die normalerweise im hexadezimalen Format angezeigt werden, der Netzwerkkarte werkseitig zugewiesen werden und auf den ersten Blick zufĂ€llig erscheinen. Einige wissen, dass die ersten drei Bytes der Adresse die Hersteller-ID sind, wĂ€hrend die anderen drei Bytes ihnen zugewiesen werden. Es ist auch bekannt, dass man sich eine beliebige Adresse zuweisen kann. Viele haben auch von "zufĂ€lligen Adressen" im Wi-Fi gehört.

Lassen Sie uns klÀren, was das ist.

Die MAC-Adresse (Media Access Control Address) ist ein einzigartiger Identifikator, der dem Netzwerkadapter zugewiesen wird. Sie wird in Netzwerken der IEEE 802-Standards verwendet, hauptsĂ€chlich Ethernet, Wi-Fi und Bluetooth. Offiziell wird sie als "EUI-48 Identifier" bezeichnet. Aus dem Namen geht hervor, dass die Adresse 48 Bit lang ist, d.h. 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). Normalerweise wird sie 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 betrachtet wurden Adressen im ROM des Netzwerkarten-Chips ohne die Möglichkeit der Modifikation ohne Flash-ProgrammiergerÀt gespeichert, aber heutzutage kann die Adresse softwareseitig aus dem Betriebssystem geÀndert werden. Man kann die MAC-Adresse der Netzwerkkarte manuell in Linux und MacOS (immer), Windows (fast immer, wenn der Treiber es zulÀsst), Android (nur gerootet) einstellen; bei iOS (ohne Root) ist ein solcher Trick nicht möglich.

Aufbau der Adresse

Die Adresse besteht aus einem Teil der Hersteller-ID, OUI, und der ID, die vom Hersteller zugewiesen wird. Die Zuweisung der OUI-Identifikatoren (Organizationally Unique Identifier) erfolgt durch die an IEEE-Organisation. TatsĂ€chlich kann ihre LĂ€nge nicht nur 3 Bytes (24 Bit) betragen, sondern auch 28 oder 36 Bit, aus denen Blöcke (MAC Address Block, MA) von Adressen der Typen Large (MA-L), Medium (MA-M) und Small (MA-S) gebildet werden. In diesem Fall betrĂ€gt die GrĂ¶ĂŸe des ausgegebenen Blocks 24, 20, 12 Bit oder 16 Millionen, 1 Million, 4.000 Adressen. Aktuell sind etwa 38.000 Blöcke verteilt, die mit zahlreichen Online-Tools eingesehen werden können, zum Beispiel bei IEEE oder Wireshark.

Wem gehören die Adressen

Eine einfache Verarbeitung der öffentlich zugĂ€nglichen DatenbankauszĂŒge von IEEE liefert eine Menge an Informationen. Zum Beispiel haben einige Organisationen viele OUI-Blöcke fĂŒr sich beansprucht. Hier sind unsere Helden:

Anbieter
Anzahl der Blöcke/EintrÀge
Anzahl der Adressen, Mio.

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 Registration 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

Fiberhome Telecommunication Technologies Co. LTD
97
1552

Xiaomi Communications Co Ltd
88
1408

Guangdong Oppo Mobile Telecommunications Corp. Ltd
82
1312

Bei Google gibt es insgesamt 40, was nicht verwunderlich ist: Sie selbst stellen nicht viele NetzwerkgerÀte her.

Die MAs werden nicht kostenlos zur VerfĂŒgung gestellt; sie können fĂŒr angemessenes Geld (ohne AbonnementgebĂŒhr) fĂŒr 3000 $, 1800 $ oder 755 $ erworben werden. Interessant ist, dass man fĂŒr zusĂ€tzlichen Geldbetrag (pro Jahr) eine "Verdeckung" der öffentlichen Informationen ĂŒber den zugewiesenen Block erwerben kann. Derzeit sind es, wie oben zu sehen, 232.

Wann werden die MAC-Adressen erschöpft sein?

Wir sind alle schon seit etwa 10 Jahren es leid, die Geschichten darĂŒber zu hören, dass "IPv4-Adressen bald ausgehen werden". Ja, es ist schon schwierig geworden, neue IPv4-Blöcke zu erhalten. Dabei ist bekannt, dass IP-Adressen Ă€ußerst ungleichmĂ€ĂŸig verteilt sind; es gibt gigantische und wenig genutzte Blöcke, die großen Unternehmen und staatlichen Einrichtungen der USA gehören, jedoch ohne große Hoffnung auf deren Umverteilung zugunsten BedĂŒrftiger. Die Verbreitung von NAT, CG-NAT und IPv6 hat das Problem des Mangels an öffentlichen Adressen weniger akut gemacht.

In einer MAC-Adresse sind 48 Bit enthalten, von denen 46 als "nĂŒtzlich" angesehen werden können (warum? lies weiter), was 246 oder 10^14 Adressen ergibt, was 2^14-mal mehr ist als der Adressraum von IPv4.
Derzeit sind etwa eine halbe Billion Adressen vergeben, was nur 0,73% des gesamten Volumens entspricht. Bis zur Erschöpfung der MAC-Adressen ist es noch sehr, sehr weit.

ZufÀlligkeit der Bits

Es kann angenommen werden, dass OUI zufĂ€llig zugewiesen werden, und der Anbieter dann ebenfalls zufĂ€llig Adressen fĂŒr individuelle NetzwerkgerĂ€te zuweist. Ist das so? Schauen wir uns die Bitverteilung in den mir vorliegenden MAC-Adressen-Datenbanken von 802.11-GerĂ€ten an, die von autorisierten Systemen in drahtlosen Netzwerken gesammelt wurden. WNAM. Die Adressen gehören zu realen GerĂ€ten, die ĂŒber mehrere Jahre hinweg in drei LĂ€ndern mit Wi-Fi verbunden waren. ZusĂ€tzlich wird eine kleine Datenbank von 802.3-GerĂ€ten in kabelgebundenen LANs bereitgestellt.

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

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

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

Bit-Nummer:
% der Bits „1“
% der Bits „1“
% der Bits „1“
% der 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.

TatsÀchlich definiert der Standard diese Bits als speziell (Wikipedia):
Alles, was Sie ĂŒber die MAC-Adresse wissen wollten

Das achte Bit (von Anfang an) des ersten Bytes der MAC-Adresse wird als Unicast/Multicast-Bit bezeichnet und bestimmt, welcher Typ von Frame mit dieser Adresse ĂŒbertragen wird, gewöhnlich (0) oder Broadcast (1) (Multicast oder Broadcast). FĂŒr gewöhnliche Unicast-Interaktionen des Netzwerkadapters wird dieses Bit in allen Paketen, die er sendet, auf „0“ gesetzt.

Das siebte Bit (von Anfang an) 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 „herstellerseitig festgelegten“ Adressen global eindeutig, daher enthĂ€lt die ĂŒberwiegende Mehrheit der gesammelten MAC-Adressen das siebte Bit auf „0“. In der Tabelle der zugewiesenen OUI-Identifikatoren hat nur etwa 130 EintrĂ€ge das U/L-Bit „1“, und anscheinend handelt es sich dabei um Blocks von MAC-Adressen fĂŒr spezielle Zwecke.

Die Bits vom sechsten bis zum ersten Byte, die Bits des zweiten und dritten Bytes in OUI-Identifikatoren und umso mehr die Bits in den 4-6 Bytes der vom Hersteller zugewiesenen Adresse sind mehr oder weniger gleichmĂ€ĂŸig verteilt.

So sind in einer echten MAC-Adresse des Netzwerkadapters die Bits tatsÀchlich gleichwertig und tragen keine technologische Bedeutung, abgesehen von den zwei Dienstbitt im höherwertigen Byte.

Verbreitung

Interessant, welche Hersteller drahtloser GerÀte sind am beliebtesten? Lassen Sie uns die Suche in der OUI-Datenbank mit den Daten aus 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 (Mobile Communications)
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 Manufactuaring
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 Gruppe der Abonnenten eines drahtlosen Netzwerks an einem bestimmten Ort ist, desto grĂ¶ĂŸer der Anteil an Apple-GerĂ€ten ist.

Einzigartigkeit

Sind MAC-Adressen einzigartig? Theoretisch ja, da jeder der GerĂ€tehersteller (Inhaber des MAC-Blocks) verpflichtet ist, eine eindeutige Adresse fĂŒr jeden seiner produzierten Netzwerkadapter bereitzustellen. Einige Hersteller von Chips, nĂ€mlich:

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

stellen die letzten drei Bytes der MAC-Adresse scheinbar nach jedem Neustart des GerÀts auf eine zufÀllige Zahl ein. In meiner Stichprobe #1 fanden sich 82.000 solcher Adressen.

Es ist natĂŒrlich möglich, sich eine fremde, nicht eindeutige Adresse durch gezielte Installation „wie beim Nachbarn“, ermittelt mit einem Sniffer, oder durch zufĂ€llige Auswahl zuzuordnen. Auch kann man versehentlich eine nicht eindeutige Adresse erhalten, zum Beispiel durch das Wiederherstellen eines Backup-Konfigurations eines Routers wie Mikrotik oder OpenWrt.

Was passiert, wenn im Netzwerk zwei GerÀte mit derselben MAC-Adresse vorhanden sind? Es hÀngt alles von der Logik der Netzwerkhardware (drahtloser Router, WLAN-Controller) ab. Höchstwahrscheinlich werden beide GerÀte entweder nicht funktionieren oder intermittierende Probleme haben. Aus Sicht der IEEE-Standards wird empfohlen, das FÀlschen von MAC-Adressen durch Technologien wie MACsec oder 802.1X zu verhindern.

Was passiert, wenn ich mir eine MAC mit dem siebten oder achten Bit auf „1“ setze, d. h. eine lokale oder Multicast-Adresse? Höchstwahrscheinlich wird Ihr Netzwerk darauf nicht reagieren, aber formell entspricht eine solche Adresse nicht dem Standard, und besser wĂ€re es, dies zu vermeiden.

Wie funktioniert die Randomisierung

Wir wissen, dass Betriebssysteme von Smartphones bereits seit mehreren Jahren die Technologie der Randomisierung anwenden, um das Verfolgen der Bewegungen von Personen durch das Scannen von Funkfrequenzen und das Sammeln von MAC-Adressen zu vermeiden. Theoretisch sendet ein Smartphone beim Scannen auf der Suche 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 wollten

Aktivierte Randomisierung ermöglicht es, nicht die „festgelegte“, sondern eine andere Quelle fĂŒr das Paket, die sich bei jedem Scan-Zyklus verĂ€ndert, anzugeben. Funktioniert das? Schauen wir uns die Statistik der gesammelten MAC-Adressen aus dem Funk, die mit dem sogenannten „Wi-Fi Radar“ erfasst wurden, an:

Die gesamte Auswahl
Auswahl nur mit null im 7. Bit

Anzahl der EintrÀge in der Datenbank
3920000
305000

Bit-Nummer:
% der Bits „1“
% der 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 ist ganz anders.

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

Das 7. Bit ist in 92,2% der FĂ€lle auf Local eingestellt, das heißt, man kann mit einer ausreichenden Sicherheit annehmen, dass genau so viele gesammelte Adressen zu den randomisierten gehören, wĂ€hrend weniger als 8% zu den realen. Dabei entspricht die Bitverteilung im OUI fĂŒr solche realen Adressen ungefĂ€hr den Daten der vorherigen Tabelle.

Welchem Hersteller gehören die randomisierten Adressen gemĂ€ĂŸ OUI (d.h. mit 7. Bit auf „1“)?

Hersteller gemĂ€ĂŸ OUI
Anteil an allen Adressen

nicht in der IEEE-Datenbank gefunden
62.45%

Google Inc.
37.54%

ĂŒbrige
0.01%

Dabei gehören alle randomisierten Adressen, die Google zugeordnet werden, zu einem OUI mit dem PrÀfix DA:A1:19. Was ist dieser PrÀfix? Schauen wir in die Quellcodes von Android.

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

Der Stock-Android sucht nach drahtlosen Netzwerken mit einem speziellen, registrierten OUI, einem der wenigen mit dem gesetzten siebten Bit.

Berechnen Sie die reale MAC aus der zufÀlligen

Schauen wir dort ebenfalls 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(). „Patentiertes Wiederherstellen der realen MAC“ – Scharlatanerie. Mit großer Wahrscheinlichkeit kann erwartet werden, dass Hersteller von Android-Telefonen auch andere, nicht registrierte OUIs verwenden. Die Quellcodes von iOS haben wir nicht, aber höchstwahrscheinlich wird dort ein Ă€hnlicher Algorithmus verwendet.

Das Vorangegangene hebt nicht die Arbeit anderer De-Anonymisierungsmechanismen fĂŒr Wi-Fi-Abonnenten auf, die auf der Analyse anderer Felder des Probe-Request-Frames oder der Korrelation der relativen HĂ€ufigkeit der vom GerĂ€t gesendeten Anfragen basieren. Es ist jedoch Ă€ußerst problematisch, einen Abonnenten mit externen Mitteln zuverlĂ€ssig zu verfolgen. Die gesammelten Daten eignen sich besser zur Analyse der durchschnittlichen/spitzen Last nach Standort und Zeit, basierend auf großen Zahlen, ohne Bezug zu bestimmten GerĂ€ten und Personen. Exakte Daten haben nur die, die „innerhalb“ sind, also die Hersteller von mobilen Betriebssystemen und installierten Anwendungen.

Was könnte gefĂ€hrlich sein daran, dass jemand anders die MAC-Adresse Ihres GerĂ€tes erfĂ€hrt? FĂŒr kabelgebundene und drahtlose Netzwerke kann ein „Denial-of-Service“-Angriff organisiert werden. FĂŒr ein drahtloses GerĂ€t kann zudem mit einer gewissen Wahrscheinlichkeit der Zeitpunkt des Auftauchens an einem Ort mit Sensor erfasst werden. Durch Adressmanipulation könnte man versuchen, sich als Ihr GerĂ€t auszugeben, was nur funktionieren kann, wenn keine zusĂ€tzlichen Schutzmittel (Authentifizierung und/oder VerschlĂŒsselung) angewendet werden. 99,9 % der Menschen mĂŒssen sich hier keine Sorgen machen.

Die MAC-Adresse ist komplizierter, als es scheint, aber einfacher, als sie sein könnte.

Quelle: habr.com

60GB SSD 8Gb DDR4