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

Všetko, čo ste chceli vedieť o MAC adreseKaždý vie, že týchto šesť bajtov, zvyčajne zobrazených v hexadecimálnom formáte, je sieťovej karte priradených vo výrobe a sú zdanlivo náhodné. Niektorí ľudia vedia, že prvé tri bajty adresy sú ID výrobcu a zvyšné tri bajty sú im priradené. Je tiež známe, že sa môžete nastaviť sami svojvoľný adresu. Mnoho ľudí počulo o „náhodných adresách“ vo Wi-Fi.

Poďme zistiť, čo to je.

MAC adresa (media access control address) je jedinečný identifikátor priradený sieťovému adaptéru, ktorý sa používa v sieťach štandardov IEEE 802, hlavne Ethernet, Wi-Fi a Bluetooth. Oficiálne sa nazýva „identifikátor typu EUI-48“. Z názvu je zrejmé, že adresa je dlhá 48 bitov, t.j. 6 bajtov. Neexistuje žiadny všeobecne uznávaný štandard na písanie adresy (na rozdiel od adresy IPv4, kde sú oktety vždy oddelené bodkami). Zvyčajne sa zapisuje ako šesť hexadecimálnych čísel oddelených dvojbodkou: 00:AB:CD:EF:11: 22, hoci niektorí výrobcovia zariadení uprednostňujú označenie 00 -AB-CD-EF-11-22 a dokonca aj 00ab.cdef.1122.

Historicky boli adresy flashované do ROM čipovej sady sieťovej karty bez možnosti ich úpravy bez flash programátora, ale v súčasnosti je možné adresu zmeniť programovo z operačného systému. MAC adresu sieťovej karty môžete manuálne nastaviť v systémoch Linux a MacOS (vždy), Windows (takmer vždy, ak to ovládač umožňuje), Android (iba rootované); S iOS (bez rootu) je takýto trik nemožný.

Štruktúra adresy

Adresa sa skladá z časti identifikátora výrobcu, OUI, a identifikátora prideleného výrobcom. Priradenie identifikátorov OUI (Organizationally Unique Identifier). zaoberať sa niečím organizácia IEEE. V skutočnosti môže byť jeho dĺžka nielen 3 bajty (24 bitov), ​​ale 28 alebo 36 bitov, z toho bloky (MAC Address Block, MA) adries typu Large (MA-L), Medium (MA-M) resp. Malé sa tvoria (MA-S) resp. Veľkosť vydaného bloku bude v tomto prípade 24, 20, 12 bitov alebo 16 miliónov, 1 milión, 4 tisíc adries. V súčasnosti je distribuovaných asi 38 tisíc blokov, dajú sa prezerať napríklad pomocou množstva online nástrojov IEEE alebo Wireshark.

Komu patria adresy?

Jednoduché spracovanie verejne dostupného vykladanie databáz IEEE poskytuje pomerne veľa informácií. Napríklad niektoré organizácie si pre seba vzali veľa blokov OUI. Tu sú naši hrdinovia:

Predajca
Počet blokov/záznamov
Počet adries, milión

Spoločnosť Cisco Systems Inc
888
14208

jablko
772
12352

Samsung
636
10144

Spoločnosť Huawei Technologies Co.Ltd
606
9696

Intel Corporation
375
5776

ARRIS Group Inc.
319
5104

Nokia Corporation
241
3856

Súkromný
232
2704

Texas Instruments
212
3392

zte Corporation
198
3168

Registračná autorita IEEE
194
3072

Hewlett Packard
149
2384

Hon Hai Presnosť
136
2176

TP-LINK
134
2144

Dell Inc.
123
1968

Juniper Networks
110
1760

Sagemcom Broadband SAS
97
1552

Spoločnosť Fiberhome Telecommunication Technologies Co. LTD
97
1552

Xiaomi Communications Co Ltd
88
1408

Guangdong Oppo Mobile Telecommunications Corp.Ltd
82
1312

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

MA bloky sa neposkytujú zadarmo, dajú sa zakúpiť za rozumnú cenu (bez poplatku za predplatné) za 3000 1800, 755 232 alebo XNUMX USD. Zaujímavé je, že za ďalšie peniaze (za rok) si môžete kúpiť „skrytie“ verejných informácií o pridelenom bloku. Teraz je ich XNUMX, ako je vidieť vyššie.

Kedy nám dôjdu MAC adresy?

Všetci sme už dosť unavení z príbehov, ktoré sa tradujú už 10 rokov, že „adresy IPv4 sa čoskoro míňajú“. Áno, nové bloky IPv4 už nie je ľahké získať. Je známe, že IP adresy extrémne nerovnomerne rozložené; Existujú gigantické a nedostatočne využívané bloky, ktoré vlastnia veľké korporácie a vládne agentúry USA, avšak s malou nádejou na ich prerozdelenie tým, ktorí to potrebujú. Šírenie NAT, CG-NAT a IPv6 znížilo problém nedostatku verejných adries.

MAC adresa má 48 bitov, z ktorých 46 možno považovať za „užitočných“ (prečo? čítajte ďalej), čo dáva 246 alebo 1014 adries, čo je 214-krát viac ako adresný priestor IPv4.
V súčasnosti je distribuovaných približne pol bilióna adries, teda len 0.73 % z celkového objemu. Stále sme veľmi, veľmi ďaleko od vyčerpania MAC adries.

Bity náhodnosti

Dá sa predpokladať, že OUI sú distribuované náhodne a predajca potom náhodne prideľuje adresy aj jednotlivým sieťovým zariadeniam. Je to tak? Pozrime sa na distribúciu bitov v databázach MAC adries zariadení 802.11, ktoré mám k dispozícii, zhromaždených fungujúcimi autorizačnými systémami v bezdrôtových sieťach WNAM. Adresy patria skutočným zariadeniam, ktoré sa k Wi-Fi pripájali niekoľko rokov v troch krajinách. Okrem toho existuje malá databáza 802.3 káblových LAN zariadení.

Rozdeľme každú MAC adresu (šesť bajtov) každej vzorky na bity, bajt po byte, a pozrime sa na frekvenciu výskytu bitu „1“ v každej zo 48 pozícií. Ak je bit nastavený úplne ľubovoľným spôsobom, pravdepodobnosť získania „1“ by mala byť 50%.

Wi-Fi výber č. 1 (RF)
Ukážka Wi-Fi č. 2 (Bielorusko)
Wi-Fi výber č. 3 (Uzbekistan)
LAN vzorkovanie (RF)

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%

Prečo taká nespravodlivosť v 7 a 8 bitoch? Takmer vždy sú tam nuly.

V skutočnosti š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 bit a určuje, aký typ rámca (rámca) sa prenáša s touto adresou, bežný (0) alebo broadcast (1) (multicast resp. vysielať). Pre normálnu unicastovú komunikáciu sieťového adaptéra je tento bit nastavený na „0“ vo všetkých paketoch, ktoré sa mu posielajú.

Siedmy (od začiatku) bit prvého bajtu MAC adresy sa nazýva bit U/L (Universal/Local) a určuje, či je adresa globálne jedinečná (0), alebo lokálne jedinečná (1). V predvolenom nastavení sú všetky adresy „šité výrobcom“ globálne jedinečné, takže veľká väčšina zhromaždených adries MAC obsahuje siedmy bit nastavený na „0“. V tabuľke priradených identifikátorov OUI má U/L bit „130“ len asi 1 záznamov a zrejme ide o bloky MAC adries pre špeciálne potreby.

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

V reálnej MAC adrese sieťového adaptéra sú teda bity skutočne ekvivalentné a nemajú žiadny technologický význam, s výnimkou dvoch obslužných bitov vysokého bajtu.

Prevalencia

Zaujíma vás, ktorí výrobcovia bezdrôtových zariadení sú najobľúbenejší? Skombinujme vyhľadávanie v databáze OUI s údajmi zo vzorky č.1.

Predajca
Podiel zariadení, %

jablko
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ácia)
2,76

ASUSTek COMPUTER INC.
2,58

Spoločnosť TCT mobile sro
2,13

zte Corporation
2,00

nenašiel sa v databáze IEEE
1,92

Lenovo Mobile Communication Technology Ltd.
1,71

HTC Corporation
1,68

Výroba Murata
1,31

InPro Comm
1,26

Microsoft Corporation
1,11

Shenzhen TINNO Mobile Technology Corp.
1,02

Spoločnosť Motorola (Wuhan) Mobility Technologies Communication Co. Ltd.
0,93

Nokia Corporation
0,88

Spoločnosť Shanghai Wind Technologies Co. Ltd
0,74

Lenovo Mobile Communication (Wuhan) Company Limited
0,71

Prax ukazuje, že čím viac prosperuje kontingent predplatiteľov bezdrôtovej siete v danej lokalite, tým väčší je podiel zariadení Apple.

jedinečnosť

Sú MAC adresy jedinečné? Teoreticky áno, pretože každý výrobca zariadenia (vlastník bloku MA) je povinný poskytnúť jedinečnú adresu pre každý sieťový adaptér, ktorý vyrába. Niektorí výrobcovia čipov, konkrétne:

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

nastaviť posledné tri bajty MAC adresy na náhodné číslo, zrejme po každom reštarte zariadenia. Takýchto adries bolo v mojej vzorke č.1 82 tisíc.

Môžete si, samozrejme, nastaviť aj cudziu, nejedinečnú adresu tak, že si ju cielene nastavíte „ako suseda“, identifikujete ju s oňuchákom alebo si ju vyberiete náhodne. Je tiež možné, že si omylom nastavíte nejedinečnú adresu, napríklad obnovením záložnej konfigurácie smerovača ako Mikrotik alebo OpenWrt.

Čo sa stane, ak sú v sieti dve zariadenia s rovnakou MAC adresou? Všetko závisí od logiky sieťového zariadenia (káblový smerovač, ovládač bezdrôtovej siete). S najväčšou pravdepodobnosťou obe zariadenia buď nebudú fungovať, alebo budú fungovať prerušovane. Z pohľadu štandardov IEEE sa navrhuje riešiť ochranu proti podvrhnutiu MAC adries napríklad pomocou MACsec alebo 802.1X.

Čo ak nainštalujete MAC so siedmym alebo ôsmym bitom nastaveným na „1“, t.j. lokálna alebo multicast adresa? S najväčšou pravdepodobnosťou tomu vaša sieť nebude venovať pozornosť, ale formálne takáto adresa nebude v súlade s normou a je lepšie to nerobiť.

Ako funguje randomizácia

Vieme, že s cieľom zabrániť sledovaniu pohybu ľudí skenovaním a zberom rádiových vĺn používajú operačné systémy MAC pre smartfóny už niekoľko rokov technológiu randomizácie. Teoreticky pri skenovaní rádiových vĺn pri vyhľadávaní známych sietí smartfón odošle paket (skupinu paketov) typu požiadavky sondy 802.11 s MAC adresou ako zdrojom:

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

Povolená randomizácia vám umožňuje určiť nie „zošitú“, ale nejakú inú adresu zdroja paketov, ktorá sa mení s každým skenovacím cyklom, v priebehu času alebo iným spôsobom. Funguje to? Pozrime sa na štatistiku MAC adries zozbieraných zo vzduchu takzvaným „Wi-Fi Radarom“:

Celá vzorka
Ukážka 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á charakteru Unicast adresy SRC v pakete žiadosti o testovanie.

7. bit je nastavený na Lokálny v 92.2 % prípadov, t.j. S primeranou mierou istoty môžeme predpokladať, že presne toľko zozbieraných adries je náhodných a menej ako 8 % je skutočných. V tomto prípade sa rozdelenie bitov v OUI pre takéto reálne adresy približne zhoduje s údajmi v predchádzajúcej tabuľke.

Ktorý výrobca podľa OUI vlastní náhodné adresy (t. j. so 7. bitom v „1“)?

Výrobca od OUI
Zdieľať medzi všetkými adresami

nenašiel sa v databáze IEEE
62.45%

Google Inc
37.54%

odpočívaj
0.01%

Okrem toho všetky náhodné adresy priradené spoločnosti Google patria do rovnakého OUI s predponou DA:A1:19. Čo je to predpona? Pozrime sa dovnútra Zdroje pre Android.

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

Stock Android používa pri vyhľadávaní bezdrôtových sietí špeciálne, registrované OUI, jednu z mála s nastaveným siedmym bitom.

Vypočítajte skutočnú MAC z náhodnej

Pozrime sa tam:

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

Celá adresa alebo jej spodné tri bajty sú čisté Random.nextLong(). „Vlastné obnovenie skutočného MAC“ je podvod. S vysokou mierou istoty môžeme očakávať, že výrobcovia telefónov s Androidom používajú iné, neregistrované OUI. Nemáme zdrojový kód iOS, ale s najväčšou pravdepodobnosťou sa tam používa podobný algoritmus.

Vyššie uvedené neruší prácu iných mechanizmov na deanonymizáciu predplatiteľov Wi-Fi na základe analýzy iných polí rámca žiadosti sondy alebo korelácie relatívnej frekvencie žiadostí odoslaných zariadením. Spoľahlivé sledovanie predplatiteľa pomocou externých prostriedkov je však mimoriadne problematické. Zhromaždené údaje budú vhodnejšie na analýzu priemerného/špičkového zaťaženia podľa miesta a času, na základe veľkých čísel, bez odkazu na konkrétne zariadenia a ľudí. Presné údaje majú len tí „vo vnútri“, samotní výrobcovia mobilných OS a nainštalované aplikácie.

Čo môže byť nebezpečné na tom, že niekto iný pozná MAC adresu vášho zariadenia? Útoky odmietnutia služby možno spustiť pre káblové a bezdrôtové siete. Pre bezdrôtové zariadenie je navyše s určitou pravdepodobnosťou možné zaznamenať moment jeho výskytu v mieste, kde je snímač nainštalovaný. Sfalšovaním adresy sa môžete pokúsiť „predstierať“, že je vaším zariadením, čo môže fungovať iba vtedy, ak sa nepoužívajú žiadne dodatočné bezpečnostné opatrenia (autorizácia a/alebo šifrovanie). 99.9% ľudí sa tu nemá čoho obávať.

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

Zdroj: hab.com

Pridať komentár