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.
Dina sajarahna, alamat flashed kana ROM tina chipset kartu jaringan tanpa kamampuhan pikeun ngaropea aranjeunna tanpa programmer flash, tapi kiwari alamatna bisa dirobah programmatically tina sistem operasi. Anjeun tiasa sacara manual nyetél alamat MAC tina kartu jaringan dina Linux sareng MacOS (salawasna), Windows (ampir sok, upami supir ngamungkinkeun), Android (ngan ukur akar); Kalayan ios (tanpa akar) trik sapertos kitu mustahil.
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
Saha nu gaduh alamatna?
Gampang ngolah sadia umum
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
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.
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(). "Pamulihan proprietary tina MAC nyata" mangrupikeun panipuan. Kalayan tingkat kapercayaan anu luhur, urang tiasa ngarepkeun yén produsén telepon Android nganggo OUI sanés anu henteu kadaptar. Urang teu boga kode sumber ios, tapi paling dipikaresep algoritma sarupa dipaké 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 anu tiasa bahaya upami jalma sanés terang alamat MAC alat anjeun? Serangan panolakan jasa tiasa diluncurkeun pikeun jaringan kabel sareng nirkabel. Pikeun alat nirkabel, komo deui, kalawan sababaraha kamungkinan kamungkinan pikeun ngarekam momen penampilan na di tempat dimana sensor dipasang. Ku spoofing alamatna, anjeun tiasa nyobian "pura-pura" janten alat anjeun, anu ngan tiasa jalan upami teu aya ukuran kaamanan tambahan anu dianggo (otorisasi sareng/atanapi enkripsi). 99.9% jalma di dieu teu boga salempang ngeunaan.
Alamat MAC langkung rumit tibatan sigana, tapi langkung sederhana tibatan anu tiasa.
sumber: www.habr.com