Vulnerability Research

Software is broken, and the media spares no effort in showing the world that it is. However, the danger is, despite that, we often do not realize just how broken it is. The underlying reason is not because those who create software are unwilling to write it well, nor is it because they do not have sufficient time or resource, though that is indeed a factor. The true reason is because of a simple axiom: Humans make mistakes. The end result is that anything created by a human will contain flaws. Software is no exception.

sec_imgWe call those mistakes “bugs”. These are mistakes either in the specification and design of the software itself, or mistakes in the implementation and programming of the software. Neither of which matters. Any useful piece of software will contain those bugs, and the larger the software is, the more bugs there are.

Yes, we all know about bugs. We’ve heard about them since the birth of computers. Some of those bugs are just annoying — they cause software to crash, to misbehave, to fail in ways that make us lose our work, or even have to reboot our computer. However, some of those bugs are not just annoying, they’re dangerous, and they’re dangerous because they make malicious people able to attack you, to take over your computer or network, to steal your information, and to do all sorts of nasty things. We term these bugs “vulnerabilities”.

And that is the reason behind software patching — eliminating some of the vulnerabilities that are known. But unfortunately, new software is created all the time, and not all old software even gets patched. As a result, vulnerable software is everywhere.

Xerodaylabs

Xeroday LabsXerodaylabs is a vulnerability research team, a division in D’Crypt. We are a dynamic team aiming to provide state-of-the-art security research to our customers. Our specialty lies in software security assessments, including vulnerability research for offensive and defensive security.

Xerodaylabs aims to provide knowledge of software vulnerabilities to our customers as well as research cutting-edge tools to power the vulnerability discovery, analysis and exploitation process.

Vulnerability Research Services

At Xerodaylabs, we provide software vulnerability research as a service. Using bug-hunting and security auditing techniques we ferret out those vulnerabilities, and as a team we assess them, prove them, and document them. That knowledge may then be used to understand the vulnerability, defend against it, detect attacks using it, and so on.

We don’t spend all day trying to locate vulnerabilities manually — that is a long, arduous process. Furthermore, computers are good at that kind of thing. Hence, we spend time researching new ways to automate this search process, so that our automation frameworks can churn out potential target areas which may be vulnerable. Essentially, we enumerate the potential vulnerabilities.

With that, we then use our skills and experience to delve deep into those potential vulnerabilities, to truly understand the root cause behind the existence of that potential vulnerability, and then decide if it is for real. If it is, we document and prove it so that our customers understand what they are dealing with.

Some of the types and areas of work that we are involved in:

  • Bug-Hunting

    Finding bugs in off-the-shelf and commercial applications and appliances to find potential vulnerabilities. Examples of techniques we employ including fuzzing, automated static and dynamic analysis, manual code audit techniques, etc.
  • Reverse Engineering

    Taking apart software so as to understand its inner workings and mechanisms, reverse engineering is a process that spans all areas of work. It may be because we need to understand why a bug exists, or it may be because we want to know more about the target application to know where to find bugs. It may also be because we have a bug, and we want to know if it’s a vulnerability.
  • Vulnerability Analysis

    Deciding if a bug is really a vulnerability by reverse-engineering and understanding enough of the surrounding context to decide what the root cause of the bug is, and whether it is dangerous.
  • Exploitation

    If a bug is dangerous (a vulnerability), we need to consider just how dangerous it is, and what an attacker could possibly do. We also need to prove that the vulnerability is real, and we do that by writing proof-of-concept exploits for the vulnerability. The proof-of-concept is a benign exploit of the vulnerability to illustrate: (a) its existence, (b) its constraints, (c) its pre-requisites.
  • Tool Development

    We build our own tools to aid us in the reverse engineering process, such as the above-mentioned fuzzers and automated static and dynamic analysis tools. Other examples include automated annotation of the disassembly of applications that we look at, as well as metrics of vulnerability, in order to speed-up the audit process.

Offices

Operating Office: 30 Sin Ming Lane, Midview City, Singapore 573953, Republic of Singapore. Tel: +65 69331800, Fax: +65 66845142

Corporate Office: 28 Sin Ming Lane, #06-133 Midview City, Singapore 573972, Republic of Singapore. Tel: +65 69331800, Fax: +65 66845142

Contact Info