New answers tagged databases
Databases are specially bad for this. If the data is so critic, you shouldn't be storing the info in a DB. Save a crypted blob and decrypt client-side (gpg maybe?)
If you want to protect against a key or other secret being exposed as the result of a system compromise, you would look to a HSM to perform cryptographic activities. Since the HSM is essentially its own little computer, the HSM would then have to be compromised, which is much more difficult. You may also use a distributed or n-tier architecture between the ...
In order to make a live database that encrypts its data, the database itself would have to have access to the keys. By that token, any admin could su into the account and find them. Your concerns are valid. Your idea of having the user present a secure key (RSA for example) if you have them do it over an SSH or SSL protected connection is not a bad idea. ...
"Sanitize", by itself, is meaningless. There is no such thing as "dirty data" as opposed to "clean data". When people think of data being "sanitized", they really mean "data which has been verified to be in a format suitable for a specific processing". For instance, if the purpose of the data is to be embedded into some SQL statement, then "sanitation" of ...
First of all on of the requirement for modern encrypting standards was that the having known an algorithm by attackers doesn't decrease a protection of the system if all rules, in particular, for keys, are done. Think about that many of algorithms are open source, in fact, any in Linux. So the basic concept of security here is the strength of keys used.
While it may deter very amateur hackers, the concept of security by obscurity is very seldom effective at providing actual security. A far better approach would be to restrict the admin page to an IP (yours). Also, I assume you are using wordpress or some other content management system. My two best recommendations for improved security would be to keep ...
Quite frankly, your first stop should be a well regarded pentest company. Given the nature of your question, I would want to see some evidence you've managed to secure your network first. Afterall, if you've got a network that looks like a piece of Swiss cheese, it really doesn't matter how many SQL instances you run or how many servers you run them on !
If the existing database has strong security controls then there's no reason to have a separate one. If there are not strong controls on the existing database, and setting up strong security controls is not possible on the existing database then you will need to have a separate database to better protect the data.
This may seem trivial but awareness is probably the right answer. Many banks have strict guidelines about what information are allowed to be asked to a customer and the best approach is to make the customer aware of this guidelines with warnings during his navigation or inside the contract. My suggestion would be to include a box which states "we will never ...
The attack you describe happens because the user account is a container of credit cards, and Amazon equated "knowledge of a contained object" with "knowledge of the container". It's not surprising, because everyone assumes that a credit card must be kept secret, therefore knowledge of the credit card was evidence that the attacker had knowledge of a secret. ...
There isn't really much you can do about the social engineering attacks apart from training you employees better who directly interact with the customers ( customer care reps) in this case. If they learn on how to ask more questions in case of suspicion, or update the whole security training program for them. Again as a dev there isn't much you can do.
Top 50 recent answers are included