Ĉio, kion vi volis scii pri la MAC-adreso

Ĉio, kion vi volis scii pri la MAC-adresoĈiuj scias, ke ĉi tiuj ses bajtoj, kutime montrataj en deksesuma formato, estas asignitaj al la retkarto ĉe la fabriko, kaj estas ŝajne hazardaj. Iuj homoj scias, ke la unuaj tri bajtoj de la adreso estas la fabrikanto ID, kaj la ceteraj tri bajtoj estas asignitaj al ili. Estas ankaŭ sciate, ke vi povas agordi vin mem arbitra adreso. Multaj homoj aŭdis pri "hazardaj adresoj" en Wi-Fi.

Ni eltrovu, kio ĝi estas.

MAC-adreso (media alirkontroladreso) estas unika identigilo asignita al retadaptilo, uzata en retoj de IEEE 802 normoj, ĉefe Ethernet, Wi-Fi kaj Bluetooth. Oficiale ĝi estas nomita la "EUI-48-tipa identigilo". El la nomo estas evidente, ke la adreso longas 48 bitojn, t.e. 6 bajtoj. Ne ekzistas ĝenerale akceptita normo por skribi adreson (kontraste al IPv4-adreso, kie oktetoj ĉiam estas apartigitaj per punktoj).Ĝi estas kutime skribita kiel ses deksesuma nombroj apartigitaj per dupunkto: 00:AB:CD:EF:11: 22, kvankam iuj ekipaĵfabrikistoj preferas la notacion 00 -AB-CD-EF-11-22 kaj eĉ 00ab.cdef.1122.

Historie, adresoj estis fulmitaj en la ROM de la retkarta pecetaro sen la kapablo modifi ilin sen fulmprogramisto, sed nuntempe la adreso povas esti ŝanĝita programe de la operaciumo. Vi povas mane agordi la MAC-adreson de retkarto en Linukso kaj MacOS (ĉiam), Vindozo (preskaŭ ĉiam, se la ŝoforo permesas), Android (nur radikita); Kun iOS (sen radiko) tia lertaĵo estas neebla.

Adresstrukturo

La adreso konsistas el parto de la identigilo de la produktanto, OUI, kaj identigilo asignita de la produktanto. Asigno de OUI (Organize Unika Identigilo) ​​identigiloj okupiĝis pri IEEE-organizo. Fakte ĝia longo povas esti ne nur 3 bajtoj (24 bitoj), sed 28 aŭ 36 bitoj, el kiuj blokoj (MAC Address Block, MA) de adresoj de tipoj Granda (MA-L), Meza (MA-M) kaj Malgrandaj estas formitaj (MA-S) respektive. La grandeco de la elsendita bloko, en ĉi tiu kazo, estos 24, 20, 12 bitoj aŭ 16 milionoj, 1 miliono, 4 mil adresoj. Nuntempe estas ĉirkaŭ 38 mil blokoj distribuitaj, ili estas videblaj per multnombraj interretaj iloj, ekzemple IEEEWireshark.

Kiu posedas la adresojn?

Facila prilaborado de publike disponeblaj malŝarĝante datumbazojn IEEE provizas sufiĉe da informoj. Ekzemple, iuj organizoj prenis multajn OUI-blokojn por si. Jen niaj herooj:

Vendisto
Nombro de blokoj/rekordoj
Nombro da adresoj, miliono

Stencils
888
14208

pomo
772
12352

samsung
636
10144

Huawei Technologies Co.Ltd
606
9696

Intel Corporation
375
5776

ARRIS Group Inc.
319
5104

Nokia-Korporacio
241
3856

privata
232
2704

Teksaso Instruments
212
3392

zte korporacio
198
3168

IEEE Registrada Aŭtoritato
194
3072

Hewlett Packard
149
2384

Hon Hai Precision
136
2176

TP-LINK
134
2144

Dell Inc.
123
1968

Juniper-Retoj
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

Guglo havas nur 40 el ili, kaj tio ne estas surpriza: ili mem ne produktas multajn retajn aparatojn.

MA-blokoj ne estas disponigitaj senpage, ili povas esti aĉetitaj kontraŭ racia prezo (sen abonkotizo) por $3000, $1800 aŭ $755, respektive. Interese, por plia mono (jare) vi povas aĉeti "kaŝadon" de publikaj informoj pri la asignita bloko. Nun estas 232 el ili, kiel videblas supre.

Kiam ni elĉerpos MAC-adresojn?

Ni ĉiuj estas sufiĉe lacaj de la rakontoj kiuj daŭris dum 10 jaroj, ke "IPv4-adresoj estas elĉerpiĝantaj." Jes, novaj IPv4-blokoj ne plu estas facile akireblaj. Oni scias, ke IP-adresoj ege malegale distribuita; Estas gigantaj kaj subutiligitaj blokoj posedataj de grandaj korporacioj kaj usonaj registaraj agentejoj, tamen, kun malmulte da espero redistribui ilin al tiuj, kiuj bezonas. La disvastiĝo de NAT, CG-NAT kaj IPv6 malpli akrigis la problemon de manko de publikaj adresoj.

MAC-adreso havas 48 bitojn, el kiuj 46 povas esti konsiderataj "utilaj" (kial? legu plu), kiu donas 246 aŭ 1014 adresojn, kio estas 214 fojojn pli ol la adresspaco IPv4.
Nuntempe, proksimume duona duiliono da adresoj estis distribuitaj, aŭ nur 0.73% de la totala volumo. Ni ankoraŭ estas tre, tre malproksimaj de elĉerpiĝo de MAC-adresoj.

Hazardaj pecoj

Oni povas supozi, ke la OUI-oj estas distribuitaj hazarde, kaj la vendisto tiam ankaŭ hazarde asignas adresojn al individuaj retaj aparatoj. Ĉu estas tiel? Ni rigardu la distribuadon de bitoj en la datumbazoj de MAC-adresoj de 802.11-aparatoj je mia dispono, kolektitaj de laborantaj rajtigaj sistemoj en sendrataj retoj. WNAM. La adresoj apartenas al realaj aparatoj konektitaj al Wi-Fi dum pluraj jaroj en tri landoj. Krome ekzistas malgranda datumbazo de 802.3 kabligitaj LAN-aparatoj.

Ni malkonstruu ĉiun MAC-adreson (ses bajtoj) de ĉiu el la specimenoj en bitojn, bajton post bajto, kaj rigardu la oftecon de apero de la "1" bito en ĉiu el la 48 pozicioj. Se la bito estas metita en tute arbitra maniero, tiam la probablo akiri "1" devus esti 50%.

Wifi-elekto n-ro 1 (RF)
Wifi-ekzemplo n-ro 2 (Belorusio)
Vifi-elekto numero 3 (Uzbekio)
LAN-specimeno (RF)

Nombro da rekordoj en la datumbazo
5929000
1274000
366000
1000

Bita nombro:
% bito "1"
% bito "1"
% bito "1"
% bito "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%

Kial tia maljusteco en 7 kaj 8 bitoj? Preskaŭ ĉiam estas nuloj.

Efektive, la normo difinas ĉi tiujn bitojn kiel specialajn (Vikipedio):
Ĉio, kion vi volis scii pri la MAC-adreso

La oka (de la komenco) bito de la unua bajto de la MAC-adreso estas nomita la Unicast/Multicast-bito kaj determinas kian specon de kadro (kadro) estas elsendita kun ĉi tiu adreso, regula (0) aŭ elsendo (1) (multielsenda aŭ elsendo). Por normala, unuelsenda retadaptilo komunikado, ĉi tiu bito estas agordita al "0" en ĉiuj pakaĵoj senditaj al ĝi.

La sepa (de la komenco) bito de la unua bajto de la MAC-adreso estas nomita la U/L (Universala/Loka) bito kaj determinas ĉu la adreso estas tutmonde unika (0), aŭ loke unika (1). Defaŭlte, ĉiuj "fabrikisto-kudritaj" adresoj estas tutmonde unikaj, do la vasta plimulto de kolektitaj MAC-adresoj enhavas la sepan biton fiksitan al "0". En la tabelo de asignitaj OUI-identigiloj, nur proksimume 130 enskriboj havas U/L-biton de "1", kaj ŝajne ĉi tiuj estas blokoj de MAC-adresoj por specialaj bezonoj.

De la sesa ĝis la unuaj bitoj de la unua bajto, la bitoj de la dua kaj tria bajtoj en la OUI-identigiloj, kaj eĉ pli la bitoj en la 4-6 bajtoj de la adreso asignita de la fabrikanto estas distribuitaj pli-malpli egale. .

Tiel, en la reala MAC-adreso de la retadaptilo, la bitoj estas fakte ekvivalentaj kaj havas neniun teknologian signifon, kun la escepto de du servobitoj de la alta bajto.

Prevalencia

Vi scivolas, kiuj sendrataj ekipaĵaj fabrikantoj estas la plej popularaj? Ni kombinu la serĉon en la OUI-datumbazo kun la datumoj de la specimeno n-ro 1.

Vendisto
Proporcio de aparatoj, %

pomo
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 (Poŝtelefonaj Komunikadoj)
2,76

ASUSTek KOMPUTILO INC.
2,58

TCT Mobile Ltd
2,13

zte korporacio
2,00

ne trovita en la IEEE-datumbazo
1,92

Lenovo Mobile Communication Technology Ltd.
1,71

HTC-Korporacio
1,68

Murata Manufacturing
1,31

InPro Comm
1,26

Microsoft Corporation
1,11

Shenzhen TINNO Mobile Technology Corp.
1,02

Motorola (Vuhano) Mobility Technologies Communication Co. Ltd.
0,93

Nokia-Korporacio
0,88

Ŝanhaja Wind Technologies Co. Ltd
0,74

Lenovo Mobile Communication (Vuhano) Company Limited
0,71

Praktiko montras, ke ju pli prospera estas la kontingento de sendrataj retaj abonantoj en difinita loko, des pli granda estas la parto de Apple-aparatoj.

Unikeco

Ĉu MAC-adresoj estas unikaj? En teorio, jes, ĉar ĉiu aparatfabrikisto (MA-blokoposedanto) devas provizi unikan adreson por ĉiu el la retaj adaptiloj kiujn ĝi produktas. Tamen iuj fabrikantoj de blatoj, nome:

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

starigu la lastajn tri bajtojn de la MAC-adreso al hazarda nombro, ŝajne post ĉiu rekomenco de la aparato. Estis 1 mil tiaj adresoj en mia specimeno n-ro 82.

Vi povas, kompreneble, agordi al vi fremdan, ne-unikan adreson celante fiksante ĝin "kiel tiu de via najbaro", identigante ĝin per snufisto aŭ elektante ĝin hazarde. Eblas ankaŭ hazarde agordi al vi ne-unikan adreson, ekzemple, restarigante rezervan agordon de enkursigilo kiel Mikrotik aŭ OpenWrt.

Kio okazos se estas du aparatoj en la reto kun la sama MAC-adreso? Ĉio dependas de la logiko de la reto-ekipaĵo (kabla enkursigilo, sendrata retregilo). Plej verŝajne, ambaŭ aparatoj aŭ ne funkcios aŭ funkcios intermite. De la vidpunkto de IEEE-normoj, protekto kontraŭ MAC-adreso-falsado estas proponita esti solvita uzante, ekzemple, MACsec aŭ 802.1X.

Kio se vi instalas MAC kun la sepa aŭ oka bito agordita al "1", t.e. loka aŭ multielsenda adreso? Plej verŝajne, via reto ne atentos ĉi tion, sed formale tia adreso ne konformas al la normo, kaj estas pli bone ne fari tion.

Kiel hazardo funkcias

Ni scias, ke por malhelpi spuradon de homaj movoj per skanado kaj kolektado de sendondoj, saĝtelefonaj MAC-operaciumoj uzas hazardigan teknologion dum pluraj jaroj. Teorie, dum skanado de la sendondoj serĉante konatajn retojn, la inteligenta telefono sendas pakaĵeton (grupon da pakaĵetoj) de la 802.11-enketpetospeco kun la MAC-adreso kiel la fonto:

Ĉio, kion vi volis scii pri la MAC-adreso

Ebligita hazardigo permesas al vi specifi ne la "kudritan", sed iun alian pakatan fontadreson, ŝanĝante kun ĉiu skanado, laŭlonge de la tempo, aŭ alimaniere. Ĉu ĝi funkcias? Ni rigardu la statistikojn de MAC-adresoj kolektitaj el la aero de la tiel nomata "Wi-Fi Radaro":

Tuta specimeno
Specimeno nur kun nulo 7-a bito

Nombro da rekordoj en la datumbazo
3920000
305000

Bita nombro:
% bito "1"
% bito "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%

La bildo estas tute alia.

La 8-a bito de la unua bajto de la MAC-adreso daŭre egalrilatas al la Unicast-naturo de la SRC-adreso en la enketpetpakaĵo.

La 7-a bito estas agordita al Loka en 92.2% de kazoj, t.e. Kun justa grado da fido, ni povas supozi, ke ekzakte tiom da el la kolektitaj adresoj estas hazardaj, kaj malpli ol 8% estas realaj. En ĉi tiu kazo, la distribuado de bitoj en la OUI por tiaj realaj adresoj proksimume koincidas kun la datenoj en la antaŭa tabelo.

Kiu fabrikanto, laŭ la OUI, posedas la hazardajn adresojn (t.e. kun la 7-a bito en "1")?

Fabrikisto de OUI
Kunhavigu inter ĉiuj adresoj

ne trovita en la IEEE-datumbazo
62.45%

Google Inc.
37.54%

ripozu
0.01%

Plie, ĉiuj hazardaj adresoj asignitaj al Guglo apartenas al la sama OUI kun la prefikso DA:A1:19. Kio estas ĉi tiu prefikso? Ni enrigardu Android-fontoj.

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

Stock Android uzas specialan, registritan OUI dum serĉado de sendrataj retoj, unu el la malmultaj kun la sepa bito aro.

Kalkulu realan MAC de hazarda unu

Ni vidu tie:

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

La tuta adreso, aŭ ĝiaj pli malaltaj tri bajtoj, estas pura Hazarda.nextLong(). "Proprieta reakiro de reala MAC" estas fraŭdo. Kun alta grado de fido, ni povas atendi, ke Android-telefonproduktantoj uzas aliajn, neregistritajn OUI-ojn. Ni ne havas la iOS fontkodon, sed plej verŝajne simila algoritmo estas uzata tie.

Ĉi-supra ne nuligas la laboron de aliaj mekanismoj por senanonimigo de Wi-Fi-abonantoj, surbaze de la analizo de aliaj kampoj de la sonda petokadro, aŭ korelacio de la relativa ofteco de petoj senditaj de la aparato. Tamen fidinde spuri abonanton uzante eksterajn rimedojn estas ege problema. La datumoj kolektitaj estos pli taŭgaj por analizi averaĝan/pintan ŝarĝon laŭ loko kaj tempo, surbaze de grandaj nombroj, sen referenco al specifaj aparatoj kaj homoj. Nur tiuj "interne", la fabrikantoj de porteblaj OS mem, kaj instalitaj aplikoj havas precizajn datumojn.

Kio povus esti danĝera se iu alia scias la MAC-adreson de via aparato? Neo de servo-atakoj povas esti lanĉitaj por kablaj kaj sendrataj retoj. Por sendrata aparato, krome, kun iom da probableco eblas registri la momenton de ĝia apero en la loko, kie la sensilo estas instalita. Falsigante la adreson, vi povas provi "ŝajnigi" esti via aparato, kiu povas funkcii nur se neniuj aldonaj sekurecaj mezuroj estas uzataj (rajtigo kaj/aŭ ĉifrado). 99.9% de homoj ĉi tie havas nenion por zorgi.

La MAC-adreso estas pli komplika ol ĝi ŝajnas, sed pli simpla ol ĝi povus esti.

fonto: www.habr.com

Aldoni komenton