21:25
23/5/2017

Jeśli oglądasz na komputerze filmy z napisami w tak popularnych playerach jak VLC, Kodi (XBMC), PopcornTime czy Streamio, to miej się na baczności. W tych odtwarzaczach (i nie tylko tych) jest dziura, która powoduje, że przy wczytaniu złośliwego pliku z napisami, jego autor może przejąć kontrolę nad Twoim komputerem.

Złośliwe napisy do filmów

Na błędy w obsłudze napisów w popularnych odtwarzaczach video natknęli się badacze z firmy CheckPoint. Odkryte przez siebie podatności zaprezentowali na przykładzie filmu (bez obaw, nie trzeba do niego odpalać napisów ;)

Checkpoint nie ujawnia szczegółów ataku — czeka aż wszyscy producenci podatnych odtwarzaczy wypuszczą łatki. Już teraz dostępna jest załatana wersja VLC i PopcornTime oraz Kodi (można więc sobie podejrzeć, na czym polegały zmiany i widać, że w każdym z playerów był to inny błąd). Co ciekawe, badacze sugerują, że podatne mogą być także inne playery, których nie testowali. Checkpoint uważa, że obecnie wskazane przez nich problemy dotyczą około 200 milionów użytkowników (samo VLC ma 170 milionów pobrań dla najnowszej wersji).

Wgraj napisy, stwórz filmow botnet!

Jak widać na prezentacji video, złośliwe napisy mogą pochodzić z popularnych serwisów udostępniających napisy do filmów, np. OpenSubtitles — to oznacza, że atakujący może bardzo łatwo umieścić tam złośliwy plik z napisami, a następnie zmanipulować statystyki, aby to jego napisy były sugerowane w pierwszej kolejności.

Dlatego poza zaktualizowaniem swoich playerów, rozważcie także wyłączenie “automatycznego dopasowywania/pobierania napisów“. Zwłaszcza, że dziury mogą się także znajdować w playerach wbudowanych w aplikacje firm trzecich (np. NAS-y), na telefonach komórkowych, czy w odtwarzaczach obecnych w telewizorach albo innych urządzeniach.

Tylko lektor!!!

Alternatywa forma ochrony, to ręczne weryfikowanie pliku z napisami przed jego zaimportowaniem pod kątem obecności dziwnych treści. Jedyny problem takiego podejścia, to SPOILER ALERT! Na szczęście najpopularniejsza w internecie grupa filmów, nawet jeśli grają w nich obcjojęzyczni aktorzy, to napisów nie potrzebują… ;)

PS. Ciekawe, czy tę dziurę wykorzystają wcześniej antypiraci (do inwigilacji i ustalania tożsamości “piratów”) czy może spamerzy, którzy w trakcie filmów będą odpalali reklamy lub kopali bitcoiny?

Przeczytaj także:


Dowiedz się, jak zabezpieczyć swoje dane i pieniądze przed cyberprzestępcami. Wpadnij na nasz kultowy ~3 godzinny wykład pt. "Jak nie dać się zhackować?" i poznaj kilkadziesiąt praktycznych i przede wszystkim prostych do zastosowania porad, które skutecznie podniosą Twoje bezpieczeństwo i pomogą ochronić przed atakami Twoich najbliższych. Uczestnicy tego wykładu oceniają go na: 9,34/10!

Na ten wykład powinien przyjść każdy, kto korzysta z internetu na smartfonie lub komputerze, prywatnie albo służbowo. Wykład prowadzimy prostym językiem, wiec zrozumie go każdy, także osoby spoza branży IT. Dlatego na wykład możesz spokojnie przyjść ze swoimi rodzicami lub mniej technicznymih znajomych. W najbliższych tygodniach będziemy w poniższych miastach:

Zobacz pełen opis wykładu klikając tutaj lub kup bilet na wykład klikając tu.

50 komentarzy

Dodaj komentarz
  1. holerka, kiedy latka do bestplayera? :)

    • I do Vplayer alfa 2001.

  2. Poprawka już wyszła do Kodi.

    https://kodi.tv/article/kodi-v172-minor-bug-fix-and-security-release

    • No jest łatka do kodi, tylko to jest kodi 17 tymczasem najpopularniejsza platforma dla kodi to rpi, a tm raspbian czyli debian czyli….. kodi 15 :/

    • https://github.com/xbmc/xbmc/pull/12024

  3. Porównałem kod VLC 2.2.5 i 2.2.5.1, jedyne zmiany dotyczace napisow, to wydaje sie obsluga znacznika font, gdzie prawdopodobnie nie byl sprawdzany koniec stringa, co wykorzystali do buffer overflow.
    Plik modules\codec\subsdec.c:
    while( *psz_subtitle != ‘>’ ) zmienili na while( *psz_subtitle != ‘>’ && *psz_subtitle)

    oraz

    if( i_len == 0 ) na if( i_len == 0 && *psz_subtitle != ‘\0’ )

    oraz
    dodali if (*psz_subtitle == ‘\0’) break; w tej pętli.

    Jest to plytka analiza, ale moze kogos nakieruje i podzieli sie z nami, w czym tkwila podatnosc.

    • const size_t i_offset = strlen(psz_html);
      const size_t i_len = strnlen(psz_text, i_max);

      psz_html = realloc( psz_html, i_offset + i_len + 1 );

      Tutaj prawdopodobnie przekrecal sie integer, jesli i_offset + i_len > INT_MAX.

      Nadal niestety nie wiem, jak moznaby to wykorzystac do exploita…

    • Nie zaglądałem w kod ani nie jestem specjalistą od C. Jednak patrząc na poprawkę wnioskuję, że brak sprawdzenia zakończenia string stwarzał możliwość wstrzyknięcia kodu za znacznikiem zamykającym ‘>’. Możliwe, że zaimplementowany parser HTML używa eval do prawidłowego działania, albo funkcja realloc pozwalała na ‘przerzucenie’ kodu do jakiejś krytycznej części pamięci.

    • Skoro już się czepiamy kodu, to nie można tego pominąć:
      vUsing adjHungarian nNotation vMakes nReading nCode adjDifficult.

    • To nie ten kod. To jest to: https://git.videolan.org/?p=vlc/vlc-2.2.git;a=commitdiff;h=9575163c9093b439403d1b2551f2c01f4081ebb4;hp=aef4ee7f141439921d31ea21bc5700436cb3fb51

      Buffer overflow, czyli przepełnienie bufora, a dokładnie sterty. Możesz wstrzyknąć wszystko, bo program nadpisuje pamięć tam gdzie nie powinien. Oczywiście DEP i ASLR trochę pomaga, ale można to ominąć ;)

    • OK, zwracam honor. Poleciałem za daleko do 2.2.6 :)

    • Jak widzę ten fix:
      https://git.videolan.org/?p=vlc/vlc-2.2.git;a=commitdiff;h=9575163c9093b439403d1b2551f2c01f4081ebb4;hp=aef4ee7f141439921d31ea21bc5700436cb3fb51
      To słabo mi się robi. Jak się coś naprawia to z głową a nie metodą prób i błedów.
      Przecież obecny warunek po prawej stronie AND jest martwy.
      Na dodatek napisane to jest nieczytelnie, nie lepiej tak:

      else if( psz_text[1] == ‘\r’ || psz_text[1] == ‘\n’ )

  4. Czy po wyłączeniu filmu/serialu hackerzy nadal mają dostęp do komputera czy już nie? Czy jest jakaś informacja co do K-Lite Codek Pack (MPC) czy on też był zagrożony atakiem?

    • Z tego co rozumiem to problem dotyczy odtwarzaczy a nie kodeków. Tak czy siak warto aktualizować soft na którym się pracuje, no i nie odpalać filmików z konta adminowskiego.

    • Kodeki mają też w sobie wbudowane filtry napisów, wplatające je bezpośrednio w obraz.

  5. Kodi wydało łatkę !

    • I przy okazji zwalili packaging:)) Nie działały Klienty PVR. Ale już wydali łatkę na łatkę:) 17.3

  6. Ciekawe co z mplayerem

  7. Jakieś info Czy MPC również jest podatne?

  8. A co z innymi playereami typu allplayer czy bestplayer? I czy podatne są programy do pobierania napisów typu napiprojekt?

    • allplayer w ogóle nie obsługuje napisów, więc trudno żeby miał błąd w tej obsłudze :p
      a tak serio, coś tam czyta, ale nie parsuje za bardzo tylko wypluwa skrypt na ekran

    • Chodzi mi bardziej o to, że allplayer posiada możliwość pobierania napisów z wielu serwisów, a atak z tego co przeczytałem jest podczas właśnie ściągania napisów.

    • to przeczytaj jeszcze raz

    • Przeczytałem Twoją wiadomość raz jeszcze, ale to nie pomogło.

    • Podatność występuje przy odtwarzaniu, nie przy sciąganiu.
      AllPlayera czy BESTPlayera nie sprawdzali, ale póki nie odtworzysz zainfekowanych napisów, nic się nie stanie.

  9. A na Blackberry coś się popsuło? Bo nie zauważyłem…

  10. I trzeba stare, stabilne raspberasy aktualizowac, ech… wiadomo na jakim OS to działa ?

  11. A trzeba było się w szkole języków uczyć! :)

  12. Stare dobre MPC-HC a nie jakieś wynalazki ;)

  13. Czy to dotyczy tylko Windows? Na macOS nie ma żadnej aktualizacji VLC

  14. Dobrze, że oglądam tylko te najpopularniejsze filmy ;)

  15. czy kraftowany plik z napisami instruował player aby pobrał z netu serwer vnc czy wykorzystywał zainstalowany? zastanawiam się czy ten atak jest możliwy tylko w ściśle określonych warunkach.

  16. Dobre pytanie, warto zaznaczać w artykule jakich systemów dotyczy zagrożenie, czy Mac OS X też jest podatny?

  17. Plex też może być podatny

    • Plex używa mpv, więc wątpie.

  18. Napiszcie że chodzi o playery na PC a nie na OSX:)

    • OSX? Ktoś tego używa jeszcze?

  19. Co ze wszelakimi Smart TV?
    Co z HbbTV?

  20. A jakies info o Potplayerze?
    Jest to chyba w tej chwili najlepszy i najbardziej rozbudowany player.

  21. A co z sersiami typu Videostraem czyli streamujacymi multimedia i umozliwiajacymi wgranie plikow z napisami?

  22. Dobra ale na czym polega dokładnie ten atak? Przecież playery raczej nie działają na podniesionych uprawnieniach.

  23. “Na szczęście najpopularniejsza w internecie grupa filmów, nawet jeśli grają w nich obcjojęzyczni aktorzy, to napisów nie potrzebują… ;)”

    Macie to poczucie humoru. :)

  24. I zer0 wzmianki o tym https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5036 Przecież to powtórka rozrywki :P

  25. Hej a powiedzcie mi czy jak mamy antywirusa włączonego, firewalla i poblokowane porty to czy te exploity będą działać mimo to? Czy możemy wiresharkiem nasłuchiwać te exploity?

  26. > OpenSubtitles
    W Polsce najpopularniejszy jest Napiprojekt (z peer reviewem przed publikacją) i Napisy24, gdzie jest aktywna moderacja. Wątpię, by tam przeszły takie numery :)

    • o ile ufasz moderacji, że nie będzie chciała sobie dorobić na małym botneciku to tak ale zawsze mogą coś ‘przeoczyć’

  27. W stopce macie jakieś stare info: ” Wszelkie prawa zastrzeżone © 2009- echo date(“Y”); ”

    • hehe, dalej sie nacinaja na ta stopke :)

  28. Działa nie zależnie od systemu, czy tylko Windows?

  29. Dziura ta dotyczy również Linuxa?
    Czy jest jakieś zagrożenie?

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: