MAC дареги жөнүндө билгиңиз келгендин баары

MAC дареги жөнүндө билгиңиз келгендин баарыКөбүнчө он алтылык форматта көрсөтүлгөн бул алты байт заводдогу тармак картасына ыйгарылат жана кокустук сыяктуу көрүнөрүн баары билет. Кээ бир адамдар даректин биринчи үч байт өндүрүүчү 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) ​​идентификаторлорун дайындоо бүтүмдөр IEEE уюму. Чынында, анын узундугу 3 байт (24 бит) гана эмес, 28 же 36 бит болушу мүмкүн, андан Large (MA-L), Medium (MA-M) жана типтеги даректердин блоктору (MAC Address Block, MA) жана Кичинекей түзүлөт (MA-S) тиешелүүлүгүнө жараша. Чыгарылган блоктун көлөмү, бул учурда, 24, 20, 12 бит же 16 миллион, 1 миллион, 4 миң даректи түзөт. Учурда 38 миңге жакын блоктор таратылды, аларды көптөгөн онлайн куралдардын жардамы менен көрүүгө болот, мисалы IEEE же Wireshark.

Даректер кимге таандык?

Жалпыга жеткиликтүү жеңил иштетүү маалымат базаларын түшүрүү IEEE абдан көп маалымат менен камсыз кылат. Мисалы, кээ бир уюмдар өздөрү үчүн көптөгөн OUI блокторун алышкан. Бул жерде биздин каармандар:

Сатуучу
Блоктордун/жазуулардын саны
Даректердин саны, миллион

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 даректери белгилүү өтө бирдей эмес бөлүштүрүлгөн; Ири корпорацияларга жана АКШнын мамлекеттик мекемелерине таандык чоң жана толук пайдаланылбаган блоктор бар, бирок аларды муктаж болгондорго кайра бөлүштүрүү үмүтү аз. NAT, CG-NAT жана IPv6нын таралышы коомдук даректердин жетишсиздиги көйгөйүн анча курчутпай койду.

MAC дареги 48 битке ээ, анын 46сын “пайдалуу” деп эсептесе болот (эмне үчүн? окууну улантуу), ал 246 же 1014 даректи берет, бул IPv214 дарек мейкиндигинен 4 эсе көп.
Учурда болжол менен жарым триллион дарек таратылды, же жалпы көлөмдүн 0.73% гана. Биз дагы эле MAC даректери түгөнгөндөн абдан алыспыз.

Кокустук биттери

Бул OUI туш келди бөлүштүрүлөт деп болжолдоого болот, жана сатуучу андан кийин да туш келди жеке тармак түзмөктөргө даректерди дайындайт. ушундайбы? Келгиле, зымсыз тармактарда иштеген авторизация системалары тарабынан чогултулган 802.11 түзмөктөрдүн MAC даректеринин маалымат базаларында биттердин бөлүштүрүлүшүн карап көрөлү. WNAM. Даректер үч өлкөдө бир нече жыл бою Wi-Fi тармагына туташкан реалдуу түзмөктөргө таандык. Мындан тышкары, 802.3 зымдуу LAN түзмөктөрүнүн чакан маалымат базасы бар.

Келгиле, ар бир үлгүнүн ар бир 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 битте мындай адилетсиздик? Дээрлик ар дайым нөлдөр бар.

Чынында эле, стандарт бул биттерди өзгөчө (Wikipedia):
MAC дареги жөнүндө билгиңиз келгендин баары

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 зонд суроо түрүндөгү пакетти (пакеттер тобун) жөнөтөт:

MAC дареги жөнүндө билгиңиз келгендин баары

Иштетилген рандомизация сизге “тигиштелген” даректи эмес, ар бир сканерлөө циклинде убакыттын өтүшү менен же башка жол менен өзгөрүп турган башка пакет булак дарегин көрсөтүүгө мүмкүндүк берет. ал иштейби? Келгиле, "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. Бул префикс эмне? Кирип көрөлү Android булактары.

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

Комментарий кошуу