WebApp Sec mailing list archives
Re: Abstracting DB Schema from Web Forms
From: "Serg B" <sergeslists () gmail com>
Date: Mon, 17 Dec 2007 09:44:14 +1100
I think that the DBA responsible for the database you are encrypting may have something to say about it... Obfuscating client-side code such as JavaScript is fine, when it is being generated for the client (not in the repository), however obfuscating a database schema is suicidal. Not to mention a maintenance nightmare. In my opinion this is a poor trade between security and usability. It also implies securit-by-obscurity approach which is not a very sustainable (or secure) solution. I suggest some alternatives: Parameter binding (Java: Hibernate, PHP: PDO, Perl: DBI, etc). Disable all error messages form being rendered to the client. Use stored procedures. Implement correct input data validation. Implement correct output data validation. Basically everything one should be doing anyway. Additionally, if you want to be a little more sneaky you could also introduce an intermediate messaging layer or some sort of XML abstraction between the application and the database. Cheers, Serg Hibernate On Dec 15, 2007 9:30 AM, hiltond <nabble () danhilton com> wrote:
I think this could be a good practice. For a secure application, you want as many levels of security as possible, and obfuscation, while not as powerful as some other security measures, does provide a layer of defense. As I understand it, you're mainly doing this to prevent outsiders from gaining knowledge about your database schema to prevent malicious SQL calls from your app server, which could be solved by appending something random to your meaningful field names. I have a question about another possible use: protecting encrypted data. Is it easier to crack an encrypted string if you know values in the string, the length of the original string, or the data type of the original string? If it is indeed easier, your obfuscation could be used to help secure encrypted data from cracking. So if I had a column named '8akdb' filled with encrypted strings, it would provide no additional meta information to someone who had the data, as opposed to naming the column 'ABC_zipcode', which provides information about original string length, data type, and finite potential values. Anyone have any thoughts? -- View this message in context: http://www.nabble.com/Abstracting-DB-Schema-from-Web-Forms-tp12169061p14339834.html Sent from the Web App Security mailing list archive at Nabble.com. ------------------------------------------------------------------------- Sponsored by: Watchfire Methodologies & Tools for Web Application Security Assessment With the rapid rise in the number and types of security threats, web application security assessments should be considered a crucial phase in the development of any web application. What methodology should be followed? What tools can accelerate the assessment process? Download this Whitepaper today! https://www.watchfire.com/securearea/whitepapers.aspx?id=70170000000940F -------------------------------------------------------------------------
------------------------------------------------------------------------- Sponsored by: Watchfire Methodologies & Tools for Web Application Security Assessment With the rapid rise in the number and types of security threats, web application security assessments should be considered a crucial phase in the development of any web application. What methodology should be followed? What tools can accelerate the assessment process? Download this Whitepaper today! https://www.watchfire.com/securearea/whitepapers.aspx?id=70170000000940F -------------------------------------------------------------------------
Current thread:
- Re: Abstracting DB Schema from Web Forms hiltond (Dec 15)
- Re: Abstracting DB Schema from Web Forms Serg B (Dec 19)