Slashdot Mirror


30-Day Status Update On LibreSSL

ConstantineM writes: "Bob Beck — OpenBSD, OpenSSH and LibreSSL developer and the director of Alberta-based non-profit OpenBSD Foundation — gave a talk earlier today at BSDCan 2014 in Ottawa, discussing and illustrating the OpenSSL problems that have led to the creation of a big fork of OpenSSL that is still API-compatible with the original, providing for a drop-in replacement, without the #ifdef spaghetti and without its own "OpenSSL C" dialect.

Bob is claiming that the Maryland-incorporated OpenSSL Foundation is nothing but a for-profit front for FIPS consulting gigs, and that nobody at OpenSSL is actually interested in maintaining OpenSSL, but merely adding more and more features, with the existing bugs rotting in bug-tracking for a staggering 4 years (CVE-2010-5298 has been independently re-discovered by the OpenBSD team after having been quietly reported in OpenSSL's RT some 4 years prior). Bob reports that the bug-tracking system abandoned by OpenSSL has actually been very useful to the OpenBSD developers at finding and fixing even more of OpenSSL bugs in downstream LibreSSL, which still remain unfixed in upstream OpenSSL. It is revealed that a lot of crude cleaning has already been completed, and the process is still ongoing, but some new ciphers already saw their addition to LibreSSL — RFC 5639 EC Brainpool, ChaCha20, Poly1305, FRP256v1, and some derivatives based on the above, like ChaCha20-Poly1305 AEAD EVP from Adam Langley's Chromium OpenSSL patchset.

To conclude, Bob warns against portable LibreSSL knockoffs, and asks the community for Funding Commitment. The Linux Foundation has not yet committed support, but discussions are ongoing. Funding can be directed to the OpenBSD Foundation."
Update: 05/18 14:28 GMT by S : Changed last paragraph to better reflect the Linux Foundation's involvement.

164 comments

  1. Video of the presentation by ConstantineM · · Score: 4, Informative
    1. Re:Video of the presentation by Anonymous Coward · · Score: 5, Interesting

      Go go go LibreSSL, you guys have my complete support!!! I've filed four bugs and two enhancements with OpenSSL over the years, and all of them have been ignored by the OpenSSL devs. That's lame. I knew OpenSSL was a festering crock of shit, but what were we to do. Now we have LibreSSL and I would encourage everyone to send support, even if only just a pizza, and use LibreSSL.

    2. Re:Video of the presentation by Anonymous Coward · · Score: 0

      Man is not a bad speaker. I found that rather enjoyable.

      As surprise ponies are always fun.

    3. Re: Video of the presentation by jackspenn · · Score: 1

      Thank you for posting this. Very insightful and enjoyable to see real world solutions that got me thinking about forking options vs sticking with and fixing initial project. Will be very interesting, my hope is libressl gets enough funding to have some positive competition and/or some cooperation with openssl folks. That way the greater community/ecosystem will win in the end. Love seeing open soure community working to resolve this complex problem. Its the embodiment of principles raised in "The cathedral and the bazaar". Side note: Comment at end about openssl being established in Maryland (NSA?) and suggestion of incompetence vs maliciousness really got my head spinning.

      --
      Respect the Constitution
    4. Re:Video of the presentation by Anonymous Coward · · Score: 0

      I had the opposite: I send both projects money. I got a thank you from OpenSSL.

  2. Throwing out all compatibility hooks makes it easy by Antique+Geekmeister · · Score: 3, Insightful

    If you clear out the various multi-platform work for OpenSSL, _of course_ it can progress more quickly and more securely. The multi-platform work is where so much of the work has been done.

  3. Multiplatform? by im_thatoneguy · · Score: 1, Insightful

    I had read early on that most of the code they had stripped out was code supporting Windows and OSX. Is that true or was that just the initial pass? Dumping hundreds of thousands of lines of code is impressive--but if it comes at the cost of multiplatform support it's not surprising.

    1. Re:Multiplatform? by _merlin · · Score: 4, Informative

      They removed support for OpenVMS, Pyramid, Tandem classic MacOS, and other stuff like that. I don't know if they removed Windows and OSX support, but it'd be pretty silly if they did.

    2. Re:Multiplatform? by Anonymous Coward · · Score: 2, Informative

      They did, this is BSD compatible only.

    3. Re:Multiplatform? by radarjd · · Score: 5, Informative

      It does indeed appear to be OpenBSD only at present (from http://www.libressl.org/ ):

      Multi OS support will happen once we have

              Flensed, refactored, rewritten, and fixed enough of the code so we have stable baseline that we trust and can be maintained/improved.
              The right Portability team in place.
              A Stable Commitment of Funding to support an increased development and porting effort.

    4. Re:Multiplatform? by Anonymous Coward · · Score: 5, Informative

      Partially true but...
      A key issue is that the LibreSSL developers have a different approach to portability than OpenSSL has.
      - OpenSSL keeps support for very very old platforms, old compilers, old platform and compiler bugs, etc, etc.
      - OpenSSL implements this support by sprinkling the code with different code paths, depending on which platform it's being compiled to.

      LibreSSL, like OpenSSH, takes a different approach:
      - Aim at a modern platform (OpenBSD) and a modern C dialect.
      - Support other platforms by providing implementations of whatever functions are missing on those platforms.

    5. Re:Multiplatform? by thegarbz · · Score: 5, Informative

      It's in the slides. They stripped out code supporting Win16 (which won't run on modern Windows anyway), and they dropped support for pre OSX versions of Mac OS.

      That said currently they are cleaning up and perfecting the code with one and only one sane target in mind, OpenBSD. The goal is to have a very good very secure fork of OpenSSL running on OpenBSD that is fully POSIX compliant. Once that has been achieved porting should be relatively pain free.

      Give them time.

    6. Re:Multiplatform? by rev0lt · · Score: 1

      From the presentation, its not. Its POSIX-compatible. I'm not sure if Windows provide an adequate entropy source they mention, but I'd assume so. They explicitly removed dead architectures (hence the VC++ reference).

    7. Re:Multiplatform? by Anonymous Coward · · Score: 2, Informative

      I don't know if they removed Windows and OSX support, but it'd be pretty silly if they did.

      They removed Windows and Mac OS pre-10 ("Classic"). Mac OS X should be fine, as it's basically Unix/BSD in the user land.

    8. Re:Multiplatform? by ld+a,b · · Score: 2

      No it's not, it is stated quite clearly that it is written for OpenBSD. OpenBSD is mostly "POSIX-compatible" but they aren't too shy to extend libc when there isn't a good alternative. The slides and the talk mention strlcpy/cat(unfortunately ignored by C11 but widely adopted everywhere but GLIBC) and reallocarray. Only obliquely referenced is a proper kernel API (P)RNG which is not available in most platforms(using /dev/*.random instead, which has many issues[1]).
      However, like OpenSSH, you can expect the LibreSSL portability team to write wrappers to make the best of what there is in your OS. As opposed to the best Win16 could do.

      [1] http://insanecoding.blogspot.j...

      --
      10 little-endian boys went out to dine, a big-endian carp ate one, and then there were -246.
    9. Re:Multiplatform? by ld+a,b · · Score: 1

      Sorry I posted the wrong link.

      [1] http://insanecoding.blogspot.j...

      --
      10 little-endian boys went out to dine, a big-endian carp ate one, and then there were -246.
    10. Re:Multiplatform? by thegarbz · · Score: 1

      Replying to self: The slides actually say "mostly POSIX compliant". There's a few things which will need to be ported to make it work on other systems. But in any case dropping support for ancient systems and doing everything yourself assuming the OS provides nothing was a bad idea, maybe not in the 70s but certainly now.

    11. Re:Multiplatform? by Anonymous Coward · · Score: 0

      Windows is mostly sane at this point and while not optimal (IOCPs will work better than POSIX style non-blocking IO on windows) code that is written to be portable should compile with minimal work. C99 in MSVC is still a frigging disaster though...

    12. Re:Multiplatform? by Too+Much+Noise · · Score: 3, Interesting

      It does indeed appear to be OpenBSD only at present (from http://www.libressl.org/ ):

      ... and not really that multiplatform for future development, either, since it requires (as per the linked slide)

      Modern C string capabilities (strl[cat,cpy]) asprintf etc.

      None of the quoted functions are standard C and strl* are BSD-only - yay for GNU-BSD strn*/strl* string function wars :(

      It's all nice and good practice that they want to use the best tools available to them on OpenBSD, but not caring for what's available on other platforms is not really how one does portability and *will* produce forks, regardless how much the LibreSSL authors want to 'discourage' it.

    13. Re:Multiplatform? by serviscope_minor · · Score: 4, Insightful

      using /dev/*.random instead, which has many issues[1]

      I must say, I really, really don't understand most of those issues, or more specifically, most of them seem like pointless fussing non issues.

      So a large number of them are "what if someone fucks with /dev/random". Since those are protected by permissions that basically translates as "what if someeone gets root and fucks with /dev/random" which to me translates as "what if someone gets root". My general answer to that would be "j00 r pwn3d!". As far as I can see, if someone gets root, you're completely fucked anyway, since the can do something like:

      * Simply read the local unencrypted data you're trying to send or are saving
      * Open /prov/pid/mem and read your program memory
      * Same, but writing it to compromise the RNG
      * Do the same to the /dev/kmem to compromise the RNG for builtin crypto
      * Load a kernel module
      * Screw with /vmlinuz or whatever and reboot
      * Replace the binary you believe you are running with one with compromised crypto
      * Monkey with LD_PRELOAD to bring in a compromised libcrypto
      * Replace the dynamic loader so you're not running the binary you believe you are.

      and so on. In other words it seems that once the person has the ability to compromise /dev/random, you're already fucked six ways to sunday.

      But I'm not 100% sure I've missed something in my assessment.

      --
      SJW n. One who posts facts.
    14. Re:Multiplatform? by Anonymous Coward · · Score: 0

      I prefer that the main part of the library is secure, and that you have to add a layer around it to convert from strn*- to strl*-functions. That way, you limit the wrapper to a handful of functions which can be verified independently from the main parts.

      Secure code is maintainable.

    15. Re:Multiplatform? by gnasher719 · · Score: 1

      I had read early on that most of the code they had stripped out was code supporting Windows and OSX. Is that true or was that just the initial pass? Dumping hundreds of thousands of lines of code is impressive--but if it comes at the cost of multiplatform support it's not surprising.

      Code for MacOS is thrown out. That's from MacOS 1 released in 1984 to MacOS 9, where Apple ceased all development in 2001. And there is no need for OS X code. They are writing POSIX code, and POSIX runs just fine on MacOS X and iOS.

    16. Re:Multiplatform? by Anonymous Coward · · Score: 0

      They removed things like Windows native networking support, because Windows has supported the standard BSD socket interface for god knows how long. Less redundant code means smaller development, testing and maintenance burden.

    17. Re:Multiplatform? by Anonymous Coward · · Score: 0

      > It's all nice and good practice that they want to use the best tools available to them on OpenBSD, but not caring for what's available on other platforms is not really how one does portability and *will* produce forks, regardless how much the LibreSSL authors want to 'discourage' it.

      Yeah, for example OpenSSH has been forked so many times because bundling a copy of strlcpy to make it compile on glibc systems is so fucking hard.

    18. Re:Multiplatform? by Anonymous Coward · · Score: 1

      > yay for GNU-BSD strn*/strl* string function wars

      There is no war. glibc lost the argument about as thoroughly as you can. "Everyone" ships their own (sometimes badly reimplemented) strl* functions because the glibc developers are too boneheaded to admit it.

    19. Re:Multiplatform? by unixisc · · Score: 1

      They removed support for OpenVMS, Pyramid, Tandem classic MacOS, and other stuff like that. I don't know if they removed Windows and OSX support, but it'd be pretty silly if they did.

      Given that this is the OpenBSD team that's working on it, why should they retain support for anything else? If other people want Windows or OS-X versions of LibreSSL, let them get programmers to work on it, or get Microsoft & Apple to do it.

    20. Re:Multiplatform? by unixisc · · Score: 1

      I don't know if they removed Windows and OSX support, but it'd be pretty silly if they did.

      They removed Windows and Mac OS pre-10 ("Classic"). Mac OS X should be fine, as it's basically Unix/BSD in the user land.

      Even for userland, ain't there a divergence b/w OS-X and OpenBSD? Since the former derives from FreeBSD

    21. Re:Multiplatform? by rev0lt · · Score: 1

      I was referencing this specific slide http://www.openbsd.org/papers/... They clearly state their portability goal is mostly POSIX-compatible, but after a second read it is not obvious it its being used as a base reference, as you point out.

    22. Re:Multiplatform? by GuB-42 · · Score: 1

      Modern C string capabilities (strl[cat,cpy]) asprintf etc.

      None of the quoted functions are standard C and strl* are BSD-only - yay for GNU-BSD strn*/strl* string function wars :(

      It's all nice and good practice that they want to use the best tools available to them on OpenBSD, but not caring for what's available on other platforms is not really how one does portability and *will* produce forks, regardless how much the LibreSSL authors want to 'discourage' it.

      If you really want to be clean you shouldn't even use strl*/strn* functions. Either you know exactly what the strings will be and it is safe to use strcat/strcpy or you should check beforehand that you won't overflow and report an error if it happens.
      Something like this :
      size_t src_len = strlen(src) + 1;
      if (src_len > dst_len) goto error;
      memcpy(dst, src, src_len);

      strl*/strn* may be good at limiting the risks (a truncated string is better than a buffer overflow) but it shouldn't be your first line of defense.

    23. Re:Multiplatform? by Anonymous Coward · · Score: 0

      You should look a bit at the C11 standard.

    24. Re:Multiplatform? by funky+womble · · Score: 2

      Besides the "what if someone fucks with /dev/random" issues, there are problems like "what if the sysadmin forgets to create /dev/random in chroot" (ok, sysadmin failure but it can be protected against - and better to fail hard than fallback to a bad entropy source) and especially "what if an attacker holds open a bunch of FDs so opening /dev/random fails". This last one is perhaps the most worrying.

    25. Re:Multiplatform? by serviscope_minor · · Score: 1

      Besides the "what if someone fucks with /dev/random" issues, there are problems like "what if the sysadmin forgets to create /dev/random in chroot"

      OK, that's an interesting one I hadn't thought about. I suppose, opening /dev/random would fail (ENOENT) if the sysadmin had failed to create it. Unless the sysadmin has got the wrong permissions on /dev then one can't create a fake /dev/random.

      I agree it is a good idea to protect against whichever sysadmin mistakes you can, though if a bad sysadmin is sufficiently perverse, there's not much one can do.

      "what if an attacker holds open a bunch of FDs so opening /dev/random fails". This last one is perhaps the most worrying.

      That one is more interesting, though I'm not 100% sure what you mean. I presume one method is simple resource exhaustion, though that works either way (a fork bomb is quite good) and there are various (ulimit, cgroups) methods for protecting against it in the general case. At worse the result is a DoS, which is at least safe.

      Is the other one to which you refer the result of someone attempting to grab as much random data as possible in order to empty the entropy pool?

      --
      SJW n. One who posts facts.
  4. Re:Throwing out all compatibility hooks makes it e by sulfide · · Score: 3, Insightful

    if its a festering insecure pile of shit who cares if it runs on more platforms? got to start over at some point, maybe work on a better foundation before more platforms...

  5. yes, they don't plan to support big-endian x86 by ConstantineM · · Score: 2

    Like the big-endian x86 support in OpenSSL?

    OpenBSD's OpenSSH has a separate portability layer, and they're doing just fine without the extra malloc wrappers. And no big-endian x86 support, either!

    1. Re:yes, they don't plan to support big-endian x86 by rev0lt · · Score: 1

      Big-endian amd64. Its even more funny.

    2. Re:yes, they don't plan to support big-endian x86 by Anonymous Coward · · Score: 0

      not as funny as the 64-bit Win16 support. On VMS.

    3. Re:yes, they don't plan to support big-endian x86 by Anonymous Coward · · Score: 1

      Hey, that's mean!
      I'm working on the VMS port to MS-DOS team, in order to run Microsoft Word 6.0 spellchecker on George R.R. Martin's writing box.
      If you want to read book six you better support OpenSSL for us!

    4. Re:yes, they don't plan to support big-endian x86 by Barsteward · · Score: 1

      george uses wordstar 4.0...... and doesn't use a spell checker.... might have been better to use the correct info this for your jape..

      --
      "The hands that help are better far than lips that pray." - Robert Ingersoll (1833-1899)
  6. what's wrong with economic profit? by ThorGod · · Score: 1

    There have always been security bugs, but it seems like it's only in the last couple when it's actually cost enough people enough money for people to invest in it.

    --
    PS: I don't reply to ACs.
    1. Re:what's wrong with economic profit? by Anonymous Coward · · Score: 0

      and ironically not enough money is going where it really needs to

  7. "OpenSSL C dialect" by sunderland56 · · Score: 1

    What is this "C dialect" of which you speak? Last I checked, they are using standard compilers for the various platforms.

    Writing cross-platform code is tricky, and you need to avoid using some things that appear fine, but work differently on different platforms. That will make your code look a tad peculiar to the regular single-platform programmer; but I'd hardly call it a "dialect".

    1. Re:"OpenSSL C dialect" by TheSunborn · · Score: 1

      It's most likely the subset of C, which was supported by most compilers 10 years ago.

    2. Re:"OpenSSL C dialect" by ConstantineM · · Score: 5, Informative

      OpenSSL has basically wrote their own version of libc, and all the functions they've introduced differ is some very subtle ways from what appears in libc used by the rest of the world.

      Rest assured, OpenBSD is no stranger to portable code. Just take a look at the number of platforms they support -- http://www.openbsd.org/plat.ht....

    3. Re:"OpenSSL C dialect" by cbhacking · · Score: 5, Informative

      Yep. In fact, this was actually one of the reasons Heartbleed was so bad. Normally, anybody repeatedly attempting to read 64k chunks of heap space would hit an unallocated page pretty quickly, causing a crash alerting the victims to something being wrong. However, OpenSSL uses their own funky versions of malloc and free which pre-allocate large chunks of memory from the OS (as in, many pages), then implement their own in-process memory management on top of that. They don't free those pages back to the OS either, at least not anywhere near as soon as a sane memory manager would. This doesn't actually mean huge amounts of wasted memory - the library can mostly re-use the memory it has already requested, rather than grabbing more from the OS - but it does mean that just because something is freed doesn't mean it isn't still mapped into that process. The end result is that Heartbleed had no externally-visible evidence for the vast majority of its victims, so people didn't even know there was something to look for until the news broke.

      --
      There's no place I could be, since I've found Serenity...
    4. Re:"OpenSSL C dialect" by tlambert · · Score: 5, Informative

      What is this "C dialect" of which you speak?

      The code is largely in a subset of C; there are certain language features that make it intrinsically harder to do static analysis and checking, and which you avoid in order to avoid introducing certain classes of problems into the code. Examples include unspecified array lengths for arrays declared at the ends of structures (a c99 feature first defined with a slightly different syntax by gcc), use of function pointers that don't end up with a const qualifier after initialization, serialization and deserialization of data objects containing pointers, variant length arrays, varradic functions, with or without in-band format strings for interpretation of arguments subsequent to the format strings, etc.. For a given compiler technology, it can also include dynamic scoping, locally scoped variable, and basic block replications which introduce issues when using some code constructs. Typically, there is also a requirement for single entry/single exit, and similar techniques that can use runtime assertions (statically or optionally compiled in) in order to test on larger data sets, although by definition, such things are relative Ad Hoc, and therefore not provable in terms of code coverage.

      Similar dialects are defined by standards, such as "MISRA C" (Motor Industry Software Reliability Association), but of course, it costs money to get that standard, and it's not disclosed, so there's no open source compliance checkers, and there's no open source static analysis tools that can check the compliant code based on compliance related assumptions. One of the disclosed requirement is use of sized type everywhere, so fundamental C types are eschewed in favor of them; so you don't use "char", "short", "int", "long", and "long long", you use things like "uint8_t" and "int32_t", and so on. Another is that there are limits to allowed cyclomatic complexity, as determined by static analysis tools.

      What it pretty much comes down to is that C by itself lets you get away with things that, if you are allowed to get away with them, makes the outcome of running the program indeterminate. It's still not possible to solve/prevent the halting problem in these dialects, but it's easier to avoid getting into a situation where you have to, if you use the constrained dialect and programming style in your code.

      It's really be handy if some day MISRA or something similar became an open standard so that we could raise the level of discourse on these things, particularly as they apply to life support systems, since some people place both privacy, security of financial transactions, and so on, on an equal footing with straight life support.

    5. Re:"OpenSSL C dialect" by sunderland56 · · Score: 1

      OpenSSL has basically wrote their own version of libc

      The language you use and the libraries you use are different concepts.

      C - especially in the (most excellent) Whitesmiths compilers done by completely separated the compiler itself from the libraries; the ones they supplied were completely and totally different from what is now called libc, but everything worked.

      This model has been (sadly) broken by things like c99 and c++.

    6. Re:"OpenSSL C dialect" by WaffleMonster · · Score: 1

      OpenSSL uses their own funky versions of malloc and free which pre-allocate large chunks of memory from the OS (as in, many pages), then implement their own in-process memory management on top of that. They don't free those pages back to the OS either, at least not anywhere near as soon as a sane memory manager would.

      Common for modern allocators to snatch more than immediately requested and hang on to freed memory longer than necessary. This is the basis by which optimized/fragmentation avoidant allocators are able to function.

    7. Re:"OpenSSL C dialect" by Anonymous Coward · · Score: 2, Insightful

      Common for modern allocators to snatch more than immediately requested and hang on to freed memory longer than necessary. This is the basis by which optimized/fragmentation avoidant allocators are able to function.

      Which is why a library like OpenSSL shouldn't be doing the same thing. If the OS already does this, you end up duplicating the functionality. Also, "modern" allocators often try to have the memory space after it not be valid so they cause exceptions on reads beyond the buffer and put a canary at the end of the allocation and warn if it disappears so buffer overflows also get spotted even if they are tiny. OpenSSL failed to implement this.

    8. Re:"OpenSSL C dialect" by WaffleMonster · · Score: 0

      Also, "modern" allocators often try to have the memory space after it not be valid so they cause exceptions on reads beyond the buffer

      Everything not in process address space is invalid. Oversized "block" allocations meted out internally within process heap is actually contiguous.. this is how binning works.

      buffer and put a canary at the end of the allocation and warn if it disappears so buffer overflows also get spotted even if they are tiny

      Obviously no help WRT heartbleed.

      I'm neither supporting or defending in aggregate merits of OpenSSL memory management scheme.

      My objection is limited to these nonsense assertions usage of operating system allocator would have meaningfully mitigated heartbleed vulnerability.

    9. Re:"OpenSSL C dialect" by seebs · · Score: 1

      Don't blame C99, that was true in C89 as well, and generally for pretty carefully-considered reasons.

      --
      My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
    10. Re:"OpenSSL C dialect" by Anonymous Coward · · Score: 0

      What is this "C dialect" of which you speak? Last I checked, they are using standard compilers for the various platforms.

      There are plenty of standards for C, not everyone of them are compatible.
      Most compilers are compatible with ANSI-C, the problem is that ANSI-C was specifically written to be compatible with most available compilers at the time, leaving many thing undefined.
      For example the ANSI-C standard specifically says that accessing a union member of another type than the one that was last written is undefined.
      Logical shift with a negative number (x >> n, where n is -1) is undefined.
      Shifting a value with more bits than the word size is undefined ((int)x >> n, where n is 16 and the platform uses 16-bit integers. It is however defined if int is 32-bits.)
      Shifting a signed integer is undefined if the value of the integer is negative.

      This isn't without reason, it greatly simplifies writing compilers and makes it possible to generate efficient code that doesn't need to check for special cases everywhere.
      Consider that this just is a few things that programmers that tries to write code that is portable between ANSI-C-compilers has to take into consideration.
      Now, if you want to make it portable to compilers supporting other C-standards, then you have a problem.

    11. Re:"OpenSSL C dialect" by thogard · · Score: 1

      Software Tools by Brian W. Kernighan and P. J. Plauger is a great book for understanding the concepts that are deep in the Unix philosophy.

    12. Re:"OpenSSL C dialect" by antime · · Score: 1

      My objection is limited to these nonsense assertions usage of operating system allocator would have meaningfully mitigated heartbleed vulnerability.

      OpenBSD's malloc has many security features, including use-after-free detection. OpenSSL's custom memory management nullified all that.

    13. Re:"OpenSSL C dialect" by Anonymous Coward · · Score: 0

      > The language you use and the libraries you use are different concepts.

      The C standards specify both the language proper, as well the standard library; there is no distinction. Both are C. So when someone writes their own thing that resembles libc but isn't really, then I would say it is fair to say they are using their own dialect of the language.

  8. I am grateful the OpenBSD team decided to do this by LABarr · · Score: 2

    These guys are just awesome!!! I am so grateful to the OpenBSD team for taking this on. I'm going to back up being grateful by supporting this team in any manner that I am able to, and also try to find a way to support their efforts. Be it pizza, donating cash, or maybe even help them test their latest patches and provide any feedback I can.

  9. Re:Throwing out all compatibility hooks makes it e by kiddygrinder · · Score: 3, Informative

    they're mostly throwing out really old multi-platform stuff, like dos, vms, ebcdic, win16 etc.

    --
    This is a joke. I am joking. Joke joke joke.
  10. Fake Security Gurus by EmperorOfCanada · · Score: 1, Interesting

    I have met many security "Gurus" over the years who's primary skill is convincing Baby boomer management types that only they can save them. They then start spouting all the usual things like PKI infrastructure. Military grade encryption, Don't roll your own, industry standard, certified, obfuscation is not security, end to end encryption, and so on with little regard to properly implementing this stuff and generally no regard as to the business needs.

    They will do an audit that will show that Russians and Chinese are trying to get into their servers hundreds of times a day and that it is only a matter of time before they do.

    Often one of the first things these guys will do "after getting the billing spigot turned on" is to start pushing hardware that gives them the largest kickbacks and ideally require a certification they happen to hold and the IT people don't. So if the system uses switch A they will say switch A is vulnerable and prove it by showing the 10,000 security patches that company has been "forced" to release over the years. So they will install switch B. But if the company uses switch B then they will go with switch A.

    The greatest part is that they effectively can deliver nothing but a pain in the ass and look like a hero. "I set up your IPTables to block a custom series of threats my company has identified (Boca Raton)" and if they are really good they will cut off access from root from the company's own administrators.

    Often these Guru's entire credibility is based upon some nebulous activity in the past. I could see being an OpenSSL guy would be a huge one. I have long suspected that the main guys at OpenSSL have been spending most of their time giving keynote addresses and rounding up the consulting bucks. I am glad now that anyone who was associated with that project now basically has doggy doo doo on their faces and look like halfwits.

    I have worked with these types of guys and they even tend to fall into 3 basic body types. There is the ex-cop looking guy, 50, 5 foot 6, white hair, moustache, round head, round body and talks like they are god's gift to security; these types will use obscure systems that nobody knows so nobody can easily call them on their BS; also these people came into their own in the Y2K days. Then there is the quasi hippy, Longer hair (still balding) not enough light, often thinks they are god's gift to women and security and will give endless advice on both. Usually have a Novell certification in some drawer and will defend Novell to this day. Then lastly there is the fat slob security guy. This one usually works with one of the other two. They are a half assed in nearly everything they do and only manage to keep the demons away by being in the server room 24/7. These people have built their credentials 100% by putting down other people and their technologies. The worst part about this last type is that sometimes they are actually quite skilled but do everything in as stupid way. "Oh I had to rewrite the Linux kernal using code from my wristwatch to make for a better time function for the random number generator. The only problem is that I have to manually reset it every 15 minutes.

    1. Re:Fake Security Gurus by tomhath · · Score: 3, Insightful

      The assertion in the OP is that OpenSSL is run for profit by guys who don't necessarily know security. My own experience with security gurus is the same as GP's; they talk in jargon and blow a lot of smoke.

    2. Re:Fake Security Gurus by rev0lt · · Score: 3, Interesting

      Military grade encryption

      I've actually been in the military (more than a decade ago), and had contact with "top of the line" encryption systems. At the time, I was already using for myself OpenBSD and actual strong encryption. "Military Grade" is like the "Bio" sticker in food - a way of charging more for worthless shit.

      I could see being an OpenSSL guy would be a huge one

      I don't. OpenSSL has always been the disaster waiting to happen. The codebase is messy, no one really understands it, and there is no real criteria when adding stuff. I have no experience with it and I knew it was a big pile of stinking poo (its not like this hasn't been a probem before), so I hardly doubt that saying you're an OpenSSL dev would give anyone any credit.

      Usually have a Novell certification in some drawer and will defend Novell to this day.

      I'm not Novell certified (nor a security expert), but Novell DID have his awesomeness - at some level, unmatched today.
      I do agree with most of what you said, but the problem is two-fold: actual security experts are either matematicians or hardcore developers, and more often than not, cannot communicate with regular people. And no, this is not a feature. Transmiting a concrete idea to a peer without noise is the ultimate developer experience - you need to develop a subset of the language that allows you to carry your own message without being subject to change on the endpoint; And because most of the guys entwined with computers are too tied in the digital all-or-nothing approach, they think its not their fault they cannot operate on an analog world. Which, by itself, is hilarious, because "digital computers" are actually a subset of the computing field.
      In short, the problem is the nerd type. Get rid of them, have them behave and communicate like regular people, and all these bs types are out of a job. And for Pete's sake, its not like most of what is CS is hard.

    3. Re:Fake Security Gurus by Anonymous Coward · · Score: 1

      Perhaps you need better gurus?

      I've been in the security-critical business for ~ 10 years now, and I've never tried to sell a scare tactic. The services of the companies I've worked for are not cheap, but for important systems, customers have been willing to pay for our knowledge. Mostly, I've built application specific components using high assurance techniques (peer review, static analysis, dynamic analysis, etc.) and integrated third party components (i.e., Linux) very carefully after removing most of the attack surface area (i.e., disabling unused syscalls & drivers).

      Snake oil is everywhere. Do your homework before you buy into someone's "solution" - but don't discount the entire field as quackery.

    4. Re:Fake Security Gurus by EmperorOfCanada · · Score: 3, Interesting

      Bang on. I have looked at the OpenSSL code and what I saw was terrible. It was a laundry list of not just bad coding practices but bad coding so bad that people don't even have terms for it. But as for communications I would think that upper management would be better with bad communications than with lies and over billing.

      The real problem is that truly great security is invisible. But it is easier to look cool with heroic security. It is like people believing that medicine has to taste bad and have nasty side effects to work.

      One of my favorite complaints about fake good security is when IT department implement complicated password regimes. Basically H@v1ng C0mp1icAted passwords is not actually mathematically sound. Long passwords are the real key. So complicateddogpassword is a zillion times better than insisting upon upper/lower/special characters. And then insisting upon changing the password regularly is about the stupidest thing ever. For one this costs a lot of money. The time wasted across a large company can easily be massive and a business decision not a technical one. Also companies that have frequent password changes then have frequent password forgetting, this then opens up a huge social networking hole.

      I made a bet with a relative who works for government where they recently implemented monthly password changes that I could socially hack his password with only the contents of his wallet and his last pay stub. First I looked around his desk, under his keyboard, etc, Then I phoned into IT and said that I was him and that I forgot my password. They then walked me through inputting a new one no questions asked. I asked how they knew I was him and they said, because of what number I was phoning from. I then asked but what if I called from home and they said, oh they would have asked maybe my birthdate or something.

      Then we walked around the office (it was a Sunday) and found some passwords on post-it notes and written on the bottom of keyboards. BTW his office processes documents that would be financially worthwhile for unscrupulous parties to obtain.

    5. Re:Fake Security Gurus by Anonymous Coward · · Score: 1

      One of my favorite complaints about fake good security is when IT department implement complicated password regimes. Basically H@v1ng C0mp1icAted passwords is not actually mathematically sound. Long passwords are the real key. So complicateddogpassword is a zillion times better than insisting upon upper/lower/special characters.

      Nope. The words in your password are common words, probably on a short list of around 3000 words. Essentially, you have a 3 "character" password where each character is chosen from a set of 3000 possibilities. That yields 3000^3 = 27,000,000,000 possibilities. An random 8-character password that uses only lower-case letters is 26^8 = 208,827,064,576. That's almost an order of magnitude harder to brute-force. So, length isn't everything. To your point, though, the other example you provide isn't much better since most password brute-force algorithms will automatically try common substitutions (@=a, 1=i, etc.) You want to know what really works? Long passwords from people who can't spell. If your password is complecateddogpassword, it'll be much harder to guess, at least until dictionaries of common misspellings become prevalent. For added difficulty, throw in a random punctuation character (comp,lecateddogpassword). Now you're golden.

    6. Re:Fake Security Gurus by Anonymous Coward · · Score: 0

      Here is a random 8-character password that only uses lowercase letters: dqvkdnbi. Try memorizing that. Now try memorizing fifty more completely random 8-letter sequences for all your other accounts. (Hint, unless you are a savant, this is impossible.)

      (Obligatory xkcd)

    7. Re:Fake Security Gurus by Anonymous Coward · · Score: 1

      Here is a random 8-character password that only uses lowercase letters: dqvkdnbi. Try memorizing that. Now try memorizing fifty more completely random 8-letter sequences for all your other accounts. (Hint, unless you are a savant, this is impossible.)

      (Obligatory xkcd [xkcd.com] )

      I usually make up a story/phrase by using words that start with the random letters if I need to remember such a password. It is doable for a few passwords at least.

      As for remembering fifty one passwords and which places/usernames they correspond to, heck no. The correct horse wouldn't manage that either.

    8. Re:Fake Security Gurus by sjames · · Score: 1

      I don't. OpenSSL has always been the disaster waiting to happen. The codebase is messy, no one really understands it, and there is no real criteria when adding stuff. I have no experience with it and I knew it was a big pile of stinking poo (its not like this hasn't been a probem before), so I hardly doubt that saying you're an OpenSSL dev would give anyone any credit.

      Sure, many developers know that. But prior to the publicity of heartbleed, few others did. These security consultants didn't need to impress developers, they needed to impress the managers that hold the purse strings. THEY did not know what a mess OpenSSL code was. All they knew is that it was everywhere and was important to security so anyone involved simply must be an expert's expert.

    9. Re:Fake Security Gurus by Rising+Ape · · Score: 1

      Here is a random 8-character password that only uses lowercase letters: dqvkdnbi. Try memorizing that

      That kind of thing is easy enough to remember for the passwords you use a lot. For everything else, there's Keepass.

    10. Re:Fake Security Gurus by Anonymous Coward · · Score: 0

      I read an article some time ago that recommended using words and padding characters at the begining and the end. So it was easy to remember, secure and no dictionary attack Ex: -_-_-_Horsedogwater-_-_-_.

    11. Re:Fake Security Gurus by rev0lt · · Score: 1

      I actually memorize passwords both more "random" and biger thant that one. I don't need to memorize fifty. I need to memorize 5 separate hashes, and then use them as A, B, C, D, E, F, AB, AC, ... ABC, ACD, etc according to the relevancy of the password. Memorizing 50 hashes is stupid, but since I know probably more than 100 metal lyrics, I could also pull it off (ever tried a 200 character password?). And if I'm something, is lazy.

    12. Re:Fake Security Gurus by rev0lt · · Score: 1

      Nope. The words in your password are common words, probably on a short list of around 3000 words. Essentially, you have a 3 "character" password where each character is chosen from a set of 3000 possibilities

      You only know that after you know the password. a brute-force attack (even a dictionary-based one) would try at least an order of magnitude more combinations.

    13. Re:Fake Security Gurus by rev0lt · · Score: 1

      Most of those security consultants you talk about don't even know what OpenSSL is. They know its the certificates thinggy that its used by several packages, that's it.

    14. Re:Fake Security Gurus by El_Oscuro · · Score: 1

      OneAfterOneByTheStarDoggedMoon,TooQuickForGroanOrSigh.EachTurnedHisFaceWithAGhastlyPang,andCursedMeWithHisEye Very large and very secure, though I wouldn't want to type it 100 times a day....

      --
      "Be grateful for what you have. You may never know when you may lose it."
    15. Re:Fake Security Gurus by rev0lt · · Score: 1

      Is that intended as the original poem, or the Iron Maiden version? :D

  11. Multiplatform? by Anonymous Coward · · Score: 1

    The portability approach of openssl was wrong. The idea is drop all multi platform support in order to recreated in a proper way.

  12. Throwing out all compatibility hooks makes it easy by warrencparker · · Score: 4, Informative

    The goals of LibreSSL include preserving API/ABI compatibility (keeping LibreSSL as a drop-in replacement).

  13. Its easy to be critical by MegOnWheels · · Score: 5, Insightful

    The thing about OpenSSL et al is that everyone who used it had exactly the same opportunity to review the code and make a decision about its use.
    What actually happened was that, for the most part, was that it was just used blindly as its the case with most cryptographic systems and API's.
    Whatever the motivators for the OpenSSL group were, whatever the decisions that were made or not made, the simple fact of caveat emptor still applies.

    Its good that LibreSSL is getting created, and thanks.. Seriously though, stop bashing the OpenSSL project, it is just as much the product of its community as its developers.

    1. Re:Its easy to be critical by Anonymous Coward · · Score: 1

      If you watch the video, you'll notice Bob starts exactly by stating that: we're all guitly.

    2. Re:Its easy to be critical by Anonymous Coward · · Score: 2, Insightful

      the bashing is legitimate when you consider that they themselves admit so much of their time was devoted to private & for-profit projects that they couldn't give the codebase proper attention and person-power, allowing it to get so bad that experienced coders had a difficult time deciphering it (no pun originally intended) If they were able to admit that themselves, then responsibly they should have immediately slammed the brakes for a proper code review, and told all clients "X amount of your money will now directly support maintaining the codebase, don't like it? tough. this is important.". It doesn't sound like that happened at all, it was sail-till-it-sinks. These projects are too important to be poorly managed - if you can't do it right STOP. Simple fact is, They let it get out of hand. The bug tracker alone shows the community tried to step up and do its part.

    3. Re:Its easy to be critical by rev0lt · · Score: 2

      The thing about OpenSSL et al is that everyone who used it had exactly the same opportunity to review the code and make a decision about its use.

      Yeah, including the OpenBSD team. (As the video mentions) And they bitched about it for years, regardless of their "proactive" approach. It took a huge vulnerability to make them take the step. Meanwhile, work is being done, yet Linux Foundation is trying to cash in on it and is probably still deciding the logo sizes for the new joint task-force or whatever to "save" OpenSSL.

      eriously though, stop bashing the OpenSSL project, it is just as much the product of its community as its developers.

      Well, its not. If there was some vague quality control, it wouldn't be the mess it is today. If it was developed by competent developers, it wouldn't be the mess it is today. And not everyone excels at crypto stuff. The community did their job - submitted patches and bug reports that went unfixed for years. Everyone knew it was a clusterfuck, no one took the extra step - but the community did what it was supposed to do. The OpenSSL team didn't delivered, though.

    4. Re:Its easy to be critical by MegOnWheels · · Score: 1

      Yea ok, I took a look at the code about a decade ago and decided I would not use it unless I was completely stuck with it. I agree with your observations it was clearly mismanaged. Thanks..

    5. Re:Its easy to be critical by MegOnWheels · · Score: 1

      I guess I was just trying to be a bit more moderate, I agree with the criticism and the project should be written about in textbooks on what not to do but I feel that the ongoing criticism is just shooting fish in a barrel and doesn't contribute much in the way of value.

    6. Re:Its easy to be critical by rev0lt · · Score: 1

      I understand your point. We can all learn something from it, and it is indeed a valuable lesson in software development and product management, but that a child could have tought - if you don't dominate your fears and fight your monsters, sooner or later they will make you suffer.

    7. Re:Its easy to be critical by Anonymous Coward · · Score: 0

      And like the community, it's now being properly ignored, with a seemingly better alternative in active development.

      OpenSSL isn't being improved. Bug fixes aren't happening. Security, and the confidence of it in general, is more questionable now, than probably ever before. So why should OpenSSL, despite its prevalence across a multitude of industries, garner my support? It shouldn't! If the maintainers, or anyone else would step up to the plate, and take the reigns of OpenSSL, I might notice. That isn't happening!

      What's even more confusing is the Linux Foundations continued funding of OpenSSL. Why would they fund a code package that isn't being properly managed? Especially one that is heavily used, yet being completely ignored by its maintainers? This doesn't add up, and Zemlin hasn't answered this!

    8. Re:Its easy to be critical by Anonymous Coward · · Score: 0

      Don't be moderate. Be correct.

    9. Re:Its easy to be critical by jhol13 · · Score: 1

      We should not stop bashing OpenSSL, ever (although I do admit it is "product of the community").
      Just to remind people that this kind of development is not acceptable, not "even" in FOSS world.

    10. Re:Its easy to be critical by VortexCortex · · Score: 2, Informative

      Not me. I'm not guilty. Even responses to requests for help in compiling against OpenSSL were a huge red flag: "If you're not compiling from source, we won't help you." Asking to clarify behavior about things in their API you're linking against was frowned upon, so I go get get the sources, and then I see why they don't want to help anyone -- they don't know how. Told the 3rd party I was contracting for at the time that I would not recommend OpenSSL for future projects, and to use GnuTLS, Mozilla's Network Security Services (NSS) (Apache mod_nss + mod_revocator), or for embedded: PolarSSL or MatrixSSL. When asked why I said the project did not have code quality or standard testing harnesses and that there were many unpatched bugs filed against the system which had gone unfixed for years.

      The only people who are guilty are fucking morons. Saying "We're All Guilty" is just blame shifting. I was just building some business logic for a proprietary CMS / Portal and wrote that shit off on my first encounter -- Fuckers actually put OpenSSL on a distro CD for an OS that purports to be security focused. How retarded is that?!

      After having more experience with NSS and MatirxSSL and seeing the complexity FUBAR in the entire security theater CA system I've been "rolling my own" security suites despite "common wisdom". That shit doesn't pass as "secure". Honestly I can't fathom why ANY of the OpenSSL codebase is being used in LibreSSL. Implementing these ciphers isn't hard, the math is well understood, the example code is published, and things like side-channel attack mitigation are well documented, if a bit tinfoil hatty (considering the state of end user OS security). The OpenSSL project does deserve bashing. It doesn't even have a proper test harness and unit test with proper code coverage. How can you even tell if both sides of an #ifdef are equivalent, let alone which one is faster? How can a security product be released with ANY untested branches of code?

      Given the existing alternatives and reduction in their target platform environments it just seems fucked to me that LibreSSL would use anything other than the header files from OpenSSL. Sorry, anything to do with that cluster fuck is tainted. No amount of "well, you're guilty too" will dissuade me: OpenBSD, you got egg on your face, and you're aiming for more of the same with forking OpenSSL. Oh, wait... None of those SSL libs I mentioned are BSD licensed... Ah, I see. It's fanaticism vs security, round two, fight!

    11. Re:Its easy to be critical by Bert64 · · Score: 1

      This is a very poor comparison to make...

      OpenBSD is a relatively minimal OS compared to AIX, Solaris or HPUX... There's bound to be less issues found.
      Conversely these systems (with the partial exception of solaris) are entirely closed source and developed behind closed doors, so many more security holes may have been found and fixed but never disclosed.
      Similarly finding and fixing security holes is a primary goal of OpenBSD, and they do so in an open and transparent manner.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    12. Re:Its easy to be critical by serviscope_minor · · Score: 3, Informative

      Oh, wait... None of those SSL libs I mentioned are BSD licensed...

      None of those libraries have the same API either.

      You are aware that OpenBSD are keeping API compatibility so that the ports tree of all the useful software that people actually want to use keeps running? I mean it's not like people need any of that software or anything.

      --
      SJW n. One who posts facts.
  14. Re:Throwing out all compatibility hooks makes it e by Anonymous Coward · · Score: 0

    You're still running OS/2, VMS, ancient DEC Unix or pre-NT Windows?

  15. I'm split by Anonymous Coward · · Score: 0

    I'm split. Clearly there are a huge number of problems with OpenSSL, and it appears that a lot of cleaning has been done, but most of it before the fork to LibreSSL. The Linux Foundation(tm) doesn't want to backstop LibreSSL, but at least its looking 'clean'. OpenSSL is still a steaming heap, suffering massively from bitrot, and no real cleanup in sight. So do I go to clean, non-crappy LibreSSL, or do I stay with the 'Funded', bitrot filled OpenSSL? Time. I will give the BSD boys (beastie boys), a few months. If LibreSSL is clean and running, and OpenSSL hasn't seen a lot of love in the next few months, I'm kicking OpenSSL to the curb. I've got other GPL projects I'm cleaning up, and I don't think the (one) cryptography class I took in university qualifies me to do serious work on OpenSSL.

    1. Re:I'm split by Anonymous Coward · · Score: 1

      and it appears that a lot of cleaning has been done, but most of it before the fork to LibreSSL

      Well alot of work was done before they 'called' it 'LibreSSL'...no reason to see the name change as a slowdown - Sounds like they are now running on pure hate and frustration!

      And, as Bob says, the crypto parts are actually pretty well written, its all the other crap which is in majority - So by all means, help out!!

  16. Re:Throwing out all compatibility hooks makes it e by rev0lt · · Score: 1

    I'm assuming you're running a system with full blown CGA or EGA drivers, then. 1990 called and they want their DOS floppy back.

  17. Re:Throwing out all compatibility hooks makes it e by Antique+Geekmeister · · Score: 3, Interesting

    API/ABI compatibility is not the same as cross platform compatibility: the difficulties with 'malloc' incompatibility that led to replace a core libc function clal are precisely the sort of thing that the LibreSSL developers can simply throw out. Replacing it for cross-platform is an excellent example of the difficulties of just such cross compatibility work: preserving the ABI for some of the odder platforms on which OpenSSL currently works is precisely the cross-platform work that the LibreSSL developers can discard. And yes, it will speed the performance of the code. (Rewriting and replacing malloc for cross-compatibility is _guaranteed_ to be slower than native libc functions.)

    I'm not suggesting that OpenSSL did not need a stripping of debris and a rewrite. I'm suggesting that if you ignore cross-compatibility and the installled user base, it's much easier to clean up old code.

  18. Comic Sans WTF? by wiredlogic · · Score: 1, Redundant

    Who the hell writes up slides with Comic Sans as the font.

    --
    I am becoming gerund, destroyer of verbs.
    1. Re:Comic Sans WTF? by Anonymous Coward · · Score: 1

      I had the same thought, but check toward the end of the slidedeck -- he explains why.

    2. Re:Comic Sans WTF? by feranick · · Score: 1

      The same guy that wrote on libressl website, proudly, this:

      This page scientifically designed to annoy web hipsters. Donate now to stop the Comic Sans and Blink Tags
      http://www.libressl.org/

  19. Maryland? by Anonymous Coward · · Score: 0

    I'm curious what the relevance of stating where they're incorporated is.

    1. Re:Maryland? by ConstantineM · · Score: 1

      What's FIPS?

      Who requires FIPS?

      Think geography. (-:

    2. Re:Maryland? by rubycodez · · Score: 1

      two states donated land to make something, the other state was Virginia.

    3. Re:Maryland? by Anonymous Coward · · Score: 0

      I'm curious what the relevance of stating where they're incorporated is.

      Fort Meade is in Maryland. Fort Meade is the headquarters of the NSA.

  20. Re:All hail Theo! by dreamchaser · · Score: 1

    I couldn't care less if someone is a prick as long as they produce good product.

  21. Re:All hail Theo! by Anonymous Coward · · Score: 2, Funny

    It's a matter of mistranslation. In Canadian, "Fuck off or I'll beat you with a hockey stick!" means "We would like to help you with your problem. However, I'm afraid the solution you are proposing would not work for the reasons we have already stated on a previous correspondence[3]. Maybe we could work together in the future.".

  22. The Linux Foundation is not actually that evil by badger.foo · · Score: 1

    Unfortunately the summary gets several important facts wrong, including the status of support from the linux fooundation -- last status is ongoing discussions, not total ignore as the post summary says. And you can see what Bob actually said in the video jason Tubnor uploaded to youtube The real Bob Beck on OpenSSL talk

    --
    -- That grumpy BSD guy - http://bsdly.blogspot.com/
    1. Re:The Linux Foundation is not actually that evil by Anonymous Coward · · Score: 0

      The audio on the talk is mixed too low.

    2. Re:The Linux Foundation is not actually that evil by Anonymous Coward · · Score: 5, Informative

      Yes, I am extremely annoyed at the misquoting of my presentation, and my slides, by the person who wrote this summary for Slashdot. As I said in the talk, and in the slides, the Linux Foundation has not *yet* committed to support us. Discussions with them are ongoing. Saying that they have somehow "Ignored" us is both slanderous and wrong, and shows exactly what is wrong with Slashdot when they let garbage like this go up. If you have some sort of beef with the Linux Foundation, please take it up on your own time, and use your own name. Don't use mine, or LibreSSL's.

      But hey, it's slashdot, everybody expects you to be a dumbass...

      -Bob Beck

    3. Re:The Linux Foundation is not actually that evil by jones_supa · · Score: 1

      Thanks.

    4. Re:The Linux Foundation is not actually that evil by Anonymous Coward · · Score: 0

      Wonder if the 'Linux community' itself, could throw some weight around and push the Foundation to support you. Like most large corporations, I fear they too, are beholden to those who have the most power. Those with massive investments in Linux. Intel, Google, FB, NYSE, HFT firms...

      Oh, and THANK YOU Bob! If I could code more than my way just out the front door, I'd offer to help with LibreSSL!

    5. Re:The Linux Foundation is not actually that evil by Soulskill · · Score: 1

      I've updated to fix. Thanks.

    6. Re:The Linux Foundation is not actually that evil by Anonymous Coward · · Score: 0

      Thank you for updating it. We really do not need stories attempting to sensationalize the differences between communities while people are attempting to cooperate.

      Thanks

      -Bob

    7. Re:The Linux Foundation is not actually that evil by simplypeachy · · Score: 1

      I clicked on the link of the post's submitter, advised them of the error and a link to this thread, and less than three hours from sending the email it was fixed. I don't pretend to understand the politics between /. and the Linux Foundation or yourself, but it might be worth telling /. directly when they make such an error.

  23. Re:Throwing out all compatibility hooks makes it e by unixisc · · Score: 2

    If you clear out the various multi-platform work for OpenSSL, _of course_ it can progress more quickly and more securely. The multi-platform work is where so much of the work has been done.

    Interestingly enough, that principle doesn't apply to OpenBSD itself, which considers it important to support dead platforms like the Alpha.

  24. Its easy to be critical by jpostel · · Score: 1

    Bob Beck has a pretty healthy track record of throwing verbal grenades with regards (but not limited) to open source licenses, security, and other people's code.

    That said, looking at published vulnerabilities (CVEdetails.com), OpenSSH and OpenBSD have a tremendous record for fixing (or simply not having) serious security bugs. The total number of vulnerabilities in OpenSSH (application) since 1999 is 61 (11 being DOS) and NONE have known exploits. OpenBSD (an entire OS) has 136 (57 being DOS) since 1999 with 4 known exploits.

    By Comparison, OpenSSL (a protocol library) has 87 (46 are DOS) with 5 known exploits.

    None of these are egregious compared to other UNIX OS platforms like AIX (316), Solaris (533), and HPUX (278).

    I don't think the OpenSSL folks are bad, but they let the product stagnate a bit. Getting some new perspective on it is a good thing.

    --
    Ummm, Jon, aren't you supposed to be dead...? - Otter(3800)
  25. Re:Throwing out all compatibility hooks makes it e by ld+a,b · · Score: 3, Informative

    This is because the C standard is full of crap such as undead(maybe it was half-unsigned?) chars and non-zero NULL and Harvard architecture hacks. If you want to be sure your program will work as intended when some starry-eyed clang/gcc developer reasons he can optimize away your security code because it is undefined behavior, you must support all the brain-dead architectures that motivated the standard, in order to serve as canaries.
    This is not related to supporting non-standard shitty libcs and OSes which run on 64-bit architectures and yet do not support 64-bit pointers.

    --
    10 little-endian boys went out to dine, a big-endian carp ate one, and then there were -246.
  26. Re:Throwing out all compatibility hooks makes it e by ron_ivi · · Score: 2

    Wonder if the OpenSSL guys have a good consulting business maintaining exactly those ports for ancient government projects.

  27. Re:Throwing out all compatibility hooks makes it e by the_B0fh · · Score: 5, Insightful

    They are re-writing LibreSSL for *OPENBSD* across all the hardware platforms OpenBSD runs on.

    Once they have stabilized it, another team, the Portability team, will then add a portability layer for other OSes.

    What is so difficult to understand, and why is everyone getting their knickers up in a bunch over it?

    If you like OpenSSL, continue to use it. If you want a safe, secure ssl implementation, you wait for them to finish LibreSSL and use OpenBSD. If you want a safe, secure ssl implementation on other OSes, you wait for the Portability team to finish its work. To help speed it up, donate $$ so that they can bring in more programmers.

    Any other bitching just shows what an idiot you are (not saying you're bitching, just pointing that out to the general peanut gallery).

  28. Portability by Anonymous Coward · · Score: 0

    LibreSSL needs to be portable to wide range of OS's if they want to replace OpenSSL as the "industry standard SSL/TLS implementation". Portable doesn't just mean BSD and Linux.

    I hope the people working on LibreSSL appreciate what it takes to achieve broad OS and toolchain portability. OpenSSH is not a good model. OpenSSH is only portable to other POSIX-ish systems, and LibreSSL needs broader reach.

    1. Re:Portability by Bert64 · · Score: 1

      BSD and Linux are the obvious places to start, as you already cover the vast majority of embedded devices and a significant proportion of server systems.
      The only other OS that's really relevant these days is Windows, and that already has its own native SSL implementation.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    2. Re:Portability by Anonymous Coward · · Score: 0

      BSD and Linux are the obvious places to start

      I have no problem starting with BSD and Linux. My concern is with the design, not with the choice of initial implementation targets. If you don't plan for broad portability from the start, it can be painful to add later. Good portability design benefits from experience working with many environments. It can be difficult for people who've lived their whole life in POSIX-land to appreciate the requirements.

      as you already cover the vast majority of embedded devices and a significant proportion of server systems.

      There are still many embedded systems that run on an actual RTOS.

      The only other OS that's really relevant these days is Windows, and that already has its own native SSL implementation.

      In my experience, the only significant user of the Windows native SSL implementation is IIS. Very few non-Microsoft programs use it. Most non-Microsoft programs I've encountered use OpenSSL.

  29. Please ensure you are actually quoting directly by WayCool · · Score: 5, Informative

    I was in this talk, actually the person behind this camera and at no time did Bob state the following above:

    Linux Foundation is turning a blind eye to LibreSSL

    This is totally incorrect and should be removed. The slide doesn't even state that. Slashdot editorial committee needs to review their posts a lot closer prior to posting in a public space.

    1. Re:Please ensure you are actually quoting directly by rainer_d · · Score: 2

      Slashdot editorial committee needs to review their posts a lot closer prior to posting in a public space.

      You're new here, right?

      --
      Windows 2000 - from the guys who brought us edlin
  30. So, what about GnuTLS? by VGPowerlord · · Score: 2

    I think people forget that GNU has their own communications library for secure sockets... [url=http://www.gnutls.org/]GnuTLS[/url].

    I know why OpenBSD won't use it (because it's LGPL), but why won't anyone else?

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    1. Re:So, what about GnuTLS? by RR · · Score: 3, Interesting

      You mean this GnuTLS? (It had a "goto cleanup" bug similar to Apple's "goto fail" bug.) It isn't API compatible with OpenSSL, and OpenSSL came first. OpenSSL has first mover advantage, and more people are paranoid about GPL, even if it's LGPL.

      The consensus among security experts seems to be that TLS (the protocol itself) sucks, OpenSSL sucks, GnuTLS sucks, NSS sucks, and TLS has horrible compatibility problems between implementations. They aren't giving us a lot of options, here.

      So, I find it fascinating that OpenBSD is taking OpenSSL (which sucks) and trying to make LibreSSL into something that doesn't suck. I wish them the best of luck and funding.

      --
      Have a nice time.
    2. Re:So, what about GnuTLS? by WaffleMonster · · Score: 2

      The consensus among security experts seems to be that TLS (the protocol itself) sucks, OpenSSL sucks, GnuTLS sucks, NSS sucks, and TLS has horrible compatibility problems between implementations.

      Blah blah blah ... sucks ... ... blah is shit ... blah is horrible... ad nauseam.

      Too easy to invoke. Concurrently too difficult in typical context free usage to falsify... saying "x sucks" ... just ... sucks...

    3. Re:So, what about GnuTLS? by Anonymous Coward · · Score: 0

      GnuTLS considered harmful[1]

      The recent trouble in ITS#5361 prompted me to look into the GnuTLS code a little deeper. It turns out that their corresponding set_subject_alt_name() API only takes a char * pointer as input, without a corresponding length. As such, this API will only work for string-form alternative names, and will typically break with IP addresses and other alternatives.

      Looking across more of their APIs, I see that the code makes liberal use of strlen and strcat, when it needs to be using counted-length data blobs everywhere. In short, the code is fundamentally broken; most of its external and internal APIs are incapable of passing binary data without mangling it. The code is completely unsafe for handling binary data, and yet the nature of TLS processing is almost entirely dependent on secure handling of binary data.

      I strongly recommend that GnuTLS not be used. All of its APIs would need to be overhauled to correct its flaws and it's clear that the developers there are too naive and inexperienced to even understand that it's broken.
      --
      -- Howard Chu
      Chief Architect, Symas Corp. http://www.symas.com
      Director, Highland Sun http://highlandsun.com/hyc/
      Chief Architect, OpenLDAP http://www.openldap.org/project/

      [1]http://www.openldap.org/lists/openldap-devel/200802/msg00072.html

    4. Re:So, what about GnuTLS? by Anonymous Coward · · Score: 0

      (It had a "goto cleanup" bug similar to Apple's "goto fail" bug.)

      Only similar in a fairly superficial way IMHO.

    5. Re:So, what about GnuTLS? by Anonymous Coward · · Score: 0

      http://www.openldap.org/lists/openldap-devel/200802/msg00072.html

      So that was posted more than six years ago... how much is still true with the current version of GnuTLS?

    6. Re:So, what about GnuTLS? by Anonymous Coward · · Score: 0

      I heard that GnuTLS is a security nightmare, crypto implementations without side channel mitigations, big bugs, ...

  31. On deleting "cross platform" "cruft" by WaffleMonster · · Score: 1

    Has anyone looked at source code for any staple unix program or library?

    These things are universally teeming in preprocessor defs for every platform you could imagine. Autotools enshrines defacto standard operating procedures with entire header files, replacement libraries, #ifdef's and funky meta programs for virtually every function and historical errata imaginable.

    Existence of these things in and of themselves is not a problem if managed properly. When I see commit comments full of snark and rage while concurrently support for leading platforms and necessary features are dropped this is unfortunate when I can't use it... even if LibreSSL was 100x better in every way... it won't even compile so no point.

    1. Re:On deleting "cross platform" "cruft" by Anonymous Coward · · Score: 1

      > Existence of these things in and of themselves is not a problem if managed properly.

      Yes, it is. Autotools is a complete disaster shop built by smart people focussing on details rather than the bigger picture of how a language, build environment, and deploymnet should be.. It's a symptom of everything wrong about the entire C (and C++) stack, and is the kind of thinking that opened up a gap for Java in the first place.

      Nothing moves forward correctly, because of drag. We can't even agree on how include paths are resolved for the two forms of include, nor how to export from a DLL in a standard way, nor do the latest C++ compilers agree on arg-dep lookup/bool conversions/pure covariant virtuals on multiply-inherited classes nor what's in std/tr1 etc. In the mean-time ISO has firmly disappeared up its own arsehole by standardising user-defined literals (aka rearranging deck chairs).

      For internal applications I've built (and built teams around), included libraries are essentially forked and patches maintained to remove cruft. They're all built with the same build tool, the configuration is generally applied/fixed for target platforms (if you're building for three platforms, unroll), and anything which really isn't going to change is removed. What's left - a small set of macros to control DLL export et al, and anything else internalised, and abstracted via header/source inclusion.

      If you're running a compiler which -really- hasn't had an update in 15 years, you have selected vendor can't be bothered to add std bool, and you have no way of abstracting the platform differences that you are beholden to, you aren't responsible enough to be running production code, nor trying to keep it up to date with later libraries. If you're keeping something alive for a museum or fun, well, fork the current or as-of versions and knock yourself out.

    2. Re:On deleting "cross platform" "cruft" by Anonymous Coward · · Score: 0

      "If you're running a compiler which -really- hasn't had an update in 15 years, you have selected vendor can't be bothered to add std bool, and you have no way of abstracting the platform differences that you are beholden to, you aren't responsible enough to be running production code, nor trying to keep it up to date with later libraries. If you're keeping something alive for a museum or fun, well, fork the current or as-of versions and knock yourself out."

              Enough about Plan9. How do you really feel about the state of software development?

    3. Re:On deleting "cross platform" "cruft" by Anonymous Coward · · Score: 0

      Funnily enough, "optimistic" :)

  32. Re:Throwing out all compatibility hooks makes it e by Anonymous Coward · · Score: 0

    Hold up. We're going to use CGA until this new-fangled EGA stuff proves itself in production. Kids these days, always onto the next fad.

  33. Re:Throwing out all compatibility hooks makes it e by WaffleMonster · · Score: 0

    To help speed it up, donate $$ so that they can bring in more programmers.

    Any other bitching just shows what an idiot you are (not saying you're bitching, just pointing that out to the general peanut gallery).

    Good idea.. I think I'll donate to the OpenSSL team who created and maintained the project for all these years.

    Personally I have no reason to believe BSD is any more capable considering laundry list of CVE's for OpenSSH including an insane PAKE credential bypass.

    Also turned off by lack of professionalism. Too many commit comments are childish reflecting lack of discipline I am uncomfortable seeing applied to a project of this type.

  34. Bravo, just like weeding a long-neglected garden by Anonymous Coward · · Score: 0

    It's tedious and inglorious work, carefully removing all the weeds, deadfall and garbage blown in by years of wind; and in pulling out weeds one might also pluck a few desired plants out by mistake. But the only way to remediate a neglected garden is to clean it up enough to see what's there that is really worth preserving, turn the soil underneath, and then give it some TLC to grow and thrive. One can add back those few plants that got mistakenly pulled in the cleanup if they're really that important...

    I was stunned reading the slides at what cruft was in there -- really, VMS? Win16? I think the presenter was right -- somebody was concerned about job security with the FIPS crowd and wanted to keep this crap in to scare everyone else off. And the openSSL Foundation is incorporated in Maryland? As in Ft. Meade Maryland, NSA home turf? If one had a tinfoil hat on, one would think the NSA *wanted* openSSL to be as scary as possible so no one would ever look at it.

  35. Re:Throwing out all compatibility hooks makes it e by Anonymous Coward · · Score: 0

    What is so difficult to understand, and why is everyone getting their knickers up in a bunch over it?

    The OpenBSD project used to be pretty rude to a number of people (mostly you could understand why, but that doesn't justify). While some of this is just ignorance much of it is likely people wanting to get back at them and people from the various security services trying to spread dissent.

    Any other bitching just shows what an idiot you are (not saying you're bitching, just pointing that out to the general peanut gallery).

    He's bitching, whether he realises it or not. He didn't point to a single instance of Alpha support slowing down other platforms. His analogy doesn't apply just because they provide portability. It applies if providing portability to old platforms such as the Alpha slows down the development of OpenBSD, which it probably occasionally does and on the other hand probably keeps people interested in developing on their old Alpha machines contributing and so overall has a positive effect.

  36. Re:Throwing out all compatibility hooks makes it e by serviscope_minor · · Score: 5, Insightful

    Good idea.. I think I'll donate to the OpenSSL team who created and maintained the project for all these years.

    You mean the ones that made the heartleed bug and let bug fixes and reports rot in the tracker for 4 years?

    Personally I have no reason to believe BSD is any more capable considering laundry list of CVE's for OpenSSH including an insane PAKE credential bypass.

    To which CVE do you refer?

    Also turned off by lack of professionalism. Too many commit comments are childish reflecting lack of discipline I am uncomfortable seeing applied to a project of this type.

    Well, here's something you'll hate even more. You know that the mathematiians that develop the underlying crypto algorithms also have a sense of humour and sometimes say things/crack jokes in frustration? Basically the jokes on you. Because the "unprofessionalism" goes all the way down to the maths and you can't escape it.

    You have weird ideas of professionalism, by the way to the extent where I suspect you're a suit. It seems you consider cracking jokes in commit messages and on a project mailing list to be more important indications of professionalism than, say, letting bugs rot in a bug trcker for years and coding up and effective anti exploit mitigation layer in a crucial security library.

    --
    SJW n. One who posts facts.
  37. Re:Throwing out all compatibility hooks makes it e by gnasher719 · · Score: 5, Insightful

    If you clear out the various multi-platform work for OpenSSL, _of course_ it can progress more quickly and more securely. The multi-platform work is where so much of the work has been done.

    As a person making their living writing software for MacOS X and iOS, do I care about this code running in MacOS 9? I don't care one bit.

    They explain it very well: You don't need to be "multi-platform" if you are standard. Instead of "we have thirteen implementions of SSL_memcpy that run on a dozen completely outdated platforms that nobody cares about", they use memcpy and say "if your platform doesn't support a standard C function correctly, fuck you and your platform". Which is the correct approach.

  38. Re: Throwing out all compatibility hooks makes it by Anonymous Coward · · Score: 0

    How can they claim API/ABI compatibiliy if they are dropping features and adding others?

  39. Re:Throwing out all compatibility hooks makes it e by cnettel · · Score: 1

    What is so difficult to understand, and why is everyone getting their knickers up in a bunch over it?

    The OpenBSD project used to be pretty rude to a number of people (mostly you could understand why, but that doesn't justify). While some of this is just ignorance much of it is likely people wanting to get back at them and people from the various security services trying to spread dissent.

    Any other bitching just shows what an idiot you are (not saying you're bitching, just pointing that out to the general peanut gallery).

    He's bitching, whether he realises it or not. He didn't point to a single instance of Alpha support slowing down other platforms. His analogy doesn't apply just because they provide portability. It applies if providing portability to old platforms such as the Alpha slows down the development of OpenBSD, which it probably occasionally does and on the other hand probably keeps people interested in developing on their old Alpha machines contributing and so overall has a positive effect.

    I haven't watched the full talk (yet), but previous outlines of what OpenSSL did reeked of a Javaesque approach, provide such a thick runtime library on top of the OS, that you don't really need to care about what the platform gives you. That gives you a great portability story, once the layer is in place. The bad thing is that you do not benefit from the specifics of the platform. If you let your portability/base layer rot, you are also behind everyone's game. What's happened during the last 5-10 years is a lot of work to make the C standard library (or slight variations of it), as well as base system calls, much more hardened, to some extent providing security in depth. The LibreSSL critique has been based on the fact that OpenSSL went with their home-rolled, slightly inferior, slightly unpredictable (not handling NULL values in places, at least not in the same way any sane platform did, etc) layer for far too many things, even on modern platforms. As a provider of a platform with security in mind, I can understand the frustration of having a crucial library saying "hey, we don't care about that stuff, we can implement everything we need".

  40. Re:Throwing out all compatibility hooks makes it e by cnettel · · Score: 1

    If you clear out the various multi-platform work for OpenSSL, _of course_ it can progress more quickly and more securely. The multi-platform work is where so much of the work has been done.

    As a person making their living writing software for MacOS X and iOS, do I care about this code running in MacOS 9? I don't care one bit. They explain it very well: You don't need to be "multi-platform" if you are standard. Instead of "we have thirteen implementions of SSL_memcpy that run on a dozen completely outdated platforms that nobody cares about", they use memcpy and say "if your platform doesn't support a standard C function correctly, fuck you and your platform". Which is the correct approach.

    A slightly more pragmatic approach is to keep those implementations, at least the most crucial ones, but please make sure that you use memcpy etc directly on any sane modern platform.

  41. Re:All hail Theo! by Anonymous Coward · · Score: 1

    I couldn't care less if someone is a prick as long as they produce good product.

    I have to ask the question "Why didn't the BSD development team fork OpenSSL, fix the issues with it even if initially the fork only supports OpenBSD, and retain the name OpenSSL? Are the OpenSSL developers against any outside assistance? I realise BSD is a monster unto itself that prefers "my way or the highway" but seriously.

  42. Re:Throwing out all compatibility hooks makes it e by Anonymous Coward · · Score: 0

    the difficulties with 'malloc' incompatibility that led to replace a core libc function

    The malloc replacement was made due to 'performance issues' on some systems, the incompatibilities only came later when OpenSSL started to use malloc/free as first in first out storage (free in function A, malloc in function B, no pesky parameter passing or overall design needed).

    And yes, it will speed the performance of the code. (Rewriting and replacing malloc for cross-compatibility is _guaranteed_ to be slower than native libc functions.)

    What? You are aware that there are tons of specialized malloc implementations that can beat the platform provided default depending on the type of workload and independent of the platform?

  43. Re:Throwing out all compatibility hooks makes it e by Anonymous Coward · · Score: 0

    I haven't watched the full talk (yet), but previous outlines of what OpenSSL did reeked of a Javaesque approach, provide such a thick runtime library on top of the OS

    There was no thick layer on top of the OS, they simply reimplemented the libc calls that just weren't there or where incompatible on the now more exotic platforms. The main problem is that they did that in a way that left them incompatible with the platforms that provided a working implementation and even when they where compatible left the code to rot (the platform provided malloc was never enabled during build and some genius used the OpenSSL malloc/free as stack).

    If we took your definition of Javaesque even modern libc implementations (and every other minimal runtime) would fit it.

  44. Bug tracker was useful... by natex84 · · Score: 1

    Bob reports that the bug-tracking system abandoned by OpenSSL has actually been very useful to the OpenBSD developers

    If LibreSSL is managed anything like the OpenBSD project itself, it won't have a public bug tracking system, which I find quite annoying... Don't get me wrong, I like OpenBSD and have used it since 2.9, I just don't understand why they don't have a publicly available bug tracking system.

    1. Re:Bug tracker was useful... by ConstantineM · · Score: 1

      gsoc2014#bug-tracking -- http://www.openbsdfoundation.o...

    2. Re:Bug tracker was useful... by Anonymous Coward · · Score: 0

      "Project: A bug tracking system that integrates with sendbug(1) and doesn't suck dead bunnies through bent straws.

      Brief explanation: OpenBSD bugs are sent in a formatted way to a public mailing list via the sendbug(1) utility. A long time ago we had gnats integration that would file these bugs and allow developers to track them and close them. security issues with this code forced us to discontinue this practice. A replacement would be nice, that was accessible to developers with a simple interface but not hosted on the project's critical infrastructure, and which took its input from sendbug in an intelligent way.

      Expected results: A bug tracking system that integrates with sendbug(1) and only drives half the developers batsh**t crazy (with the other half willing to use it) would be a resounding success.

      Knowledge prerequisite: *secure* *simple* web applications, data integration, and an ability to keep things simple and appealing to geeks that just want the job done without dancing baloney. "

            You owe me a new laptop as I don't think the raspberry stains are going to be removable on this one.

      celle

  45. Re:All hail Theo! by Anonymous Coward · · Score: 1

    OpenSSL® is a registered trademark of the OpenSSL Software Foundation, Inc.

    source: www.openssl.org/docs/fips/UserGuide-2.0.pdf

  46. Wouldn't it make more sense to fix openssl instead by zwarte+piet · · Score: 1

    ... just sayin'

  47. Re: Throwing out all compatibility hooks makes it by jackspenn · · Score: 1

    Actually, they don't even say "fuck you". They suggest you use your resources to implement that feature within your OS. Which, makes sense. I have a friend who runs tons of stuff on some Alpha servers he got in exchange for helping the university port off those systems. Basically what libreSSL is suggesting to him is a decision tree. If underlying library or function that we assume the OS should handle is not available on your system. Here are some suggestions: 1). Fund adding/implementing those needed parts to expand support (seems reasonable that exceptions help cover these costs) 2). Consider moving to support core line of OS and/or hardware 3). Help expand support and code solution (again seems reasonable) Now, obviously not every option is available to everyone. If you don't have money, you might not be able to fund it yourself (though you could solicite other parties and pool resources). If you're not comfortable coding, 3 is probably not possible (unless you have the time and interest in learning). Just saying not so much "FU" as it is focused approach based on plethora of reasons where exceptions can help add and expand support. Instead of people saying "How rude they aren't offering improvements for Mac OS9, I don't like them". Perhaps look at what they are providing cleaned up SSL solution with compatible APIs for variety of modern OSes ... (More to follow). I come from networking world, so to me their approach makes the most sense for long term. OSI model of layered approach, seems appropriate to use OS random number generator and accepted libraries rather than record for exceptions. Over time if openssl continues with its different approach, time will tell who is better. Could be both survive (as SSL is used everywhere) or one proves better. It will not just be picked on coding value. It will be host of other things as well.

    --
    Respect the Constitution
  48. Security: OpenSSH vs OpenSSL CVEs by Anonymous Coward · · Score: 2, Interesting

    Personally I have no reason to believe BSD is any more capable considering laundry list of CVE's for OpenSSH including an insane PAKE credential bypass.

    Since 2007, OpenSSH has had 11 CVEs issued, while OpenSSL has had 61:

    http://www.cvedetails.com/vendor/7161/Openssh.html
    http://www.cvedetails.com/vendor/217/Openssl.html

    In that time: OpenSSH's worst CVE score was a single 7.5 in 2007; OpenSSL has had six 7.5s, one 9.3, and one 10.0 scored CVEs. Note that Heartbleed (CVE-2014-0160) is rated as a 5.0.

  49. Re:All hail Theo! by Anonymous Coward · · Score: 0

    There is too much cruft in OpenSSL. Cruft that some obscure people may want, but which may also be full of bugs. Therefore OpenBSD deleted everything they don't want. KISS.

  50. Re: Throwing out all compatibility hooks makes it by Anonymous Coward · · Score: 1

    Actually, they don't even say "fuck you". They suggest you use your resources to implement that feature within your OS. Which, makes sense. I have a friend who runs tons of stuff on some Alpha servers he got in exchange for helping the university port off those systems. Basically what libreSSL is suggesting to him is a decision tree. If underlying library or function that we assume the OS should handle is not available on your system.

    One solution for folks using more obscure/old platforms would be to create a "libportable" for those platforms as a compatibility layer for POSIX/Unixy software. This is what the Portability Team of OpenSSH does: keep the core sane and secure, and bring in functions on as needed on those platforms that don't have them.

    By having a separate libportable, it could also be leveraged by many more projects, and not just lib(re)ssl.

  51. OpenSSL's malloc by Anonymous Coward · · Score: 0

    However, OpenSSL uses their own funky versions of malloc and free which pre-allocate large chunks of memory from the OS (as in, many pages), then implement their own in-process memory management on top of that.

    And this would have been partly fine if they had used a semi-sane, widely-used, third-party malloc like jemalloc (which Mozilla uses) or tcmalloc. Or if they allowed folks to disable the internal one and go with the OS-provided (there's a flag there, but it breaks things).

    But they went with their own, and they had it such that you couldn't turn it off.

  52. Re:Throwing out all compatibility hooks makes it e by 19thNervousBreakdown · · Score: 1

    Why is your security code depending on undefined behavior? And why would you port to other architectures to serve as canaries for the architecture you're presumably running on? How about a test suite instead? Do you you tie your shoes in the morning, or do you have an elaborate Rube Goldberg machine try to will them onto your feet?

    --
    <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
  53. Re:Throwing out all compatibility hooks makes it e by Anonymous Coward · · Score: 0

    Why is your security code depending on undefined behavior?

    https://www.schneier.com/blog/.... Also OpenSSL-related, funny enough.

  54. Re:Throwing out all compatibility hooks makes it e by unixisc · · Score: 1

    To all the ancestor posts b/w this & mine, I was pointing out the irony of the team removing portability layers of OpenSSL, while supporting it in OpenBSD. Not critical of either approach one way or another, but just noting the difference in policy.

  55. Re:Throwing out all compatibility hooks makes it e by Anonymous Coward · · Score: 0

    Throw out ebcdic? Really? Not a good idea in any middle to large enterprise environment. If you mean Z/OS support bei "ebcdic".

  56. Re: Throwing out all compatibility hooks makes it by EETech1 · · Score: 1

    Everyone who can, will jump ship to Theo's version ASAP. Being strong enough to demand the best, and accept nothing less is a good thing when it comes to software security.

    Many of these libraries are essential, and mostly taken for granted.

    How many people thought that it was already an OpenBSD project, and had Theo's scrutiny already?

    There are some true leaders within the OSS world, and we are lucky to enjoy what is made of their efforts. As the TLAs become increasingly invasive in our daily lives, having well written clearly documented textbook code is the only thing you can count on to provide any level of security.

    Version 4.0 of Linux will be the same way. Linus will take his kernel, and go where things are sane again, and there will be no compromises. Take it or leave it. This is how things are done. Correctness is the law of the land.

    Or you will be taken of your privacy, and computer security at every possible turn.

  57. Re:Throwing out all compatibility hooks makes it e by cheater512 · · Score: 1

    Oh its insecure? Heatbleed is fixed. What *useful* exploit do you know about that the rest of us don't?

  58. Re:Throwing out all compatibility hooks makes it e by Anonymous Coward · · Score: 0

    Also turned off by lack of professionalism. Too many commit comments are childish reflecting lack of discipline I am uncomfortable seeing applied to a project of this type.

    Oh great, another one of those who thinks that "professionalism" equals "emotionless automaton who can do nothing but work all waking hours".
    You're what's wrong with corporate environments these days. Why don't you shut the fuck up and let those of us who still have a soul try and create a decent work environment even when the job at hand sucks (e.g. cleaning up the horrible OpenSSL codebase while under the pressure of not fucking up crypto).

  59. Re:Throwing out all compatibility hooks makes it e by cant_get_a_good_nick · · Score: 2

    If you check the slides, there are a few areas that they failed hard on. I don't know if you're a C developer, but I've coded a bit, and the slides scared me a bit.

    Yeah, there was the "cross platform" stuff. Do we really need EBCDIC support? There's a simple rule about code. If you can't test it, you should pull it. Do you have a machine you can test on? They had Win32 Winsock code, which is a special case. But all modern Windows computers have a Berkely sockets type stack. This doesn't need special code, which means a lot less code to debug.

    When the OpenSSL guys state (with some justification) that they have no resources, part of the problem is they waste it by having unused code paths. They'd save some testing time by having removed this code before.

    But they also did "cross platform" it badly. They had their own printf, when printf has been done and safe for years. But just in case on some oddball platform, we have our own. They had 17 levels of nested #ifdef. If you don't know C, that's SCARY. There's no way you'd unwind that in your head, and there's near zero chance you'd be able to code a test plan for that. Why? Because you can think of #ifdef as a way of doing simple code modification... 17 levels deep of this type of modification is near impossible to think through and is nearly guaranteed for bugs.

    Worst of all, in name of one platform, they came out with an oddball memory allocator. They added things to this allocator to the point where they couldn't run a normal one. Worse off? They got so used to BUGS in this allocator that they couldn't move off of it. And these bugs are directly related to the Heartbleed bug - it's a memory management bug. Instead of thinking "hey, we're doing a lot of weird stuff just for this odd platform" they made the decision "hey, lets go even deeper down the hole of bad code"

    So, in name of "cross platform" they had many many design mistakes, including something that broke much of HTTPS. I wouldn't use "they were doing cross platform" as an excuse for their mistakes, because in this name, they had made much of their mistakes.

    This wasn't in some text editor. This was in a piece of core crypto. The level of sloppiness allowed is zero.

    They OpenBSD folks take their tone from Theo De Raadt, who generally is one of the ruder people out there. When i first heard the rants about OpenSSL, i was thinking "well, they didn't have to smack them down so hard." After reading the slides, Im thinking "yeah, I'd rant that hard" though i don't have the same Forum as the LibreSSL guys have.

  60. Re:Throwing out all compatibility hooks makes it e by Anonymous Coward · · Score: 0

    CVE-2014-1692