Alles, was Sie ĂŒber die MAC-Adresse wissen wollten

Jeder weiß, dass es sich um sechs Bytes handelt, die normalerweise im Hexadezimalformat angezeigt werden und werkseitig einer Netzwerkkarte zugewiesen wurden. Auf den ersten Blick sind sie zufĂ€llig. Einige Leute wissen, dass die ersten drei Bytes der Adresse die Kennung des Herstellers sind und die restlichen drei Bytes ihnen zugewiesen sind. Es ist auch bekannt, dass Sie sich eine beliebige Adresse einstellen können. Viele haben ĂŒber die "zufĂ€lligen Adressen" in Wi-Fi gehört.


Lassen Sie uns herausfinden, was es ist.


MAC-Adresse (Media Access Control-Adresse) - eine eindeutige Kennung, die einem Netzwerkadapter zugewiesen wird und in IEEE 802-Standardnetzwerken, hauptsĂ€chlich Ethernet, Wi-Fi und Bluetooth, verwendet wird. Offiziell wird es als "EUI-48-Typenkennung" bezeichnet. Aus dem Namen geht hervor, dass die Adresse 48 Bit lang ist, d. 6 Bytes. Es gibt keinen allgemein akzeptierten Standard fĂŒr das Schreiben einer Adresse (im Gegensatz zu einer IPv4-Adresse, bei der Oktette immer durch Punkte getrennt sind). Es wird normalerweise als sechs Hexadezimalzahlen geschrieben, die durch einen Doppelpunkt getrennt sind: 00: AB: CD: EF: 11: 22, obwohl einige GerĂ€tehersteller es vorziehen, wie 00 zu schreiben -AB-CD-EF-11-22 und sogar 00ab.cdef.1122.


In der Vergangenheit wurden die Adressen im ROM des Netzwerkkarten-Chipsatzes zusammengefĂŒgt, ohne dass die Möglichkeit bestand, sie ohne einen Flash-Programmierer zu Ă€ndern. Derzeit kann die Adresse jedoch ĂŒber das Betriebssystem programmgesteuert geĂ€ndert werden. Sie können die MAC-Adresse der Netzwerkkarte unter Linux und MacOS (immer), Windows (fast immer, wenn der Treiber dies zulĂ€sst) und Android (nur root) manuell festlegen. Mit iOS (ohne root) ist ein Ă€hnlicher Trick unmöglich.


Adressstruktur


Die Adresse besteht aus einem Teil der Herstellerkennung (OUI) und der vom Hersteller zugewiesenen Kennung. Die OUI (Organizationally Unique Identifier) wird vom IEEE vergeben. TatsĂ€chlich kann seine LĂ€nge nicht nur 3 Bytes (24 Bits) sein, sondern 28 oder 36 Bits, aus denen Blöcke (MAC Address Block, MA) von Adressen der Typen Large (MA-L), Medium (MA-M) und Small gebildet werden (MA-S). Die GrĂ¶ĂŸe des ausgegebenen Blocks betrĂ€gt in diesem Fall 24, 20, 12 Bit oder 16 Millionen, 1 Million, viertausend Adressen. Derzeit sind rund 38.000 Blöcke verteilt, die mit zahlreichen Online-Tools wie IEEE oder Wireshark angezeigt werden können.


Wem gehören die Adressen?


Die einfache Verarbeitung der öffentlich zugÀnglichen IEEE- Upload-Datenbank liefert viele Informationen. Beispielsweise haben einige Organisationen viele OUI-Blöcke belegt. Hier sind unsere Helden:


VerkÀuferDie Anzahl der Blöcke / DatensÀtzeDie Anzahl der Adressen, Millionen
Cisco Systems Inc88814208
Apple77212352
Samsung63610144
Huawei Technologies Co. Ltd6069696
Intel Corporation3755776
ARRIS Group Inc.3195104
Nokia Corporation2413856
Privat2322704
Texas Instruments2123392
zte corporation1983168
IEEE Registrierungsstelle1943072
Hewlett Packard1492384
Hon Hai PrÀzision1362176
TP-LINK1342144
Dell Inc.1231968
Juniper Networks1101760
Sagemcom Broadband SAS971552
Fiberhome Telecommunication Technologies Co. LTD971552
Xiaomi Communications Co Ltd881408
Guangdong Oppo Mobile Telecommunications Corp.Ltd821312

Google hat nur 40 von ihnen, und das ist nicht verwunderlich: Sie produzieren selbst nicht so viele NetzwerkgerÀte.


MA-Blöcke werden nicht kostenlos zur VerfĂŒgung gestellt. Sie können fĂŒr angemessenes Geld (ohne monatliche GebĂŒhr) fĂŒr 3000, 1800 bzw. 755 US-Dollar erworben werden. Es ist interessant, dass Sie fĂŒr das zusĂ€tzliche Geld (pro Jahr) die "Verschleierung" von öffentlichen Informationen ĂŒber den zugewiesenen Block erwerben können. Wie oben zu sehen ist, gibt es jetzt 232 davon.


Wann wird die MAC-Adresse ausgehen?


Wir alle haben es satt, die zehnjĂ€hrige Geschichte zu erzĂ€hlen, dass "IPv4-Adressen bald ausgehen". Ja, neue IPv4-Blöcke sind nicht mehr einfach zu beschaffen. Es ist auch bekannt, dass IP-Adressen extrem ungleich verteilt sind. Es gibt gigantische und wenig genutzte Blöcke, die sich im Besitz großer Unternehmen und der US-Regierung befinden, jedoch ohne große Hoffnung auf eine Umverteilung zugunsten der BedĂŒrftigen. Die Verbreitung von NAT, CG-NAT und IPv6 hat das Problem des Mangels an öffentlichen Adressen weniger akut gemacht.


Die MAC-Adresse enthĂ€lt 48 Bits, von denen 46 als "nĂŒtzlich" angesehen werden können (warum? Weiterlesen). Dies ergibt 2 46 oder 10 14 Adressen, was dem 2 14- fachen des IPv4-Adressraums entspricht.
Derzeit sind rund eine halbe Billion Adressen verteilt, das sind nur 0,73% des Gesamtvolumens. Die Erschöpfung der MAC-Adressen ist immer noch sehr, sehr weit.


ZufÀlliges Bit


Es kann davon ausgegangen werden, dass OUIs zufĂ€llig verteilt werden und der Anbieter dann auch einzelnen NetzwerkgerĂ€ten zufĂ€llig Adressen zuweist. Ist es so? Sehen wir uns die Verteilung der Bits in den MAC-Datenbanken der Adressen an, die mir fĂŒr 802.11-GerĂ€te zur VerfĂŒgung stehen, die von funktionierenden Autorisierungssystemen in drahtlosen WNAM- Netzwerken gesammelt wurden. Die Adressen gehören zu realen GerĂ€ten, die seit mehreren Jahren in drei LĂ€ndern mit Wi-Fi verbunden sind. DarĂŒber hinaus gibt es eine kleine Anzahl von 802.3-LAN-GerĂ€ten.


Wir teilen jede MAC-Adresse (sechs Bytes) von jedem der Samples in bitweise auf und untersuchen die HĂ€ufigkeit des Auftretens des "1" -Bits an jeder der 48 Stellen. Wenn das Bit völlig willkĂŒrlich gesetzt ist, sollte die Wahrscheinlichkeit, eine "1" zu erhalten, 50% betragen.


WLAN-Beispiel Nr. 1 (RF)Wi-Fi Probe Nr. 2 (Weißrussland)Wi-Fi Probe Nr. 3 (Usbekistan)LAN-Beispiel (RF)
Die Anzahl der DatensÀtze in der Datenbank592900012740003660001000
Bit Nummer:% bit "1"% bit "1"% bit "1"% bit "1"
148,6%49,2%50,7%28,7%
244,8%49,1%47,7%30,7%
346,7%48,3%46,8%35,8%
448,0%48,6%49,8%37,1%
545,7%46,9%47,0%32,3%
646,6%46,7%47,8%27,1%
70,3%0,3%0,2%0,7%
80,0%0,0%0,0%0,0%
948,1%50,6%49,4%38,1%
1049,1%50,2%47,4%42,7%
1150,8%50,0%50,6%42,9%
1249,0%48,4%48,2%53,7%
1347,6%47,0%46,3%48,5%
1447,5%47,4%51,7%46,8%
1548,3%47,5%48,7%46,1%
1650,6%50,4%51,2%45,3%
1749,4%50,4%54,3%38,2%
1849,8%50,5%51,5%51,9%
1951,6%53,3%53,9%42,6%
2046,6%46,1%45,5%48,4%
2151,7%52,9%47,7%48,9%
2249,2%49,6%41,6%49,8%
2351,2%50,9%47,0%41,9%
2449,5%50,2%50,1%47,5%
2547,1%47,3%47,7%44,2%
2648,6%48,6%49,2%43,9%
2749,8%49,0%49,7%48,9%
2849,3%49,3%49,7%55,1%
29.49,5%49,4%49,8%49,8%
3049,8%49,8%49,7%52,1%
3149,5%49,7%49,6%46,6%
3249,4%49,7%49,5%47,5%
3349,4%49,8%49,7%48,3%
3449,7%50,0%49,6%44,9%
3549,9%50,0%50,0%50,6%
3649,9%49,9%49,8%49,1%
3749,8%50,0%49,9%51,4%
3850,0%50,0%49,8%51,8%
3949,9%50,0%49,9%55,7%
4050,0%50,0%50,0%49,5%
4149,9%50,0%49,9%52,2%
4250,0%50,0%50,0%53,9%
4350,1%50,0%50,3%56,1%
4450,1%50,0%50,1%45,8%
4550,0%50,0%50,1%50,1%
4650,0%50,0%50,1%49,5%
4749,2%49,4%49,7%45,2%
4849,9%50,1%50,7%54,6%

Woher kommt diese Ungerechtigkeit in Bit 7 und 8? Es gibt fast immer Nullen.


TatsÀchlich definiert der Standard diese Bits als speziell ( Wikipedia ):


Das achte (von Anfang an) Bit des ersten Bytes der MAC-Adresse wird als Unicast / Multicast-Bit bezeichnet und bestimmt, welcher Rahmentyp (Frame) mit dieser Adresse gesendet wird, normal (0) oder rundgesendet (1) (Multicast oder rundgesendet). FĂŒr eine normale Unicast-Netzwerkadapter-Interaktion wird dieses Bit in allen an ihn gesendeten Paketen auf "0" gesetzt.


Das siebte (von Anfang an) Bit des ersten Bytes der MAC-Adresse wird als U / L-Bit (Universal / Local) bezeichnet und bestimmt, ob die Adresse global eindeutig (0) oder lokal eindeutig (1) ist. StandardmĂ€ĂŸig sind alle "vom Hersteller zusammengestellten" Adressen global eindeutig, daher enthĂ€lt die ĂŒberwiegende Anzahl gesammelter MAC-Adressen das auf "0" gesetzte siebte Bit. In der Tabelle der zugewiesenen OUI-Kennungen haben nur etwa 130 EintrĂ€ge ein U / L-Bit „1“, und dies sind höchstwahrscheinlich MAC-Adressblöcke fĂŒr spezielle Anforderungen.


Vom sechsten bis zum ersten Bit des ersten Bytes sind die Bits des zweiten und dritten Bytes in OUI-Kennungen und insbesondere die Bits in 4 bis 6 Bytes der vom Hersteller zugewiesenen Adresse mehr oder weniger gleichmĂ€ĂŸig verteilt.


Somit sind in der realen MAC-Adresse des Netzwerkadapters die Bits praktisch gleich und haben keine technologische Bedeutung, mit Ausnahme von zwei Overhead-Bits des High-Bytes.


Verbreitung


Ich frage mich, welche Hersteller von drahtlosen GerÀten am beliebtesten sind? Kombinieren Sie die OUI-Suche mit den Beispieldaten Nr. 1.


VerkÀuferDer Anteil der GerÀte,%
Apple26.09
Samsung19,79
Huawei Technologies Co. Ltd7,80
Xiaomi Communications Co Ltd6,83
Sony Mobile Communications Inc3.29
LG Electronics (Mobilfunk)2,76
ASUSTek COMPUTER INC.2,58
TCT mobile ltd2.13
zte corporation2.00
nicht in IEEE-Datenbank gefunden1,92
Lenovo Mobile Communication Technology Ltd.1,71
HTC Corporation1,68
Murata Manufactuaring1,31
Inpro comm1.26
Microsoft Corporation1,11
Shenzhen TINNO Mobile Technology Corp.1,02
Motorola (Wuhan) Mobility Technologies Communication Co. Ltd.0,93
Nokia Corporation0,88
Shanghai Wind Technologies Co. Ltd0,74
Lenovo Mobilkommunikation (Wuhan) Company Limited0,71

Die Praxis zeigt, dass der Anteil der Apple-GerĂ€te umso grĂ¶ĂŸer ist, je grĂ¶ĂŸer das Kontingent der drahtlosen Teilnehmer an diesem Ort ist.


Einzigartigkeit


Sind MAC-Adressen eindeutig? Theoretisch ja, da jeder GerĂ€tehersteller (Besitzer des MA-GerĂ€ts) fĂŒr jeden seiner Netzwerkadapter eine eindeutige Adresse angeben muss. Einige Chiphersteller, nĂ€mlich:


  • 00: 0A: F5 Airgo Networks, Inc. (jetzt Qualcomm)
  • 00.08.22 InPro Comm (jetzt MediaTek)

Setzen Sie die letzten drei Bytes der MAC-Adresse auf eine Zufallszahl, anscheinend nach jedem Neustart des GerÀts. In meiner Stichprobe Nr. 1 befanden sich 82.000 solcher Adressen.


Sie können sich einen Fremden und nicht eine eindeutige Adresse aussuchen, indem Sie sie absichtlich „wie einen Nachbarn“ einrichten, als SchnĂŒffler definieren oder nach dem Zufallsprinzip auswĂ€hlen. Sie können auch versehentlich eine nicht eindeutige Adresse festlegen, indem Sie beispielsweise eine Sicherungskonfiguration eines Routers wie Mikrotik oder OpenWrt wiederherstellen.


Was passiert, wenn zwei GerÀte mit derselben MAC-Adresse im Netzwerk vorhanden sind? Es hÀngt alles von der Logik der NetzwerkgerÀte ab (verkabelter Router, kabelloser Netzwerkcontroller). Höchstwahrscheinlich funktionieren beide GerÀte entweder nicht oder nur zeitweise. Aus Sicht der IEEE-Standards wird vorgeschlagen, den Schutz vor FÀlschung von MAC-Adressen zu lösen, indem beispielsweise MACsec oder 802.1X verwendet werden.


Was ist, wenn Sie sich einen MAC mit dem siebten oder achten Bit auf "1" setzen, d. H. lokale oder Multicast-Adresse? Höchstwahrscheinlich beachtet Ihr Netzwerk dies nicht, aber formal entspricht eine solche Adresse nicht dem Standard, und es ist besser, dies nicht zu tun.


Wie funktioniert die Randomisierung?


Wir wissen, dass zur Verhinderung der Verfolgung von Personenbewegungen durch Scannen der Luft und Sammeln von MAC-Betriebssystemen von Smartphones die Randomisierungstechnologie seit mehreren Jahren verwendet wird. Theoretisch sendet das Smartphone beim Scannen von Luft auf der Suche nach bekannten Netzwerken ein Paket (eine Gruppe von Paketen) vom Typ 802.11 Probe Request mit der MAC-Adresse als Quelle:



Mit der enthaltenen Randomisierung können Sie nicht "geflasht", sondern eine andere Quelladresse des Pakets angeben, die sich mit jedem Scan-Zyklus zeitlich oder irgendwie Àndert. Funktioniert das Schauen wir uns die Statistiken der gesammelten MAC-Adressen aus der Luft mit dem sogenannten "Wi-Fi-Radar" an:


Ganze ProbeSampling mit nur 7m Bit
Die Anzahl der DatensÀtze in der Datenbank3920000305.000
Bit Nummer:% bit "1"% bit "1"
166,1%43,3%
266,5%43,4%
331,7%43,8%
466,6%46,4%
566,7%45,7%
631,9%46,4%
792,2%0,0%
80,0%0,0%
967,2%47,5%
1032,3%45,6%
1166,9%45,3%
1232,3%46,8%
1332,6%50,1%
1433,0%56,1%
1532,5%45,0%
1667,2%48,3%
1733,2%56,9%
1833,3%56,8%
1933,3%56,3%
2066,8%43,2%
2167,0%46,4%
2232,6%50,1%
2332,9%51,2%
2467,6%52,2%
2549,8%47,8%
2650,0%50,0%
2750,0%50,2%
2850,0%49,8%
29.50,0%49,4%
3050,0%50,0%
3150,0%49,7%
3250,0%49,9%
3350,0%49,7%
3450,0%49,6%
3550,0%50,1%
3650,0%49,5%
3750,0%49,9%
3850,0%49,8%
3950,0%49,9%
4050,0%50,1%
4150,0%50,2%
4250,0%50,2%
4350,0%50,1%
4450,0%50,1%
4550,0%50,0%
4650,0%49,8%
4750,0%49,8%
4850,1%50,9%

Das Bild ist völlig anders.


Das 8. Bit des ersten Bytes der MAC-Adresse stimmt weiterhin mit der Unicast-Art der SRC-Adresse im PrĂŒfanforderungspaket ĂŒberein.


Das 7. Bit ist in 92,2% der FĂ€lle auf Lokal gesetzt, d. H. Mit einiger Sicherheit können wir davon ausgehen, dass genau so viele Adressen zufĂ€llig gesammelt werden und weniger als 8% real sind. DarĂŒber hinaus stimmt die Verteilung der Bits in der OUI fĂŒr solche reellen Adressen ungefĂ€hr mit den Daten in der vorhergehenden Tabelle ĂŒberein.


Zu welchem ​​Hersteller gehören laut OUI die zufĂ€lligen Adressen (also mit dem 7. Bit in „1“)?


Hersteller von OUITeilen Sie unter allen Adressen
nicht in IEEE-Datenbank gefunden62,45%
Google Inc.37,54%
der Rest0,01%

DarĂŒber hinaus gehören alle Google zugewiesenen zufĂ€lligen Adressen zu einer OUI mit dem PrĂ€fix DA: A1: 19 . Was ist das PrĂ€fix? Schauen wir uns den Quellcode fĂŒr Android an .


private static final MacAddress BASE_GOOGLE_MAC = MacAddress.fromString("da:a1:19:0:0:0"); 

Der serienmĂ€ĂŸige Android verwendet eine spezielle, registrierte OUI, eine der wenigen mit dem siebten gesetzten Bit, bei der Suche nach drahtlosen Netzwerken.


Berechnen Sie den realen MAC nach dem Zufallsprinzip


Schauen wir uns das an:


 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; } 

Die gesamte Adresse oder ihre mindestens drei Bytes sind reine Random.nextLong () . "Patentierte Wiederherstellung von echten MAS" - ein Betrug. Mit hoher Sicherheit ist zu erwarten, dass Hersteller von Android-Telefonen andere nicht registrierte OUIs verwenden. Wir haben keine iOS-Quellen, aber höchstwahrscheinlich wird dort ein Àhnlicher Algorithmus verwendet.


Das Obige hebt den Betrieb anderer Mechanismen der Deanonymisierung von Wi-Fi-Teilnehmern auf der Grundlage der Analyse anderer Felder des Untersuchungsanforderungsrahmens oder der Korrelation der relativen HĂ€ufigkeit der vom GerĂ€t gesendeten Anforderungen nicht auf. Die zuverlĂ€ssige Verfolgung eines Teilnehmers durch externe Mittel ist jedoch Ă€ußerst problematisch. Die gesammelten Daten eignen sich besser zur Analyse der Durchschnitts- / Spitzenlast nach Ort und Zeit, basierend auf einer großen Anzahl, ohne Bezugnahme auf bestimmte GerĂ€te und Personen. Genaue Daten sind nur fĂŒr diejenigen, die "drinnen", die Hersteller von mobilen Betriebssystemen selbst, Anwendungen installiert haben.


Was kann gefĂ€hrlich sein, wenn jemand anderes die MAC-Adresse Ihres GerĂ€ts herausfindet? FĂŒr drahtgebundene und drahtlose Netzwerke kann ein Denial-of-Service-Angriff organisiert werden. Bei einem drahtlosen GerĂ€t ist es außerdem mit einiger Wahrscheinlichkeit möglich, den Zeitpunkt des Auftretens an dem Ort zu bestimmen, an dem der Sensor installiert ist. Indem Sie die Adresse fĂ€lschen, können Sie versuchen, sich als Ihr GerĂ€t auszugeben, was nur funktioniert, wenn Sie keine zusĂ€tzlichen Sicherheitsfunktionen (Autorisierung und / oder VerschlĂŒsselung) verwenden. 99,9% der Menschen hier haben nichts zu befĂŒrchten.


Die MAC-Adresse ist komplexer als sie sich anhört, aber einfacher als sie sein könnte.

Source: https://habr.com/ru/post/de483670/


All Articles