Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Kiesraad: verkiezingssoftware bevat geen grote kwetsbaarheden meer

De software die tijdens Nederlandse verkiezingen wordt gebruikt om stemmen te tellen, is veilig. De Kiesraad liet een derde partij onderzoek doen. Die concludeert dat er geen grote kwetsbaarheden in de software zitten en dat er aan de veiligheid is gewerkt.

De Ondersteunende Software Verkiezingen of OSV is nu veilig, concludeert de Kiesraad. Het gaat om de software die na de verkiezingen wordt gebruikt om de uitslag vast te stellen en om de zetels in het parlement te verdelen. De verkiezingstoezichthouder liet de software nakijken door securitybedrijf HackDefense.

Het bedrijf concludeert dat er 'geen grote kwetsbaarheden zoals cross-site scripting of SQL injections' in de software zitten. Wel waarschuwt het bedrijf dat na de standaardinstallatie een admin/admin-inlog wordt ingesteld. "Dat is letterlijk het eerste dat een aanvaller zal proberen, en als er tijd zit tussen installatie en eerste gebruik, dan is in de tussentijd sprake van een kwetsbare situatie."

Ook zegt HackDefense dat een codereview lastig is omdat er weinig commentregels in de broncode staan. Veel opmerkingen zouden bovendien Duits zijn. Ook bevat de broncode veel nutteloze code, zoals regels over e-mail, terwijl de software die functionaliteit helemaal niet ondersteunt. HackDefense zegt dat het 'een relatief groot aantal bevindingen' niet heeft meegenomen in het rapport, 'omdat duidelijk werd dat de desbetreffende functionaliteit niet in OSV2020-U in gebruik is'. Het gaat dan onder meer om een LDAP-injectie.

De software bevat geen meerfactorauthenticatie. Dat is volgens HackDefense wel een norm waaraan de software werd getoetst, maar dat is niet meegenomen in de beoordeling. "We begrijpen dat deze applicatie echt bedoeld is om geïsoleerd gebruikt te worden, zonder internetverbinding of andere mogelijke ingangen voor kwaadwillenden", schrijft het bedrijf. Daarom zouden extra authenticatiefactoren niet per se nodig zijn. Een ander probleem is nog dat geblokkeerde accounts met actieve sessies de software alsnog kunnen gebruiken.

HackDefense doet in het rapport aanbevelingen voor de verdere ontwikkeling van de software, zoals het veranderen van het standaardwachtwoord. De Kiesraad zegt dat het die aanbevelingen 'meeneemt'. Het gaat dan niet alleen over de verdere ontwikkeling van OSV, maar ook over toekomstige software.

OSV krijgt al jaren kritiek omdat die onveilig zou zijn. Inmiddels laat het ministerie van Binnenlandse Zaken volledig nieuwe software ontwikkelen. Die had voor de Tweede Kamerverkiezingen in 2021 klaar moeten zijn, maar dat gaat niet lukken. Tot de nieuwe software klaar is, wordt OSV gebruikt. Dat gebeurt naast de Tweede Kamerverkiezingen ook in november tijdens de verkiezingen voor de gemeentelijke herindelingen.

Door Tijs Hofmans

Redacteur privacy & security

19-10-2020 • 16:15

224 Linkedin

Reacties (224)

Wijzig sortering
Dat voelt heel veilig als er "geen grote kwetsbaarheden" meer inzitten. Nu zijn het alleen nog maar middelgrote, kleine en grote die nog niet gevonden zijn.
Ik moest meteen aan dit filmpje denken, https://www.youtube.com/watch?v=LkH2r-sNjQs

Software kan best veilig zijn, maar er zitten heel veel haken en ogen aan elektronisch stemmen. Het klinkt leuk, gewoon niet doen.
Software kan best veilig zijn, maar er zitten heel veel haken en ogen aan elektronisch stemmen. Het klinkt leuk, gewoon niet doen.
Er zijn honderden, zeer goed gedocumenteerde, grootschalige verkiezingsfraude gevallen met papieren stemmen. Als je goed gedocumenteerd een beetje wijder gebruik veel meer. Of denk jij WERKELIJK dat Loekasjenko democratisch gekozen is? Gesproken over haken en ogen vind it dat toch wel hele grote haken en ogen. Jij niet?

Ik snap echt niet waarom tweakers een probleem hebben met electronisch stemmen terwijl we daarvan GEEN grootschalige fraude gevallen kennen. Een paar incidenten , met fragmentarisch bewijs, nooit ook maar in de buurt om een verkiezing werkelijk te beinvloeden.

Het is bewezen, keihard bewezen, dat stemmen op papier frraude mogelijk maakt en dat dat tot de grofste mensenrechtenschendingen heeft geleid, moet we die wijze van stemmen ook maar afschaffen? Allemaal terug naar het dorpsplein en je hand opsteken?
Het gaat niet alleen om fraude. Het gaat er ook om dat je je stem ongehinderd kunt uitbrengen. Dat is de reden dat je niet met z'n 2en een stemhokje in mag (en geen foto's mag maken). Dan zou iemand je kunnen dwingen ergens op te stemmen. Ook mag na het uitbrengen van de stem, deze op geen enkele manier meer naar jou te linken zijn. Want ook bij controle achteraf zou iemand kunnen uitvinden dat je niet op de gewenste partij hebt gestemd.

Bovenstaande facetten zijn niet te realiseren met stemcomputers. Tenminste, niet op een manier die een normaal persoon kan controleren. Met een papieren stembiljet alleen in een hokje, zonder naam waarbij het biljet dubbelgevouwen in de stembus verdwijnt, kan iedereen zeker weten dat nooit meer is na te gaan op wie hij/zij gestemd heeft. Achter een stemcomputer krijg je dit effect nooit, want de stemmer kan nooit weten wat er precies wordt opgeslagen.

De discussie gaat niet alleen om het tegengaan van fraude, maar om het hele stemproces eerlijk en democratisch te laten verlopen. Ik snap juist de voorstanders van electronisch stemmen niet. Waarom zou je dat willen? Alleen omdat je dan de uitslag wat sneller weet? Waarom is dat nodig? Die uitslag verandert niet meer hoor, die ligt vast op het moment dat de stembureau's sluiten. Waarom dan zo ongeduldig?
@PhilipsFan dit is een grondwettelijke hoax, toevallig een zaakje dat ik in een kortgeding ga brengen.

Voor een sluitende workflow MOET je de koppeling persoon<>vote maken, anders is het systeem oncontroleerbaar. De grondwet ziet dit als een gevaar tot bv. omkoping, bedreiging.
Een controleerbaar systeem moet echter achteraf dezelfde resultaten kunnen opleveren.

Ik dacht altijd dat iedereen in de tech dit wel zou begrijpen maar het blijkt dat de meeste er niet veel van snappen; geldt ook voor de grondwet. Laat staan, de filosofie achter een van beide.

[Reactie gewijzigd door Bulkzooi op 21 oktober 2020 00:29]

Volgens mij snap je er zelf niet zoveel van. Er hoeft nergens een koppeling te zijn tussen de persoon en de stem, als maar gegarandeerd wordt dat 1 persoon 1 stem mag uitbrengen. De stembureaus controleren dit door je pas een stembiljet te geven als je je kiespas hebt laten zien. Ze nemen die kiespas dan in, zodat je niet nog een keer kan stemmen bij een ander stembureau.

Je hebt op zich een punt. Omdat niet meer is na te gaan bij welke persoon een stem hoorde, kan iemand frauderen door een lading stembiljetten bij te drukken. Maar daarvoor zijn gelukkig allemaal hindernissen ingebouwd, onder andere dat er altijd meerdere aanwezigen op een stembureau moeten zijn zodat niet iemand stiekem wat vooringevulde stembiljetten erbij in kan gooien. Het zal vast nog wel voorkomen dat er op deze manier fraude wordt gepleegd, maar dat kan nooit op grote schaal.
@PhilipsFan
nee, je snapt niet wat een controleerbaar en waterdicht systeem is. Aan de andere kant, bv. security bij een militaire systeem of bij het innen van belasting wordt er zoals ik zeg geredeneerd.

Maar bij een stem systeem is er anonimiteit nodig 🤷‍♂️
Hoe kan je nou ooit aantonen als je niet weet wie wat gestemd heeft? In de wetenschap draait het ook om reproductie; Het moet reproduceerbaar zijn.

De macht is nogal hypocriet, maar als ze het uit moeten leggen kunnen ze het niet want de
filosophie loopt vast; zoals bij jou.
Ligt aan het belang; als het tegen de burger gebruikt kan worden dan is het gewenst dat het systeem gesloten is; als het tegen de overheid gebruikt kan worden, dan is flexibiliteit gewenst.
Heb je wel eens facturen gemaakt? Daar moet ook een factuurnummer op staan en een btw nummer. Bij de politie, die mogen dossiernummer dan weer gewoon wijzigen.

Jij duikt trouwens gelijk de implementatie in, maar we hebben het nu over het grondwettelijke waarin staat dat anonimiteit een vereiste is. Ik zeg dat die filosofie ziek is, met pure willekeur en controleerbaarheid, corruptie als gevolg. (zie hier, trump snapt het wel: https://www.theepochtimes...dium=email&utm_campaign=n)

En natuurlijk zijn er allerlei beperking en moeilijkheden in de implementatie van zo'n systeem. Daar gaat dit artikel over.Dat de implementatie niet makkelijk is. ik zeg dus dat de grondwettelijke filosofie al kapot is.

[Reactie gewijzigd door Bulkzooi op 21 oktober 2020 03:39]

Het is natuurlijk wel zo dat je (vrijwel) iedereen met een korte uitleg en in hele simpele woorden kunt uitleggen waarom het niet te achterhalen is op wie je gestemd hebt als je met papier hebt gestemd.

Met elektronisch stemmen wordt het toch een stuk moeilijker om (vrijwel) iedereen te overtuigen van de anonimiteit, omdat het voor veel mensen moeilijk kan zijn om te begrijpen wat de machine doet en hoe de machine dat doet.
en er zelfs niets elektronisch opgeslagen hoeft te worden anders dan "burger X heeft gestemd".
Dat hoeft inderdaad niet, maar hoe toon je aan dat dat inderdaad niet wordt opgeslagen wie op wie gestemd heeft op het specifieke apparaat in het stemhokje waar ik mijn stem uitbreng? Kan ik de broncode inspecteren van het apparaat in het stemhokje? En kan Jan met de pet dat ook nagaan op een voor hem begrijpelijke manier?

Iedereen met redelijk ontwikkeld vermogen kan het huidige systeem begrijpen en dat is noodzakelijk voor vertrouwen in het systeem. Digitaal is dat niet zo en dat is een cruciale reden om vooral op papier te blijven stemmen.
Is deze fraude van een dusdanige omvang dat de democratie in gevaar is? Nee natuurlijk niet, anders was het systeem al lang aangepast.
Ik geloof je best, maar je redenering volg ik niet. Want wie zou het systeem dan moeten aanpassen? Precies, de machthebbers die door de fraude aan de macht zijn gekomen. Die hebben er natuurlijk geen belang bij dat het verandert.
Het gaat niet alleen om fraude. Het gaat er ook om dat je je stem ongehinderd kunt uitbrengen. Dat is de reden dat je niet met z'n 2en een stemhokje in mag (en geen foto's mag maken).
dat van die foto's: volgens een grondwetspecialist hier in .be (bij jullie is het misschien anders geregeld) is dat onzin: Het stemgeheim is een recht, geen plicht. Het is iedereen toegestaan zelf zijn stem bekend te maken. Niemand mag er echter toe verplicht worden
Bovenstaande facetten zijn niet te realiseren met stemcomputers. Tenminste, niet op een manier die een normaal persoon kan controleren. Met een papieren stembiljet alleen in een hokje, zonder naam waarbij het biljet dubbelgevouwen in de stembus verdwijnt, kan iedereen zeker weten dat nooit meer is na te gaan op wie hij/zij gestemd heeft.
Langs de andere kant: het is perfect mogelijk om vingerafdrukken van de stembiljetten te nemen. Het is absoluut vergezocht en weinig waarschijnlijk dat iemand zich daar ooit mee gaat bezighouden, maar de argumenten van sommige tegenstanders van stemcomputers zijn dat evenzeer.
Achter een stemcomputer krijg je dit effect nooit, want de stemmer kan nooit weten wat er precies wordt opgeslagen.
Dat kan wel: hier wordt gewerkt met een geprint exemplaar
Waarom zou je dat willen? Alleen omdat je dan de uitslag wat sneller weet?
De voordelen lijken me duidelijk: het is niet alleen sneller, maar ook vrij van telfouten, er is minder volk nodig om de stemmen te tellen en die kunnen bovendien sneller naar huis. Die kosten ook geld.
Het gaat niet alleen om fraude, waarvan @mphilipp al aangeeft dat dat voornamelijk in (semi-) dictaturen voorkomt.
Een ander, mijns inziens een veel fundamenteler probleem, is de inzichtelijkheid en controleerbaarheid. Bij mijn weten stelt de kieswet (kon het artikel zo gauw niet vinden) dat het proces voor iedereen inzichtelijk en controleerbaar moet zijn. Met het huidige proces is dat het geval, je gaat er gewoon bij zitten als er geteld wordt. Met elektronisch stemmen is niet overzichtelijk: Je stem verdwijnt in een blackbox en je hebt geen idee wat er verder mee gebeurd.
Elektronisch stemmen is ook niet controleerbaar: Wie kan de software lezen? En als je de software gecontroleerd hebt, hoe weet je dat die software op je stemcomputer staat? En hoe weet je zeker dat de onderliggende hardware inderdaad die software uitvoert? Hoe kan een willekeurig persoon dit controleren? Ok, je kunt een en ander met certificaten afvangen maar, vooropgesteld dat alles netjes verloopt, ook hier de vraag: Hoe kan een willekeurige persoon dit controleren?
Om elektronisch te stemmen zul je eerste de kieswet moeten wijzigen om een minder (als in: door iedereen) controleerbaar stemproces mogelijk te maken maar is dat iets wat we willen, een ondoorzichtig en oncontroleerbaar kiesproces?

En wat de fraude betreft, het is ook keihard bewezen dat elektronisch stemmen fraude mogelijk maakt. Kan iemand zich nog de uitspraak van Nedap (maken van de toenmalige stemmachines) herinneren dat die machines enkel en alleen geschikt waren voor het stemmen? En dat "Wij vertrouwen de stemcomputers niet" er vervolgens een schaakprogramma op liet draaien?
Je stem verdwijnt in een blackbox en je hebt geen idee wat er verder mee gebeurd.
dat hangt 100% van de implementatie af, hier in belgië wordt gewerkt met een afgeprint exemplaar dat alsnog in de urne verdwijnt en kan nageteld worden.
En wat de fraude betreft, het is ook keihard bewezen dat elektronisch stemmen fraude mogelijk maakt.
Het is ook keihard bewezen dat papieren stemmen fraude mogelijk maakt, dat is al veel vaker gebeurd dan fraude met computer stemmen.
Alles hangt af van hoe het geïmplementeerd wordt. Naar mijn mening kan dat perfect controleerbaar, betrouwbaar en voor de gemiddelde mens ook begrijpelijk met computerstemmen. Op dat vlak is het Belgische systeem erg goed, hoewel ik met een specifiek aspect wel wat problemen heb, maar in het algemeen voldoet het aan alle voorwaarden van een eerlijk stemproces.
Dat wil niet zeggen dat elke vorm van met de computer stemmen aan al die voorwaarden voldoet, net zomin als niet elke vorm van papieren stemmen eraan voldoet
Er zijn honderden, zeer goed gedocumenteerde, grootschalige verkiezingsfraude gevallen met papieren stemmen. Als je goed gedocumenteerd een beetje wijder gebruik veel meer. Of denk jij WERKELIJK dat Loekasjenko democratisch gekozen is?
Wat dat betreft kun je natuurlijk bezig blijven. In de gevallen van grootschalige verkiezingsfraude gaat het volgens mij, net als in Wit Rusland, om een semi-dictatuur, waar het zittende staatshoofd alles kan doen. Hij is immers het staathoofd. Dat is net als met 'staatshackers'. Daar kun je vrij weinig tegen doen omdat een overheid bv degene is die digitale certificaten uitreikt. Spionnen kun je geldige valse paspoorten geven. Fraude is dan ook zo gepleegd, want jij bent degene die over de bemanning van een stemburo gaat, en jij bepaalt waar de zakken vol briefjes heen gaan om geteld te worden. En jij bent degen die de oppositie kan laten oppakken en intimideren.

Dus of dat nou zulke goede voorbeelden zijn. Ik ben absoluut niet tegen digitaal stemmen. Integendeel zelfs. Maar in een West Europees land moet er toch nog best wel wat gebeuren wil er bij een landelijke verkiezing grootschalige fraude plaatsvinden. Het blijft bij enkele randverschijnselen zoals het ronselen van stemmen onder bepaalde bevolkingsgroepen, stemmen bij volmacht voor bejaarden enzo Nooit genoeg om ineens een of andere rare partij aan de macht te helpen.

Fraude kan overal mee plaatsvinden en of het in Wit Rusland iets zou uitmaken of ze op papier of via de computer stemmen vraag ik mij af. Via de computer zou ie zelfs makkelijker kunnen frauderen want hij is degene die gaat over de verkiezingssoftware...
Wat ik niet snap is dat er niet naar veilige digital identity zoals Self Sovereign Identity gekeken wordt, in combinatie met degelijke cryptografie kan er dan bij het digitale stukje niets misgaan.
Het uitgeven is ook een stuk minder riskant, uitgegeven ID's kunnen direct geverifieerd worden, dubbele aanmeldingen zijn nog voor het stemmen duidelijk.
Ook wat betreft accountability kan er ten alle tijden nagegaan worden wie wat gestemd had door het immutable karakter.
Een hertelling hoeft niet langer dan een paar uur te duren, en kan door iedereen gedaan worden, er kunnen mensen zelf opensource software schrijven die een soort van schaduwtelling doen om de software van de overheid "eerlijk te houden"

Privacy van de stemmers wordt ook gewaarborgd door middel van signatures, je kan wel verifieren dat data door de juiste persoon gesigned is, maar je kan nooit die persoon's identity (private key) achterhalen.

Wat niet voorkomen kan worden is dat mensen met geweren, of op andere manieren, gedwongen worden om een bepaalde stem uit te brengen, echter dit heeft weinig meer te maken met de veiligheid van digitaal stemmen, meer met de veiligheid binnen het hele land.

Een probleem dat bij SSI komt kijken is hoe verantwoordelijk burgers om kunnen gaan met de private keys die uitgegeven worden. En hoe om te gaan met als ze deze kwijt raken. Dit zijn vraagstukken die alleen in samenwerking met de overheid opgelost kunnen worden. In Nederland hebben we het geluk dat een deel van de overheid hier bij aansluit, echter zijn niet alle politici zich hier van bewust of vinden ze privacy en zelf soevereiniteit even belangrijk (behalve voor de buhne) anders had de corona app een perfecte situatie geweest om dit voor het eerst landelijk uit te rollen. Tussen de inschrijvingen voor de aanbesteding zaten meerdere proposities die van deze technologie gebruik maakten.

Bewustzijn van de mogelijkheden is iets dat moet komen, ook bij onze gekozen politici, voordat onze identiteit op grote schaal in handen komt van grote commerciële bedrijven. Oh, wacht...
Een hertelling hoeft niet langer dan een paar uur te duren, en kan door iedereen gedaan worden, er kunnen mensen zelf opensource software schrijven die een soort van schaduwtelling doen om de software van de overheid "eerlijk te houden"
Zoiets zei ik ook al. Ik haalde een voorbeeld aan van de boordcomputers van de Space Shuttle. De vijf computers zijn door 3 verschillende leveranciers gemaakt volgens dezelfde specificaties. Vier opereren in twee paren en moeten 'het eens' zijn. Lukt dat niet, komt nr5 erbij die de knoop moet doorhakken. Er zijn dus 3 systemen aan het werk die hetzelfde doen, maar met software die door anderen gemaakt is. Zoiets kun je doen met het tellen van de stemmen. Zet drie systemen neer die door drie verschillende partijen zijn gemaakt en ze moeten alle drie dezelfde uitkomst geven.

Misschien ben ik geen groot mathematicus, maar als ik digitaal stemmen tel, moet ik 0% verschil hebben. Mensen kunnen zich een keer vergissen en een handvol stemmen verkeerd tellen. Maar een computer is daartoe niet in staat. Dus theoretisch moet je van de drie computers exact dezelfde uitslag hebben. Echter, in het voornoemde geval van Wit Rusland, of een land als Noord Korea, kun je nooit enig systeem vertrouwen zolang er dictators aan de macht zijn. Als jij degene bent die aan de touwtjes trekt, is alles twijfelachtig.
Er zijn honderden, zeer goed gedocumenteerde, grootschalige verkiezingsfraude gevallen met papieren stemmen. Als je goed gedocumenteerd een beetje wijder gebruik veel meer. Of denk jij WERKELIJK dat Loekasjenko democratisch gekozen is?
Dat er veel fraude gevallen zijn ben ik met je eens. Echter moeten we ook kijken binnen de context van onze democratie. In veel landen is er namelijk op papier een democratie en toch is er opvallend genoeg geen enkel persoon die zich tegen bepaalde hele slechte en domme ideëen uitspreekt. Het herzien van de grondwet zodat de zittende president in principe tot de dood kan blijven is er zo een. In een echte democratie heb je 1 stem voor en de rest tegen. In Rusland denken ze er anders over.
Los van de vele gebreken in de democratie van Rusland, zoals het gebrek aan onafhankelijke media of vrije opposite, ben ik ben vrij zeker dat het stem proces zelf in Rusland niet frauduleus is. Er zijn gewoon een hoop andere elementen in Rusland, waardoor Putin zoveel macht heeft. Om te beginnen is er de demografie. Steden zijn doorgaans progressiever dan landelijke gebieden, dat is niet uniek in Rusland, dat heb je zelfs in een verstedelijkt land als België waar landelijke gemeentes conservatiever stemmen dan centrum steden.

In Rusland is er héél véél landelijk gebied dat in het voordeel speelt van een zekere conservatieve V. Putin. Dat is ook hetgeen dat in het voordeel speelt van R. T. Erdoğan in Turkije of Trump in de US. Allemaal mensen die nog nooit in hun leven een homosexual ontmoet hebben, maar er wel tegen zijn. Bovendien zijn die doorgaans ook nog eens gemotiveerder om te stemmen. 1 persoon, 1 stem.
Volgens mij heb jij democratie niet helemaal begrepen. Als stedeling ben jij niet beter dan een dorpeling of boer. Ook het wel of niet ontmoeten van een homosexueel maakt zijn stem niet beter of slechter dan die van jou. Termen zoals progressief en conservatief alsof de één beter is dan de andere omdat die vooruit zou willen en de andere achtergesteld is doet democratie ook niet goed.

Ontopic:
Ik vind de titel ook zeer zorgwekkend, geen grote kwetsbaarheden, dus alleen kleine? Wow en waarom bevat de software onderdelen die niet gebruikt worden? Zulk belangrijk software moet gewoon helemaal schoon en baremetal zijn. Alle overige onnodige code zijn niks anders dan potentiele kwetsbaarheden. Ik ben zelf voor een digitale stembureau met een papertrail dat verplicht gecontrolleerd wordt. Zo hebben we snel accuraat uitslag dat voor de zekerheid nog handmatig wordt gecontrolleerd of er niet geknoeid is met de software. Voor zoiets belangrijks zijn de extra kosten die daarmee gepaard gaan te voorzien.
Misschien dat er nog een blockchaintechnologie ontwikkeld kan worden waarbij de mensen de code van hun papertrail kunnen invoeren en de resultaten in een decentrale database komen zodat we niet hoeven te vertrouwen op de resultaten van een eventueel onbetrouwbare overheid.

[Reactie gewijzigd door HakanX op 20 oktober 2020 01:35]

Volgens mij heb jij democratie niet helemaal begrepen. Als stedeling ben jij niet beter dan een dorpeling of boer.
Dat is correct, alleen wonen er buiten de grote steden veel (en veel meer) mensen dan in de grote steden. Daarnaast is Putin in Rusland bijzonder populair. Wij hebben 2 Russische programmeurs in dienst en wonen in St Petersburg, maar stemmen toch op Putin..

Putin heeft een soort 'Rusland eerst' policy en dat valt goed bij veel Russen welke de Navo als grootste bedreiging zien voor hun vrijheid. Vooral na de Navo ondersteunde coup (waarbij democratisch in 2010 gekozen president 'Yanukovych' uit de macht werd gezet in 2013) zijn er in Rusland veel zorgen..

Dus waar onze overheid al jaren waarschuwt voor Russiche inmeningen (Oekraine referendum) en geen enkel bewijs kan tonen van inmening, wijst Putin in eigen land naar de Oekraine en het gevaar van de EU/Navo welke ondertussen ook nieuwe raketten in Polen en Roemenie hebben geplaatst..

Het draait bij verkiezingen allemaal om perceptie. Democratie is mooi in theorie, maar de praktijk is weerbarstig. In Nederland worden grote 'rechtse' partijen zoals PVV en FvD standaard genegeerd. Is dat democratisch dan? In de VS is het zelfs nog slechter. Hoeveel Irakezen zullen anno 2020 vinden dat zij beter af zijn dan voor 2003 toen Saddam werd verwijderd? Saddam was een klootzak, waar wist het land ruim 25 jaar stabiel te houden. Nu is het dankzij het democratische westen een puinhoop. Maar niet alleen daar. In Libië en syrië is het dankzij 'onze' inmenging niet veel beter..

Terug naar de stemcomputers. Ik begrijp nog nieteens waarom wij ze nodig hebben. Zolang de software niet open is, de overheid niet aangeeft welke versie het gebruikt en deze digitaal ondertekend waarbij deze ondertekening (hash) ook zichtbaar moet zijn op het beeldscherm. Een papertrail is leuk, maar als dat je backup als men de uitslag niet vertrouwd, waarom stemmen we dan niet gewoon alleen op papier?

Is het dan echt zijn probleem dat de uitslag na het sluiten van de stembureau's pas na 2 tot 6 uur bekend is? Je zou het stembiljet kleiner kunnen krijgen door via de stemcomputer je kandidaat te kiezen en deze te laten afdrukken op een biljet welke je in de bus doet. Via OCR kun je in no-time al die stemmen tellen en vergeet niet dat posterijen kunnen al zeer lang op hoge snelheid menselijk handschrift lezen..

De overheid blijft roepen dat Rusland probeert onze verkiezingen te beinvloeden en dat zij veel staatshackers inzetten. Als dat echt waar is, waarom zou je dan uberhaupt overwegen om digitaal te gaan stemmen? Daarbij geven de onderzoekers aan dat de LDAP code geen probleem is omdat de stemmachines geisoleerd zijn. Maar hoe krijgt men dat de uitslag uit de machine? Wordt deze naar een USB device geschreven? Ik heb als getuige diverse verkiezingen bijgewoond bij het tellen van de stemmen. Uiteraard is het mogelijk dat enkele tientallen stemmen initieel verkeerd worden geteld, maar fraude op grote schaal is zeer ingewikkeld. Stemmen op papier is zeer betrouwbaar en zeer simpel..

Wist je dat de Amerikanen in de jaren '60 bijna 10 jaar bezig zijn geweest om een pen te ontwikkelen welke ook werkt zonder zwaartekracht? De Russen gebruikte een potlood!

Stemmen op potlood en papier werkt al ruim 200 jaar in Nederland. Waarom die enorme drang om dat te veranderen? Als je de voordelen (sneller de uitslag weten) afzet tegen de nadelen is digitaal stemmen het simpelweg niet waard..
'Wist je dat de Amerikanen in de jaren '60 bijna 10 jaar bezig zijn geweest om een pen te ontwikkelen welke ook werkt zonder zwaartekracht? De Russen gebruikte een potlood!'

Dat is niet waar.

https://www.scientificame...0%24128.89%20per%20pencil.

[Reactie gewijzigd door robertderidder op 20 oktober 2020 11:31]

Ik beweer niet dat het ondemocratisch is, het speelt alleen in het voordeel van conservatieve kandidaten.
Verder heb je naast progressief/conservatief ook nog andere scheidingen zoals liberaal/totalitair, nationalistisch/internationaal, milieu/economie burgerrechten/bedrijven, etc.

Als je een meerdere-partijen stelsel hebt krijg je als het goed is dan ook meerdere conservatieve kandidaten om uit te kiezen. Zo heb je in Nederland bijv. de SP, ChristenUnie PVV en FvD die je op veel gebieden als conservatief kan zien, maar toch erg verschillen kwa inhoud.

Alleen voor een president kun je maar 1 kandidaat kiezen, dus wordt het lastiger.

[Reactie gewijzigd door mbb op 20 oktober 2020 13:44]

Maar bij Loekasjenko is het dan ook wel erg duidelijk dat er gesjoemeld is, dus in die zin werkt papieren stemmen wel goed.
Bij elektronisch stemmen is het achteraf maar de vraag of er gesjoemeld is, grote kans dat als dat gebeurd is dat het niet meer te zien is.
Volgens mij was zijn belangrijkste middel om de verkiezingen te beïnvloeden gewoon iedereen die hij als bedreiging zag en zich verkiesbaar wilde maken in de gevangenis gooien.
Volgens mij is de bevolking boos omdat ze niet geloven dat Loekashenko zoveel stemmen heeft gekregen, wat waarschijnlijk ook niet zo is.
Er was een tegenkandidaat en die had volgens de bevolking, en west Europa, gewonnen.
Klopt, Elektronisch stemmen kan zelfs bijdragen aan het papier stemmen of omgekeerd (hoe je het bekijkt). Om het met de woorden van US President Jimmy Carter te zeggen i.v.m. het elektronisch stemmen in Venezuela in 2012: "As a matter of fact, of the 92 elections that we’ve monitored, I would say the election process in Venezuela is the best in the world."

Verkiezingen is meer dan alleen stemmen en het is een proces dat start vele maanden voor de feitelijke stemming en pas eindigt maanden na de verkiezingen. Als je geen onafhankelijke kiescommissie hebt, geen externe waarnemers, geen neutrale media of geen trias politica met een onafhankelijke rechterlijke macht. Dan maakt de methode van het stemmen zelf weinig uit en is elke methode mogelijks corrupt.

Door het elektronisch stemmen te voorzien van een anonieme paper trail, zoals in vele landen, is het net moeilijker om de verkiezing te manipuleren doordat je met 1 stem zowel elektronisch als analoog stemt. Uiteraard onder voorbehoud dat nadien de onafhankelijke controles gebeuren.
@IStealYourGun En onlangs hebben we een couppoging gehad in Venezuela,
Operation Gideon.
@falconhunter Beste voorbeeld is Bush vs. Al Gore (de klimaar "activist"), met die hertelling in Florida, dat ging over mail in votes, buitenlandse stemmen, en ineens had niet Al Gore maar Bush gewonnen. Dat was in 2000.

@PolkaDanser Ja klopt.. Naast voterId is ook TaxId kapot, en dat gaat dan inderdaad meer over #Accountibility en #transparancy, waarmee de united nations aan de slag ging en #SDG's formuleerden. Het probleem is van grondwettelijke aard, controleerbaardheid idd, en ook verspreid via de united nations.

zie evt. op linkedin meer:
https://www.linkedin.com/...6724255381603852289-46SQ/

[Reactie gewijzigd door Bulkzooi op 20 oktober 2020 14:00]

Ik denk dat controleerbaarheid het grootste probleem is met elektronisch stemmen. Nu is bijvoorbeeld de software volledig geverifieerd, maar wie garandeert dat de binary die op de stemcomputers draait het resultaat is van die specifieke versie van de broncode die nu geverifieerd is? Bij mijn weten is er geen enkele manier waarop je dit garandeerd kan worden.

Daarnaast is de fraude die eventueel met elektronisch stemmen gepleegd kan worden fundamenteel anders van aard: als je bij regulier stemmen (in een functionerende rechtstaat) een paar honderd stemmen wil laten verdwijnen is dat misschien nog wel te doen, maar hoe meer je de uitslag wil beinvloeden, hoe meer moeite je moet doen, en hoe meer mensen daarbij betrokken zijn. Als jouw eigen algoritme op de stemcomputer gewoon wat extra stemmen toevoegd of wijzigt dan zal dat nooit opgemerkt worden: dezelfde software draait immers overal, en het aantal mensen dat aan die software heeft gewerkt (en dus weet kan hebben van de froude) is veel beter in de hand te houden.

Ik ben helemaal voor elektronisch stemmen, maar wel met mijn stemmachines!
@basfriends juist, dedicated stemmachines. en die kunnen we in een paar weken maken. Aankruisen en tellen en categorizern is het simpelste wat er is. Wellicht kunnen we een oude casio calculator ombouwen ;-)

@supersnathan94 je maakt het te moeilijk kerel.

[Reactie gewijzigd door Bulkzooi op 21 oktober 2020 00:38]

Aankruisen en tellen en categorizern is het simpelste wat er is.
Zeg dat even tegen de overheid. Iets wat “het simpelste wat er is” is, is nu namelijk precies het onderwerp van discussie en heeft al ettelijke miljoenen gekost.

Als zelfs bij de derde controle, simpelweg voor het tellen van stemmen, er nog stomme programmeerfouten (negeren van best practises) in aanwezig zijn in een simpel telprogramma dan houd ik mij. Hart vast voor de daadwerkelijke stemcomputer.

En maak ik het te moeilijk? Ha. Sure.
yes, da's het plan, tegen de overheid zeggen en een simpele stemmachine, geen computer (geen cpu, mAr een foss fpga). Denk meer aan een chip van een casio calculater).
Voor inspiratie, kan je naar de Open Source Windows (platformonafhankelijk ondertussen) kijken maar dan zonder al die afhankelijkheden.

De logistics, technische en politieke afhankelijjheden erom heen zijn de moeilijkheid.

[Reactie gewijzigd door Bulkzooi op 23 oktober 2020 11:00]

De logistics, technische en politieke afhankelijjheden erom heen zijn de moeilijkheid.
En dat is dus exact mijn punt. De hardware maakt an sich geen klap uit. Het is het geheel eromheen en de logistieke dingen die het moeilijk maken en ook direct het grote probleem. Je kunt namelijk ook open source code niet vertrouwen dat het gemaakt is voor code quality level A++.

In principe is alles kwetsbaar. Een verkiezing draait erom om anonimiteit te waarborgen en dat is nu juist het lastige met digitaal stemmen.
Lol, anonimiteit bij kiezen creert juist een oncontroleerbaar systeem.
Waarom houden ze volkstellingen?

[Reactie gewijzigd door Bulkzooi op 25 oktober 2020 13:30]

En toch is stemmen volledig anoniem. Niemand kan een rood gekleurd bolletje linken aan jou als persoon tenzij jij je naam eronder zet (of “groetjes van de buurman van de voorzitter van stemkantoor de gulden draak”) en dan wordt de stem direct ongeldig verklaard.

Echte democratische verkiezingen zijn volledig anoniem.

Een volkstelling is er eens per 10 jaar en houd slechts het ondervragen van 5% van de bevolking in. Puur zodat men de registers kan controleren en om statistische gegevens af te halen. Dit wordt dan ook gedaan door het CBS.
Het gaat niet over elektronisch stemmen, het gaat over elektronisch stemmen tellen door middel van het genoemde OSV: het heet niet voor niets Ondersteunende Software Verkiezingen. Naast de elektronische telling vindt er ter controle ook altijd nog een handmatige telling plaats, die openbaar is en waar jij dus bij kunt zijn om te kijken of alles goed gaat.

Stemmen doen we, na een paar keer d.m.v. stemcomputer, al jaren weer gewoon met een papier en een rood potlood.

[Reactie gewijzigd door PCG2020 op 19 oktober 2020 22:26]

scherp maar je moet wel elektronisch stemmen om elektronisch te tellen. Maar het tellen is waar de corruptie plaatsvindt, terwijl de overheid in de grondwet anoniem stemmen heeft vastgelegd.

Dit is insane en oneindig corrupt, zeker gezien het feit dat er bij het belasting innen precies andersom gedacht wordt, wat wel correct is maar weer net zo corrupt in de implementatie is. Dat gaat dan weer over Taxfraud, offshoreism en colonialism.

En het betreft niet enkel nederland, dat kan je zien via de UN SDG's, die het wordt patenten niet eens noemen. en dan roept de WHO corona over ons af maar die zijn niet eens aansprakelijk, net zoals de holy see, en om dit ongedaan te maken moet dat weer via de politieke wet.
Compleet van de pot gerukt.
Als het over electronisch stemmen gaat denk ik altijd aan de computerphile episode waar hij in dit filmpje naar refereert.

Ik snap ook niet waarom het perse digitaal moet. Maakt het uit als de uitslag 3 dagen later beschikbaar zou komen?
Ik snap ook niet waarom het perse digitaal moet. Maakt het uit als de uitslag 3 dagen later beschikbaar zou komen?
Ik heb ook geen idee waarom iedereen met een auto moet bewegen. Wat is er mis met een voettocht van 3 dagen naar Groningen?

Zo lust ik er nog wel een paar. Natuurlijk wil je met de computer stemmen of op zijn minst stemmen tellen. En dat kan best op een veilige manier, dus niet zoals het eerder werd gepoogd. Als je er een beetje goed voor gaat zitten kan het best. En in deze tijd moet het gewoon kunnen en is het ook wenselijk dat je bij het sluiten van de stemlokalen de uitslag meteen hebt. Ik zou de tegenvraag willen stellen: waarom niet?
De mogelijkheden zijn er, dus laten we niet in het stenen tijdperk blijven leven. Maar we moeten het ook weer niet overdrijven. Er zijn tal van manieren om te waarborgen dat het goed verloopt. Momenteel is het stemmen tellen met de hand ook niet echt fool-proof en is er ook een foutmarge en mogelijkheid tot fraude. Wel is het lastiger om met de landelijke verkiezingen te frauderen als het nog met menskracht gebeurt. Alleen al omdat je dan heel veel mensen in moet zetten om dat te bereiken. Als je digitaal stemt, kun je het platform infecteren, en dat kan iets eenvoudiger zonder dat iemand het doorheeft. Tenminste...als de stemcomputers zo brak in elkaar zitten als toen men ze gekraakt had. Dat was echt letterlijk hardware uit het Commodore 64 tijdperk.
Momenteel is het stemmen tellen met de hand ook niet echt fool-proof en is er ook een foutmarge en mogelijkheid tot fraude.
Ja en nee. Dankzij gedistribueerd tellen kan er geen grootschalige fraude plaatsvinden die niet heel groot georganiseerd is (en derhalve meer kans heeft om op te vallen) en de originele stemmen zijn altijd opnieuw te tellen. Je moet per definitie al een vrij grote groep “vrijwilligers” hebben omgekocht wil je een effectieve fraudepoging kunnen wagen. Dat gaat opvallen.

Het probleem met elektronisch stemmen is een vrij geavanceerd probleem en ik denk dat Tom Scott het vrij goed uitlegt. Er is geen enkele mogelijkheid waarop jij vertrouwen kunt hebben in een systeem wat anoniem is en niet fysiek controleerbaar. En een computer is dat per definitie niet. Daar kan van alles in geprutst worden wat niet in een dag of maand ontdekt kan worden. Daarom hebben zelfs open source software pakketten soms nog relatief veel onontdekte bugs. Het feit dat er hier al een relatieve waslijst uit deze audit komt geeft dan ook aan dat deze software per definitie niet te vertrouwen is. Er worden namelijk al direct heel wat best practises overboord gegooid en het is closed source met slechte documentatie van wat de code nu eigenlijk doet.
Er zijn tal van manieren om te waarborgen dat het goed verloopt
Nee die zijn er dus echt nog niet. Dat berust allemaal op het vertrouwen van slechts enkelingen en dat is dan ook gevaarlijk.
Ja en nee. Dankzij gedistribueerd tellen kan er geen grootschalige fraude plaatsvinden die niet heel groot georganiseerd i
Dat is precies wat ik daarna ook zeg. Het zal bij lokale verkiezingen misschien nog wel lukken, maar bij landelijke verkiezingen is dat praktisch niet te doen.
Er is geen enkele mogelijkheid waarop jij vertrouwen kunt hebben in een systeem wat anoniem is en niet fysiek controleerbaar. En een computer is dat per definitie niet. Daar kan van alles in geprutst worden wat niet in een dag of maand ontdekt kan worden.
In theorie heb je gelijk, maar dat betekent dat we alle computers uit het raam moeten gooien, want vliegtuigen, raketten, ruimtestations, kerncentrales, beademingmachines etc, draaien ook met computer. Natuurlijk zijn er methodes om te waarborgen dat het goed gaat. Je moet alleen niet hysterisch doen en ineens gaan eisen dat het 100% gegarandeerd veilig moet zijn. Want je wéét dat dat feitelijk niet haalbaar is. Maar net zoals we wél op de computers van een vliegtuig vertrouwen (en begin niet over de Boeing 737 Max :+ ) moet er een moment zijn dat we stemcomputers ook vertrouwen.

En wat betreft controleren of computers niet liegen tegen ons, is er wel een systeem. Aan boord van de Space Shuttle waren 5 computers aanwezig. Vijf dezelfde, die door 3 firma's zijn gebouwd volgens dezelfde specificaties. Zij werken 2 aan 2 en elk paar moet dezelfde beslissing/conclusie trekken. Komen zij er niet uit, wordt nr.5 geraadpleegd. Die is dan scheidsrechter. Nou gaat het erg ver om zoveel stemcomputers (of telsystemen) te bouwen, maar je zou het op vergelijkbare wijze uit kunnen voeren.

Maar uiteindelijk kan élk systeem natuurlijk gecompromiteerd worden. Als de CIA of wie dan ook een kerncentrale weet kapot te maken door malware, kan alles natuurlijk stuk. Maar dat geldt voor alles. En dan zijn het persé de stemcomputers die dan ineens onmogelijk veilig te maken zijn. Daar geloof ik niets van.
In theorie heb je gelijk, maar dat betekent dat we alle computers uit het raam moeten gooien, want vliegtuigen, raketten, ruimtestations, kerncentrales, beademingmachines etc, draaien ook met computer. Natuurlijk zijn er methodes om te waarborgen dat het goed gaat. Je moet alleen niet hysterisch doen en ineens gaan eisen dat het 100% gegarandeerd veilig moet zijn. Want je wéét dat dat feitelijk niet haalbaar is. Maar net zoals we wél op de computers van een vliegtuig vertrouwen (en begin niet over de Boeing 737 Max :+ ) moet er een moment zijn dat we stemcomputers ook vertrouwen.
Het probleem zit hem dan ook niet in de computers, maar in de mensen en systemen er omheen. Zoals ook in dit rapport met hoofdletters wordt aangegeven is er een mogelijk tussen installatie en ingebruikname waar je kunt inloggen met admin/admin. Ik vertrouw de computer wel dat ie dat correct interpreteert, alleen de mensen die eromheen staan en mee kunnen klooien niet. Daarom stemmen we met een rood potlood en niet een blauwe pen. Iemand voor jou kan de inkt van de pen hebben vervangen door inkt die na een tijd vervaagd. Heb je ineens lege biljetten tijdens de telling.

Het probleem is dan ook niet de computer, maar de mogelijkheden die erbij komen kijken mbt fraude op afstand, en fraude op grote schaal.
Het probleem is dan ook niet de computer, maar de mogelijkheden die erbij komen kijken mbt fraude op afstand, en fraude op grote schaal.
Maar dat verandert niets aan mijn verhaal. Computers in vliegtuigen worden ook door mensen gemaakt. Dat geldt voor alle computers, en ineens vertrouwen we alleen de stemcomputers niet. Vreemd hoor...
We vertrouwen de vliegtuig computers ook niet. Daarom zitten er twee piloten naast. En af en toe gaat het daarmee ook fout. Dan krijg je toch een suïcidale piloot achter de knuppel en boort het geheel zich hard de grond in.

Computers zijn wel te vertrouwen. Die doen alleen wat jij zegt dat ze moeten doen. Echter wordt dit niet aangepakt als kerncentrale, maar als yet another application van de overheid. En die zijn dus niet opgewassen tegen allerlei controle systemen.

Als jij in een kerncentrale aankomt met een stuk software waar het root account admin/admin is hoef je niet meer terug te komen.

Komt ook nog eens bij dat ongeauthoriseerde personen niet eens op het terrein kunnen komen laat staan in het gebouw in dezelfde ruimte. Bij stemcomputers (wat dit overigens niet is) kan dat per definitie wel.
Komt ook nog eens bij dat ongeauthoriseerde personen niet eens op het terrein kunnen komen laat staan in het gebouw in dezelfde ruimte. Bij stemcomputers (wat dit overigens niet is) kan dat per definitie wel.
En toch is men erin geslaagd die Iraanse kerncentrale te saboteren via de computers. Voor een overheid is het niet zo moeilijk een persoon 'geautoriseerd' te maken. Screening gebeurt immers door overheidsinstanties. Dus die servicemonteur van Siemens kan makkelijk een CIA agent zijn die besmette spullen meeneemt. Of een legitieme Siemens monteur, maar waarvan zijn laptop door de CIA is besmet met iets.

We kunnen niets vertrouwen. Maar dat moeten we op enig moment wél doen. We vertrouwen ook mensen bepaalde dingen toe, terwijl we weten dat die ook te compromiteren zijn. We draaien in een cirkel. Laten we nou niet doen of dat we voor deze ene toepassing geen computers kunnen gebruiken.
Grappig dat je die erbij pakt. Dat is een goed voorbeeld van waarom je het dus niet moet doen. Als zelfs een kerncentrale de sjaak kan zijn. Overigens is stuxnet een zeer geavanceerde worm geweest waarvoor miljarden computer systemen wereldwijd geïnfecteerd zijn geraakt om uiteindelijk bij die kerncentrale te komen.

Dus als zelfs een kerncentrale besmet raakt, hoe wil je dan aan de gang gaan met iets wat met veel lagere security standaarden werkt wel vertrouwen? Iets wat slechts een paar weken in gebruik is en daarna de kast weer ingaat en dus niet 24/7 gemonitord wordt.

Je kunt het pas vertrouwen als het niet gemaakt is met oplossingen die an sich al kwetsbaarheden bevatten. Een gewone computer kan dus al niet.
Juist bij landelijke verkiezingen kan je makkelijker fraude plegen dan bij lokale, mits je op het juiste niveau zit. Als je drie leden van de groep mensen die uiteindelijk de stemtotalen per provincie bij elkaar op moeten tellen weet om te kopen, dan kan je miljoenen stemmen heen en weer gooien. Het valt pas op zodra iemand anders de papieren proces verbalen van alle hoofdstembureau's naast elkaar legt, maar wie doet dat nu?
Als je de verkiezingen (hier althans) op TV volgt, krijg je per stemburo uitslagen te horen gedurden de hele avond. Er zijn ook nog exit polls. Als die uitslagen ineens heel ver uit elkaar liggen, krijg je vanzelf een recount. En bij een 'spannende' uitslag kan er inderdaad alsnog worden herteld. Dan kun je een statistische steekproef doen, en dan merk je gauw genoeg dat er iets niet klopt.
Dat klopt, alleen wordt de definitieve uitslag pas een paar dagen na de verkiezingen vastgesteld. Als je doel is verwarring te veroorzaken dan is niks beter dan een halve week nadat via exitpolls en tv een voorlopige uitslag is uitgeroepen en partijen al aan het formeren zijn, een landelijke hertelling die de gemoederen nog even bezig houdt.
Het valt pas op zodra iemand anders de papieren proces verbalen van alle hoofdstembureau's naast elkaar legt, maar wie doet dat nu?
Ik weet dat o.a. Geenstijl (mogelijk ook Tweakers?) elke keer een oproep doet om de stemtelling bij te wonen en een foto van het resultaat te uploaden, waarna alle bekende uitslagen in een stembureau tabel wordt ingevuld en later gecontroleerd met de uiteindelijke officiële telling.

We zouden hier makkelijk een nationaal 'verkiezingsfeest' van kunnen maken, door buiten de stembureaus een nachtelijke barbecue te organiseren, zodat burgers gemotiveerd zijn om stemtellingen bij te wonen (of nog beter, te helpen als vrijwilliger)
Nou ja, buiten corona tijd.

Misschien dat de stem-opkomst dan ook weer eens omhoog gaat?

[Reactie gewijzigd door mbb op 20 oktober 2020 13:56]

Als je dat voor elkaar kunt krijgen, heel graag. ;)
De uitslag komt op dag 1? Het democratische kiesproces riskeren is een prijs die we allemaal willen betalen...
Handmatig kan gecontroleerd worden door iedereen die het maar wilt. Digitaal is eigenlijk niet te controleren. Je kan de code controleren maar wie zegt dat degene die die software ergens neerzet niet stiekem een variatie heeft gemaakt waardoor voor elke 30 stemmen er 1 stem word omgezet naar die van een partij naar zijn voorkeur? Wie controleert de hardware?
Ik vermoed niet dat er in elke plaats in Nederland meerdere computer experts wonen die zowel software als hardware kunnen controleren. Laat staan van elk systeem in die plaats.
@boombat1307 @StefanJanssen

Nee, het is andersom; handmatig is oncontroleerbaar, dan zou iedereen het hele proces van begin tot eind moeten monitoren.

digitaal kan juist open source gemaakt worden, zowel de code als de gehele workflow.

Hardware is een goed punt van je en daarom is de het ook zo fundamenteel. Hardware is idd corrupt sinds het begin, nu nog in assembly hoewel dit niet zichtbaar is door patenten en zogenoemde trade secrets.
Echter, goede hardware maken moet lukken, er is al heel veel dus het is meer een kwestie van assembleren en implementeren, met een beetje finetuning.
Ik denk als het Nederlandse volk achter de echte oplossingen gaan staan, dan kunnen we met zijn allen geschiedenis schrijven.

Daarna kan er pas veilig, digitaal gestemd worden; anders nooit.

[Reactie gewijzigd door Bulkzooi op 21 oktober 2020 06:44]

dan zou iedereen het hele proces van begin tot eind moeten monitoren.
Dat kan ook. Iedereen die wilt kan de hele dag kijken hoe er wordt gestemd, hoe de stemmen geteld worden en wat de lokale uitslag is. Dit wordt daarna per telefoon doorgegeven en op een site gezet. Dit kan dus ook gecontroleerd worden. De einduitslag kan ook gecontroleerd worden door de uitslagen op die site te bekijken en bij elkaar op te tellen.
Ik weet dat bij de vorige verkiezingen er (lokaal) extra werd opgeroepen om mensen bij dit controle proces te laten deelnemen omdat het elke verkiezingen steeds afneemt. Zodra er maar 1 stap digitaal gaat zonder dat het ook analoog gaat is die stap een blackbox.

Het mooie van als het volledig analoog is dat elke 13 jarige het proces kan controleren. Als het digitaal gebeurd kan het alleen gedaan worden door een selecte groep (technici).
@boombat1307 @StefanJanssen
nee, dat kan niet.
Is fysiek onmogelijk om met 17 miljoen mensen je ogen op je biljetten te houden en gelijk te tellen. En dan is nederland nog heel klein, laat staan in grote landen.

En dat die groep klein is, die geen digibeet zijn. Da's een kwestie van skills, maar iedereen heeft de mogelijkheid. En die skills zijn niet zozeer technisch: elke fatsoenlijke wetenschapper kan programmeren, of dat nu een bioloog, een scheikundige, natuurkundige of materiaal expert of wat dan ook is. De echte vakspecialisten hebben ook digitale technieken nodig, en de simpele gebruikers klagen nou eenmaal graag. Maar dat betreft dus hun eigen onkunde, verkeerde focus, of gebreken.

Er zijn ook simpele computertalen overigens; wat mij betreft zelfs makkelijker en beter dan de spreektalen, met al hun uitzonderingen en eigenaardigheden.

Laat staan dat we Europees stemmen gaan bespreken.

[Reactie gewijzigd door Bulkzooi op 21 oktober 2020 06:44]

Ja, want de overheid kan niet zonder eindeloze ICT-projecten. Men moet wel bezig blijven natuurlijk.
Ik denk dat het beste is om een combinatie van de twee te doen.

Een fysiek stembiljet, wat je door een scanner haalt. Hier kan je zien of je stem goed geregistreerd is en dus ook goed ingevuld.

Vervolgens kan die data naar een centrale databank worden gestuurd waardoor we op verkiezingsavond meteen een uitslag hebben. En tegelijkertijd kan dan die uitslag in de dagen erna worden geverifieerd met de fysieke stembiljetten.

Op die manier wordt het denk ik heel lastig om te frauderen.

Als je daar zelfs je twijfels bij hebt, zou je kunnen beide uitslagen op het zelfde moment beschikbaar kunnen laten worden. Dan heb je dus twee verschillende paden waar op dezelfde manier gefraudeerd moet worden. Wordt lastig denk ik zo
Dan maak je van een stemcomputer toch een grote bonnetjesprinter die zelf geen stemmen telt...
Je drukt op een groot scherm op 'Jan Klaasen' en er komt een parkeerticket met 'Jan Klaasen' met dito streepjescode uit.
Kun je prima machinaal tellen en steekproefsgewijs of bij twijfel met de hand natellen.

Alsof de genoemde problemen met Excel, via internet versturen etc. alleen bij e-voting voorkomen...?
De uitspraak is natuurlijk ook een waardeloze moment opname. Geen enkele software is 100% veilig en wie weet wat voor kwetsbaarheden er in de toekomst gevonden worden.

Het zou ze sieren als ze wat zouden eisen in verband met response tijden op security issues. Maar nu zie je zaken zoals:
A.14 Thorntail wordt niet meer ontwikkeld
De applicatie is gebouwd op Apache Thorntail, een applicatieserver op basis van
Wildfly (het voormalige JBoss). De ontwikkelaars van Apache Thorntail hebben
onlangs (op 23 juli 2020) laten weten dat de ontwikkeling van de software is gestopt. 4
Risico-inschatting: 0,0 – Info
Thorntail ontvangt geen updates meer. Dit betekent dat er geen beveiligingsupdates worden vrijgegeven voor nieuwe beveiligingslekken. De ontwikkelaars van Thorntail hebben aangegeven dat ze mogelijk nog updates uitbrengen als er een ernstig lek wordt gevonden.
Betreft de systemen: alle
Waarneming: We hebben waargenomen dat de webapplicatie gebouwd is op Apache Thorntail.
Aanbeveling: Wij bevelen aan om te migreren naar Quarkus5 of Wildfly6.


Dus als morgen een ernstig lek gevonden wordt in Apache Thorntail zijn ze volledig aan de goodwill van de ontwikkelaars overgelaten. Of nog een mooie:

A.15 Oudere software mee-geïnstalleerd
De installaties bevatten LibreOffice en 7Zip in een iets verouderde versie.
Risico-inschatting 0,0 – Info
Er zijn nog geen beveiligingsissues in deze systemen bekend. Wanneer dit ergens in de komende weken, maanden of jaren wel gebeurt (dat is helaas onvermijdelijk) dan wordt kwetsbare software geïnstalleerd.

[Reactie gewijzigd door dycell op 19 oktober 2020 16:38]

Hoe kan dat nou een risico hebben van 0,0? Dat is zeker meer dan 0?
"OSV krijgt al jaren kritiek omdat die onveilig zou zijn. Inmiddels laat het ministerie van Binnenlandse Zaken volledig nieuwe software ontwikkelen. Die had voor de Tweede Kamerverkiezingen in 2021 klaar moeten zijn, maar dat gaat niet lukken. Tot de nieuwe software klaar is, wordt OSV gebruikt. "

Ze zijn zich er al van bewust en er is al een vervanging in ontwikkeling.
Prima, maar wat zegt dat over de veiligheid van OSV?
Dat het onveilig is, maar de overheid dat niet kan zeggen omdat ze het dan niet kunnen gebruiken.
Geeft de nauwkeurigheid van het cijfer aan. Dit ivm afronden.

0,0 geeft aan dat de uitkomst tussen 0,0 en 0,05 kan liggen.
0 zou aangeven dat de uitkomst tussen 0 en 0,5 kan liggen.
Hoe kan dat nou een risico hebben van 0,0? Dat is zeker meer dan 0?
0,0 betekend dat het risico tot op de tiende in te schatten was en uitkwam op 0,0

Hier staat dus in het ergste geval dat het risico tot 0,04999999999999999999999 kan zijn.

0,049 * ongeveer 18.000.000 Nederlanders = slechts 882.000 fouten in stemmen

:+

Even serieus: ik heb dus ook geen idee wat die 0,0 betekend.
Omdat de applicatie op machines zonder internet verbinding draait, misschien?
De installaties bevatten LibreOffice en 7Zip in een iets verouderde versie.
Risico-inschatting 0,0 – Info: Er zijn nog geen beveiligingsissues in deze systemen bekend.
Dat is letterlijk bullshit:
https://www.libreoffice.org/about-us/security/advisories/

Laatste security patches zijn van 6 juni. Je kunt er dus wel vanuit gaan dat deze niet gepatcht zijn in dit systeem. Je hoeft niet eens te zoeken naar een 0-day, je kunt gewoon de bovengenoemde bugs gebruiken om aan te vallen.

Om het dus maar even gechargeerd te zeggen:
Во все российские Fedora вставьте полезную нагрузку через ссылку удаленной графики в .docx
Aan alle Russische gleufhoeden, injecteer een payload via een remote-graphics link in .docx :+

[Reactie gewijzigd door Eonfge op 19 oktober 2020 17:05]

Dat is letterlijk bullshit:
Ik kan letterlijk doodvallen van mensen die het woord "letterlijk" verkeerd gebruiken
Om het dus maar even gechargeerd te zeggen:
Во все российские Fedora вставьте полезную нагрузку через ссылку удаленной графики в .docx
Aan alle Russische gleufhoeden, injecteer een payload via een remote-graphics link in .docx :+
Het zal wel een schoonheidsfout zijn, maar ik zie het probleem niet zo. Uit het artikel:
"We begrijpen dat deze applicatie echt bedoeld is om geïsoleerd gebruikt te worden, zonder internetverbinding of andere mogelijke ingangen voor kwaadwillenden".
De kans dat iemand jouw libreoffice document op dit systeem opent is inderdaad zo goed als 0
Ik hoop niet dat je letterlijk doodvalt. Ik hoop wel dat @Eonfge letterlijk stierepoep over zijn toetsenbord krijgt. Krijgen we dan wel een plaatje? 😉
Krijgen we dan wel een plaatje?
Jazeker, moet je wel even op de remote-graphics link in het .docx bestand klikken :Y)
JBoss is Wildfly steeds sneller gaan ontwikkelen en doen de laatste 2 jaar elk kwartaal een nieuwe major release de deur uit. JBoss is onderdeel van Red Hat wat weer onderdeel is van IBM. Dat product wordt wel door ontwikkeld
microsoft heeft zojuist Jscript uitgeschakeld....
Betreft overigens enkel de browser, dus vanuit bipartisaan amerikaans perspectief wereldwijd.
nieuws: Microsoft laat systeembeheerders JScript uitschakelen in Internet Exp...
Men combineert vaak kleine/medium kwetsbaarheden om tot een critical te komen. Maar voor de auditor’s is een groene checkbox voor “geen criticals” voldoende. Compliancy is niet gelijk aan security.
@boombat1307 @StefanJanssen
Sterker nog: één moment, één zwakte is al voldoende. Wat dat betreft zijn hackers én veiligheid compromisloos en is het stemproces de allerbelangrijkste vereiste voor een democratie.

Stront aan de knikker dus.

[Reactie gewijzigd door Bulkzooi op 21 oktober 2020 06:45]

Ze bedoelen ook nog eens: 'wij kunnen geen grote kwetsbaarheden meer vinden' ipv 'niet meer inzitten'. Heel ander verhaal.

Je moet, denk ik, minimaal 3 van dergelijke bedrijven laten toetsen wil je echt je best hebben gedaan.
juist, geen wij van wc-eend verhaal. Dat heeft de overheid al vaak zat geflikt.
Dat voelt heel veilig als er "geen grote kwetsbaarheden" meer inzitten.
Een junior tester die dit stellig claimt, mag worden weggehoond. Maar bij een gerenommeerd onderzoeksbureau knikt iedereen gewichtig mee. Tuurlijk zitten er nog grote kwetsbaarheden in, maar ze zijn niet door dit bureau gevonden. Zie ook http://testerstories.com/2019/10/the-zero-defect-fallacy/

Uit dit artikel maak ik op dat de scope tijdens het schrijven van het rapport aangepast is, om de conclusie geruststellend te laten zijn. Waarom maak ik me dan geen grote zorgen?

Zoveel exerne frameworks en koppelingen, wat een draak van een programma.

Wat ik van OSV begrijp, is dat deze software ondersteunend is, en gebruikt wordt om verkiezingsuitslagen op te tellen, maar dat er ook een controleerbare papertrail buiten deze applicatie omloopt, dus de werking ervan is van buitenaf verifieerbaar. Dit maakt een lek hierin niet kritiek voor het verloop van de verkiezingen.
Eerste wat ik moest denken was: "famous last words"
We gaan het mee maken.... of niet...
Dat voelt heel veilig als er "geen grote kwetsbaarheden" meer inzitten. Nu zijn het alleen nog maar middelgrote, kleine en grote die nog niet gevonden zijn.
En grote kwetsbaarheden die wel gevonden zijn, maar bewust in de eindrapportage buiten beschouwing gelaten zijn. (Wat letterlijk dus het geval is.)

Heeft er alle schijn van dat de Kiesraad het risico liep om wederom keihard en plain public op hun muil te gaan met het elektronisch stemmen en deze keer na het ontvangen van een eerste draft van het rapport toch maar eventjes de telefoon heeft gegrepen om te kijken of er editoriaal ingegrepen kon worden.

[Reactie gewijzigd door R4gnax op 20 oktober 2020 12:41]

Waarom kies je voor een Localhost / web app als iets air gapped moet draaien?

Als de software veilig is, maar je installeert een local proxy kan je alsnog knoeien.

[Reactie gewijzigd door mocean op 19 oktober 2020 17:23]

betekent dat er sowieso een webserver moet draaien.
try {
return new SimpleDateFormat("yyyyMMdd").parse(date);
} catch (ParseException e) {
// TODO log exception
}
public static List<String> readListFromFile(String fileName) {
return Collections.emptyList(); //FIXME
/*InputStream is = WidgetFactory.class.getResourceAsStream(fileName);
return readListFromInputStream(fileName, is);*/
}
document.ergebnisSummen = null; // FIXME WTF: Erst Summen setzen und dann löschen ?
document.parteiStimmenSummeQueueAnzahlErststimmen.clear(); // FIXME WTF: Zweimal clear() ??
document.parteiStimmenSummeQueueAnzahlZweitstimmen.clear();
if (document.equals(lastDocument)) {
document.berechnenSummen(alleZeilenInDocuments);
document.berechneUeberschriftenQueue(); // FIXME WTF: Nochmal berechnen ???
} else {
// Nicht zu tun... ???
}
Even wat stukjes code die ik zo gevonden heb, er zitten een behoorlijk aantal van dit soort FIXME en TODO comments in de code. Zo op het eerste gezicht vind ik de kwaliteit van de code behoorlijk ondermaats. Bij het bedrijf waar ik nu werk zou dit absoluut niet door de code review komen op deze manier.

[Reactie gewijzigd door Sv3n op 19 oktober 2020 19:06]

Dat leest idd als best amateurniveau Java. Dat betekent niet per se dat het onveilig is, meer dat de kwaliteit niet geweldig is.
microsoft heeft zojuist Jscript uitgeschakeld....
Betreft overigens enkel de browser, dus vanuit bipartisaan amerikaans perspectief wereldwijd.

nieuws: Microsoft laat systeembeheerders JScript uitschakelen in Internet Exp...
Als ik de broncode een beetje doorkijk is het een Java Server Faces webapplicatie met PrimeFaces daar bovenop. Nadeel van PrimeFaces is dat 1 keer per jaar een nieuwe community versie uitgebracht wordt. Voor de bugfixes daartussen moet je betalen.
Ze geven alleen niet prijs welke versie ze gebruiken. De elect-core module, waarin waarschijnlijk alle versies van dependencies die er gebruikt worden, ontbreekt. In het rapport zie ik daar weinig over terugkomen.

Ook staat de code vol met TODO's, FIXME's en deprecations. Ik wordt hier niet vrolijk van ...
compleet gestoord, geen versienummer. Je wilt niet weten hoe de belastingdienst achter onze logistiek en productie aanzit... Die maken miljoenen aan kosten om de overheid dit inzicht te geven. Die vinden het namelijk essentieel.

Die was-files zijn ook nog levensgevaarlijk. Dat zijn dezelfde lui die nederland niet kunnen beveiligen; laat staan dit.

[Reactie gewijzigd door Bulkzooi op 20 oktober 2020 18:58]

A.3 CSV-injectie
1.5.4 | Verify that output encoding occurs close to or by the interpreter for which it is intended. | x
Hoe kan er nou sprake zijn van CSV Injectie in een ge-exporteerde CSV als ASVS 1.5.4 een groen kruisje ("geen afwijkingen waargenomen") krijgt? Dan heeft er dus geen (correcte) output-encoding plaatsgevonden.
idd, die check zou voldoende moeten zijn. Er staat ook close by the interpreter, wat sowieso niet door de sanity check komt.
'geen grote kwetsbaarheden zoals cross-site scripting of SQL injections'
Dat zijn niet alleen grote fouten, maar ook beginnersfouten... Is er ook verder gekeken?
Wel waarschuwt het bedrijf dat na de standaardinstallatie een admin/admin-inlog wordt ingesteld. "Dat is letterlijk het eerste dat een aanvaller zal proberen, en als er tijd zit tussen installatie en eerste gebruik, dan is in de tussentijd sprake van een kwetsbare situatie."
Ook dit zou eigenlijk uberhaupt niet moeten kunnen
Ook zegt HackDefense dat een codereview lastig is omdat er weinig commentregels in de broncode staan
Dus hoeveel is deze review dan waard?
De software bevat geen meerfactorauthenticatie. Dat is volgens HackDefense wel een norm waaraan de software werd getoetst, maar dat is niet meegenomen in de beoordeling. "We begrijpen dat deze applicatie echt bedoeld is om geïsoleerd gebruikt te worden, zonder internetverbinding of andere mogelijke ingangen voor kwaadwillenden", schrijft het bedrijf. Daarom zouden extra authenticatiefactoren niet per se nodig zijn.
Dus het is wel de norm, maar niet nodig, maar wel gereviewd en onvoldoende bleken. Maar toch is het ok. En dat het geisoleerd gebruikt word betekend nog niet meteen dat er geen MFA mogelijk is. En voor zoiets als het beheren van een stemsysteem vind ik dat nou niet per se zo'n hoge eis.
De Kiesraad zegt dat het die aanbevelingen 'meeneemt'.
Voor de non-bureaucraten onder ons, dit betekend vaak: we hebben je gehoord en gaan er niets mee doen maar hebben niet de ballen om dat recht in je gezicht te zeggen.

Al met al ben ik niet overtuigd door de review en ik ben sowieso nogal sceptisch over elektronisch stemmen. Tom Scott legt goed uit waarom.
Goeie comment!
Tja, de hertelling in Florida, ten tijde van Bush vs. Gore, is alles wat je gezien hoeft te hebben. De rest is history.

Maar wat die Tom Scott als eerste zegt: Anoniem voten... Dat is de allergrootste onzin ever. Levensgevaarlijk zelfs.
Voor een controle moet je de koppeling persoon<>vote maken, anders is het systeem oncontroleerbaar. Hij ziet dit als een mogelijk gevaar tot bv. omkoping of bedreiging en daarom redeneert hij dit als gevaarlijk. Dan snap je de balans tussen security en privacy in een democratie niet. De kans op telfraude is veel erger, actueler en gebeurd veel vaker. Los daarvan, de systematiek MOET gewoon waterdicht zijn natuurlijk, zelfs al zou dat gevaarlijk zijn. We hebben nou eenmaal een overheid nodig.

Hetzelfde geld voor elk ander transactie, bv bitcoin. Om een controleerbaar systeem te hebben is het essentieel dat je de koppeling voterID<>Transactie<>VoterID kan maken.

Ik ben wel een voorstander van geautomatiseerd stemmen, vooral het telgedeelte. Maar er moeten nog wel een zillioen kwetsbaarheden platgeslagen worden. Ik zou bv. met ASML en Philips bv. helemaal van scratch beginne en ik geloof niet dat zo'n project langer dan 2 jaar hoeft te duren.

[Reactie gewijzigd door Bulkzooi op 19 oktober 2020 19:31]

Ik zou bv. met ASML en Philips bv. helemaal van scratch beginne
Met een fabrikant van lithografiemachines en een fabrikant van verlichting en medische producten? Waarom zou je dát doen? :P
Voor een controle moet je de koppeling persoon<>vote maken, anders is het systeem oncontroleerbaar
En daarmee gooi je elektronisch stemmen dus direct de prullenbak in. Het is namelijk een grondrechtelijk vereiste dat stemmen anoniem gebeurt. Dit zodat er nooit druk op je uitgeoefend kan worden. In principe wordt een stembiljet dan ook direct ongeldig verklaard als iemand van de vrijwilligers ziet dat jij bijvoorbeeld een foto maakt.

In de VS werd een biljet wat iemand op tiwtter had gezet ongeldig verklaart. Dit zijn namelijk mogelijke manieren voor iemand om achteraf te kunnen checken of jij wel “het juiste” hebt gestemd.

Stemmen MOET anoniem, anders is de verkiezing per definitie beïnvloedbaar.
In principe wordt een stembiljet dan ook direct ongeldig verklaard als iemand van de vrijwilligers ziet dat jij bijvoorbeeld een foto maakt.
hier zit een verschil tussen de Belgische en Nederlandse wet. In België is een foto maken verboden. In Nederland is het tot op heden toegestaan. Ik schrijf hier 'tot op heden', want de wens licht er wel om het verboden te maken, maar dat is nu nog niet geregeld.

Mocht je toch gedwongen worden een foto te maken van je stembiljet, kan je altijd in het stembureau je gefotografeerde biljet (maximaal twee keer) inruilen voor een nieuw biljet en dus alsnog anoniem je stembiljet invullen.
Mocht je toch gedwongen worden een foto te maken van je stembiljet, kan je altijd in het stembureau je gefotografeerde biljet (maximaal twee keer) inruilen voor een nieuw biljet en dus alsnog anoniem je stembiljet invullen.
Dat klopt en dan kunnen ze je dus dwingen om alsnog 3 exemplaren op de foto te zetten met een merkje dat ze alle drie herkenbaar zijn. Er zijn dus genoeg mogelijkheden om het af te dwingen ;)

Neemt niet weg dat het veel opvallender is dan ff een usb stick inprikken tijdens transport oid.
Maar wat die Tom Scott als eerste zegt: Anoniem voten... Dat is de allergrootste onzin ever. Levensgevaarlijk zelfs.
Voor een controle moet je de koppeling persoon<>vote maken, anders is het systeem oncontroleerbaar. Hij ziet dit als een mogelijk gevaar tot bv. omkoping of bedreiging en daarom redeneert hij dit als gevaarlijk. Dan snap je de balans tussen security en privacy in een democratie niet.
Totdat er een dictator aan de macht komt en die heeft precies inzichtelijk wie die moet opsluiten / afmaken.
Ik zou toch denken dat we in WOII in NL geleerd hadden dat zo'n administratie niet echt handig was, maar sommigen zijn blijkbaar hardleers...
@Gomez12 Het gaat over stemmen in een democratie. Als zo'n dictator aan de macht komt, dan misbruikt hij die dus, en dan voorziet de democratie in een afzettingsprocedure. Ook een moeilijk verhaal. Fundamentele zaken zijn nou eenmaal moeilijk, net als bv. zelfbeheersing.

Maar het moge inderdaad duidelijk zijn dat de implementatie een probleem is, door heel de geschiedenis heen. Het is ook niet eenvoudig. Maar het punt dat ik maak is dat de overheid hypocriet is en liegt. Bovenal is de in de grondwet vastgelegde stemprocedure gestoeld op verkeerde (dictatoriale) principes want anoniem stemmen betekent oncontroleerbaar.

En het werk dat ze doen, bv. dit rapport of de software, en ook de corona app., is allemaal fout, ook duidelijk, terwijl ze aan de andere kan wel de correcte principes hanteren voor military safety/secrecy of voor het innen van belasting, waarbij ook een gesloten systeem nagestreefd wordt (ook zo lek als een schepnet; maw onze politici zijn een stelletje incompetente criminelen)

In ww2 was een papieren administratie; we hebben nu nieuwe mogelijkheden en andere procedures, die daar op afgestemt zouden moeten zijn. We leven nou eenmaal niet meer in WW2.

[Reactie gewijzigd door Bulkzooi op 21 oktober 2020 08:33]

Dat zijn niet alleen grote fouten, maar ook beginnersfouten... Is er ook verder gekeken?
Aan wie stel je deze vraag?
Ook dit zou eigenlijk uberhaupt niet moeten kunnen
Ik snap ‘ook dit’ niet helemaal, maar ben met je eens dat dit eigenlijk niet zou moeten kunnen.
Dus hoeveel is deze review dan waard?
Je formuleert de vraag nogal suggestief. Wat zegt het rapport erover?
Dus het is wel de norm, maar niet nodig, maar wel gereviewd en onvoldoende bleken. Maar toch is het ok. En dat het geisoleerd gebruikt word betekend nog niet meteen dat er geen MFA mogelijk is. En voor zoiets als het beheren van een stemsysteem vind ik dat nou niet per se zo'n hoge eis.
Mee eens :)
Voor de non-bureaucraten onder ons, dit betekend vaak: we hebben je gehoord en gaan er niets mee doen maar hebben niet de ballen om dat recht in je gezicht te zeggen.
Ik ben bang dat je daar gelijk in gaat krijgen. Als de Kiesraad alle aanbevelingen ter harte zou nemen, was er wel een andere bewoording gekozen.
Is er een reden dat je zo aggressief reageert? Het rapport zelf was niet gelinkt dus nee, ik heb er niet ingekeken.

Ik ben even vluchtig door het verslag gegaan (en dan voornamelijk bijlage A met de bevindingen met daadwerkelijke lekken) en zowel het rapport als de software lijkt twijfelachtig.

A.5 meld dat er RSA-1024 keys worden gebruikt. Dat werd al in 2009 aangeraden door NIST als minimum met 2048 sinds 2015, waarbij de voorkeur eigenlijk bij ECDSA ligt. Dit is dus terecht opgemerkt en vooral een beetje pijnlijk is voor de software. Waarom is er nu nog voor 1024 gekozen?

Wat ik dan weer erg pijnlijk vind is dat in plaats van te refereren naar de NIST documenten die ik linkte (of de Nederlandse versies daarvan) maar naar wikipedia. Fucking wikipedia. Wikipedia is een mooie bron om bij te beginnen, maar absoluut geen goede betrouwbare bron voor (wetenschappelijk) onderzoek.

A.7 geeft een goede aanvalsvector aan, namelijk dat bij inloggen info word gegeven over waarom er niet ingelogd kan worden. Als je ook maar iets over beveiliging hebt geleerd is dit ongeveer les 1, dus wederom, geen goed teken voor de software.

A.14 De applicatie server waar het op draait word niet meer ondersteund. Pijnlijk. Ook pijnlijk is dat de het rapport dit geen risico vind. Nu op dit moment is het nog geen risico. Maar bij de volgende verkiezing (over een jaar of 2 zijn volgens mij weer gemeenteraadverkiezingen en anders over uiterlijk 4 jaar met de volgende 2e kamerverkiezingen) is dit zeker wel een probleem. Vooruitkijken doen ze in dit rapport dus schijnbaar ook niet.

A.15 waarom staat er uberhaupt LibreOffice op die systemen? En wederom, waarom geld dit als geen risico?

Score: 3/16 voor het rapport en 4/16 voor de software met mijn snelle blik. Geef iemand met meer ervaring en achtergrond in beveiliging meer tijd en er komt vast wel meer naar boven. Ik schat dus dat mijn scepsis wel enigzins terecht is.
Goed werk @Gropah ! Ik heb een wat uitgebreidere post op linkedin lopen; de grondwet is nl. fout.
https://www.linkedin.com/...vity:6724255381603852289/

Het nist, NEN en BIPM zijn overigens instantie die kapotte standaarden brengen. Vandaar al die wildgroei in de IT, vanaf de compiler via allerlei talen en ISA patenten.

[Reactie gewijzigd door Bulkzooi op 20 oktober 2020 16:35]

Ook bevat de broncode veel nutteloze code, zoals regels over e-mail, terwijl de software die functionaliteit helemaal niet ondersteunt.
Dus als ik het goed begrijp dan is er een ongedocumenteerd stuk software 'omgeklust' naar Nederlands stemmentel systeem waar straks weer vier jaar de toekomst van het land mee bepaald wordt. Wat hebben ze gedaan dan, Kahoot! source gekocht en omgeschreven?? Is het dan echt zo slecht gesteld met de Nederlandse software industrie dat een veilig stemmentel systeem niet op eigen boden ontwikkeld kan worden?
Tweakers en moderatie is ook al niet alles, zo te zien.
gooi die source op git :X :+
Als het goed is zou dit de betreffende broncode moeten zijn:
https://www.kiesraad.nl/v...0/10/5/broncode-osv2020-u :)
Mooi gezipt zonder Git history en zo te zien inderdaad volledig in het Duits. Een aantal bestandsnamen:
AbstractSitzberechnungsalgorithmus.java
AbstractSitzberechnungsdaten.java
StimmengleichheitErgebnisKonflikt.java
DefaultSitzberechnungsergebnis.java

Het valt mij ook op dat de consistentie in kleine letter/hoofdletter ver te zoeken is.
Duits? Is dit een mop? Mijn mond valt bijna open...
Welke developer schrijft zijn code niet in het Engels? Al helemaal bij dit soort zaken waar je zeker audits mag verwachten.
Op misschien wat programmeeropdrachtjes in het eerste jaar na is Engels toch voor alles de norm lijkt me...

[Reactie gewijzigd door Stannieman op 19 oktober 2020 17:13]

Welke developer schrijft zijn code niet in het Engels?
Iemand die werkt in een domein waar de lingua franca niet Engels is. Genoeg vaktermen op bijvoorbeeld het gebied van onderwijs waar geen goede vertaling voor is, of waar de vertaling eerder voor verwarring zorgt (vwo vertalen met pse maakt het geheel ook niet duidelijker). Geen idee of dat hier ook het geval is, maar er zijn zeker goede redenen aan te dragen waarom een andere taal dan Engels gekozen wordt.

Over de hoofdletters: ik zie daar geen probleem. "Sitzberechnungsalgorithmus" is één woord, geen reden om daar hoofdletters tussen te zetten. idem voor "Stimmengleichheit". Dat is eerder een eigenschap van de Duitse taal.
Qua hoofdletters, bedoel ik in de code zelf, nu is mijn Duits ook niet geweldig maar ook als ik naar de bestandsnamen kijk:
StimmengleichheitErgebnisKonflikt.java
DefaultSitzberechnungsergebnis.java


StimmengleichheitErgebnis
Sitzberechnungsergebnis
Is dat niet bij allebei 1 woord?
Door het hoofdlettergebruik wéét je dat het juist geen 1 woord is.
Stimgleichheit Ergebnis Konflikt
Default Sitzberechtigungsergebnis
Stimmengleichheit Ergebnis

Sitszberechtigungsergebnis

Het zijn voor mij duidelijk functies. Het kan ook aan elkaar als 1 woord, maar dan is het een zlfst. naamwoord ipv (beschrijving van een) functie.
Design principles. Zelfde als bv. blacklisting en andere logica die buiten de normale routines omlopen.

[Reactie gewijzigd door Bulkzooi op 20 oktober 2020 12:30]

Genoeg vaktermen op bijvoorbeeld het gebied van onderwijs waar geen goede vertaling voor is, of waar de vertaling eerder voor verwarring zorgt (vwo vertalen met pse maakt het geheel ook niet duidelijker).
Slecht voorbeeld. VWO is een eigen naam en die vertaal je niet.
Welke developer schrijft zijn code niet in het Engels?
Ik zou het eerder omdraaien; wie schrijft zijn code wel in het Engels:
  • Mensen die Engelstalig zijn, voor een internationaal bedrijf werken of aan een internationaal (open source) project bijdragen.
  • Een (groot?) deel van de Nederlanders (en misschien Vlamingen!?); een (mij onbekend) deel van de Scandinaviërs.
  • ... en ehm, dat was het wel zo'n beetje
Alle andere developers werken gewoon in hun eigen taal. Vraag maar eens aan je Spaanse, Franse of Duitse vrienden (om een stel semi-willekeurige voorbeelden te noemen). Alles in het Engels doen, ook als het niet per se noodzakelijk is, is over de grens lang niet zo gebruikelijk als hier.
Ik hanteer bij programmeren, altijd de Engelse taal.
Dat heeft vooral te maken, met dat de programmeer taal al Engels gebaseerd is.
En verder vind ik het we netjes voor mijn opvolger, die ik nu nog niet ken.
Welke developer schrijft zijn code niet in het Engels? Al helemaal bij dit soort zaken waar je zeker audits mag verwachten...
Een developer die aanneemt dat de auditeurs ook met Duits kunnen omgaan?

Je opmerking doet vermoeden dat je idee over coding op de wereld bijzonder beperkt is. Het is Duitsland, Frankijk, Italie, Spanje etc bijzonder gebruikelijk dat de developers het commentaar in hun taal doen. En dat is alleen Europa. Aangezien de meeste code op dit moment buiten de US en Europa gemaakt word is het zeer gebruikelijk voor elke auditeur om commentaar in een andere taal te hanteren.

Omdat Nederlands een zeer kleine taal is, hebben veel Nederlanders zich aangewent om in het Engels (of wat ze denken dat Engels is, soms liggen we dubbel over de taakfouten die we in code zien) te commenteren. Dat is echte gewoon niet de norm in andere landen als dat niet door de opdrachtgever gevraagd is. Ik heb 22 coders in Duitsland en die geven hun commentaar gewoon in het Duits.
Dat het zo is zal wel kloppen dan. Maar ik vind het nog steeds verbazend. De programmeertaal zelf is al Engels, en alle third party libraries ook. Dat wordt toch een soep met die talen door elkaar, dat leest niet fijn.

En als ik ergens soep zie heb ik eerlijk gezegd (misschien onterecht) al weinig vertrouwen in de rest... Het komt bij mij over als een gebrek aan orde en netheid, en zo'n gebrek beperkt zich vaak niet tot 1 specifiek deel.

Maar goed, ik werk gelukkig niet aan code in een andere taal, dus ze doen maar 🤷‍♂️
Op veel scholen in Nederland leren studenten in eerste instantie ook in het Nederlands programmeren. Helaas ook in het bedrijfsleven wel een terug gezien :(
Ik weet niet beter dan alle code, inclusief commentaar, in het Engels te schrijven. Daar werd echt op gehamerd zo'n 15 jaar geleden tijdens mijn opleiding. Het valt me vaak wel op, dat vooral mijn oudere collega's dit nog wel eens willen vergeten.
Dat zullen dan middelbare scholen zijn, want ik ben ze nog niet tegengekomen. Het commentaar zie ik nog wel eens in de lokale taal, maar dat is eigenlijk alleen voor schoolopdrachten.
HvA heeft het ook gedaan, zelf niet op gezeten maar van een oud klasgenoot die na MBO doorstroomde kwam een keer niet uit de opdracht en stuurde die toen door. Was denk ik 4 jaar geleden.
Lol, ik werk hier dagelijks met Engelse code en (soms) NL commentaar/variabelen. Dat is op sommige plekken gewoon puur de standaard omdat het domein simpelweg onvertaalbare terminologie kent.

Dan kan je het naar het Engels proberen te trekken, maar dan maak je het enkel onduidelijker. Of je laat het gewoon in het NL en accepteert dat dat stukje domein gewoon puur NL is.

Zo zag ik laatst een app voorbij komen over PKVW (/Politie Keurmerk Veilig Wonen), dat is puur een term die gewoon niet buiten NL bestaat.
Of idd schoolvormen, dat is ook altijd leuk. Die kennen ook geen direct vergelijkbare dingen in andere talen, er bestaat wel iets wat zo ongeveer zoiets is, maar toch is het nooit echt gelijk.

Dan maar liever NL in de comments / variabelen zodat iedereen weet dat het niet zo ongeveer iets anders is.
Kijk, als je het over Nederlandse jargon hebt, snap ik het enigszins (alhoewel voor de meeste termen een letterlijk vertaalde naam ook prima herkenbaar is, maar afkortingen doe je natuurlijk niet). Dat is alleen heel beperkt toepasselijk want op overheidszaken na is er weinig dat echt alleen Nederland doet.

Je kunt de documentatie prima in het Engels schrijven en Nederlandse woorden tussendoor gebruiken. Zo kan, wanneer externe hulp of audits nodig zijn, iemand die de taal niet spreekt de applicatie begrijpen door alleen maar de relevante vaktermen te leren. Software gemaakt door overheden zou minstens onderling in de EU bruikbaar moeten zijn, al is het maar de frontend om de business logic heen.
Kijk, als je het over Nederlandse jargon hebt, snap ik het enigszins (alhoewel voor de meeste termen een letterlijk vertaalde naam ook prima herkenbaar is, maar afkortingen doe je natuurlijk niet). Dat is alleen heel beperkt toepasselijk want op overheidszaken na is er weinig dat echt alleen Nederland doet.
Wellicht dat jij gelijk hebt als je het hebt over tech voor tech.
Maar op het moment dat tech de praktijk gaat raken, dan zie ik toch voornamelijk heel erg veel vakjargon voorbij komen wat specifieke betekenissen heeft waarbij het letterlijk vertalen er enkel maar toe leidt dat de buitenlanders geen idee meer hebben waar het over gaat en de domein specialisten ook niet meer.
Iedereen moet nu gaan puzzelen wat er bedoeld wordt.

Terwijl als je het NL houdt dan weten in ieder geval de domeinspecialisten exact waar het over gaat.
Software gemaakt door overheden zou minstens onderling in de EU bruikbaar moeten zijn, al is het maar de frontend om de business logic heen.
Vergeet het maar. Zolang er de regel is dat een EU-wet door elk afzonderlijk lid los in wetgeving omgezet moet worden verschilt het allemaal net iets en heb je net exact geen gemene deler die te hanteren is.
Vergeet het maar. Zolang er de regel is dat een EU-wet door elk afzonderlijk lid los in wetgeving omgezet moet worden verschilt het allemaal net iets en heb je net exact geen gemene deler die te hanteren is.
Mwah, het coronadashboard kan prima door de hele EU gebruikt worden, alsook de corona app. Een toeslagenwebsite kan ook prima (gedeeltelijk) worden hergebruikt door veel overheden als de code goed geschreven is; je wilt niet zo'n diepe onderlinge afhankelijkheid dat het webportaal waar burgers een overzichtje zien afhankelijk zijn van de geprogrammeerde belastingregels, daar moet nog een laag tussen. De berichtenbox van Mijn Overheid kan ook prima worden hergebruikt. Als de boel goed geprogrammeerd is zou je zelfs heel Digid open kunnen gooien, gewoon de backend met burgergegevens ontoegankelijk maken voor buitenstaanders en het hele systeem kan zo worden gedeeld. Een overheid moet dan verder nog even wat authenticatie en processen voor eigen burgers regelen maar dan ben je er ook wel.

Dat een interne tool van de politie die alleen door politieagenten wordt gebruikt of een tool die de lonen van leraren onder Nederlandse belastingen bijhoudt niet helemaal Engels is, snap ik perfect. Ik vind het alleen nogal simpel om te stellen dat je dan maar de hele boel in het Nederlands schrijft, Engelse zinnen met Nederlandse woorden erin werken net zo goed als Nederlandse zinnen met Engelse woorden in them.
Franse software is vaak in het frans, ook vanwege een Azerty toetsenbord dat Engels lastiger maakt, sowieso commentaar en variabele namen zijn vaak in een lokale taal.
Wel eens het 'Engels' van Nederlandse developers gezien?
Standaard namen en declaraties gaat prima. Maar voor de rest zie je toch erg veel 'Stone coal Dutch' voorbij vliegen. Woorden met meerdere mogelijke vertalingen waar vaak de verkeerde vertaling wordt gekozen. (Meer 'Brick cabbage Dutch' dus.) Beknopte comments die enkel te begrijpen zijn wanneer je weet dat de schrijver Nederlands is.

Wanneer je niet voor de internationale markt aan het programmeren bent, of voor een bedrijf waar veel buitelanders werken die je code moeten kunnen zien of er mee moeten kunnen werken, is programmeren in het Engels vaak niet meer dan interessantdoenerij. Wanneer je dan het Engels niet voldoende machtig bent is het resultaat erg sneu.
volledig in het Duits.
Het valt mij ook op dat de consistentie in kleine letter/hoofdletter ver te zoeken is.
Ook een manier om hackers af te schrikken.
Iemand was duidelijk druk bezig met zijn eigen baanzekerheid...
" Het valt mij ook op dat de consistentie in kleine letter/hoofdletter ver te zoeken is. "

In de Duitse taal? :+
Is iemand net mee bezig: https://github.com/stimmesanft/osv2020-u

Ziet er uit als een kopie van https://www.kiesraad.nl/v...0/10/5/broncode-osv2020-u

[Reactie gewijzigd door Henk Poley op 19 oktober 2020 18:12]

Is dat dezelfde code, of de versie die in Duitsland wordt gebruikt?
Misschien kan Tweakers Events een project/oproep doen om de code onderhanden te nemen?
Ik ben geen programmeur, maar wil wel helpen vertalen.
Anderen kunnen bijv code reviews doen, ongebruikte delen eruit te strippen, 2FA te koppelen of test suites (Github Actions) te bouwen?

(alleen, hoe filter je de russische en Chinese contributies eruit? :+ )

[Reactie gewijzigd door mbb op 20 oktober 2020 14:18]

mwahhh daar ben ik het niet mee eens, alles verbonden met internet is altijd kwetsbaar :)
Deze software wordt air-gapped gebruikt. Daarom is het ontbreken van 2fa ook niet erg, stellen de onderzoekers.
toen ik dit las
Ook zegt HackDefense dat een codereview lastig is omdat er weinig commentregels in de broncode staan. Veel opmerkingen zouden bovendien Duits zijn.
Vroeg ik me eigenlijk af wat voor het onderzoekers het hier om gaat. De software is dus schijnbaar in Duitsland gemaakt gezien de comment regels. Maar veel opmerkingen zouden bovendien Duits zijn, dus.... betekend dat dat de onderzoekers de Duitse taal niet machtig zijn wetende dat de software daar gezien de Duitse comment dus vandaan komt of geschreven is door iemand die Duits spreken is.
Vertaalmachine deepl.com of gewoon iemand inhuren die de taal wel machtig is.
Een beetje programmeur / computerwetenschapper kan code vrij makkelijk begrijpen zonder comments, mocht het echt een zooitje zijn dan is dat op zichzelf een risico i.v.m. code obfuscatie. Echte analyse van code gaat daar boven op puur om semantiek, dus daar zouden de comments überhaupt niet voor uit moeten maken. Het is dus maar de vraag of HackDefense, een klein bedrijfje waar blijkbaar niemand credentials heeft behalve wat online certificaten, wel echt in staat is om de echte risico's in kaart te brengen anders dan wat simpele analyse methodes en tools die al klaar liggen.

Dan is het ook de vraag of het wel echt de bedoeling van de kiesraad was geweest om hier een serieus bedrijf naar te laten kijken, met als gevolg dat hun project (tijdelijk) als nietig verklaard kan worden. Dat de originele broncode is uitbesteed aan een nietszeggende Duitse developer zegt naar mijn mening al genoeg over de attitude van deze raad. De overheid kennende vanuit werkervaring, en er zullen velen dezelfde ervaring delen, dat het heel makkelijk voor hen is om kleine bedrijfjes mooie contracten aan te bieden in ruil voor een positief rapport.

[Reactie gewijzigd door Fox op 19 oktober 2020 21:28]

Plus het zijn beveligingsonderzoekers, niet per se software developers.

Maar idd, ook zonder comments moet je de code wel uit kunnen pluizen. Kost alleen meer moeite, en als je maar een paar dagen budget hebt om een audit te doen heb je daar geen tijd voor.

De taalbarriëre zal ook een factor zijn, aangezien alles in het Duits is.
Plus het zijn beveligingsonderzoekers, niet per se software developers.
Slechte zaak als dat de redenatie is. Dan kan je net zogoed de schoonmaker de code laten reviewen (even ervan uitgaand dat die niet kan programmeren). Code review laat je toch doen door iemand die er verstand van heeft?
Je laat toch ook niet de receptioniste van de garage je motor reviseren?
Niet dat het hier ter zake doet... maar wat mij altijd opvalt is dat inderdaad mensen als de auto kapot is naar een expert gaan. Zelfde bij een slot, deur, etc. Maar als ze ziek zijn gaan mensen naar allerlei alternatieve therapeuten en geloven random troep van YouTube.
Precies, ben het helemaal met je eens. Ben zelf ook ontwikkelaar, en comments in je code zou niet uit moeten maken voor je codereview. Goede comments maken alles een stuk makkelijker, maar "CleanCode" nog meer. Maar uiteindelijk zou zelfs als je die standaarden niet gebruikt de code te begrijpen moeten zijn, het zal misschien alleen iets langer duren.

Klinkt mij dus ook als een "amateurclubje" om het maar even oneerbiedig te zeggen.
@bbob1970 deepl, waar komen die nou weer vandaan? Ik kan yandex.ru voor vertalen van duits aanbevelen. Ze zeggen dat Putin himself heeft meegeholpen om hun service te verbeteren.
Je bedoeld handig voor Russische hackers om van Duits naar Russisch te vertalen. ;)
@bbob1970 Maakt eigenlijk niet zoveel uit hoe of wat. Nederland zit in een verliezende bubble, vooral met de tech sector, en zo ongeveer elk land is fysiek machtiger. Straks gaat de koning weer op de vlucht, naar griekenland of rusland dit keer, en dan staan wij hier als burger want rutte & Co. zijn dan ook nergens meer te bekennen.
Vertaalmachine deepl.com of ...
Ehm, tja dan krijg je dus zoiets van : Wij hebben geconstateerd dat de broncode vertaald door deepl.com geen grote fouten bevat, behalve dat het niet meer te compileren is...

En in principe denk ik wel dat een codereview taal/comment onafhankelijk moet zijn.
Het is heel leuk dat een comment iets uitlegt, maar het gaat erom of de onderliggende code hetzelfde doet als in de comment staat (waardoor de comment opzich overbodig wordt)

Als ik in de comments zeg dat ik gebruikersinvoer valideer, maar ik doe dit in de code niet, dan heb je toch echt een probleem in de code wat gewoon te detecteren is zonder de comments.
Deze software wordt air-gapped gebruikt. Daarom is het ontbreken van 2fa ook niet erg, stellen de onderzoekers.
Hoe zit het met het build proces? Ook volledig offline?
Volledig offline bij ons. Apart netwerk, niet verbonden met enig ander netwerk, aparte nieuwe linux installatie voor de server en workstations draaien een browser.
Fysiek of virtueel gescheiden?

Vlans, bijvoorbeeld, kunnen natuurlijk makkelijk aangepast worden als een switch gehacked is.
Fysiek dat is de instructie van Binnenlandse Zaken.
@niki_lauda Kan je ook aangeven welke distributies op de server en workstations draaien? En welke merken infrastructuur zoals switchen en machines die "geïsoleerde" omgeving betreft? Ik vermoed Cisco switch en Dell hardware...

[Reactie gewijzigd door Bulkzooi op 20 oktober 2020 17:10]

2fa helpt niet als er lekken in de software zitten...
@Tijs Hofmans Wat is air-gapped? Gelukkig zit #2fa er niet in maar dat heeft te maken met de privatisering van KPN (die nu overgenomen wordt door een Zweedse club).
Echter, de git history ontbreek waardoor de history van de source code niet te bisecten is.

Edit: ik zie het al. Isolatie is geen argument; enkel als de gehele workflow waterdicht is. dus fout op fout.
https://www.linkedin.com/...vity:6724255381603852289/

[Reactie gewijzigd door Bulkzooi op 20 oktober 2020 12:33]

"We begrijpen dat deze applicatie echt bedoeld is om geïsoleerd gebruikt te worden, zonder internetverbinding of andere mogelijke ingangen voor kwaadwillenden", schrijft het bedrijf"
^ het artikel.

Verder wordt deze software alleen gebruikt voor de verdeling van zetels en het optellen van stemmen als ik het goed heb. Dat kun je achteraf nog handmatig natellen als je zin hebt.

[Reactie gewijzigd door ApexAlpha op 19 oktober 2020 16:22]

Sterker nog, toen er een keer elektronisch gestemd werd, werd er in Rotterdam in de volgende 2 dagen alles ook handmatig geteld. (Dat is wel een "aantal jaartjes" geleden ja. Ik was toen voorzitter stembureau nummer zoveel.)
Daarom zo bizar dat iedereen IoT deurbellen, huiscamera's en sloten installeert. Maar ik begin ouder te worden denk ik.
Je kan prima een 2de netwerk hebben in je huis die niet verbonden is met het internet en daar je IoT op doen.
Klopt, maar laten we eerlijk zijn: Het grootste deel van de gebruikers doet dit niet.
Is dit niet by default bij die iot wappies? Ik heb een thermostaat die een apart apparaatje heeft die als gateway dient met het internet; in theorie kunnen alleen de servers van de leverancier hierbij om de thermostaat aan te kunnen sturen en de communicatie met de app te verzorgen.
Behalve dat de meeste apparaten gewoon direct op je wifi zitten, is zo'n gateway natuurlijk ook een punt dat gehackt kan worden. Er is geen reden om te denken dat de gateway beter beveiligd is dan een IoT apparaat zelf ondanks dat het aparte fysieke apparaten zijn.
Dat kan... En in theorie kan dat netwerk zelfs helemaal losgekoppeld zijn van je primaire netwerk dat wél verbonden is. Hoeveel mensen hebben zo'n setup denk je? Mijn inschatting: vrijwel niemand. Iemand die zo security-bewust is, begint waarschijnlijk niet eens aan die IOT spullen.
Dat kan... En in theorie kan dat netwerk zelfs helemaal losgekoppeld zijn van je primaire netwerk dat wél verbonden is. Hoeveel mensen hebben zo'n setup denk je? Mijn inschatting: vrijwel niemand. Iemand die zo security-bewust is, begint waarschijnlijk niet eens aan die IOT spullen.
Je hebt het hier gewoon over VLAN's die zijn helemaal niet zo uitzonderlijk als je misschien denkt :P. Maar je hebt inderdaad gelijk dat menig mens deze niet heeft.
Dat kan... En in theorie kan dat netwerk zelfs helemaal losgekoppeld zijn van je primaire netwerk dat wél verbonden is. Hoeveel mensen hebben zo'n setup denk je?
Technisch gezien iedereen die een slimme energiemeter thuis heeft hangen, want die dingen zijn allemaal over een gesloten GPRS netwerk verbonden zodat ze op afstand uitgelezen kunnen worden.
En als die apparatuur moet inloggen ergens....
Je kan prima een 2de netwerk hebben in je huis die niet verbonden is met het internet en daar je IoT op doen.
Dat is het geen IOT he, waar staat die I anders voor?
Een internet is niet "het" internet; het meervoud van internet is internets. Je kunt een internet in je eigen huis hebben.
Een internet is niet "het" internet; het meervoud van internet is internets. Je kunt een internet in je eigen huis hebben.
Het mondiale Internet is een eigen naam; gebaseerd op de engelse term "internetted" wat "onderling verbonden/verwoven" betekent. Werd daarom vroeger ook vaak met een hoofdletter geschreven, maar dat is over tijd een beetje uitgestorven.

De term internet slaat op kleinere discrete netwerken die onderling verbonden worden tot een groter netwerk. Tenzij je zelf een heee---l groot pand hebt; zeg maar letterlijk de konig van je eigen kasteel bent, kwalificeert die paar meter kabel in je muren niet als internet, maar als een simpel enkelvoudig netwerk.


Daarnaast staat IoT voor the Internet of Things. Het Internet - als in het mondiale internet, dus.

[Reactie gewijzigd door R4gnax op 20 oktober 2020 12:52]

dacht ik ook, moet LANoT zijn :+
@yzaazy lol, op dezelfde modem die met internet verbonden is.
Ook zegt HackDefense dat een codereview lastig is omdat er weinig commentregels in de broncode staan. Veel opmerkingen zouden bovendien Duits zijn. Ook bevat de broncode veel nutteloze code, zoals regels over e-mail, terwijl de software die functionaliteit helemaal niet ondersteunt.
Relatief veilig maar codetechnisch een rommeltje dus. Mijn vertrouwen is gewonnen.
Ik vind het vreemd dat ze zo hameren op comments in code. Ik heb altijd geleerd dat je code moet kunnen lezen zonder comments en dat comments een zwaktebod zijn. Het kan uiteraard zijn dat je een specifiek lastig stuk code tegenkomt maar het zou niet dermate structureel moeten zijn dat een audit partij de code niet goed begrijpt.
Doen ze dat? Volgens mij is dat eruit getrokken zonder context van de (samenvatting) van de codereview zelf.

Ik ben even het document ingedoken. Over het gebrek aan comments is alleen gezegd dat het niet bevordelijk is voor het reviewproces:
"We willen geen punt maken van het feit dat namen van klassen en variabelen, alsmede de spaarzame comments, in het Duits zijn. Daar kunnen we wel mee overweg. De logica die aanwezig is om het Duitse kiessysteem te ondersteunen vormde wel een uitdaging, aangezien we niet precies paraat hebben hoe we zaken als een Gebiet of een Kreis moeten interpreteren."

Dus het lijkt meer een probleem te zijn dat de code die was toegespitst op het Duitse kiessysteem moeilijk was te begrijpen door het gebrek aan context.

Het gros van de kritiek (op de code) is dus dat er veel code rond zwerft die niet van toepassing is/niet wordt ingezet.
Als je code goed schrijft kan het erg goed uitleggen wat het doet. Wat het vaak minder goed doet is uitleggen waarom je iets doet. Dat kun je kwijt in documentatie als het om grote lijnen gaat, maar als het erg specifiek is kun je dat (naar mijn mening) beter kwijt als commentaar in de code zelf.

offtopic:
Ik kan er dan weer niet bij dat het in het Duits is. Ik werk voor een compleet Nederlands bedrijf met alleen Nederlandse klanten, maar de code, commentaar en veel docs zijn in het Engels.
@Polderviking
comments zijn simpelweg bedoeld om geïnteresseerden sneller bekend te maken met de codebase, zeker grootte projecten met alle functionaliteiten verdeeld over allerlei files kan het handig zijn. Ook bij ingewikkelde algoritmes kan het voor een leek (die wel een taalexpert kan zijn) handig zijn om iets meer info over specifieke functionaliteit direct tot de beschikking te hebben.

Puristen zijn echter altijd tegen omdat het functioneel niks toevoegt. Toch gebruiken die ook vaak afspraken om de leesbaarheid van de code te vergroten en uniformeren, terwijl dit strikt genomen niet noodzakelijk is. zoals declaratie van variabelen, filenames met een gerelateerde en treffende benaming wat betreft de functionaliteit.

BV.
A(1,2,3);
B(a,b,c);
Tja dan zal ik wel wat commentaar nodig hebben om te kijken wat er gebeurd

Maar:
Multiply(1,2,3);
Concatinate(a,b,c);
Dat maakt het al een stuk beter leesbaar. De uitkomst is hetzelfde.

[Reactie gewijzigd door Bulkzooi op 21 oktober 2020 06:49]

Comments een zwaktebod?!?

Code kunnen lezen zonder dat comments nodig zijn?

Dat werkt met heel simpele software. Zodra je zaken gemoduleerd begint op te bouwen (in een poging om een software project niet met al teveel technische schuld op te zadelen), dan is de code misschien wel leesbaar zonder comments, maar zonder context of uitleg waarom optie zus of zo is gebruikt...veel geluk met troubleshooten. Hopelijk heb je een volle bos haar want een jaar of wat later zal daar bitter weinig van over zijn zonder comments.

Waar je enigzins een punt hebt zijn comments die puur en alleen omschrijven wat een stukje code doet. Kort en bondig uitleggen waarom een functie (in de huidige vorm) is gebruikt, dat is niet iedereen gegeven. Vandaar dat er heel veel nutteloze comments in code zit.

Maar kom je code tegen waarin dit wel goed gebeurt, dan scheelt dat uren aan troubleshooting (en een heleboel haar). Daarnaast is er een heleboel software die comments in code automatisch verwerken om een handleiding te genereren.

Want het is zo dat het gros van programmeurs code zit te vervloeken om knullige fouten, die ze zelf een jaar eerder hebben ingeklopt.
Dit was ook mijn gedachte. Als code lastig te reviewen is vanwege gebrek aan comments is de code al slecht.

Ja als ik dit doe

A(1,2,3);
B(a,b,c);

Tja dan zal ik wel wat commentaar nodig hebben om te kijken wat er gebeurd

Maar:
Multiply(1,2,3);
Concatinate(a,b,c);

Dat maakt het al een stuk beter leesbaar. De uitkomst is hetzelfde.
Maar dan heb je wel een spelfout in je code geïntroduceerd; als je dan in het Engels programmeert, moet je die taal wel machtig zijn. Het is concatEnate.
Tja en zelfs dan is het prima te begrijpen.
Totdat je 'm zonder spelfout aanroept....
Ik ben het met je eens dat een audit partij dit niet als probleem zou moeten zien. Het gaat inderdaad om de codes die geschreven zijn. Wel kan het natuurlijk dingen verduidelijken waardoor je de code sneller snapt. Vooral natuurlijk als de uitvoeren code steeds heen en weer springt door de programma of als en meerdere commando's tegelijk naast elkaar worden uitgevoerd. Dan kan het best lastig zijn om alles goed te controleren. Vooral als er een hoop dingen bijzitten die gewoon niet erbij horen (zoals de email gedeelte). Dus ja ik ben het met je eens dat het niet ern blokkade mag zijn maar ik snap wel dat het de werk makkelijker kan maken.
Als je code schrijft is het idee dat iemand jaren later deze code nog kan lezen, begrijpen en veranderen, zonder hulp te moeten hebben van de originele auteur.

Ik kan me nog goed herinneren dat ik in mijn begintijd een simpel spelletje gemaakt had, gebaseerd op een bestaand spelshow. Jaren later keek ik naar de code van dat programma die ik geschreven had, en waarvan ik precies wist wat het doet, omdat ik de spelshow nog kon herinneren. En toch snapte ik niet hoe mijn eigen code (!) werkte.

Goede code is meer dan alleen commentaar. Het juiste gebruik van hoofdletters/kleine letters, inspringen van code, begrijpelijke namen voor variabelen en functies, het goede gebruik van constanten variabelen waar nodig, een constante structuur in de code. Het zorgt er allemaal voor dat je code uiteindelijk beter leesbaar is voor anderen, én voor jezelf.
Ik heb altijd geleerd dat je code moet kunnen lezen zonder comments en dat comments een zwaktebod zijn.
Ik snap de intensie van deze 'regel' wel, maar ik ben het er niet helemaal mee eens. Commentaar kan zeer zeker helpen bij de leesbaarheid van code. Alleen moet het dan wel goed commentaar zijn. Dit bijv:
# Tel 1 op bij de variabele.
i = i + 1
Dit is commentaar, maar je hebt er helemaal niks aan, het is precies hetzelfde als wat er op de regel daaronder staat. Het idee van commentaar is niet om uit te leggen wat het programma byte voor byte aan het doen is, maar om juist in algehele termen uit te leggen wat het doel van de code is.

Het idee dat comments een zwaktebod zouden zijn snap ik wel, je wilt dat de code zelf zo goed en duidelijk mogelijk geschreven wordt. Maar dat wil dan weer niet zeggen dat je dan geen comments mag gebruiken. Want dat klinkt meer dat het liefst helemaal niet mag, terwijl comments de code toch potentieel veel duidelijker kunnen maken.

Helaas komt er nog een extra factor bij, en dat is dat code tegenwoordig snel geschreven moet worden, vooral door bedrijven. En dat kan het ook wat moeilijker maken om code telkens goed te schrijven. En hier moet je dan een soort gulden middenweg zien te vinden.
Dat is het verschil tussen een functioneel doel en een technisch doel. Het technische doel moet gewoon uit de code gehaald worden. Dat is de operationalisatie van het functionele doel. Het functionele doel is bij veel te veel programmeurs vaak impliciet. Dan gaat het over zaken die in het hoofd van de programmeur zat toen die de code schreef. Welke aannames werden er gedaan? Waarom is voor rechtsaf gekozen en is linksaf of rechtdoor ook overwogen? Waarom is daar niet voor gekozen? Waarom is er gekozen om niet een standaard library te gebruiken, maar een stukje opnieuw te herschijven? Waarom worden parameters op die manier verwacht en niet op een andere? En zo kan ik eindeloos doorgaan.

TLDR: Comments zouden niet moeten beschrijven wat je doet, maar waarom je dat zo doet.
Comments hebben idd vaak de neiging om niet of gedeeltelijk de waarheid te vertellen. Wat daarbij niet helpt is dat de meeste editors comments een kleur geven met een laag contrast - "het is maar een comment, niet zo belangrijk". Heb ik zelf iig aangepast, maar dan nog lopen mijn comments (ook al zijn ze spaarzaam) vaak achter.
Heel vreemd inderdaad dat het "predikaat" veilig dan word gegeven. Het onderzoek kon niet verder omdat de "hacker" geen Duits door google translate kan halen?
Uitbesteding naar een bedrijf waar kwantiteit boven kwaliteit gaat of daar de balans niet goed op orde heeft, krijgt van mij altijd punten.

Richting het nulpunt.

Op dit item kan niet meer gereageerd worden.


Apple iPhone 12 Microsoft Xbox Series X LG CX Google Pixel 5 Black Friday 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True