Friday April 18, 2008 | Valerie's Weblog Thoughts from a software engineer |
|
I'm sitting here in one of the last sessions of the Sun Security Ambassadors conference, and thinking how lucky I was to be able to attend - getting the opportunity to learn what we are doing wrt to security in all our different GEOs, get in depth information into emerging security technologies, and I got to hear from some excellent luminaries in this field: Matt Bishop, Radia Perlman, Susan Landau & Michelle Dennedy. We've had a great agenda and I feel like my team and I will have a lot to take away from this. With Sun Security Ambassadors this week, and RSA last week (more on that later), I've been away from my email and "day job". That means a lot of catchup for next week! (2008-04-18 11:47:21.0) PermalinkMy Friday night integration of 6498066 PSARC/2006/610 Data Encryption Kit (SUNWcry) Removal now means that strong crypto is available in a base Nevada system, starting with build 85 and forward. What does this mean for you? Mostly it means that you no longer have to get special packages to get longer key lengths for arcfour, aes or blowfish and that things like OpenSSL will work out of the box. Earlier posts to this blog explained how I took a different approach with strong crypto with Solaris 10 Update 4. This work I just completed in Nevada, which was originally started by darrenm, is not appropriate for an update release since it removes packages and modules from the system. Also, earlier this project was tied in with libsoftcrypto. I worked closely with the crypto team on this, and we decided that the removal of the Data Encryption Kit was more important and needed to be integrated as soon as possible, so libsoftcrypto was pulled out of this project gate in order to speed up delivery of PSARC/2006/610. One really cool thing about this integration? It removes tons of now pointless Sun specific modifications from the OpenSSL source. Hurray! This should make it easier for folks to use Nevada and OpenSolaris builds, as well as make it easier to do development in the affected areas. Let me know if you have any questions! Sun Headlines debut! I just made my debut as an anchor for Sun Headlines. In this latest edition of the program, I'm talking about how cool Project Blackbox is. It's weird watching a video of myself, but it was such a cool experience making it and I love talking about Sun technology. I hope I get another opportunity to film one again! Check out my segment and let me know what you think! (2008-02-01 13:43:36.0) Permalink Comments [1] libsoftcrypto gate building again! I'm so excited - I'm finally back on the libsoftcrypto/removal of SUNWcry/SUNWcryr project, after being mired in other tasks for the most recent past, and the best news is I have the gate building again. Some of my recent code review comments I accepted caused build failures when a full clobber nightly was done (gotta love makefile magic ;-) and I also hit a flag day with librcyptoutil and its new version string. Good news, last night's full clobber build on sparc completed successfully. Now to see if it still passes tests, while I work on integrating the rest of my code review comments. (2007-11-27 13:29:40.0) Permalink Strong encryption included with Solaris 10 09/07! Yay! The day is finally here! A base version of the Solaris operating system now includes full strength crypto! The packages contained in the Encryption Kit are now included in Solaris 10 09/07 (aka Update 4) by default. This includes: SUNWcry, SUNWcryr and SUNWcryman. Now things like IPsec and OpenSSL will have access to full strength keys at installation time, and you'll no longer see weird errors coming from OpenSSL. This was a simpler, and hackier, approach than what is being undertaken for Nevada/OpenSolaris. For Solaris 10 09/07, I "simply" got advice from legal that this is okay to include now, filed a package RTI requesting that the FCS versions of the Encryption Kit packages get included in the WOS (Wad of Stuff), and requested those packages to be freshbitted like everything else. These packages had problems with zones, and the like, that were never noticed by internal testers before - since they weren't included by default. Mary D. & Tony S. worked with the patch gatekeepers to get script patches integrated that would do the class action scripts required to fix those packaging errors. Everything should be in tip top shape now! Enjoy! SUNWcry/SUNWcryr removal webrev posted! Darren Moffat & Dina Nimeh did a lot a work several months ago to remove SUNWcry and SUNWcryr packages from existence (rolling the stronger crypto into the base operating system packages) and factoring out libsoftcrypto. The work got put on a back burner as the ZFS crypto project started getting really hot. I took over the gate for them & have been working on resyncing it to the latest ONNV bits, fixing build issues, and getting it ready for integration. It's not 100% there yet (still need to get rid of merge turds, clean up multiple deltas, etc), but I've sent out the code review. Please take a look & provide comments by 7 Sept 2007. Thanks! (2007-08-31 15:39:12.0) Permalink FIPS 140-2 rough draft design posted! I've finally gotten a rough draft design for the FIPS 140-2 work I'm doing for getting the Solaris Cryptographic Framework certified. It turns out we have to do some coding work, first, before we'll even be certifiable. I've tried to capture it all in the rough design, but I am new to the FIPS 140 world, so would love feedback from more experienced folks. Another engineer will be joining me on the enhancements soon - yay! If you're interested, design discussion is going on on the crypto-discuss at opensolaris . org alias. Telnet vulnerability FUD is making me crazy! Sun did a pretty awesome thing this weekend. A vulnerability was reported on an OpenSolaris alias, not even the correct place to report a security vulnerability, an engineer who happened to be reading his email on the weekend saw the post, reproduced the bug in house, fixed the code, got code review, tested and integrated a fix into Nevada (aka OpenSolaris) within HOURS. On a weekend. We have folks that are on pager call for handling this type of stuff, but since this was not sent to that alias, we were so lucky that several other engineers were watching an open alias for this & responded & fixed it on their day off. The next day, Monday, the fix was integrated into the Solaris 10 patch gate, with official T-Patches on their way, yet I'm still seeing articles like this from News.com which make it sound like we're still trying to figure it out. And gets the facts wrong (I believe the Sun rep was misquoted, but I don't know that for a fact). The article mentions that only as of last month did we start shipping with SSH enabled by default. *UGH* We've been shipping with SSH enabled by default since Solaris 9 - for YEARS now. I think what they meant was that as of last month, Solaris 10 Update 3 started shipping with ONLY SSH enabled by default. That is, telnet, rlogin, etc are all disabled by default. It was part of our huge security initiative, Secure By Default. There are several workarounds to this problem:
Solaris 9 and earlier are not affected. This was unintentionally introduced into the Solaris 10 & Nevada code base when a major project integrated into Solaris 10. I am mystified as to why we didn't immediately release a SunAlert with the workaround, but I know those folks were waiting for the IDRs to be available - and they are now. Official patches will be available Real Soon Now. I'll keep poking a sharp stick at folks to try to convince them to do better OFFICIAL communication, but what we've got going with OpenSolaris on the discussion aliases is very cool. Walking into the building today after yoga, I caught the strong odor of burnt toast. This reminded me of an... incident I had when I started here ten years ago while trying to get a bagel *extra* toasty. I started here in January 1997, just as the Internet boom was starting to ramp up. At Sun, we still got free bagels and donuts once a week - heck, I can't remember if it was on Tuesday or Wednesday anymore! These donuts and bagels were a BIG incentive to get into the office early, otherwise you'd miss out on the deep fried delicious snacks. Fresh out of school, I would arrive here at the office, dressed business casual, at about 8:30AM. One morning (a Tuesday or Wednesday), I was toasting my bagel & decided to toast it twice (as the first time it came out a bit underdone). The smell of burning bread alerted me to trouble, and I reached into the toaster oven to try to retrieve my bagel. After burning my hand trying to grab the incredibly hot doughy delight, I tried reaching in again with a paper towel... Even though the element was off, it was still hot enough to catch that paper towel on fire. Oops! Quickly, I dropped the paper towel in the sink & turned on the water. Waited a minute, then retrieved my now overdone bagel and sulked back to my office. Embarrassed by my rookie bagel move, I was still relieved that Sun engineering is a late rising bunch, so nobody else witnessed my bagel flambe. Looking back on the last ten years, I've been all of the following:
Here's to a great ten years at an incredible company where I've had many different jobs (only one job change actually involved an interview), and even more roles. I've learned you can't be just one thing here at Sun, you must take multiple roles, do multiple tasks, and keep learning. There's always more room on your plate - there has to be. It's how we grow, both as a company and as individuals. Here's hoping for a few more good years here! Who knows what jobs or roles I'll be doing next year?
Life Cycle of a Patch - the basics
I know I promised a follow on about Solaris Updates and exceptions back in October, but, well, I've been busy. Update 1 (S10 01/06) shipped in January and has been making people happy ever since :-) My last blog entry on the subject of how updates are built has generated a lot of questions internally about the lifecycle of a patch. In my last entry, I talked about patches being cut at the end of the build, this is where things get interesting. Whenever a patch is created, it is placed in an internal database where we can all track the status and progress of the patch. Additionally, all interested parties, like patch requestors and test, will have an automatic hold on the patch preventing its release to SunSolve. The patch requestor, as officially defined by the tools, is whomever the engineer specified as the requestor in their patch RTI (Request to Integrate). This should be whomever is asking them to backport their fix to Solaris 10, and at this point it must be an internal person. Many engineers will use themselves as the requestor since they are doing the backport on behalf of a customer. All Solaris patches are delivered to an internal group called Patch System Test (PST) where they do basic regression testing of the patch and test applying patches on systems with popular enterprise applications. PST has a one week test schedule, so if the patches are delivered *just* after a cycle has started, they will have to wait until the next cycle begins so it may take a patch up to two weeks just to get through testing. If PST is satisfied by the patch, they will release their hold on it. Each developer & patch requestor is then responsible to do unit testing with each patch, to make sure the bugs it is supposed to be fixing are actually fixed, that all dependencies of the patch are actually correct, and that the README content is accurate. This is where things sometimes slow down in the cycle if engineers are on vacation or don't understand that it is indeed their responsibility to do this. Fortunately, that does not happen often, and is normally quickly caught by an engineer covering an escalation for a customer or someone else desperate for the patch. As soon as all of the holds are released, the patch is pushed out to SunSolve within 24 hours by an automated system. If there is an urgent need, the patchmanager, with the proper escalation, can override individual holds during special circumstances to get a patch out even faster.
Solaris 10 1/06 (aka Update 1) is out!! It's here at last! After nearly a year of hardwork, all of the teams pulled together an excellent update for Solaris 10. It feels great to finally get the release out to the masses. In addition to many bug fixes, there are loads of performance enhancements and new features. Solaris 10 1/06 supports all of the new hardware platforms released over the last year, including the Niagra Cool Threads machines and the galaxy boxes. This release contains the metaslot support for the Solaris Cryptographic Framework which makes programming to the framework easier than ever before, new GLD interface and updated network drivers to take advantage of the performance gains, and GRUB for x64 boot architecture. There's so much more, too. Check it out - let me know what you think! Visit the downloads section of Sun.com. Now I should finally be able to get some sleep :-) (2005-12-22 13:15:39.0) Permalink Comments [2]
What are Solaris Updates made of: Patches and scripts and packages, too.
There seems to be some confusion about what a Solaris Update
release is, both in and outside of the company, so I'd like to take an
opportunity to explain how we are currently generating Solaris update
releases.
Chairman's Award winner! Yipee!!!
Every year, Scott McNeally and the executive staff give out a handfull
of awards for outstanding contributions and innovations. This
year, the Solaris Cryptographic Framework for Solaris 10 was awarded
one of the prizes! This is an amazing recognition for all of our
efforts and the great benefits the crypto framework can bring to
developers and ISVs!
Solaris Cryptographic Framework - Demo providers
The news just gets better & better!
Solaris Cryptographic Framework Whitepaper published!
Ok, this took entirely too long, but I've finally gotten the whitepaper
I wrote on the Solaris Cryptographic Framework published externally!
Finally, in Solaris 10, access to optimized cryptographic
algorithms are brought to the general user. Now you can read all
about it on BigAdmin: Solaris Cryptographic Framework |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||