Sadayana terang yén genep bait ieu, biasana dipidangkeun dina format héksadesimal, ditugaskeun ka kartu jaringan di pabrik, sareng katingalina acak. Sababaraha urang terang yén tilu bait munggaran alamatna nyaéta ID produsén, sareng tilu bait sésana ditugaskeun ka aranjeunna. Hal ieu ogé dipikawanoh nu bisa nyetél diri sawenang-wenang alamat. Loba jalma geus uninga ngeunaan "alamat acak" dina Wi-Fi.
Hayu urang terang naon éta.
Alamat MAC (alamat kontrol aksés média) nyaéta identifier unik anu ditugaskeun ka adaptor jaringan, dianggo dina jaringan standar IEEE 802, utamina Ethernet, Wi-Fi sareng Bluetooth. Resmina disebut "EUI-48 tipe identifier". Tina nami éta écés yén alamatna panjangna 48 bit, i.e. 6 bait. Teu aya standar anu ditarima sacara umum pikeun nulis alamat (sabalikna tina alamat IPv4, dimana oktét sok dipisahkeun ku titik-titik). Biasana ditulis salaku genep wilangan héksadesimal anu dipisahkeun ku titik dua: 00:AB:CD:EF:11: 22, sanajan sababaraha pabrik parabot resep notasi 00 -AB-CD-EF-11-22 komo 00ab.cdef.1122.
Sacara historis, alamat diprogram kana ROM chipset kartu jaringan sareng teu tiasa dirobih tanpa programmer flash, tapi ayeuna alamatna tiasa dirobih sacara program tina sistem operasi. Anjeun tiasa sacara manual nyetel alamat MAC kartu jaringan dina Linux sareng MacOS (salawasna), Windows (ampir sok, upami supirna ngijinkeun), Android (ngan ukur di-root); nganggo iOS (tanpa root) trik sapertos kitu moal mungkin.
Struktur alamat
Alamatna diwangun ku bagian tina identifier produsén, OUI, sareng identifier anu ditugaskeun ku produsén. Penugasan tina OUI (Organizationally Unique Identifier) identifiers organisasi IEEE. Nyatana, panjangna henteu ngan ukur 3 bait (24 bit), tapi 28 atanapi 36 bit, ti mana blok (Blok Alamat MAC, MA) alamat jinis ageung (MA-L), Sedeng (MA-M) sareng Leutik kabentuk (MA-S) masing-masing. Ukuran blok anu dikaluarkeun, dina hal ieu, bakal 24, 20, 12 bit atanapi 16 juta, 1 juta, 4 rébu alamat. Ayeuna aya sakitar 38 rébu blok anu disebarkeun, aranjeunna tiasa ditingali nganggo seueur alat online, contona atawa .
Saha nu gaduh alamatna?
Gampang ngolah sadia umum IEEE nyadiakeun cukup loba informasi. Contona, sababaraha organisasi geus nyokot loba blok OUI keur diri. Ieu pahlawan urang:
Ngajual
Jumlah blok / rékaman
Jumlah alamat, jutaan
Cisco Systems Nyarita
888
14208
apel
772
12352
Samsung
636
10144
Huawei Technologies Co.Ltd
606
9696
Intel Corporation
375
5776
ARRIS Grup Nyarita.
319
5104
Nokia Corporation
241
3856
wasta
232
2704
Texas Instrumén
212
3392
perusahaan zte
198
3168
Otoritas Pendaptaran IEEE
194
3072
Hewlett Packard
149
2384
Hon Hai Precision
136
2176
TP-link
134
2144
Dell Inc.
123
1968
Juniper Jaringan
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
Google ngan boga 40 di antarana, sarta ieu teu heran: maranéhna sorangan teu ngahasilkeun loba alat jaringan.
blok ma teu disadiakeun haratis, aranjeunna bisa dibeuli pikeun harga lumrah (tanpa fee langganan) keur $ 3000, $ 1800 atawa $ 755, tuturutan. Narikna, pikeun duit tambahan (per taun) anjeun tiasa mésér "nyumput" inpormasi umum ngeunaan blok anu dialokasikeun. Ayeuna aya 232 di antarana, sakumaha anu katingali di luhur.
Iraha urang bakal béak alamat MAC?
Urang sadayana bosen kana carita anu parantos lumangsung salami 10 taun yén "alamat IPv4 badé béak." Sumuhun, blok IPv4 anyar geus euweuh gampang pikeun ménta. Perlu dipikanyaho yén alamat IP ; Aya blok gigantic na underutilized milik korporasi badag sarta agénsi pamaréntah AS, kumaha oge, kalawan saeutik harepan redistributing aranjeunna ka jalma merlukeun. Proliferasi NAT, CG-NAT sareng IPv6 ngajantenkeun masalah kakurangan alamat umum kirang akut.
A alamat MAC boga 48 bit, nu 46 bisa dianggap "mangpaat" (naha? Baca on), nu mere 246 atawa 1014 alamat, nu 214 kali leuwih ti spasi alamat IPv4.
Ayeuna, kurang leuwih satengah triliun alamat geus disebarkeun, atawa ngan 0.73% tina total volume. Kami masih pisan, jauh pisan tina kehabisan alamat MAC.
Randomness bit
Ieu bisa dianggap yén OUIs disebarkeun acak, sarta ngajual lajeng ogé acak nangtukeun alamat ka alat jaringan individu. Naha kitu? Hayu urang tingali panyebaran bit dina pangkalan data alamat MAC tina 802.11 alat anu aya dina pembuangan kuring, dikumpulkeun ku sistem otorisasi damel dina jaringan nirkabel. . Alamatna milik alat nyata anu nyambung ka Wi-Fi salami sababaraha taun di tilu nagara. Sajaba ti éta, aya database leutik 802.3 alat LAN kabel.
Hayu urang ngarecah unggal alamat MAC (genep bait) unggal sampel kana bit, bait demi bait, sarta kasampak di frékuénsi lumangsungna bit "1" dina unggal 48 posisi. Upami bit disetél dina cara anu sawenang-wenang, maka kamungkinan kéngingkeun "1" kedahna 50%.
Pilihan Wi-Fi No. 1 (RF)
Sampel Wi-Fi No. 2 (Belarus)
Pilihan Wi-Fi No. 3 (Uzbékistan)
LAN sampling (RF)
Jumlah rékaman dina database
5929000
1274000
366000
1000
Jumlah bit:
% 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%
Naha ketidakadilan sapertos dina 7 sareng 8 bit? Aya ampir sok nol.
Memang, standar ngahartikeun bit ieu salaku husus ():

Bit kadalapan (ti mimiti) tina bait kahiji alamat MAC disebut bit Unicast/Multicast jeung nangtukeun jenis pigura (pigura) naon dikirimkeun ku alamat ieu, biasa (0) atawa siaran (1) (multicast atawa siaran). Pikeun normal, komunikasi adaptor jaringan unicast, bit ieu disetel ka "0" dina sakabéh pakét dikirim ka dinya.
Bit katujuh (ti mimiti) tina bait mimiti alamat MAC disebut bit U/L (Universal/Lokal) jeung nangtukeun naha alamatna unik sacara global (0), atawa unik lokal (1). Sacara standar, sadaya alamat "pabrikan-stitched" sacara global unik, jadi seuseueurna alamat MAC anu dikumpulkeun ngandung bit katujuh disetel ka "0". Dina tabel identifiers OUI ditugaskeun, ngan ngeunaan 130 éntri boga U / L bit "1", sarta tétéla ieu blok alamat MAC pikeun kaperluan husus.
Ti kagenep nepi ka bit mimiti bait kahiji, bit kadua jeung katilu bait dina identifiers OUI, komo deui bit dina 4-6 bait alamat nu ditugaskeun ku produsén disebarkeun leuwih atawa kurang merata. .
Ku kituna, dina alamat MAC nyata tina adaptor jaringan, bit sabenerna sarimbag jeung teu boga harti téhnologis, iwal dua bit layanan tina bait tinggi.
Prévalénsi
Panasaran mana produsén alat nirkabel anu pang populerna? Hayu urang ngagabungkeun pilarian dina database OUI jeung data ti sampel No.
Ngajual
Pangsa alat,%
apel
26,09
Samsung
19,79
Huawei Technologies Co. Ltd
7,80
Xiaomi Communications Co Ltd
6,83
Sony Mobile Communications Nyarita
3,29
LG Electronics (Komunikasi Seluler)
2,76
ASUSTek KOMPUTER INC.
2,58
TCT mobile Ltd
2,13
perusahaan zte
2,00
teu kapanggih dina database IEEE
1,92
Lenovo Mobile Communication Technology Ltd.
1,71
HTC Corporation
1,68
Murata Manufaktur
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 Komunikasi (Wuhan) Company Limited
0,71
Prakték nunjukkeun yén langkung makmur kontingén palanggan jaringan nirkabel dina lokasi anu ditangtukeun, langkung ageung pangsa alat Apple.
uniqueness
Naha alamat MAC unik? Dina tiori, enya, saprak unggal produsén alat (MA block boga) diperlukeun pikeun nyadiakeun alamat unik pikeun tiap tina adapters jaringan eta ngahasilkeun. Tapi, sababaraha pabrik chip, nyaéta:
- 00:0A:F5 Argo Networks, Inc. (ayeuna Qualcomm)
- 00:08:22 InPro Comm (ayeuna MediaTek)
set tilu bait panungtungan alamat MAC ka angka acak, katingalina sanggeus unggal alat reboot. Aya 1 rébu alamat sapertos dina sampel kuring No.
Anjeun tiasa, tangtosna, nyetél diri anjeun asing, alamat non-unik ku purposefully netepkeun "kawas tatangga anjeun", ngaidentipikasi eta kalawan sniffer a, atawa milih eta di acak. Ieu oge mungkin mun ngahaja nyetel sorangan alamat non-unik ku, contona, malikkeun konfigurasi cadangan router kawas Mikrotik atanapi OpenWrt.
Naon anu bakal kajadian upami aya dua alat dina jaringan sareng alamat MAC anu sami? Eta sadayana gumantung kana logika alat jaringan (router kabel, controller jaringan nirkabel). Paling dipikaresep, kadua alat eta moal jalan atawa bakal dianggo intermittently. Tina sudut pandang standar IEEE, panyalindungan ngalawan spoofing alamat MAC diusulkeun pikeun direngsekeun nganggo, contona, MACsec atanapi 802.1X.
Kumaha upami anjeun masang MAC kalayan bit katujuh atanapi kadalapan disetel ka "1", i.e. alamat lokal atawa multicast? Paling dipikaresep, jaringan anjeun moal nengetan ieu, tapi sacara resmi alamat sapertos moal sasuai jeung standar, sarta eta leuwih hade teu ngalakukeun kitu.
Kumaha karya randomization
Kami terang yén pikeun nyegah nyukcruk gerakan jalma ku cara nyeken sareng ngumpulkeun gelombang udara, sistem operasi MAC smartphone parantos nganggo téknologi randomisasi salami sababaraha taun. Sacara téoritis, nalika nyeken gelombang udara milarian jaringan anu dipikanyaho, smartphone ngirim pakét (kelompok pakét) tina jinis pamundut 802.11 kalayan alamat MAC salaku sumberna:

randomization diaktipkeun ngidinan Anjeun pikeun nangtukeun teu "stitched" hiji, tapi sababaraha alamat sumber pakét séjén, ngarobah kalawan unggal siklus scanning, kana waktu, atawa ku cara séjén. Dupi éta dianggo? Hayu urang tingali statistik alamat MAC anu dikumpulkeun tina hawa ku anu disebut "Wi-Fi Radar":
Sakabéh sampel
Sampel ngan kalawan nol 7 bit
Jumlah rékaman dina database
3920000
305000
Jumlah bit:
% 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%
gambar sagemblengna béda.
Bit ka-8 tina bait mimiti alamat MAC masih cocog sareng sifat Unicast alamat SRC dina pakét pamundut usik.
Bit ka-7 disetel ka Lokal dina 92.2% kasus, nyaéta. Kalayan tingkat kapercayaan anu adil, urang tiasa nganggap yén seueur pisan alamat anu dikumpulkeun sacara acak, sareng kirang ti 8% nyata. Dina hal ieu, sebaran bit dina OUI pikeun alamat nyata misalna kira coincides jeung data dina tabel saméméhna.
Pabrikan mana, numutkeun OUI, anu gaduh alamat acak (nyaéta sareng bit ka-7 dina "1")?
Produsén ku OUI
Bagikeun diantara sadaya alamat
teu kapanggih dina database IEEE
62.45%
Google Inc.
37.54%
istirahat
0.01%
Sumawona, sadaya alamat acak anu ditugaskeun ka Google milik OUI anu sami sareng awalan DA:A1:19. Naon awalan ieu? Hayu urang tingali .
private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");Stock Android ngagunakeun husus, didaptarkeun OUI nalika néangan jaringan nirkabel, salah sahiji ti saeutik jeung set bit katujuh.
Ngitung MAC nyata tina hiji acak
Hayu urang tingali di dinya:
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;
}
Sakabéh alamat, atawa tilu bait handap na, murni Random.nextLong()"Restorasi anu dipatenkeun pikeun MAC asli" mangrupikeun panipuan. Bisa dipiharep kalawan tingkat kapastian anu luhur yén pabrik AndroidOUI anu sanés anu teu kadaptar ogé dianggo dina telepon. Urang teu gaduh kode sumber iOS, tapi kamungkinan algoritma anu sami dianggo di dinya.
Di luhur teu ngabatalkeun karya mékanisme séjén pikeun de-anonymizing palanggan Wi-Fi, dumasar kana analisis widang sejenna pigura pamundut usik, atawa korelasi frékuénsi relatif requests dikirim ku alat. Sanajan kitu, reliably nyukcruk palanggan ngagunakeun sarana éksternal pisan masalah. Data anu dikumpulkeun bakal langkung cocog pikeun nganalisis beban rata-rata / puncak dumasar lokasi sareng waktos, dumasar kana jumlah anu ageung, tanpa ngarujuk kana alat sareng jalma khusus. Ngan anu "di jero", produsén OS mobile sorangan, sareng aplikasi anu dipasang gaduh data anu akurat.
Naon bahayana lamun aya nu nyaho alamat MAC alat anjeun? Serangan denial-of-service bisa dijalankeun dina jaringan kabel jeung nirkabel. Pikeun alat nirkabel, aya ogé kamungkinan ayana alat éta di lokasi sensor bisa dideteksi. Spoofing alamat bisa dipaké pikeun nyamar jadi alat anjeun, tapi ieu ngan bakal bisa dipaké lamun teu aya ukuran kaamanan tambahan (otorisasi jeung/atawa énkripsi). 99.9% Jalma-jalma di dieu teu aya anu kedah hariwang.
Alamat MAC langkung rumit tibatan sigana, tapi langkung sederhana tibatan anu tiasa.
sumber: www.habr.com
