The State of Cyber Security:We don't want a 15 year old breaching our systems, stealing data and taking 13% off our share price as a result.....hmm I think not. If I wanna be hacked the hacker has got to be elite and like an uber hacker right!!
It is strikingly obvious that security is still weak for both the large enterprise and smaller organisations alike. Take TalkTalk hacked by 15yr old for example...
We live in a world where multi-million euro businesses can be drastically hit by ANYONE with the will, determination and curiosity, I sh*t you not!!.
Poor practices we accept in the industry
Yearly security testing on sites & systems that change frequently
We perform annual testing of our systems, in a time limited manner. Our systems are in a constant state of flux (for the below reasons) but we still only do the annual security test.
See anything wrong here? 3 words for you...Window Of Exposure
- Changes in code
Happen more frequently, we are more "Agile" than ever. We push code frequently and spread the risk of dev failure as opposed to hoping everything works at the end of the project. The more we change the less valuable our previous security report is. Within days of a security test the value of the report is degraded due to the system having changed since the report was written. With this in mind, as change occurs and no security verification is done our window of exposure grows.
- Changes in supporting environment.
We patch systems where we can as per our patch management policy but this is never as easy as it sounds. Patching live systems can result in negative effects to the hosted systems. Patches can break stuff!! So we don't patch as often...On a day to day basis we are secure one day the next we have a vulnerability because it has just been discovered and made public knowledge. Annual testing does not scale to the dynamic nature of the systems we manage and own.
- Highly automated is weak there are many aspects of web data flow which breaks automation and reduces coverage.
- Highly automated solutions can result in impacting/harming live systems such as submission of 1000's of emails/tickets, impacting performance, exhaustion of system resources.
- Highly automated solutions can submit sensitive webforms and corrupt data or system state.
- Many vulnerability scanners can submit invasive attacks which appear idempotent but in the context of the system they are very destructive.
- Un-tuned automation can result in DoS (Denial of Service) issues. Many scanners use excessive aggressiveness when scanning.
Risk is not linear
- Automation does not understand risk.
- Risk is a human concept and needs to be assessed by humans
- Not all vulnerabilities are equal and depends on logical context and where a given type of vulnerability is situated.
Secure the WebApp
- Developer Code Only
Is a web application only Developer Code? It appears from various studies that circa 90% of an average web application is framework/component code and not written by the developer at all. - focusing on developer written code alone is not application security!!
- Component Security
As an industry we don't talk much about the 90% of code running our web applications which we did not develop...funny that. - without component security you are not doing application security
Like do we maintain components/frameworks as we patch OS's?? - No hope.
Do we have a component security policy the same way we have a patch management policy? - Nope
- OS Security
65% of vulnerabilities are due to poor patching, misconfiguration or deprecated services. Yep 65% of vulnerabilities - edgescan vulnerability stats report 2015. "Hackers don't give a Sh1t" so if you have focused on web app security only they shall come in via the OS! Make sense?
- We use SSL - (yes I've said it) - People still say this - No idea why given SSL V2 and V3 is broken!!
- We use a WAF - (again more bullsh*t). Logical vulnerabilities, Behavioural wekanesses thats where the money is anyways!! Your WAF don't mean diddly on its own as it only detects technical attacks, not logical weaknesses.