Twój inteligentny dom Cię szpieguje. Oto jak szpiegować.

Po dochodzeniu firmy Gizmodo dotyczącym danych, które inteligentne domy ujawniają na temat naszego życia , wielu z was pytało, jak można monitorować cyfrowe emisje z własnych domów. Cóż, masz szczęście.

Tutaj wyjaśnię metodologię związaną z tą historią, dla której Kashmir Hill skonfigurowała swój dom z mnóstwem gadżetów podłączonych do Internetu, a ja skonfigurowałem system do monitorowania wszystkich danych, które jej inteligentny dom przesłał jej dostawcy usług internetowych.

Zanim się zagłębię, chcę ostrzec majsterkowiczów, że ten post jest przeznaczony dla odbiorców technicznych - ludzi, którzy znają się na obsłudze komputera z poziomu wiersza poleceń, wiedzą, czym jest Node.js i jak uruchamiać skrypty, które go używają. Pomocna będzie również podstawowa wiedza na temat sieci komputerowych i tego, jak pakiety przez nie przechodzą.

Ponadto ta konfiguracja została zaprojektowana tak, aby działała dla nas wewnętrznie, więc w żadnym wypadku nie jest to najlepszy ani jedyny sposób, aby to zrobić. Miejmy jednak nadzieję, że dostarczy ci to wglądu i kodu startowego, jak podejść do tego problemu samodzielnie.

Naszym głównym celem było ciągłe i nieprzerwane monitorowanie ruchu przychodzącego i wychodzącego z domu Kaszmiru. Oznaczało to, że potrzebowaliśmy sposobu na przechwycenie ruchu, a następnie umieszczenie go w miejscu, które mogłoby z łatwością przechowywać ogromną ilość informacji. Dodatkowym wyzwaniem było to, że Kashmir mieszka w San Francisco, a ja w Nowym Jorku, więc musieliśmy przechowywać dane w miejscu, do którego można było uzyskać zdalny dostęp.

Podejście zapewniające najlepszą równowagę między wygodą, solidnością i kosztami polegało na zbudowaniu routera, do którego Kashmir mógłby podłączyć wszystkie swoje inteligentne urządzenia, aby przechwytywał ich aktywność sieciową. Zbudowaliśmy nasz przy użyciu Raspberry Pi 3 i napisaliśmy niestandardowy skrypt do przechwytywania ruchu i wysyłania go do magazynu danych Amazon Web Services S3.

Jeśli jesteś zainteresowany zrobieniem tego samodzielnie, musisz kupić Raspberry Pi . Możesz sprawdzić ten samouczek W3 Schools, aby dowiedzieć się, jak skonfigurować go za pomocą Node.js. Jeśli nigdy wcześniej nie korzystałeś z Pi, obejrzyj ten film, aby zobaczyć, jak podłączyć go do ekranu i klawiatury. Będziesz także potrzebować połączenia internetowego, aby pobrać uruchamiany przez nas skrypt. Najłatwiej to zrobić, podłączając Pi do routera domowego przez port Ethernet.

Raspberry Pi 3 jest wyposażony we wbudowany sprzęt Wi-Fi, więc dość łatwo jest go skonfigurować do pracy jako router. Jeśli nie zrobiłeś tego wcześniej, ten samouczek powinien być pomocny (pomiń część dotyczącą mitmproxy).

Raspberry Pi, którego używaliśmy. Czarny kabel USB przechodzi do zasilania, a żółty kabel Ethernet został użyty do zapewnienia dostępu do Internetu dla Pi.

Po skonfigurowaniu routera nadaj mu unikalną nazwę i możesz użyć smartfona lub laptopa, aby sprawdzić, czy działa. Sprawdź pobliskie sieci Wi-Fi. Jeśli widzisz ten, który właśnie utworzyłeś, to dobry znak! (Mój nazwałem „iotea”). Połącz się z siecią na swoim urządzeniu i sprawdź, czy internet działa normalnie. Jeśli tak, hura! Jesteś w połowie drogi.

Nazwaliśmy tę sieć „iotea”

Teraz, gdy Pi jest skonfigurowane do działania jak router Wi-Fi, czas dodać skrypt do monitorowania ruchu sieciowego. Aby to zrobić, musisz wiedzieć, jak korzystać z Git i Github. (Oto samouczek na wypadek, gdybyś nigdy wcześniej tego nie robił.) Możesz pobrać nasz kod z repozytorium Github , które zawiera również informacje o tym, jak należy go skonfigurować.

(Warto zauważyć, że istnieją istniejące narzędzia, takie jak Wireshark lub Mitmproxy, które już to robią i wiele więcej. Chociaż te narzędzia są bardzo wydajne, zainstalowanie ich na Pi i zdalne monitorowanie ich jest nietrywialne.)

Zwykle to, co robisz w tym momencie, to konfigurowanie gdzieś serwera. Następnie przechowywałbyś ruch, konfigurując skrypt na Pi tak, aby wskazywał na ten serwer. Skończyło się na tym, że skorzystaliśmy z usługi AWS Kinesis , która zasadniczo zadbała o skonfigurowanie dla nas serwera i przesyłanie strumieniowe danych do magazynu danych S3. Usługa zapewnia adres URL, na który Twoje Pi wyśle ​​Twoje dane.

To nie jest konieczne; możesz przesłać te dane do własnego serwera i monitorować je według własnego uznania. Możesz także zmodyfikować skrypt, aby po prostu rejestrować dane do pliku na samym Pi, chociaż prawdopodobnie będziesz musiał okresowo kopiować go do innej lokalizacji, ponieważ może szybko zapełnić pamięć.

Powodem, dla którego użyliśmy Kinesis, jest to, że pozwoliło nam ona uruchomić każdy przychodzący pakiet przez AWS Lambda Service, co w zasadzie pozwoliło nam przeanalizować te dane i wprowadzić je do bazy danych bez uruchamiania innego serwera. Innymi słowy, chociaż mogło to być przesada, korzystanie z tych usług AWS zmniejszyło liczbę ruchomych części, które musieliśmy konserwować, a także pozwoliło nam sprawdzić ruch przychodzący w czasie rzeczywistym bez większego wysiłku.

Po zbudowaniu Raspberry Pi wysłałem go pocztą do Kashmir, a ona podłączyła go do routera Netgear za pomocą kabla Ethernet. Następnie połączyła wszystkie swoje urządzenia z siecią Wi-Fi „iotea”.

Ponieważ nie byliśmy pewni, co będziemy gromadzić, ważne było, aby zminimalizować czas przestoju sieci. Istnieje kilka tysięcy portów, które mogą być używane przez urządzenie sieciowe do wysyłania danych. Wiele portów jest już przypisanych do istniejących usług; pełną listę możesz zobaczyć tutaj . W naszym eksperymencie interesował nas tylko ruch HTTP i HTTPS, który zwykle jest przesyłany przez porty 80 i 443. Zrobiliśmy to ze względu na prostotę i ponieważ na podstawie wczesnych testów wydawało się, że większość urządzeń używa tych portów do komunikacji ze swoimi serwery.

Następnie musieliśmy ustalić adres MAC dla każdego urządzenia, abyśmy mogli śledzić, jakie informacje są wysyłane przez które urządzenia. Pomogło to, że Kashmir zanotował czas, w którym podłączyła różne urządzenia i kiedy ich używała.

Po skonfigurowaniu systemu gromadzenia danych potrzebowaliśmy sposobu, aby przejrzeć wszystkie te dane. Ponieważ ustrukturyzowane metadane były przechowywane w bazie danych, zbudowaliśmy interfejs front-end, który pozwolił nam zobaczyć dane w czasie rzeczywistym i spróbować dowiedzieć się, co robią urządzenia. Było to niezwykle przydatne, ponieważ oznaczało, że Kashmir mógł wypróbować różne eksperymenty z urządzeniami i oboje mogliśmy natychmiast zobaczyć, jak to wygląda w danych. Poniżej znajduje się zrzut ekranu interfejsu. Kod interfejsu nie jest publiczny, ale można go łatwo powielić za pomocą JavaScript i D3 w przeglądarce.

Widok podsumowania interfejsu użytkownika

Na potrzeby analizy najpierw określiliśmy ilość ruchu przesyłanego do iz urządzeń oraz do których domen był wysyłany. Pozwoliło nam to zorientować się, jak gadatliwe było każde z urządzeń, a także z jakiej infrastruktury zaplecza korzystało. Nic dziwnego, że większość urządzeń korzystała z serwerów AWS firmy Amazon, więc widzieliśmy duży ruch kierowany do tych domen. W przypadku urządzeń, które wysyłały niezaszyfrowane informacje, najpierw przeanalizowaliśmy same żądania, aby sprawdzić, czy możemy określić, o co proszono. Jeśli żądane informacje były obrazami lub innymi zasobami, usuwaliśmy je oddzielnie. W ten sposób mogliśmy zebrać wszystkie obrazy z Netflix. Dla przypomnienia, oto niektóre z programów, które znam, które Netflix zasugerował Kaszmirowi na podstawie żądanych zdjęć:

Więc tak to zrobiliśmy. Mamy nadzieję, że w tym poście jest wystarczająco dużo informacji, które pomogą Ci rozpocząć i umożliwić monitorowanie inteligentnego domu. Daj nam znać, co znalazłeś!

Suggested posts

Razer twierdzi, że Blade 14 jest najpotężniejszym 14-calowym laptopem do gier w historii

Razer twierdzi, że Blade 14 jest najpotężniejszym 14-calowym laptopem do gier w historii

Nowy Razer Blade 14. Razer produkuje już szeroką gamę laptopów od 13 do 17 cali, ale dzięki nowemu Blade 14, Razer twierdzi, że stał się najpotężniejszym 14-calowym laptopem dla graczy.

Ta wirusowa reklama na imprezę z okazji czwartego lipca Dana Crenshawa jest nieco fałszywa

Ta wirusowa reklama na imprezę z okazji czwartego lipca Dana Crenshawa jest nieco fałszywa

Widziałeś zrzut ekranu z reklamy przedstawiciela Teksasu Dana Crenshawa? Republikański kongresman urządza przyjęcie z okazji Dnia Niepodległości, a obraz z reklamy krąży w serwisach społecznościowych, takich jak Twitter.

Related posts

To szokująco inwazyjne złośliwe oprogramowanie ukradło dane z 3,25 miliona komputerów z systemem Windows

To szokująco inwazyjne złośliwe oprogramowanie ukradło dane z 3,25 miliona komputerów z systemem Windows

W latach 2018-2020 tajemniczy szczep złośliwego oprogramowania zainfekował i ukradł poufne dane z około 3,25 miliona komputerów z systemem Windows — zabierając ze sobą przerażającą ilość poufnych informacji o użytkownikach tych urządzeń.

Te linki Google mogą sprawić, że wyniki wyszukiwania zrujnują Ci życie

Te linki Google mogą sprawić, że wyniki wyszukiwania zrujnują Ci życie

Google ma stronę pomocy z linkami, które należy przesłać do kopii zapasowej, jeśli padłeś ofiarą zemsty porno, doxxingu lub oszczerstw online. Google zmienia swój algorytm wyszukiwania, aby pomóc ofiarom pornografii zemsty i oszczerstw internetowych.

Wcześniej powszechne choroby powracają po przestoju Covid

Wcześniej powszechne choroby powracają po przestoju Covid

Cyfrowo pokolorowany obraz z transmisyjnego mikroskopu elektronowego (TEM) poszczególnych cząstek norowirusa, gdy Covid-19 zanika w USA

Nie potrzebujesz AirPods, aby cieszyć się Dolby Atmos w Apple Music

Nie potrzebujesz AirPods, aby cieszyć się Dolby Atmos w Apple Music

Na początku tego tygodnia Apple włączył przełącznik, aby włączyć dźwięk bezstratny i dźwięk przestrzenny z Dolby Atmos w Apple Music. Ale chociaż włączenie tego ustawienia jest stosunkowo łatwe, może być mylące, jakie urządzenia będą obsługiwać jaki format - i czy naprawdę potrzebujesz AirPods, aby cieszyć się tym doświadczeniem.

MORE COOL STUFF

Kevin Hart wyłącza dźwięk w Cancel Culture — „Ostatnim, co sprawdzałem, jedynym sposobem, w jaki dorastasz, jest pieprzenie się”

Kevin Hart wyłącza dźwięk w Cancel Culture — „Ostatnim, co sprawdzałem, jedynym sposobem, w jaki dorastasz, jest pieprzenie się”

Kevin Hart niedawno wypowiedział się przeciwko kulturze anulowania, zauważając, że osoby publiczne są jedynymi, od których oczekuje się, że będą doskonałe.

Kiedy pisarze „Sopranos” zwrócili się do Hitchcocka „North by Northwest” w poszukiwaniu inspiracji

Kiedy pisarze „Sopranos” zwrócili się do Hitchcocka „North by Northwest” w poszukiwaniu inspiracji

Pod koniec „Soprano” pisarze poszli na efekt Alfreda Hitchcocka, tworząc alternatywną tożsamość dla Tony'ego Soprano.

„Opowieść podręcznej”: Amanda Brugel o rozwoju Rity od czasu ucieczki z Gilead

„Opowieść podręcznej”: Amanda Brugel o rozwoju Rity od czasu ucieczki z Gilead

Showbiz Cheat Sheet przeprowadził wywiad z Amandą Brugel na temat roli Rity w sezonie 4 „Opowieści podręcznej” wraz z jej nadziejami związanymi z tą postacią.

„Love Is Blind” Cameron Hamilton o tym, jak wspiera Lauren Speed ​​w radzeniu sobie z relacjami rasowymi w ich międzyrasowym małżeństwie

„Love Is Blind” Cameron Hamilton o tym, jak wspiera Lauren Speed ​​w radzeniu sobie z relacjami rasowymi w ich międzyrasowym małżeństwie

Cameron Hamilton mówi, że w swoim małżeństwie z Lauren Speed ​​musiał nauczyć się zmagać się z relacjami rasowymi. Para „Love Is Blind” dokumentuje to w nowej książce.

Elektryczne pompy ciepła: istniejąca technologia dla energooszczędnej przyszłości

Elektryczne pompy ciepła: istniejąca technologia dla energooszczędnej przyszłości

Sposób, w jaki ogrzewamy i chłodzimy budynki, w których mieszkamy i pracujemy, jest ważny dla ograniczenia emisji gazów cieplarnianych. Dobrą wiadomością jest to, że technologia już istnieje: elektryczne pompy ciepła, które są trzy do czterech razy bardziej wydajne niż piece.

Czym są liczby urojone?

Czym są liczby urojone?

Liczba urojona to wartość będąca pierwiastkiem kwadratowym z liczby ujemnej. Nie może istnieć na jednowymiarowej osi liczbowej. Wyjaśnimy.

Jaka jest odmiana delta koronawirusa?

Jaka jest odmiana delta koronawirusa?

Czy wzrost liczby przypadków wariantu koronawirusa delta, zidentyfikowanego po raz pierwszy w Indiach, może stanowić zagrożenie dla planów ponownego otwarcia w Europie i USA?

5 najwyższych pustyń Ziemi

5 najwyższych pustyń Ziemi

Nie wszystkie pustynie mają piasek i na pewno nie wszystkie są gorące. Są po prostu bardzo suche i mają mało roślinności. Oznacza to, że na całej planecie znajdują się pustynie, w tym na bardzo dużych wysokościach.

Królowa Elżbieta odpowiedziała najlepiej, gdy powiedziano jej, że przemawia przy stole obiadowym G7

Królowa Elżbieta odpowiedziała najlepiej, gdy powiedziano jej, że przemawia przy stole obiadowym G7

Królowa Elżbieta gościła australijskiego premiera Scotta Morrisona w zamku Windsor, zaznaczając swoją pierwszą osobistą publiczność od początku pandemii COVID-19

Ilana Glazer z Broad City mówi, że zajście w ciążę ze swoim pierwszym dzieckiem to „najfajniejsza rzecz w historii”

Ilana Glazer z Broad City mówi, że zajście w ciążę ze swoim pierwszym dzieckiem to „najfajniejsza rzecz w historii”

Ilana Glazer ogłosiła, że ​​wraz z mężem Davidem Rooklinem spodziewają się pierwszego dziecka na początku tego roku

Chris Lane śpiewa do Son w piosence „Ain't Even Met You Yet” – „Czuję się gotowy / Ale czuję się śmiertelnie przerażony”

Chris Lane śpiewa do Son w piosence „Ain't Even Met You Yet” – „Czuję się gotowy / Ale czuję się śmiertelnie przerażony”

We wtorek Chris Lane miał premierę swojej piosenki „Ain't Even Met You Yet” z PEOPLE, w której śpiewa dla swojego nowonarodzonego syna Dutton Walker

Jessica Alba uczy o „oddawaniu się” w nowej książce dla dzieci, którą napisała z Baby2Baby Co-CEO

Jessica Alba uczy o „oddawaniu się” w nowej książce dla dzieci, którą napisała z Baby2Baby Co-CEO

A Bear to Share zostanie opublikowany przez HarperCollins Publishers 26 października

Szablony klas C++17 : CTAD i dedukcja typu

Szablony klas C++17 : CTAD i dedukcja typu

Celem tego artykułu jest zademonstrowanie funkcji CTAD i wymuszenia w C++ dedukcji typu specjalnie dla szablonów klas za pomocą przewodników dedukcji typu jawnego dostępnych od C++17. Metaprogramowanie szablonów C++ to funkcja znana wszystkim programistom C++, zarówno początkującym, jak i zaawansowanym.

Niestandardowe akcje GitHub w ruchu bez platformy Docker

Niestandardowe akcje GitHub w ruchu bez platformy Docker

GitHub Actions to doskonałe narzędzie do tworzenia niestandardowych przepływów pracy do tworzenia, testowania i wdrażania kodu. Są elastyczne i dość łatwe do rozpoczęcia.

Co nadchodzi w React 18?

To może być jak dotąd największa poprawa w zakresie doświadczenia użytkownika

Co nadchodzi w React 18?

React 18 wprowadza kilka nowych, gotowych do użycia usprawnień i jest bardziej skoncentrowany na doświadczeniu użytkownika i wewnętrznych zmianach architektury. Nowe funkcje są następujące.

Python czy Node.js: który jest najlepszy dla Twojej aplikacji internetowej?

Python czy Node.js: który jest najlepszy dla Twojej aplikacji internetowej?

Właściwa technologia ma znaczenie dla Twojej aplikacji internetowej. Umożliwia dopasowanie Twoich oczekiwań do możliwości technologii.

Language