Fórumok
A módszer lényege, hogy az Unicode szabvány egy speciális képességét használja ki, ami lehetőséget ad arra, hogy a szóban forgó formátumú szövegekben karakterek a megjelenítettől eltérő sorrendben szerepeljenek. Ennek nyomán speciálisan összeállított szekvenciákkal olyan forrásfájlok alakíthatók ki, amik egy kódszerkesztőben megjelenítve teljesen másnak tüntetik fel a program forrását, mint amilyen tartalmúnak azt valójában a fordítóprogram látja.
https://prog.hu/hirek/5855/minden-programozasi-nyelvet-erinto-sebezheto…
Eredeti publikáció:
Hozzászólások
Erdekes, koszi!
Bízom benne, hogy a (n)vi nem érintett :-)
xkcd://378
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?
Ha tud Unicode megjelenítést és azt szabványosan műveli, akkor nyilván érintett... ha nem szabványos, akkor meg az a baj. :)
https://iotguru.cloud
Itt van néhány mintakód, érdemes megnézni azzal a szövegszerkesztővel, amit fejlesztéshez használsz.
https://github.com/nickboucher/trojan-source
Az eredeti doksi utolsó oldalán van egy összefoglalás, hogy melyik OS-en, melyik szövegszerkesztő mennyire érintett.
Azért elég kemény, hogy ha valaki Github-ra vagy Stackoverflow-ra feltölt valaki egy kódot, amibe ilyen módon belecsempészett valami kártékony kódrészletet, az ember átnézi nagyjából a webes felületen - és persze ott nem látszik ebből semmi -, behúzza a saját fejlesztésébe, és kb. ez így rejtve is maradhat.
Kösz. Gyorsan kipróbáltam az egyiket az általam használtakkal: sem a Kate, sem a NEdit nem érintett, mindkettőben látszik, hogy a középső sor nincs kikommentelve.
Oldschool Computer - http://oscomp.hu
Ra kell tenni hookot, hogy ha 127-nel nagyobb ascii kodu karakter lenne a forrasban, akkor minimum warningoljon, de inkabb ne hagyja.
Esetleg SQL dumpban el tudok kepzelni legitim esetet, vagy ha olyan a rendszer, hogy a nyelvi file-ok is valahogy forraskodba kerulnek, de mindketto elegge korbehatarokt lehetoseg.
Egyuttal az ellenorzoscript a tab jelenletere is ugyanugy reagalhat, ha mar ugyis ott van.
A strange game. The only winning move is not to play. How about a nice game of chess?
Github már jelzi.
Mennyivel korábban tudtak róla? Vagy 1-2 óra alatt megcsinálták és eljutott a prod-ig?
Ilyen helyeken naponta sok-sok élesítés van, CI/CD workflow, igen, akár percek alatt kimegy élesbe a változás.
https://iotguru.cloud
július óta
Szóval akkor a Google keresés utáni Stackoverflowról élő Copy-Paste programozók most sorban elkezdenek kiugrani az ablakon. Engem szerencsére nem fenyeget ez a veszély!
Most először örülök neki, hogy csak dönteni lehet az ablakot... :-)
De a tréfát félretéve, szerencsére nem szoktam egy-az-egyben másolni, mert az egyik hülye rigolyám, hogy háklis vagyok a jól bevált változó neveimre, meg a tördelésre, úgyhogy csak a lényeget (ahá, szóval ez a parancs!) lopom az internetről. Végre kifizetődik a hülyeségem.
Sajna a SublimeText érintett, de hálistennek a kódjaim nagy része Bash, és a még a Windowsos file eleji UTF-8 BoM -ra is sír, hogy ő ilyen trágyához nem nyúl. Okosabb mint én, na. :-)
További szerencse, hogy elég nehéz ebből valódi kihasználható dolgot csinálni. Nagyon ismerni kell a szoftver környezetét, hogy legyen hatása a turpisságnak, és ne akadjon fent az első pozitív-negatív teszten, ami tutira kiszűrné a demóban lévő authentikációs if -et. Mondjuk biztosan beleőrülnék, hogy az előttem látható sor miért nem azt csinálja amit kéne neki, de ez már egy másik történet.
Friss Rust fordító sem kajálja be ezt.