3 Beveilingtools om PHP script te testen

augustus 28th, 2010 • CodeReacties uitgeschakeld voor 3 Beveilingtools om PHP script te testen

[verrekijker exploitzoeken]Eerder had ik het al over 5 static sourcecode analyzers voor PHP scripts die je kunt gebruiken om je geschreven PHP code op beveiliging te testen. Het is daarnaast ook handig een tool te gebruiken om je eigen webapplicatie daadwerkelijk aan te vallen op een manier dat hackers en scriptkiddies ook kunnen. Dit geeft vaak ook een betere kijk op welke informatie over de interne werking van je webapplicatie je vrijgeeft.

Netsparker®
Dit is mijn favorieten security audit tool. Een groot voordeel ten opzichten van andere producten is dat het probeert geen enkele false positive te geven, en dat doet het erg goed. Dat betekent dat als deze tool je webapplicatie gescant geeft en het aangeeft dat er een SQL injectie is er dan echt een SQL injectie is. Daarnaast heeft het ook wat praktische adviezen zoals bijvoorbeeld autocomplete=off toevoegen aan wachtwoord velden. Het nadeel van geen enkele false postive proberen te geven is wel dat mogelijke bepaalde beveiligingslekken niet gevonden kunnen worden omdat ze onzeker zijn. NetSparker vindt dus vooral de meest belangrijke beveiligingsproblemen. De “Community Edition” is alleen voor niet zakelijk gebruik. Een beperking is dat de instellingen niet gewijzigd kunnen worden.
website www.mavitunasecurity.comwww.netsparker.com

WebCruiser
Deze tool vindt soms wat unieke beveiligings problemen. Er zit ook een tool voor het fuzzy’en naar Cross site scripting beveilings problemen. WebCruiser is behoorlijk snel in vergelijking met de andere tools. Het bevat ook een tool waarmee een proof of concept gegeneerd/uitgevoerd kan worden van een gevonden beveiligingsprobleem. Hiermee kun je dus aantonen dat een beveiligingsprobleem in de webapplicatie dat getest wordt ook echt is. De gratis versie bevat reclame links.
website www.sec4app.comwww.janusec.com

WebSecurify
Deze tool vindt vooral veel beveiligingsproblemen maar het scannen duurt wel ook wat langer. Het doet allerlei extra tests die ik in andere producten nog niet ben tegen gekomen. Het nadeel van veel beveiligingsproblemen proberen op te sporen is naast dat het aanvallen even kan duren ook dat niet elke gevonden beveiligingsprobleem echt een beveiligingsprobleem hoeft te zijn. Het programma is iets minder overzichtelijk dan gebruikers interface van WebCruiser en Netsparker maar WebSecurify is volledig OpenSource en er is geen betaalde versie.
Daarnaast is WebSecurify de enige tool die veel fuzzying doet en daarmee de lastige beveilingsproblemen vindt.
website www.websecurify.com

Intel neemt McAfee over

augustus 21st, 2010 • IT nieuwsReacties uitgeschakeld voor Intel neemt McAfee over

Intel® heeft McAfee® gekocht. Waarom Intel McAfee koopt is mij niet duidelijk geworden. Intel is een echt hardware bedrijf dat het slechts een beetje met software heeft. McAfee® is echt een software bedrijf. Mogelijk is dat er met de kennis van McAfee® over beveiling er beter naar nieuwe exploit beveiligstechnieken gekeken kan worden. Zoals bijvoorbeeld de NX-bit dat hardware matige DEP implementeert in Windows.
McAfee® was dit jaar bijzonder actief bezig, zo was het bedrijf in staat het een scan removal virus tool bij alle Flash installatie op te dringen.
En was McAfee® een soort concurrent tool voor WOT(web of trust) begonnen genaamd SiteAdvisor.
Ook werdt eerder dit jaar Norton® al overgenomen door VeriSign®. Deze overname is wel verklaarbaar beide bedrijven hebben het sterk op beveiling.

FingerPrint gebruiken om malware te vinden

augustus 13th, 2010 • opensourceReacties uitgeschakeld voor FingerPrint gebruiken om malware te vinden

FingerPrint is één van mijn favorieten tooltjes om mijn windows installatie te controleren op malware.
Het is geen virus scanner en ook geen antispyware programma maar een hash programma.
Een hash is een stukje tekst genereert door een speciaal algoritme dat een stuk data beschrijft en als er ook maar 1 bit veranderd in de data waarover de hash gemaakt wordt dan wordt er een totaal andere hash gegenereerd. Hashes worden vaak gebruikt om te controleren of een bestand goed gedownload is.

Met fingerPrint kun je hashes generen van alle bestanden in een map. Dit resultaat samen met de bestandsgrootte en AMC (access, modify, change) tijden wordt dan opgeslagen en later kun je nog een keer een de hashes van de bestanden in die map laten generen en dan precies zien welk bestand gewijzigd is. Wat goed hieraan is dat je precies kunt zien welk bestand gewijzigd is. Natuurlijk zal bij de meeste een Windows updates een aantal belangrijke Windows bestanden aangepast worden. Maar als je geen windows update hebt gedaan en er zijn een aantal belangrijke Windows systeem bestanden aangepast dan weetje dat er mogelijk iets mis is.
Bij fingerprint creëer je eerst een profiel. In dit profiel kun je de map aan geven maar je kunt ook opgeven welke bestanden je geen hash van wilt hebben. Als je
bijvoorbeeld de hele map System32 gaat hashen dan wil je geen hash hebben van logfiles. Dus je kunt opgeven in je profiel om *.log bestanden niet te hashen.
Ook kan FingerPrint om een bepaalde tijd geplant automatische een vergelijking gaan doen. Het programma is al wat ouder, maar voor de paranoia een aanrader.
FingerPrint is o.a. van snapfiles te downloaden.

FingerPrint

Je processors nuttige vrijwilligers werk laten doen

augustus 8th, 2010 • OverigReacties uitgeschakeld voor Je processors nuttige vrijwilligers werk laten doen

Boinc is een programma waarmee jou computer mee kan rekenen aan wetenschappelijk onderzoek dat veel rekenkracht vereist. Het idee is dat je de onbenutte tijd dat je processor van je computer niks doet gebruikt wordt voor rekeningen te doen aan voor een wetenschappelijk goed doel. Bijvoorbeeld het onderzoeken hoe eiwitten “vouwen”. Dit onderzoek kan helpen bij het maken van medicijnen tegen bepaalden ziekten. Gezamenlijk met andere computers kan goedkoop de rekenkracht van een supercomputer of beter bereikt worden door de vele computers die meedoen. Nadeel wel dat je rosseta boinc programmacomputer meer belast wordt wat ervoor zorgt dat je processor continu warm is. Overhitting van je processor kan ervoor zorgen dat je processor onmiddellijk of eerder kapot gaat dus je bent gewaarschuwd. Het is tegenwoordig ook mogelijk om de processors van de grafische kaart pr gebruiken. Deze kunnen op bepaalde taken veel sneller uitvoeren. Ik doe zelf al een tijdje mee aan een aantal boinc projecten o.a. aan rosseta@home maar ook aan WorldCommutiyGrid. Persoonlijk vindt ik het belangrijk een project te kiezen dat direct verbeterde invloed op mensen heeft. Het project SETI@home is jaren lang populaire geweest dat een salliet gebruikte voor analyze van spectrutur van de ruimte. Maar ik ben altijd sceptische over het nut van dit project geweest. Sommige zijn nog steeds erg hoopvol ooit een signaal te ontvangen van buitenaards leven maar ik gok dat dit het niet waard is. Ten eerste al omdat de kans groot is dat het onbereikbaar ver weg is als er ooit al eens een echt  buitenaards signaal gevonden wordt met SETI@home.. Nee, onderzoek naar hoe eiwitten vouwen lijkt me veel effectiever. Maar iedereen heeft een eigen keus, let wel op dat er een duidelijk doel is. Ergens aan meedoen omdat het veel punten/credits oplevert is niet de echte bedoeling van BOINC. De credits die je krijgt geeft slechts een indicatie hoeveel je hebt bijgedragen aan een project. Je krijgt er nooit echt geld voor. Alle projecten zijn op het moment een vrijwillig donatie bij BOINC. Het stroom verbruik gaat wel iets omhoog als je een BOINC project draait. Dit komt doordat de processor continu belast wordt en dus niet de energie besparing functie van de processor gebruikt wordt. Bijvoorbeeld terugklokken van de klok als de transistors weinig schakelingen maken. Echter verbruikt een processor altijd stroom zelfs als die niks doet verbruikt die nog flink wat. Dus om je processor wat nuttigs te laten doen als je weinig taken voor je processor hebt maakt je het stroom verbruik wel wat meer efficiënter. Daarnaast is het ook zo dat de processor 99% van de tijd op de gebruiker wacht als je slechts aan het webbrowsen of tekst verwerken bent. BOINC is een opensource programma, de programma’s van de projecten zijn bijna altijd niet opensource. Daarom moet je voorzichtig zijn in de keuze voor welk project je aan meedoet. Ook moet je op privacy letten, je kunt je computers details (besturingssysteem en OS) openbaar met BOINC maken. Boinc kan ook het cpu verbruik van projecten beperken, wat zeer aan te raden is met Laptops zo verkom je dat ze te warm worden. Om mee te doen moet je eerst Boinc downloaden en dan het rosseta@home project toevoegen het boice programma.

Internet op vakantie?

juli 24th, 2010 • WebReacties uitgeschakeld voor Internet op vakantie?

Wie op vakantie zijn e-mail wilt gaan controleren of zijn sociale netwerken wilt bekijken kan dat over het algemeen beter niet in een internet café op een publieke computer doen. Het gevaar is namelijk dat er een keylogger geïnstalleerd is die je wachtwoord steelt. En daarnaast laat je ook nog eens sporen na van alles wat je bekeken hebt. Bijvoorbeeld als je op windows live messenger inlogt dan laat je contactpersonen lijst op die computer achter. Het maakt niet uit of je onthoudt mij aan of uit gevinkt hebt, aan de hand van het bestand WNResponse.xml in “%appdata%\..\local\Microsoft\Messenger\%msnnaam%\SocialNews” valt uit te lezen wie je in je contactpersonen lijst hebt staan. Ook gevaarlijk is dat internet explorer met standaard instellingen versleutelde webpagina’s in cache opslaat dan kan iemand anders doorgaan op jou account. Gelukkig is deze instelling wel te veranderen via Tools > Internet Options > Advance > aanvinken: Do not save encrypted pages to disk.
Het mag duidelijk zijn dat het beter is je eigen laptop te gebruiken.
Maar om internet te krijgen moet je waarschijnlijk onveilig niet versleutelt wifi gaan gebruiken. free wifi, vaak Rogue AP Het probleem daarmee is iedereen je verkeer kan sniffen en alles kan zien wat je doet. Daarnaast moet je ook oppassen dat je geen bestanden deelt via windows netwerken(netbios). Het inloggen bij een website gaat hopelijk wel over SSL maar ook daar zit riscio’s aan dat er een “man in the middle” aanval plaatsvindt. Dit houdt in dat iemand doet alsof die de website is en jou een vals certificaat aanbiedt. Waardoor je wachtwoord aan iemand prijsgeeft. Je kunt dit verkomen door je certificaat te onthouden van je vertrouwd netwerk en te laten controleren door de bekende vertrouwde Certificaat Authority(CA) elke keer dat je inlogt. Over het algemeen is inloggen over SSL/TLS niet waterdicht, maar het maakt het wel lastiger. Een bekende fout die gebruikers maken is dat ze dachten dat ze over SSL/TLS inlogte maar dat niet het geval is. Het probleem is namelijk dat vaak de inlogt pagina bezocht wordt over niet-SSL en dan worden de inlog formulier velden geredirect van HTTP naar HTTPS worden. Waardoor je wachtwoord en gebruikersnaam alsnog onversleutelt prijsgeeft. Het is dus belangrijk dat als je gaat inloggen de inlog pagina zelf al van het https protocol gebruik maakt. Praktijk gericht gezegt: je surft naar https://www.facebook.com en niet naar http://www.facebook.com. Hetzelfde geldt over alle andere website. oplossing2: https-everywhere en ForceTLS
Als je echt niet wilt dat je onversleuteld wifi verkeer überhaupt afgeluisterd kan worden moet je een VPN service zelf opzetten/kopen. Natuurlijk moet je de VPN server wel volledig kunnen vertrouwen. Mocht het wifi verkeer toch versteult zijn dan raadt ik aan toch op te passen er kan ook nog gerommelt worden met dns op router. Je kunt verkomen dat dns antwoord queries vervalst wordt door welke dns server je gebruik (bijv. OpenDNS, Google public DNS) op je eigen laptop in te stellen en niet op automatische te laten staan. Het mag duidelijk zijn internet op vakantie komt met meer risico’s misschien maar gewoon geen internet is het beste.

Firefox 4.0 beta1 is uitgegeven

juli 8th, 2010 • IT nieuwsReacties uitgeschakeld voor Firefox 4.0 beta1 is uitgegeven

De eerste beta versie van de nieuwe major versie van Firefox is uitgegeven. Firfox 4.0 veranderd veel aan de interface van de webbrowser. Het eerste wat opvalt is dat de webbrowser de tab bladen boven de browser knoppen gaat plaats. De reden voor deze verandering zo vertelt een ontwikkelaar van Mozilla in een video, is dat het duidelijker wordt dat de browser knoppen effect hebben op de huidige tab. Het plaatsen van de tabs overaan het venster maakt het dus voor iemand die nog nooit een firefox gebruikt geeft duidelijker waarop de knoppen effect hebben. Echter het nadeel is wel dat muis afstand om tussen tab te wisselen iets groter wordt. Voor ervaren gebruikers een extra rede om de sneltoetsen te gebruiken. Ook is het addon venster is nu een tab van de browser geworden.Verder is de titelbalk standaard niet meer zichtbaar net als google chrome. Het voordeel hiervan is dat er meer ruimte voor de webpagina is. Nadeel is wel dat veel mensen hopeloos op zoek naar het kruisje gaan dat zich normaal op de titelbalk bevindt. Gelukkig is de titelbalk wel terug te halen via de orangje knop van firefox. Over het algemeen ziet het ontbreken van de titelbalkFx4 windows7 ready er in de nieuwe interface niet slecht uit met doorzichte venster is het praktische om goed te kunnen zien welk venster er achter firefox staat. Maar de gebruikers vriendelijkheid komt wat in gevaar om de genoemde rede van het ontbreken van het kruisje e.d. Wat mijn ook opvalt aan de nieuwe versie is dat de installatie erg snel was. En dat surfen op het web weer iets sneller lijkt. Vele addons zijn nog niet compatibele met 4.0. Maar dat is logische want deze eerstse beta versie is alleen om te testen niet voor dagelijks gebruik. Deze eerste beta versie moet een eerste indruk geven van wat te wachten staat met deze volgende stabiele major versie. Er veranderen vooral nogal wat structurele dingen aan de grafische interface waarvan voordelen zijn maar ook nogal wat nadelen. Download de beta versie.

FroggerReloaded uitgegeven

juni 15th, 2010 • CodeReacties uitgeschakeld voor FroggerReloaded uitgegeven

Ik heb het spel FroggerReloaded 1.0.0 uitgegeven. Van deze frogger kloon spel moet je er niet veel verwachten, was eigenlijk een simpel schoolproject van een paar weken. Het spel heeft verschillende levels. Verder er is een level editor om zelf een levels aan het spel toe te voegen.frogger
Ook worden levels voorvertoond zodra het level keuze scherm getoond wordt. En er is nog een highscore gesorteerd op snelste tijd dat frogger de overkant bereikt heeft.
Qua code zit toch aardig wat interessante dingen in verwerkt. Ook dingen die met performance te maken hebben.
Maar als gebruiker van het spel merk je daar niet veel van. Het spel is op het moment niet echt uitdagend, iets wat in een goed arcade spel wel moet. In het orginele frogger moest je verschillende kikkers meerdere keren dezelfde scherm laten oversteken en op een onbezet stukje plaatsen bovenaan.
In FroggerReloaded is 1keer de overkant bereiken voldoende. Maar omdat de kikker springt bij het lopen is het soms lastig. Download froggerreloaded

Windows7 XPMode naar VirtualBox Virtuele Machine converteren

juni 10th, 2010 • TweaksReacties uitgeschakeld voor Windows7 XPMode naar VirtualBox Virtuele Machine converteren

Wie een legitieme windows7 versie gekocht geeft kan van Microsoft een zonder bekende extra kosten een
virtuele machine met XP installeren, de zo zegde XP modes.
Echter als je ook een linux distributie naast je Windows geïnstalleerd hebt zou het veel handiger zijn als je de virtuele machine met XP ook vanuit linux zou kunnen gebruiken om windows programma’s te draaien. Helaas is VirtualPC beperkt tot het Windows platvorm en zullen we VirtualBox als virtualisatie software moeten gaan gebruiken.
Hiervoor moeten we wel de virtuele machine image van een VHI bestand naar VDI converteren.

Eerst starten we het VirtualPC programma, we gaan naar de XP schijf in de virtualpc configuratie en doen eerst een compact zodat de virtualboximage van virtualPC een stuk kleiner is.
Vervolgens starten we de virtuele machine op en verwijderen we eerst de virtualpc integrated tools. Dan moet de VM herstart worden en kunnen we de VM machine afsluiten.
Volgens booten we naar debian/ubuntu linux en installeren we VirtualBox (ose = volledig opensource versie) via de opdracht:

sudo apt-get install virtualbox-ose

Vervolgens converteren we de virtualPC image met de opdracht:

vboxmanage convertdd the_disk.vhd the_disk.vdi

Nu kunnen we virtualbox starten we maken een nieuwe virtual machine. En kiezen onze nieuwe geconverteerde hardeschijf image als hardeschijf.
Nu windows XP in virtualbox werkt, kunnen we virtualbox ook onder windows installeren. Ook daar maken we dan een nieuwe virtuele machine configuratie aan en kiezen we weer voor de geconverteerde XPmodus hardeschijfimage.

KeePass2 op Ubuntu linux installeren

juni 5th, 2010 • LinuxReacties uitgeschakeld voor KeePass2 op Ubuntu linux installeren

keepass op ubuntuKeePass is een van meest bekende wachtwoord managers. Sinds versie 2.0 zijn gebruik gaan maken van .NET en is er een nieuwe wachtwoord database formaat gekomen. Helaas kan de platvorm onafhankelijke versie genaamd KeePassX het nieuwe wachtwoord database formaat van KeePass2.0 nog niet openen. Maar omdat KeePass2.0 in .Net/C# geschreven is, is het wel mogelijk het programma met Mono onder Linux of Mac OS te draaien. Hier is hoe dat moet onder Ubuntu Linux,

Eerst moet Mono geïnstalleerd worden. Mono en .Net bestaan uit verschillende bibliotheken met allemaal andere features toevoegen. Standaard zijn onder ubuntu linux niet alle vereist bibliotheken die nodig zijn voor KeePass2.0 geïnstalleerd, dit is op te lossen door de volgende opdracht op de terminal uit te voeren.

sudo apt-get install mono-complete

Dan voeren we ons wachtwoord in en laten de installatie draaien.
Mono-complete is een meta package die alle bibliotheken van mono installeert, ook een heleboel dingen die je nooit zult gebruiken maar zo weten we wel zeker dat we alles voor KeePass te draaien hebben.
Ondertussen downloaden we de portable zip versie van KeePass
Op een nieuwe terminal voeren we de opdracht:

sudo mkdir /usr/bin/keepass2

uit om een nieuwe installatie map te maken.
Vervolgens pakken we het zip bestand uit naar de gemaakte map.

sudo unzip /path/naar/KeePass-2.XX.zip -d /usr/bin/keepass2

Dan maken we een nieuwe Aangepaste toepassingsstarter(windows gebruikers: toepassingstarter=snelkoppeling) op de balk en/of in het Toepassings menu.
We kiezen Toepassing als type toepassingsstarter.
Als naam geven we de toepassingsstarter: KeePass2
en als path geven we op:

mono /usr/bin/keepass2/KeePass.exe

5 PHP Static sourcecode analyzers

mei 31st, 2010 • CodeReacties uitgeschakeld voor 5 PHP Static sourcecode analyzers

php exploits
Static source code analyzers zijn tools die een programmeur helpen om bepaalde bekende beveiligingsfouten in code te vinden.
Een static source code analyzer kan handig zijn. Maar de meeste kunnen maar een beperkt deel van de fouten die een programmeur maakt vinden. Daarnaast kan een static sourcecode analyzer soms een valse beveiligslek als resultaat geven. Dus het houden van code reviews blijft belangrijk voor het garanderen van de veiligheid van een bepaalt stuk code. Maar code analyzer kan wel wat helpen.
De meeste PHP static sourcecode analyzers zijn ook in PHP geschreven, het voordeel daarvan is dat de veiligheid compleet met je server configuratie getest wordt.

Ik heb op het internet gezocht naar PHP sourcecode analyzers en heb deze interessante opensource producten gevonden.

RIPS:
Pas nieuw project, dit project won een tweede plek in de maand van PHP beveiliging 2010.
https://sourceforge.net/projects/rips-scanner/

PHP Security Scanner:
https://sourceforge.net/projects/securityscanner/

spike phpsecaudit:
https://sourceforge.net/projects/phpsecaudit/

PHP-sat:
Update: deze tool is niet meer beschikbaar.

Pixy
Update: dit java programma is ook niet meer beschikbaar.

Limewire moet 354 miljoen euro boete betalen

mei 30th, 2010 • IT nieuwsReacties uitgeschakeld voor Limewire moet 354 miljoen euro boete betalen

limewire boeteLimewire en de betrokken bedrijven moeten 354 miljoen euro boete betalen. Limewire is al vaker aangeklaagt maar nu krijgt het dus een zware klap.
Al eerder moest Limewire op verzoek van de rechter filters in de software inbouwen.
Maar toen werdt een jaar later een alternatief programma door de gemeenschap gemaakt dat geen filter had.
Er is ook veel kritiek op wat er op Limewire te vinden is.
Zo blijkt onderzoek dat 30% ongeveer een virus/malware is van alles wat er te vinden is op limewire.
Limewire heeft ook al een muziek winkel in de software gebouwd. Anti piraterij organisatie’s waarschuwen ontwikkelaars weer geen piraterij software te maken. Je kunt peer to peer programma’s legaal gebruiken. Maar is het de software schuld, dat mensen het illegaal gebruiken? Indergeval het is nog maar de vraag of Limewire deze boete ooit kan betalen zoniet dan gaat limewire waarschijnlijk hetzelfde lot als Napster.
Maar het kan ook nog gebeuren dat limewire in mogelijk hoger beroep toch geen/andere boete krijgt.

De privacy van webbrowsers vergeleken.

mei 23rd, 2010 • PrivacyReacties uitgeschakeld voor De privacy van webbrowsers vergeleken.

Iron met zonnebrilEen interessant vraagstuk waar ik me laatst over bedacht,
Welke populaire webbrowser biedt standaard de meeste privacy?
Dus laten we eens vergelijken welke privacy bedreigingen de meest populaire webbrowser standaard hebben.

Firefox 3.6.x:
-safebrowsing(aanval sites blokkeren) download periodiek updates.
-extensie’s controleren op updates, vaak zonder SSL.
-Firefox controlleert periodiek op updates.
-Geïnstalleerde zoekmachines controleren periodiek op updates.
-user-agent vertelt: browser&versie en je besturingssysteem en taal

Internet Explorer 8.0
-Aanbevolen website’s tonen moet je huidige bezoek aan een website met Mmicrosoft delen om aanbevolen suggestie te kunnen tonen.
-Internet explorer zoekt periodiek naar updates
-“product kwaliteit verbeteren” deelt systeeminfo en gebruikers gedrag tijdens installatie met Microsoft.
-internet explorer wordt door windows update geupdate.
-user-agent vertelt: browser&versie, je besturingssysteem, je taal, geïnstalleerde .NET versie’s.

Google Chrome 4.0
-2% van de getypte zoek opdrachten op de adresbalk worden naar google verstuurt voor een analyse van de populaire zoekwoorden. Google zegt dat dit in 24 uur geanonimiseerd is.
-safebrowsing download periodiek updates.
-Chrome wordt automatische geupdate door googleupdate wat draait als het systeem aanstaat.
-Elke chrome installatie geeft een uniek nummer, dit wordt mee verzonden bij getype zoekopdrachten vanaf de adresbalk.
-“product kwaliteit verbeteren” deelt systeeminfo en gebruikers gedrag tijdens installatie met Google.
-user-agent vertelt: browser&versie, je taal en je besturingssysteem .

Opera 10.x
-Controlleert regelmatig op updates
-Turbo opties laat verkeer via Opera Software proxy server gaan.
-user-agent vertelt: alleen browser&versie en je besturingssysteem.

Mijn lijstjes is denk ik nog niet compleet. Maar als ik de balans opmaak. Dan doet firefox het qua standaard privacy (privacy by default) waarschijnlijk het beste. Letwel dat echter de addons updates (vrijwel altijd zonder SSL) veel vertelt over hoe je firefox ingericht is. Ook Opera doet het goed zolang je Unite en Turbo niet gebruikt.
Er kan ook gezegd worden dat veel dingen privacy vriendelijker zijn te maken door de juiste instellingen te kiezen. Eigenlijk maakt de keuze welke webbrowser je gebruikt niet veel uit, als je maar de juiste instellingen goed kiest.

Bijvoorbeeld: als je in Chrome als standaard zoekmachine niet voor google kiest wordt geen 2% van je getype urls en zoekwoorden naar Google verzonden. Ook “aanbevolen website’s tonen” kun je bij de eerste keer bij gebruik van Internet Explorer8 (na de installatie) meteen niet inschakelen.

Ubuntu 10.04 LTS

april 28th, 2010 • opensourceReacties uitgeschakeld voor Ubuntu 10.04 LTS

ubuntu krijg nieuw uiterlijkEr is een nieuwe belangrijke(long term support) versie Ubuntu vandaag uitgegeven.
En het is grote verandering voor iedereen die Ubuntu gewend was. Er zijn namelijk nogal wat grafische zaken met Ubuntu gewijzigd.

Ten eerste krijgt Ubuntu andere kleuren/jasje.
Ubuntu stond bekend om zijn bruine en oranje kleuren maar het wordt nu helemaal paars en donker grijs/zwart. Verder wat grafische ook veranderd is, is dat de sluit, minimaliseer en maximaliseer knoppen nu links op venster zitten en niet meer rechts zoals in Windows. Dat is wel behoorlijk wennen vooral voor windows gebruikers.
Je kunt het wel via een tweak met de gnome register editor(gconf) terugzetten.

Op de terminal typ of plak je het volgende:

gconftool-2 --set /apps/metacity/general/button_layout --type string menu:minimize,maximize,close

Druk enter, en je window knoppen zijn weer zoals het in Windows is.

Persoonlijk vindt ik het nieuwe uiterlijk een verbetering. Normaal liep ik heel gnome te tweaken met Emarld maar nu denk ik dat ik dit standaard thema aanhoudt omdat het best mooi is.

De CD image om te branden kun je downloaden vanaf hier.
Een CD zijn ook te verkrijgen op verschillende releaseparty‘s

Handig om te weten, als je het nog niet wist:

-Het is mogelijk een gratis cd per post te krijgen via ShitIt op ubuntu.com.
-Je wilt de eerste keer na het opstarten zeker de grafische driver installeren. Dan heb je een veel beter beeld(hogere resolutie) en grafische effecten werken(compiz).
-Het versie nummer slaat op het jaar en de maand van uitgave van het besturingssysteem. 10 = 2010, 04 = april
-Voor de LTS versie is 3 jaar na uitgifte nog betaalde ondersteuning te krijgen van Canonical op de desktop versie en tot 5jaar op de server versie.
-Ubuntu komt sinds 9.10 met de Grub 2 bootloader.

Grub2 werkt anders dan grub1 wat betreft configuratie… Kort samengevat is de bedoeling is dat je de bootloader configureert aan de hand van de scripts in /etc/grub.d/ en commando update-grub. meer info
-Als je windows Vista of windows7 partities gaat verkleinen kun je dit het beste vanuit windows doen. Dit omdat windows het niet leuk vindt dat de (nieuwe, sinds vista) windows bootloader verplaatst wordt. Het opstart probleem, is wel te herstellen met de vista/7 cd en “opstart problemen oplossen”wizard.
-Zorg ervoor dat je de quicklauncher van OpenOffice.org uitzet, het kan een afsluit probleem geven. (info)
-Na installatie bij het herstarten kan er een I/O error komen als de CD eruit gaat. Deze foutmelding kun je negeren.
-De release opmerking van ubuntu 10.04 met alle bekende problemen.

NoteFly 1.0.0 uitgegeven

april 22nd, 2010 • opensourceReacties uitgeschakeld voor NoteFly 1.0.0 uitgegeven

[notefly logo]Ik heb noteFly 1.0.0 final uitgegeven. De 1.0.0 final versie bevat nogal wat bugfixes ten opzichten van RC2 versie. Ten eerste werkt het versturen van een notitie naar Facebook weer in de final versie. Het probleem werdt veroorzaakt doordat het echte userid (uid) werdt verzonden terwijl de userid (uid) nul moest zijn. Verder is het automatische starten door installer van NoteFly verwijderd. Dit omdat de installer dan NoteFly als Administrator start. Dat heeft problemen omdat als je dan notitie maakt ze onder de application data van de administrator opgeslagen zijn en niet van de gewone gebruiker. Het probleem is dan dat je notitie’s niet geladen worden. Verder is er nog een bug opgelost die dat iedere keer als je instellingen venster opende het checkboxje voor start at logon uitgevinkt stond wat ervoor zorgde dat als je op Ok duwde en niet goed oplet, het programma niet meer automatische opstartte als je dat eerste wel ingesteld had. Verder is de standaard titel van een nieuwe note nu de datum en tijd, je kunt dit nog steeds elke title geven die je maar wilt maar door een standaard titel in te stellen hoop ik dat maken van notes voor gebruikers sneller werkt. Omdat nadenken over een titel van een notitie is alleen maar lastig, je moet notitie snel kunnen maken. Vandaar dus nu een standaard datum tijd als titel.
update: NoteFly 3.0.0 uitgegeven
update: NoteFly 2.0.0 uitgegeven

Snelheid tellen in PHP vs SQL

april 21st, 2010 • CodeReacties uitgeschakeld voor Snelheid tellen in PHP vs SQL

php vs. sqlStel je wilt bent iets aan het tellen bij de ontwikkeling van je dynamische website.
Dan zijn er vaak twee manieren om dit te doen.

1. In PHP tellen bijvoorbeeld:

1
$numdownloads = mysql_num_rows(mysql_query("SELECT * FROM downloads));

2. in je SQL query tellen bijvoorbeeld:

1
2
$sqlnumdownloads =  mysql_fetch_array( mysql_query("SELECT COUNT(*) AS aantal FROM downloads) );
$numdownloads = mysql_fetch_result($sqlnumdownloads,0,'aantal');

Je kunt verwachten dat de 2e methode sneller is. Omdat niet eerst alle data opvraagt wordt en deze van de database server naar de webserver over gestuurt wordt. De netwerk verbinding vormt de grootste bottelneck. Maar wat als de database server en webserver dezelfde computer is? Dan is de ‘overdracht’ van de gegevens niet de bottleneck meer. Maar ook dan is het tellen in SQL vaak sneller dan in PHP. Dit omdat het PHP parser nog het probleem dat het een grotere bulk data moet verwerken omdat deze data niet door de simple SQL query geoptimaliseerd is. Sterker nog als je MyISAM voor opslag gebruikt zal het resultaat direct beschikbaar zijn omdat het al gedaan is door steeds het aantal verwijderen en toevoegen van records bij te houden. M.a.w. het loont qua performance het tellen in SQL te doen.

Ernstige PDF en Java lekken

april 15th, 2010 • IT nieuws1 Reactie »

De afgelopen dagen zijn er heel wat te doen rondom PDF en Java.

Ten eerste was er een Belgische onderzoeker die een exploit vondt om door het openen van een PDF bestanden een programma’s te laten uitvoeren.
De exploit was kinderspel om te maken, en wordt dus ook nu actief misbruikt.
Adobe reader gaf met de juiste instellingen gelukkig wel een waarschuwing voor het uitvoeren van de gevaarlijke code in het PDF bestand. Maar lang niet altijd.
Echter bij Foxit Reader kwam helemaal geen waarschuwing en zodra je dus een gevaarlijk pdf opende werdt de code in het gevaarlijk pdf bestand uitgevoerd en was je geïnfecteerd.
Er was zelfs een PDF worm virus gemaakt, dat alle andere PDF bestanden op een geïnfecteerd systeem besmette.
Het probleem was dat het lek niet zo eenvoudig te patchen was. Het was een daadwerkelijk een feature van het PDF formaat om dingen te kunnen uitvoeren in PDF. Dat maakt het lek ook vrijwel niet patchbaar tenzij je de feature weghaalt. Programma’s starten vanuit PDF is dat niet wat te veel mogelijkheden? Persoonlijk zie ik PDF als een boek, dus met alleen tekst en afbeeldingen.
Zowel Foxit Reader als adobe hebben nu een patch uitgebracht zodat er zeker een waarschuwing komt. Alleen de lichtgewichte opensource Sumatrapdf reader ondersteund deze onveilige zinloze feature niet en zal het pdf bestand niet kunnen openen.

Dan was er deze week nog een lek met Java dat actief misbruikt werdt op website’s. Het lek werdt net gevonden vlak nadat update19 uit was. En omdat het ernstig was moest een noodpatch namelijk update20 uitgegeven worden.
Het probleem zat hem in de plugin “Java Deployment Toolkit” in de browser dat naast je “Java” plugin voor de browser geïnstalleerd is. Echter het gevaarlijke was dat dit lek je simpelweg je computer kan infecteren doordat je een verkeerde website bezoekt. Tenzij je slim genoeg was plugins te blokkeren bijv. met noscript. Indergeval update20 is weer vanaf java.com te verkrijgen en de nieuwe JDK/SDK vanaf de oracle website.

CodeGreen versie 1.5 uitgegeven

april 12th, 2010 • CodeReacties uitgeschakeld voor CodeGreen versie 1.5 uitgegeven

codegreenNa veel dingen in het CodeGreen spel te veranderen is er dan nu een nieuwe release van het spel gekomen. Het is eigenlijk niet gebruikelijk voor een game veel release te doen. Dus met deze update zijn veel dingen veranderd waarmee ik gelijk een hele hoop problemen van 1.0.1 probeer op te lossen. Het is dus niet een uitbreiding van het spel maar verbetering van alle problemen. Ten eerste wordt de highscore nu niet meer in een Access database opgeslagen. De access database was vrij groot, ook al zat er geen highscores in.  Daarom heb ik besloten gebruik te maken van de SQLLite database, die als publiek domein gelicenseerd. Dat is goed, want het combineert beter met opensource spel. Nog een voordeel van SQLlite is dat het lichter in geheugen gebruik is en veel sneller dan access. Verder is het probleem dat de muziek stop als een effect geluidje speelt nu opgelost. Maar ik besloten hier niet DirectSound voor te gaan gebruiken om geluid gelijktijdig te kunnen afslepen. In plaats daarvan heb ik een oplossing bedacht om extra geluidje te laten afspelen via een tweede process. Het is een beetje slordig maar hier vermij ik dat DirectSound en dus directX nodig is. Het voordeel van vermijden van Managed DirectX DirectSound is dat de gebruiker niet mee lastig gevallen wordt dat het directX nodig heeft, want dat is zeker 100mb aan bibliotheken. Dat is ook niet noodzakelijk want het spel gebruikt voornamelijk alleen GDI+ en heeft voor het teken en geen complexe 3d modelen nodig. Daarnaast blijft er zonder directX de mogelijkheid om codegreen op Mono onder linux of mac te draaien. Verder heb ik nog het logo op het hoofdscherm transparant gemaakt. Daarvoor moest ook de manier waarop de tekst naar beneden viel herschreven worden. Maar datzelfde effect is nu ook aan het optie scherm toegevoegd. CodeGreen 1.5 is nu te downloaden
Vooral voor mensen die het spel nog niet kennen een aanrader, om te leren hoe hacking simplistische werkt.
update: ik heb 1.5.1 uitgeven omdat een belangrijk dll’tje voor highscoren te laden ontbrak in de 1.5.0 release.

veiliger PHP6 door minder verwarrende beveiliging

april 2nd, 2010 • CodeReacties uitgeschakeld voor veiliger PHP6 door minder verwarrende beveiliging

PHP6 is nu flink in ontwikkeling en het is waarschijnlijk niet lang meer voordat we de eerste php6 release gaan zien. Een ding waar ik blij mee ben is dat in PHP6 magic quotes extensie nu niet meer werkt.

Het probleem met magic quote’s was dat vele PHP programmeur dachten dat ze hun PHP script veilig konden overzetten op een andere hosting terwijl dat niet het geval was. Wat magic qoutes extensie voor PHP scripts namelijk doet is voor elke input via POST en GET variabele de aanhalingstekens en enkele aanhalingsteken escapen.

Dan is het niet mogelijk dat een bezoeker, een string variabel in je script probeert te verlaten en PHP code kan uitvoeren.
Echter gebeurt dit alleen als magic quote op je hosting aanstaat.
Het is dus ook belangrijk dat in de test omgeving en productie omgeving dezelfde instellingen voor magic quotes gebruikt want anders dan is dat vragen om beveiligingsproblemen. Zonder magic quote moet de programmeur zelf ervoor zorgen dat string variabel veilig wordt.

Dan is er ook nog het probleem met magic quote’s dat het de beveiling die de php programmeur wel gemaakt heeft kan opheffen.
Dit gebeurt als Magic Quotes  een slash met aanhalingsteken gaat escape en er dan een dubbele slash staat wat in feit betekent dat de slash ge-escaped wordt en niet het aanhalingsteken meer.

PHP magic quote heeft dus voor veel verwarring en dus beveiligingsproblemen gezorgd terwijl het juist een beveiligingsprobleem automatisch moest oplossen.
Een overzicht van wanneer een php script dus veilig is ziet er dan zo uit:

Een oplossing om een script toch onder zowel hosting met magic quotes aan en magic quote uit veilig te maken was door eerst te controleren of magic quotes aanstond.
Dit kan door de functie get_magic_quotes_gpc() te gebruiken. Echter moet je dan dus wel een aantal dingen dubbel schrijven, een routine waarbij het script niet escaped als magic quote aanstaan en een andere stuk code waarbij de script wel escaped als magic quotes uitstaat. Een slimmer manier om niet overal get_magic_quotes_gpc() te hoeven aanroepen is om een functie te schrijven die je steeds aanroept wanneer je ergens mogelijk moet escapen en in die functie te controleren of magic quotes aanstaat.
Indergeval, in de toekomstige php6 versie zal magic quotes standaard er niet meer zijn en zal de php programmeur dus altijd moeten escapen. Dat maakt het wel een stuk duidelijker.

productie

Terughalen van verwijderde Facebook™ status berichten

maart 25th, 2010 • Privacy5 reacties »

Vele mensen weten niet dat Facebook™ de status update’s die verstuurt worden nooit echt verwijdert worden.
Als je op de knop verwijderen duwt is de status updates niet echt weg maar slechts niet meer zichtbaar.
De data is er echter wel nog bewaart in een array met alle status updates.
En een Facebook™ app die de rechten heeft je stream te bekijken kunnen deze berichten inzien inclusief dus de “verwijderde” status updates.

Update: Facebook heeft het ontwikkelaars test console veranderd, de instructie hieronder kloppen niet meer.
Hier is hoe je de hele stream incl. je verwijderen status updates kunt zien,
en waarmee je dus ook je de verwijderde status update kunt inzien:
Ga naar developers.facebook.com/tools.php en log in.
Op de tab API-testconsole zorg je ervoor dat de
toepassing Test Console geselecteerd is.
Kies in de selectielijst de methode: stream.get.
Alle andere velden mag je leeg laten.
Druk op de knop bel methode.
In XML (standaard) krijg je nu alle status updates te ZIEN incl. je verwijderde.

Je kon je verwijderde berichten alleen opnieuw inzien, terugplaatsen kan niet omdat je geen rechten hebt je stream/posts aan te passen. Een Facebook™ app kon in 2010 alleen maar een post toevoegen.
Als je problemen met een verwijderde Facebook bericht dan ga en kan ik je niet helpen, ik werk niet gratis voor Facebook om jouw Facebook™ problemen op te lossen.
Deze post was slechts een technische demonstratie dat Facebook posts nooit echt verwijdert werden in 2010.
Pas dus op wat je op Facebook™ zegt het werd waarschijnlijk lang of voor altijd bewaart. Of dit in 2015 nog steeds gebeurt weet ik niet.

Google opt-out voor analytics via plugin

maart 22nd, 2010 • Privacy1 Reactie »

Google analytics is een vrij krachtige en populaire tool om je bezoekers op je website te leren kennen. Het werkt met een javascriptje dat een webmaster aan zijn site toevoegd. Google analytics kan behalve nagaan welke plugins een bezoekers geïnstalleerd heeft, welke browser die gebruikt en welke besturingssysteem ook nagaan via de http reffer van welke website je komt. En dingen als schermresolutie valt via javascript allemaal uit te lezen. Allemaal heel interessant voor de webmaster, maar ongezond voor de privacy van de bezoeker. Want een webmaster zou ook bedenken dat alleen het aantal bezoekers belangrijk is, dit omdat een webmaster wilt weten hoeveel dataverkeer zijn website verbruikt en dus kost.
Om toch de mensen die zich druk maken om de privacy schade die google analystics aanbrengt goed te maken. Heeft google een hele plugin(bron) voor je browser uitgebracht om google analytics te blokkeren. Dit is best een omslachtige methode omdat het slechts 1 javascriptje is. En om daar nou een hele plugin voor te installeren. Je kunt niet weten zonder broncode van die plugin te bekijken of die niet gevaarlijk is. En de plugin gaat niet tegen alle alternatieve voor google analytics werken.

Een betere alternatieve oplossing

Een blokkering van analystics.google.com in je hosts bestand zou een minder zware oplossing zijn. Onder linux systemen is het vrij gemakkelijk te doen. Je voegt de regel:

127.0.0.1 www.google-analytics.com
127.0.0.1 www-google-analytics.l.google.com

toe aan het bestand in /etc/hosts
Onder Windows vergt het iets meer werk.
Je moet dezelfde regels toevoegen aan het bestand in:
c:\windows\system32\drivers\etc\hosts

Onder windows vista en 7 moet je dit wel met de administrator account doen. Maar het kan ook met een tool als HostsXpert.
Het voordeel van google analystics in je host bestand blokkeren is dat het voor elke webbrowser onder het besturingssysteem dat je gebruikt werkt. Nadeel is wel dat je analystics.google.com echt niet meer kunt bezoeken.

Een andere oplossing is om je tegen google analystics en andere datamining webmastertools te beschermen is door simpelweg javascript uit te zetten.
Als je dat doet ben je ook beschermt tegen oneindige lopende messageboxen en andere javascript kwaad waar je met frustratie alleen je webbrowser kunt laten crashen om het te laten ophouden.
Je kunt ook de Firefox extensie’s NoScript installeren zodat je alleen de gevaarlijke en privacy onvriendelijk javascripts hoeft te blokkeren.
Ook biedt NoScript bescherming tegen het recente Firefox Zeroday lek.