Tag Info

Hot answers tagged

15

It's like, "Put the jewelry box outside the house so that robbers won't bother getting in for the TV?" Yes, it is exactly like that. If you don't care about the value of the database, relatively speaking, then sure it makes sense to leave it outside - if the assumption is that the application is horridly insecure, but you need to put it up anyway ...


11

If you're looking for non-language/framework specific stuff, you could start with a pair of books on security engineering Security Engineering by Ross Anderson Engineering Security by Peter Gutmann Usefully both are available for free online. If you're looking for more platform specific stuff, if you haven't already I'd recommend looking through ...


11

ARM processors are a 32-bit architecture, and are relatively inefficient at doing 64-bit arithmetic operations: when they must compute a 64-bit addition, they must do so with two 32-bit additions and some carry propagation. This is somehow equivalent to x86 used in 32-bit mode (except that recent enough x86 have access to SSE2 opcodes, which offer ...


9

Most of these operations are "trivial": they replace combinations of two or three existing opcodes. For instance, the BLSR type of instruction is, as specified in the page you link to, equivalent to a subtraction followed by a bitwise AND. This could already be done. Extra operations don't harm, and compilers will benefit from them, and, undoubtly, some ...


8

The biggest risk in any language is to have developers who do not master the said language. Secure development requires thinking of all "corner cases" and it does not work unless the developer knows what he does at all points. A competent C programmer who does not know Java will do more secure code in C than in Java (and vice versa). A case can be made that ...


7

If the database holds card details, it can be very easily argued that you aren't fulfilling the PCI DSS requirement on appropriate protection. It also fails the sanity checks on single points of failure, and protecting your core assets. If the data is worth billions, why would you not spend a few thousand more to add layers of protection? Industry good ...


5

If you know what you're doing, using WCF isn't difficult. If you know what you're doing, using WCF with an STS isn't terribly difficult. If you don't know what you're doing it's all terribly difficult. Who am I kidding, it's WCF, so it's all difficult. :) Generally speaking your architecture falls into the federated trust category, as you're using the STS ...


5

To some extent, all the Web/Cloud hype is about a new model (or, maybe, an old model with a new layer of paint). With "apps", applications are quite contained and isolated from each other. With the "apps" model as is employed on iOS / Android system, a further twist is applied in that only "allowed" apps can be installed. The user can still choose which apps ...


4

My gut feeling is that the MVC model, or, for that matter, any cleanly defined model, tends to decrease security risks. Although things are not that clear. From a very general point of view, security issues are a special kind of bug, on the implementation or on the structure (possibly the specification). Knowledge dilution is a huge risk factor: bugs happen ...


4

You might want to read this http://www.x86-64.org/documentation/abi.pdf Essentially x86 and x64 are different in the way that they work. The new ABI describes the new ways in which it does with Leaf and Non Leaf calls, exception handling and unwinding. Since the purpose is to essentially overflow - you need to understand the new ABI how its working and ...


4

A few things from a Secure OS: https://en.wikipedia.org/wiki/OpenBSD_security_features Exploit Mitigation Techniques: an Update After 10 Years: http://www.openbsd.org/papers/ru13-deraadt/ http://tech.yandex.com/events/ruBSD/2013/talks/103/ http://www.openbsd.org/papers/ or: on Youtube: "passwords^12"


4

AvID has already covered the main question, but coming at this from a slightly different angle most firewalls will support multiple interfaces and can provide control of traffic between the interfaces. Configuring the multiple interfaces to host each of the aspects of the solution (frontend, middleware, backend) would reduce the risk of onward compromise of ...


3

Most malware depends on both knowledge of the operating system and the (hardware) instruction set. That is, most malware is written for a particular class of hardware running a particular operating system. The instruction set of a typical mainframe, e.g. IBM zSeries, is quite different from the Intel x86 instruction set. Although mainframes can and do run ...


3

The greatest problems of today's desktop PC environment: allowing arbitrary applications access to all the data that a user has; giving applications unlimited access to the Internet and sensitive hardware (mike, the camera, GPS chip, Bluetooth etc.); proliferation of idiot users; emergence of a business culture where stealing and selling users' personal ...


3

First, there is something weird with your example. Current processors which implement the amd64 mode (aka x86_64 aka x64 aka a bunch of other names) don't use the full 64 bits of address registers. They use 48-bit addresses, and make it mandatory that bits 48 to 63 are identical (as if it was "sign extension"). Thus, an address like 7fffffff_ff480a90 will ...


3

What I have done in the past when porting something between languages or working on something that will need to work really closely with a different language is to look up specific language issues on the OWASP website. C / C++ is: https://www.owasp.org/index.php/Category:C Java is: https://www.owasp.org/index.php/Category:Java Hopefully that helps as a ...


2

On first glance, it appears to be ingenious and a double layer of security. On further thought, it is quite similar to tokenization of credit cards, with 1 pro and 1 con as opposed to tokenization: pro - there are two layers of encryption in two separate systems con - full credit card numbers, although encrypted, are still stored in the business system ...


2

Since your DMZ host is basically a firewall, the design you described does not make sense, you are completely right. This is no better than one-interface firewall (which is the weakest possible architecture). When using a 2-interface firewall, the two interfaces have be on different networks - e.g. "internet" and the DMZ or the DMZ and the intranet. At the ...


2

Let's look at them in turn. Remote Access. Secure enough if you do it properly, usually not considered because it is the most expensive option and it really has no advantages over other options if you aren't doing anything fancy. Native client with secure networking built in. Secure enough if you do it properly, but it requires you to write security ...


2

In slightly different words to Thomas: You do potentially increase the attack surface any time you increase the number of devices, layers, roles, developers purely as you have more variables. That said, you do at least have a framework which should ensure that security issues, including those brought by a more complex structure, are identified and ...


2

If you're looking for more specific application security architecture guidance, I'd be inclined to look at OWASP materials as they're more focused in this area. Project like the OWASP Developer Guide, OWASP Application Security Verification Standard or OWASP Software Assurance Maturity Model could be of use in this context


2

Ideally the security of the system shouldn't be dependent on not knowing the entire layout of the system, however, it does make things more difficult. Certainly, anything like honeypots should be removed or altered on the diagrams and you should remove key details wherever possible so long as you can still get across the necessary information. Exactly what ...


2

This is going to vary depending on your specific situation, policies you are trying to enforce, and regulatory compliance requirements. Generally, a web-app has a front-end and a back end. The front-end is responsible for handling user traffic, display/presentation of data, and authentication. The back-end is usually a database of some sort that handles ...


2

SANS' "Making Your Network Safe for Databases" (http://www.sans.org/reading-room/whitepapers/application/making-network-safe-databases-24) reads a little dated in some sections, but provides a decent "for dummies" level of guidance in the direction you're after. You could also exhaust yourself poking through the US NIST's resource centre ...


1

In addition to the other answers here, I would have a look at the following. Open Security Architecture CSA CCSK Study


1

The best book for learning how to protect web apps is the Web Application Hackers Handbook. For a general PC based point of view, Hacking: The Art of Exploitation is the best.


1

As the other answer says, a complete system re-installation gets rid of common malware that's located in boot sectors or on-disk file systems. It is possible to install malware in device firmware, so that it will reinfect the OS even after re-installation. You would need to restore the original firmware or remove/replace the device (and re-install the OS) ...


1

WAN or LAN? would exposing just 80 or 443 still compromise the security? Yes it would - there could be numerous vulnerabilities in the web app that an attacker could use to gain control of it. Can a hacker push bots or take control of the server and in turn reach the internal network? Yes, once they have control of the web server they might be ...


1

You're actually best off using an existing product. There's plenty of risk in rolling your own crypto storage system. So many ways to make an error in security or data integrity it's not funny. One commercial product off the top of my head is StorageSecure by Safenet. They specialize in this stuff. There are also quite a few academic and open source projects ...


1

I am having a hard time understanding your question, but let me attempt an answer. It sounds like you have two groups of users: Internal Web App Users External API users It also sounds like these users need different levels of access to the same database. If the above is true then I would suggest the following structure: Web server hosting the web ...



Only top voted, non community-wiki answers of a minimum length are eligible