Archive for the 'Subject' Category

Regeling hackers moet geen vrijbrief worden

Thursday, September 22nd, 2011

Naar aanleiding van het idee van PvdA kamerlid Pierre Heijnen om hackers bescherming te bieden als zij te goeder trouwe handelen, en een beveiligingsfout melden aan de verantwoordelijke organisatie (hetzij overheid, hetzij bedrijfsleven) heb ik heel wat meningen voorbij zien komen. De een is het er roerend mee eens, de ander vindt het niet ver genoeg gaan en een enkeling is bang dat de bescherming een vrijbrief zou zijn voor criminelen. Het is erg vroeg om nu al conclusies te trekken: het voorstel moet in de komende maanden nog worden uitgewerkt en pas dan is een zinnige beoordeling te maken.

Uitgangspunt in de regeling zou mijns inziens moeten zijn dat onafhankelijke toetsing van een ICT-systeem bijdraagt aan de algehele veiligheid. De overheid als opdrachtgever bestaat vooral uit juristen en boekhouders. De opdrachtnemers, de bedrijven die voor de overheid ICT verzorgen, zijn commerciële instellingen die simpelweg winst willen (moeten) maken.

ITsec industry per definitie niet onafhankelijk

Een veelgehoord argument tegen de regeling is dat er voldoende bedrijven met verstand van zaken zijn. Een organisatie kan deze bedrijven inhuren om de veiligheid van haar systemen te onderzoeken en een rapport uit te brengen. Dit is de huidige praktijk. Een recent voorbeeld is het digitale loket van Amsterdam. Dit bleek lek te zijn, het was mogelijk om zonder wachtwoord of gebruikersnaam de inhoud van de site te wijzigen en gebruikers naar een andere site te leiden. De gemeente Amsterdam nam een beveiligingsbedrijf in de arm, en verklaarde na een oppervlakkig onderzoek dat alles veilig was. De dag erop werd opnieuw een lek gevonden en de procedure herhaalde zich.

En dit is waar de schoen wringt. Ik weet dat het bedrijf in kwestie over voldoende kennis en kunde beschikt om een systeem compleet door te lichten. Maar wat een bedrijf kan en wat er van hen gevraagd wordt zijn natuurlijk twee verschillende zaken. In het bovenstaande voorbeeld is het bedrijf uitsluitend gevraagd om te onderzoeken of het ontdekte lek misbruikt is. Dat de rest van het systeem mogelijk ook zo lek is als een mandje wordt buiten beschouwing gelaten. Daar wordt het betreffende bedrijf niet voor betaald, en elke ondernemer weet dat het zakelijk onverstandig is om structureel meer te doen dan waar je voor wordt betaald.

De hacker echter is niet gemotiveerd door commerciële belangen, maar ontdekt beveiligingsfouten vaak in zijn of haar vrije tijd. Hackers zijn ook gewoon burgers, en moeten paspoorten of toeslagen aanvragen. Wat de hacker echter onderscheidt van de rest van de wereld, is zijn nieuwsgierigheid en opmerkzaamheid. Een hacker ziet al snel patronen in een onschuldig ogend invulformulier van de gemeente, en gaat verder zoeken. En komt dan vaak tot de ontdekking dat er van alles rammelt.

Goed gedrag bestraft

Nu zijn er twee soorten hackers: zij die net als ieder ander besef hebben van wat moreel juist is en zij die net als criminelen daar minder precies in zijn. De laatste groep vormt, net als in de rest van de samenleving, een minderheid. Hackers uit de eerste groep willen net als ieder ander misstanden melden in de hoop dat er iets aan gedaan wordt. Vergelijk dit met een toevallige passant die getuige is van geweld op straat. Ieder weldenkend mens zal dit terstond melden aan de politie, en zichzelf later als getuige beschikbaar stellen. Misschien zelfs proberen om escalatie te voorkomen door de aanvaller tegen te houden.

Het rare is dat dit bij de beveiliging van ICT-systemen heel anders ligt. Wie ontdekt dat er een beveiligingsprobleem is en dit netjes meldt, kan vaak rekenen op dreigementen. De eerste reactie is vrijwel altijd in termen van juridische maatregelen. Oftewel: degene die een probleem constateert en meldt krijgt straf. Zou het niet raar zijn als je als getuige van geweld op straat zou worden aangeklaagd door de overvaller, omdat je zijn broodwinning onmogelijk maakt? Ik zou me wel drie keer bedenken voor ik me in het vervolg nog zou bekendmaken als getuige.

En dat is precies wat nu gebeurd. Waar de opdrachtgevers en -nemers falen en beveiligingsproblemen laten liggen, zijn het hackers die onafhankelijk en ongevraagd deze problemen wel ontdekken. Helaas worden de problemen zelden gemeld, simpelweg omdat het inmiddels duidelijk is dat men dan kan rekenen op minstens een paar maanden onzekerheid en dreigende veroordeling. Daarnaast wordt het lastig om nog een baan te vinden bij de overheid of in de ICT industrie, want een verklaring van goed gedrag kan je op je buik schrijven.

Dat hackers problemen niet meer durven te melden is kwalijk. Immers, als hackers die te goeder trouw handelen deze problemen kunnen vinden, dan kunnen hackers met minder moreel besef dat ook. En die zullen al helemaal niet geneigd zijn het lek te melden, maar zullen het ten volste misbruiken voor eigen gewin. Vaak had dat voorkomen kunnen worden. Het is eigenlijk een simpel rekensommetje: de goede hackers zijn in de meerderheid. De kans dat een probleem dus eerder door een ‘white hat’ (de informele term voor een goede hacker) wordt ontdekt is groter dan dat een ‘black hat’ (kwade hacker) datzelfde probleem als eerste ontdekt.

Lastige maar noodzakelijke klus

De regeling die wordt voorgesteld zou bovenstaand probleem moeten adresseren. En ja, wanneer handelt iemand te goeder trouw? Dat is inderdaad soms een ‘tough call’, maar vaak ook compleet evident. Wie, zoals aangehaald in een blogpost vanuit de beveiligingsindustrie, een botnet moet inzetten om iets aan te tonen gaat te ver. Wie pas ver na het ontdekken van de problemen melding maakt, had misschien andere motieven. Het lijkt mij dat dit echter, net als bij alle andere juridische aangelegenheden, op individuele basis door een rechter getoetst kan worden.

Het steggelen over de exacte tekst laat ik graag aan juristen. Dat is niet mijn vak. Het is wel belangrijk dat we daarbij niet alleen juristen uit de industrie horen, maar ook juristen die zich meer verwant voelen met de onafhankelijke hackergemeenschap. Ik heb er alle vertrouwen in dat Heijnen en zijn collega’s in de andere 119 zetels die achter dit idee staan bij de uitwerking alle kanten van het verhaal zullen beschouwen.

Dat niet altijd duidelijk is wat nu precies ‘te goeder trouw’ is, en wat nu de definitie van ‘ICT-systeem’ zou moeten zijn lijkt mij geen reden om het hele idee meteen van de tafel te vegen. Het is een moeilijke opgave, maar de bescherming van onze identiteitsgegevens is dat meer dan waard.

Flattr this

brandbrief van nationale hackergemeenschap inzake ICT-beveiliging overheid

Thursday, September 15th, 2011

Zojuist is onderstaande brandbrief in de ronde tafel van de commissie BiZa van de Tweede Kamer uitgereikt. De hackerspaces en organisaties van Nederland spreken zich hier expliciet uit over het gebrek aan besef van ICT-beveiliging bij de Nederlandse overheden. De brief is opgesteld en ondertekent door alle Nederlandse hackerspaces en drie organisaties die de Nederlandse hacker-community verenigen. De brandbrief is tevens verstuurd aan de landelijke media. Wij hackers zijn het simpelweg zat om keer op keer te moeten vernemen dat bij de implementatie van grote ICT overheidssystemen kinderlijke vergissingen worden gemaakt die de privacy van burgers aantast en soms zelfs tot gevaar voor mensenlevens lijdt.

De verenigde Nederlandse hackerspaces en organisaties
Postbus 503
2501 HJ Den Haag

Aan: de leden van de commissie Binnenlandse Zaken van de Tweede Kamer der Staten-Generaal

Betreft: brandbrief van nationale hackergemeenschap inzake ICT-beveiliging overheid

Den Haag, 15 september 2011

Zeer geachte leden van de vaste Tweede Kamercommissie BiZa,

De Nederlandse hackergemeenschap, vertegenwoordigd door de ondergetekende
organisaties, maakt zich zorgen over de beveiliging van ICT-systemen van de
Nederlandse overheid. Keer op keer zien wij hoe basale beveiligingsprincipes
niet worden toegepast binnen bestaande en nieuwe ICT-systemen.

Recente voorbeelden zijn de kwestie rond Diginotar en de SSL-certificaten, de
OV-chipkaart, het elektronisch patiëntendossier (EPD) en nog vele andere
systemen en omgevingen. Wij hebben een omvangrijke lijst van voorbeelden van
overheidssystemen die persoonsgegevens bevatten of persoonsgegevens vragen aan
burgers waar de beveiliging niet op orde is.

Dit zijn geen ingewikkelde hacks, maar fouten die mensen zonder opleiding
kunnen misbruiken. Daarvoor is standaard programmatuur op internet voorhanden.
Het gaat om elementaire beveiligingsprincipes die structureel niet worden
toegepast en een blind vertrouwen in techniek, gestoeld op onvoldoende begrip
van de risico's. Audits en certificeringen zijn papieren tijgers. Er wordt
onvoldoende gekeken naar de systemen zelf en blind vertrouwd op verklaringen
van bijvoorbeeld de ontwikkelaars.

Er wordt niet voldoende getoetst of de beloftes van ICT-bedrijven ingehuurd
door de overheid realistisch zijn en worden nagekomen. Adequate bescherming van
databanken met persoonsgegevens is onvoldoende gewaarborgd. Er wordt niet
nagedacht over mogelijk misbruik van nieuwe systemen. Tegelijk worden aan de
overheid gelieerde instanties zoals het College Bescherming Persoonsgegevens
(CBP) en GOVCERT in onvoldoende mate betrokken bij ICT-trajecten.

De hackergemeenschap voelt zich geroepen deze zaken aan de kaak te stellen.
Echter, er heerst op dit moment een klimaat waarin de boodschapper wordt
gestraft en de betreffende departementen en bedrijven niet tot verantwoording
worden geroepen. Wij zijn daarom terughoudend in het delen van informatie over
deze beveiligingslekken.

Wij maken ons zorgen over het feit dat de beveiligingslekken dermate elementair
zijn, dat het vrijwel zeker is dat mensen met kwade bedoelingen zich hiervan
bewust zijn en deze fouten kunnen uitbuiten. Zoals de recente kwestie met de
Iraanse overheid heeft laten zien.  Wij roepen derhalve op om de kwestie
Diginotar niet als incident te zien, maar als een symptoom van een gebrek aan
controle op de veiligheid van ICT-systemen bij de overheid. Het is tijd dat de
leden van de Tweede Kamer, zij die het volk vertegenwoordigen en geacht worden
het volk te behoeden voor dit soort vergissingen, zich realiseren dat er sprake
is van een structureel probleem.

De Nederlandse hackergemeenschap beschikt over de kennis en kunde met
betrekking tot bovengenoemde zaken, en deelt deze graag met de
volksvertegenwoordigers.

Hoogachtend,

Koen Martens
Namens de verenigde Nederlandse hackerspaces en organisaties:

Stichting Hack42 te Arnhem
Stichting ACKspace te Heerlen
Stichting TkkrLab te Enschede
Stichting Bitlair te Amersfoort
Stichting Revelation Space te 's-Gravenhage
Stichting Randomdata te Utrecht
Stichting Frack te Leeuwarden
Stichting Sk1llz te Almere

Stichting eth0
2600nl.net
Stichting HXX

Flattr this

Reverse tethering for android

Friday, June 17th, 2011

Since I’m on a road-trip and don’t have a SIM-card with data for every country I’m visiting (I’m fine in Germany and Belgium, but did not get a SIM-card for the Czech republic where i’m just for 24 hours) and never connect with my phone to an untrusted wifi network, I thought i’d do the reverse of tethering: connect my phone to my laptop (which has a tunnel to my server-rack in the datacenter) and surf through that. So mostly as a note for myself, here’s what I did:

Connected the USB between phone and laptop, then enabled tethering (this is Cyanogen 2.2 on a G1, rooted). This brings up the usb0 nic on both ends with some default ip’s. Then went into the terminal on the phone (probably can do this with adb shell as well) and checked I could ping:

# ifconfig usb0
usb0: ip 192.168.42.129 mask 255.255.255.0 flags [up broadcast running multicast]
# ping 192.168.42.137
PING 192.168.42.137 (192.168.42.137) 56(84) bytes of data.
64 bytes from 192.168.42.137: icmp_seq=1 ttl=64 time=0.519ms

With that running, it is time to enable forwarding on my linux laptop:

sysctl -w net.ipv4.ip_forward=1

And enable some firewall rules to have traffic from the phone get NATTED on the outgoing tunnel endpoint on my laptop (tap0, remember usb0 is the usb nic that connects to my phone):

iptables -A FORWARD -i tap0 -o usb0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A POSTROUTING -t nat -o tap0 -j MASQUERADE
iptables -A INPUT -i usb0 -j ACCEPT
iptables -A FORWARD -i usb0 -o tap0 -j ACCEPT

Then I set the default route:

route add default gw 192.168.42.137

And finally, I need to tell the android that my nameservers are 194.109.6.66 and 194.109.9.99:

# setprop net.dns1 194.109.6.66
# setprop net.dns2 194.109.9.99

And we’re done!

Flattr this

The Last Ninja Tour is on the road

Tuesday, June 14th, 2011

One of the things I have always wanted to do is visit Vienna and attend Ninjacon (previously known as Plumbercon). So when I learned that this years Ninjacon is actually going to be the last one (it will continue as B-sides Vienna, you know, B-sides, the next hippest thing since sliced bread), I had a crazy idea: let’s just drive down to Vienna, stop at some hackerspaces along the way and attend!

As it is with me and crazy ideas, I then stopped thinking and just did it. So here I am writing from a comfy couch in Das Labor. This hackerspace in Bochum (Germany) is my first stop on the way to Vienna, and I must say: not a bad choice at all. But more on that later.

In about an hour, I will be heading out to Kassel where there is Flipdot. From there on to Weimar (Maschinenraum) and Prague (brmlab). And then I will hit Vienna just in time to unload and set-up the audio gear for Ninjacon. Yes, the audiogear. You know how these things go. You plan a quiet vacation, but before you know it your car is full of equipment or fiber or what-have-you. So in this case, the crew at Ninjacon asked if I could bring some audio gear, since that was one of the things they had not covered yet.

So with all the audio gear of the Signal studio (graciously sponsored by Hxx of course) and some borrowed PA speakers I will do the audio at Ninjacon. Great, I won’t get bored then! Luckily, i’m staying an extra day to leave on Monday again. Of course I want to check out Metalab and the city and whatever else Socialhack is going to show me!

From Vienna, it is on to Munich (I hope, haven’t yet heard back from then) and then Stuttgart, where I will revisit Shackspace. Well, that is, visit their new location because they have moved since my first (and also last) visit there about 6 months ago. And then it’s Luxembourg, for that long-due visit to syn2cat. En passant, I will join celebrations of the duke’s birthday (sort of like queensday back home, but with dukes and duchesses instead of queens and princes).

If that’s not enough, after a day of recovery, I’m heading to Charleroi in Belgium to arrive in time for the opening weekend of a fresh new hackerspace by the name of Wolfplex.

So yeah, quite the trip. I haven’t planned much, just announced my arrival at certain dates in certain cities and hope I will be able to find a place to crash. I mean to spend the days contemplating and reflecting. I’m due for a re-evaluation of all my projects, priorites and life. What better way to do so than lounging at all those hackerspaces!

Looking forward to all of it. And I hope I will find a 74HC125N along the way somewhere to complete my USBTinyISP. Stay tuned for updates.

Flattr this

How I got seduced by the dark side and failed to resist (and a sparkle of hope?)

Wednesday, May 18th, 2011

I am not the biggest fan of google. Never was.  I loathe their hunger for information, any information, about individuals. I loathe the fact that they provide a single point of entry to a wealth of mineable information to the us government. I loathe how they have become a synonym for the internet. I was a strong opponent of anything google, and laughed at my friends when they got a google account to personalize their search results. Yet, by now I have become fully integrated in the google network. I have joined the borg. And I am even kinda happy about it.

Just try one for free

It started like so many addictions. You try one of their samplings. In my case, it started with google docs. I don’t remember what my first google doc was. I was participating in some project or the other and someone offered to share a document with me (and the rest of the team). Relucantly, I created a google account (with some feigned name and custom email address to keep up the pretence of anonymity) and went into the document. All went well, we shared information, changed the document collaboratively and that was it.

Yet, after a while, someone on another project wanted to share a document. So I created a new account, went in, and did the rest. Well, after a while I had 20 google accounts for as many documents. It became a nuisance, I had to log out and log in again to get to another document. So I crossed a line. I merged all the documents into one account.

Later, I bought my android phone (the HTC Dream aka G1) directly from the pusher. I created another google account to activate it, thinking I would miss out if I would use the phone without. I know that if you don’t use any of googles services, it is fine not to use a google account on your phone (after some hackery). But I was curious, ok??

So all went fine. I had my google docs account. I had my android phone account. I tried to take care and not leave any traces that would link the two together. I would never log in to google from my desktop with the android account and vice versa.

Meanwhile, I was running some web-based groupware suite to keep track of my appointments. This had some disadvantages though: it was clunky to use on my phone. Also, it was a nuisance to have yet another tool to maintain, keep track of security updates and what have you. I mean, an agenda should increase producitivty, right, not get in the way of productivity.

So I made a next big step, I decided I wanted to try google calendar. It came integrated on my phone by default and had a usable interface on the web so I could use it on my desktop as well. So after a few tentative test-runs I switched and decommisioned the groupware suite.

From there, it all went down-hill for me.  I started using google latitude to share my location on my blog during my trip through the US, used google voice to make cheap international calls from the us back home, started using google tasks to keep track of my todo items, initiated new google docs myself and even had a short period where I (unwillingly) experimented with google wave.

Antagonizing realization

But all this time I had stayed far from the one google service that symbolizes, for me at least, the summum of giving up any privacy one has: google contacts. I would not, never, share my contacts with google! But then  I wanted to upgrade my phone to cyanogen mod. Well, I actually had to flash the device because I broke the dalvik cache and it would not execute any app anymore. I had somehow deleted all the permission definitions. I could not even install new apps anymore. With no sensible way to backup my contacts, I started to contemplate the uncontemplateable: google contacts! Because of course, google apps still had all the permissions they needed.

So I broke. Synced my contacts, flashed the device and restored them again. And discovered how convenient google contacts actually is. I am now even looking into integrating google contacts into mutt.

And there you have it. That is the story of how I turned from a decent google opponent into a fully integrated cell of the great google information collection agency. I use google services to organize my life. And I like it.

Healing

Now, some people, when they hear I am addicted to google services, sigh “Oh you fool, I can do without just fine!”. Yeah well, that’s nice for them. But those are either the people that are impossible to work with because they always forget what they promised to do by when and need constant reminders to get even the silliest little thing done. Or they are the people with nice unconvoluted lives who generally are not that full of initiative or commitment.

For the rest of us, the people who operate on the same high level of energy as myself, tools like described above are essential to keep track of the many things going without keeping it all in your head and going insane. Some use apple’s crap but most are also on google.

I would love to kick this habit!

But their applications are so damn easy to use. They do what I want, without getting in the way. They are not overly complex. They don’t require me to maintain a server, keep track of security issues with the zillion of dependencies and keep an eye on the hardware. I can access them from wherever I want, on whatever device I want. I get reminders on the desktop and on the phone, so that whatever I’m doing I’m not going to miss an appointment.

Now, I can see a few ways out here. The first would be to reverse-engineeer some of their protocols. This should not be too hard, as it all works browser-based. It just takes time.

Another thing I could imagine to prevent google from looking at your contacts and tasks would be to write custom applications to access those but store everything encrypted. Looking at google tasks for example, I could simply write a desktop application and an android application that both use the same encryption algorithm and key to store each individual task encrypted. I could build an android contacts store to store my contacts encrypted, or on another server. It just takes time.

And oh, I could try and implement the google calendar backend protocol in a relatively simple daemon that would not require lots of dependencies and thus would be easy to maintain. Then redirect calendar traffic from my phone to my own backend server, and use sunbird as a frontend. It just takes time.

And there you have it. Google’s services are there. There is no open alternative for any of those services that is as easy to use, as integrated as googles services, cross-platform and without the hassle of maintaining dozens of packages.

Who knows. Now that I am aware of my problematic addiction, I might work up the energy to start a project to provide a more open alternative with privacy and encryption as the driving design forces, instead of data-mining and dollar signs. A suite where you have a choice to host it yourself, or on community-operated servers. Or perhaps even a non-profit that you pay a little amount towards keeping the software and hardware running for you.

I could see this kick off. Now all I need is a little time (or money so I don’t have to worry about making a living while making this work).

Addendum

By the way, in case you are wondering: I’m not entirely stupid. I do make my own backups of everything I stuff in their cloud.

Flattr this