Vše, co jste chtěli vědět o MAC adrese

Vše, co jste chtěli vědět o MAC adreseKaždý ví, že těchto šest bajtů, obvykle zobrazených v hexadecimálním formátu, je síťové kartě přiřazeno z výroby a jsou zdánlivě náhodné. Někteří lidé vědí, že první tři bajty adresy jsou ID výrobce a zbývající tři bajty jsou jim přiřazeny. Je také známo, že se můžete nastavit sami libovolné adresa. Mnoho lidí slyšelo o „náhodných adresách“ ve Wi-Fi.

Pojďme zjistit, co to je.

MAC adresa (media access control address) je jedinečný identifikátor přidělený síťovému adaptéru, používaný v sítích standardů IEEE 802, zejména Ethernet, Wi-Fi a Bluetooth. Oficiálně se nazývá „identifikátor typu EUI-48“. Z názvu je zřejmé, že adresa je dlouhá 48 bitů, tzn. 6 bajtů. Neexistuje žádný obecně uznávaný standard pro zápis adresy (na rozdíl od adresy IPv4, kde jsou oktety vždy odděleny tečkami). Obvykle se zapisuje jako šest hexadecimálních čísel oddělených dvojtečkou: 00:AB:CD:EF:11: 22, ačkoli někteří výrobci zařízení preferují označení 00 -AB-CD-EF-11-22 a dokonce 00ab.cdef.1122.

Historicky byly adresy flashovány do ROM čipové sady síťové karty, aniž by bylo možné je upravovat bez flash programátoru, ale v dnešní době lze adresu změnit programově z operačního systému. MAC adresu síťové karty můžete ručně nastavit v systémech Linux a MacOS (vždy), Windows (téměř vždy, pokud to ovladač umožňuje), Android (pouze root); S iOS (bez rootu) je takový trik nemožný.

Struktura adresy

Adresa se skládá z části identifikátoru výrobce, OUI, a identifikátoru přiděleného výrobcem. Přiřazení identifikátorů OUI (Organizationally Unique Identifier). zabývající se organizace IEEE. Jeho délka totiž může být nejen 3 bajty (24 bitů), ale 28 nebo 36 bitů, z čehož se odvíjejí bloky (MAC Address Block, MA) adres typu Large (MA-L), Medium (MA-M) resp. Malé jsou tvořeny (MA-S), resp. Velikost vydaného bloku bude v tomto případě 24, 20, 12 bitů nebo 16 milionů, 1 milion, 4 tisíce adres. V současnosti je distribuováno asi 38 tisíc bloků, lze je prohlížet například pomocí četných online nástrojů IEEE nebo Wireshark.

Komu patří adresy?

Snadné zpracování veřejně dostupných vykládání databází IEEE poskytuje poměrně hodně informací. Některé organizace si například pro sebe vzaly spoustu OUI bloků. Zde jsou naši hrdinové:

Prodejce
Počet bloků/záznamů
Počet adres, milion

Cisco Systems Inc
888
14208

jablko
772
12352

Samsung
636
10144

Společnost Huawei Technologies Co.Ltd
606
9696

Intel Corporation
375
5776

Společnost ARRIS Group Inc.
319
5104

Nokia Corporation
241
3856

soukromý
232
2704

Texas Instruments
212
3392

korporace zte
198
3168

Registrační úřad IEEE
194
3072

Hewlett Packard
149
2384

Přesnost Hon Hai
136
2176

TP-LINK
134
2144

Dell Inc.
123
1968

Juniper Networks
110
1760

Sagemcom Broadband SAS
97
1552

Společnost Fiberhome Telecommunication Technologies Co. LTD
97
1552

Xiaomi Communications Co Ltd
88
1408

Guangdong Oppo Mobile Telecommunications Corp.Ltd
82
1312

Google jich má jen 40 a není se čemu divit: samy o sobě mnoho síťových zařízení nevyrábějí.

Bloky MA nejsou poskytovány zdarma, lze je zakoupit za rozumnou cenu (bez poplatku za předplatné) za 3000, 1800 nebo 755 USD. Zajímavé je, že za další peníze (za rok) si můžete zakoupit „skrytí“ veřejných informací o přiděleném bloku. Nyní je jich 232, jak je vidět výše.

Kdy nám dojdou MAC adresy?

Všichni jsme unavení z příběhů, které se dějí už 10 let, že „adresy IPv4 brzy dojdou“. Ano, nové bloky IPv4 již není snadné získat. Je známo, že IP adresy extrémně nerovnoměrně rozložené; Existují gigantické a nevyužité bloky vlastněné velkými korporacemi a vládními agenturami USA, avšak s malou nadějí na jejich přerozdělení těm, kteří to potřebují. Rozšíření NAT, CG-NAT a IPv6 způsobilo, že problém nedostatku veřejných adres je méně akutní.

MAC adresa má 48 bitů, z nichž 46 lze považovat za „užitečných“ (proč? čtěte dále), což dává 246 nebo 1014 adres, což je 214krát více než adresní prostor IPv4.
V současné době je distribuováno přibližně půl bilionu adres, tedy pouze 0.73 % z celkového objemu. Stále jsme velmi, velmi daleko od toho, abychom vyčerpali MAC adresy.

Náhodné bity

Dá se předpokládat, že OUI jsou distribuovány náhodně a prodejce pak také náhodně přiděluje adresy jednotlivým síťovým zařízením. Je to tak? Podívejme se na rozložení bitů v databázích MAC adres zařízení 802.11, které mám k dispozici, shromážděných fungujícími autorizačními systémy v bezdrátových sítích WNAM. Adresy patří skutečným zařízením, která se k Wi-Fi připojovala několik let ve třech zemích. Kromě toho existuje malá databáze 802.3 kabelových LAN zařízení.

Rozdělme každou MAC adresu (šest bajtů) každého ze vzorků na bity, bajt po bajtu, a podívejme se na frekvenci výskytu bitu „1“ v každé ze 48 pozic. Pokud je bit nastaven zcela libovolným způsobem, pak by pravděpodobnost získání „1“ měla být 50 %.

Wi-Fi výběr č. 1 (RF)
Wi-Fi ukázka č. 2 (Bělorusko)
Wi-Fi výběr č. 3 (Uzbekistán)
LAN vzorkování (RF)

Počet záznamů v databázi
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%

Proč taková nespravedlnost v 7 a 8 bitech? Téměř vždy jsou nuly.

Ve skutečnosti standard definuje tyto bity jako speciální (Wikipedia):
Vše, co jste chtěli vědět o MAC adrese

Osmý (od začátku) bit prvního bajtu MAC adresy se nazývá Unicast/Multicast bit a určuje, jaký typ rámce (rámce) je s touto adresou přenášen, běžný (0) nebo broadcast (1) (multicast popř. přenos). Pro normální unicastovou komunikaci síťového adaptéru je tento bit nastaven na „0“ ve všech paketech, které jsou na něj odesílány.

Sedmý (od začátku) bit prvního bajtu MAC adresy se nazývá U/L (Universal/Local) bit a určuje, zda je adresa globálně jedinečná (0), nebo lokálně jedinečná (1). Ve výchozím nastavení jsou všechny adresy „sešité výrobcem“ globálně jedinečné, takže velká většina shromážděných adres MAC obsahuje sedmý bit nastavený na „0“. V tabulce přiřazených OUI identifikátorů má U/L bit „130“ jen asi 1 položek a zřejmě se jedná o bloky MAC adres pro speciální potřeby.

Od šestého do prvního bitu prvního bajtu jsou bity druhého a třetího bajtu v identifikátorech OUI a ještě více bity ve 4-6 bajtech adresy přidělené výrobcem rozděleny víceméně rovnoměrně. .

Ve skutečné MAC adrese síťového adaptéru jsou tedy bity ve skutečnosti ekvivalentní a nemají žádný technologický význam, s výjimkou dvou servisních bitů vysokého bajtu.

Prevalence

Zajímá vás, kteří výrobci bezdrátových zařízení jsou nejoblíbenější? Spojme vyhledávání v databázi OUI s údaji z ukázky č.1.

Prodejce
Podíl zařízení, %

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í komunikace)
2,76

ASUSTek COMPUTER INC.
2,58

Společnost TCT mobile spol
2,13

korporace zte
2,00

nenalezen v databázi 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

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 více prosperuje kontingent předplatitelů bezdrátové sítě v dané lokalitě, tím větší je podíl zařízení Apple.

jedinečnost

Jsou MAC adresy jedinečné? Teoreticky ano, protože každý výrobce zařízení (vlastník bloku MA) musí poskytnout jedinečnou adresu pro každý síťový adaptér, který vyrábí. Nicméně, někteří výrobci čipů, jmenovitě:

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

nastavit poslední tři bajty MAC adresy na náhodné číslo, zřejmě po každém restartu zařízení. Takových adres bylo v mém vzorku č. 1 82 tisíc.

Cizí, nejedinečnou adresu si samozřejmě můžete nastavit tak, že ji cíleně nastavíte „jako u souseda“, identifikujete ji s čichačem nebo si ji vyberete náhodně. Je také možné si omylem nastavit nejedinečnou adresu, například obnovením záložní konfigurace routeru jako Mikrotik nebo OpenWrt.

Co se stane, když jsou v síti dvě zařízení se stejnou MAC adresou? Vše závisí na logice síťového zařízení (kabelový router, bezdrátový síťový řadič). S největší pravděpodobností obě zařízení buď nebudou fungovat, nebo budou fungovat přerušovaně. Z hlediska standardů IEEE se navrhuje řešit ochranu proti podvržení MAC adres například pomocí MACsec nebo 802.1X.

Co když nainstalujete MAC se sedmým nebo osmým bitem nastaveným na „1“, tzn. místní nebo vícesměrová adresa? S největší pravděpodobností tomu vaše síť nebude věnovat pozornost, ale formálně taková adresa nebude odpovídat standardu a je lepší to nedělat.

Jak funguje randomizace

Víme, že aby se zabránilo sledování pohybu lidí skenováním a shromažďováním rádiových vln, operační systémy MAC pro chytré telefony používají technologii randomizace již několik let. Teoreticky, při skenování rádiových vln při hledání známých sítí smartphone odešle paket (skupinu paketů) typu požadavku sondy 802.11 s MAC adresou jako zdrojem:

Vše, co jste chtěli vědět o MAC adrese

Povolená randomizace vám umožňuje specifikovat nikoli „sešitou“, ale nějakou jinou adresu zdroje paketu, která se mění s každým skenovacím cyklem, v průběhu času nebo jiným způsobem. Funguje to? Podívejme se na statistiku MAC adres shromážděných ze vzduchu takzvaným „Wi-Fi Radarem“:

Celý vzorek
Vzorek pouze s nulovým 7. bitem

Počet záznamů v databázi
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ázek je úplně jiný.

8. bit prvního bytu MAC adresy stále odpovídá charakteru Unicast adresy SRC v paketu požadavku sondy.

7. bit je v 92.2 % případů nastaven na Local, tzn. S přiměřenou mírou spolehlivosti můžeme předpokládat, že přesně tolik shromážděných adres je náhodných a méně než 8 % je skutečných. V tomto případě se rozložení bitů v OUI pro takové reálné adresy přibližně shoduje s údaji v předchozí tabulce.

Který výrobce podle OUI vlastní náhodné adresy (tj. se 7. bitem v „1“)?

Výrobce od OUI
Sdílejte mezi všemi adresami

nenalezen v databázi IEEE
62.45%

Google Inc
37.54%

zbytek
0.01%

Navíc všechny náhodné adresy přiřazené Googlu patří do stejného OUI s předponou DA:A1:19. Co je to za předponu? Pojďme se podívat dovnitř Zdroje pro Android.

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

Stock Android používá při vyhledávání bezdrátových sítí speciální, registrované OUI, jedno z mála s nastaveným sedmým bitem.

Vypočítejte skutečný MAC z náhodného

Podívejme se 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 nebo její spodní tři bajty jsou čisté Random.nextLong(). „Proprietární obnova skutečné MAC“ je podvod. S vysokou mírou důvěry můžeme očekávat, že výrobci telefonů s Androidem používají jiné, neregistrované OUI. Nemáme zdrojový kód iOS, ale s největší pravděpodobností se tam používá podobný algoritmus.

Výše uvedené neruší práci jiných mechanismů pro deanonymizaci Wi-Fi předplatitelů na základě analýzy dalších polí rámce požadavku sondy nebo korelace relativní frekvence požadavků odesílaných zařízením. Spolehlivé sledování předplatitele pomocí externích prostředků je však extrémně problematické. Shromážděná data budou vhodnější pro analýzu průměrného/špičkového zatížení podle místa a času, na základě velkých čísel, bez ohledu na konkrétní zařízení a osoby. Přesná data mají pouze ti „uvnitř“, samotní výrobci mobilních OS a nainstalované aplikace.

Co může být nebezpečné na tom, že někdo jiný zná MAC adresu vašeho zařízení? Útoky typu Denial of Service lze spustit pro kabelové i bezdrátové sítě. U bezdrátového zařízení je navíc s určitou pravděpodobností možné zaznamenat okamžik jeho výskytu v místě, kde je senzor instalován. Falšováním adresy se můžete pokusit „předstírat“, že je vaším zařízením, což může fungovat pouze v případě, že nejsou použita žádná další bezpečnostní opatření (autorizace a/nebo šifrování). 99.9 % lidí se zde nemá čeho bát.

MAC adresa je složitější, než se zdá, ale jednodušší, než by mohla být.

Zdroj: www.habr.com

Přidat komentář