image

PyPI verplicht tweefactorauthenticatie voor belangrijke Python-projecten

maandag 11 juli 2022, 17:21 door Redactie, 6 reacties

Maintainers van belangrijke Python-projecten die via de Python Package Index worden aangeboden zullen binnenkort via tweefactorauthenticatie (2FA) moeten inloggen. Python is een populaire programmeertaal en PyPI bevat allerlei software die door de Python-gemeenschap is ontwikkeld.

Voor alle "kritieke" projecten is straks 2FA vereist voor het publiceren, updaten of aanpassen van code. Het gaat hierbij om projecten die tot de één procent meest gedownloade projecten behoren. PyPI telt meer dan 350.000 projecten. Volgens het PyPI 2FA dasboard zal straks voor 3800 projecten 2FA verplicht zijn. Niet alle ontwikkelaars zijn hier blij mee en stellen dat PyPI op deze manier controle over opensourceprojecten probeert uit te oefenen. Voor de kritieke projecten geeft PyPI gratis Google-beveiligingssleutels weg.

Image

Reacties (6)
11-07-2022, 17:50 door Anoniem
Dus. Als je twee van de gratis beveiligingssleutels kunt krijgen. Vraag deze dan aan! Het is voor de veiligheid van je PyPI account en niet voor het hacken van je computer door de geheime diensten. Vertrouw ons, wij geven om de veiligheid van je computer. Jouw veiligheid is onze veiligheid. PyPI kan niet jouw identiteit aan de verzonden sleutels koppelen.
12-07-2022, 06:49 door Anoniem
Door Anoniem: Dus. Als je twee van de gratis beveiligingssleutels kunt krijgen. Vraag deze dan aan! Het is voor de veiligheid van je PyPI account en niet voor het hacken van je computer door de geheime diensten. Vertrouw ons, wij geven om de veiligheid van je computer. Jouw veiligheid is onze veiligheid. PyPI kan niet jouw identiteit aan de verzonden sleutels koppelen.
Het domein insecurity.nl is beschikbaar. Misschien iets voor jou?

Het enige dat PyPi meer weet als je 2FA gebruikt dan zonder is een aanzienlijk grotere zekerheid dat degene die aanlogt ook degene is wiens account het is. Dat is alles. Verdiep je eens in hoe WebAuthn/FIDO2 werkt, want dat is wat hier wordt ingezet.
12-07-2022, 11:43 door Anoniem
Door Anoniem: Het enige dat PyPi meer weet als je 2FA gebruikt dan zonder is een aanzienlijk grotere zekerheid dat degene die aanlogt ook degene is wiens account het is. Dat is alles. Verdiep je eens in hoe WebAuthn/FIDO2 werkt, want dat is wat hier wordt ingezet.

Behalve dat deze sleutels gericht aan interessante accounthouders verzonden kunnen worden.

Wat zou de NSA kunnen doen met een sleutel onder hun controle?
1) Zich voordoen als de accounthouder
2) Wijzigingen aanbrengen in de source code van een project
3) Via custom hardware rare dingen doen via je USB poorten zodra je de key erin steekt

Het zou beter zijn als PyPI een refund achteraf zou doen. Zodat je anoniem een Titan kan kopen en achteraf je geld terug kan krijgen. Nog beter zou zijn om helemaal geen gebruik te maken van dit genereuze aanbod. Je computer en je internetaansluiting betaal je immers ook zelf. Zo duur zijn die keys niet.

"Beware of Greeks bearing gifts"
12-07-2022, 15:58 door Anoniem
Door Anoniem: Behalve dat deze sleutels gericht aan interessante accounthouders verzonden kunnen worden.
Door wie? PyPi wordt beheerd door de Python Software Foundation, niet door NSA of zo.

Als je aanneemt dat de Python Software Foundation niet te vertrouwen is dan kan je Python niet vertrouwen. Dan is het niet nodig om via de omwegen die jij bedenkt backdoors in allerlei projecten op PyPi in te bouwen, dan zit de backdoor in Python zelf en is elk Python-programma dat waar dan ook draait op de standaard Python-runtime (die veruit het meest wordt gebruikt) bij voorbaat gecompromitteerd. Die hele excercitie die jij bij elkaar fantaseert is dan overbodig en onnodig veel gedoe.

Als de Python Software Foundation wel te vertrouwen is dan zal door toeval bepaald worden welk van die 4000 Titan-keys bij welke ontwikkelaar belandt, er wordt er gewoon een uit een doos gepakt en opgestuurd. Het wordt verdomd lastig voor NSA om gericht een project te compromitteren als NSA niet in de hand hebt welke key waar belandt. Tenzij ook de server-kant van de Webauthn-controle gecompromitteerd is, maar als dat zo is is men in staat om op elk account binnen te komen zonder rare dingen met die keys te hoeven doen.

En als NSA wel voor elkaar zou krijgen om te bepalen welke key bij welke ontwikkelaar terechtkomt, dan zou NSA zelf een identieke Titan-key moeten hebben. Niet alleen hetzelfde model, ook de privésleutel die ingebakken is en die per exemplaar hoort te verschillen moet dan hetzelfde zijn. Om dat voor elkaar te krijgen moeten ze controle hebben over het productieproces bij de fabrikant. Google heeft dat uitbesteed aan een Chinees bedrijf. Dan moet de hele weg van de productie in China, via het Google Open Source Security Team en vervolgens de Python Software Foundation in detail door NSA gestuurd worden. Hoe zie je dat voor je?

Wat jij bedenkt lijkt mij niet realistisch. Als NSA een bepaald project wil compromitteren dan is het ongetwijfeld veel eenvoudiger om een pc van een ontwikkelaar te compromitteren en op die machine dingen aan te passen.

"Beware of Greeks bearing gifts"
In dit geval zijn het geen Greeks maar geeks. Beware of paranoids warning against geeks.
12-07-2022, 16:40 door Anoniem
Mijn oma zou zeggen: "Als je het niet wilt dan moet je het niet doen".
12-07-2022, 17:45 door Anoniem
@15:58: PyPI kan gewoon alle 4000 ontwikkelaars van de top 1 procent projecten een aangepaste key sturen. PyPI hoeft hier niet eens van te weten. Google werkt ook (on)vrijwillig mee aan https://nl.wikipedia.org/wiki/PRISM#Beschrijving.

Verder heeft elke site die je bezoekt een nieuwe secret key die door de gebruiker wordt aangemaakt op de Titan Security Key. Zie https://fidoalliance.org/how-fido-works/. Het is dus niet een private key die in Taiwan wordt ingesteld.

Ik stel het me zo voor dat de aangepaste Titan Security Key reageert op een bepaalde challenge. En dan opeens in een kwaadaardig apparaat veranderd voor de NSA. Omdat de Titan Security Key tamper-proof is, is het heel moeilijk hier achter te komen. Vooral als er maar 4000 stuks van in omloop zijn om destructief op te testen.

Uiteindelijk komt de journalistiek hier wel achter. Maar dan is het al te laat en zitten we met backdoors in alle belangrijke Python libraries.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.