Slashdot Mirror


New Programming Language Weaves Security Into Code

Ponca City writes "Until now, computer security has been reactive. 'Our defenses improve only after they have been successfully penetrated,' says security expert Fred Schneider. But now Dr. Dobb's reports that researchers at Cornell are developing a programming platform called 'Fabric,' an extension to the Java language that builds security into a program as it is written. Fabric is designed to create secure systems for distributed computing, where many interconnected nodes — not all of them necessarily trustworthy — are involved, as in systems that move money around or maintain medical records. Everything in Fabric is an 'object' labeled with a set of policies on how and by whom data can be accessed and what operations can be performed on it. Even blocks of program code have built-in policies about when and where they can be run. The compiler enforces the security policies and will not allow the programmer to write insecure code (PDF). The initial release of Fabric is now available at the Cornell website."

216 comments

  1. Tall statement by recoiledsnake · · Score: 1

    The compiler enforces the security policies and will not allow the programmer to write insecure code

    Even if it works perfectly, it will stop only a small subset of insecure code. For example, this tool would do absolutely zilch to stop the attack like FireSheep on Facebook.

    --
    This space for rent.
    1. Re:Tall statement by owlstead · · Score: 2, Interesting

      Yes, and it does not prevent burglary either. If you mess up the transport & application protocol you are in trouble, but what has that to do with secure *programming*? Christ, I bet you can make programs with it that display your password in 10 feet high numbers as well (given a large enough monitor).

    2. Re:Tall statement by Monkeedude1212 · · Score: 2, Insightful

      That sounds more like it would get in the way - perhaps I've come up with a more secure and robust algorithm than they've thought of and all it requires is a bit of data transfer from one section to another - but its deemed insecure due to their constraints - even though I've handled security in a different section.

      On top of that - his initial statement basically makes no difference:

      Our defenses improve only after they have been successfully penetrated

      So you expect all programmers to switch to Fabric just overnight? Who's going to go through the hassle of learning a new language for security reasons if you haven't had any security reasons already? It's like - if I am concerned with security - it'll already have made its way into the code. If I'm not concerned with security - why would I go learn Fabric?

    3. Re:Tall statement by Anonymous Coward · · Score: 4, Insightful

      Secure software development takes longer to develop. That is the primary reason it is not widely practiced. Unless this new language makes secure programming as quick as unsecure programming, then corners are always going to be cut and security will suffer.

    4. Re:Tall statement by h4rm0ny · · Score: 4, Insightful

      it's deemed insecure due to their constraints - even though I've handled security in a different section.

      Yep - sounds like more bloat to me. In ten years time, we're going to be running our software on hardware five times as powerful as that which we use today and the software will do the same things it does today no faster.

      And then some old person will implement an email client in C using only the oldest and slimmest of libraries and everybody's heads will explode with shock at the speed of it.

      --

      Aide-toi, le Ciel t'aidera - Jeanne D'Arc.
    5. Re:Tall statement by Nutria · · Score: 1

      So you expect all programmers to switch to Fabric just overnight?

      All the programmers who want to work on the DOD contract that specifies that the work be implemented in Fabric...

      --
      "I don't know, therefore Aliens" Wafflebox1
    6. Re:Tall statement by hedwards · · Score: 2, Insightful

      Assuming that out side forces are never brought to bear. Until companies are held accountable for exploits in their code it's not going to change. Requiring companies to share even a portion of the expense when a vulnerability is exploited would do wonders for the situation.

    7. Re:Tall statement by pixelpusher220 · · Score: 5, Insightful

      the old adage:

      Good, Fast, Cheap

      Pick any two.

      --
      People in cars cause accidents....accidents in cars cause people :-D
    8. Re:Tall statement by Anonymous Coward · · Score: 0

      So we are going to include companies like Red Hat or groups like GNU project as well, right? You aren't going to let them get away with publishing code with security problems either, right?

    9. Re:Tall statement by master0ne · · Score: 2, Insightful

      You would switch to fabric if you are concerned with security, eventhough it will have found its way into your code without fabric, the point is fabric is security oriented making it HARDER to do insecure things. On top of that it would seem your argument about coding your own mechinism being deemed insecure, im sure that would be a user error as opposed to a problem with the language itself as there has to be a mechninsm to specify what is and is not to be trusted within the language, if you wish to do such things to mark the system you need trusted as trusted? and finally, no i wouldnt expect people to adopt fabric overnight, just like they didnt adapt java, python, or php overnight, however one thing is certin, they will never adopt it if it does not exist. As far as the learning curve associated with it, its basically java, you just need to learn some new modules etc, syntax should be very javaish.... keep in mind this is aimed at large networks that may or may not have a central security authority, its ment to help developers of large networks (like facebook) design more secure and robust systems from the ground up, while providing a extra layer of "security". Im sure if you try hard enough you can manage to break it, as everything is only secure as it is accessable, someone somewhere will break it if they want to.

      --
      Noone writes jokes in base 13!
    10. Re:Tall statement by pongo000 · · Score: 1

      That sounds more like it would get in the way - perhaps I've come up with a more secure and robust algorithm than they've thought of and all it requires is a bit of data transfer from one section to another - but its deemed insecure due to their constraints - even though I've handled security in a different section.

      Much like SELinux. At some point, the security aspects are frustrating enough that you just turn the damn thing off.

    11. Re:Tall statement by Michael+Kristopeit+7 · · Score: 0

      it also still depends on the programmer to set all the security policies correctly... the platform is pointless.

    12. Re:Tall statement by owlstead · · Score: 1

      Well, it will maybe bring down the barrier. And don't forget that insecure software costs loads of money. Maybe not in front then certainly later during the maintenance cycle. Of course, if you are able to charge for maintenance hours, you may be in luck.

      Secure software may make a lot of sense for core security components. Proving that something is secure can be hard, any software that will bring that cost down is very welcome. If this is required depends on the type of software of course.

    13. Re:Tall statement by Alain+Williams · · Score: 2, Interesting

      And then some old person will implement an email client in C using only the oldest and slimmest of libraries and everybody's heads will explode with shock at the speed of it.

      They already have and I use it, it is called mutt.

    14. Re:Tall statement by Anonymous Coward · · Score: 0

      In ten years time, we're going to be running our software on hardware five times as powerful

      You're computer is only five times as powerful as one built a decade before it?

    15. Re:Tall statement by owlstead · · Score: 1

      That is maybe, but *you* don't.

      Of course, security is about secure systems and this programming language won't fill all the gaps, but you hardly have to remind Slashdot of that.

      But maybe I'm confused and you have an interesting point to bare?

    16. Re:Tall statement by Anonymous Coward · · Score: 0

      Of course not. Only companies that sell their software (licenses) have to be held accountable for bugs in their code.

      Corporations that don't want the liability then, will just have to move to a software-is-free-but-pay-through-your-nose-for-support model. In other word, Enterprise users pay the same, but the rest of us (minus the GNU/GPL purists) get some more free software.

    17. Re:Tall statement by Anonymous Coward · · Score: 0

      uh... huhuhuh...

      I have a "point" I'd like to "bare"...

      huhuhuhuh

    18. Re:Tall statement by santiagodraco · · Score: 2, Insightful

      Your response doesn't give any reasons for not using Fabric other than maybes and what ifs that may or may not apply to anyone including yourself. You might as well say "why in the world would I ever use Fabric, I live in a log cabin and forage for food, it makes no sense!"

      Also who said they expect all programmers to switch to Fabric AT ALL let alone over night? It's a choice. They are offering a potential solution for java based systems that can, in their opinion, improve the overall security of the system by embedding secure rule sets into the code itself, something that has not been done as a part of the language before.

      And as for his statement about "our defenses improving" it makes perfect sense and it's at the heart of what is wrong with systems today. Security is often treated as a secondary concern until someone breaks in, then it's top of mind and only then is it implemented properly.

      It's irresponsible to act as if security is a given. It's also absurd to think that simply because someone is concerned with security that that means they are therefor implementing secure systems or even have the capabilities to do so.

      Now, is Fabric good? Who knows, only time will tell.

    19. Re:Tall statement by alanebro · · Score: 1

      SELinux is/was intended for embedded applications and servers; things where the functionality is strictly defined. Using it on desktops, while indeed safer, was not the NSA's original intent. It is truly a nightmare to maintain on desktops when your installed packages are constantly changing.

    20. Re:Tall statement by jd · · Score: 1

      It's essentially mandatory access controls at the object level. In which case, you shouldn't need to add it to the language syntax - you should be able to code it into the virtual machine and use the security labeling available in the native OS. The security would then be scripted as data, rather than hard-coded, allowing any existing program to gain this security with no modification to the code, merely a suitable XML file with the MAC labeling data. Minimal bloat, the speed should be unaffected (since the OS runs the same number of checks, just on different settings per class), and you get most of the benefit.

      (The only difference is that their system would have each class running checks against other classes, which is unnecessarily bulky.)

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    21. Re:Tall statement by h4rm0ny · · Score: 1

      Mutts nice, but I like to send HTML emails and last time I looked at it, that wasn't Mutt. If someone made something as lean and powerful as Mutt, with the HTML editing capabilities of Thunderbird (nowadays a bloated corpse of an email client), it would be my dream email client.

      --

      Aide-toi, le Ciel t'aidera - Jeanne D'Arc.
    22. Re:Tall statement by Raenex · · Score: 4, Funny

      Because trying to force everybody to use Ada worked so well...

    23. Re:Tall statement by Asclepius99 · · Score: 1

      I find the quote about defenses only improving after it's been penetrated funny for a different reason. Fabric may be built to be more "secure", but it's going to work exactly the same way as any other language or program built with a language. More likely than not if Fabric becomes popular someone is going to figure out a way to exploit the code to do something it wasn't intended for and they'll have to some up with a way to solve that problem after the fact, just like everyone else. Isn't the reason that our defenses have to be proven inadequate at first usually because the people that either designed the language or used it to write a piece of software didn't know that the exploit possibly to begin with? I don't see how that's going to change.

    24. Re:Tall statement by h4rm0ny · · Score: 1

      You're computer is only five times as powerful as one built a decade before it?

      I was trying to extrapolate where I think things are going. I don't know how much further we're going to go in terms of sheer processor speed. Less far in the next ten years in terms of multiples of what has gone before, than in the previous ten years. There might be some revolutions that lead to much faster computers in the areas where that's needed (scientific computing, perhaps) but less likely in general public computers. We're probably going to see increases in cores and that doesn't translate as well into saying the hardware is "more" or "less" powerful. It's different. Certainly it will be a lot more "powerful" when I'm compiling something. But it may not be as significant when I'm just running an application like Inkscape. Hard to say, really. Partly depends on how much advantage programmers take of multi-core programming. So that's why I was conservative with my estimates. I think my point has some (sarcastic) truth to it, but the numbers are guesswork.

      --

      Aide-toi, le Ciel t'aidera - Jeanne D'Arc.
    25. Re:Tall statement by arth1 · · Score: 1

      Well, it will maybe bring down the barrier.

      Or raise the barrier to those who understand the policies -- the rest will be writing crappier code than ever, because they think that their ill-written policy will protect them so they won't have to think security anymore.

    26. Re:Tall statement by Anonymous Coward · · Score: 0, Insightful

      Mutts nice, but I like to send HTML emails

      And I like to watch radio programs.

    27. Re:Tall statement by Obfuscant · · Score: 1
      ...you should be able to code it into the virtual machine and use the security labeling available in the native OS.

      No, this REQUIRES the native OS to cooperate to be successful.

      According to the summary, the security policy is enforced by the COMPILER. That means if you change the access policy to a data file, you need to RECOMPILE all the code that touches that data, since the access is compiled in. At least, if the summary is correct, you do.

      Further, this is like saying "I'm going to build the most secure Perl compiler ever seen by man. It won't let nobody look at nothing they ain't authorized to look at", and then forget that all your data can be copied to a thumbdrive using 'cp' and displayed using 'od' (or maybe even vi!).

    28. Re:Tall statement by Anonymous Coward · · Score: 0

      The old cliche: removes any need for thought on the part of the speaker or the listener.

    29. Re:Tall statement by Anonymous Coward · · Score: 0

      I think by "C" you meant Assembly.

    30. Re:Tall statement by daremonai · · Score: 1

      So it's fast and cheap, in other words.

    31. Re:Tall statement by Anonymous Coward · · Score: 0

      Give me TP for my security hole!

    32. Re:Tall statement by JonySuede · · Score: 1

      you might want to look at Eudora OSE it is somewhat leaner than Thunderbird 3 but it is not as spartanish as mutt

      --
      Jehovah be praised, Oracle was not selected
    33. Re:Tall statement by Sulphur · · Score: 4, Funny

      Give me TP for my security hole!

      Turbo Pascal?

    34. Re:Tall statement by Sulphur · · Score: 1

      Because trying to force everybody to use Ada worked so well...

      They were Ada up.

    35. Re:Tall statement by Anonymous Coward · · Score: 1, Insightful

      Mutts nice, but I like to send HTML emails and last time I looked at it, that wasn't Mutt. If someone made something as lean and powerful as Mutt, with the HTML editing capabilities of Thunderbird (nowadays a bloated corpse of an email client), it would be my dream email client.

      Oh, so you're one of those people I hate who keep sending me HTML emails.

    36. Re:Tall statement by RichardJenkins · · Score: 3, Funny

      I'll take my cars good and fast, and my women fast and cheap, thanks.

    37. Re:Tall statement by hyc · · Score: 1

      My compiler will allow you to write whatever code you want, but it will refuse to compile it into insecure code.

      My compiler's source:

      main(){exit(1);}

      --
      -- *My* journal is more interesting than *yours*...
    38. Re:Tall statement by nacturation · · Score: 1

      the old adage:
      Good, Fast, Cheap
      Pick any two.

      Which two are Linux?

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    39. Re:Tall statement by Anonymous Coward · · Score: 0

      Shuttup Beavis!

    40. Re:Tall statement by froggymana · · Score: 1

      I would say Good and Cheap, as the development of Linux isn't exactly the world's fastest thing.

      --
      "To prevent this day from getting any worse, I'll just read ERROR as GOOD THING" 1GJU8xLuDKDxEs4KLf8fAGyptoDsqvEsBT
    41. Re:Tall statement by dudpixel · · Score: 1

      ... Unless this new language makes secure programming as quick as unsecure programming, then corners are always going to be cut and security will suffer.

      Its insecure programming. sheesh...

      --
      This seemed like a reasonable sig at the time.
    42. Re:Tall statement by Anonymous Coward · · Score: 0

      My dick in your mom's:

      a) ass
      b) pussy
      c) mouth

      Pick any two.

    43. Re:Tall statement by Anonymous Coward · · Score: 0

      Dead right. Simple logic says that if Fabric is a Turing-complete language it contains every security hole possible. I predict it will be trivially easy to make an insecure system with this language.

    44. Re:Tall statement by ultranova · · Score: 2, Insightful

      Christ, I bet you can make programs with it that display your password in 10 feet high numbers as well (given a large enough monitor).

      And thus the claim "The compiler enforces the security policies and will not allow the programmer to write insecure code" is shown to be rubbish.

      This thing may or may not help security, but claiming it won't let you write insecure code is pure marketing bullshit; Slashdots or Cornells, now that's a question.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    45. Re:Tall statement by ultranova · · Score: 2, Insightful

      Requiring companies to share even a portion of the expense when a vulnerability is exploited would do wonders for the situation.

      Yeah: since the expense is potentially unlimited, it would become far too risky for any mere mortal to write code, thus leaving only the large companies that can duke it out in a court willing to do that. I can feel Microsoft drooling...

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    46. Re:Tall statement by Anonymous Coward · · Score: 0

      I am pulling my hair as I type, to workaround the stupid SELinux policies. I will turn it off ASAP to keep some hair on my head.

    47. Re:Tall statement by Sir_Lewk · · Score: 1

      Good and fast obviously. Do you realize how many paid man-hours have gone into the linux kernel? It's been anything but cheap.

      --
      "linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
    48. Re:Tall statement by Anonymous Coward · · Score: 0

      Mutts nice, but I like to send HTML emails

      ... and I like to take a dump behind the office door, just like Louis XIV did, but for some weird reason my colleagues object.

      If someone made something as lean and powerful as Mutt, with the HTML editing capabilities of Thunderbird (nowadays a bloated corpse of an email client), it would be my dream email client.

      If someone just added a toilet paper holder near to every door, it would be my dream office.

    49. Re:Tall statement by h4rm0ny · · Score: 2, Insightful

      Oh, so you're one of those people I hate who keep sending me HTML emails.

      Nah, I'm pretty sure everyone on my email list is living in the 21st Century by now. :)

      --

      Aide-toi, le Ciel t'aidera - Jeanne D'Arc.
    50. Re:Tall statement by tehcyder · · Score: 1

      Good and fast obviously. Do you realize how many paid man-hours have gone into the linux kernel? It's been anything but cheap.

      If you build a Ferrari-beating supercar that costs $10 million but give it away for nothing, is it not cheap for the customer?

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    51. Re:Tall statement by tehcyder · · Score: 1

      Emails? Are you old or something?

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    52. Re:Tall statement by Phreakiture · · Score: 1

      Even if it works perfectly, it will stop only a small subset of insecure code. For example, this tool would do absolutely zilch to stop the attack like FireSheep on Facebook.

      I was also thinking that they chose the wrong target. The low-hanging fruit would be to make a PHP-, Perl- or VB-like language, rather than a Java-like one, because, like it or not, PHP, Perl and VB are how most websites are implemented.

      --
      www.wavefront-av.com
    53. Re:Tall statement by Anonymous Coward · · Score: 0

      How do you classify security holes? Turing-complete programming languages that cannot have buffer overflows certainly exist. A Turing-complete programming language need not have pointers or even references to objects. More practically, there is a lot of work on type systems that rule out entire classes of bugs.

    54. Re:Tall statement by TheRaven64 · · Score: 1

      SPARK Ada is pretty popular in areas in which bugs (of which security holes are a special case) are very expensive. Companies like Rolls Royce pay people who can program in it very well. In all cases, there's a trade between cost and bugs. The fewer bugs you want in the final program, the more it costs to develop it. Eventually, you get to a point where the cost of living with the bugs and fixing them later is less than the cost of validating the code and eliminating them before you ship. Exactly where this point is depends on the software. It's in a very different place for a consumer word processor and the control software for a bank or nuclear missile.

      --
      I am TheRaven on Soylent News
    55. Re:Tall statement by Anonymous Coward · · Score: 0

      No, I haven't been emailing social rejects living in the 50s recently.

    56. Re:Tall statement by TheRaven64 · · Score: 1

      SELinux is a case study in how not to do security. Take a look at the security holes in the Linux kernel for the last year and notice how many of them only work if SELinux is enabled. By adding a huge blob of extra code to the kernel, they introduced a lot more code that can potentially contain bugs (i.e. security holes), increasing the attack profile considerably. Added to that, it ignores the most important part of security: that it doesn't matter how clever the code is if the user doesn't use it, and produced something that is such a pain to use that most people turned it off.

      --
      I am TheRaven on Soylent News
    57. Re:Tall statement by Raenex · · Score: 1

      I agree. My point was that the Department of Defense failed miserably in their effort to standardize on Ada.

    58. Re:Tall statement by Anonymous Coward · · Score: 0

      Fabric is based on Jif and Jif is based on Polyglot and Polyglot only supports 1.4. Don't think I'm going to rush to use this anytime soon...

    59. Re:Tall statement by Java+Pimp · · Score: 1

      I don't know... I think the statement "will not allow the programmer to write insecure code" implies secure programming to me.

      --
      Ascalante: Your bride is over 3,000 years old.
      Kull: She told me she was 19!
    60. Re:Tall statement by JubalDroad · · Score: 1

      One of the nice things about Fabric is that it does seem to make programming easier in some ways, even if it makes it harder in others. For example, persistent and distributed data can be accessed as easily as regular language objects. That rips out a whole layer or two of crud that exists in a lot of applications now.

    61. Re:Tall statement by jd · · Score: 1

      I said "you shouldn't need to add it to the language syntax", I did not say they developed it that way. I deal with correct design only, whether or not that is the design that any given group uses.

      In this case, the correct design is to have security pushed into the kernel, since security implemented once WILL have fewer bugs than security implemented in many places, and checks done once WILL be faster than the same checks made at multiple levels.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    62. Re:Tall statement by Obfuscant · · Score: 1
      I said "you shouldn't need to add it to the language syntax",

      That's right, but that's not the part of your statement I replied to. I quoted it for you so you'd know. The part I replied to was that you "should be able to ... use the security labeling available in the native OS."

      In response to that "should", I replied that it is a MUST. The OS MUST be where the security takes place, for the trivial reasons I provided. Why are you arguing with me?

    63. Re:Tall statement by jd · · Score: 1

      Apologies for my part in the confusion. We seem to actually not so much be arguing as much as agreeing with excessive roughness. Truce?

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  2. Instead of a new language... by Nutria · · Score: 2, Insightful

    they should have extended Ada.

    --
    "I don't know, therefore Aliens" Wafflebox1
    1. Re:Instead of a new language... by shutdown+-p+now · · Score: 1

      They didn't do a language from scratch - they extended Java (c'mon, it's even in TFS). Why would Ada be any better here?

    2. Re:Instead of a new language... by AltairDusk · · Score: 1

      This is Slashdot, who reads TFS?

    3. Re:Instead of a new language... by Anonymous Coward · · Score: 0

      they should have extended Ada.

      Look, if you're that into pain, feel free to slam your dick in a car door all you want - leave the rest of the world alone.

    4. Re:Instead of a new language... by Nutria · · Score: 1

      They didn't do a language from scratch

      Yes, you're right.

      they extended Java

      That doesn't obviate my point that they should have extended an OO language that's already more secure than Java.

      --
      "I don't know, therefore Aliens" Wafflebox1
    5. Re:Instead of a new language... by shutdown+-p+now · · Score: 1

      Can you give some specific examples of how Ada is superior to Java in terms of security?

    6. Re:Instead of a new language... by BlackSnake112 · · Score: 0, Troll

      Ada was not an OO language at first. The compiler wanted to know everything at compile time. Which is why Ada if it compiled successfully, the program often ran. You may have not gotten the result you wanted, but the program ran without error. When Ada switched to OO it screwed a lot of things up. Why do you think the air traffic control systems took so long? The OO Ada was saying yes you can land your plane in the middle of a hurricane and 5 tornados. I knew some people working on the new control tower software. That was a serious problem.

    7. Re:Instead of a new language... by shutdown+-p+now · · Score: 4, Funny

      Ada if it compiled successfully, the program often ran.

      Well, that's not such an impressive achievement, given that Perl would often happily run something that you wouldn't ever think could compile.

      The problem is to make sure that, when it runs, it does what the person who wrote the code intended it to do...

    8. Re:Instead of a new language... by Anonymous Coward · · Score: 1, Funny

      Name a major well know corporate system that runs Ada and has been breached.

      See! Argument won ;^)

    9. Re:Instead of a new language... by Short+Circuit · · Score: 1

      Some companies already do. Java is more popular in the enterprise market, though, while Ada is more popular in the embedded market.

    10. Re:Instead of a new language... by Anonymous Coward · · Score: 0

      The problem is to make sure that, when it runs, it does what the person who wrote the code intended it to do...

      Actually, with Perl, THAT is not so much of a problem, given that the language is specifically designed to "do what I mean" (DWIM). Doesn't mean you don't have to take care with Perl, and testing etc. should still be a given (and one might add that Perl actually gives you powerful tools for that and that testing is deeply ingrained into Perl culture), but if you have a gut feeling for how something should work or what result something should produce, then chances are it WILL work that way.

      Long story short - you can generally rely on your instinct with Perl.

    11. Re:Instead of a new language... by Anonymous Coward · · Score: 0

      Advantages:
      To start, fully type safe.
      Generics are implemented as an integral part of the language, not as a bolt on that creates lots of issues.
      It is a native binary, not byte code. All arrays are checked for overflow during run-time - no buffer overflows.

      Disadvantages:
      Doesn't have the library support of Java
      Fewer development tools

    12. Re:Instead of a new language... by tehcyder · · Score: 1

      Can you give some specific examples of how Ada is superior to Java in terms of security?

      Yes, it's more obscure, so therefore it's more secure by definition. Oh, wait...

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    13. Re:Instead of a new language... by shutdown+-p+now · · Score: 1

      Actually, with Perl, THAT is not so much of a problem, given that the language is specifically designed to "do what I mean" (DWIM).

      It is designed that way, you're correct. By a guy called Larry. I'm sure it does what he means all the time, but somehow it doesn't work out so well for me... ~

    14. Re:Instead of a new language... by shutdown+-p+now · · Score: 1

      To start, fully type safe.

      I presume this is a dig at Java generics? But they are type safe unless explicit casts are used. And when casts are there, all bets are off - after all, Ada also allows you to explicitly do non-type-safe (and non-memory-safe!) pointer casts.

      Though I'll give you that, in Ada, it is very distinct from normal, safe casts.

      Generics are implemented as an integral part of the language, not as a bolt on that creates lots of issues.

      I agree that Java generics are quite a mess, but they still have some nice features. E.g. I don't recall seeing wildcards and "super"-bounds in Ada, and those can be very handy to express certain things in a typesafe way.

      It is a native binary, not byte code.

      It's not clear whether this is an advantage in this case (or in general). In practice, JVMs heavily rely on JIT compilation, and you could even make one which would compile everything on class load, making it essentially the same as a native compiler except for loading times (and even that can be improved with caching). You can do full AOT compilation even, though that goes beyond the boundaries of what JVM specs cover.

      On the other hand, you can, of course, compile Ada to bytecode (though not specifically to JVM bytecode, which isn't expressive enough). E.g. there was a port of Ada to .NET.

      All arrays are checked for overflow during run-time - no buffer overflows.

      This is true of Java as well, of course. And any other memory-safe language.

  3. beat this by heptapod · · Score: 4, Funny

    10 intpray "ellohay orldway"
    20 otogay 10

    For extra encryption use rot-13.

    1. Re:beat this by timboc007 · · Score: 2, Funny

      For extra encryption use rot-13.

      And for extra-extra encryption, use it twice!

    2. Re:beat this by Anonymous Coward · · Score: 0

      This is the one time I wish I could mod Redundant as +1 instead of -1 ;-)

    3. Re:beat this by Tablizer · · Score: 2, Funny

      YODASIC:

      "World, hello" 10 prints
      to 10 go, line 20 tells

    4. Re:beat this by Anonymous Coward · · Score: 0

      > .... otogay ...

      You mean to tell me that there's homosexual ear porn? Egad!

    5. Re:beat this by Anonymous Coward · · Score: 0

      Didn't they tell you? Otogay is considered harmful.

  4. Why isn't this code working? by ak_hepcat · · Score: 5, Insightful

    I -swear- i gave it the right permissions... well, i'll just turn on ALLOW:ANY and debug it..
    Hey, that works.. well, it probably won't hurt to leave that there... :rinse :repeat

    ** yeah, like that'd never happen...

    --
    Support FSF: Stop thinking with your wallet, and think with your imagination. (cc/non-commercial)
    1. Re:Why isn't this code working? by Anonymous Coward · · Score: 2, Interesting

      Unfortunately, you're 100% right. I had a somewhat similar system just occur where a library for processing credit cards has an option to check the card to make sure it's valid before even trying to process it. Well, using my personal card as a test it said it was invalid. Take that check out and it works perfectly, so I'm not sure what it is actually checking, according to the docs everything required was there, but what should have been a useful feature just gave me a false negative, so I can't trust it.

    2. Re:Why isn't this code working? by arth1 · · Score: 1

      Considering that many of the people who are going to write this are the same who think that 0777 is a good permission for files and directories, I say that it's a given that this won't be too useful.

      Security comes from a mindset, not from more tools.
      Sure, tools can be helpful, but only in the hands of those who understand how the tools work, how to use them and the technical reasons why they use them. Else it will only instill a false sense of security, and may very well make the devs skip the analysis of what security is really needed.

    3. Re:Why isn't this code working? by Anonymous Coward · · Score: 4, Funny

      I have a similar piece of code, give me the number and I'll check it against mine.

    4. Re:Why isn't this code working? by Aladrin · · Score: 1

      That is an example, but here's one that will be more common:

      Programmer: I can't get X to work. Why won't it?
      Community: Your security policies won't let it. You'll have to change them to allow it.

      Tada.

      --
      "If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
    5. Re:Why isn't this code working? by Anonymous Coward · · Score: 0

      I -swear- i gave it the right permissions... well, i'll just turn on ALLOW:ANY and debug it..
      Hey, that works.. well, it probably won't hurt to leave that there... :rinse :repeat

      A language can no more enforce security than it can enforce correctness.

      When I read the summary, my immediate instinct was: "nonsense -- this is an utterly impossible goal for anything but a tiny subset of security issues". Your post expresses my doubts perfectly.

    6. Re:Why isn't this code working? by Anonymous Coward · · Score: 0

      Name: Anonymous Coward
      Card # 4111111111111111
      Exp 12/2012
      CVV 666

    7. Re:Why isn't this code working? by Anonymous Coward · · Score: 0

      I see you've done some Android programming.

    8. Re:Why isn't this code working? by bouldin · · Score: 1

      At least those kinds of permissions can be audited.
      Better than where we are now, but certainly no silver bullet.

    9. Re:Why isn't this code working? by sco08y · · Score: 1

      So this is the developer's version of SELinux.

  5. It's called BASIC without PEEK or POKE by Anonymous Coward · · Score: 0

    If you dumb-down any programming language, it becomes secure. The ultimate is basic BASIC (no pun intended). As long as you remove PEEK and POKE, you will have a completely secure system

    10 PRINT "THIS IS A SECURE SYSTEM"
    20 GOTO 10

    1. Re:It's called BASIC without PEEK or POKE by Anonymous Coward · · Score: 0

      If you dumb-down any programming language, it becomes secure. The ultimate is basic BASIC (no pun intended). As long as you remove PEEK and POKE, you will have a completely secure system

      10 PRINT "THIS IS A SECURE SYSTEM"
      20 GOTO 10

      THIS IS A SECURE SYSTEM
      THIS IS A SECURE SYSTEM
      THIS IS A SECURE SYSTEM
      [CTRL][BREAK]
      #

    2. Re:It's called BASIC without PEEK or POKE by topham · · Score: 1

      PEEK, POKE, SYS

      Probably a couple others in particular dialects. (LOAD, as implemented on Commodore is an issue as well).

      Really, BASIC isn't even close to secure by default.

    3. Re:It's called BASIC without PEEK or POKE by interval1066 · · Score: 1

      "As long as you remove PEEK and POKE, you will have a completely secure system..."

      Absolutely wrong. If the language implementation doesn't include run-time buffer overflow checking, which is often overlooked in high-level languages and really can't exist in lower level ones, you've got an attack vector. Directly peeking at and poking into memory locations is only .01% of the battle. What if you want to use your "secure" basic as a cgi? Now you're got a whole new bushel of issues. The most secure language still has to contend with the problem of unintended consequences unintended uses.

      --
      Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
    4. Re:It's called BASIC without PEEK or POKE by martin-boundary · · Score: 1

      10 PRINT "WHATS YOUR NAME?"
      20 INPUT N$
      30 PRINT "WHATS THE PASSWORD?"
      40 INPUT P$
      50 PRINT "HELLO EVERYBODY, ", N$, "'S PASSWORD IS ", P$
      60 GOTO 50

    5. Re:It's called BASIC without PEEK or POKE by poopdeville · · Score: 1

      OH SHI...

      --
      After all, I am strangely colored.
    6. Re:It's called BASIC without PEEK or POKE by Anonymous Coward · · Score: 0

      Even the BASIC written by Bill Gates himself in the 1970s had buffer overflow checking. Have you never programmed in BASIC or Pascal or Fortran or Prolog or Lisp or COBOL? Not every computer language is C / C++ / Assembler.

  6. Yawn by Anonymous Coward · · Score: 0

    Yet another programming language aimed at making it easier for novice programmers to do the right thing by protecting against the mistakes that novices have made in the past.

    The problem is that past mistakes are not a predictor of future mistakes.

    1. Re:Yawn by adisakp · · Score: 2, Interesting

      Yet another programming language aimed at making it easier for novice programmers to do the right thing by protecting against the mistakes that novices have made in the past.

      The problem is that past mistakes are not a predictor of future mistakes.

      I know some less gifted programmers who code primarily by copy-and-paste. In that group, past mistakes are a very good predictor of future mistakes.

    2. Re:Yawn by enderjsv · · Score: 1

      Yeah they are. Sometimes.

    3. Re:Yawn by enderjsv · · Score: 1

      Is that an indictment of bad programmers, or an indictment of copy-and-paste. Cause god know how hard life would be without copy-and-paste. Don't want to even imagine it.

    4. Re:Yawn by hedwards · · Score: 1

      The point is that certain mistakes shouldn't be made again. Many languages provide facilities for it. Sometimes it requires more drastic measures like deprecating a call and replacing it with something new. Not that I really understand the nuances, but there was that whole strlcopy() change in the past. It wasn't strictly speaking necessary, however it did cut down on a lot of mistakes that programmers would make.

      It was from what I gather important enough that it's not just what the designers of Pascal did, it was added to others as well. Turns out that having a limit to the number of characters is a good thing.

    5. Re:Yawn by adisakp · · Score: 1

      A bad and/or lazy programmer will copy-and-paste code with a bug in it without realizing they duplicated a bug. It's better to fix code or at least verify code you are "borrowing" by copy-and-paste works.

      Also, if you are copying-and-pasting code several times, it's almost always better to make a function (or inline function, or macro, or template) so that if there is a bug in the code, then fixing it once fixes it everywhere it's used.

      Given those facts, I'd say that it's a combination of bad programmers and overuse of copy-and-paste in a lax method.

  7. I don't see it working for long. by Jason+Pollock · · Score: 4, Insightful

    As experience teaches us, the first thing that people who need to share do is "chmod -R a+rwx ."

    So, any security which requires signing of code to run will become looser and looser over time as problems are encountered. That bug is causing problems in production and it takes a week to validate and sign it? Loosen the validation to get it to 15mins, or turn it off completely.

    1. Re:I don't see it working for long. by jd · · Score: 1

      You are correct. Actually, strong languages like Occam-Pi are better for security as the security is largely a product of making things much more specific. It is ambiguity that allows a lot of bugs to creep in.

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    2. Re:I don't see it working for long. by Tom · · Score: 1

      As experience teaches us, the first thing that people who need to share do is "chmod -R a+rwx ."

      Which is why I believe for a company, there is only one path to security - a combination of upper management understanding that security is important or they, not some lowly cubicle worker, could be out of a job, and Mandatory Access Controls.

      "People" shouldn't even be allowed to determine the permissions of a file. And they absolutely should not ever be able to change the "a" value, which should be hardcoded to 0 everywhere. Remember "default deny"? We'd not dream of having firewalls like that, but our filesystems all allow it.

      So, any security which requires signing of code to run will become looser and looser over time as problems are encountered.

      If that degradation is acknowledge and managed properly, it will stop at the point where further loosening would become more dangerous than profitable. Of course that's the theory. To make it reality, you need a commitment from up high. Which you don't get in these days because most top-level management knows the shareholders only care much about this quarter, and a bit about next, so fuck any long-term perspective.

      That is the real problem. An owner-owned company seldom has that problem, the guy wants to have his retirement one day.

      --
      Assorted stuff I do sometimes: Lemuria.org
    3. Re:I don't see it working for long. by JubalDroad · · Score: 1

      Isn't that partly just because the Unix permissions are too coarse to say what you really meant? Not clear this experience applies to a system that gives you better control over what you are sharing and better support (e.g., mandatory controls/information flow) for figuring out whether the policies are consistent with each other.

    4. Re:I don't see it working for long. by Anonymous Coward · · Score: 0

      As experience teaches us, the first thing that people who need to share do is "chmod -R a+rwx ."

      So, any security which requires signing of code to run will become looser and looser over time as problems are encountered. That bug is causing problems in production and it takes a week to validate and sign it? Loosen the validation to get it to 15mins, or turn it off completely.

      Wait, I'm confused. Looser? I think you've used that incorrectly; from what I've been able to determine, the proper usage is something more along the lines of "He is a looser." Sorry to be the grammar Nazi.....

    5. Re:I don't see it working for long. by Anonymous Coward · · Score: 0

      ... looser and looser...

      Wait, I'm confused. Looser? I think you've used that incorrectly; from what I've been able to determine, the proper usage is something more along the lines of "He is a looser." Sorry to be the grammar Nazi.....

      I don't know if you're being serious or trying to be humorous, and that scares me. "Looser" as in "more loose," "loose" being the opposite of "tight." A loser is one who loses.

  8. Fred Schnieder... by Anonymous Coward · · Score: 1, Funny

    "Until now, computer security has been reactive. Our defenses improve only after they have been successfully penetrated,"

    After reading the dude's name above, did anyone else hear this as a B52's song?

    Un-til NOW - computer security has been re - ACTive!...

    Tell it Fred!

  9. Nice Idea but long term will not work. by Anonymous Coward · · Score: 0

    Excellent idea but won't work in the changing market.

    Reason is the language can not do what Design is required to do. What ever scheme they come up with will only fall apart when the true requirements change. As systems change so will the language and since language needs to stay backwards compatible it will fail.

    Much better to train people in proper Software Development with a Security focus. This is where, what ever language is chosen by the Project Manager the goal will be achieved.

  10. what the security policies of java? by Joe+The+Dragon · · Score: 1

    what the security policies of java?

    that have there own holes?

  11. Reminds Me of EROS by matt_hs · · Score: 1

    I just read about EROS last week . . . don't know how well it works, and it's probably old news to a lot of people. But the concept seemed interesting. EROS OS

  12. and now ill go buy 80GB of ram by Anonymous Coward · · Score: 0

    just to run notepad

  13. WCF by Anonymous Coward · · Score: 0

    Microsoft's Windows Communication Foundation already support this...

    1. Re:WCF by Bill+Dog · · Score: 1

      My first thought was is this like .NET's Code Access Security but for Java?

      --
      Attention zealots and haters: 00100 00100
  14. Based on Jif, not (directly) Java by Lord+Grey · · Score: 1

    According to the paper, Fabric is an extension of Jif:

    Jif is a security-typed programming language that extends Java with support for information flow control and access control, enforced at both compile time and run time.

    Fabric adds distributed programming and transactions.

    Pretty cool stuff, even if it doesn't work everywhere and under all circumstances right now. It would be interesting to see how this kind of design matures.

    --
    // Beyond Here Lie Dragons
  15. Naming Conflict by gomek-ramek · · Score: 2, Informative

    Not to be confused with the *other* development-related Fabric at http://fabfile.org/

    1. Re:Naming Conflict by sco08y · · Score: 1

      As I understand, it was originally going to be called a "big honking metal plate" to "bolt on haphazardly", but somehow weaving fabric made marketing happier. Go figure.

  16. BOILERPLATE ENTERPRISE-GRADE SOFTWARE SOLUTIONS... by Suiggy · · Score: 1

    ...FOR ALL OF YOUR SECURITY NEEDS.

    Because we all know how much fun it is to write software like true EXPERT ENTERPRISE-GRADE PROGRAMMERS.

  17. It only addresses on aspect of the whole by JSG · · Score: 1

    It sounds good but it only addresses one security aspect of a system. It runs on top of Java which I seem to recall is blessed with a few bugs - how do they avoid those including all the ones that will appear in future versions.

    Then the Java stack sits on top of a OS and that is a massive "attack surface" or whatever is the current bullshit from the consultants (OK that includes me)

    Then the OS sits on top of some sort of hardware with its own built in software (BIOS etc) problems.

    Then the machine itself has a physical presence which can be subverted in amusing ways.

    Then we have the users/devs/sysadmins that constitute another weak link.

    Sounds a good idea though and the approach might be made to work down through the system. Perhaps it could be called Trusted Computing or something and would clearly need fronting by a consortium consisting of: AMD/Intel, Dell/HP/IBM,MS and Oracle - the fun loving group we can all trust to "Just Do It Right" (TM).

    1. Re:It only addresses on aspect of the whole by owlstead · · Score: 2, Interesting

      They partition it into several pieces so that you have modular access conditions. Java is already build in such a way that you cannot directly access the hardware - you can just run byte code. Of course, there may be bugs in native libraries or in the byte code execution, but that is a rather small attack surface. Basically, that's always what you try to do; you limit the exposure of security relevant features. There will of course still be bugs, but they should be much more localized.

      Building this on C++ would not make sense, since you cannot have modular security if your application logic runs in a single memory space. The only things you can do against that is trying to mitigate the fact that you *do* have access. Examples of mitigating that are the non-execute bit, random memory layouts with "no-go areas" and static analysis of code.

      So sure, there may still be holes. But I may at least be sure that that bug in the TCP socket library is not exposed to the part of the code that verifies user input, or badly written code in library X.

    2. Re:It only addresses on aspect of the whole by plover · · Score: 1

      But I may at least be sure that that bug in the TCP socket library is not exposed to the part of the code that verifies user input, or badly written code in library X.

      You may be sure of nothing. You may have increased confidence in resistance of your software to flaws, but there's always a set of very clever attackers who are constantly defeating these kinds of security measures: discovering new, untapped flaws in old software; or discovering new, untapped flaws in the users pushing buttons on your systems.

      For an example of why you still need to worry even if your OS supports the NX bit, see Return Oriented Programming. And ROP can be coded to use an application vulnerability, or even scan for the locations of libraries hidden via ASLR.

      --
      John
    3. Re:It only addresses on aspect of the whole by owlstead · · Score: 1

      The NX bit is only a stop gap measure. My point is that adding more security and more modularity by design is a good thing; it makes it harder to hack a system. This is also why managed code is a good thing; if you don't have access to the machine stack, you cannot attack it. The NX bit makes very little sense for interpreted languages or those running in a VM (using a separate memory space).

  18. Nice by Anonymous Coward · · Score: 0

    Someone once again managed to come up with a way to slap an additional ton of overhead on top of Java.

  19. Java? No thanks by Anonymous Coward · · Score: 0

    We're about to see Oracle go postal on the whole Java landscape, stay away from it.

  20. This isn't a new idea, really. by techno-vampire · · Score: 1

    I don't know about anybody else, but the first thing I thought of when I read TFS was SELinux. The only difference, really, is that instead of having the OS preventing various files from being accessed in insecure fashions, it prevents programs from doing insecure things to its own data. It's an interesting idea, but it's based on the assumption that you can't ever trust programmers to Do Things The Right Way. Of course, when you look at all of the buffer overflow exploits in Windows, it does begin to look like they're right but wouldn't it be better to teach proper programming technique in the first place?

    --
    Good, inexpensive web hosting
    1. Re:This isn't a new idea, really. by Raenex · · Score: 2, Insightful

      but wouldn't it be better to teach proper programming technique in the first place?

      Good God, no. How much failure do you need to see in the real world before you guys stop with this old saw about improving or hiring perfect programmers? Programmers are people, and they make mistakes, even the best of them. Any tool that helps automate away common mistakes is a good thing.

    2. Re:This isn't a new idea, really. by raddan · · Score: 1

      wouldn't it be better to teach proper programming technique in the first place?

      The thing is, people have been saying that for years. Every iteration of the programming system, whether it be automatic program correction, garbage collection, references-that-are-not-pointers, object-orientation, modularity, high-level programming, type systems, virtual memory, or whatever other language abstraction designers have come up with, there's always been some crusty old programmer in the back of the room shouting about how "kids these days should just learn how to program."

      And maybe if everyone needed to actually be a competent programmer in order to program, we wouldn't have this problem (I dispute this claim, BTW; I think good programming is simply the outcome of good design, but that good design is EXTREMELY difficult). But the barriers to entry in programming are fairly low. I would conservatively guess that most programmers are of the copy-and-paste from Google search results variety, and their code runs most of the time. The downside to this is obviously that most programs out there are shit. On the other hand, there are a lot of programs out there, and given the complexity of modern computers (do you really want the guy who's writing your medical records system to know about optimal register allocation-- REALLY?!), I think this is pretty astonishing. So safe programming systems are a huge benefit to everybody.

      To answer your question in perhaps a more terse way: nobody really knows what "proper programming technique" is. I'm not talking about the Joel Spolskys of the world who *think* they know (and certainly, they have many real insights). I mean that we don't have any idea what constitutes a "good" program, except maybe some heuristics (hang around with Ruby people for awhile... you'll hear words like "beautiful" and "DRY"... but when pressed for technical definitions will get rather wishy-washy). This is a very active field in computer science, and the researchers we're talking about here run the gamut from language designers to educational researchers to CS theoreticians. Definitely an open question.

    3. Re:This isn't a new idea, really. by owlstead · · Score: 1

      '... you can't ever trust programmers to Do Things The Right Way"

      I do development as well, and you can *bet* I don't ever trust programmers to do things the right way - including myself. The trick is to minimize exposure of the system and limit the severity of the bugs.

      Java is only so so. For instance, it does offer memory protection between classes, but it is not as modularized as it should be, and you do have many mutable and non-thread safe constructs (e.g. Java byte array).

      If this language can minimize security risks, I warmly welcome it. We could wait for the programmer to become bug proof, but that is like asking the user to understand OS security. It's just not going to happen (sorry).

    4. Re:This isn't a new idea, really. by techno-vampire · · Score: 1
      (do you really want the guy who's writing your medical records system to know about optimal register allocation-- REALLY?!)

      I realize that you intended this as a rhetorical question, but I'm going to answer it anyway. I don't care if that guy (or gal) knows about optimal register allocation, but I agree that it shouldn't be required for such a task. Still, writing code that minimizes the chance of buffer exploits or other common security issues isn't that hard, and I'd hoe that whoever wrote my medical records system knew enough to do that.

      --
      Good, inexpensive web hosting
    5. Re:This isn't a new idea, really. by techno-vampire · · Score: 1
      How much failure do you need to see in the real world before you guys stop with this old saw about improving or hiring perfect programmers?

      Where did you get that strawman from? I never wrote anything like that! I'm talking about simple things, such as using a function that only copies a specified number of bytes into a buffer instead of one that copies everything so that you can't overrun your buffer. Making that a habit doesn't make you a perfect programmer and it doesn't prevent any and all bugs but it does prevent buffer overflow exploits.

      --
      Good, inexpensive web hosting
    6. Re:This isn't a new idea, really. by Raenex · · Score: 1

      I don't see any straw man. Tripe about "trust programmers to Do Things The Right Way" and "teach proper programming technique" when it comes to buffer overflows is the same old shit we've been hearing for years from C programmers. It's much better if the language makes it impossible to have a buffer overrun, or in regards to the current article, to violate security policies.

    7. Re:This isn't a new idea, really. by techno-vampire · · Score: 1

      The straw man, of course, was your introduction of "perfect programmers," which is something I'd never mentioned. If you can, and do make it a habit of using string copy functions that prevent buffer overflows, all well and good; if not, it's not a bad idea to use a language that requires you to specify how many bytes to copy. The important thing isn't what language you use, but that you write programs where buffer overflows can't happen.

      --
      Good, inexpensive web hosting
    8. Re:This isn't a new idea, really. by Raenex · · Score: 1

      I said "improving or hiring perfect programmers", because while you didn't say perfect, your message about "trusting" the programmers and educating them is part of the same old message from C programmers that these mistakes can be eliminated with sufficiently educated/good programmers. To prevent all buffer overflows, programmers need to be perfect.

      No, just using something like a strncpy is not good enough. Even that requires the programmer to get the n right, and there are many, many places buffer overruns can occur. Just look at the huge number of bugs that have occurred in real-world systems.

      Now compare that with a language that, by design, doesn't even allow buffer overflows.

    9. Re:This isn't a new idea, really. by techno-vampire · · Score: 1

      Please understand me: first, I'm not that interested in arguing with you and second, I don't think this is a bad idea. My original point was simply that it's similar in concept to SELinux. Yes, I realize that making a habit of using strncpy() instead of strcpy() isn't a Magic Bullet, but it will block the simplest forms of buffer overflow because it won't let you copy more bytes than the buffer will hold.

      --
      Good, inexpensive web hosting
    10. Re:This isn't a new idea, really. by Raenex · · Score: 1

      First: If you're not interested in arguing, then don't. It takes two.

      Second: Your original point was, besides comparing to SELinux, to question the whole idea by instead trusting programmers and teaching them. And it was exactly this tired old saw I was responding to.

      By all means, if you're going to code in C, teach best practices, but it's a band-aid at best.

    11. Re:This isn't a new idea, really. by gbjbaanb · · Score: 1

      do you really want the guy who's writing your medical records system to know about optimal register allocation

      no, but I want him to know more than 'I click the wizard and it says "what parameters do you want", and I fill it in, and then I have a running web service'.

    12. Re:This isn't a new idea, really. by causality · · Score: 1

      I said "improving or hiring perfect programmers", because while you didn't say perfect

      Two things. One, you admit he didn't say "perfect". Two, perfect programmers don't exist. What then was the purpose of immediately going to the most extreme opposite of "flawed" when only "better" was proposed?

      Reductio ad absurdem doesn't work when used with a false dichotomy.

      --
      It is a miracle that curiosity survives formal education. - Einstein
    13. Re:This isn't a new idea, really. by Raenex · · Score: 1

      because while he didn't say perfect, your message about "trusting" the programmers and educating them is part of the same old message from C programmers that these mistakes can be eliminated with sufficiently educated/good programmers. To prevent all buffer overflows, programmers need to be perfect.

    14. Re:This isn't a new idea, really. by causality · · Score: 1

      because while he didn't say perfect, your message about "trusting" the programmers and educating them is part of the same old message from C programmers that these mistakes can be eliminated with sufficiently educated/good programmers. To prevent all buffer overflows, programmers need to be perfect.

      If I understand one of your previous posts correctly (where you said education was a "band-aid"), you advocate continuing to educate programmers while also equiping them with better tools that make it easier to write more secure software. That's what I advocate myself. I don't view "education" and "better tools" as mutually exclusive. Software security is in a fairly sorry state. Anything likely to constructively improve it is welcome in my mind.

      I do disagree that educating programmers about security is a band-aid. In fact you would probably need programmers who are educated about security in order to appreciate and utilize the security measures available. As other posters have pointed out, you can have the very best security mechanism in the world but it will be defeated by people who use "ALLOW: ALL" as the policy.

      There is, of course, a third factor that neither education nor language support seems to account for. I believe many of the problems with software quality, including security, are from the "rush to get it out the door" mentality at many software companies. You may have the best, brightest, most security-conscious programmer in the world and equip him with the best tools in the world. Yet if the boss absolutely insists that he do three weeks of work in ten day's time, to get that first-to-market advantage, then he's going to cut corners someplace. It probably won't be on the shiny features promoted by marketing. Other than making companies face liability for damages done by exploitable bugs, I don't see how you would change this.

      --
      It is a miracle that curiosity survives formal education. - Einstein
    15. Re:This isn't a new idea, really. by Raenex · · Score: 1

      I do disagree that educating programmers about security is a band-aid.

      It is when it comes to buffer overflows vs. using a language that doesn't even allow them.

      I don't view "education" and "better tools" as mutually exclusive.

      I don't either, except when the tool is rejected in favor of just needing more education and skillful programmers, which is what I was arguing against.

      I agree with the rest of your post.

    16. Re:This isn't a new idea, really. by causality · · Score: 1

      It is when it comes to buffer overflows vs. using a language that doesn't even allow them.

      An education worthy of the name would include a discussion about choice of language and how to choose one that is most appropriate for a given task. It would include the possibility of buffer overflows and similar bugs as a disadvantage of low-level languages like C or C++. As in, "if you really think you need a lower-level language, then you must be prepared to take responsibility for this danger because the compiler won't do it for you."

      Taking responsibility for that danger might or might not include using tools like this new extension to Java. It may mean abstracting dangerous functions into a library that has been thoroughly audited. It could mean any number of things less extreme than "these languages are now on the NEVER-USE-FOR-ANY-PURPOSE list".

      Expanding a bit on the problem with rushing software out the door, there is one big component that makes this possible. There is a market for insecure software. Large numbers of people who don't know better will buy it and then think that the problems with it are just a "normal" aspect of owning a computer. It is not just the programmers who need to be educated. There would be a lot more secure software if nothing else would sell.

      --
      It is a miracle that curiosity survives formal education. - Einstein
    17. Re:This isn't a new idea, really. by Raenex · · Score: 1

      An education worthy of the name would include a discussion about choice of language and how to choose one that is most appropriate for a given task. It would include the possibility of buffer overflows and similar bugs as a disadvantage of low-level languages like C or C++.

      Certainly true. However, I still stand by my statement with regards to education being a band-aid when it comes to buffer overflows. There's a guard of C/C++ programmers that claim the problem is not significant if programmers were merely educated about it. Compared to a language that makes buffer overflows impossible, and just how easy it is for even an educated programmer to make a mistake, education is a band-aid, even if it's a necessary one.

      I get a feeling we're going in circles here, so this is the last post for me.

  21. Amazingly...this isn't new by Anonymous Coward · · Score: 0

    In fact it's so old even microsoft is using it.Code contracts + security policy coding is already present in .NET framework (code contracts being a separate download).
    I'm pretty sure other languages have their own version as well.

    1. Re:Amazingly...this isn't new by owlstead · · Score: 1

      "Fabric integrates many ideas from prior work, including
      compile-time and run-time information flow, access control,
      peer-to-peer replication, and optimistic transactions. This
      novel integration makes possible a higher-level program-
      ming model that simplifies reasoning about security and con-
      sistency. Indeed, it does not seem possible to provide a high-
      level programming model like that of Fabric by simply lay-
      ering previous distributed systems abstractions."

      Gosh, it is almost like they know that those things already existed... I know, I know, reading the article, unfair advantage.

  22. FFS by Anonymous Coward · · Score: 0

    This is fycking gay, slashdot. It sounds like the language "is in control".

  23. ...an extension to the Jav by moxsam · · Score: 0, Offtopic

    Weaves Security Into Code, that sounds dingely goodie!!! No, really!!!

  24. Code is not everything by gmuslera · · Score: 3, Insightful

    Must be true AI to take out the biggest security problem... the user.

  25. Impossible to write insecure code? by pedantic+bore · · Score: 1

    Really?

    That would be quite a breakthrough, but I am skeptical. Depending on policy-based security requires that you also have a language for policies that make it impossible to write bad policies.

    I'd be thrilled with a programming language that makes it easy to write secure code, much less a language that makes it impossible not to.

    --
    Am I part of the core demographic for Swedish Fish?
    1. Re:Impossible to write insecure code? by owlstead · · Score: 1

      Yeah, well, that claim is neither in the introduction or in the conclusion. Actually, the word "impossible" does not seem to be present *anywhere* in the paper, so we may safely assume that that is another gross Slashdot overstatement (actually the article is about data access within a development model / runtime system, so you may even state that it is plain BS).

    2. Re:Impossible to write insecure code? by c0lo · · Score: 1

      Depending on policy-based security requires that you also have a language for policies that make it impossible to write bad policies.

      See, that's a good example of some sports very dear in the Corporate Olympic Games: blame-shifting (you need stamina) and finger-pointing (a game of speed). The software engineer is in a much better position now to win these games - bad policies is what happens at deployment/admin time.

      --
      Questions raise, answers kill. Raise questions to stay alive.
  26. Even if it is magical snake oil... by LSD-OBS · · Score: 1

    a) who cares? The JVM is fucking exploit-ridden anyway.

    b) they're polishing a turd

    --
    Today's weirdness is tomorrow's reason why. -- Hunter S. Thompson
  27. Doesn't allow insecure code? by Pedrito · · Score: 1

    The compiler enforces the security policies and will not allow the programmer to write insecure code.

    Oh really? I'm an expert. I can write insecure code in any language. Guaranteed!

  28. Not that bad an idea by HiThere · · Score: 2, Interesting

    They'd have needed to make unbounded string the default literal character type, and given it a better name. Say, just "string". They'd have needed to make it easier to use the heap. Garbage collection would need to be built-in (optionally disableable) rather than optional, and never implemented.

    And they should start from the Spark subset of Ada.

    But Ada won't ever go anywhere, and wishing it would is futile. It's been purposed to the embedded systems market, and it's not likely to change.

    O, they should also define a built-in B+Tree data-type. (Generic, so it could be adapted to the particular types that you want to work with.)

    A problem is in the GUI. If you allow C callbacks you don't have a secure system. If you don't, you need to maintain your own GUI system. And it will never look like the other systems. Probably this would mean you need to partition the compilation into secure modules and non-secure modules. (Allowing you to call C libraries eases all kinds of problems...but it's death on a secure system. This means that you need to be able to partition things into parts that you can't really trust, and parts that you can.)

    It's a pity this is a waste of speculation, because it's not going to happen. Most people hear the term Ada and they think of scare stories, not realizing how much worse C++ is than Ada ever was in terms of complexity and difficulty to master.

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
    1. Re:Not that bad an idea by Nutria · · Score: 1

      But Ada won't ever go anywhere, and wishing it would is futile.

      Just like COBOL, the best Domain-Specific Language for writing financial apps.

      --
      "I don't know, therefore Aliens" Wafflebox1
  29. Did this in the 1970's by karl.auerbach · · Score: 1

    Back in the 1970's at System Development Corporation (SDC) in conjunction with groups at SRI, RSRE (in the UK), and elsewhere we were doing a lot of work on provably correct systems, including operating systems.

    (The notion of "correct" was limited to a security criteria - a correct box did not need to work, only that it met the security criteria.)

    We used languages such as Ina Jo and Pascal filled with lots and lots of formally shaped assertions about explicit and side effects.

    This was moved down into hardware through the use of capability based hardware, such as the Plessy SS 20(?), the IBM Sword (not the newer IBM thing by the same name), the Intel 432, and other hardware that never saw the public light of day. (Those who funded these projects were not fond of the public limelight. and some of this work is not easy to find on the web.)

    I did some papers about how one might build a debugging system for this kind of secure software - debugging tends to cut through security walls - but I have never seen those on the public net.

    1. Re:Did this in the 1970's by karl.auerbach · · Score: 1

      I forgot to mention that a lot of work was based on Jerry Popek's UCLA Data Secure Unix.

      Data Secure Unix was amazingly slow. We could type the "date" command into the shell and when we got back from lunch it would be done telling us what time it was.

  30. Java? by modmans2ndcoming · · Score: 1

    It's built on Java... so it is going to be bloated and have 45,000 libraries that do the same exact thing.

  31. nothing new, just AOP done badly by PJ6 · · Score: 1

    There are a few ways to do aspect-oriented programming, and having everything inherit from a common base class is one of the crappier methods of implementation. There's nothing new about security in there, either.

  32. object-capability security by chocobot · · Score: 2, Informative

    People interested in this should also have a look at the E language. It is also a secure programming language. It goes a different route - there are no policies, instead a reference to an object gives the right to access the object. This works because there is no global access to objects. They call it object capability security. There is also a java compiler addon to enforce capability security. The relevant website is http://www.elang.org/

    1. Re:object-capability security by chocobot · · Score: 2, Informative

      oops, wrong URL. It's http://www.erights.org/

  33. Security first by fishbowl · · Score: 1

    Our homegrown SOA has security constraints at every initialization and every commit. The same conditions exist for the Entity layer as for the service, but are separately managed. Essentially, unless you explicitly make your service "non secured", you have to give it a role-hierarchy based graph of security constraints. We have a well-defined way of doing this, and it is a primary consideration of everything we add to the system.

    That's not the same as "adding security to the language", but in my world it is much more relevant.

    AOP is a means to the end for an architecture like this, but AOP is not in and of itself, the end result.

    --
    -fb Everything not expressly forbidden is now mandatory.
  34. It's not a language problem by Sheik+Yerbouti · · Score: 1

    Yeah here's a tip the reason there is a lot of insecure code out there is that there are a lot of programmers out there that think that security problems are overstated and a bunch of hype. That's one of the reasons there are so many problems they think they have it all figured out when they clearly don't. They think security just slows them down and gets in their way. So how are you going to get this recalcitrant bunch to use the super secure language?

  35. fad by Anonymous Coward · · Score: 0

    But now Dr. Dobb's reports that researchers at Cornell are developing a programming platform called 'Fabric,' an extension to the Java language that builds security into a program as it is written. Fabric is designed to create secure systems for distributed computing, where many interconnected nodes — not all of them necessarily trustworthy — are involved, as in systems that move money around or maintain medical records.

    That'll be broken before it's ever used. I can see it now fabrihax.rar.torrent fabrixcull.gz
    The fabric language alone won't be targetted, the java platform will be, and since that's now maintained by Oracle (mediocre) fun will be had by all.
    I wouldn'r go near "fabric" with a 25 ft. barge pole, but I could certainly see why minions.gov would want u to be suckered into it, for prostitute-grade easy access.

  36. Rerooted Inheritance by Doc+Ruby · · Score: 1

    I'd love to be able to use existing class libraries (like JDK), because I know them and there's lots of existing software dependent on them, but add features like these in Fabric to that class hierarchy. By making the existing Class Object inherit from something with those new features, like Class SecureObject. Then satisfy all the requirements of the newly featured objects in all the source code that calls the class library. But I don't see any way to insert other classes deeper towards the root of a class tree for universal changes across all that inherit from it.

    --

    --
    make install -not war

  37. Re:BOILERPLATE ENTERPRISE-GRADE SOFTWARE SOLUTIONS by fishbowl · · Score: 1

    Even a "true expert enterprise-grade programmer" doesn't necessarily know until the requirements are gathered, who gets to make what posts to the General Ledger, who gets to approve Sales Invoices at what levels, under what other business constraints, etc. This is the layer where enterprise security actually lives, and the only thing your programming language and runtime implementation can do is to assure you that when you do implement these constraints, there won't be any unknown back doors to get around the rules. (There will always be *known* back doors.)

    Do people really expect their programming language to codify and enforce constraints like "third shift receiving manager may not accept shipments without an authorization XYZ..."

    I expect a runtime environment to prevent that user from doing anything at all that could work around this kind of constraint. And, of course, template-driven web applications with business logic in Java on a well-secured server, with a database on a separate well-secured server, gets the job done just fine, and in an abundantly secure fashion.

    (I realize the article refers to lower-level security in the context of parallel and distributed runtimes, which is something that I'm actually interested in, from an academic point of view. I took grad courses in parallel and distributed computing but this research has been of little to no use in the real world.)

    --
    -fb Everything not expressly forbidden is now mandatory.
  38. Does Perl already do this? by byronblue · · Score: 1

    "builds security into a program as its written". Doesn't Perl already do this? Security by obscurity.

  39. Poor Apple... by znerk · · Score: 1

    Apple just deprecated Java. Sucks to be them.

    --
    This work is licensed under a Creative Commons Attribution 3.0 Unported License.
  40. pointless by t2t10 · · Score: 1

    The problem with security is ultimately not that people can't write secure code, it's that they don't even understand what to allow and forbid.

    In different words, people are going to get the permissions and policies wrong; they are first going to make them too restrictive, and then when the system doesn't work, they are going to make them too permissive. Just like, you know, on operating systems, where every object already has policies and permissions associated with it.

  41. Be careful there by Anonymous Coward · · Score: 0

    this "will not allow the programmer to write insecure code" just like oracle was "unbreakable" and like "640k ought to be enough for anyone". Dumb programmers will find a way to make this insecure and smart programmers will be forced to in the worst way possible -- by having to implement workarounds in order to keep their jobs due to having to meet idiotic systems requirements.

  42. Snakeoil by A+beautiful+mind · · Score: 5, Interesting

    The language is either not Turing complete and then mostly useless for practical general computing, or it is Turing complete and then it provides no real security.

    It might avoid some class of problems, but it will never free a programmer from having to clarify his/her intentions. Security is an abstraction-level free problem, meaning that it equally can be an issue at the x86_64 instruction set level and also at the level of high level contractual/social agreements that code has to handle.

    As Bruce Schneier said long ago: Security is not a product; it's a process.

    Security is also a tradeoff between a system being secure and usable. You can make things more secure by allowing a system to do less. I'm not saying that this new programming language is useless, but it all comes down to a careful description of the language. If the creators advocate it as a secure programming language that makes code written in it secure by default, then they are almost certainly wrong and will quickly become a laughingstock. On the other hand, if they market it as a language that avoids or makes it impossible to commit certain classes of security problems, as a language that pays attention to it's core code for security issues and as a language that makes it clear security is a mindset, then I see it being useful.

    --
    It takes a man to suffer ignorance and smile
    Be yourself no matter what they say
    1. Re:Snakeoil by Tom · · Score: 1

      The language is either not Turing complete and then mostly useless for practical general computing, or it is Turing complete and then it provides no real security.

      You say that based on what analysis?

      Sure, a programming language alone will never bring you 100% perfect security. Neither does any other system, method or tool. Sure you and I can write great, safe code in C. But the large majority of programmers has too little experience, doesn't care all that much, and is under perpetual time pressure to deliver functionality. The choice of language can dramatically change the quality and security of your code.

      And, without having studied it in detail so far, from what I see this new language does offer some very nice features that current software usually needs, but almost always never has, due to the effort required in adding it individually. Fine-grained access controls on individual data objects sounds like a fantastic concept to have. Of course it requires you already have some kind of data labelling and role models with defined accesses, so this is probably not for the home user, but in a corporate environment? Hell, yeah!

      --
      Assorted stuff I do sometimes: Lemuria.org
    2. Re:Snakeoil by dkf · · Score: 1

      The language is either not Turing complete and then mostly useless for practical general computing, or it is Turing complete and then it provides no real security.

      That's highly disingenuous. If a turing-complete language can't make system calls or prevent the OS from wiping it out after a certain amount of time, it can't do anything nefarious. Or much useful either. (It's more usual to expose a subset of the OS's syscalls (ideally a safe subset) so that something useful can be done before the OS kills off the program, of course, but that subset can be highly closed down.)

      Unless you think that a guaranteed finite computation without syscalls is dangerous, which is an interesting metaphysical position but not one I have much time for.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    3. Re:Snakeoil by Just+Some+Guy · · Score: 2, Interesting

      The language is either not Turing complete and then mostly useless for practical general computing, or it is Turing complete and then it provides no real security.

      It doesn't have to be all-or-nothing, though. You could make a similar argument about the usefulness of ACLs or Unix permissions or virtual memory: "these won't fix everything!" And yet all of those do make our systems more secure, and we certainly wouldn't want to get rid of them just because they're not perfect.

      Speaking of ACLs - you could bolt something like that onto an existing language pretty easily. Imagine a "hardened Python" (that's what she said!) that runs in a Java-like sandbox with no access to the outside world by default, and where you had to decorate functions with the list of permissions they need:

      @writesToFilesIn('/tmp')
      def dosomething(): ...

      or

      @canUseCpuSeconds(42)
      def expensivecalculation(): ...

      Obviously that wouldn't solve every security problem, because you'll inevitably get idiot savant programmers who figure out how to allow web clients to pass SQL strings and then execute them. It'd go a long way toward eradicating a lot of more common coding-with-insufficient-coffee errors, though, and I think that would be pretty valuable even if it's not perfect.

      --
      Dewey, what part of this looks like authorities should be involved?
    4. Re:Snakeoil by gweihir · · Score: 1

      I fully agree. Security is also not something that can be automatized, as what "secure" means depends strongly on context and requirements, i.e. it requires a risk analysis that goes beyond mere technological aspects.

      If this thing takes off, it will make security worse, because people will think they now can program secure software without having any security experts on the team. It will also make them think that secure design, interfaces, protocols are not needed for secure software, after all there is a language that does it all.

      So I very much hope this does not take off. Fortunately that is the most likely outcome anyways.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    5. Re:Snakeoil by JubalDroad · · Score: 1

      Yes, just think how secure our systems would be if only we'd stayed with assembly (or machine language) so that programmers didn't get soft and lazy working in C...

  43. A secure language by ignavus · · Score: 4, Funny

    "Hello, wo..."

    "ACCESS DENIED - world does not accept greetings from unknown source."

    --
    I am anarch of all I survey.
    1. Re:A secure language by roman_mir · · Score: 1

      This gave me an idea for a new type of language.

      "Hello, wo..."

      "FUCK YOU. You are a prick and you should rot in hell, I am not running that shit. You call yourself a programmer?".

  44. Its about software architecture by TheChrisCarroll · · Score: 1

    the key statement in TFL is it 'makes security reasoning explicit and direct'. It addresses the software architecture problem that you mostly cannot reason confidently about the security of an application -- you cannot be confident that even a team of infallible programmers could produce a secure system because there is no way to exactly explain the right rules that would result in a secure system.

    In this respect, application software architecture mostly lags behind network, OS and DB security architecture, where authentication and access control work in a way that allows for reasoning about the security, i.e. you can assert 'if this authentication and access control is implemented correctly then these resources will be secure, except from bugs in a lower layer of the architecture.'

    Example: when you create user accounts on a *Nix or windows machine, you do not have to inspect all the applications on the system to confirm that none of them let user X access user Y's home directory. You can reason that the O/S's access control stops applications from doing that unless certain conditions are satisfied (eg user X is listed in the sudoers file).

    This what you _can't_ do with most application software. An example : data driven applications which store data for thousands or millions of users will typically not create thousands or millions of DB logins each with controlled access. Instead, the application will use a single login for all users and rely on logic embedded in - and scattered throughout - the application code to stop user X seeing user Y's data. To verify "X cannot see Ys data" requires all the application data retrieval code to be inspected. All maintenance of this code risks introducing a leak.

    This project appears to offer to close that gap in application security architecture. It's progress. Yes there are frameworks out there that address application level security, but having it embedded in the language is the right approach.

  45. Attention Academia ... stop 'innovating' in JAVA by Anonymous Coward · · Score: 0

    This has to bug me more than anything. All these "innovations" being created ... in {ug} JAVA.

    Attention smart people at great institutions of higher learning ... go back to using C. The rest of the world can then re-use and improve upon your code.

    Sheesh.

  46. Is it self-documenting, too? by kmoser · · Score: 1

    I'll bet the code is also self-documenting. And automatically enforces that it's used properly. So we can all breathe easier now that the problem of security has been solved.

  47. In Haskell by michael1221988 · · Score: 1

    Computer science loves to reinvent things. Haskell has this and this is an active area of research. Here is the original paper: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.149.5907&rep=rep1&type=pdf#page=185 (A library for light-weight information-flow security in Haskell)

  48. YAD ( Yet Another Dissertation ) by FlyingGuy · · Score: 0, Troll

    It simply boggles the mind that some well intentioned, but woefully misguided Ph.D candidate gets the idea of his or her dissertation published as a usable program / Language Extension.

    When will they learn that no amount of crap (This code) piled on top of crap ( Java interpreter ) piled on top of crap ( JVM ) piled on top of crap ( O/S ) piled on top of crap ( exploitable microcode) that the exploits are reflected all the way back to the top of the heap of crap and no matter how you dress it it is still a huge heap of crap!

    --
    Hey KID! Yeah you, get the fuck off my lawn!
  49. Mutt is great for HTML email... by Anonymous Coward · · Score: 0

    ...when you set up the right mailcap to convert it to text with w3m!

    It makes people flip when they see their HTML email, MS Word attachments, and PDF attachments rendered into plain old text and displayed in mutt on my xterms.

  50. Java? by ovidus+naso · · Score: 1

    Security through obscu^H^H^H^H^H lethargy

    --
    ---------- ovidius naso
  51. No internet access at the time? by Anonymous Coward · · Score: 0

    It could have tried to bill the card as a test tomake it work. I wish I was kidding... 19:00 forwards

  52. Re:Attention Academia ... stop 'innovating' in JAV by uninformedLuddite · · Score: 1

    This has to bug me more than anything. All these "innovations" being created ... in {ug} JAVA.

    Or testing students programming skills using COBOL

    --
    The new right fascists are bilingual. They speak English and Bullshit.
  53. 80/20 by krischik · · Score: 1

    If a hard had can save live in 80% of building side accidents is it not worth it?

    Would you refuse to wear it out of sympathy for the 20% of cases where did not work out?

    Mind you, some building side worker do precisely that...

    1. Re:80/20 by CProgrammer98 · · Score: 1

      You sir may need a new keyboard as your current one is randomly replacing the letter "t" with the letter "d".and is missing out letters sometimes.

      "hard haT", "building siTe", save liveS", "where IT did not work out"

      --
      And the people shall be oppressed, every one by another, and every one by his neighbour Isaiah 3:5
  54. Re:Attention Academia ... stop 'innovating' in JAV by Anonymous Coward · · Score: 0

    Perhaps you would rather look at Cyclone then?

  55. Keep up... by zandeez · · Score: 2, Informative

    Come on Java guys, .NET has had a policy framework for years! It's called Code Access Security, It's what prevents WPF browser applications accessing most of your pc. applications run from internet zones are denied access to environment variables even.

  56. Um, this is a Java module? by dhammabum · · Score: 1

    And how is Java secure?

    --
    I am not a robot. I am a unicorn.
  57. netiquette by krischik · · Score: 1

    It is bad netiquette to speak of spelling mistakes as the internet is an international place and the person you correct might not be a native speaker.

    1. Re:netiquette by tehcyder · · Score: 1

      It is bad netiquette to speak of spelling mistakes as the internet is an international place and the person you correct might not be a native speaker.

      Not being a native speaker does not mean you can be lazy. If I posted on a foreign language website, I would be expected to conform to that language's grammar and spelling. After a certain level/number of mistakes, communication becomes confused or even impossible.

      Besides, if you are learning a language, it is positively helpful to have mistakes pointed out, although admittedly on the net you're more likely to be called a fucktard newbie luzr than given constructive advice.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
  58. For medical records? Really? by Peter+Mork · · Score: 1

    Ultimately, it is the patient who should control access to her medical information. This is the central tenet of privacy. Labeling Java classes with security markings won't work because you need the equivalent of row-level access policies. And, the row-label is usually: ask the patient. However, this approach doesn't scale. So, color me skeptical.

    As a concrete alternative: What we need is a way for patients to specify their privacy expectations and for the system to enforce those expectations. This approach also requires good defaults, for example specified collaboratively by privacy advocates (favoring sharing limitations) and health care advocates (favoring information sharing for specific purposes).

  59. Oss and Gpl by Sandb · · Score: 1

    Wasn't too clear from the site, but downloaded it and checked, oss and gpl 2, coolness!

  60. Not really a Java module by JubalDroad · · Score: 1

    They built the system on top of Java, and the language is similar to Java, but it is not really Java. It doesn't expose that much of Java and it has its own protocols for security policies, communication, serialization, and persistence. It looks like a node of Fabric could be implemented without using Java or the JVM at all.

  61. Not sure about this one.... by hesaigo999ca · · Score: 1

    Is this built into the compilation time and then just left alone, or is this another security layer that is checked each time you run your programs, thereby making an extremely slow language even slower?

  62. Gnu Public License!? by Anonymous Coward · · Score: 0

    Even if it has value they made sure this would never be used widely by releasing this under a GPL license. Same for Jif.
    That ensures no one can use it for commercial purposes. In other words this is purely an academic exercise.

  63. Fix? Trying paying programmers Doctor/Lawyer pay by bouldin · · Score: 1

    Doctors and lawyers can easily bring in double the salary of a software engineer because quality is top priority.. They have "mission critical" jobs.

    Software engineering, OTOH, has seen a race to the bottom in terms of salary.

    Why? Because quality is not top priority for software. Secure code is not seen as mission critical, and somehow programming is a lower-class job.

    The software industry needs to wake up and recognize that software quality is mission critical, and can't be automated in the same way as manufacturing a car.. Writing good code requires talent and training, just like writing good contracts, researching case histories, diagnosing illness, or performing surgeries.

    Bad code leads to bad things.. Crashed aircraft, stolen intellectual property, dead patients; everyone on slashdot knows these things. In 2002, the NIST concluded software bugs cost the US economy $59 billion annually. A 2007 IEEE paper concluded vulnerability announcements typically reduce a firm's stock price by 0.63% on the day of announcement. http://www.computer.org/portal/web/csdl/doi/10.1109/TSE.2007.70712

    Try requiring similar levels of training and accountability from your programmers. Pay commensurate with that expertise.

  64. Bye bye, PHB by Anonymous Coward · · Score: 0

    The compiler enforces the security policies and will not allow the programmer to write insecure code

    20% of PHBs will soon lose their jobs. Automated!

  65. Re:BOILERPLATE ENTERPRISE-GRADE SOFTWARE SOLUTIONS by Anonymous Coward · · Score: 0

    There will always be *known* back doors.

    Those are front doors, numbnuts.

  66. Reminds me of an old magazine ad by Linux_ho · · Score: 1

    The ad pictured a brick wall, covered floor to ceiling with fire alarm bells. The caption was, "More security doesn't make you more secure."

    --
    include $sig;
    1;