Archive

Posts Tagged ‘Testing’

Security Guides

April 20th, 2010 Hans-Jürgen Jacobs Comments off

J.D. Meier has posted an useful catalog of Microsoft patterns & practices resources. These also include some security related ones.

Do you use any other (non Microsoft) security resources? Leave a comment.

Threats are caused by a combination of defects

February 12th, 2010 Andréas Prins Comments off

Security testing is always very thankful, many defects, many examples for the trainer of a course. Sir Wilfred Grenfell once said:

“Real joy comes not from ease or riches or from the praise of men, but from doing something worthwhile.”

He mentioned this quote while he was helping others with medical support. But this quotation is also true for me if I’m executing a security test. Because the vulnerabilities you find can often create danger for the owner of the data. Because these vulnerabilities (defect) affect for example the availability.

In this post I want to describe how the combination of some defects can lead to huge problems for the owner of the application. The defects have an effect on the confidentiality, integrity and availability of the application.

Sometimes finding security defects is very easy. Maybe you can imagine an “SQL Syntax Error message” like this one:

If you’re not aware of security this error message is not more than a jammer for you. But if you realize that this message is created by only a single in a search field you find a great entry point for a SQL-injection! What happens is that this single make the syntax of the statement at the background corrupt. In other words this happens if there is a conjunction between the data and the logic. These two must be separated, but are combined into one statement. Instead of executing the statement with date will he execute the data like it is a statement.

This single defect is not a threat on its own, but if you combine this with other statements you can, for example, make a copy of the database or just enter the commando ; DROP  database (don’t try this at work).

Examples
The next 4 defects show you how a combination of data and logic can lead to a real threat. Imagine for example an electricity provider with a web portal for its end users. To login you need to fill your region code, username and password. 4 defects we found:

  1. When you “Right click” in the login page, the “show source” option will give you the source code of this page. Sometimes you’ll find //comments in the code. These comments are often interesting but they are more interesting if they describe that there is a default region code in case a user leaves this field empty. You first defect is: It’s possible to get a third part of the login code, the region code.
  2. The next test you execute is; how many times can I log in with an incorrect combination of username and password? If this is ten times or more, you’re quite sure the account will not lock after 100 times. Your second defect is: It’s possible to brute force the combination of username and password.
  3. While you’re browsing through the application you see only a short URL like “www.myelectricityprovider.net”. If you right click you can see the settings of this button. Within these settings you’ll find the direct URL. Copy and paste this URL and now you see an ID. Change this ID into an ID of someone else you can sometimes enter that specific account. The defect you found is a big one, because no one can trace this ’normal‘ use.
  4. If you go with the account, that isn’t yours, to the account setting page, you can see the personal settings. If you can see the password in text here, like “Welcome01” you have another defect. For security reasons it’s not a good choice to save the passwords non-hashed in the database.

    This combination of defects has his impact at the confidentiality, integrity and availability.

    • You can lock all accounts with changing the passwords; nobody can enter his account at this moment. The application is threaten at the availability.
    • Hacking the account of someone else affect also the confidentiality. Because you as the account owner are not the only one that can see your personal data.
    • The integrity can be damaged by changing the personal data.

    A hacker will step by step gather information and attack deeper and deeper into the application. Also these defects on their own create a risk, but the combination of these gives a lot of features to those that haven’t the permissions to use YOUR account.

    Use your imagination to make these combinations and you’ll see you’re doing something that’s worthwhile.

    ASVS en AV23

    February 12th, 2010 Steven van der Baan Comments off

    De mensen die met de overheid te maken hebben en bezig zijn met beveiliging krijgen te maken met de AV23. In deze vorm bedoel ik niet de “Athletische Vereeniging 1923 Amsterdam”, maar is de publicatie ‘Beveiliging van persoonsgegevens’ die door het Cbp (Centrum bescherming persoonsgegevens) is uitgegeven. De AV23 bevat een groot aantal richtlijnen die helpen met het bepalen van het risico niveau bij het soort persoonsgegevens. Daarnaast worden er een behoorlijk aantal maatregels genoemd die moeten helpen om de informatie binnen een bepaalde klasse veilig te houden.

    Maar wat betekend dit nu voor jouw als ontwikkelaar. Hoe kan jij nu controleren of je wel de juiste dingen gedaan hebt die van je verwacht worden. Hier kan de Application Security Verification Standard (ASVS) van de Open Web Application Security Project (OWASP) bij helpen. De ASVS is een basis voor het controleren van beveiligingseisen voor webapplicaties. Deze controles zijn verdeeld in vier niveaus die cumulatief zijn. Dus om level drie te kunnen halen moeten ook alle eisen voor level een en twee ook gehaald zijn.

    Hier komt nu het mooie van deze niveaus, deze zijn redelijk goed te mappen op de risico klassen uit de AV23.

    In de ASVS voor niveau 1 wordt gezegd dat dit goed is voor applicaties waar zekerheid rond de beveiliging moet zijn, risicoklasse 0 geeft geen extra eisen dan welke noodzakelijk zijn voor zorgvuldige bedrijfsvoering.

    ASVS niveau 2 is typisch toepasbaar voor applicaties dat persoonlijke transacties verwerkt of persoonlijke identificeerbare gegevens verwerkt, risicoklasse 1 heeft het over beperkt aantal persoonsgegevens.

    Op deze manier kunnen ook de volgende niveaus op elkaar gemapt worden. Met deze mapping heb je duidelijk wat er van je verwacht wordt om te kunnen zeggen dat de applicatie aan de gevraagde risico klasse voldoet.

    Secure Java Programming Guidelines

    October 16th, 2009 Hans-Jürgen Jacobs Comments off

    Martijn van der Salm on Secure Java Programming Guidelines over on the Sogeti Java blog.

    Security Testen flyer en white paper beschikbaar!

    August 7th, 2009 Hans-Jürgen Jacobs Comments off

    De Flyer PaSS security testen is samen met de Whitepaper testen van applicatiebeveiliging beschikbaar op de publicaties pagina.

    Ook beschikbaar het artikel The need for a structured security test approach! van Andréas Prins. This article was published in the Testing Experience.

    .NET Framework Rootkits

    May 14th, 2009 Steven van der Baan Comments off

    Applicatie beveiliging is een van de doelstellingen die wij als PaSS hebben. Hiervoor worden alle aspecten van de SDLC bekeken en toegepast om de garantie te kunnen geven dat een bepaalde applicatie ‘veilig’ beschouwd kan worden.

    Het nadeel hierbij is dat Frameworks als .NET of de JavaVM niet meegenomen worden bij het testen. Het gebruikte framework wordt beschouwd als onderdeel van de infrastructuur en niet bekeken op mogelijke exploits. Of dit nu exploits zijn die in het framework gemaakt zijn, of exploits die ontstaan omdat het framework meer aanbied dan nodig is, wordt even in het midden gelaten.

    Voor .NET is er nu een blogpost met paper (en toolkit) waarin verteld wordt hoe het .NET framework aangepast kan worden. De paper gaat voornamelijk over mogelijke exploits en niet hoe dit gebruikt kan worden om ook het framework dicht te timmeren.

    Security Masterclass – Seminar Anti hacking technieken woensdag 10-10-2007

    October 12th, 2007 Martin Knobloch Comments off

    Op woensdag 11 oktober zijn een tweetal leden van de PaSS groep naar het seminar “Anti hacking technieken ” in Amsterdam geweest. Carlo Klerk en Andréas Prins hebben deelgenomen aan een interactieve lezing met als thema:”Hoe denken hackers, wie zijn ze en hoe gaan ze te werk”.

    De avond werd geopend door de manager van Security Masterclass (URL=http://www.securitymasterclass.nl), de organisatoren van de avond. Security Masterclass heeft Wayne Burke uitgenodigd als spreker. Wayne werkt al een langere tijd voor Mile2 (http://www.mile2.com), een organisatie welke wereldwijd cursussen organiseert op het gebied van security en ethical hacking. Ze bieden meerdere cursussen aan op het vlak van hacken, netwerkbeveiliging, tooling en veilig programmeren.

    Deze avond was een avond vol eye-openers, onder meer door een duidelijke uitleg en (soms schrikbarende) voorbeelden op het gebiedt van security en de mogelijkheden van het omzeilen daarvan. Er is ingegaan op de verschillende typen hacker die voorkomen; helaas blijft het niet bij het script kiddies maar zijn het vaak ook mensen die gewoon intern werken, zijn ontslagen, concurrenten die informatie willen stelen of mensen die simpelweg kwaad in de zin hebben. Om de gaten in de beveiliging te vinden welke de hiervoor genoemde personen gebruiken, wordt gebruik gemaakt van een techniek genaamd “Penetration Testing”.

    Verschillende methoden kunnen bij penetration testing worden gebruikt om informatie te krijgen over het aan te vallen systeem. Allereerst kan de grote vriend google gebruikt worden om veel informatie boven te krijgen. Een leuke link hierbij is http://johnny.ihackstuff.com/ghdb.php. Een stuk social engineering binnen de organisatie waar een test wordt uitgevoerd is deel 2. Met al deze informatie kan al een groot deel van het “inbreken” beginnen. Omdat deze avond in het teken stond van “hoe denken hackers en hoe moet een security professional kunnen denken” werd niet echt ingegaan op manieren om jezelf te beveiligen tegen kwaadwillenden. Het doel was bewustwording te creeëren van en kennis te maken met methoden van aanvallers . Verschillende publiek beschikbare tools werden getoond, welke hackers daadwerkelijk gebruiken. Paros, een tool om het internet verkeer te onderscheppen en manipuleren welke van en naar de computer gaat waarop het wordt gedraaid, is eenvoudig, gratis en makkelijk te gebruiken. Een download is te vinden op http://www.parosproxy.org/. Deze tool is te vergelijken met webscarab van OWASP (Open Web Application Security Project, www,owasp.org), waar Sogeti member van is. Een andere veel gebruikte tool is Cain&Abel, krachtig maar gevaarlijk. Het wordt gebruikt om passwords te achterhalen door middel van, onder meer, network sniffing en het decoderen en decrypten van passwords.

    Al met al was het een heldere, leerzame en verfrissende avond over hackers, hun methoden en hun tools.

    Tags: ,

    Pantera

    May 17th, 2007 Marinus Kuivenhoven Comments off

    Pantera is een een mix van een penetratietest proxy, een applicatie scanner en intelligent analyse framework. Het doel van Pantera is om het analyseren een geautomatiseerd proces te maken.

    Doordat Pantera een proxy en webserver in een is, kun je zonder de browser te verlaten analyses doen, zoals dat bij Webscarab het geval is. Onderwater draait de spikeproxy en wordt alle data in een mySQL database gestopt. Dit is echter een bottlenek voor de performance (vanwege de vele triggers) wanneer er grote hoeveelheden data tegelijk moeten worden verwerkt. De maker zelf, Simon Roses Femerling, (security technologist bij Microsoft) vertelde dat hij graag een database als Oracle zou willen ondersteunen. Marinus en Patrick hebben dan ook aangeboden om het project hierbij te ondersteunen.