Көбүнчө он алтылык форматта көрсөтүлгөн бул алты байт заводдогу тармак картасына ыйгарылат жана кокустук сыяктуу көрүнөрүн баары билет. Кээ бир адамдар даректин биринчи үч байт өндүрүүчү ID экенин билишет, ал эми калган үч байт аларга дайындалган. Өзүңдү да орното ала турганы белгилүү эрки менен дареги. Көптөр Wi-Fiдагы "кокус даректер" жөнүндө уккан.
Келгиле, бул эмне экенин аныктап көрөлү.
MAC дареги (медиа кирүүнү башкаруу дареги) – тармак адаптерине дайындалган уникалдуу идентификатор, IEEE 802 стандарттарынын тармактарында, негизинен Ethernet, Wi-Fi жана Bluetooth колдонулат. Расмий түрдө ал "EUI-48 түрү идентификатору" деп аталат. Атынан көрүнүп тургандай, дарек 48 бит узундугу, б.а. 6 байт. Даректи жазуу үчүн жалпы кабыл алынган стандарт жок (октеттер дайыма чекиттер менен бөлүнгөн IPv4 дарегине караганда). Адатта ал эки чекит менен бөлүнгөн алты он алтылык сан түрүндө жазылат: 00:AB:CD:EF:11: 22, кээ бир жабдууларды өндүрүүчүлөр 00 -AB-CD-EF-11-22 жана ал тургай 00ab.cdef.1122 белгисин жактырышат да.
Тарыхый жактан алганда, даректер тармактык карта чипсетинин ROM'уна флеш программистсиз өзгөртүү мүмкүнчүлүгү жок эле жарк эткен, бирок азыркы учурда даректи операциялык тутумдан программалык түрдө өзгөртүүгө болот. Тармак картасынын MAC дарегин кол менен Linux жана MacOS (ар дайым), Windows (драйвер уруксат берсе, дээрлик ар дайым), Android (тамырлуу гана) орното аласыз; IOS менен (тамырсыз) мындай трюк мүмкүн эмес.
Дарек структурасы
Дарек өндүрүүчүнүн идентификаторунун, OUIдин жана өндүрүүчү тарабынан дайындалган идентификатордун бир бөлүгүнөн турат. OUI (Unique Unique Identifier) идентификаторлорун дайындоо
Даректер кимге таандык?
Жалпыга жеткиликтүү жеңил иштетүү
Сатуучу
Блоктордун/жазуулардын саны
Даректердин саны, миллион
Cisco Systems Inc
888
14208
алма
772
12352
Samsung
636
10144
Huawei Technologies Co.Ltd
606
9696
Intel Corporation
375
5776
ARRIS Group Inc.
319
5104
Nokia Corporation
241
3856
жеке
232
2704
Texas Instruments
212
3392
zte корпорациясы
198
3168
IEEE каттоо органы
194
3072
Hewlett Packard
149
2384
Hon Hai Precision
136
2176
TP LINK
134
2144
Dell Inc.
123
1968
Арча Networks
110
1760
Sagemcom кең тилкелүү 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 алардын 40 гана бар, жана бул калыштуу эмес: алар өздөрү көп тармак түзмөктөрдү чыгарышпайт.
MA блоктору бекер берилбейт, аларды ылайыктуу баада 3000 долларга, 1800 долларга же 755 долларга сатып алса болот (абоненттик төлөмсүз). Кызыгы, кошумча акча үчүн (жылына) сиз бөлүнгөн блок жөнүндө ачык маалыматты "жашырууну" сатып ала аласыз. Азыр алардын саны 232ге жетип, жогоруда көрүнүп тургандай.
MAC даректерибиз качан түгөнөт?
10 жылдан бери айтылып келе жаткан "IPv4 даректери түгөнүп баратат" деген окуялардан баарыбыз чарчадык. Ооба, жаңы IPv4 блокторун алуу оңой эмес. Бул IP даректери белгилүү
MAC дареги 48 битке ээ, анын 46сын “пайдалуу” деп эсептесе болот (эмне үчүн? окууну улантуу), ал 246 же 1014 даректи берет, бул IPv214 дарек мейкиндигинен 4 эсе көп.
Учурда болжол менен жарым триллион дарек таратылды, же жалпы көлөмдүн 0.73% гана. Биз дагы эле MAC даректери түгөнгөндөн абдан алыспыз.
Кокустук биттери
Бул OUI туш келди бөлүштүрүлөт деп болжолдоого болот, жана сатуучу андан кийин да туш келди жеке тармак түзмөктөргө даректерди дайындайт. ушундайбы? Келгиле, зымсыз тармактарда иштеген авторизация системалары тарабынан чогултулган 802.11 түзмөктөрдүн MAC даректеринин маалымат базаларында биттердин бөлүштүрүлүшүн карап көрөлү.
Келгиле, ар бир үлгүнүн ар бир MAC дарегин (алты байт) биттерге, байт байттарга бөлүп, 1 позициянын ар биринде “48” биттин пайда болуу жыштыгын карап көрөлү. Эгерде бит толугу менен ыктыярдуу түрдө коюлган болсо, анда "1" алуу ыктымалдыгы 50% болушу керек.
Wi-Fi тандоосу №1 (RF)
Wi-Fi үлгүсү №2 (Беларусь)
Wi-Fi тандоосу №3 (Өзбекстан)
LAN үлгүсүн алуу (RF)
Маалыматтар базасындагы жазуулардын саны
5929000
1274000
366000
1000
Бит саны:
% бит "1"
% бит "1"
% бит "1"
% бит "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%
Эмне үчүн 7 жана 8 битте мындай адилетсиздик? Дээрлик ар дайым нөлдөр бар.
Чынында эле, стандарт бул биттерди өзгөчө (
MAC дарегинин биринчи байтынын сегизинчи (башынан баштап) биттери Unicast/Multicast бит деп аталат жана бул дарек менен кандай типтеги кадрдын (кадрдын) берилээрин аныктайт, кадимки (0) же уктуруу (1) (көп берүү же берүү). Кадимки, Unicast тармак адаптери байланышы үчүн бул бит ага жөнөтүлгөн бардык пакеттерде “0” деп коюлган.
MAC дарегинин биринчи байтынын жетинчи (башынан баштап) биттери U/L (Универсалдуу/Жергиликтүү) бит деп аталат жана дарек глобалдык уникалдуу (0) же жергиликтүү уникалдуу (1) экендигин аныктайт. Демейки боюнча, бардык "өндүрүүчү тарабынан тигилген" даректер глобалдык уникалдуу болуп саналат, ошондуктан чогултулган MAC даректеринин басымдуу көпчүлүгү "0" деп коюлган жетинчи битти камтыйт. Белгиленген OUI идентификаторлорунун таблицасында 130га жакын гана жазууда U/L бит "1" бар жана булар өзгөчө муктаждыктар үчүн MAC даректеринин блоктору.
Биринчи байттын алтынчысынан биринчи биттерине чейин OUI идентификаторлорунун экинчи жана үчүнчү байттарынын биттери, андан да көбүрөөк даректин 4-6 байтындагы бит өндүрүүчү тарабынан аздыр-көптүр бөлүштүрүлөт. .
Ошентип, тармак адаптеринин чыныгы MAC дарегинде биттер иш жүзүндө эквиваленттүү жана жогорку байттын эки кызматтык битинен башка эч кандай технологиялык мааниге ээ эмес.
таралышы
Кызыгып жатасызбы, кайсы зымсыз жабдууларды өндүрүүчүлөр эң популярдуу? OUI маалыматтар базасындагы издөөнү №1 үлгүдөгү маалыматтар менен бириктирели.
Сатуучу
Түзмөктөрдүн үлүшү, %
алма
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 (Мобилдик байланыш)
2,76
ASUSTek COMPUTER INC.
2,58
TCT mobile Ltd
2,13
zte корпорациясы
2,00
IEEE маалымат базасында табылган эмес
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 (Ухань) 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
Практика көрсөткөндөй, белгилүү бир жерде зымсыз тармактын абоненттеринин контингенти канчалык гүлдөсө, Apple аппараттарынын үлүшү ошончолук көп болот.
теоремалар
MAC даректери уникалдуубу? Теориялык жактан алганда, ооба, ар бир түзмөк өндүрүүчүсү (MA блок ээси) ал чыгарган ар бир тармак адаптерлери үчүн уникалдуу даректи камсыз кылуу талап кылынат. Бирок, кээ бир чип өндүрүүчүлөр, атап айтканда:
- 00:0A:F5 Airgo Networks, Inc. (азыр Qualcomm)
- 00:08:22 InPro Comm (азыр MediaTek)
MAC дарегинин акыркы үч байтын кокус санга коюңуз, сыягы, ар бир аппарат кайра жүктөлгөндөн кийин. Менин No 1 үлгүдөгү 82 миң ушундай даректер болгон.
Албетте, сиз өзүңүзгө чет өлкөлүк, уникалдуу эмес даректи "жакыныңыздыкындай" коюп, аны жыттоочу менен аныктап же туш келди тандап алсаңыз болот. Ошондой эле, мисалы, Mikrotik же OpenWrt сыяктуу роутердин резервдик конфигурациясын калыбына келтирүү менен кокусунан уникалдуу эмес даректи коюуга болот.
Тармакта бир MAC дареги бар эки түзмөк болсо, эмне болот? Мунун баары тармактык жабдыктын логикасына жараша болот (зымдуу роутер, зымсыз тармак контроллери). Кыязы, эки түзмөк тең иштебейт же үзгүлтүк менен иштейт. IEEE стандарттарынын көз карашынан алганда, MAC дарегин спуфингден коргоону, мисалы, MACsec же 802.1X аркылуу чечүү сунушталат.
Эгер жетинчи же сегизинчи бит "1"ге коюлган MAC орнотсоңуз, б.а. жергиликтүү же мультикаст дареги? Кыязы, сиздин тармагыңыз буга көңүл бурбайт, бирок формалдуу түрдө мындай дарек стандартка туура келбейт жана андай кылбаганыңыз жакшы.
Кантип рандомизация иштейт
Эфир толкундарын сканерлөө жана чогултуу аркылуу адамдардын кыймылына көз салууга жол бербөө үчүн смартфондун MAC операциялык системалары бир нече жылдан бери рандомизациялоо технологиясын колдонуп келгенин билебиз. Теориялык жактан алганда, белгилүү тармактарды издөөдө эфир толкундарын сканерлөөдө, смартфон булак катары MAC дареги менен 802.11 зонд суроо түрүндөгү пакетти (пакеттер тобун) жөнөтөт:
Иштетилген рандомизация сизге “тигиштелген” даректи эмес, ар бир сканерлөө циклинде убакыттын өтүшү менен же башка жол менен өзгөрүп турган башка пакет булак дарегин көрсөтүүгө мүмкүндүк берет. ал иштейби? Келгиле, "Wi-Fi радары" деп аталган абадан чогултулган MAC даректеринин статистикасын карап көрөлү:
Толук үлгү
Нөл 7-бит менен гана үлгү
Маалыматтар базасындагы жазуулардын саны
3920000
305000
Бит саны:
% бит "1"
% бит "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%
Сүрөт таптакыр башкача.
MAC дарегинин биринчи байтынын 8-бити мурдагыдай эле зонд сурам пакетиндеги SRC дарегинин Unicast мүнөзүнө туура келет.
7-бит 92.2% учурларда Local деп коюлган, б.а. Адилеттүү ишеним менен биз чогултулган даректердин көбү рандомизацияланган жана 8% дан азы реалдуу деп эсептей алабыз. Бул учурда мындай реалдуу даректер үчүн OUIде биттердин бөлүштүрүлүшү болжол менен мурунку таблицадагы маалыматтарга дал келет.
Кайсы өндүрүүчү, OUI ылайык, рандомизацияланган даректерге ээ (б.а. "7"деги 1-бит менен)?
OUI тарабынан өндүрүүчүсү
Бардык даректер арасында бөлүшүү
IEEE маалымат базасында табылган эмес
62.45%
Google Inc.
37.54%
эс алуу
0.01%
Мындан тышкары, Google'га дайындалган бардык рандомизацияланган даректер префикс менен бир эле OUIге таандык DA:A1:19. Бул префикс эмне? Кирип көрөлү
private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");
Сток Android зымсыз тармактарды издөөдө атайын, катталган OUI колдонот, жетинчи бит топтому бар саналуулардын бири.
Кокусунан чыныгы MAC эсептөө
Келгиле, ошол жерден карап көрөлү:
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;
}
Бүтүндөй дарек же анын төмөнкү үч байт таза Random.nextLong(). "Чыныгы MAC менчик калыбына келтирүү" алдамчылык болуп саналат. Ишенимдин жогорку даражасы менен биз Android телефонун өндүрүүчүлөр башка, катталбаган OUI колдонушат деп күтсөк болот. Бизде iOS'тун булак коду жок, бирок ал жерде окшош алгоритм колдонулат.
Жогоруда айтылгандар текшерүүнүн суроо-талап алкагынын башка талааларын талдоо же түзмөк жөнөткөн суроо-талаптардын салыштырмалуу жыштыгынын корреляциясынын негизинде Wi-Fi абоненттерин анонимизациялоонун башка механизмдеринин ишин жокко чыгарбайт. Бирок тышкы каражаттарды колдонуу менен абонентке ишенимдүү байкоо жүргүзүү өтө көйгөйлүү. Чогултулган маалыматтар белгилүү бир түзмөктөргө жана адамдарга шилтеме жасабастан, көп сандардын негизинде жайгашкан жана убакыт боюнча орточо/чоку жүгүн талдоо үчүн ылайыктуураак болот. Ошол "ичинде", мобилдик ОС өндүрүүчүлөрдүн өздөрү жана орнотулган тиркемелер гана так маалыматтарга ээ.
Түзмөгүңүздүн MAC дарегин башка бирөө билсе, эмнеси кооптуу болушу мүмкүн? Кызматтан баш тартуу чабуулдары зымдуу жана зымсыз тармактар үчүн ишке ашырылышы мүмкүн. Зымсыз аппарат үчүн, анын үстүнө, кандайдыр бир ыктымалдуулук менен сенсор орнотулган жерде анын пайда болгон учурун жазууга болот. Даректи бурмалоо менен, сиз өзүңүздүн түзмөгүңүз деп "көрсөтүүгө" аракет кылсаңыз болот, ал кошумча коопсуздук чаралары колдонулбаганда гана иштей алат (уруксат берүү жана/же шифрлөө). Бул жердеги адамдардын 99.9% тынчсыздана турган эч нерсеси жок.
MAC дареги көрүнгөндөн татаал, бирок мүмкүн болушунча жөнөкөй.
Source: www.habr.com