Mindenki tudja, hogy ezek hat bájt, amelyeket általában hexadecimális formátumban rendelnek a hálózati kártyához a gyárban, és első pillantásra véletlenszerűnek tűnnek. Néhányan tudják, hogy a cím első három bájtja a gyártó azonosítója, míg a többi három bájt a gyártó által van hozzárendelve. Az is ismert, hogy lehetőség van önállóan véletlenszerű címet beállítani. Sokan hallottak már a Wi-Fi „véletlenszerű címekről”.
Nézzük meg, mit is jelent ez.
A MAC cím (media access control address) – egyedi azonosító, amelyet a hálózati adapterhez rendelnek, és az IEEE 802 standardok hálózataiban használják, főként Ethernet, Wi-Fi és Bluetooth esetében. Hivatalosan EUI-48 típusként ismert. A névből is világosan kiderül, hogy az cím 48 bit hosszú, vagyis 6 bájt. A cím írásának általánosan elfogadott szabványa nincs (ellentétben az IPv4 címekkel, ahol az oktetteket mindig pontok választják el). Általában hat hexadecimális számként van írva, kettősponttal elválasztva: 00:AB:CD:EF:11:22, bár egyes gyártók a 00-AB-CD-EF-11-22 és akár a 00ab.cdef.1122 formátumot is előnyben részesítik.
Történelmileg az címeket a hálózati kártya chipjének ROM-jába égették, módosításuk lehetősége nélkül, flasch-programozó nélkül, de ma már a cím szoftveresen is megváltoztatható, az operációs rendszeren keresztül. A MAC cím manuális beállítása lehetséges Linuxban és MacOS-ban (mindig), Windowsban (majdnem mindig, ha a driver engedi), Androidon (csak rootolt); iOS-en (root nélkül) ilyen trükk nem lehetséges.
A cím felépítése
A cím a gyártó azonosítóból, az OUI-ból, és a gyártó által hozzárendelt azonosítóból áll. Az OUI azonosítók (Organizationally Unique Identifier) az IEEE szervezeten belül. Valójában a hossza nem csak 3 bájt (24 bit) lehet, hanem 28 vagy 36 bit, amelyekből a címek blokkjai (MAC Address Block, MA) nagy (MA-L), közepes (MA-M) és kis (MA-S) típusoké képződnek. Az ilyen esetekben a kiosztott blokk mérete 24, 20, 12 bit lesz, vagyis 16 millió, 1 millió, 4000 cím. Jelenleg körülbelül 38 ezer blokk lett kiosztva, amelyeket számos online eszköz segítségével meg lehet nézni, például vagy .
Kinek a tulajdonában vannak a címek
Az egyszerű feldolgozású nyilvánosan hozzáférhető az IEEE-től meglehetősen sok információt nyújt. Például néhány szervezet sok OUI blokkot vett magához. Íme a mi hőseink:
Gyártó
A blokkok/szólamok száma
Címek száma, millió.
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
A Google-nál mindössze 40 dolog van, ami nem meglepő: ők maguk nem gyártanak sok hálózati eszközt.
A MA blokkok nem ingyenesek, ésszerű áron (havidíj nélkül) megvásárolhatók 3000, 1800 vagy 755 dollárért. Érdekes módon, további pénzért (évente) megvásárolható a nyilvános információk eltakarása a dedikált blokkról. Jelenleg, mint látható, összesen 232 ilyen van.
Mikor fogynak el a MAC-címek
Már közel 10 éve unják a hírek, hogy „az IPv4-címek hamarosan elfogynak”. Igen, új IPv4 blokkokat már nem könnyű szerezni. Ugyanakkor tudomásunk van arról, hogy az IP-címek ; hatalmas és alig használt blokkok vannak, amelyeket nagy vállalatok és az Egyesült Államok állami intézményei birtokolnak, viszont csekély reménnyel a szükséget szenvedők javára való átcsoportosításukra. A NAT, CG-NAT és IPv6 elterjedése nem tette olyan sürgetővé a nyilvános címek hiányát.
A MAC-cím 48 bitből áll, ezek közül 46-ot „hasznosnak” tekinthetünk (miért? Olvasd tovább), ami 246 vagy 1014 címet jelent, ami 214-szer nagyobb, mint az IPv4 címterület.
Jelenleg körülbelül ötszáz milliárd címet osztottak szét, ami mindössze 0,73%-a az összes kapacitásnak. Még nagyon, nagyon messze vagyunk a MAC-címek kimerülésétől.
A bitek véletlensége
Feltételezhető, hogy az OUI véletlenszerűen oszlanak el, és a gyártó ezután szintén véletlenszerűen bízza meg az egyedi hálózati eszközöket címekkel. Valóban így van? Nézzük meg a bitek eloszlását a birtokomban lévő 802.11-es MAC-címek adatbázisában, amelyeket vezető hitelesítő rendszerek gyűjtöttek a vezeték nélküli hálózatokban. . A címek valós eszközökhöz tartoznak, amelyek néhány év alatt csatlakoztak a Wi-Fi-hez három országban. Ezen kívül van egy kis adatbázis az 802.3-as vezetékes LAN eszközökről.
Darabonként megbontjuk minden MAC-címet (hat bájt) a mintákban bitekre, és megnézzük az „1” bit megjelenésének gyakoriságát mind a 48 pozícióban. Ha a bit teljesen véletlenszerűen van beállítva, akkor az „1” valószínűsége 50%-nak kell lennie.
Wi-Fi minta №1 (Oroszország)
Wi-Fi minta №2 (Fehéroroszország)
Wi-Fi minta №3 (Özbekistan)
LAN minta (Oroszország)
Rekordok száma az adatbázisban
5929000
1274000
366000
1000
Bit száma:
% '1' bit
% '1' bit
% '1' bit
% '1' bit
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%
Honnan származik ennyi igazságtalanság a 7. és 8. bitekben? Ott szinte mindig nullák vannak.
Valóban, a szabvány ezekben a bitekben speciálisakat határoz meg ():

Az első bájt nyolcadik (a kezdetétől számítva) bitje a MAC cím unicast/multicast bitje, és meghatározza, hogy milyen típusú keret (frame) kerül átvitelre ezzel a címmel, normál (0) vagy széleskörű (1) (multicast vagy broadcast). Normál, unicast hálózati adapter interakció esetén ez a bit '0'-ra van állítva az összes neki küldött csomagban.
Az első bájt hetedik (a kezdetétől számítva) bitje U/L (Universal/Local) bit, amely meghatározza, hogy a cím globálisan egyedi (0), vagy lokálisan egyedi (1). Alapértelmezett szerint az összes 'gyártó által megírt' cím globálisan egyedi, így a begyűjtött MAC címek túlnyomó többsége a hetedik bitet '0'-ra állítja. Az OUI azonosítók kijelölt táblázatában mindössze körülbelül 130 bejegyzés rendelkezik U/L '1' bittel, és nyilvánvalóan ezek speciális igényekhez tartozó MAC cím blokkok.
Az első bájt hatodik bitétől az első bitig, a második és harmadik bájt bitei az OUI azonosítókban, és különösen a cím 4-6. byte-ában lévő gyártók által kijelölt bitek viszonylag egyenletesen oszlanak el.
Így a hálózati adapter valódi MAC címében a bitek valójában egyenlő értékűek, és nem hordoznak technológiai jelentőséget, kivéve a legmagasabb bájt két különleges bitjét.
Elterjedtség
Érdekes, hogy mely vezeték nélküli eszközgyártók a legnépszerűbbek? Egyesítsük az OUI adatbázis keresését az 1. számú minta adataival.
Gyártó
Eszközök részesedése, %
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 (Mobil Kommunikáció)
2,76
ASUSTek COMPUTER INC.
2,58
TCT mobile ltd
2,13
zte corporation
2,00
nincs a IEEE adatbázisban
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
A gyakorlat azt mutatja, hogy minél tehetősebb az adott helyen a vezeték nélküli hálózat előfizetőinek köre, annál nagyobb az Apple eszközök részesedése.
Egyediség
Egyediek-e a MAC címek? Elméletileg igen, mivel minden eszközgyártónak (a MAC blokkok tulajdonosainak) egyedi címet kell biztosítania az általa gyártott hálózati adapterekhez. Azonban néhány chipgyártó, nevezetesen:
- 00:0A:F5 Airgo Networks, Inc. (jelenleg Qualcomm)
- 00:08:22 InPro Comm (jelenleg MediaTek)
az utolsó három bájt MAC-címét véletlen számra állítja be, láthatóan minden egyes eszköz újraindításakor. Az én mintámban összesen 82 ezer ilyen cím található.
Más, nem egyedi címet az ember természetesen tud beállítani „a szomszéd mintájára”, ha azt egy snifferről meghatározza, vagy véletlenszerűen választja ki. Az is lehetséges, hogy véletlenül nem egyedi címet állít be, ha például valamelyik Mikrotik vagy OpenWrt router konfigurációs biztonsági mentésének visszaállítását végzi.
Mi történik, ha a hálózatban két eszköz van ugyanazzal a MAC-címmel? Minden a hálózati berendezések logikájától függ (vezetékes router, vezeték nélküli hálózat vezérlője). Valószínűleg mindkét eszköz vagy nem fog működni, vagy akadozni fog. Az IEEE szabványok szempontjából a MAC-cím hamisításának védelmét például a MACsec vagy az 802.1X segítségével javasolják megoldani.
Mi történik, ha a MAC-cím hetedik vagy nyolcadik bitje „1”-re van állítva, azaz local vagy multicast-cím? Valószínűleg a hálózata ezt nem fogja észrevenni, de hivatalosan egy ilyen cím nem felel meg a szabványnak, és jobb, ha nem csinálja ezt.
Hogyan működik a randomizálás
Tudjuk, hogy az emberek mozgásának nyomon követését a levegő szkennelésével és a MAC-címek összegyűjtésével a mobiltelefonok operációs rendszerei már évek óta randomizálási technológiát alkalmaznak. Elméletileg, amikor a mobiltelefon a levegőt szkennelve ismert hálózatokat keres, egy 802.11 próba kérést (probe request) küld MAC-címmel mint forrást:

A bekapcsolt randomizálás lehetővé teszi, hogy ne a „beégett”, hanem valamilyen más forráscím legyen megadva a csomaghoz, amely minden szkennelési ciklusnál változik, időben vagy valamilyen más módon. Működik ez? Nézzük meg a Wi-Fi Radar által összegyűjtött MAC-címek statisztikáit:
Az összes minta
Minta csak a nulladik 7-es bittel
Rekordok száma az adatbázisban
3920000
305000
Bit száma:
% '1' bit
% '1' bit
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%
A kép teljesen más.
A MAC-cím első bájtjának 8. bitje továbbra is megfelel a SRC-cím unicast jellegének a probe request csomagban.
A 7. bit az esetek 92,2%-ában Local-ra van állítva, tehát kellő biztonsággal mondható, hogy ennyi összegyűjtött cím tartozik a randomizált címekhez, míg kevesebb, mint 8%-a valós. Ugyanakkor a bit eloszlása az OUI-ban a valós címek esetében nagyjából megegyezik az előző táblázat adataival.
Melyik gyártóhoz tartoznak a randomizált címek az OUI szerint (azaz ahol a 7. bit '1' értéket vesz fel)?
Gyártó OUI szerint
Az összes cím közötti részesedés
nincs a IEEE adatbázisban
62.45%
Google Inc.
37.54%
a többi
0.01%
Ezenkívül minden Google-hoz rendelt randomizált cím egy OUI-hoz tartozik, amelynek prefixe DA:A1:19. Mi ez a prefix? Nézzük meg az .
private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");A stock Android speciális, regisztrált OUI-t használ a vezeték nélküli hálózatok keresésekor, ez az egyik ritka, amelynél a hetedik bit be van állítva.
Számoljuk ki a valódi MAC-címet a véletlenszerűből
Nézzük ott is:
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;
}
A cím egésze, vagy az alsó három bájtja, teljesen Random.nextLong(). "Szabadalmaztatott valódi MAC helyreállítás" — átverés. Nagy valószínűséggel várható, hogy az Android telefon gyártók más, nem regisztrált OUI-kat is alkalmaznak. IOS forráskódunk nincs, de valószínűleg ott hasonló algoritmust alkalmaztak.
Az előbbiek nem zárják ki a Wi-Fi előfizetők más deanonimizációs mechanizmusainak működését, amelyek a probe request keret más mezőinek elemzésére vagy az eszköz által küldött kérések relatív frekvenciájának korrelációjára építenek. Azonban nehéz megbízhatóan nyomon követni az előfizetőt külső eszközökkel. Az összegyűjtött adatok inkább a hely és idő szerinti átlagos / csúcs terhelés elemzésére alkalmasak, nagy számok alapján, anélkül, hogy konkrét eszközökhöz és emberekhez kötnék őket. Csak azoknak van pontos adataik, akik "benn" vannak, maguk a mobil operációs rendszerek gyártói, a telepített alkalmazások.
Mi lehet veszélyes abban, ha valaki más megtudja az eszközöd MAC-címét? Vezetékes és vezeték nélküli hálózatok esetében lehetséges egy "szolgáltatásmegtagadási" támadás megszervezése. Vezeték nélküli eszköz esetén ráadásul bizonyos valószínűséggel rögzíteni lehet a megjelenés pillanatát azon a helyen, ahol a szenzor található. Az cím hamisításával megpróbálhatsz "másnak kiadni" magad, ami csak akkor működhet, ha nem alkalmaznak további védelmet (hitelesítés és/vagy titkosítás). Az emberek 99,9%-ának itt nem kell aggódnia.
A MAC-cím bonyolultabb, mint amilyennek tűnik, de egyszerűbb, mint amilyen lehetne.
Forrás: habr.com
