Kaž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).
Komu patria adresy?
Jednoduché spracovanie verejne dostupného
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
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
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 (
Ô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:
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
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