exploring software and hardware security

articles about secure systems, secure protocols, tamperproofing, obfuscation, authentication, attack vectors…

Archive for the 'Attacking secure systems' Category

How to choose the right security protocol?

Posted by davitb on 2nd November 2009

We all know that sending data over network and being sure that its confidentiality is not damaged is one of the crucial problems in security engineering. In fact, except some special cases the entire information security area is based on the problem of being able to send information from point A to point B and making sure that’s its security properties are maintained properly.

Creating secure protocols is not an easy task and this article is not intended to help you to create new protocols from the scratch. There already exist many well designed protocols which will give you all the necessary features to meet your requirements. There are many books and articles about how different secure protocols work and how they are designed. This article is not trying to describe details of these protocols rather it tries to recommend the “ideal” protocol for you, which of course doesn’t exist. The question that this article will try to answer is how you should choose the right secure protocol for your particular application.

Choosing the right protocol is also not a trivial task however I believe there are patterns which will help you to solve this task for your particular application. I’m able to recognize these patterns and I’m sure you will also be able to do it once you get the proper knowledge and experience.

We will go over the following topics:

  • Data confidentiality and integrity in protocols
  • Two types of security protocols
  • Attacks you should worry about while thinking about protocols
  • Protocol Choosing Patterns
  • A demonstrative example
  • Recommended references

Read the rest of this entry »

  • Share/Bookmark

Tags: , , , , , , , , , ,
Posted in Attacking secure systems, authentication, how to design secure systems? | No Comments »

How to design secure systems? Security Analysis

Posted by davitb on 19th October 2009

Secure system is a piece, or any combination of hardware, software or just an operation which protects an information block that is sensitive to the user. There are secure systems which are dedicated to perform only security related operations (such as safe storage, a dongle token, DRM system, firewalls, encryption device, etc). There are also systems which are designed to perform operations which work on sensitive information and thus require having security features implemented inside (such as online payment systems, ATMs, email clients/servers, messengers, etc). Independent of purpose of the system and the operations it allows to perform – the security engineers must threat them identically important and design the security of these systems by taking into account the state of art best practices and techniques.

This article is the first part of a series of articles dedicated to principles and best practices of designing secure systems. It will discuss the following topics:

  • The wrong approach of designing security systems
  • The right approach
  • Assets, threats, security controls, vulnerabilities, attack vectors and risks

Read the rest of this entry »

  • Share/Bookmark

Tags: , , , , ,
Posted in Attacking secure systems, how to design secure systems? | 1 Comment »

How the crackers crack code?

Posted by davitb on 11th October 2009

There are several reasons why a software company would decide to implement heavy protection schemes in their applications by spending lot of development resources, time and money. These reasons are mainly related to the business models of the applications. License based applications (IDE, compilers, etc), applications with valuable IP inside (EDA applications, etc) and applications which have access to confidential information (DRM, authentication software, etc), in addition to their main logic, also require difficult protection schemes implemented inside which will ensure that the integrity, confidentiality and availability of the assets, inside these applications, will not be damaged.

It has always been a mystery for me how crackers try to break software. What techniques they are starting with when they have the executable in hand, or what tools they are using for doing the crack.

In general the motivation of crackers is obvious and is the same as what the abovementioned applications want to prevent from:

  • They are trying to use software without paying money (break)
  • They are trying to steal intellectual property of applications to create a copy of it
  • They are trying to steal confidential information (such as cryptographic keys) from applications to have access to other valuable information, such as user credentials, high-definition video content, etc, which is accessible in this application

In this article we will try to outline the techniques and tools that crackers are using while trying to break protections that exist in applications.

Read the rest of this entry »

  • Share/Bookmark

Tags: , , , ,
Posted in Attacking secure systems, software obfuscation, tamperproof software | 1 Comment »

 

Valid XHTML 1.0 Transitional