Original URL: http://www.theregister.co.uk/2006/10/09/db_security/
Securing your corporate database
Spotting and blocking potential abuse
Much is written about network security. There are many classes of product that have been developed to manage network access and to inspect traffic in order to identify anomalous behaviour.
This approach starts from the outside of the network and moves inwards. With security at the gateway delivered by a variety of appliances, traffic within the network can be further managed using VLANs, routers and departmental firewalls.
One of the focuses has been on protecting databases that sit behind web applications. Hackers have a variety of techniques that they use to try and fool the application layer into passing commands back to the database and retrieving information. A database does not make a decision about the query you put to it, if the query is valid, it will give you a result.
Unfortunately, stopping the hacker at the gateway or the web application is not sufficient to guarantee the security of the corporate information. Any hacker who has succeeded in penetrating the network can move directly to an attack on the database without any further barriers in their way. With stories circulating about organised crime infiltrating companies with experienced IT workers, it's worth bearing in mind also that any user with legitimate credentials can run unusual queries or extract information from a corporate database. Examples would be users checking their own or their friends' credit records, looking up call records in billing databases, etc.
So how exactly do you put a stop to the possibility that a user on a white list might suddenly decide to start doing things they shouldn't? How do you stop badly written web code from compromising your database before it is released and someone finds the flaw days later? The answer is to undertake some form of behavioural analysis, an intelligent guess at what legitimate database activity looks like for your company and your network. If you know what the normal patterns of database activities are for all users and middleware applications, you can flag or prevent those which are out of the ordinary.
This is the approach that has been taken by Secerno, a start-up company that is about to launch its first product set, which includes the Secerno SQL Controller and SQL Assurance Appliance. Using a patented machine learning technique, the system analyses a set of recorded and approved application data flows from the customer network and builds a model of expected behaviour. This automatic process takes a relatively short period of time, and completely removes the need for the brute force scripting and white and black list techniques that would be required to approach the same capability without machine learning.
Sitting in line with the database connection, the Secerno solution looks at all the database transactions and either alerts the administrator (or if you desire blocks the request) for those that appear out of the ordinary. The unit is capable of keeping up with even large databases, and can also sit in parallel in a passive monitoring mode if required. The key to Secerno's approach is that the learning system develops a picture of allowable behaviour, rather than having it scripted by a database expert who has to understand all the applications that are used in the organisation and how they work. This provides a high degree of accuracy and saves enormously on time and cost.
Given the value of the information in the typical corporate database and the general trend we are seeing towards more "intelligent" approaches to security, solutions such as this are likely to be received well by the market. We will be tracking early adoption activity of this.
In the meantime, let us know if you have experience of this kind of technology or any thoughts on its relevance and practicality. ®