image

Tor wil op "veiligere programmeertaal" Rust overstappen

maandag 3 april 2017, 10:02 door Redactie, 15 reacties

Het Tor Project wil meer gebruik van de programmeertaal Rust gaan maken, die volgens de ontwikkelaars veiliger is dan de programmeertaal C. Dat hebben de ontwikkelaars via de Tor-mailinglist bekendgemaakt. Rust is een door Mozilla Research ontwikkelde programmeertaal.

Volgens de ontwikkelaars biedt Rust allerlei voordelen waar Tor van kan profiteren, zoals geheugenbeveiliging, wat in C veel lastiger zou zijn. Onlangs vond er in Amsterdam een overleg plaats tussen de Tor-ontwikkelaars waarbij de overstap naar een veiligere programmeertaal werd besproken en hoe dit via Rust kan worden gerealiseerd. Tijdens het overleg werd er gekeken hoe de taal binnen Tor gebruikt kan worden en werd er al met Rust voor bepaalde Tor-onderdelen geëxperimenteerd.

Voorlopig is er alleen een plan voor de overstap naar Rust en zal dit in een toekomstige blogposting verder worden besproken. Drie jaar geleden wilden sommige Tor-ontwikkelaars al op Rust overstappen, maar destijds werd het als een langetermijnproject bestempeld. Rust werd zes jaar geleden gelanceerd, maar de eerste stabiele versie verscheen in mei 2015. Op Stack Overflow, een populaire website voor programmeurs, werd Rust tot de "meest geliefde" programmeertaal van 2016 uitgeroepen. De aankondiging zorgde op Hacker News tussen een discussie tussen aanhangers van verschillende programmeertalen.

Reacties (15)
03-04-2017, 10:13 door [Account Verwijderd] - Bijgewerkt: 03-04-2017, 10:14
[Verwijderd]
03-04-2017, 10:18 door Anoniem
Omdat Mozilla Firefox ook steeds meer in Rust zal worden geschreven, is Rust een logische keuze voor het Tor Project (en de Tor Browser). Dat het een vriendelijke en veilige programmeertaal is, is mooi meegenomen.
03-04-2017, 12:18 door Anoniem
Door Anoniem: Omdat Mozilla Firefox ook steeds meer in Rust zal worden geschreven, is Rust een logische keuze voor het Tor Project (en de Tor Browser). Dat het een vriendelijke en veilige programmeertaal is, is mooi meegenomen.
Ik denk dat de kenmerken van Rust niet mooi meegenomen zijn maar de primaire reden dat men voor Rust kiest. Het herschrijven van bestaande programma's in een andere taal is niet iets wat je op even op de bonnefooi doet, dat is ingrijpend genoeg om je ernstig af te vragen of de voordelen groot genoeg zijn om eraan te beginnen. En dat delen van Firefox in Rust zijn geschreven wil helemaal niet zeggen dat andere softwarecomponenten dat voor compatibiliteit dan ook nodig hebben; verschillende programma's kunnen rustig in verschillende talen geschreven worden, en verschillende programmeertalen in één programma mengen is ook echt geen onmogelijkheid, dat gebeurt regelmatig.
03-04-2017, 13:25 door Anoniem
Dus slordige programmeerpraktijk wordt opgelost door andere programmeertaal te gaan gebruiken?
Die heb ik vaker gehoord.
03-04-2017, 14:03 door [Account Verwijderd]
[Verwijderd]
03-04-2017, 14:35 door Briolet
Ik ken Rust niet, maar in de Link van Rinjani lees ik dat Rust alleen de makkelijk te detecteren programmeerfouten er uit haalt en ook niet alles. Kan dat dan niet gewoon binnen een goede C-compiler opgelost worden, in plaats van het gebruik van een andere taal?

Ik lees b.v. het voorkomen van inlezen van niet-geïnitialiseerd geheugen door Rust. In de C compiler kun je b.v. instellen om niet-geïnitialiseerde variabelen als een fout te behandelen. Via de compiler settings kun je zo ook risicovolle 'programmeerfouten' voorkomen.
03-04-2017, 14:44 door [Account Verwijderd] - Bijgewerkt: 04-04-2017, 15:53
[Verwijderd]
03-04-2017, 16:15 door Anoniem
Fijn.
Kun je eindelijk eens "in alle Rust" programmeren.
03-04-2017, 16:54 door Anoniem
En als je geen verstand hebt van "veilig" programmeren? Blinde Maup. Eerst zien en dan geloven.

Craze of the day, allemaal node.js gebaseerd.

Hoe zit het in de combinatie van Rust met retirable jQuery,
Rust en niet meer veilig te krijgen javascript, Rust en PHP?
Rust op een slecht geconfigureerde WordPress site?

Veiligheidstatus van de infrastructuur - Geen Rust, maar Rust Zacht!
03-04-2017, 17:45 door Anoniem
Door Anoniem: Dus slordige programmeerpraktijk wordt opgelost door andere programmeertaal te gaan gebruiken?
Die heb ik vaker gehoord.

Ja zat ik ook al aan te denken.
03-04-2017, 19:46 door Anoniem
Hoe blessuregevoelig is programmeren dan?
03-04-2017, 22:33 door Anoniem
Niet blessuregevoelig wel foutgevoelig als men onder tijddruk komt te staan. Even een slokje cola nemen ;)

Dan kan rust ook unsafe worden. Het programmeren met oog voor security kwam pas rond de eeuwwisseling een beetje goed op gang. Vooral toen alles aan het net gehangen moest worden. Had rust Heartbleed kunnen voorkomen, Cloudbleed?

Bungelende pointers kunnen voorkomen worden, buffer overflows, race conditions. Maar echt niet alles, vooral bij misconfiguraties, combinaties van veilige en onveilige toepassingen, eerder gemaakte errors in de stack, invloed van onveiligheid elders dus, onveilige en verlaten code, weg ermee! Unpacken, reviewen en pen testen blijft dus geboden.

Rust zou in ieder geval losgelaten kunnen worden om fouten in cryptografische code of geobfusceerde code te kunnen ontdekken. Verkeerde code reviews en een verkeerde architectuur kunnen door rust niet worden gerepareerd. Er bestaat geen cure tegen de domheid en arrogante incompetentie en snake oil, dat wist Erasmus al en de goede security researcher ook.
04-04-2017, 16:10 door [Account Verwijderd] - Bijgewerkt: 04-04-2017, 16:11
[Verwijderd]
04-04-2017, 23:40 door Anoniem
Hi Rinjani,

Ook veilge(r) code drijft op humor, denk ik.

Om nog sneller te kunnen compilen, gebruiken we vanaf nu af cargo-check bij rust voor tor:
https://github.com/rsolomo/cargo-check

Zo'n wrapper scheelt weer een slokje, dus Pitr-wrapper rond de Pitr-Cola.
Apache licensed en met een MIT license.
59 seconden in plaats van 159, wat een tijdwinst!

groetjes,

luntrus
07-04-2017, 22:00 door [Account Verwijderd] - Bijgewerkt: 08-04-2017, 19:48
[Verwijderd]
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.