Losowe MAC adresy w OS X
Jedną z nowości, z jaką spotkamy się w iOS 8 będzie losowe generowanie MAC adresów podczas wyszukiwania nowych sieci Wi-Fi. Jak słusznie zauważył Wojtek Pietrusiewicz ma to za zadanie zwiększyć nasze bezpieczeństwo oraz prywatność poprzez utrudnienie śledzenia przez firmy zbierające takie dane. Tymczasem podobne zabezpieczenie można sobie stworzyć również na komputerze.
Oczywiście wpis ten dotyczy przede wszystkim komputerów przenośnych działających pod kontrolą OS X, ponieważ to z nimi zazwyczaj się przemieszczamy (choć znajdzie się parę przypadków mobilnego korzystania z iMaców). Poniższą metodę losowego generowania MAC adresów utworzył niejaki Jonatan Zdziarski, człowiek zajmujący się między innymi testowaniem różnych zabezpieczeń.
Tak jak wiele laptopów również i MacBooki podczas wyszukiwania sieci Wi-Fi umożliwiają wyśledzenie ich adresów MAC. Zapobiec temu ma poniższy skrypt, którego zasada działania jest dość prosta – kiedy komputer nie jest podłączony do żadnej sieci Wi-Fi, to co 30 sekund zmienia MAC adres na losowy wybierany na podstawie „sklejania” dwóch połówek adresu w formie listy w pliku tekstowym. Dany plik tekstowy możecie pobrać stąd. Następnie przenosimy go w jakieś konkretne miejsce, np. do folderu Dokumenty
.
Kolejnym krokiem jest utworzenie w dowolnym edytorze zwykłego tekstu poniższego skryptu:
#!/bin/bash
INTERFACE=en0
OUI="/Users/$USER/Documents/oui.txt"
OUI_LEN=19004
while [ true ]; do
STATUS=`ifconfig ${INTERFACE} | grep status: | awk '{print $2}'`
if [ "$STATUS" = "inactive" ]; then
R=$(((RANDOM % ${OUI_LEN})+1))
PREFIX=`head -$R $OUI | tail -1`
CMD="sudo ifconfig ${INTERFACE} ether ${PREFIX}:"
for i in `seq 1 6`; do
R=$(((RANDOM % 15)+1))
C=`echo "obase=16; $R" | bc`
CMD="$CMD$C"
if [ $((i % 2)) = 0 ] && [ $i != 6 ]; then
CMD="$CMD:"
fi
done
RESULT=`$CMD`
echo $CMD
fi
sleep 30
done
Warto zwrócić w powyższym skrypcie uwagę na dwie linijki:
INTERFACE=en0
– posiadacze najnowszych MacBooków nie posiadających złącza Ethernet nie będą musieli tutaj nic zmieniać. Jeśli jednak macie starszy model, w którym jest złącze Ethernet, jak również wbudowana karta Wi-Fi, to w niektórych przypadkach ta druga może być jakoen1
.OUI="/Users/$USER/Documents/oui.txt"
– w tym miejscu wskazane jest położenie pobranego wcześniej pliku tekstowego. Jeśli umieściliście go gdzie indziej niż folderDocuments
, to należy to odpowiednio zmienić. (warto zauważyć, że użyta zmienna$USER
wskazuje na nazwę folderu domowego).
Zapisany skrypt (najlepiej z rozszerzeniem sh
) zapisujemy w wygodnym dla nas miejscu. Kiedy przyjdzie moment, że będziemy zabierać gdzieś nasz komputer, to uruchamiamy skrypt poniższym poleceniem:
sh /ścieżka/do/skryptu.sh
Uwaga: Należy wziąć pod uwagę, że korzystanie z powyższego skryptu wymusi zrezygnowanie z zabezpieczenia sieci domowej jakim jest filtrowanie komputerów wg ich MAC adresów (bo nasz będzie zmienny). To samo się tyczy, gdy zamierzamy korzystać z płatnego dostępu do Wi-Fi w hotelach czy innych miejscach.
Źródło: Jonathan Zdziarski’s Domain
Komentarze: 2
Rozumiem że ta opcja w 10.10 bedzie dotyczyć tylko WIFI ?
Czy będzie można wyłączyć tą funkcję ?. Dużo operatorów ma w regulaminie klauzule co do ilości korzystających z internetu komputerów w ramach jednej umowy (UPC), a taka „nowość” może namieszać na routerze.