Секој знае дека овие шест бајти, обично прикажани во хексадецимален формат, се доделени на мрежната картичка во фабриката и се навидум случајни. Некои луѓе знаат дека првите три бајти од адресата се ID на производителот, а преостанатите три бајти им се доделени. Познато е и дека можете сами да се поставите произволно адреса. Многу луѓе слушнале за „случајни адреси“ на Wi-Fi.
Ајде да дознаеме што е тоа.
MAC адресата (адреса за контрола на пристап до медиумите) е единствен идентификатор доделен на мрежен адаптер, кој се користи во мрежи со стандарди IEEE 802, главно етернет, Wi-Fi и Bluetooth. Официјално се нарекува „ЕУИ-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 (без root) таков трик е невозможен.
Структура на адреса
Адресата се состои од дел од идентификаторот на производителот, OUI, и идентификатор доделен од производителот. Доделување на идентификатори на OUI (Организациски уникатен идентификатор).
Кој ги поседува адресите?
Лесна обработка на јавно достапни
Продавач
Број на блокови/записи
Број на адреси, милиони
Cisco Systems Inc
888
14208
Јаболко
772
12352
Samsung
636
10144
Huawei Technologies Co.Ltd
606
9696
Интел Корпорацијата
375
5776
ARRIS Group Inc.
319
5104
Корпорација Нокиа
241
3856
Приватен
232
2704
Texas Instruments
212
3392
корпорацијата zte
198
3168
IEEE Регистрациско тело
194
3072
Хјулит Пакард
149
2384
Хон Хаи прецизност
136
2176
TP-LINK
134
2144
Dell Inc.
123
1968
Џунипер мрежи
110
1760
Sagemcom Широкопојасен интернет SAS
97
1552
Fiberhome Telecommunication Technologies Co. ООД
97
1552
Xiaomi Communications Co Ltd
88
1408
Гуангдонг Oppo Mobile Telecommunications Corp.Ltd
82
1312
Google има само 40 од нив, и тоа не е изненадувачки: тие самите не произведуваат многу мрежни уреди.
Блоковите MA не се обезбедени бесплатно, тие можат да се купат по разумна цена (без претплата) за 3000, 1800 или 755 долари, соодветно. Интересно, за дополнителни пари (годишно) можете да купите „криење“ на информации од јавен карактер за доделениот блок. Сега ги има 232, како што може да се види погоре.
Кога ќе ни снема MAC адреси?
Сите сме прилично уморни од приказните кои се водат веќе 10 години дека „IPv4 адресите ќе истечат“. Да, новите IPv4 блокови веќе не се лесно да се добијат. Познато е дека IP адресите
MAC адресата има 48 бита, од кои 46 може да се сметаат за „корисни“ (зошто? прочитајте понатаму), што дава 246 или 1014 адреси, што е 214 пати повеќе од просторот за адреси IPv4.
Во моментов, околу половина билион адреси се дистрибуирани, или само 0.73% од вкупниот волумен. Сè уште сме многу, многу далеку од тоа да останеме без MAC адреси.
Битови за случајност
Може да се претпостави дека OUI се дистрибуираат случајно, а продавачот потоа, исто така, случајно доделува адреси на поединечни мрежни уреди. Дали е така? Да ја погледнеме дистрибуцијата на битови во базите на податоци на MAC адреси на 802.11 уреди со кои располагам, собрани од работните системи за овластување во безжични мрежи
Ајде да ја разложиме секоја 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) (multicast или емитување). За нормална комуникација со уникаст мрежен адаптер, овој бит е поставен на „0“ во сите пакети испратени до него.
Седмиот (од почеток) бит од првиот бајт на MAC адресата се нарекува U/L (Universal/Local) бит и одредува дали адресата е глобално единствена (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
Производство Мурата
1,31
InPro Comm
1,26
Microsoft Corporation
1,11
Shenzhen TINNO Mobile Technology Corp.
1,02
Моторола (Вухан) Mobility Technologies Communication Co. Ltd.
0,93
Корпорација Нокиа
0,88
Шангај 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 адресата на случаен број, очигледно по секое рестартирање на уредот. Во мојот примерок бр.1 имаше 82 илјади такви адреси.
Се разбира, можете да си поставите странска, неуникатна адреса со намерно поставување „како на вашиот сосед“, идентификувајќи ја со трагач или избирајќи ја по случаен избор. Исто така, можно е случајно да поставите неуникатна адреса со, на пример, враќање на резервната конфигурација на рутер како Mikrotik или OpenWrt.
Што ќе се случи ако на мрежата има два уреди со иста MAC адреса? Сè зависи од логиката на мрежната опрема (жичен рутер, безжичен мрежен контролер). Најверојатно, двата уреди или нема да работат или ќе работат со прекини. Од гледна точка на стандардите IEEE, заштитата од измама на MAC адреса се предлага да се реши со користење, на пример, MACsec или 802.1X.
Што ако инсталирате MAC со седмиот или осмиот бит поставен на „1“, т.е. локална или мултикаст адреса? Најверојатно, вашата мрежа нема да обрне внимание на ова, но формално таквата адреса нема да одговара на стандардот и подобро е да не го сторите тоа.
Како функционира рандомизацијата
Знаеме дека со цел да се спречи следење на движењата на луѓето со скенирање и собирање воздушни бранови, оперативните системи за паметни телефони MAC веќе неколку години користат технологија за рандомизација. Теоретски, при скенирање на воздушните бранови во потрага по познати мрежи, паметниот телефон испраќа пакет (група пакети) од типот на барање сонда 802.11 со MAC адреса како извор:
Овозможената рандомизација ви овозможува да ја наведете не „зашиената“, туку некоја друга адреса на изворот на пакетот, менувајќи се со секој циклус на скенирање, со текот на времето или на некој друг начин. Дали работи? Ајде да ја погледнеме статистиката на MAC адресите собрани од воздухот од таканаречениот „Радар за Wi-Fi“:
Цел примерок
Примерок само со нулта 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 адресата сè уште одговара на природата на Unicast на адресата SRC во пакетот со барање за сонда.
Седмиот бит е поставен на Локален во 7% од случаите, т.е. Со соодветен степен на доверба, можеме да претпоставиме дека точно толку од собраните адреси се рандомизирани, а помалку од 92.2% се реални. Во овој случај, распределбата на битови во OUI за такви реални адреси приближно се совпаѓа со податоците од претходната табела.
Кој производител, според OUI, ги поседува рандомизираните адреси (т.е. со седмиот бит во „7“)?
Производител од OUI
Споделете меѓу сите адреси
не е пронајден во базата на податоци на IEEE
62.45%
Google АД
37.54%
одмори се
0.01%
Покрај тоа, сите рандомизирани адреси доделени на Google припаѓаат на истиот OUI со префиксот DA:A1:19. Каков е овој префикс? Ајде да погледнеме внатре
private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0");
Stock 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 адресата е посложена отколку што изгледа, но поедноставна отколку што може да биде.
Извор: www.habr.com