Kaž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).
Komu patří adresy?
Snadné zpracování veřejně dostupných
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
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
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í (
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:
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ř
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