Re: [SC-L] bumper sticker slogan for secure software
well... there's no possible definition... unless programmers start thinking and acting in another way, and who commissions the software respect and pays for the real value of it, and users understand the value, Secure Software is an Oxymoron (there may be a reason why this has "moron" inside..) ___ Secure Coding mailing list (SC-L) SC-L@securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php
Re: [SC-L] bumper sticker slogan for secure software
Dana Epp: > Or perhaps less arrogance in believing "it won't sink". Absolutely. Here's my $0.02: secure software fails safely Any non-trivial piece of software has defects. My challenge is not to eliminate the last defect, but to make the system safe to use (for some appropriate definition of safe) in the presence of defects. Wietse ___ Secure Coding mailing list (SC-L) SC-L@securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php
Re: [SC-L] bumper sticker slogan for secure software
Best for older cars... "My other car is a bit more secure" Best for Volvos (or pick another high safety brand): "I wish my finance systems are as safe as this car" "Honk if you want secure software" "Who has your data? Ask for secure software next time" thanks, Andrew smime.p7s Description: S/MIME cryptographic signature ___ Secure Coding mailing list (SC-L) SC-L@securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php
Re: [SC-L] bumper sticker slogan for secure software
Or perhaps less arrogance in believing "it won't sink". Absolute security is a myth. As is designing absolutely secure software. It is a lofty goal, but one of an absolute that just isn't achievable as threats change and new attack patterns are found. Designing secure software is about attaining a level of balance around software dependability weighed against mitigated risks against said software to acceptable tolerance levels, while at the same time ensuring said software accomplishes the original goal... to solve some problem for the user. On my office door is a bumper sticker I made. It simply says: 0x5 10 points to the first person to explain what that means. Regards, Dana Epp [Microsoft Security MVP] http://silverstr.ufies.org/blog/ -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of SC-L Subscriber Dave Aronson Sent: Tuesday, July 18, 2006 7:53 AM To: SC-L@securecoding.org Subject: [SC-L] bumper sticker slogan for secure software Paolo Perego [mailto:[EMAIL PROTECTED] writes: > "Software is like Titanic, pleople claim it was unsinkable. Securing is > providing it power steering" But power steering wouldn't have saved it. By the time the iceberg was spotted, there was not enough time to turn that large a boat. Perhaps radar, but that doesn't make a very good analogy. Maybe a thicker tougher hull and automatic compartment doors? -Dave ___ Secure Coding mailing list (SC-L) SC-L@securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php ___ Secure Coding mailing list (SC-L) SC-L@securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php
[SC-L] bumper sticker slogan for secure software
Paolo Perego [mailto:[EMAIL PROTECTED] writes: > "Software is like Titanic, pleople claim it was unsinkable. Securing is > providing it power steering" But power steering wouldn't have saved it. By the time the iceberg was spotted, there was not enough time to turn that large a boat. Perhaps radar, but that doesn't make a very good analogy. Maybe a thicker tougher hull and automatic compartment doors? -Dave ___ Secure Coding mailing list (SC-L) SC-L@securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php
Re: [SC-L] "Bumper sticker" definition of secure software
Hi list, I'll introduce myself with a claim: "Software is like Titanic, pleople claim it was unsinkable. Securing is providing it power steering" thesp0nge On 7/18/06, Gadi Evron <[EMAIL PROTECTED]> wrote: On Mon, 17 Jul 2006, Rajeev Gopalakrishna wrote:> Reliability is concerned only with accidental failures while security has > to consider malicious attacks as well. The difference is in the intent of> the software user: benign or malicious.>> And for a bumper sticker, here is one for the pessimists:>> "Secure Software is a Myth" >> and another version for the skeptics:>> "Is Secure Software a Myth?">> :)Again, this would speak only to a very small percentage of thepopulation. You me, maybe 10K people around the world if we are generous. >> -rajeev>>> On Mon, 17 Jul 2006, Peter G. Neumann wrote:>> > You suggest:> >> > Secure software is software that remains dependable despite efforts to > > compromise its dependability.> >> > You need a bigger-picture view that encompasses trustworthiness> > and assurance.> >> > "Dependable systems are systems that remain dependable despite > > would-be compromises to their dependability."> >> > "Trustworthy systems are systems that are worthy of being trusted> > to satisfy their requirements (for security, reliability, survivability, > > safety, or whatever)."> >> > Security is generally too narrow by itself, because a system that is> > not reliable is not likely to be secure, especially when in> > unreliability mode! > >> > The principle of Keep It Simple is inherently unworkable with respect to> > security. Security is inherently complex. Trustworthiness is broader and> > even more complex. But if you don't think about trustworthiness more > > broadly, what you get is not likely to be very secure.> >> > Forget the bumper sticker approach.> >> > ___> > Secure Coding mailing list (SC-L) > > SC-L@securecoding.org> > List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l > > List charter available at - http://www.securecoding.org/list/charter.php> >> ___> Secure Coding mailing list (SC-L) > SC-L@securecoding.org> List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l> List charter available at - http://www.securecoding.org/list/charter.php>___Secure Coding mailing list (SC-L) SC-L@securecoding.orgList information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-lList charter available at - http://www.securecoding.org/list/charter.php-- $>cd /pub$>more beerAngeL core developer: http://www.sikurezza.org/angel ___ Secure Coding mailing list (SC-L) SC-L@securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php
Re: [SC-L] Resource limitation
[EMAIL PROTECTED] wrote: > I was recently looking at some code to do regular expression matching, > when it occurred to me that one can produce fairly small regular > expressions that require huge amounts of space and time. There's > nothing in the slightest bit illegal about such regexp's - it's just > inherent in regular expressions that such things exist. > Been there, done that, watched computers go down again and again from this. > Or consider file compression formats. Someone out there has a hand- > constructed zip file that corresponds to a file with more bytes than > there are particles in the universe. Again, perfectly legal as it > stands. > > Back in the old days, when users ran programs in their own processes and > operating systems actually bothered to have a model of resource usage > that they enforced, you could at least ensure that the user could only > hurt himself if handed such an object. These days, OS's tend to ignore > resource issues - memory and time are, for most legitimate purposes, > "too cheap to meter" - and in any case this has long moved outside of > their visibility: Clients are attaching to multi-thread servers, and > all the OS sees is the aggregate demand. > Most typical unix/linux environments contain aggregate resource meters - per process limitations on resource usage. > Allocating huge amounts of memory in almost any multi-threaded app is > likely to cause problems. Yes, the thread asking for the memory will > die - but unless the code is written very defensively, it stands a > good chance of bring down other threads, or the whole application, > along with it: Memory is a global resource. Ah, now this would be due to the standard definition of a thread. If you used something more akin to light weight processes then you could isolate this resource consumption problem a little bit better. A thread is the basic unit of processing, it was never intended to be a unit of resource consumption. > > We recently hardened a network protocol against this kind of problem. > You could transfer arbitrary-sized strings over the link. A string > was sent as a 4-byte length in bytes, followed by the actual data. > A request for 4 GB would fail quickly, breaking the connection. But > a request for 2 GB might well succeed, starving the rest of the > application. Worse, the API supports groups of requests - e.g., > arguments to a function. Even though the individual requests might > look reasonable, the sum of them could crash the application. This > makes the hardened code more complex: You can't just limit the > size of an individual request, you have to limit the total amount > of memory allocated in multiple requests. Also, because in general > you don't know what the total will be ahead of time, you end up > having to be conservative, so that if a request gets right up close > to the limit, you won't cause the application problems. (This, of > course, could cause the application *other* problems.) > Yes, and this falls into general application design. Most network protocols are designed around the concept of front loading information into the stack. Every level puts more information at the front, not at the end. This means that you can make decisions based on a very small piece of data, allowing you to quickly process it, or kill it should it causes you problems. If you're allowing such huge data packets and you haven't got the back-end system in place to process them quickly, and without resource starvation, then you're just looking to shoot yourself in the foot. Every system on the planet has had to deal with these problems. From fork-bombs through to excess network connections. A lot of them can be prevented using resource limits. Depending on the OS, you can limit resource usage by either individual process, or group of processes (typically referred to as a task-group). Should an operating system not provide you with integrated features to protect you from these resource consumptions, then you can quite easily create monitoring tools that are integrated into the application to monitor and prevent these kinds of things. Under an OS like Solaris, you could use a facility like dtrace to monitor resource use from both the application and OS level to make resource allocation decisions. This facility would not need to be integrated into the application. the problem is that a lot of the resource decisions that are made with applications are more dependent on the administrator rather than the application developer. After all, while an application developer may say '10% of physical memory left is OK', and administrator might say 'but what about that other service there that needs 15%'. > Is anyone aware of any efforts to control these kinds of vulnerabili- > ties? It's something that cries out for automation: Getting it right > by hand is way too hard. Traditional techniques - strong typing, > unavoidable checking of array bounds and such - may be requ
Re: [SC-L] "Bumper sticker" definition of secure software
On Mon, 17 Jul 2006, Rajeev Gopalakrishna wrote: > Reliability is concerned only with accidental failures while security has > to consider malicious attacks as well. The difference is in the intent of > the software user: benign or malicious. > > And for a bumper sticker, here is one for the pessimists: > > "Secure Software is a Myth" > > and another version for the skeptics: > > "Is Secure Software a Myth?" > > :) Again, this would speak only to a very small percentage of the population. You me, maybe 10K people around the world if we are generous. > > -rajeev > > > On Mon, 17 Jul 2006, Peter G. Neumann wrote: > > > You suggest: > > > > Secure software is software that remains dependable despite efforts to > > compromise its dependability. > > > > You need a bigger-picture view that encompasses trustworthiness > > and assurance. > > > > "Dependable systems are systems that remain dependable despite > > would-be compromises to their dependability." > > > > "Trustworthy systems are systems that are worthy of being trusted > > to satisfy their requirements (for security, reliability, survivability, > > safety, or whatever)." > > > > Security is generally too narrow by itself, because a system that is > > not reliable is not likely to be secure, especially when in > > unreliability mode! > > > > The principle of Keep It Simple is inherently unworkable with respect to > > security. Security is inherently complex. Trustworthiness is broader and > > even more complex. But if you don't think about trustworthiness more > > broadly, what you get is not likely to be very secure. > > > > Forget the bumper sticker approach. > > > > ___ > > Secure Coding mailing list (SC-L) > > SC-L@securecoding.org > > List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l > > List charter available at - http://www.securecoding.org/list/charter.php > > > ___ > Secure Coding mailing list (SC-L) > SC-L@securecoding.org > List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l > List charter available at - http://www.securecoding.org/list/charter.php > ___ Secure Coding mailing list (SC-L) SC-L@securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php
Re: [SC-L] "Bumper sticker" definition of secure software
Reliability is concerned only with accidental failures while security has to consider malicious attacks as well. The difference is in the intent of the software user: benign or malicious. And for a bumper sticker, here is one for the pessimists: "Secure Software is a Myth" and another version for the skeptics: "Is Secure Software a Myth?" :) -rajeev On Mon, 17 Jul 2006, Peter G. Neumann wrote: > You suggest: > > Secure software is software that remains dependable despite efforts to > compromise its dependability. > > You need a bigger-picture view that encompasses trustworthiness > and assurance. > > "Dependable systems are systems that remain dependable despite > would-be compromises to their dependability." > > "Trustworthy systems are systems that are worthy of being trusted > to satisfy their requirements (for security, reliability, survivability, > safety, or whatever)." > > Security is generally too narrow by itself, because a system that is > not reliable is not likely to be secure, especially when in > unreliability mode! > > The principle of Keep It Simple is inherently unworkable with respect to > security. Security is inherently complex. Trustworthiness is broader and > even more complex. But if you don't think about trustworthiness more > broadly, what you get is not likely to be very secure. > > Forget the bumper sticker approach. > > ___ > Secure Coding mailing list (SC-L) > SC-L@securecoding.org > List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l > List charter available at - http://www.securecoding.org/list/charter.php > ___ Secure Coding mailing list (SC-L) SC-L@securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php