Allt du ville veta om MAC-adressen

Allt du ville veta om MAC-adressenAlla vet att dessa sex byte, vanligtvis visas i hexadecimalt format, är tilldelade nätverkskortet på fabriken och är till synes slumpmässiga. Vissa människor vet att de första tre byten av adressen är tillverkarens ID, och de återstående tre byten är tilldelade dem. Det är också känt att du kan ställa in själv godtycklig adress. Många har hört talas om "slumpmässiga adresser" i Wi-Fi.

Låt oss ta reda på vad det är.

MAC-adress (mediaåtkomstkontrolladress) är en unik identifierare som tilldelas en nätverksadapter, som används i nätverk med IEEE 802-standarder, främst Ethernet, Wi-Fi och Bluetooth. Officiellt kallas det "EUI-48-typidentifierare". Av namnet framgår att adressen är 48 bitar lång, d.v.s. 6 byte. Det finns ingen allmänt accepterad standard för att skriva en adress (till skillnad från en IPv4-adress, där oktetter alltid separeras med punkter). Det skrivs vanligtvis som sex hexadecimala tal separerade med ett kolon: 00:AB:CD:EF:11: 22, även om vissa utrustningstillverkare föredrar notationen 00 -AB-CD-EF-11-22 och till och med 00ab.cdef.1122.

Historiskt sett har adresser flashats in i ROM-minnet på nätverkskortets chipset utan möjlighet att modifiera dem utan en flash-programmerare, men nuförtiden kan adressen ändras programmatiskt från operativsystemet. Du kan manuellt ställa in MAC-adressen för ett nätverkskort i Linux och MacOS (alltid), Windows (nästan alltid, om drivrutinen tillåter), Android (endast rotat); Med iOS (utan root) är ett sådant trick omöjligt.

Adressstruktur

Adressen består av en del av tillverkarens identifierare, OUI, och en identifierare som tilldelats av tillverkaren. Tilldelning av OUI-identifierare (Organizationally Unique Identifier). занимается IEEE organisation. Faktum är att dess längd inte bara kan vara 3 byte (24 bitar), utan 28 eller 36 bitar, från vilka block (MAC Address Block, MA) av adresser av typerna Large (MA-L), Medium (MA-M) och Små bildas (MA-S) respektive. Storleken på det utfärdade blocket, i det här fallet, kommer att vara 24, 20, 12 bitar eller 16 miljoner, 1 miljon, 4 tusen adresser. Det finns för närvarande cirka 38 tusen block distribuerade, de kan ses med hjälp av många onlineverktyg, till exempel IEEE eller Wireshark.

Vem äger adresserna?

Enkel bearbetning av allmänt tillgänglig avlastning av databaser IEEE ger ganska mycket information. Till exempel har vissa organisationer tagit många OUI-block för sig själva. Här är våra hjältar:

Säljare
Antal block/poster
Antal adresser, miljoner

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 bolag
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 Bredband 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 har bara 40 av dem, och det är inte förvånande: de själva producerar inte många nätverksenheter.

MA-block tillhandahålls inte gratis, de kan köpas till ett rimligt pris (utan en prenumerationsavgift) för $3000, $1800 respektive $755. Intressant nog kan du för ytterligare pengar (per år) köpa "gömning" av offentlig information om det tilldelade blocket. Det finns nu 232 av dem, som kan ses ovan.

När tar vi slut på MAC-adresser?

Vi är alla ganska trötta på historierna som har pågått i 10 år om att "IPv4-adresser är på väg att ta slut." Ja, nya IPv4-block är inte längre lätta att få tag på. Det är känt att IP-adresser extremt ojämnt fördelat; Det finns gigantiska och underutnyttjade block som ägs av stora företag och amerikanska statliga myndigheter, men med lite hopp om att omfördela dem till de behövande. Spridningen av NAT, CG-NAT och IPv6 har gjort problemet med bristen på offentliga adresser mindre akut.

En MAC-adress har 48 bitar, varav 46 kan anses vara "användbara" (varför? läs vidare), vilket ger 246 eller 1014 adresser, vilket är 214 gånger mer än IPv4-adressutrymmet.
För närvarande har ungefär en halv biljon adresser distribuerats, eller endast 0.73 % av den totala volymen. Vi är fortfarande väldigt, väldigt långt ifrån att få slut på MAC-adresser.

Slumpmässighet bitar

Det kan antas att OUI:erna distribueras slumpmässigt, och leverantören tilldelar då även slumpmässigt adresser till enskilda nätverksenheter. Är det så? Låt oss titta på fördelningen av bitar i databaserna med MAC-adresser för 802.11-enheter till mitt förfogande, insamlade av fungerande auktoriseringssystem i trådlösa nätverk WNAM. Adresserna tillhör riktiga enheter som anslutit till Wi-Fi under flera år i tre länder. Dessutom finns det en liten databas med 802.3 trådbundna LAN-enheter.

Låt oss dela upp varje MAC-adress (sex byte) för vart och ett av samplen i bitar, byte för byte, och titta på frekvensen av förekomsten av "1"-biten i var och en av de 48 positionerna. Om biten är inställd på ett helt godtyckligt sätt, bör sannolikheten att få en "1" vara 50%.

Wi-Fi val nr 1 (RF)
Wi-Fi-exempel nr 2 (Vitryssland)
Wi-Fi-val nr 3 (Uzbekistan)
LAN-sampling (RF)

Antal poster i databasen
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%

Varför sådan orättvisa i 7 och 8 bitar? Det finns nästan alltid nollor.

Faktum är att standarden definierar dessa bitar som speciella (Wikipedia):
Allt du ville veta om MAC-adressen

Den åttonde (från början) biten av den första byten av MAC-adressen kallas Unicast/Multicast-biten och bestämmer vilken typ av ram (ram) som sänds med denna adress, vanlig (0) eller broadcast (1) (multicast eller utsända). För normal kommunikation med unicast-nätverkskort är denna bit inställd på "0" i alla paket som skickas till den.

Den sjunde (från början) biten av den första byten av MAC-adressen kallas U/L-biten (Universal/Local) och bestämmer om adressen är globalt unik (0) eller lokalt unik (1). Som standard är alla "tillverkade"-adresser globalt unika, så den stora majoriteten av insamlade MAC-adresser innehåller den sjunde biten satt till "0". I tabellen över tilldelade OUI-identifierare har endast cirka 130 poster en U/L-bit på "1", och uppenbarligen är dessa block med MAC-adresser för särskilda behov.

Från den sjätte till den första biten av den första byten, bitarna i den andra och tredje byten i OUI-identifierarna, och ännu mer så är bitarna i de 4-6 byten i adressen som tilldelats av tillverkaren fördelade mer eller mindre jämnt .

Således, i den verkliga MAC-adressen för nätverksadaptern, är bitarna faktiskt ekvivalenta och har ingen teknisk betydelse, med undantag för två tjänstebitar av den höga byten.

prevalens

Undrar du vilka tillverkare av trådlös utrustning som är mest populära? Låt oss kombinera sökningen i OUI-databasen med data från prov nr 1.

Säljare
Andel enheter, %

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 bolag
2,00

hittades inte i IEEE-databasen
1,92

Lenovo Mobile Communication Technology Ltd.
1,71

HTC Corporation
1,68

Murata tillverkning
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

Praxis visar att ju mer välmående kontingenten av trådlösa nätverksabonnenter är på en viss plats, desto större andel av Apple-enheter.

unikhet

Är MAC-adresser unika? I teorin, ja, eftersom varje enhetstillverkare (MA-blockägare) måste tillhandahålla en unik adress för var och en av nätverksadaptrarna som den producerar. Vissa chiptillverkare, nämligen:

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

ställ in de tre sista byten av MAC-adressen till ett slumpmässigt nummer, uppenbarligen efter varje omstart av enheten. Det fanns 1 tusen sådana adresser i mitt prov nr 82.

Du kan naturligtvis ange en främmande, icke-unik adress för dig själv genom att målmedvetet ställa in den "som din grannes", identifiera den med en sniffer eller välja den slumpmässigt. Det är också möjligt att av misstag ställa in en icke-unik adress till dig själv genom att till exempel återställa en backup-konfiguration av en router som Mikrotik eller OpenWrt.

Vad händer om det finns två enheter i nätverket med samma MAC-adress? Allt beror på logiken hos nätverksutrustningen (trådbunden router, trådlös nätverkskontroller). Mest troligt kommer båda enheterna antingen inte att fungera eller kommer att fungera intermittent. Ur IEEE-standardens synvinkel föreslås skydd mot MAC-adresspoofing lösas med till exempel MACsec eller 802.1X.

Vad händer om du installerar en MAC med den sjunde eller åttonde biten inställd på "1", dvs. lokal eller multicast-adress? Troligtvis kommer ditt nätverk inte att uppmärksamma detta, men formellt kommer en sådan adress inte att följa standarden, och det är bättre att inte göra det.

Hur randomisering fungerar

Vi vet att för att förhindra spårning av människors rörelser genom att skanna och samla in etervågor, har smartphone MAC-operativsystem använt randomiseringsteknik i flera år. Teoretiskt, när du skannar etervågorna på jakt efter kända nätverk, skickar smarttelefonen ett paket (grupp av paket) av typen 802.11 sondbegäran med MAC-adressen som källa:

Allt du ville veta om MAC-adressen

Aktiverad randomisering låter dig ange inte den "sammanfogade" utan någon annan paketkälladress, som ändras med varje skanningscykel, över tid eller på annat sätt. Fungerar det? Låt oss titta på statistiken över MAC-adresser som samlats in från luften av den så kallade "Wi-Fi-radarn":

Hela provet
Sampla endast med noll 7:e bit

Antal poster i databasen
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%

Bilden är en helt annan.

Den 8:e biten av den första byten av MAC-adressen motsvarar fortfarande Unicast-naturen för SRC-adressen i sondbegäranspaketet.

Den 7:e biten är satt till Lokal i 92.2 % av fallen, dvs. Med en rimlig grad av tillförsikt kan vi anta att exakt så många av de insamlade adresserna är randomiserade, och mindre än 8% är verkliga. I detta fall sammanfaller fördelningen av bitar i OUI för sådana reella adresser ungefär med data i föregående tabell.

Vilken tillverkare, enligt OUI, äger de randomiserade adresserna (dvs med den 7:e biten i "1")?

Tillverkare av OUI
Dela bland alla adresser

hittades inte i IEEE-databasen
62.45%

Google Inc.
37.54%

resten
0.01%

Dessutom tillhör alla randomiserade adresser som tilldelats Google samma OUI med prefixet DA:A1:19. Vad är detta prefix? Låt oss titta in Android-källor.

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

Stock Android använder en speciell, registrerad OUI när du söker efter trådlösa nätverk, en av få med den sjunde biten.

Beräkna riktig MAC från slumpmässig en

Låt oss se där:

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

Hela adressen, eller dess nedre tre byte, är ren Random.nextLong(). "Proprietär återställning av riktig MAC" är en bluff. Med en hög grad av tillförsikt kan vi förvänta oss att Android-telefontillverkare använder andra, oregistrerade OUI. Vi har inte iOS-källkoden, men troligtvis används en liknande algoritm där.

Ovanstående avbryter inte arbetet med andra mekanismer för avanonymisering av Wi-Fi-abonnenter, baserat på analysen av andra fält i sökbegäransramen, eller korrelationen av den relativa frekvensen av förfrågningar som skickas av enheten. Att spåra en abonnent på ett tillförlitligt sätt med hjälp av externa medel är dock extremt problematiskt. Data som samlas in kommer att vara mer lämpade för att analysera medel-/topplast efter plats och tid, baserat på stora antal, utan hänvisning till specifika enheter och personer. Endast de "inuti", tillverkarna av mobiloperativsystem själva och installerade applikationer har korrekta data.

Vad kan vara farligt med att någon annan känner till din enhets MAC-adress? Denial of service-attacker kan startas för trådbundna och trådlösa nätverk. För en trådlös enhet är det dessutom med viss sannolikhet möjligt att registrera ögonblicket för dess utseende på den plats där sensorn är installerad. Genom att spoofa adressen kan du försöka "låtsas" att du är din enhet, vilket bara kan fungera om inga ytterligare säkerhetsåtgärder används (auktorisering och/eller kryptering). 99.9 % av människorna här har inget att oroa sig för.

MAC-adressen är mer komplicerad än den verkar, men enklare än den skulle kunna vara.

Källa: will.com

Lägg en kommentar