Big-name websites leaked people's private session keys and personal information into strangers' browsers, due to a Cloudflare bug uncovered by Google researchers.
As we'll see, a single character – '>' rather than '=' – in Cloudflare's software source code sparked the security blunder.
This leak was triggered when webpages had a particular combination of unbalanced HTML tags, which confused Cloudflare's proxy servers and caused them to spit out data belonging to other people – even if that data was protected by HTTPS.
Még a végén kiderül, hogy mégsem olyan jó ötlet az internet 20%-át egy cégen keresztül kiszolgálni...
https://www.theregister.co.uk/2017/02/24/cloudbleed_buffer_overflow_bug…
https://bugs.chromium.org/p/project-zero/issues/detail?id=1139
https://blog.cloudflare.com/incident-report-on-memory-leak-caused-by-cl…
- 2159 megtekintés
Hozzászólások
> full HTML in plaintext
Mivan?:)
- A hozzászóláshoz be kell jelentkezni
In cryptography, plaintext, or cleartext, is un-encrypted information, as opposed to information encrypted for storage or transmission.
- A hozzászóláshoz be kell jelentkezni
Mar egy-ket eve mondogatom: ha valaki system programming-ra akarja adni a fejet, alljon neki Rust-ot tanulni, nagyon valoszinutlen, hogy nem az lesz a jovo. Garantalt* memory safety nelkul ezek a bugok elkerulhetetlenek, tehat elobb-utobb mindenki ra fog jonni, hogy nem C-ben kellene irni kritikus komponenseket.
* garantalt := a compiler megfogja lenyegeben az osszeset, tehat a fentebb is lathato elcimzeses hibak, meg buffer overflow-k nem jelentenek problemat.
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
Nem kötelező pointereket használni.
____________________
echo crash > /dev/kmem
- A hozzászóláshoz be kell jelentkezni
Se pointereket, se tomboket? Se library-ket, amik ilyeneket hasznalnak? Ne vicceljunk mar. :)
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
Meg goto sincs Rust-ban. :)
Gyanítom egyébként, hogy nem megfelelően volt ellátva a kód tesztekkel. Írják is, hogy az incidens után: "Another team built test cases from malformed web pages found in the wild.". Nem érhette őket annyira váratlanul az, hogy léteznek szarul megírt weboldalak. :D
- A hozzászóláshoz be kell jelentkezni
és a Rust miben van írva? ;)
- A hozzászóláshoz be kell jelentkezni
Gyávaszkriptben, nyilván :)
- A hozzászóláshoz be kell jelentkezni
Rust. Eredetileg Ocaml.
----------------------
while (!sleep) sheep++;
- A hozzászóláshoz be kell jelentkezni
Az a *kód* amelyikből a Rust binárisok lesznek, meg a felhasznált libraryk miben vannak írva?
- A hozzászóláshoz be kell jelentkezni
Rust 95.1%
C 1.5%
Shell 1.2%
Python 0.7%
Makefile 0.4%
C++ 0.3%
Other 0.8%
- A hozzászóláshoz be kell jelentkezni
/o\
- A hozzászóláshoz be kell jelentkezni
Nyilvan abban a 2% C kodban is lehet hiba vagy a felhasznalt nem-Rust libekben, de ez maris jelentosebb jobb, mint a C-ben irt dolgok esetben.
Ettol fuggetlenul nyugodtan kijelenthetjuk, hogy ha Rust-ban irtak volna meg a topicindito programot, akkor nem tortent volna meg a hiba.
- A hozzászóláshoz be kell jelentkezni
Azt ugye érted, hogy összességében nem az a 2% C kód generálja a gépikódokat? Ráadásul egy tisztán Rust kód által összelegózott binárisnál se garantálná önmagában semmi, hogy a létrejövő gépikódokban ettől még valóban nem lehetnek memóriakorrupciós hibák. Attól, hogy a nyelvnél és a design tekintetében törekednek arra, hogy memory safe legyen, attól még a processzor továbbra sem képes az array elemek határainak kezelésére, se a pointerek referenciáinak ellenőrzésére. Vannak ugyan már rá törekvések (pl. Intel MPX), de ezek csak debugging eszközökként használhatók, nem elég jók éles használatra.
Ilyen okosságokat ki lehet jelenteni, hogy ha Rustban lenne írva, akkor nem történt volna meg ez a hiba, csak semmi értelme. Sőt, ha bármi másban írták volna meg, akkor is kijelenthetjük, hogy ez a hiba nem történt volna meg, mert nagyon kicsi rá az esély, hogy más programozási nyelvben pont ugyanez a hiba jöjjön így elő. A jelenlegi hibánál is egy komplex, több összetevős kódhalmaz okozta a bonyodalmat. A Ragel önmagában nem generált helytelen C kódot.
Ettől függetlenül a Rust->gépikód transzláció során továbbra is kerülhet memóriakorrupció a programokba és attól is meglehetősen távol vagyunk, hogy tisztán Rustban írt szoftvereket használjunk a közeljövőben. A határok persze eltolódhatnak majd és a memóriakorrupciós hibák kihasználása is visszább szorulhat, de ez már jelenleg is látszik a PaX által kitalált védelmek előretörésének köszönhetően, mert egyre több logikai hibát használnak ki a támadások során és nem csak tisztán memóriakorrupcióra alapoznak (lásd idei Pwn2Own).
- A hozzászóláshoz be kell jelentkezni
Every language has its ideal use case. #PHP, web pages. #Golang, network services. #Python, science data. C, security vulnerabilities.
- via
- A hozzászóláshoz be kell jelentkezni
Konkluziohoz hozzateve, ez csak szamomra volt nyilvanvalo, hogy nem jo ?
Soha nem megyek a 100 millio legy utan.
http://karikasostor.hu - Az autentikus zajforrás.
- A hozzászóláshoz be kell jelentkezni
Erről irtak már a ycombinator topic-ban is, "másoknál is van hiba látod" mentséget élvezhetik most igy sokan, mig egy kis szolgáltatónál te lennél a hülye, hogy nem láttad előre.
(Mindemellett én is nagyobb zsirosbödönként tekintek az ilyen méretű szolgáltatókra, de ezt csak támadásokra vonatkozóan, nem önhibákra.)
- A hozzászóláshoz be kell jelentkezni
Még a végén kiderül, hogy mégsem olyan jó ötlet az egész internetet nagyvállalatok központosított cloud szolgáltatásaitól függővé tenni és a forgalmat adatközpontokból kiszolgálni. Rég lehetne értelmes P2P alternatíva, ha valaki 1%-át beleinvesztálná a Google profitjának (Persics Mérnök Úrnak szeretettel: Igen, a kommunista megint más pénzét akarja költeni.) :P
- A hozzászóláshoz be kell jelentkezni