Všetko, čo ste chceli vedieť o MAC adrese

Všetko, čo ste chceli vedieť o MAC adreseJe známe, že týchto šesť bajtov, zvyčajne zobrazených v hexadecimálnom formáte, bolo pridelených sieťovej karte vo výrobnom procese a na prvý pohľad sa zdajú byť náhodné. Niektorí vedia, že prvé tri bajty adresy sú identifikátorom výrobcu, zatiaľ čo ostatné tri bajty sú priradené jemu. Je tiež známe, že si môžete nastaviť náhodnú adresu. Mnohí počuli aj o „náhodných adresách“ vo Wi-Fi.

Poďme si vysvetliť, čo to je.

MAC adresa (media access control address) – jedinečný identifikátor pridelený sieťovému adaptéra, ktorý sa používa v sieťach štandardov IEEE 802, najmä Ethernet, Wi-Fi a Bluetooth. Oficiálne sa nazýva „identifikátor typu EUI-48“. Z názvu je jasné, že adresa má dĺžku 48 bitov, t.j. 6 bajtov. Neexistuje všeobecne uznávaný štandard na zápis adresy (na rozdiel od IPv4 adresy, kde sú oktety vždy oddelené bodkami). Zvyčajne je zapísaná ako šesť hexadecimálnych čísel oddelených dvojbodkami: 00:AB:CD:EF:11:22, aj keď niektorí výrobcovia hardvéru preferujú zápis vo forme 00-AB-CD-EF-11-22 alebo dokonca 00ab.cdef.1122.

Historicky boli adresy naprogramované v EEPROM čipsetu sieťovej karty a nebolo možné ich modifikovať bez flash programátora, ale v súčasnosti je možné adresu zmeniť softvérovo, z operačného systému. Manuálne nastavenie MAC adresy na sieťovej karte je možné na Linuxe a MacOS (vždy), Windows (takmer vždy, ak to umožní ovládač), Android (iba rootovaná); s iOS (bez rootovania) nie je taký trik možný.

Štruktúra adresy

Adresa pozostáva z časti identifikátora výrobcu, OUI, a identifikátora prideleného výrobcom. Účel OUI (Organizationally Unique Identifier) identifikátorov sa zaoberá organizáciou IEEE. V skutočnosti môže byť jeho dĺžka nielen 3 bajty (24 bitov), ale aj 28 alebo 36 bitov, z ktorých sa vytvárajú bloky (MAC Address Block, MAB) adries typov Large (MA-L), Medium (MA-M) a Small (MA-S) podľa toho. Veľkosť prideleného bloku by v takom prípade bola 24, 20, 12 bitov alebo 16 miliónov, 1 milión, 4 tisíc adries. V súčasnosti je rozdelených okolo 38 tisíc blokov, ktoré môžete vidieť prostredníctvom mnohých online nástrojov, napríklad na IEEE alebo Wireshark.

Komu patria adresy

Jednoduché spracovanie verejne dostupnej databázy, ktorú poskytuje IEEE poskytuje pomerne veľa informácií. Napríklad niektoré organizácie si vzali veľa OUI blokov. Tu sú naši hrdinovia:

Dodávateľ
Počet blokov/záznamov
Počet adries, mil.

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

Private
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

Google ich majú len 40 a nie je to prekvapujúce: sami nevyrábajú veľa sieťových zariadení.

Bloky MA nie sú poskytované zadarmo, môžu sa zakúpiť za rozumné peniaze (bez mesačného poplatku) za 3000 $, 1800 $ alebo 755 $ v príslušnom poradí. Zaujímavé je, že za extra peniaze (ročné) si môžete zakúpiť

Kedy skončia MAC adresy

Už sme všetci unavení z nepretržitých príbehov posledných 10 rokov o tom, že "IPv4 adresy sa čoskoro vyčerpajú". Áno, nové bloky IPv4 je už ťažké získať. Zároveň je známe, že IP adresy sú rozdelené veľmi nerovnomerne; existujú obrovské a málo využívané bloky, ktoré patria veľkým korporáciám a štátnym inštitúciám USA, hoci bez veľkých nádejí na ich redistribúciu v prospech tých, ktorí ich potrebujú. Šírenie NAT, CG-NAT a IPv6 urobilo problém nedostatku verejných adries menej akútným.

V MAC adrese je 48 bitov, z ktorých „užitočnými“ je možné považovať 46 (prečo? čítajte ďalej), čo dáva 246 alebo 1014 adries, čo je 214-krát viac ako IPv4 adresný priestor.
V súčasnosti je rozdelených približne pol trilióna adries, alebo iba 0,73% z celkového objemu. Do vyčerpania MAC adries je ešte stále veľmi, veľmi ďaleko.

Náhodnosť bitu

Môžeme predpokladať, že OUI sú rozdelené náhodne a vendor potom taktiež náhodne priraďuje adresy individuálnym sieťovým zariadeniam. Je to tak? Pozrime sa na rozdelenie bitov v existujúcich databázach MAC adries 802.11 zariadení, zozbieraných pracujúcimi systémami autorizácie v bezdrôtových sieťach WNAM. Adresy patria reálnym zariadením, ktoré sa pripojili k Wi-Fi počas niekoľkých rokov v troch krajinách. Navyše dostanete malú databázu 802.3 zariadení káblového LAN.

Rozdelíme každú MAC adresu (šesť bajtov) každej z výberiek na bity po bajtoch a pozrieme sa na frekvenciu výskytu bitu „1“ v každej z 48 pozícií. Ak je bit nastavený úplne náhodne, pravdepodobnosť získania „1“ by mala byť 50%.

Výberka Wi-Fi č. 1 (RUS)
Výberka Wi-Fi č. 2 (Bielorusko)
Výberka Wi-Fi č. 3 (Uzbekistan)
Výber LAN (SK)

Počet záznamov v databáze
5929000
1274000
366000
1000

Číslo bitu:
% 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%

Odkiaľ sa berie taká nespravodlivosť v 7. a 8. bitoch? Tam sú takmer vždy nuly.

Skutočne, štandard definuje tieto bity ako špeciálne (Wikipedia):
Všetko, čo ste chceli vedieť o MAC adrese

Ôsmy (od začiatku) bit prvého bajtu MAC adresy sa nazýva Unicast/Multicast bitom a určuje, akého typu rámec (frame) sa s touto adresou prenáša, bežný (0) alebo širokopásmový (1) (multicast alebo broadcast). Pre bežné, unicast interakcie sieťového adaptéra je tento bit nastavený na „0“ vo všetkých paketoch, ktoré mu sú odosielané.

Siedmy (od začiatku) bit prvého bajtu MAC adresy sa nazýva U/L (Universal/Local) bitom a určuje, či je adresa globálne unikátna (0), alebo lokálne unikátna (1). Predvolená hodnota pre všetky „vopred nastavené výrobcom“ adresy je globálne unikátna, preto väčšina zozbieraných MAC adries obsahuje siedmy bit nastavený na „0“. V tabuľke pridelených identifikátorov OUI existuje iba približne 130 záznamov s U/L bitom „1“, a zdá sa, že ide o bloky MAC adries pre špeciálne potreby.

Od šiesteho po prvý bit prvého bajtu, bity druhého a tretieho bajtu v OUI identifikátoroch, a ešte viac bity v 4-6 bajtoch adresy, pridelené výrobcom, sú rozložené viac-menej rovnomerne.

Tým pádom, v reálnej MAC adrese sieťového adaptéra sú bity skutočne ekvivalentné a nenesú technologický význam, okrem dvoch riadiacich bitov najvyššieho bajtu.

Rozšírenosť

Zaujímavé, ktorí výrobcovia bezdrôtového zariadenia sú najpopulárnejší? Spojíme vyhľadávanie v databáze OUI s údajmi z výberu č. 1.

Dodávateľ
Podiel zariadení, %

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 (Mobilné komunikácie)
2,76

ASUSTek COMPUTER INC.
2,58

TCT mobile ltd
2,13

zte corporation
2,00

nenájdené v databáze IEEE
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

Praxe ukazuje, že čím zažívanejší je kontingent abonentov bezdrôtovej siete na danom mieste, tým väčší je podiel zariadení Apple.

Unikátnosť

Sú MAC adresy unikátne? Teoreticky áno, keďže každý z výrobcov zariadení (majiteľ bloku MA) je povinný zabezpečiť unikátnu adresu pre každého z ich vyrábaných sieťových adaptér. Avšak niektorí výrobcovia čipov, a to konkrétne:

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

poskytujú posledné tri bajty MAC adresy ako náhodné číslo, zjavne po každom reštarte zariadenia. V mojej vzorke číslo 1 sa našlo 82 tisíc takýchto adries.

Je možné si nastaviť cudzí, nie unikátny adres, samozrejme, cieľavedomou inštaláciou „ako u suseda“, zistením pomocou sniffera alebo náhodným výberom. Tiež je možné náhodne nastaviť nie unikátny adres pri obnovení zálohy konfigurácie nejakého smerovača, ako sú Mikrotik alebo OpenWrt.

Čo sa stane, ak budú v sieti dve zariadenia s rovnakou MAC adresou? Všetko závisí od logiky sieťového vybavenia (pevného smerovača, controllera bezdrôtovej siete). S najväčšou pravdepodobnosťou ani jedno zariadenie nebude fungovať alebo budú fungovať prerušovane. Z hľadiska štandardov IEEE sa ochrana proti falšovaniu MAC adries odporúča riešiť pomocou, napríklad, MACsec alebo 802.1X.

Čo ak si nastavím MAC s nastaveným na „1“ siedmym alebo ôsmym bitom, t.j. local alebo multicast-adres? S najväčšou pravdepodobnosťou vaša sieť na to neupozorní, ale formálne takýto adres nebude zodpovedať štandardu a radšej to nerobte.

Ako funguje náhodná voľba

Vieme, že s cieľom zabrániť sledovaniu pohybu ľudí skenovaním vzduchu a zberom MAC, operačné systémy smartfónov už niekoľko rokov používajú technológiu náhodnej voľby. Teoreticky pri skenovaní vzduchu v hľadaní známych sietí smartfón posiela paket (skupinu paketov) typu 802.11 probe request s MAC adresou ako zdrojom:

Všetko, čo ste chceli vedieť o MAC adrese

Povolená náhodná voľba umožňuje uvádzať nie „flashovanú“, ale nejakú inú adresu zdroja paketu, ktorá sa mení pri každom cykle skenovania, v čase alebo inak. Funguje to? Pozrime sa na štatistiku zozbieraných MAC adries z éteru pomocou takzvaného „Wi-Fi Radaru“:

Celá vzorka
Vzorka iba s nulovým 7. bitom

Počet záznamov v databáze
3920000
305000

Číslo bitu:
% 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%

Obrázok je úplne iný.

8. bit prvého bajtu MAC adresy stále zodpovedá Unicast povahe SRC-adresy v probe request pakete.

7. bit je v 92.2% prípadoch nastavený na Local, t.j. s dostatočnou mierou istoty môžeme považovať, že práve toľko zozbieraných adries patrí k randomizovaným, a menej ako 8% - k skutočným. Pri tom rozdelenie bitov v OUI pre také skutočné adresy približne zodpovedá údajom z predchádzajúcej tabuľky.

Akému výrobcovi, podľa OUI, patria randomizované adresy (t.j. s 7. bitom v „1“)?

Výrobca podľa OUI
Podiel medzi všetkými adresami

nenájdené v databáze IEEE
62.45%

Google Inc.
37.54%

ostatné
0.01%

Pri tom všetky randomizované adresy, priradené k Google, patria jednému OUI s prefixom DA:A1:19. Aký je to prefix? Pozrime sa do zdrojov Android.

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

Skladaný Android v hľadaní bezdrôtových sietí používa špeciálny, registrovaný OUI, jeden z mála s nastaveným siedmym bitom.

Vypočítať reálny MAC z náhodného

Pozrime sa tam aj:

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

Adresa celkovo, alebo jej dolné tri bajty, to je čistý Random.nextLong(). „Patentované obnovenie reálneho MAC“ – podvod. S vysokou mierou istoty môžeme očakávať, že výrobcovia Android telefónov používajú aj iné, neregistrované OUI. Zdroje iOS nemáme, ale s najväčšou pravdepodobnosťou tam je použitý podobný algoritmus.

Vyššie uvedené nepopiera prácu iných mechanizmov deanonimizácie Wi-Fi predplatiteľov, založených na analýze iných polí probe request rámca, alebo korelácii relatívnej frekvencie posielaných zariadením požiadaviek. Avšak spoľahlivo sledovať predplatiteľa vonkajšími prostriedkami je extrémne problémové. Zhromažďované údaje sú viac vhodné na analýzu priemernej/pikovej záťaže podľa polohy a času, na základe veľkých čísel, bez väzby na konkrétne zariadenia a ľudí. Presné údaje majú len tí, ktorí sú „vnútri“, samotní výrobcovia mobilných operačných systémov, u nainštalovaných aplikácií.

Čo môže byť nebezpečné na tom, že niekto iný zistí MAC adresu vášho zariadenia? Pre drôtové a bezdrôtové siete je možné zorganizovať útok typu „odmietnutie služby“. Pre bezdrôtové zariadenie je navyše s určitou pravdepodobnosťou možné sledovať okamih jeho príchodu na miesto, kde je nainštalovaný senzor. Zmenou adresy sa môžete pokúsiť „predstaviť“ vaším zariadením, čo môže fungovať iba v prípade, že nie sú použité žiadne ďalšie ochranné prostriedky (autorizácia a/alebo šifrovanie). 99,9 % ľudí tu nemá dôvod na obavy.

MAC adresa je zložitejšia, než sa zdá, ale jednoduchšia, než by mohla byť.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster