يعلم الجميع أن هذه البايتات الستة، التي يتم عرضها عادةً بتنسيق سداسي عشري، يتم تخصيصها لبطاقة الشبكة في المصنع، ويبدو أنها عشوائية. يعرف بعض الأشخاص أن البايتات الثلاث الأولى من العنوان هي معرف الشركة المصنعة، ويتم تخصيص البايتات الثلاث المتبقية لها. ومن المعروف أيضًا أنه يمكنك ضبط نفسك اعتباطي عنوان. لقد سمع الكثير من الناس عن "العناوين العشوائية" في شبكة 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 ونظام التشغيل ماك أو إس (دائماً)، Windows (في أغلب الأحيان، إذا سمح السائق بذلك)، Android (للأجهزة التي تم عمل روت لها فقط)؛ أما مع نظام iOS (بدون روت) فلا يمكن القيام بمثل هذه الحيلة.
هيكل العنوان
يتكون العنوان من جزء من معرف الشركة المصنعة، OUI، ومعرف معين من قبل الشركة المصنعة. تعيين معرفات OUI (المعرف الفريد التنظيمي). منظمة IEEE. في الواقع، لا يمكن أن يكون طوله 3 بايت فقط (24 بت)، ولكن 28 أو 36 بت، منها كتل (MAC Address Block، MA) من العناوين من الأنواع الكبيرة (MA-L)، والمتوسطة (MA-M) و الصغيرة تتشكل (MA-S) على التوالي. سيكون حجم الكتلة الصادرة في هذه الحالة 24، 20، 12 بت أو 16 مليون، 1 مليون، 4 آلاف عنوان. يوجد حاليًا حوالي 38 ألف كتلة موزعة، ويمكن الاطلاع عليها باستخدام العديد من الأدوات عبر الإنترنت، على سبيل المثال أو .
من يملك العناوين؟
سهولة معالجة المتاحة للجمهور يوفر IEEE الكثير من المعلومات. على سبيل المثال، أخذت بعض المؤسسات الكثير من كتل OUI لأنفسها. وهنا أبطالنا:
بائع
عدد الكتل/السجلات
عدد العناوين مليون
سيسكو سيستمز إنك
888
14208
ابل
772
12352
Samsung
636
10144
شركة هواوي تكنولوجيز المحدودة
606
9696
شركة إنتل
375
5776
شركة مجموعة أريس
319
5104
شركة نوكيا
241
3856
خاص
232
2704
تكساس إنسترومنتس
212
3392
شركة zte
198
3168
هيئة تسجيل IEEE
194
3072
هيوليت باكارد
149
2384
دقة هون هاي
136
2176
TP-LINK
134
2144
شركة ديل
123
1968
جونيبر نتوركس
110
1760
ساجيمكوم برودباند SAS
97
1552
شركة فايبر هوم لتقنيات الاتصالات المحدودة
97
1552
شركة شياومي للاتصالات المحدودة
88
1408
شركة قوانغدونغ أوبو للاتصالات المتنقلة المحدودة
82
1312
لدى Google 40 منهم فقط، وهذا ليس مفاجئًا: فهم أنفسهم لا ينتجون الكثير من أجهزة الشبكة.
لا يتم توفير كتل MA مجانًا، ويمكن شراؤها بسعر معقول (بدون رسوم اشتراك) مقابل 3000 دولار أو 1800 دولار أو 755 دولارًا على التوالي. ومن المثير للاهتمام أنه مقابل أموال إضافية (سنويًا) يمكنك شراء "إخفاء" المعلومات العامة حول الكتلة المخصصة. ويبلغ عددها الآن 232، كما هو موضح أعلاه.
متى سوف نفاد عناوين MAC؟
لقد سئمنا جميعًا من القصص التي استمرت لمدة 10 سنوات والتي تقول إن "عناوين IPv4 على وشك النفاد". نعم، لم يعد من السهل الحصول على كتل IPv4 الجديدة. ومن المعروف أن عناوين IP ; هناك كتل ضخمة وغير مستغلة مملوكة لشركات كبيرة ووكالات حكومية أمريكية، مع أمل ضئيل في إعادة توزيعها على المحتاجين. أدى انتشار NAT وCG-NAT وIPv6 إلى جعل مشكلة نقص العناوين العامة أقل حدة.
يحتوي عنوان MAC على 48 بت، منها 46 بت يمكن اعتبارها "مفيدة" (لماذا؟ تابع القراءة)، مما يعطي 246 أو 1014 عنوانًا، وهو ما يزيد 214 مرة عن مساحة عنوان IPv4.
وفي الوقت الحالي، تم توزيع ما يقرب من نصف تريليون عنوان، أو 0.73% فقط من الحجم الإجمالي. ما زلنا بعيدين جدًا عن نفاد عناوين MAC.
بت العشوائية
يمكن الافتراض أنه يتم توزيع واجهات OUI بشكل عشوائي، ثم يقوم البائع أيضًا بتعيين العناوين بشكل عشوائي لأجهزة الشبكة الفردية. هو كذلك؟ دعونا نلقي نظرة على توزيع البتات في قواعد بيانات عناوين MAC الخاصة بأجهزة 802.11 الموجودة تحت تصرفي، والتي تم جمعها بواسطة أنظمة ترخيص العمل في الشبكات اللاسلكية . تنتمي العناوين إلى أجهزة حقيقية متصلة بشبكة Wi-Fi على مدار عدة سنوات في ثلاثة بلدان. بالإضافة إلى ذلك، هناك قاعدة بيانات صغيرة لأجهزة 802.3 LAN السلكية.
دعونا نقسم كل عنوان MAC (ستة بايتات) لكل عينة إلى بتات، بايتة بايتة، وننظر إلى تكرار ظهور البتة "1" في كل موضع من المواضع الـ 48. إذا تم تعيين البت بطريقة تعسفية تمامًا، فيجب أن يكون احتمال الحصول على "1" 50٪.
اختيار الواي فاي رقم 1 (RF)
عينة Wi-Fi رقم 2 (بيلاروسيا)
اختيار الواي فاي رقم 3 (أوزبكستان)
أخذ عينات الشبكة المحلية (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) (بث متعدد أو إذاعة). بالنسبة لاتصال محول الشبكة العادي أحادي البث، يتم تعيين هذا البت على "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
شركة هواوي تكنولوجيز المحدودة
7,80
شركة شياومي للاتصالات المحدودة
6,83
شركة سوني للاتصالات المتنقلة
3,29
إل جي إلكترونيكس (الاتصالات المتنقلة)
2,76
شركة ASUSTek COMPUTER INC.
2,58
شركة تي سي تي للهواتف المتحركة
2,13
شركة zte
2,00
غير موجود في قاعدة بيانات IEEE
1,92
شركة لينوفو لتكنولوجيا الاتصالات المتنقلة المحدودة.
1,71
شركة HTC
1,68
تصنيع موراتا
1,31
اتصالات إنبرو
1,26
شركة مايكروسوفت
1,11
شركة شنتشن تينو لتكنولوجيا الهاتف المحمول
1,02
شركة موتورولا (ووهان) لتقنيات التنقل والاتصالات المحدودة.
0,93
شركة نوكيا
0,88
شركة شنغهاي لتقنيات الرياح المحدودة
0,74
شركة لينوفو للاتصالات المتنقلة (ووهان) المحدودة
0,71
تظهر الممارسة أنه كلما زاد ازدهار مجموعة المشتركين في الشبكة اللاسلكية في مكان معين، زادت حصة أجهزة Apple.
تميز
هل عناوين MAC فريدة من نوعها؟ من الناحية النظرية، نعم، نظرًا لأن كل شركة مصنعة للجهاز (مالك كتلة MA) مطالبة بتوفير عنوان فريد لكل محولات الشبكة التي تنتجها. ومع ذلك، فإن بعض الشركات المصنعة للرقائق، وهي:
- 00:0A:F5 Airgo Networks, Inc. (الآن كوالكوم)
- 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 تتوافق مع طبيعة البث الأحادي لعنوان SRC في حزمة طلب التحقيق.
يتم تعيين البت السابع على محلي في 7% من الحالات، أي. وبدرجة لا بأس بها من الثقة، يمكننا أن نفترض أن عددًا كبيرًا جدًا من العناوين التي تم جمعها تم اختيارها عشوائيًا، وأن أقل من 92.2٪ منها حقيقية. في هذه الحالة، يتزامن توزيع البتات في واجهة المستخدم المفتوحة (OUI) لمثل هذه العناوين الحقيقية تقريبًا مع البيانات الموجودة في الجدول السابق.
ما هي الشركة المصنعة، وفقًا لـ OUI، التي تمتلك العناوين العشوائية (أي مع البت السابع في "7")؟
الشركة المصنعة بواسطة OUI
المشاركة بين كافة العناوين
غير موجود في قاعدة بيانات IEEE
62.45%
شركة جوجل
37.54%
остальные
0.01%
علاوة على ذلك، فإن جميع العناوين العشوائية المخصصة لـ Google تنتمي إلى نفس واجهة المستخدم الفريدة (OUI) مع البادئة دا:أ1: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()إنّ عبارة "ترميم جهاز ماك حقيقي حاصل على براءة اختراع" هي عملية احتيال. ومن المتوقع بدرجة عالية من اليقين أن يقوم المصنّعون Androidتُستخدم أيضًا معرّفات OUI أخرى غير مسجلة في الهواتف. لا نملك شفرة المصدر لنظام iOS، ولكن من المرجح استخدام خوارزمية مماثلة هناك.
ما سبق لا يلغي عمل الآليات الأخرى لإلغاء إخفاء هوية مشتركي Wi-Fi، بناءً على تحليل الحقول الأخرى لإطار طلب التحقيق، أو ارتباط التكرار النسبي للطلبات المرسلة من قبل الجهاز. ومع ذلك، فإن تتبع المشترك بشكل موثوق باستخدام وسائل خارجية يمثل مشكلة كبيرة. ستكون البيانات المجمعة أكثر ملاءمة لتحليل متوسط/ذروة الحمل حسب الموقع والوقت، بناءً على أعداد كبيرة، دون الرجوع إلى أجهزة وأشخاص محددين. فقط أولئك "الداخليون"، والشركات المصنعة لأنظمة تشغيل الأجهزة المحمولة أنفسهم، والتطبيقات المثبتة لديهم بيانات دقيقة.
ما الخطر في معرفة شخص ما لعنوان MAC الخاص بجهازك؟ يمكن شنّ هجوم حجب الخدمة على الشبكات السلكية واللاسلكية على حد سواء. بالنسبة للأجهزة اللاسلكية، هناك أيضًا احتمال لاكتشاف وجودها في موقع المستشعر. يمكن استخدام انتحال العنوان لانتحال هوية جهازك، لكن هذا لن ينجح إلا في حال عدم وجود إجراءات أمنية إضافية (مثل المصادقة والتشفير). 99.9% لا داعي للقلق بالنسبة للناس هنا.
عنوان MAC أكثر تعقيدًا مما يبدو، ولكنه أبسط مما يمكن أن يكون.
المصدر: www.habr.com
