• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Codemotion Magazine

We code the future. Together

  • Discover
    • Events
    • Community
    • Partners
    • Become a partner
    • Hackathons
  • Magazine
    • Backend
    • Frontend
    • AI/ML
    • DevOps
    • Dev Life
    • Soft Skills
    • Infographics
  • Talent
    • Discover Talent
    • Jobs
    • Manifesto
  • Companies
  • For Business
    • EN
    • IT
    • ES
  • Sign in
ads

Leo SorgeDecember 4, 2019

Life-cycle of a security incident: from detection to response

Life-cycle of a security incident: from detection to response
facebooktwitterlinkedinreddit

Giovanni Merlos Mellini is the Head of Information, Systems and Network Security at Enav S.p.A., the Italian Air Navigation Service Provider. He is also the founder of the not-for-profit association Cyber Saiyan and the organiser of RomHack, a free security event that took place in Rome on last September.

During Codemotion Rome 2019, Giovanni delivered a speech explaining how, as security people, we must take care about security from the beginning of any project. This means implementing a security-by-design approach. You’ll experience security issues sooner or later if you don’t use this approach.

Uploading a dangerous payload

What happens if a system is not secured by design? If you are lucky enough to have an effective security process somewhere in your company, there is a chance you intercept the project before it goes live. However, during his speech Giovanni showed an example where a security issue was there in a production environment. We knew about this web application only after the IT department deployed it and it was actively used by the users.

Giovanni scheduled a penetration test to check for vulnerabilities on the target system. The test exposed a vulnerability: an upload form was not checking in the right way the file being uploaded. In particular, an attacker could upload arbitrary files to the server. To exploit this vulnerability, Giovanni tried to upload a simple ASPX web shell using the vulnerable web page.

The web shell will execute the Windows cmd.exe to interact with the system. Moreover, Windows anti-malware protection system removes the web shell just after the uploading.

In the first test, it was identified as malicious software. However, it was quite easy to bypass the protection: just rename cmd.exe to Cmd.ExE. This is funny and scary at the same time.

Demo time: exploit the RCE

This kind of attack is called RCE, Remote Code Execution, and is one of the worst vulnerabilities. It needs to be fixed as soon as possible.

In real life, patching and validation tasks take time. Therefore, the aforementioned web application is exposed to a high risk until the issue is fixed.

There are two possible solutions:

  • go offline: shutdown the system until developers fix the issue;
  • stay online: mitigate the risk while keeping the system online.

Mitigate the risk of keeping the system online

Let’s imagine to go for keeping the system online, trying to mitigate the vulnerability risk. The first thing to do is understanding the scenario and collecting relevant logs. In the case shown by Giovanni, the web application run on an IIS Web server with ASPX on Windows.

As a defender, you need to know your systems. One way to achieve this goal is to collect relevant data to analyse them. In this lab, Giovanni used Splunk to collect data, but there are a lot of other options (eg. Elastic Search).

These are the actions to put in place:

  • collect the logs;
  • find the IIS log directory;
  • send the logs to a central log collector (configure a local agent to monitor in real-time the IIS logs and send them to the central collector that keep also a secure copy of the log files – it can also be useful in case of forensic activities);
  • analyse logs while the problem is happening;
  • find attack patterns.

Write your own detection rule

We are now ready to write our detection rule. To this end, we need to:

  • identify pattern unique fields: starting from the log analysis, we look for unique fields into the logs while the attack happens;
  • minimise the false positives: the goal is to be accurate to reduce the number of false positives, so security analysts will only work on real events;
  • schedule a search for the pattern: no one can identify the pattern by hand, we have to automate the detection phase;
  • create an alert: when the event happens an action will be executed, a script is called that will open a ticket on our service desk platform.

At this point, we mitigated the vulnerability risk; we could detect the event in real-time, generate an action and respond to the events.

Respond to the incident

We are now ready to react to the attack. While the attack happens we are notified on our service desk and we can easily see the attack details. Having all process phases and procedures in place, we can react.

Final remarks

It is clear that, in my view, security is an enabler and not a blocker!

You must think secure from the beginning of the project and ask for security requirements.

Remember, there is not a magic potion: security problems are often a chain of missing controls and missing controls and configurations.

Related Posts

Debunking programming myths that are just wasting your time

Lucilla Tomassi
May 27, 2025

10 React expert tips that will change your life!

Lucilla Tomassi
May 26, 2025

10 essential IT Certifications in 2025

Codemotion
May 21, 2025
allucinazioni

AI Hallucinations: Who Controls the Past Controls the future

Arnaldo Morena
May 21, 2025
Share on:facebooktwitterlinkedinreddit

Tagged as:Codemotion Rome Security Manager

Leo Sorge
I hold a degree in electronics. I talk and write about science and technology in both real and close-to-real worlds since 1976. I frankly believe that business plan and singularity are excellent starts for science-fiction stories.
5G: what’s in it for developers?
Previous Post
Recruiters still failing on gender and ethnicity diversity
Next Post

Footer

Discover

  • Events
  • Community
  • Partners
  • Become a partner
  • Hackathons

Magazine

  • Tech articles

Talent

  • Discover talent
  • Jobs

Companies

  • Discover companies

For Business

  • Codemotion for companies

About

  • About us
  • Become a contributor
  • Work with us
  • Contact us

Follow Us

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy | Terms and conditions