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

Overheidsdienst nam duizenden gesprekken van advocaten op door softwarefout

De Nederlandse Dienst JustitiŽle Inrichtingen heeft drieduizend gesprekken van advocaten opgenomen door een softwarefout. De dienst heeft de fout naar eigen zeggen hersteld en de opgenomen gesprekken gewist.

Door de fout in de software met de naam 'Telefonie voor Justitiabelen' nam de Dienst JustitiŽle Inrichtingen gesprekken op tussen advocaten en gedetineerden, schrijft minister Sander Dekker. Dat mag niet. De dienst neemt gesprekken op van gedetineerden met anderen om te voorkomen dat zij vanuit de cel strafbare feiten kunnen begaan. Gesprekken met advocaten gelden als vertrouwelijk en die moet de software dus niet opnemen, maar de Telefonie voor Justitiabelen herkende de nummers van advocaten niet. Dat had wel moeten gebeuren.

De telefonieprovider van de Dienst, Telio, heeft drieduizend opnames gewist van gesprekken die gedetineerden en advocaten sinds vorig jaar telefonisch hebben gevoerd. Van de jaren ervoor heeft Telio geen gegevens verstrekt en daarvan is dus niets bekend. Telio heeft de fout maandag binnen een uur na de melding hersteld.

De Nederlandse Orde van Advocaten wil dat er onafhankelijk onderzoek komt naar de zaak. De Orde kwam erachter na een melding van een advocaat. De Orde vermeldt verder dat sommige gesprekken niet alleen zijn opgenomen, maar dat de Dienst ze ook heeft afgeluisterd. Dekker bevestigt of ontkent dat niet in zijn Kamerbrief.

Door Arnoud Wokke

Redacteur mobile

07-11-2018 • 17:50

105 Linkedin Google+

Reacties (105)

Wijzig sortering
Toch even op de link klikken en lezen :-) alvorens alles in twijfel te trekken.

https://www.rijksoverheid...ie-voor-justitiabelen.pdf

Afgelopen week is naar aanleiding van een signaal van de NOvA gebleken dat zich
een systeemfout heeft voorgedaan in “Telefonie voor Justitiabelen”. In gevallen
waarin telefoonnummers van advocaten vaker dan ťťn keer in de
telefoonvoorziening voorkwamen
, zijn gesprekken tussen advocaten en
gedetineerden ten onrechte niet uitgesloten van opname.


Ook heeft DJI een melding gedaan van voormelde systeemfout bij de Autoriteit
Persoonsgegevens.

===================================================
Van de jaren ervoor heeft Telio geen gegevens verstrekt en daarvan is dus niets bekend.
Hiervan is wel wat bekent: op grond van artikel 23a van
de Penitentiaire maatregel een bewaartermijn van acht maanden geldt voor
opgenomen gesprekken. Gesprekken van vůůr die tijd waren reeds gewist

[Reactie gewijzigd door hans3702 op 7 november 2018 18:07]

Het is niet de eerste keer dat dit gebeurt.

2016: https://www.ad.nl/binnenl...en-met-clienten~a81d4e9f/

kamervragen 2015: https://zoek.officielebek....nl/kv-tk-2015Z18739.html

2010: https://www.trouw.nl/home...en-afgeluisterd~a34e7c39/

Het afluisteren is helaas voor justitie iets structureels. Er zijn altijd excuses, nu een software fout.
Het feit dat dekker niet ontkend maar ook niet bevestigd dat deze gesprekken wel zijn afgeluisterd zegt eigenlijk genoeg. Bevestigen nog ontkennen betekend meestal dat ze stiekem toch beluisterd zijn. Ze moeten nu alleen nog een excuus zoeken.

Nog triester is dat dit dus al jaren en jaren speelt en er geen verandering is. Het ondermijnt de rechtsstaat en recht op eerlijk proces. Je zou denken er vallen ontslagen of er gebeurt iets. Niets van dit alles is waar.
ontslag? Ik zit zou op zijn minst aangifte wegens nalatigheid en overtreden van de relevante wetten verwachten. Als het met opzet is/niet is gefixed nadat het bekend was; opsluiten voor ondermijning van de rechtsgang.
Als er door justitie/OM structureel gebruik van gemaakt is; aanklagen als criminele organisatie in handel van vertrouwelijke gegevens
Helaas bij overheid gebeurt zoiets niet. Misstanden gaan de doofpot in, klokkenluiders worden kapot gemaakt (keer op keer in het verleden bewezen)
Schuldigen worden normaal weggepromoveerd.
Betrouwbare overheid noemen ze dat.
Nog triester is dat dit dus al jaren en jaren speelt en er geen verandering is. Het ondermijnt de rechtsstaat en recht op eerlijk proces. Je zou denken er vallen ontslagen of er gebeurt iets. Niets van dit alles is waar.
Dat klinkt onwaarschijnlijk. Een rechter zou bewijsmateriaal uit vertrouwelijke gesprekken niet accepteren.
Dat is ook absoluut niet noodzakelijk om de rechtsgang te ondermijnen :
https://en.wikipedia.org/wiki/Parallel_construction

Parallel construction is a law enforcement process of building a parallel—or separate—evidentiary basis for a criminal investigation in order to conceal how an investigation actually began.
>Een rechter zou bewijsmateriaal uit vertrouwelijke gesprekken niet accepteren.

Er is een reden dat er staat "Cruciaal is uiteraard de vraag wat er met abusievelijk opgenomen
gesprekken is gebeurd en of deze zijn uitgeluisterd"
. Er is ook een reden dat we ze helemaal niet opnemen en niet alleen uitsluiten als bewijsmateriaal.

Ze hebben meer waarde dan alleen bewijsmateriaal.

[Reactie gewijzigd door Normaalhalf op 8 november 2018 09:39]

Klopt het is niet toelaatbaar als bewijs maar ja uit gesprekken valt meer dan bewijs alleen te halen, handige achtergrond informatie waardoor men wel op een bepaald spoor kan komen.

Uiteindelijk gaat het hier om recht op een eerlijk proces dat is een kernwaarde van onze democratie. Het recht op een advocaat hoort daarbij evenals dat jij zonder afgeluisterd te worden met je advocaat vrij moet kunnen spreken.
Daar af te luisteren ondermijnt onze overheid de rechtsstaat en krijg je het gevoel alsof we in een dictatoriaal systeem zitten.
Een gesprek zou je natuurlijk wel naar bewijsmateriaal kunnen leiden.
Dit is alsnog geen excuus dat het bijna twee jaar of zelfs langer kon bestaan. De resultaten van het automatische systeem lijken niet of nauwelijks gecontroleerd te zijn op (on)terecht opnemen. Het systeem is niet verantwoordelijk, dat zijn de personen die het inzetten en er gebruik van maken. Ik zou wel willen weten hoe zoveel fouten konden bestaan en niemand dit afgelopen jaren zou hebben opgemerkt, behalve uiteindelijk de advocaten zelf.
Gezien dit:
In gevallen waarin telefoonnummers van advocaten vaker dan ťťn keer in de telefoonvoorziening voorkwamen, zijn gesprekken tussen advocaten en gedetineerden ten onrechte niet uitgesloten van opname.
Lijkt het me dat er een checkje in stond die deed:

count = do_query("SELECT COUNT(id) FROM advocatennummers;")
if count = 1: neem niet op


Terwijl het natuurlijk het volgende had moeten zijn

if count >= 1:

Een vrij stomme fout lijkt me zo, vooral omdat het niet eerder is gemeld door de organisatie die de gesprekken ook daadwerkelijk beluisterd.
En met dat soort fouten voel je ook aankomen waarom het niet ontdekt is in tests. Je kunt een dikke stapel tests hebben met telefoonnummers in 17 verschillende formaten inclusief 0800 nummers en internationale nummers, en als tester alsnog zoiets missen.
Of de requirement stelde alleen =1 en ze hebben zo goedkoop mogelijk het hele development deel ingekocht
Waarom zou er een aantal in de requirements zijn opgenomen? Dit is erg onlogisch. Een eenvoudige check als: teleno == "no uit advocaat lijst" zou voldoende zijn geweest. Het aantal doet er helemaal niet toe.

Het lijkt daarom meer op een bewuste fout: als we toch willen afluisteren plaats het betreffende nummer nogmaals in de lijst.
Als ontwikkelaar steun ik eerder de uitleg van @kramer65. Hoewel het zonde is dat het niet is opgepakt, is het geen vreemde bug om tegen te komen.
Misschien stond er eerst een IF EXISTS en is daar door iemand COUNT(id) van gemaakt om performance redenen.
Dat soort dingen kan je inderdaad wel over het hoofd zien, als je de context uit het oog verliest. Daarom: blijf altijd een oog op het hele plaatje houden.
Heeft al dat opnemen Łberhaupt zin als er niet actief naar geluisterd wordt? Als men actief die opnames beluisterd was dit wel eerder aan het licht gekomen. Nu lijkt het een beetje alsof die opnamen slechts dienen voor eventueel grasduinen achteraf, als ze iemand een extra straf ofzo willen opleggen, in plaats van het geclaimde doel: het voorkomen van misdaden.
Of justitie vond het wel makkelijk vertrouwelijke informatie uit het criminele circuit te ontvangen.
Dank! Ik betrap mezelf er wel eens op dat ik een artikel lees en direct een mening klaar heb zonder eventuele bijlagen te lezen. Klinkt als een gevalletje double positive = negative.

Ietd dat opzich nog niet eens ondenkbaar is. Ze moeten wel wat betere beveiliging inbouwen dan. Klinkt niet als top als een dubbele input alles al kan slopen.
Dank voor je toevoeging.

Wat mij stoort is dat de Tweakers redactie het stuk niet zelf heeft gelezen en zo een genuanceerd beeld met technische uitleg kan presenteren ipv de clickbait dat het systeem gefaald heeft.

Maar goed, dat is mijn mening.

Aan de andere kant, de opnames worden gedaan om te voorkomen dat er acties gepleegd worden vanuit de inrichting. Dan zou je zeggen dat je ze minstens steekproefsgewijs beluistert en tussen al die steekproeven kom je vast wel een advocaat tegen. Daar had het belletje al af moeten gaan. De situatie heeft nu minstens 8 maanden kunnen aanhouden, tot een advocaat zijn beklag deed.

Naast het opnemen van gesprekken houdt men waarschijnlijk ook een database bij met metagegevens. Wie belt met wie, wanneer en hoe lang? Als je daarin gaat minen moet je ze ook tegenkomen als er ineens een knop "beluister opname" aan zit.

Ik heb 3 jaar voor een alarmcentrale gewerkt en ook de telefooncentrales beheerd. Dit soort dingen is absoluut mogelijk.
Iemand heeft daar foute query gemaakt klinkt het :)
Dit is toch best een van de functionele eisen van een dergelijk systeem.
Kortom wederom een gebrekkig overheids systeem, onvoldoende getest.
Kortom de overheid wordt meer en meer onbetrouwbaar,
hetzij door wispelturig gedrag... hetzij door "fouten" van personeel die van alles kwijtraken, of niet met foto materialen kunnen omgaan, dan wel wordt het afgeschoven naar een "computerfout"...
Computerfout is gewoon verantwoordelijkheid van opdrachtgever van het systeem evt. moet die het met de bouwer maar oplossen.

De vraag is of de verwijderfunctie daarin wel werkt, zou zomaar ook niet kunnen werken.
Verwijzen naar een wetsartikel dat dat zou moeten is kwalitatief van hetzelfde niveau als niet voldoen aan een ander wetsartikel waarin confidentialiteit tussen advokaten en clienten geregeld wordt.
Gezien het "van advocaten die meerdere malen voorkomen" zie ik het nog wel als reŽel dat het echt een programmeerfout was. Een simpele verklaring is dat de te matchen nummers normaal als string binnenkomen en nu als array met de meerdere nummers. Vergelijken van een string met een array is natuurlijk altijd false, dus dan komt dit nummer door de check heen.

De grotere vraag is waarom de DJI dit nooit merkte bij het terugluisteren van de taps. Mogelijk doen ze dat alleen steekproefsgewijs, en het aantal advocaten met twee nummers zal klein zijn dus in theorie is het altijd toevallig goed gegaan. Maar het is natuurlijk ook goed denkbaar dat er DJI-mensen waren die wťl meeluisterden. Ik zou het dan wel hťťl riskant vinden om er wat mee te doen, want als je wordt betrapt heb je geen enkel excuus.

Idem als je het doorbrieft aan een agent die bezig is met een onderzoek. Die kan er niets mee in het dossier, want leg eens uit waar dat bewijs vandaan komt? Natuurlijk is softe informatie handig om te hebben maar dit kan je hele onderzoek besmetten omdat de overtreding dermate ernstig is. Dus ja, het is denkbaar maar zelfs agenten die de wet willen breken, zullen denk ik even twee keer nadenken bij deze bron van informatie.
De personen die de gesprekken beluisteren zouden toch zelf zekerheid moeten verkrijgen of een opgenomen gesprek rechtmatig is opgenomen? Zelfs als de eigenaar steekproeven doet lijkt het beschikbaar zijn van een gesprek onvoldoende om dus maar te gaan beluisteren. Dus wat ging daar dan mis?

[Reactie gewijzigd door kodak op 7 november 2018 20:25]

Als je er van uitgaat dat alleen gesprekken die opgenomen mogen worden ook daadwerkelijk opgenomen worden (conform de wet en het protocol), dan is het natuurlijk onzinnig om dat handmatig te controleren. Als je dat wel gaat doen voor elk gesprek dat je afluistert, dan kost dat enorm veel tijd en efficiŽntie is met een tekort aan personeel een ding.
Als efficiency het argument is: juist door alleen gesprekken te besluiteren die terecht zijn opgenomen bespaar je tijd en afbreuk. Maar efficiency zou hier geen argument mogen zijn. Er zomaar vanuit gaan dat iets wel goed is is niet goed genoeg als je rechten moet beschermen en alleen binnen een mandaat mag handelen. De wet is niet gemaakt om het de overtreder makkelijk te maken maar om de personen die daar recht op hebben te beschermen. The computer says yes is geen goed argument. Nu helemaal niet meer, er is nu wederom bewezen dat je niet op die beslissingen kan vertrouwen zonder zelf goed te controleren.
De grotere vraag is waarom de DJI dit nooit merkte bij het terugluisteren van de taps. Mogelijk doen ze dat alleen steekproefsgewijs, en het aantal advocaten met twee nummers zal klein zijn dus in theorie is het altijd toevallig goed gegaan. Maar het is natuurlijk ook goed denkbaar dat er DJI-mensen waren die wťl meeluisterden. Ik zou het dan wel hťťl riskant vinden om er wat mee te doen, want als je wordt betrapt heb je geen enkel excuus.
Zelfs in gericht onderzoek wordt er (veel) meer opgenomen dan afgeluisterd, Zoals het mij is uitgelegd wordt alles wat over een getapt nummer loopt opgenomen, tenzij het op een blocklist staat. Analyse en selectie gebeurt op metadata: nummer, locatie, tijdstip. Die selectie wordt beluisterd. Nog net zo als in The Wire, eigenlijk.

Dan is de regel dat als er een geprivilegieerd gesprek tussendoor glipt (blocklists zijn nooit sluitend, dus daar wordt op gelet) meteen het afluisteren wordt gestaakt, de opname vernietigd en een proces verbaal aan de stukken wordt toegevoegd.

Maar je moet het dan wel door hebben, er wordt tenslotte niet in ieder gesprek iets 'advocaterigs' gezegd. 100% uitsluiten kan je het dus nooit, zelfs als iedereen perfect binnen de lijntjes kleurt. Mensen gebruiken wel eens een ander toestel dan je verwacht.
Hoe moeilijk is het om informatie via meld misdaad anoniem te recyclen / 'witwassen'.
Gezien het "van advocaten die meerdere malen voorkomen" zie ik het nog wel als reŽel dat het echt een programmeerfout was. Een simpele verklaring is dat de te matchen nummers normaal als string binnenkomen en nu als array met de meerdere nummers. Vergelijken van een string met een array is natuurlijk altijd false, dus dan komt dit nummer door de check heen.
Klinkt alsof je het over een of andere niet type-save taal hebt? Javascript of PHP of zoiets? Het lijkt me heel, heel sterk dat ze dat gebruiken voor dit soort tapsystemen. In een strongly-typed taal kan je geen string vergelijken met een array (waarschijnlijker: een vector of een list) zonder dat je dat expliciet gemaakt hebt of je een compilatie error krijgt, en verandert niet ineens het type van de data dat je binnenkrijgt van een string naar een array.
Mogelijk, maar mij verbaast niets meer qua rare implementatiekeuzes bij overheids-software. Misschien is het dan zoiets doms als alleen checken op sql_results[0] omdat er nooit gedacht is aan twee matches (elk nummer hoort een apart record te zijn, en elders werd besloten dat twee nummers van ťťn advocaat ťťn record worden samen) en komt het bellende nummer altijd pas voor in sql_results[1] als er twee zijn.
@MSalters zijn gooi naar hoe zoiets mis kan gaan klinkt best aannemelijk in dit verband. Maar het blijft allemaal speculatie.
Maar het is natuurlijk ook goed denkbaar dat er DJI-mensen waren die wťl meeluisterden. Ik zou het dan wel hťťl riskant vinden om er wat mee te doen, want als je wordt betrapt heb je geen enkel excuus.
Ik denk dat je een vrij helder excuus hebt - deelname aan dit programma (nummerherkenning DJI) is vrijwillig. Als je als DJI-tapper tussen de taps dus een gesprek met advocaat tegenkomt, dan is de meest voor de hand liggende verklaring dat de desbetreffende advocaat niet meedoet met het systeem.
Tuurlijk. Maar dan wis je het gesprek want je weet als tapper dat je dit niet mag horen. Ik bedoelde met "geen excuus" dat je een advocaatgesprek opneemt/transcribeert en aan de opsporingsdiensten verstrekt zodat die er soft gebruik van kunnen maken. Als je zo'n gesprek uitwerkt dan wťťt je dat het een advocaatgesprek is.
Tenzij je dit laat doen door mensen die het niet door hebben of geautomatiseerd, Dat laatste kon al in 1995 (Maxxer 06-nummer)
Gezien het "van advocaten die meerdere malen voorkomen" zie ik het nog wel als reŽel dat het echt een programmeerfout was. Een simpele verklaring is dat de te matchen nummers normaal als string binnenkomen en nu als array met de meerdere nummers. Vergelijken van een string met een array is natuurlijk altijd false, dus dan komt dit nummer door de check heen.
Nouuuuu... Nee... Dit moet haast wel met opzet gedaan zijn. Even in pseudo-code:

- pak telefoonnummer van connectie met cel 123 (of waar dan ook) as tel_nummer
- select alles uit tabel advocaten_telefoonnummers waar telefoonnummer is tel_nummer

En nu de fout:

- als COUNT resultaten == 1 dan niet opnemen anders opnemen

In plaats van:

- als tel_nummer niet in resultaten dan opnemen

----

Basis logica.
Als je de bug kent, dan is de oplossing altijd triviaal. Maar er zijn bizar veel applicaties waar men select * doet op een database en dan clientside gaat zitten filteren. Of inderdaad wat jij doet, if count(results)==1 in plaats van groter dan nul.
Hoe is die advocaat erop gevallen dat zijn gesprek met zijn cliŽnt is opgenomen , dat vraag ik me af.
Vermoedelijk zal er opeens in de aanklacht zaken bijgekomen zijn waar hij met zijn cliŽnt heeft over gepraat of zo. Anders kan je het toch nooit weten ?
Ja, dit vroeg ik me ook al af!
Of een medewerker van de DJI heeft het opgemerkt dat dit gebeurt, en het gelekt naar die advocaat.
Vreemd verhaal. De gesprekken worden opgenomen om na te gaan of er geen strafbare feiten vanuit de gevangenis worden georganiseerd. Ik mag toch aannemen dat men die gesprekken dan ook terugluistert om dat te checken en dan had men veel eerder kunnen ontdekken dat er gesprekken tussen zaten die niet opgenomen zouden mogen worden. Of luistert men helemaal niets terug en is die check op misdrijven vanuit de gevangenis gewoon een farce?
Nee. Zoals hierboven al is aangehaald moet er een bijzondere reden zijn om gesprekken te mogen afluisteren. Voor de kleine criminelen zal die reden vaak ontbreken, dus die gesprekken worden dan wel opgenomen maar vervolgens 8 maanden later gewist.

Als je dus een advocaat hebt die zich specialiseert in het kleinere werk (zeg verkeersmisdrijven) dan zullen zijn clienten zelfden uitgeluisterd worden, en gaat het dus ook niet opvallen dat die advocaat verkeerd in de lijst staat.
Er zullen maar weinig mensen voor verkeersmisdrijven te gast zijn bij de DJI... Tenzij je het hebt over de gijzelingen van overheidswege wegens niet betaalde boetes voor niet verzekerde voertuigen of zoiets.

Maar goed, ik snap wat je bedoelt.
Sowieso zijn er maar weinig mensen te gast bij het DJI, daarom worden er ook in zo'n hoog tempo gevangenissen gesloten. En degenen die wel te gast zijn, zijn dat ook steeds korter. In 10 jaar tijd is de gemiddelde strafmaat ongeveer gehalveerd.

Maar daarvan is dan wel weer een fors deel vervangende hechtenis voor onbetaalde boetes - geen gijzeling. En dat komt voor alle soorten overtredingen voor, ook verkeersovertredingen.
Natuurlijk luistert men gesprekken terug, misschien steekproefgewijs en men had dan al lang kunnen horen in 1 van die gesprekken dat er gesprek advocaat verdachte tussen zat. Dan had diegene meteen aan de bel moeten trekken.
Je zou verwachten onderzoek, wie wist er van en niet gemeld = ontslag.
Maar meestal worden deze mensen weggepromoveerd bij onze "betrouwbare"overheid.
Ah foutje moet kunnen toch? /s
Gesprekken met advocaten gelden als vertrouwelijk en die moet de software dus niet opnemen, maar de Telefonie voor Justitiabelen herkende de nummers van advocaten niet. Dat had wel moeten gebeuren.
Lijkt me ook sterk dat dit kan, ik programmeer nog niet zo heel lang maar een simpel if statement moet toch wel lukken? Hoe komt dit dan door QA? Nummer invoeren en kijken of het word opgeslagen of denk ik te simpel?
Telio heeft de fout maandag binnen een uur na de melding hersteld.
Goh.

[Reactie gewijzigd door barriie op 7 november 2018 18:04]

Het is natuurlijk niet "een simpel if-statement", in de trant van if (telefoonNummer == "0612345678"). Die telefoonnummers moeten uit een database komen, en dan kan door formatting ook nog eens false negatives optreden omdat "06..." niet hetzelfde is als "+316..." bijvoorbeeld. Daarnaast zijn er natuurlijk allerlei randcondities die ervoor zorgen dat het gewoon niet goed gaat. Het is lastig om als buitenstaander een oordeel te vellen over een bepaalde bug, zeker in de wat grotere codebases, en zeker als je uitgaat van de beschrijving van een bug in de pers (die meestal ontzettend onvolledig zo niet onjuist is), maar ik beloof je dat jij over 10 jaar de nuances ook wel wat beter begrijpt ;).

Disclaimer: ik ga voor het gemak even uit dat wat er gezegd is klopt, maar ook ik heb me bedenkingen erbij...

[Reactie gewijzigd door .oisyn op 7 november 2018 18:30]

Wat jij aangeeft kan perfect in een database verwerkt worden. Sterker nog voor zaken als eerlijk proces en niet mogen afluisteren van gesprekken tussen verdachte en advocaat mag je verwachten dat men dit door en door test.

Helaas is het niet de eerste en laatste keer dat dit soort zogenaamde foutjes gebeuren bij gesprekken tussen verdachte en advocaat. Het lijkt iets structureels te zijn. Hierboven geef ik al een aantal links,2010 2015 2016 en zo zijn er nog veel meer.

Als het daarnaast om duizenden gesprekken gaat, gaat er dus iets goed fout en zijn het geen kleine maar structurele fouten.
Zie mijn disclaimer. Ik reageerde generiek op de opmerking van barriie dat een dergelijk systeem veel complexer is dan een "simpele if" en dat er vanalles fout kan gaan waar je in eeste instantie niet aan denkt. Dat weet elke ervaren developer. Wat jij beschrijft is precies waarom ik mijn bedenkingen erbij heb. Hoe heeft dit in hemelsnaam kunnen gebeuren? En dan bedoel ik dus niet de fout op zich, maar het feit dat ie pas na 2 jaar boven water komt, laat staan dat het Łberhaupt productie bereikt.
Mijn gok is dat het geen code-probleem is, maar een data probleem. Zoals je terecht opmerkt zullen die telefoonnummers in een database staan. En zoals Dekker schrijft, het probleem onstond blijkbaar bij "nummers die vakers voorkomen".

Ik kan me zomaar voorstellen dat de database begon met nette genormaliseerde data als "020-1234567", maar dat er een administratief medewerker dat bijwerkte tot "020-1234567, 010-7654321".

Uiteraard wist de originele programmeur dat je telefoonnummers niet als integer opslaat, maar als string. En ook de lengte wil je niet beperken want advocaten kunnen ook een buitenlands nummer of doorkiesnummer hebben. Dus die handmatige update waarbij er hard een komman in dat veld gezet wordt? SQL zal niet klagen, en het systeem "werkt" daarna nog steeds.

Alleen doet SQL daarna dus een harde string match op de hele string, comma's inclusief. Geen match, dus geen beschermd nummer, dus wel opnemen. Oeps.

Je moet praktijkervaring hebben om dit soort ongelukken te zien aankomen, maar bij een systeem dat aanbesteed wordt en uitgevoerd door de laagste bieder krijg je waarschijnlijk gewoon een paar juniors. En die bouwen dan wel een werkend systeem, maar geen robuust systeem. Tja. Ervaring voorkomt fouten, maar ervaring ontstaat ook door fouten.
Een nummer zou niet vaker dan eens mogen voorkomen, waarschijnlijk is het format waarin het nummer wordt vastgelegd dus niet gestandaardiseerd. Dit ondanks dat er gewoon een standaard voor is.

https://en.wikipedia.org/wiki/E.164

Alle invoer netjes naar de E. 164 omzetten en je zou nooit een dubbel nummer in je database moeten kunnen krijgen als gevolg van de verschillende format's. (020)1234567 of 020-1234567 of 0031201234567
In E. 164 is dit gewoon +31201234567 .

Moet je natuurlijk wel de userinput onderwerpen aan een invoermasker of zelf automatisch herkennen en omzetten. Gevalletje never trust user input.

[Reactie gewijzigd door Plopeye op 8 november 2018 08:29]

Dat het in een database staat wil niet zeggen dat het niet een bepaalde format kan krijgen, het liefst al voor je het opslaat zodat je geen inconsistente data hebt, toch?

Dan kan de bug nog zo groot zijn, dat je dit niet opvangt voordat je live gaat zegt toch ook wel iets?
Ik vermoed dta het probleem niet bestond toen het live ging. Telefoon nummers wijzigen , er komen nieuwe advocaten bij en oude stoppen. En je wil niet voor elke SQL update een programmeur inhuren. Ik vermoed dat het daar fout gegaan is.
Ik denk dat je inderdaad te simpel denkt over de complexiteit van deze systemen.
Ook al zal een een if statement het verschil maken, maar vergeet niet de code die hier vooraf gaat.
De oplossing tijd tussen de melding en de patch is snel uitgerold.

Gezien de lange periode dat dit ontdekt is, zullen de opnames van de advocaten zeker niet tussen de andere gesprekken gestaan hebben. Waarschijnlijk werd het nummer in eerdere componenten van het systeem wel herkend maar in de stap van de werkelijke opname niet. :)

[Reactie gewijzigd door mmjjb op 7 november 2018 18:24]

Complexiteit, dat valt best mee.

Als de verdacht zelf naar 06 nummer belt lijkt het me voor uitgaande gesprekken vij eenvoudig. dat is 06... of +316. of 00316.

Voor inkomende gesprekken met caller id.

+316..
00316.
06..
6..
En dan heb je een bijdehand die ouderwets *31*06..... probeert.

Ik heb in een grijs verleden nog eens voor een telefooncentrale bedrijf gewerkt. Het is dus een complete ramp om op basis van een Dialled Number uit te vissen wie je belt, en op welke lijn (wat met doorschakeling namelijk ongerelateerd is; je kunt een 020- nummer bellen en op een 06- nummer eindigen)
* kun je wegfilteren. Het gaat om het nummer dat jij intoetst of dat met caller id belt.
Als ik met mijn mobiel 020*12*34 enz ingeef krijg ik niet eens verbinding
de oude schrijfwijze 020-123 - zie je niet terug in nummerherkenning

Maar groter probleem is gesprekken die opgenomen worden worden ook beluisterd. Ik kan me niet voorstellen dat geen van die 3000 gesprekken niet beluisterd is. Als men er 1 of meer toch beluisterd heeft zou men denk ik snel moeten weten dat het een gesprek tussen advocaat en client is en meteen hiervan melding hebben moeten maken dat dit in het systeem zat.
Waarom het zo lang geduurd heeft is mij een raadsel.

Gaf hierboven al voorbeelden, het is niet de eerste keer en deze grappen, gesprekken beluisteren die wettelijk niet eens opgenomen of beluisterd mogen worden speelt al heel lang.
Ja, dat is dus waar ik op wilde wijzen. Je kunt het in het algemeen niet goed wegfilteren, en wat jij voorstelt is dus precies verkeerd.

*31* is een carrier prefix. Die moet je integraal wegfilteren. Je kunt niet alleen de ** wegfilteren. Die 31 lijkt alleen maar het land-nummer uit jouw voorbeelden.
die filters zijn niet zo simpel.

Heb zelf astrisk centrale / freepbx draaien met voip in nummers in verschillende landen.
Gebruik hier ook optie om inkomende caller id te filteren en in mijn geval te wijzigen.

Gesprek gaat namelijk naar mijn mobiel en als een Duitser op Duits nummer belt met 0301234567 krijg ik die caller id ook op mijn mobiel. dus haal ik eerst 0 weg, en voeg 0049 toe zodat ik kan zien dat het een Duits nummer is. Bel een Nederland nummer nu op dat Duits nummer krijg je +31 te zien en hoef ik niets te doen.

Zo kun je heel eenvoudig met regels caller id instellen.

Idem met naar buiten bellen dat kan bij **123 0031 enz dan wordt **123 netjes weggefilterd.
Zo is mijn voip provider geen Nederlands bedrijf dus moet ik voor Nederlandse nummers ook 0031 draaien. Ik kan echter ook gewoon 0201234567 ingeven. Script ziet dan weer geen 2 nullen maar 0 en cijfer van 1tot 9 en vervangt de eerst 0 dan door 0031.

zo moeilijk is het dus niet.

Daarnaast gaf iemand opmerking als database niet werkt, dan worden alle gesprekken opgenomen.
In dat geval moet je dan weer een script iedere dag over de opgenomen gesprekken laten gaan. die hebben of uitgaan nummer of inkomend caller id nummer en ook dat kun je weer filteren met de database.

En wederom ik geloof niet dat ze het niet wisten. Het had al lang gemeld moeten zijn. misschien heeft iemand het gedaan maar is er niets mee gedaan en heeft men het laten lopen tot men men een oplossing kwam. Ik neem nu aan dat men het wel heeft kunnen oplossen.
Complex lijkt het niet, maar je kent de achterliggende techniek niet. Gaat het gesprek via een centraal systeem of wordt er gebruik gemaakt van een lokale breakout met een database koppeling naar een centraal systeem? Wat gebeurd er wanneer er een gesprek wordt opgezet en er is een database timeout? Hoe worden nummers opgeslagen? Hebben de advocaten wel de juiste nummers geregistreerd? Gaat het om mixed nummers, dus die door meerdere personen kunnen worden gebruikt, bijvoorbeeld van een kantoor?

De materie is zo eenvoudig niet. Iedereen denkt, jee wat stom, dat kan toch...…. Maar mensen moeten beseffen dat de omgeving bij DJI zo complex is dat je niet simpel even een oplossinkje hebt. Heb 3,5 jaar voor die organisatie mogen werken en mogen aanschouwen hoe veel wet en regelgeving al een simpel iets als gebruik van een computer in de weg staat. Overigens bekend met de werking van Telio systeem en zo simpel is het niet. Daarnaast is moeten de advocaten ook even hand in eigen boezem steken, want het komt voor dat advocaten (bewezen) hun telefoon te leen geven en gaat het niet om een Jusitiabele/Advocaat gesprek.
Veel vragen, maar 3000 gesprekken dat zijn geen foute nummer van advocaten.
Al neemt men gesprek op de database heeft het nummer en ook al zouden ze niet opgenomen mogen zijn kunnen ze diezelfde dag via filter alsnog verwijderd worden.
Zeg maar dubbele beveiliging voor het geval de database offline mocht zijn en gesprek wel wordt opgenomen.

Probleem is dat we het hier hebben over vertrouwelijke gesprekken tussen advocaat en cliŽnt. Dat is onderdeel van de rechtsstaat en onderdeel van eerlijk proces. Afluisteren en opslaan zijn praktijken die niet door de beugel kunnen.

Stel je ook eens de vraag, men neemt gesprekken op en opgenomen gesprekken zullen ter controle ook beluisterd worden, steekproefgewijs.
Je maakt mij dan niet wijs dat geen van die 3000 gesprekken niet beluisterd is.
Als iemand ze al beluisterd heeft had diegene snel kunnen weten dat het een gesprek tussen advocaat en cliŽnt is. Diegene had dan meteen melding moeten maken.
Dat dit zogenaamd 8 maanden of langer heeft kunnen plaatsvinden is veel te lang. Daarnaast wil men niet aangeven of deze vertrouwelijke gesprekken wel of niet beluisterd zijn.

Let wel dit is niet de eerste keer dat de overheid gesprekken van advocaten en cliŽnt opneemt. Hierboven heb ik al links en zoek eens op google. Het speelt al veel langer dat onze overheid lak heeft aan wetten.
Als ze in de database stonden dan hadden ze fout al jaren geleden bij een steekproef moeten hebben ontdekt en bewust achtergehouden.

Zoals ik ook eerder al aangaf, dat die 3000 gesprekken opgenomen zijn betekend niet dat ze ook in de database stonden
Het kan op meerdere punten fout gaan op een manier die je in eerste instantie niet per se bedenkt.
Zo kan een subquery in een database verkeerd gaan als er 1 waarde wordt verwacht, of een array ipv een string door de meerdere waarden. Misschien ging t wel fout bij een zoek op t telefoonnummer van de advocaat waarbij in het resultaat vervolgens werd gekeken of de kolom van de andere waarde (waardoor de rij 2x moest voorkomen) matchte. Doordat de tweede rij dan de goede match bevat en je alleen de eerste rij meeneemt klopt de check niet en wordt t wel opgenomen.

Oftewel, het is gemakkelijk om t af te schuiven op een simpele (if-statement) fout alsof het niet had mogen gebeuren terwijl het ook een ingewikkelde fout zou kunnen zijn en dan nog kan zoiets altijd gebeuren. Zolang je er maar van leert en het de volgende keer in een check meeneemt en de fout ook snel en goed herstelt.
Als het binnen een uur was opgelost kan het nooit een erg ingewikkeld probleem geweest zijn.
Uiteindelijk zijn alle problemen niet ingewikkeld, als je voldoende informatie beschikbaar hebt. Als je weet dat een bepaalde check false negatives geeft en je er even in duikt, dan is het nalopen van wat query's door een ervaren developer ook niet zo tijdrovend meer.
Dan heb je duidelijk weinig ervaring met software development. Ik ben al zoveel bugs tegengekomen die al jaren in het systeem zitten, op een gegeven moment opduiken en na aldanniet naarstig speurwerk met een paar seconden programmeerwerk opgelost zijn. Als je maar weet wŠt er mis gaat.
Hmm. Waarom is dit bij het testen van de software niet duidelijk geworden? Lijkt me vrij basaal, toch?

Sowieso werd dus bijna ieder gesprek opgenomen? Heb je als gedetineerde plotseling geen grondwet-rechten meer?

[Reactie gewijzigd door Guus Leeuwis op 7 november 2018 18:17]

Je bedoelt denk ik artikel 13 van de grondwet?
Art. 13
1. Het briefgeheim is onschendbaar, behalve, in de gevallen bij de wet bepaald, op last van de rechter.
2. Het telefoon- en telegraafgeheim is onschendbaar, behalve, in de gevallen bij de wet bepaald, door of met machtiging van hen die daartoe bij de wet zijn aangewezen.
Vervolgens in artikel 36 lid 4 van de Penitentiaire beginselenwet:
4 De directeur kan de verzending of uitreiking van bepaalde brieven of andere poststukken alsmede bijgesloten voorwerpen weigeren, indien dit noodzakelijk is met het oog op een van de volgende belangen:
a. de handhaving van de orde of de veiligheid in de inrichting;
b. de bescherming van de openbare orde of nationale veiligheid;
c. de voorkoming of opsporing van strafbare feiten;
d. de bescherming van slachtoffers van of anderszins betrokkenen bij misdrijven.
Dus het artikel van de grondwet is beperkt in het geval van gedetineerden.
Het afluisteren van gesprekken tussen onder andere advocaten en gedetineerden is in andere artikelen uiteraard uitgesloten, en dat deze gesprekken opgenomen zijn is een kwalijke zaak.
Hier staat het ook uitgelegd:
Toezicht op telefoongesprekken
Op de telefoongesprekken die gedetineerden voeren kan toezicht worden uitgeoefend. Dit toezicht kan bestaan uit het beluisteren of uitluisteren van een opgenomen telefoongesprek, mits dit noodzakelijk is ter vaststelling van de identiteit van de persoon met wie de gedetineerde in gesprek is of met het oog op een van de volgende limitatief genoemde belangen (artikel 36 lid 4 Pbw);
a) de handhaving van de orde of de veiligheid in de inrichting;
b) de bescherming van de openbare orde of nationale veiligheid;
c) de voorkoming of opsporing van strafbare feiten;
d) de bescherming van slachtoffers van of anderszins betrokkenen bij misdrijven.

De noodzaak tot het treffen van een toezichtmaatregel moet blijken uit concrete aanwijzingen; het ontbreken hiervan kan de noodzaak tot het treffen van de toezichtmaatregel niet rechtvaardigen, aldus de RSJ.[3] Volgens de nota van toelichting horende bij het Besluit toezicht telefoongesprekken moet aan het toezicht een belangenafweging voorafgaan. Tevens moet de aard en de redenen van het toezicht aan de gedetineerde worden medegedeeld.[4]
Dat zou betekenen dat niet standaard ieder gesprek opgenomen mag worden, hoe dit in de praktijk gaat kan ik niet zeggen.

[Reactie gewijzigd door Soldaatje op 7 november 2018 18:44]

Ik ben geen jurist, maar je zou dit deel ook anders kunnen lezen:
Dit toezicht kan bestaan uit het beluisteren of uitluisteren van een opgenomen telefoongesprek, mits...
Als je een opname maakt, maar deze na 8 maanden ongebruikt weggooit, ben je dan aan het be-/uitluisteren? Of geeft het je alleen de speelruimte om met beperkte inzet van personeel over een langere periode de mogelijkheid te hebben om een gesprek alsnog nader te bekijken? Real-time meeluisteren is natuurlijk onmogelijk, tenzij je 24/7 een heel panel aan luisteraars hebt zitten.

Blijft uiteraard het punt dat er waarschijnlijk eerder iemand aan de bel had moeten trekken. En ik ben benieuwd hoe de betreffende advocaat heeft bemerkt dat hij is afgeluisterd. Zou er iemand hebben gelekt over deze praktijk? Of is er iets in een strafzaak gebeurd waardoor dit de enige conclusie was?
Dit is op zich vrij simpel te analyseren. "Beluisteren van een opgenomen telefoongesprek" bevat twee werkwoorden voor twee acties, beluisteren en [/]opnemen[/]. Dat zijn duidelijk gescheiden acties die op verschillende tijdstippen kunnen gebeuren.

Het is dus ook duidelijk dat het mogelijk is dat je een opgenomen telefoongesprek niet beluistert, maar wist. Omdat expliciet het beluisteren aan regels is gebonden, is het niet de eerdere actie van het opnemen waarvoor die regels gelden.

Daar zit ook een zekere logica achter. Voor het beluisteren moeten goede gronden zijn, maar die gronden kunnen ook ontstaan nŠdat het gesprek is opgenomen.
Een fout in de software is niet de oorzaak. Er was blijkbaar geen of slechte contole of het automatische systeem wel deed wat het moest doen. En dat bijna twee jaar lang en mogelijk zelf langer. Geen enkele organisatie kan zich dan verschuilen achter een softwarefout. Of je als organisatie voldoet aan de wet moet je ook zelf controleren. Daar lijkt hier geen sprake van te zijn geweest of die controle was slecht. Het lijkt niet in het belang van de maker of de gebruiker te zijn geweest om afdoende op een juiste werking te controleren en resultaten te verifiŽren.
En dat bijna twee jaar lang en mogelijk zelf langer. Geen enkele organisatie kan zich dan verschuilen achter een softwarefout.
Vraag het Microsoft even zou ik zeggen, of Linus Torvalds. :)
Er duiken regelmatig bugs op in al 10 jaar oude code. Testen op randgevallen is echt moeilijk. En nou is dit pakket misschien niet zo groot en gecompliceerd als Windows of de Linux kernel, maar dat betekent ook dat er navenant minder ogen de code bekijken en de software testen.

[Reactie gewijzigd door locke960 op 7 november 2018 20:58]

En voor cosmetische foutjes zou dat niet eens zo'n ramp zijn, maar Linux had tussen 2005 en vorig jaar een root exploit.

Dat is dus de kernel van Android telefoons met miljarden gebruikers, en IoT devices overal. In dat licht is het niet gek dat een softwarepakket met exact 1 gebruiker een bug heeft.
Niet uit de context trekken @locke960. We hebben het hier over verantwoordelijkheid om wettelijk vastgelegde rechten niet te schenden.
Of ze hebben het probleem ontdekt en bewust voort laten bestaan. Achteraf kan je dan makkelijk roepen dat het een softwarefout was en dat je er niks aan kon doen, maar ondertussen wel er lekker gebruik van maken.
Zou goed zijn als er onafhankelijk onderzoek komt.
Mag ik eerlijk zijn en mijn twijfels hebben of dit niet per abuis is gedaan? Dit soort zaken zou je dubbel moeten checken of alles goed staat ingesteld om te voorkomen dat het toch wordt opgenomen.
Nu is het sorry, we halen het weg en beloven beterschap. Ongeloofwaardig in een land waar de overheid heel graag steeds meer van ons wil weten.
Wat de schijn extra wekt is dat de belanghebbenden bij deze fout kennelijk al konden weten dat het systeem niet werkte omdat ze onterecht opgenomen gesprekken zouden hebben afgeluisterd. Je zou toch op zijn minst moeten weten of je een opgenomen gesprek ook mag afluisteren. En dan niet op basis van het was beschikbaar dus het zal dus wel mogen. Niemand die dus vragen had dat ze de gesprekken konden afluisteren? Dat lijkt me ongeloofwaardig.
Dat is nog maar een gerucht, maar als het waar is, is het heel ernstig. Het OM kan ontvankelijk verklaard worden als zoiets binnen een strafzaak bewezen wordt. En terecht.

Edit: ok, laten we het dan 'nog niet bewezen' noemen. Dat de klacht van de Orde komt maakt het nog niet waar.

Overigens: dat rechercheurs per ongeluk een advocatengesprek afluisteren mag je wel uitsluiten. Door een klusje in die hoek weet ik dat ze daar zeer op gespitst zijn, juist omdat je daar je zaak mee kunt verspelen.

[Reactie gewijzigd door TheekAzzaBreek op 7 november 2018 19:32]

Het is geen gerucht, het is een klacht van de orde van advocaten. En die is samen gedaan met de klacht dat gesprekken onterecht zijn opgenomen. Dat niemand het van de tegenpartij daar op in gaat maakt het niet minder waar of zelfs maar slechts een gerucht. De orde van advicaten dient niet even makkelijk een gerucht in met deze zwaarte. Het onterecht afluisteren van dergelijke gesprekken is strafbaar.
Toch blijft het een lastige zaak, want zeker voor inbound gesprekken is natuurlijk een nummer door voip te gebruiken vrij makkelijk te spoofen. Weet je wie de advocaat is, en weet je zijn of haar GSM-nummer te pakken te krijgen, dan kun je toch vertrouwelijke gesprekken houden, ondanks deze voorziening.
VoIP spooft het "Presented Number". De overheid krijgt echter het "Dialling Number". Dat is een vinkje in de telefooncentrale, wat jij niet hebt en overheidsdiensten wel.
De dienst heeft de fout naar eigen zeggen hersteld en de opgenomen gesprekken gewist.
Jaja :/ :/

En wat van de backup's ?? Die zijn nog lekker intact en daar kan men effetjes lekker in wroeten als ze dat willen . . .


Om te kunnen reageren moet je ingelogd zijn


Apple iPhone XS Red Dead Redemption 2 LG W7 Google Pixel 3 XL OnePlus 6T (6GB ram) FIFA 19 Samsung Galaxy S10 Google Pixel 3

Tweakers vormt samen met Tweakers Elect, Hardware.Info, Autotrack, Nationale Vacaturebank en Intermediair de Persgroep Online Services B.V.
Alle rechten voorbehouden © 1998 - 2018 Hosting door True