logo elektroda
logo elektroda
X
logo elektroda

Tania kamera IP - uwolnienie od chmury

pixel7  53 11433 Fajne? (+31)
📢 Słuchaj (AI):
Dzień dobry!

Poniżej przedstawię pokrótce opis techniczny samego urządzenia oraz kroki w celu uwolnienia od chmury producenta bez zmiany firmware.

Biała kamera obrotowa z anteną WiFi i płytą montażową.

Kamerę kupiłem na znanym portalu aukcyjnym, kosztowała wtedy 75 zł, obecnie 85 zł.

Zdjęcie ofertowe kamery IP Asato zewnętrznej obrotowej na platformie e-commerce.


OPIS TECHNICZNY

Dane techniczne wg sprzedawcy:
Cytat:

Wodoszczelność: IP65 - kamera jest odporna na deszcz, śnieg i inne trudne warunki atmosferyczne.
Rodzaj łącza: WiFi - bezprzewodowe połączenie kamery z domową siecią internetową, zapewniając łatwy dostęp i zdalne sterowanie.
Rozdzielczość nagrań: 1080p (Full HD) - zapewnia wysokiej jakości, szczegółowy obraz wideo.
Funkcja zoom: cyfrowy 4x
Antena: 5dBi - zapewnia silny i stabilny sygnał WiFi, zwiększając zasięg i niezawodność połączenia bezprzewodowego.
Standard WiFi: 2,4GHz - jest kompatybilny z większością domowych routerów, oferując łatwą konfigurację i stabilne połączenie.
Program do kamery: Ease Life - intuicyjna aplikacja mobilna, która umożliwia łatwe zarządzanie kamerą.
Zasilanie: DC 5V/2A
Diody podczerwieni: 21x IR LED - pozwalają na wyraźny podgląd w całkowitej ciemności, również w nocy.
Funkcja nagrywania: karta microSD / chmura - oferuje elastyczne opcje zapisu nagrań, zarówno lokalnie na karcie microSD, jak i zdalnie w chmurze.
Obsługiwane karty: microSD do 128GB
Funkcja robienia zdjęć: tak


Do instalacji kamery służy odpowiednia aplikacja (Aview) dostępna na urządzenia mobline.
Przy jej pomocy możemy dołączyć ją do domowej sieci WiFi (STA) lub używać w trybie AP (łączymy się do jej hotspota).
Aby móc łączyć się z kamerą zdalnie musimy zalogować ją do chmury Alibaby (CN) i wszystko co się z nią dzieje przechodzi przez ich serwery(!).
To rodzi ogromne niebezpieczeństwo bo mamy w naszym LAN obce urządzenie z pełnym dostępem do sieci, a nie muszę tłumaczyć co można nabroić w takiej konfiguracji..

Urządzenie łatwo się rozbiera, 3 śruby spajają kule z kamerą a całość zawieszona na uszach mechanizmu obrotowego (1 śruba).
Rozebrać musiałem, ze względu na wymianę kabla zasilającego - oryginalny to 15 cm przewodu z wtyczką, wymieniłem na dłuższy.
Nie chcę wnikać w szczegóły budowy - jedna uwaga, mechanizmy obrotowe nie posiadają informacji o pozycji, wszystko opiera się na ilości kroków obrotu,
przy uruchomieniu musi nastąpić pełnozakresowa kalibracja w obu osiach.

Poniżej kilka zdjęć wnętrza.
Płytka główna:
Widok wnętrza kamery IP z widoczną płytką główną i okablowaniem.

Moduł WiFi:
Wnętrze kamery IP z widoczną płytką główną i modułem WiFi

Sterowanie silnikami i ich wygląd:
Zbliżenie na płytkę główną kamery z kablami.
Wnętrze kamery IP z widoczną płytką i okablowaniem. Zbliżenie na wnętrze kamery z widocznym silnikiem i okablowaniem.

PODSŁUCHIWANIE PROTOKOŁU

Kamera jak większość posiada obsługę protokołu RTSP, umożliwiającego transfer obrazu, dzwięku i nie tylko (duplex).
Nie znalazłem w sieci żadnego opisu konkretnej adresacji tego urządzenia, ale po skanowaniu jej dostępnych portów ten najbardziej interesujący,
554 okazał się otwarty - jednak żadna z kombinacji popularnych adresów nie działała.

Postanowiłem podsłuchać jej komunikację za pomocą PCAPdroid (na telefonie) ale komunikacja z zewnętrzną chmurą była od razu zabezpieczona TLS więc nie wiele się dowiedziałem.
Przykłady ramek:

Zrzut ekranu pokazujący dane sieciowe pakietów TCP i TLS.

Z pomocą przyszła zmiana trybu połączenia na AP, zresetowałem do fabryki i podłączyłem się bezpośrednio.
Okazało się ze aplikacja bez problemu używa jedynie RTSP do komunikacji i w dodatku bez szyfrowania.
Zapisałem próbki pakietów z telefonu podczas pracy i poddałem analizie.

Zrzut ekranu przedstawiający wyniki analizy ruchu sieciowego z wykorzystaniem protokołu RTSP.

STREAM OBRAZU

Po wstępnej analizie użyłem prostego skryptu python w celu przechwycenia strumienia video.
Wystarczy użyć gotowca w postaci openCV (potrafi natywnie dekodować ten stream):

Kod: Python
Zaloguj się, aby zobaczyć kod


Powyższy przykład pobiera ramki z obrazem, skaluje do i wyświetla podgląd na ekranie.
Tak przygotowane możemy dowolnie używać, zapisywać jako bitmapę bądź w locie kleić film.
W moim przypadku trafiają one do rpi w którym AI analizuje dane i tworzone są nagrania (NVR).

STEROWANIE MECHANIZMAMI KAMERY

Kamera posiada mechanizm obrotowy. Dostęp do niego również odkryłem w logach transmisji RTSP.
Okazuje się, że kamera ma możliwość odczytu i reakcji na komunikaty zwrotne. Podczas prac udało mi się wywołać listę jej parametrów:
Cytat:

1 Up_Start
2 Down_Start
3 Left_Start
4 Right_Start
5 Right_Up_Start
6 Right_Down_Start
7 Left_Up_Start
8 Left_Down_Start
9 PT_Stop
10 Zoom_Tele - max zoom 12
11 Zoom_Wide - min zoom 1
12 Zoom_Stop
13 Focus_Near
14 Focus_Far
15 Focus_Stop
17 IRIS_CLOSE
18 IRIS_Stop


Aby móc zarządzać tymi ustawieniami należy wysłać odpowiednią ramkę z komendą.
Komendy sterujące o dziwo uruchamiają się bez logowania!

obrót jest 2 etapowy, najpierw start:
Kod: Bash
Zaloguj się, aby zobaczyć kod


następnie zatrzymanie obrotu:
Kod: Bash
Zaloguj się, aby zobaczyć kod


Parametr -cmd wskazuje na rodzaj akcji (zgodnie z listą powyżej)
Czas pomiędzy wysyłką pakietów to kąt zależny również od parametru -data2 55 (prędkość).

Kolejny przykład, ustawienie daty i godziny:
Kod: Bash
Zaloguj się, aby zobaczyć kod


Poniżej prezentuje przykładową klasę do obsługi obrotu (góra - dół), którą napisałem po zrozumieniu struktury komend, sukcesywnie dodaje kolejne.

Kod: Python
Zaloguj się, aby zobaczyć kod


Jak wspominałem powyżej, kamerą można obracać sterując czasem i prędkością obrotu, zaś z powodu braku informacji o położeniu, za każdą zmiana położenia trzeba zapamiętywać ich ilość.
Z pewnością sama zapisuje ostatnie, bo po restarcie je ustawia.

ODŁĄCZENIE OD CHMURY PRODUCENTA

Mając możliwość dowolnego sterowania kamerą, pozostawiłem ją podłączoną do mojej sieci LAN, jednak na routerze zablokowałem jej dostęp do internetu. Aplikacja producenta w tej sytuacji nie widzi kamery, uznaje jej stan jako offline, żadne dane nie są przesyłane.
To jednak powoduje, że nie ma dostępu z zewnątrz.
W moim przypadku nie ma to znaczenia, kamerą steruje rpi, do niego trafia obraz, ja mam zapewniony inny sposób poglądu - restream przez moją wewnętrzną www.
Dodatkowo posiadam publiczne IP, do tego własny serwer openVPN, a moje urządzenia (tel, komp, inne) są zazwyczaj połączone gdy jestem na zewnątrz, więc zachowują się jak w LAN.

WNIOSKI

Kamera generuje całkiem niezły obraz zarówno w dzień i w nocy, dodatkowo posiada doświetlenie LED (białe i IR).
Mam do niej praktycznie pełny dostęp z możliwością sterowania jej parametrami.
Obecnie obraz z niej trafia do rpi, na którym jest poddawany analizie przez AI. Kamera obserwuje drogę przed domem. Rozpoznaje ruch, jego kierunek, poruszające się obiekty (człowiek, samochód), pracuje nad śledzeniem i podążaniem za obiektem itp.

Prawdopodobnie większość tego typu tanich kamer IP da się używać bez oryginalnego i NIEBEZPIECZNEGO oprogramowania producenta, lecz niezbędne jest wtedy własne, dodatkowe oprogramowanie.

p.

O autorze
Specjalizuje się w: python pixel7 napisał 656 postów o ocenie 160 , pomógł 53 razy. Mieszka w mieście warszawa. Jest z nami od 2007 roku.

Komentarze

gulson 13 Lut 2024 15:45

Dzięki za zaprezentowanie rozwiązania odłączenia się chmury i bycia niezależnym! Jak napiszesz mi Paczkomat, to wyślę mały upominek. [Czytaj dalej]

prosiak_wej 13 Lut 2024 16:14

No właśnie, może jakieś próbki? [Czytaj dalej]

chemik_16 13 Lut 2024 17:20

Odklej blaszke z cpu. Ale generalnie widzę że to płytka od ingenic, więc możesz tam wgrać openipc. Występują w różnych konfiguracjach nawet z 3kamerami [Czytaj dalej]

siewcu 14 Lut 2024 08:55

A napisz proszę co takiego niebezpiecznego może zrobić taka kamera. Ciekaw jestem, ludzie tak powtarzają ciągle o tym, że to takie niebezpieczne i zastanawiam się jaką krzywdę może mi zrobić Alibaba. Przyjadą... [Czytaj dalej]

Nepto 14 Lut 2024 09:39

Konkretów jest pełno, to jest wojna technologiczna. Jako przykład raport estońskiego wywiadu na temat uzależenienia technologicznego i zbierania danych przez Chiny: https://raport.valisluureamet.ee/2... [Czytaj dalej]

pixel7 14 Lut 2024 09:57

: Tak, wrzucę przykładowe wieczorem. Nie wiedziałem że jest alternatywa dla tego procka, nawet nie interesowałem się jaki jest. Spełnia moje potrzeby, stąd nie ingerowałem aż tak. Mając... [Czytaj dalej]

Anonymous 14 Lut 2024 10:25

To prawda a kto czuje się zagrożony, nie musi kupować tego co mu się wydaje niebezpieczne. Poza tym, jestem ciekaw czy taka ingerencja w oprogramowanie nie jest naruszeniem praw autorskich. Czy w przypadku... [Czytaj dalej]

pixel7 14 Lut 2024 10:37

Właśnie w tym wypadku nie ma żadnej ingerencji w urządzenie. Ja tylko korzystam z danych które tworzy, tak jak wymyślił to producent. Można używać w trybie AP żeby nie wysyłać nic na zewnątrz. Poza tym,... [Czytaj dalej]

dktr 14 Lut 2024 13:10

Ja tam zawsze wycinam kamerom,żarówkom, odkurzaczom, i w zasadzie wszystkiemu co tego nie potrzebuje całkowicie dostęp do internetu na routerach, czasem zostawiam tylko dojście do serwera czasu. Ludzie... [Czytaj dalej]

kris8888 14 Lut 2024 18:52

Zapytam z ciekawości bo aż tak na tym się nie znam czy np. jakieś urządzenia smart domu, typu czujki, przełączniki pracujące pod nadzorem serwerów i chińskiej chmury Tuya też niosą takie samo niebezpieczeństwo? A... [Czytaj dalej]

chemik_16 14 Lut 2024 19:24

Pewnie że tak. Ta sama zasada - każda czujka to mikrokontroler - komputer wpięty w twoją sieć lokalną. Wszystkie kontrolery używane w iot od tuya na tą chwile są już chyba wspierane przez alternatywne... [Czytaj dalej]

operator5wp 14 Lut 2024 19:36

Proponuje też sprawdzić czy kamerka nie ma możliwości podłączenia na płytce rx/tx serial (baud 115200) przez usb konwerter, by można było zobaczyć jaki jest system oraz możliwość wysyłania komend przez... [Czytaj dalej]

kris8888 14 Lut 2024 20:03

No to mnie trochę zmartwiłeś. Czyli że taka czujka może monitorować i zbierać cały ruch z sieci lokalnej a następnie bez mojej wiedzy wysyłać to gdziekolwiek w świat? A czy da się to jakoś ograniczyć... [Czytaj dalej]

Janusz_kk 14 Lut 2024 22:07

Masz :) " Nicole Eagan, prezes firmy Darktrace, która zajmuje się bezpieczeństwem cybernetycznym, ujawniła, że jedno z amerykańskich kasyn padło ofiarą hakerów. Nie byłoby w tym nic nadzwyczajnego, gdyby... [Czytaj dalej]

kris8888 14 Lut 2024 23:05

Z drugiej strony czy taka potencjalna inwigilacja sieci lokalnej za pomocą urządzeń smart typu czujki czy kamery podpiętych do chmury różni się aż tak bardzo od inwigilacji przez Microsoft, Google czy... [Czytaj dalej]

analog_6 15 Lut 2024 01:20

Dawno temu nabyłem dysk sieciowy Lenovo, czyli nie jakiś krzak. dysk nie miał dostępu do internetu. Był wpięty w LAN oczywiście, ale nie miał skonfigurowanej bramy, która bynajmniej nie miała oczywistego... [Czytaj dalej]

dktr 15 Lut 2024 07:36

I wszystko prawidłowo, sam dysk nie miał dostępu do internetu, ale komputer z którego logowałeś się na panel konfiguracji dysku już ten dostęp miał i na tym etapie została przekazana informacja że jest... [Czytaj dalej]

elektryku5 15 Lut 2024 07:50

Mogło tak być, ale mógł też zadziałać inny mechanizm z jakim się spotkałem w ryżowym routerze, tzn. ustawiony stały IP LAN, praca w trybie AP, a ten i tak sobie pociągnął po DHCP inny adres. Zresztą z... [Czytaj dalej]

pixel7 15 Lut 2024 08:03

Jak już wcześniej wspomniano - tak, KAŻDE takie urządzenie to jak stary blaszany komputer. Wyobraź sobie ile takich działa Twoim domu... Wyniesienie ich do odrębnej, izolowanej podsieci zabezpieczy przed... [Czytaj dalej]

%}