2019. június 20., csütörtök

Gyorskeresés

UPC Connect Box (Compal CH7465LG) problémái

Írta: | Kulcsszavak: upc . connect . box . modem . router . wifi . intel . puma . pumageddon

[ ÚJ BEJEGYZÉS ]

Update: 2018. május 26. - Új firmware: CH7465LG-NCIP-6.12.18.24-5p4-NOSH
Az elmúlt hónapban a UPC megkezdte a Connect Boxok frissítését a CH7465LG-NCIP-6.12.18.24-5p4-NOSH verzióra. Én sajnos tesztelni már nem tudom, de eddig két fórumtárs tesztelte és megerősítette, hogy a DoS sebezhetőség nem került javításra a frissített firmwareben. Az ICMP latency grafikon simábbnak tűnik, de tekintettel arra, hogy eddig egyik Puma 6-os eszközre sem érkezett megfelelő javítás a világon (forrás itt), valószínűleg az egyik félmegoldás került a UPC-nél is implementálásra:
- ICMP csomagoknál javították a hibát, de TCP és UDP csomagoknál, tehát a valódi forgalomnál nem. A hiba továbbra is ugyanúgy fennáll, csak nehezebben mérhető, VAGY
- Második változattal némileg javult a teljesítmény, de a probléma nem szűnt meg teljesen.

Eredeti bejegyzés
A közelmúltban a UPC fórumtopikban többször előjött, sok ember osztott meg ezzel kapcsolatosan tapasztalatokat és információkat, ezért úgy gondoltam, érdemes lenne egy bejegyzésben összeszedni mindent, amit a témával kapcsolatban tudni érdemes.

Megjegyzés:
Az itt leírt hibajelenségekre 2018. április végéig nem érkezett javítás, mind a DoS sebezhetőség, mint a késleltetés kiugrások tesztelhetőek és mérhetőek a Connect Boxon. A UPC előfizetésem lemondtam, így valószínűleg a jövőben nem lesz lehetőségem tesztelni a hibákat (legalábbis egy ideig). Amennyiben valódi mérésekkel és adatokkal rendelkezel és szeretnéd megosztani, küldd el privát üzenetben és bekerül a leírásba. Részemről lemondtam a UPC-ről, a Connect Boxról és a Puma 6-ról. Remélhetőleg, ha esetleg a jövőben ismét UPC előfizetésre kényszerülök, addigra cserélődnek az eszközök és kevésbé lesznek problémásak.

A UPC Connect Box egy UPC logóval ellátott Compal CH7465LG típusú DOCSIS 3.0 kábelmodem/router, melyet eleinte a Happy Home / Fiber Power 500 csomag mellé adtak, viszont a legfrissebb információk szerint már minden lakossági előfizetőnek kötelezően ezt adja a UPC, nincs lehetőség másik modemet választani. Mint minden ilyen eszköz, ez is egy kis számítógép, melyben az Intel Puma 6 chipsetje teszi a dolgát, és ebből erednek a modem problémái.

A közelmúltban felderített problémák alapvetően 4 (5?) csoportra oszthatók:
- ICMP/UDP/TCP késleltetés (ping) rendszeres, indokolatlan megugrása. (latency spike)
- Egyszerűen, távolról kihasználható UDP DoS sebezhetőség. (biztonsági probléma)
- Terhelés alatt csomagvesztés, instabilitás. (általános teljesítményprobléma, ezzel nem foglalkozunk ebben a cikkben. Valószínűleg összefügg a DoS sebezhetőséggel.)
- Webes adminfelület biztonsági problémái. (ezzel nem foglalkozunk ebben a cikkben)
- Egyesek szerint egy távolról kihasználható memory corruption sebezhetőség is van a chipsetben, mely igen súlyos biztonsági kockázatot is jelenthet. Tekintettel arra, hogy nincsen publikus leírás vagy PoC exploit, ezért én kissé szkeptikus vagyok.

Elöljáróban: Mekkora problémák ezek? "Használhatatlan-e" a Connect Box?
Egy átlagos felhasználó valószínűleg nem fogja érezni ezeket a problémákat, viszont ez távolról sem jelenti azt, hogy a problémák nem valósak, nincsenek hatással a felhasználói élményre és nem kellene foglalkozni velük.
Tekintettel arra, hogy a UPC vagy bármelyik másik szolgáltató tudtommal (sajnos) nem vállal garanciát a késleltetésre vagy annak ingadozásának mértékére, ezért ezzel a problémával nem lehet mit kezdeni, javítása gyakorlatilag a gyártók és szolgáltatók "jóindulatán" múlik.
A DoS sebezhetőséget - mint a legtöbb biztonsági problémát - feltétlen javítani kellene minél gyorsabban. Tekintettel arra, hogy a sebezhetőség 2017 áprilisa óta dokumentálva van és elvileg dolgoznak a javításán, a legvalószínűbb az, hogy hardverhibáról van szó és nem javítható szoftveresen. Véleményem szerint az ilyen súlyos sebezhetőségben érintett eszközöket nem szabadna forgalmazni és vissza kellene hívni.

Segít-e a hibákon, ha a Connect Boxot modem módban, saját routerrel használom?
Nem, a hibák modem módban is léteznek.

Latency spike
A Puma 6 chipset, és ezáltal a UPC Connect Box egyik fő problémája a késleltetés (ping) gyakori, indokolatlan megugrása. Ezen mondat elolvasása után a legtöbb, témában kissé jártas ember felcsapna egy pinget, és figyelné a válaszidőt, azonban a probléma ennél árnyaltabb.

Az online játékokban található pingmérő nem alkalmas a hiba diagnosztizálására, mert a hiba nem abban manifesztálódik, hogy 30-50-100-bármennyivel magasabb a pinged játékokban, hanem abban, hogy a csomagok bizonyos százaléka nagyságrendekkel lassabban folyik át a modemen, mint a többi, ami normális idő alatt továbbítódik.

Tekintettel arra, hogy viszonylag ritkán (úgy tűnik, 2 másodpercenként) lassul le a modem csomagtovábbítási képessége pár ezredmásodpercre, igen csekély esély van arra, hogy éppen az 1 másodpercenként továbbított pinged beleessen a "betegeskedő" időszakba, ezért a probléma nem látszik a ping kimenetén.

A legtöbb játék jellemzően kisméretű UDP csomagok formájában kommunikál a szervereivel, akár 100+ darabbal másodpercenként, mindkét irányban (fel- és letöltés).
Ennyire gyakran frissíteni a ping kijelzését nem lenne értelme, ezért a játékok a ping idő mérését átlagoltan végzik (a megjelenő latency az elmúlt 1 vagy néhány másodperc átlaga, milliszekundumban).
Mivel a hiba a csomagoknak viszonylag kis százalékát érinti, ezért ezt az átlagot nem dobja meg számottevően.

A probléma részletes diagnosztizálása olvasható ebben a DSLReports fórumpostban, valamint látható az általam készített videón is:

Összehasonlításképp ugyanezek a tesztek a következőképp néznek ki egy Technicolor TC7200 modemen:

A két videón magyar hostok TCP majd ICMP mérését, végül a UPC elsődleges DNS szerverének TCP és ICMP mérését látjuk.
A grafikonokon jól látható a két modem közötti különbség. Bár a TC7200 esetén is jelen vannak kiugrások, azok jóval kisebbek (15-20 ms), mint a Connect Box kiugrásai (60-100-120 ms).

A probléma az átlag késleltetést is hátrányosan érinti, azonban ennek vizualizálásához nagyobb mennyiségű mérési adat begyűjtése szükséges. Az alábbi képen egy csúcsidőn kívüli időszak (hétköznap 04:00-05:10 között) átlagos késleltetése látható 3 magyarországi hostra: bix.hu, speedtest.upc.hu és 8.8.8.8 (Google DNS). A grafikon megrajzolásához 0.5 másodpercenként küldünk ICMP ping kéréseket. A Technicolor modem és az egyik Connect Box Budapesten, egy utcában található, a másik Connect Box egy másik kerületben. Az átlag mellett érdemes megfigyelni az értékek szórását is az alsó grafikonon, melyet a Connect Boxon tapasztalható késleltetések ingadozása okoz. Fontos még megjegyezni, hogy a két Connect Box modem módban működik és a mérőeszközök közvetlen csatlakoznak rájuk, még a Technicolor router módban. Tehát a fehér csoda még annak ellenére is csúnyán alulmarad, hogy minden "segítséget" megkapott.

Más időszakban:

A későbbiekben már mértem TCP kapcsolatok felépítési idejét több magyarországi IP címre. Közel két hónappal később, szintén olyan időpontban, amikor mindkét kapcsolat üresjáratban volt a következő adatokat rögzítettem.
ICMP ping:

TCP connect:

Továbbá specifikusan a CMTS-re (traceroute első hop) történő ICMP ping időket és eloszlást is rögzítettem:

Ezekből a mérésekből jól látható, hogy valóban a Connect Box hibájáról van szó, hiszen már a CMTS-t pingelve is jól látható a két eszköz közötti teljesítménykülönbség, és a hiba nem csak az ICMP pinget, hanem TCP kapcsolatok felépítését (és felépített kapcsolaton folyó adatok továbbítását) is nagymértékben hátrányosan érinti. Connect Boxot használva az alacsony késleltetéssel rendelkező (tehát Magyarországon hostolt) szerverekre átlagosan háromszor több ideig tart felépíteni egy TCP kapcsolatot, mint a Technicolor modemmel, és a kapcsolat felépítési idejének eloszlása is jóval nagyobb, tehát kiszámíthatatlanabb.

A hiba hatásai a felhasználói élményre
- Véletlenszerű időközönként "akad" a játékok kommunikációja, ami játéktól és a játékos érzékenységétől függően észrevehető is lehet, és kompetitív játékokban hátrányt is okozhat.
- DNS kérések lassulása miatt a böngészés lassabb lehet.
- TCP protokollon történő valós idejű adatátvitel megakadhat (streaming).

Távolról kihasználható UDP DoS
Leírás a The Register cikkében, részletes analízis a DSLReports fórumában. Minden Puma 6-os eszköz, így a Connect Box is távolról, minimális sávszélességgel, egy pársoros szkripttel térdre kényszeríthető. A problémát valószínűleg a chipset alacsony teljesítménye okozza, mintsem szoftverhiba. A támadás lényege, hogy az eszköz, vagy modem mód esetén egy mögötte lévő eszköz publikus IP címére, véletlenszerű portokra kisméretű UDP csomagokat küldünk. Ahogy az alábbi videóban is látható, az eszköz nagyjából 370-380 KB/s sávszélességű adatforgalomtól (5000 pps) azonnal szörnyethal, és ebben a használhatatlan állapotban van, amíg az adatforgalom meg nem szűnik.

Szeretném hangsúlyozni, hogy itt nem pusztán egy "hagyományos" elárasztásos DDoS támadásról van szó, ami szimplán kitömi a célpont sávszélességét használhatatlan adatforgalommal, hanem egy valódi sebezhetőségről. Egy 500 Mbps sávszélességű kapcsolat végén ülő eszköznek nem szabadna 370 KB/s adatforgalomtól hanyattesnie.
Megjegyzés: úgy tűnik, még 370 KB/s forgalom sem szükséges. Egy DSLReports fórumpost szerint a csomagok száma számít csak, a sávszélesség teljesen irreleváns, tehát 0 byte tartalommal rendelkező UDP csomagokkal az eredmény ugyanaz, viszont a támadáshoz csak 0.5 Mbps (64 KB/s) sávszélesség szükséges.

A hiba hatásai a felhasználói élményre
- Amennyiben egy rosszakaród tudja az IP címed, gyakorlatilag könnyedén "lerúghat az internetről", és tekintettel arra, hogy a lakossági UPC előfizetők dinamikus IP címe igen ritkán változik, ezért a modem áramtalanításával sem tudod megkerülni a támadást.

Egyéb potenciális veszélyek
Mivel a sebezhetőség dokumentációja és a sebezhetőséget kihasználó eszközök (például ez és ez) hónapok óta publikusan elérhetőek, valószínűleg csak idő és elszántság kérdése, hogy valaki fegyverré alakítsa, amivel potenciálisan több százezer - millió Puma 6-os eszközt tudna egyszerre támadni világszerte, amivel komoly káoszt tudna okozni az internetezőknek és a szolgáltatóknak.
(Természetesen ez egyelőre csak egy elméleti lehetőség, ám fontos hangsúlyozni, hogy minden technikai feltétel adott hozzá.)

Javítások elérhetősége
Két firmware update történt az Intel részéről, melyet megkaptak az érintett Arris kábelmodemek. Az első "javítás" eltüntette az ICMP (Ping) spikeokat, de TCP/UDP csomagokra megmaradt. Egyesek szerint ezzel megpróbálták eltussolni a problémát, mert a ping tesztek ezután jónak tűntek, de a probléma valójában nem szűnt meg.
Megjegyzés: tekintettel arra, hogy a UPC Connect Box esetén az ICMP ping grafikonon is láthatóak ezek a kiugrások, elképzelhető, hogy ezekre nem jutott el ez a frissítés sem.

A második javítás a badmodems.com szerint javította a DNS kérések elvesztését, de összességében a latency kiugrásokra nincsen hatással.
Nem tudom, hogy ez eljutott-e a UPC eszközeire.

Összefoglalva: nincs javítás, sem a kiugró késleltetésre, sem pedig a távoli UDP DoS támadásra.

Javíthatók-e a problémák egyáltalán?
Tekintettel arra, hogy egy zárt forrású "fekete dobozról" van szó, ezt még a témában szakavatottak sem tudják biztosan megmondani. Egyesek erősen gyanakodnak, hogy javíthatatlan hardverhibáról van szó, ezt viszont nyilvánvalóan a gyártók és/vagy a szolgáltatók nem szívesen vallanák be, mert egy potenciális termékvisszahívással nézhetnének szembe, ami igen súlyos költséggel járna részükről.

Gyártók és szolgáltatók reakciója
2016. november 16.: Az Arris kábelmodemgyártó alkalmazottja elismeri a problémát, és jelzi, hogy az Intel és az Arris dolgozik a javításon
2016. december 3.: The Register-nek nyilatkozó Intel képviselő állítása szerint tisztában vannak a problémával és dolgoznak a javításon
2017. február 20.: Az Arris alkalmazottja azt állítja, van egy tesztelői firmware, melybe néhány javítás belekerült
2017. március 31.: Csoportos keresetet nyújtanak be egy kaliforniai bíróságra az Arris ellen, a hibás, Puma 6 chipsettel szerelt SB6190 kábelmodem gyenge teljesítménye és hibái miatt. Információk magyarul itt és itt. The Register cikkei a témában itt és itt (újabb eljárás az Arris ellen). A perről információk itt.
2017. augusztus 4.: Az Intel alkalmazottja azt állítja, dolgoznak a problémákon
2017. augusztus 4.: Válasz az Intel közleményére, melyben kissé szétszedi a posztoló a közleményt
2018. május: A UPC Magyarország hullámokban elkezdi teríteni a Connect Boxhoz a CH7465LG-NCIP-6.12.18.24-5p4-NOSH verziójú firmwaret. A tesztek szerint a DoS sebezhetőséget nem javítja, valamint a latency spike-ok is ugyanúgy megvannak.
2018. július 31.: Az Intel oldalán megjelenik a hivatalos Security Advisory (INTEL-SA-00097) a több, mint két éve publikusan dokumentált DoS hibára. Hivatalos CVE itt. Javítás továbbra sincs.

UPC Magyarország reakciója
"A UPC számára kiemelten fontos, hogy ügyfelei biztonságosan és megfelelő minőségben használhassák a szélessávú hálózatot. Ennek érdekében a UPC hálózati eszközeinek szoftvereit rendszeresen ellenőrizzük és a szükséges frissítéseket elvégezzük. Az említett problémák megelőzésére, illetve kiküszöbölésére is megtettük a szükséges intézkedéseket, a tesztelések és szoftverfrissítések pontos időpontjáról azonban biztonsági okok miatt nem adhatunk tájékoztatást." - válaszolták a facebook üzenetben feltett kérdésekre.

Tehát bármennyire is értelmetlenül hangzik, álláspontjuk szerint a biztonsági problémák jövőbeli javításának idejéről biztonsági okok miatt nem adhatnak tájékoztatást.

Források, olvasnivalók a témában
Badmodems.com, mely igyekszik összegyűjteni az interneten fellelhető információkat a témában
Első DSLReports fórumszál
Második DSLReports fórumszál
Legfrissebb DSLReports fórumszál
The Register augusztusi összefoglalója a "Pumageddonról"
ISPreview cikke a DoS sebezhetőségről
Virgin Media fórumszál
Prohardver cikke a DoS sebezhetőségről
Prohardver cikke az Arris ellen indult perről
TechPowerUp cikke a problémáról

Lábjegyzet
A saját videóimon látható teszteket a saját Connect Boxomon, valamint egy ismerősöm TC7200 modemén végeztem el. CB hardver verzió: 5.01, szoftver verzió: CH7465LG-NCIP-4.50.18.23-4-GA-NOSH. Az eszközök a tesztelés alatt modem módban voltak, és csak a tesztelő számítógép volt rájuk CAT6 ethernet kábellel csatlakoztatva.

Ha szeretnéd valamivel kiegészíteni az írást vagy hibát találtál benne, kérlek küldj nekem privát üzenetet.
A hozzászólásokat nem azért tiltom le, hogy cenzúrázzam mások véleményét, hanem azért, mert nem szeretném, ha a témával kapcsolatos hozzászólások csillió helyen lennének, és tekintettel arra, hogy ez gyakori téma a fórumban, ezért logikus lenne ott folytatni. Szóval ha szeretnél hozzászólni, erre tessék.

Megjegyzés a Hitron CGNV4 modemről:
A UPC üzleti előfizetés mellé mindig, illetve indokolt esetben lakossági előfizetőknek is a Connect Box helyett felajánlja a Hitron CGNV4 modemet, melyben szintén Puma 6 chipset található. Mivel a felsorolt problémák a chipset hardwarehibái, ezért ezt a modemet is érintik, tehát nem jársz jobban a Hitron CGNV4 modemmel sem.

Köszönet a poszt kiegészítéséért, tanácsokért, észrevételekért: kgymac, Lazarski, roli27

  • Nem lehet hozzászólni
Copyright © 2000-2019 PROHARDVER Informatikai Kft.