Alles, was Sie über die MAC-Adresse wissen wollten

Alles, was Sie über die MAC-Adresse wissen wolltenJeder weiß, dass diese sechs Bytes, die normalerweise im Hexadezimalformat angezeigt werden, der Netzwerkkarte werkseitig zugewiesen werden und auf den ersten Blick zufällig sind. Manche Leute wissen, dass die ersten drei Bytes der Adresse die Hersteller-ID sind und die restlichen drei Bytes ihnen zugewiesen sind. Es ist auch bekannt, dass Sie sich selbst einstellen können beliebig Adresse. Viele haben von „zufälligen Adressen“ im WLAN gehört.

Lassen Sie uns herausfinden, was es ist.

Die MAC-Adresse (Media Access Control Address) ist eine eindeutige Kennung, die einem Netzwerkadapter zugewiesen wird und in Netzwerken nach IEEE 802-Standard, hauptsächlich Ethernet, Wi-Fi und Bluetooth, verwendet wird. Offiziell heißt es „EUI-48-Typkennung“. Aus dem Namen ist ersichtlich, dass die Adresse 48 Bit lang ist, also 6 Bytes. Es gibt keinen allgemein akzeptierten Standard zum Schreiben der Adresse (im Gegensatz zu einer IPv4-Adresse, bei der Oktette immer durch Punkte getrennt sind). Es wird normalerweise als sechs durch Doppelpunkte getrennte Hexadezimalzahlen geschrieben: 00:AB:CD:EF:11:22, obwohl einige Gerätehersteller Notationen wie 00-AB-CD-EF-11-22 oder sogar 00ab.cdef.1122 bevorzugen.

Исторически адреса прошивались в ПЗУ чипсета сетевой карты без возможности их модификации без флеш-программатора, но в настоящее время адрес может быть изменен программно, из операционной системы. Задать вручную МАС адрес сетевой карте можно в Linux и MacOS (всегда), Windows (почти всегда, если позволит драйвер), Android (только рутованный); с iOS (без рута) подобный трюк невозможен.

Adressstruktur

Die Adresse besteht aus einem Herstellerkennungsteil (OUI) und einer vom Hersteller zugewiesenen Kennung. Vergabe von OUI (Organizationally Unique Identifier)-Kennungen Занимается IEEE-Organisation. Tatsächlich kann seine Länge nicht nur 3 Bytes (24 Bits) betragen, sondern 28 oder 36 Bits, aus denen jeweils Blöcke (MAC Address Block, MA) von Adressen des Typs Large (MA-L), Medium (MA-M) und Small (MA-S) gebildet werden. Die Größe des ausgegebenen Blocks beträgt in diesem Fall 24, 20, 12 Bit oder 16 Millionen, 1 Million, 4 Tausend Adressen. Derzeit sind etwa 38 Blöcke verteilt, diese können über zahlreiche Online-Tools eingesehen werden, zum Beispiel unter IEEE oder Wireshark.

Wem gehören die Adressen?

Einfache Verarbeitung öffentlich verfügbarer Entladen von Datenbanken IEEE stellt eine ganze Menge Informationen zur Verfügung. Beispielsweise haben einige Organisationen viele OUI-Blöcke für sich beansprucht. Hier sind unsere Helden:

Verkäufer
Anzahl der Blöcke/Datensätze
Anzahl der Adressen, 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

Privatperson
232
2704

Texas Instruments
212
3392

ZTE Corporation
198
3168

IEEE-Registrierungsstelle
194
3072

Hewlett Packard
149
2384

Hon Hai Präzision
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 verfügt nur über 40 davon, was nicht überraschend ist: Das Unternehmen stellt selbst nicht viele Netzwerkgeräte her.

MA-Blöcke werden nicht kostenlos zur Verfügung gestellt, sie können zu angemessenen Preisen (ohne Abonnementgebühren) für 3000 $, 1800 $ bzw. 755 $ erworben werden. Interessanterweise können Sie gegen zusätzliches Geld (pro Jahr) das „Verbergen“ öffentlicher Informationen über den zugewiesenen Block erwerben. Davon gibt es derzeit 232, wie oben zu sehen ist.

Wenn die MAC-Adressen ausgehen

Wir haben alle die seit zehn Jahren kursierenden Geschichten satt, dass „die IPv10-Adressen bald ausgehen“. Ja, neue IPv4-Blöcke sind nicht mehr so ​​leicht zu bekommen. Es ist bekannt, dass IP-Adressen extrem ungleich verteilt; Es gibt riesige und nicht ausreichend genutzte Blöcke im Besitz großer Unternehmen und US-Regierungsbehörden, und es besteht kaum Hoffnung, sie an Bedürftige umzuverteilen. Durch die Verbreitung von NAT, CG-NAT und IPv6 ist das Problem des Mangels an öffentlichen Adressen weniger akut geworden.

Die MAC-Adresse hat 48 Bit, von denen 46 als „nützlich“ angesehen werden können (warum? Lesen Sie weiter), was 246 oder 1014 Adressen ergibt, also 214-mal mehr als der IPv4-Adressraum.
Aktuell sind rund eine halbe Billion Adressen verteilt, also lediglich 0.73 % des Gesamtvolumens. Bis die MAC-Adressen erschöpft sind, ist es noch ein langer, langer Weg.

Zufälligkeit der Bits

Es ist davon auszugehen, dass die OUIs zufällig verteilt werden und der Anbieter den einzelnen Netzwerkgeräten dann auch zufällig Adressen zuweist. Ist das wahr? Schauen wir uns die Bitverteilung in den MAC-Adressdatenbanken der mir zur Verfügung stehenden 802.11-Geräte an, die von funktionierenden Autorisierungssystemen in drahtlosen Netzwerken gesammelt wurden WNAM. Die Adressen gehören zu echten Geräten, die über mehrere Jahre in drei Ländern mit WLAN verbunden waren. Darüber hinaus gibt es eine kleine Datenbank mit kabelgebundenen 802.3-LAN-Geräten.

Lassen Sie uns jede MAC-Adresse (sechs Bytes) jeder Probe Byte für Byte in Bits zerlegen und die Häufigkeit des Auftretens des Bits „1“ an jeder der 48 Positionen betrachten. Wenn das Bit völlig zufällig gesetzt wird, sollte die Wahrscheinlichkeit, eine „1“ zu erhalten, 50 % betragen.

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

Anzahl der Datensätze in der Datenbank
5929000
1274000
366000
1000

Bitnummer:
% 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%

Woher kommt diese Ungerechtigkeit bei 7 und 8 Bit? Da stehen fast immer Nullen drin.

Tatsächlich definiert der Standard diese Bits als spezielle (Wikipedia):
Alles, was Sie über die MAC-Adresse wissen wollten

Das achte (vom Anfang) Bit des ersten Bytes der MAC-Adresse wird als Unicast/Multicast-Bit bezeichnet und bestimmt, welche Art von Frame mit dieser Adresse übertragen wird, normal (0) oder Broadcast (1) (Multicast oder Broadcast). Bei der normalen Unicast-Kommunikation des Netzwerkadapters ist dieses Bit in allen von ihm gesendeten Paketen auf „0“ gesetzt.

Das siebte (vom Anfang) Bit des ersten Bytes der MAC-Adresse wird als U/L-Bit (Universal/Local) bezeichnet und bestimmt, ob die Adresse global eindeutig (0) oder lokal eindeutig (1) ist. Standardmäßig sind alle „vom Hersteller programmierten“ Adressen global eindeutig, sodass bei der überwiegenden Mehrheit der erfassten MAC-Adressen das siebte Bit auf „0“ gesetzt ist. In der OUI-Tabelle mit zugewiesenen Kennungen ist das U/L-Bit bei nur etwa 130 Einträgen auf „1“ gesetzt, und dabei handelt es sich offenbar um spezielle MAC-Adressblöcke.

Das sechste bis erste Bit des ersten Bytes, das zweite und dritte Byte der OUI-Kennung und insbesondere die Bits im vierten bis sechsten Byte der vom Hersteller vergebenen Adresse sind mehr oder weniger gleichmäßig verteilt.

Somit sind die Bits in der realen MAC-Adresse des Netzwerkadapters tatsächlich gleichwertig und haben, mit Ausnahme von zwei Servicebits des höchstwertigen Bytes, keine technologische Bedeutung.

Prävalenz

Ich frage mich, welche Hersteller von drahtlosen Geräten am beliebtesten sind? Kombinieren wir die Suche in der OUI-Datenbank mit den Daten aus Beispiel Nr. 1.

Verkäufer
Anteil der Geräte, %

Apple
26,09

Samsung
19,79

Huawei Technologies Co. GmbH
7,80

Xiaomi Communications Co Ltd
6,83

sony mobilkommunikation inc
3,29

LG Electronics (Mobilfunk)
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 Erfahrung zeigt: Je wohlhabender die Zahl der Mobilfunkteilnehmer an einem bestimmten Ort ist, desto größer ist der Anteil von Apple-Geräten.

Уникальность

Sind MAC-Adressen eindeutig? Theoretisch ja, da jeder Gerätehersteller (Besitzer des MA-Blocks) verpflichtet ist, für jeden von ihm produzierten Netzwerkadapter eine eindeutige Adresse anzugeben. Einige Chiphersteller, nämlich:

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

Setzen Sie die letzten drei Bytes der MAC-Adresse auf eine Zufallszahl, anscheinend nach jedem Neustart des Geräts. In meiner Stichprobe Nr. 1 gab es 82 solcher Adressen.

Sie können sich natürlich eine fremde, nicht eindeutige Adresse zuweisen, indem Sie sie bewusst „wie die Ihres Nachbarn“ festlegen, sie mit einem Sniffer identifizieren oder sie nach dem Zufallsprinzip auswählen. Es ist auch möglich, dass Sie versehentlich eine nicht eindeutige Adresse für sich selbst festlegen, beispielsweise durch die Wiederherstellung einer Sicherungskopie der Konfiguration eines Routers wie Mikrotik oder OpenWrt.

Was passiert, wenn sich im Netzwerk zwei Geräte mit derselben MAC-Adresse befinden? Es hängt alles von der Logik der Netzwerkausrüstung ab (kabelgebundener Router, drahtloser Netzwerkcontroller). Höchstwahrscheinlich funktionieren beide Geräte entweder nicht oder nur zeitweise. Aus Sicht der IEEE-Standards wird vorgeschlagen, den Schutz vor MAC-Adressfälschung beispielsweise mit MACsec oder 802.1X zu lösen.

Was wäre, wenn Sie sich eine MAC-Adresse einrichten würden, bei der das siebte oder achte Bit auf „1“ gesetzt ist, also eine lokale oder Multicast-Adresse? Höchstwahrscheinlich wird Ihr Netzwerk dies nicht bemerken, aber formal entspricht eine solche Adresse nicht dem Standard und es ist besser, dies nicht zu tun.

So funktioniert die Randomisierung

Wir wissen, dass Smartphone-Betriebssysteme seit mehreren Jahren Zufallstechnologie verwenden, um die Verfolgung von Personenbewegungen durch das Scannen der Funkwellen und das Sammeln von MAC-Adressen zu verhindern. Theoretisch sendet ein Smartphone beim Scannen der Funkwellen nach bekannten Netzwerken ein Paket (oder eine Gruppe von Paketen) des 802.11-Probeanforderungstyps mit einer MAC-Adresse als Quelle:

Alles, was Sie über die MAC-Adresse wissen wollten

Durch die aktivierte Randomisierung können Sie keine „fest codierte“ Adresse angeben, sondern eine andere Adresse der Paketquelle, die sich mit jedem Scanzyklus, im Laufe der Zeit oder auf andere Weise ändert. Funktioniert es? Schauen wir uns die Statistiken der MAC-Adressen an, die vom sogenannten „Wi-Fi-Radar“ aus der Luft erfasst wurden:

Die gesamte Probe
Auswahl mit nur Null 7. Bit

Anzahl der Datensätze in der Datenbank
3920000
305000

Bitnummer:
% 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%

Das Bild ist völlig 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 steht in 92.2 % der Fälle auf „Lokal“, d. h. es kann mit ziemlicher Sicherheit davon ausgegangen werden, dass genau so viele der gesammelten Adressen randomisiert sind und weniger als 8 % echt sind. Darüber hinaus stimmt die Bitverteilung in der OUI für solche realen Adressen ungefähr mit den Daten in der vorherigen Tabelle überein.

Welcher Hersteller besitzt laut OUI randomisierte Adressen (d. h. mit dem 7. Bit auf „1“ gesetzt)?

Hersteller von OUI
Teilen unter allen Adressen

nicht in der IEEE-Datenbank gefunden
62.45%

Google Inc.
37.54%

andere
0.01%

In diesem Fall gehören alle zufällig ausgewählten Adressen, die Google zugewiesen wurden, zu einer OUI mit dem Präfix DA:A1:19. Was ist dieses Präfix? Werfen wir einen Blick auf Quellen Android.

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

Stock Android verwendet eine spezielle, registrierte OUI zur Suche nach drahtlosen Netzwerken, eines der wenigen mit installiertem siebten Bit.

Berechnen Sie den tatsächlichen MAC aus dem zufälligen

Schauen wir mal 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 gesamte Adresse oder ihre unteren drei Bytes sind sauber Random.nextLong(). «Патентованное восстановление реального МАС» — надувательство. С большой долей уверенности можно ожидать, что производители Android-телефонов применяют и другие, не зарегистрированные OUI. Исходников iOS у нас нет, но скорее всего там применен схожий алгоритм.

Das oben Genannte schließt die Funktionsweise anderer Mechanismen zur Deanonymisierung von Wi-Fi-Teilnehmern nicht aus, die auf der Analyse anderer Felder des Probe-Anforderungsrahmens oder der Korrelation der relativen Häufigkeit der vom Gerät gesendeten Anforderungen basieren. Allerdings ist es äußerst schwierig, einen Abonnenten mit externen Mitteln zuverlässig zu verfolgen. Die gesammelten Daten eignen sich besser für die Analyse der Durchschnitts-/Spitzenlast nach Standort und Zeit, basierend auf großen Zahlen, ohne an bestimmte Geräte und Personen gebunden zu sein. Nur diejenigen „im Inneren“ verfügen über genaue Daten: die Hersteller mobiler Betriebssysteme selbst und die installierten Anwendungen.

Что может быть опасного в том, что кто-то другой узнает МАС-адрес вашего устройства? Для проводных и беспроводных сетей можно организовать атаку «отказ в обслуживании». Для беспроводного устройства, к тому же, с некоторой вероятностью можно зафиксировать момент появления в месте, где установлен сенсор. Подменой адреса можно попробовать «представиться» вашим устройством, что может сработать, только если не применяется дополнительных средств защиты (авторизация и/или шифрование). 99.9% людей здесь не о чем волноваться.

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

Source: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz und VPS-VDS-Servern 🔥 Kaufen Sie zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster