Rusai platina aštuonių simbolių žinutę, kuri nužudo „Skype“

Komentarai Prisijungti

Viršuje:   Seniausi | Naujausi

sielinas 2015-06-04 08:52
Kodėl man atrodo, kad ši žinutė yra hoax. Visos šiuolaikinės programos turi apsaugą nuo teksto laukeliuose įvedamo teksto. Tik ką tik mokyklą pabaigęs pradedantis programuotojas gali parašyti programą kur nebūtų apsaugos nuo injection.
Atk 2015-06-04 10:09
Aš jau pradėjęs buvau dvejoti, kad skype Linuksuose nepatogi, kameros nepalaiko, gal geriau Windows kaip nors reiktų įrašyt, o čia še tau!
Hmz 2015-06-04 10:17
Nuoroda į aptarimą skype forume daug ką pasako: http://community.skype.com/t5//Skype-Crash-Exploits/td-p/3996962
FtBall 2015-06-04 11:41
Su kažkuo panašaus susidūriau. Jokios žinutės negavau, bet vakar nustojo Skype veikt. Įsijungia, po ~5min nulūžta. Bandžiau įsirašyt Skype iš Windows store, tai tas net neįsijungė. Pabandžiau iš naujo įsirašyt įprastą Skype, tai padėjo.
Evil Goku 2015-06-04 12:27
Microsoft programuotojai:
Radiant 2015-06-04 14:24
Tai kad gali nereiškia kad visada parašo
kionig 2015-06-04 14:32
Kokie linuxai kameros nepalaiko?
lucy 2015-06-04 15:27
FtBall 2015-06-04 16:00
Ne tai, kad "kaip įmanoma taip suprogramuot", o tai, jog "kaip įmanoma taip NEsuprogramuot". Panašu, jog sugalvojo pridėt kažkokį funkcionalumą, kuris pasiekiamas siunčiant žinutę, kuri prasideda "skype://". Su bet kokiu nauju funkcionalumu iš esmės reikės atlikt 3 žingsius: 1. Make it work 2. Make it work correctly 3. Make it fast Spėju, jog buvo vienas iš dviejų: a. Atliko tik pirmą žingsnį b. Atliko visus 3 žingsius, bet optimizuojant(3), kažką sugadino, o automatiniai testai klaidos neparodė. c. Įmanoma ir sąmokslo teorija, jog specialiai tai atlikta. Beje, naršydamas po įvairius forumus ar naujienų portalus(pvz. HackerNews) pastebėjau, jog korporacijose dirbantys programuotojai nėra labai patenkinti savo darbu, tai normalu, jog ir dirba ne visai efektyviai ar atsakingai.
rwc 2015-06-04 16:33
potencialūs SGML, XML, Unicode, SVG, SMIL, Canvas, GDI+, Freetype, Cairo, punycode atakų vektoriai ir žinomi bugai, pernelyg neapribojant funkcionalumo. Įsivaizduok, kad tu nori, kad tavo programa veiktų Indijoje. Ar tu tobulai žinai visas Devangari simbolių kombinavimo taisykles? Legalias ir nelegalias kombinacijas? Visus teksto vaizdavimo bugus nVidia tvarkyklėse? Ar gali būti garantuotas, kad tokia spraga nebus aptikta sekančią dieną po tavo programos išleidimo? Ar esi įsitikinęs, kad visi atsakingi Microsoft, nVidia, Mozilla, Unicode, Oracle, Macromedia, Adobe darbuotojai kuria tobulus produktus? Kad jie apgalvoja kiekvieną ribinę situaciją - įskaitant net ir tas, kurios pagal specifikaciją neįmanomos? Tu manai, kad visur pasirūpini rėžių tikrinimu, pilna inicializacija, tvarkingu exceptionų sugaudymu. O pagalvoji, pavyzdžiui, apie Frame bursting arba Stack poison atakas? Tu manai, kad korektiškai eskeipini SQL'ą. Bet ar tikrai esi numatęs, kokiuose įmanomuose kontekstuose ištraukti duomenys iš DB bus naudojami? Esi matęs EICAR tipo virusus? Paprastas tekstinis ASCII failas, kuris per klaidą paleistas kaip *.exe pradeda daugintis ir daryti kitokius negerus darbus? Kaip nuo tokios atakos saugotumeis, juk negali vartotojui naglai uždrausti siųsti failų su *.exe plėtiniu – atsiras daugybė vartotojų, kuriems tokios funkcijos reikia normaliam darbui be jokių piktų kėslų. Aklai pasitikėsi antivirusinėmis, vartotojo paranoja ir technologiniu išprusimu, visais įmanomais archyvatoriais, failų tvarkyklėmis, OS UI, OS vidiniais barjerais? Melsiesi, kad apsaugų kūrėjai ir atnaujinimų platinimo tarnybos bus visuomet žingsniu priekyje prieš blogiukus? O dar primesk, kad kuri uždarą sistemą, kurios išeities tekstų apsaugų gamintojams nedalini ir brangių auditorių nesamdai. Net ir šitas forumas yra ištisa bugų piramidė. Esu aptikęs ne vieną saugumo bugą, garantuotai ir pats esi su kuriais nors susidūręs. Tiesiog neeksploitinu jų, neviešinu ir nesuku sau plaučių - nes neturiu intereso hijackinti kokio nors sielino accounto. Nebent kažkas labaaai gerai už tai sumokėtų...
rwc 2015-06-04 16:44
Jie taip ir padarė, skype: protokolas veikia būtent taip, kaip ir buvo specifikuota. O jis naudojamas tam, kad galėtum tiesiai iš naršyklės parašyti žinutę ar paskambinti tiesiai į Skype – pvz., susisiekti su e-parduotuvės konsultantu. O bugas tikriausiai yra Skype naudojamoje unikodo bibliotekoje. Pilnai įsivaizduoju, kad ir lietuvišką žinutę panašią įmanoma sukurpti prirašant visokių kirčių ant „Ą“, kombinuojant BOM, BiDi simbolius ir pan. į seką, kurios ta biblioteka nesupranta bandydama skaityti iš DB, vaizduoti, užkoduoti į neegzistuojančią UTF16 seką ir t.t.. O gali būti ir tiesiog bugas konkrečiame šrifte, simbolių kombinavimo algoritme. Gali būti, kad Skype darbuotojai visai nekalti, jei jie tą šriftą nusipirko iš Bitstream, Adobe ar Microsoft. Apskritai, gali būti, kad programuotojai nekalti, jei tą šriftą nupiešė dizaineris su programa ir įjungė kažkokį efektą, kuris veikia gerai visuomet, išskyrus dalybą iš nulio giliai vaizdo tvarkyklėje su tam tikra „realybėje neįmanoma“ simbolių kombinacija konkrečiame šrifto dydyje su konkrečiu monitoriaus DPI, kai reikia apskaičiuoti kokį nors 5+tan(pi/2).
lucy 2015-06-04 17:39
Fontai UTF ir tt čia ne prie ko neišparsino teisingai http:// ir tiek bet kaip taip sufailint tai čia kitas klausimas.
FtBall 2015-06-04 18:33
Tikrai manai, kad bando parsint "http://", o jei nepavyksta - fallback į kritinę klaidą?
Arthuras 2015-06-04 18:41
Man buvo kilus mintis, kad GET'ina tą nuorodą?.. Ar ką nors kitaip dar su ja daro?..
rwc 2015-06-04 18:45
Skaityk straipsnį dar kartą. Bomba yra žinutėje, ne skype:// protokole. Ji suveikia ne tada, kai išsiunčiama, bet tada, kai gaunama. Išsiųsti yra daug būdų, vienas iš jų – skype:// protokolas, kitas – parašyti tiesiai iš Skype, dar kitas – parašyti iš trečiųjų šalių programų ar Web IM tarnybų. Būtent skype:// protokolas ir naršyklė šiuo atveju suveikia korektiškai, taip, kaip ir buvo specifikuota, antraip bomba nesuveiktų iš naršyklės, paspaudus nuorodą pašto programoje, įvedus į Run... laukelį ir t.t.. Nežinau ar čia konkrečiai ta ataka, bet man žinoma yra sudaryta iš kinietiškų hieroglifų ir arabiškų raidžių. Konkretaus teksto neieškojau ir neanalizavau, o saugumo ekspertai per daug jos nekomentuoja, bet kiek teko girdėti išplepėtų detalių, iš to, ką komentuoja ne specialistai – tai man susidaro įspūdis, kad Skype lūžta bandydama iššifruoti sudėtinius Unicode kombinatorius ir kitus codepointus, kai susidaro neįmanomas simbolis. Pvz., raidę „š“ galima parašyti vienu codepointu (paprastu simboliu), bet taip pat – ir kombinuojant keletą kaip „ ̌q“ ar „q̌ “. Savaime suprantama, simbolių „LATIN SMALL LETTER Q WITH CARON“ ar „NON BREAKING SPACE WITH CARON“ standarte nėra, bet daugumoje šriftų ir TrueType varikliukų juos įmanoma užrašyti (nes kombinatoriaus CARON vaizdavimas yra aprašytas visiems lotyniškiems alfanumeriniams simboliams – jo pozicija, kryptis ir dydis apskaičiuojamas pagal bazines lotyniškos abėcėlės charakteristikas). Taip yra todėl, kad visi lotyniški simboliai rašomi iš kairės į dešinę, iš viršaus žemyn, jiems yra apdefiniuotos lygiavimo charakteristikos ASCENT, DESCENT, BASELINE ir t.t.. Rašto sistemose, kuriose tokių charakteristikų nėra (pvz., kiniečių hieroglifai aprašomi tik vienodu aukščiu ir pločiu, o kombinatoriai dėliojami pagal atskirų štrichų savybes), tokia kombinacija nėra visiškai specifikuota, ir Unicode vaizdavimo varikliukas gali elgtis įvairiai. Plius, Unicode standartas aprašo simbolių prastinimo taisykles. Todėl yra reikalaujama, kad seka „LATIN SMALL LETTER S“ + „CARON“ nuskaitant būtų interpretuojama kaip vienas simbolis „LATIN SMALL LETTER S WITH CARON“ (t.y. nuskaitant 3 baitai būtų interpretuojami ir saugomi atmintyje kaip 2 baitai), tačiau teksto analizėje turi būti įmanomas ir priešingas procesas: raidę „š“ varikliukas privalo mokėti išardyti į bazę „s“ ir kombinatorių CARON. Toliau, bazė „s“ gali būti skaidoma toliau: tai yra simbolis „S“ viršutiniame registre, ne žodžio pabaigos ir ne pradžios variantas, nekombinuotas į jokį „β“. Klausimas: kaip varikliukui interpretuoti simbolį, kurio viena pusė – kinietiškas hieroglifas (rašoma atskirais štrichais iš kairės į dešinę arba iš viršaus žemyn), kita – arabiška raidė (iš dešinės į kairę; galiukai turi jungtis į vientisą liniją). Matyt, tarp Skype testuotojų nepasitaikė toks, kuris gerai rašytų arabiškai ir kinietiškai ir gerai žinotų šių rašto sistemų detales bei Unicode standarto poaibius, kurie tai aprašo.
lucy 2015-06-04 18:56
Tame ir yra reikalas kad čia ne aukštoji matematika ar kompiliatorių bugai ar kažkas tokio. Ryškiai nieko neskaitei ir buri, užtenka nusiūst "http://:" taip tik tiek, tai viską ka tu čia parašei yra nė prie ko, čia yra tiesiog žiauriai kreivas URL parsinimas. http://it.slashdot.org/story/15/06/03/1 ... ond-repair Šiaip nieko keisto, nes jei neskaitei normalaus straipsnio kai paprastas straipsnis pereina per Lietuviškus "teisingo mastymo" kreivarankių pakoregavimus pridedant kur įmanoma druskos prieš Rusiją tai toks straipsnis patampa jog Rusai puola nukrypstant nuo esmės
rwc 2015-06-04 19:16
Ne. Protokolas skype:// Windowsuose užregistruojamas kaip komandinės eilutės komanda, kuri iškviečia Skype.exe ar tai kokį nors "rundll.exe skypeapi.dll SendMessage" su parametru, kurio reikšmė lygi atitinkamai užkoduotai adreso daliai po "skype:". Kitas panašus (žinomesnis, standartizuotas) protokolas - mailto. Pabandyk adreso eilutėje arba Start meniu Run... laukelyje įrašyti "mailto:rwc@technologijos.lt". Pas mane atsidaro Windows Live Mail programa ir naujas tuščias laiškas adresatui rwc@technologijos.lt. Kas toliau? Pasileidžia Skype ir veikia taip, lyg ranka suvestum nurodytą žinutę nurodytam adresatui. Jokie HTTP protokolai čia nefigūruoja, Skype programa savo uždaru protokolu komunikuoja tiesiai su serveriu. Gavėjas net negali sužinoti, kad žinutę pasiuntei ne pats, o kažkoks automatinis procesas, kurį Windowsai inicijavo paspaudus skype:// nuorodą arba įrašius tokį adresą į komandos langą. Btw., gali net tokį shortcutą susikurti ant desktopo. Tokią bombą sukurti ar paleisti gali ir koks nors visai nesusijęs virusiukas. Man keisčiau, kad bomba sėkmingai išeina iš siuntėjo kompiuterio (per Skype programą) jo nenulauždama, po to sėkmingai prakeliauja pro serverius irgi nenulūždama, nenulaužia aukos kompo, kol įrašoma į istorijos failą, ir suveikia tik gavėjo kompiuteryje, kai aukos Skype pranešimą bando ištraukti iš istorijos ir/ar pavaizduoti. Iš visų šių požymių (bei žinutės struktūros), aš sprendžiu, kad problema yra tuomet, kai aukos Skype pabando suprasti, kas per simbolių kratinys yra toje žinutėje. Kadangi žinutę sudaro nepilni simboliai iš kardinaliai skirtingų Unicode blokų (kurių iš principo neįmanoma sukombinuoti į legalius pilnus simbolius), tai kaltinu (a) Unicode stream parser, (b) Unicode text renderer. Protokolas čia ne prie ko, jis nuo pradžios iki galo suveikia taip, kaip ir buvo numatyta. Simbolių eskeipinimas prieš siunčiant ir rašant į istoriją taip pat suveikia korektiškai nuo pradžios iki galo. Užkodavimas veikia teisingai ir saugiai, dekodavimas lūžta.
lucy 2015-06-04 19:21
rwc aš tavęs nesuprantu. Tu tiek giliai nulindai, kad nepastebi jog čia visiškai ne tame esmė. Jokie arabiški ar kiniški simboliai yra ne prie ko. Čia tiesiog ima už gryna piniga jog po http:// būtinai stovės gera URL ir niekam nešaus į galvą suvest ką nors kitko, pirmo kurso studentai tokias klaidas daro, bet pirmo kurso studento programos nereikės pereinstaliuoti švariai kad viskas atsigautų. Čia yra tiesiog žiauriai buka klaida ir ypatingai blogo programavimo pavizdys(Microsoft nieko nuostabaus). Nežinau ką daugiau ir pasakyt. Pasiskaitinėk normaliuose IT puslapiuose komentarus ir suprasi.
Arthuras 2015-06-04 19:24
" Kokie simboliai čia yra nepilni? Kas apskritai su tokia žinute gali būti negerai iš teksto kodavimo pusės?
rwc 2015-06-04 19:45