Follow on Twitter

Sunday, November 28, 2010

Security Risks of Virtual Worlds

It has been a while since a post has been made here, but in the world of 140 character messages, I guess it is time for a post.

A lot has happened in the virtual world space since the last post, but the most significant is the apparent slow demise of Linden Labs and Second Life. Mark Kingdon is gone. Philip Rosedale was back for a while, and is now gone again. Now Linden Labs is without a leader again. But this is not about Linden Labs and their decline for a variety of reasons. It is about the very positive end result: the proliferation of virtual world grids running OpenSim (hopefully the next 3D Apache).

OpenSim has come a long way since I first started working on it when it was version 0.4.something. Since then hundreds of grids have been set up along with hundreds of regions on a variety of platforms (ours). And yes, some of the version upgrades did not go well, and we lost a bunch of items. What a ride it has been, but a very worthwhile one. It has come a long way. OpenSim is very functional, but it still has a long way to go. It is still ALPHA software! In spite of its alpha nature, it has become production software with many public grids springing up weekly. A major shift in architecture transpired from version 0.6.9 to version 0.7.x. The structure of the database has changed. Hypergrid went to version 1.5. Those on 0.6.9 (or before) are on Hypergrid 1.0. Hypergrid is a critical link that will make virtual worlds connected (like Hyperlink did for the current Internet). Hypergrid 1.0 and 1.5 are incompatible. But, many are hesitant or stuck or don't have the resources to convert large grids to 0.7.x. Some have even modified the OpenSim code and created their own version making it even more difficult to convert without full (and extensive) testing.

The list goes on, what this is all about is security. In particular, security of your content (there are many other security holes and vulnerabilities which will not be mentioned here). It is publicly broadcast that Hypergrid is, well, lacking in security. Basically, your Inventory is at risk, or basically, your content in your Hypergrid region is at risk. In presentation after presentation, we demonstrate how easy it is to take content at will. We present so often, that we have an entire region named "Steal Island" to demonstrate some of the security issues. No, we have no use for the stuff. No use at all!! It is to prove a point: In order for OpenSim to become more widely adopted, Content / IP needs to be protected (like any other medium). As virtual worlds shift from a very crude building tool, to the support of meshes, more professionally designed content will be generated. It needs to be protected. One can already see the dramatic repetition of items as one traverses from grid to grid, and from region to region. Security is certainly a code issue, but it is also an education process (not just a training process).

Let's dive a little deeper into some of the items that need to be fixed. There are more, but they will not be addressed here.  The OpenSim Core development team has done a superb job to get this far, and they deserve a big round of applause for being committed to a vision shared by many. Now it is time to go a step further especially with the "questionable status" of Linden Labs and Second Life. OpenSim is moving to the forefront in usage, and will certainly become a more serious solution in the virtual world space. As this happens not only should functionality be considered, but security should be considered as well (maybe a priority). Let's not panic here, Microsoft Windows 7 and Internet Explorer are riddled with vulnerabilities (and it has been a long time in production).  The vulnerabilities are expected.  They just need to be fixed.

The Problem with OAR Archives

OARs are region archives. By issuing the "save oar" command, an entire region can be backed up intact, and reloaded in the current grid, or in any other grid....anywhere. This is a wonderful and needed feature. It can be a savior to hundreds of hours of work.  We have used it hundreds of times. BUT, BUT, it is insecure, and offers no protection for your content. Why? Well, once the OAR is loaded, say on a new grid, all the original creators, and owners are obliterated from the content as it is placed on a region. Right...gone! The new owner/creator becomes the Estate / Region owner. Many talk about passing OARs around like candy. Great! Not! This is one reason, we still strongly suggest that folks host themselves to protect their content from unauthorized use (or certainly proceed with increased scrutiny when selecting a hosting provider). Again, OpenSim is still ALPHA Software and really not fully production ready. Even on your own private and closed grid, you may have a bunch of designers working on a project. You take an OAR to load it on another grid (or just for a mere restore). Poof! All creator / owner credit is gone with the new Estate / Region owner being the new Owner and Creator of the content. From a building logistics point of view, this becomes a pain (due to permissions which should be implemented in your .ini file). From a personal standpoint, this can be disappointing. In our situation, we all have our own backup grids. We all get the OARs. We all have equal ownership in all of the content. How about you? Want to spend weeks doing a build, and give someone an OAR? If yes, then consider it Open Source. If you have someone host, make sure you have full access to all of your content through OARs or IARs; but remember, your hosting administrators also have access to this content as well.

The Problem with IARs

The inventory archive feature is a wonderful and much needed feature. But many of the issues mentioned with OARs are inherent to IARs. I will not dive deeply into this except explain one problem: When the Inventory is restored, it is right there in your inventory as expected. It looks just dandy. You click on the properties while in inventory, and it looks just fine. BUT, BUT when you drop the item, something happens. Look at the Creator. Well, in many cases, and I do not know why, the Creator is shown as: (Loading...). Wonderful! Ok, so you add a root prim to it, and you are back as creator and owner (yeah right, regardless of who originally made it). But the biggest pain is all the new viewers. Everyone is trying to appease Linden Labs in the viewer implementations. Therefore, there are checks when doing an export. It checks for full permission, ownership, and yes, that you are the creator (new). Well how many of you have avatars named: (Loading...)? I say none. I say you can't export. (Well, yes you can, but you can figure out that one on your own). I strongly suggest that everyone has ALL original content on disk, and maybe, unless you know what you are doing, skip having a "packrat" inventory and securely store everything (or as much as possible) on your computer's disk drive. If you are a creator of viewers, spend less time worrying about making Linden Labs happy.  Divert some focus to making a feature rich OpenSim viewer that is functional, easy to use, and of course, innovative in nature even if it is not supported by Linden Labs). This brings me to the next and last item:

The Problem with Viewers

Well as you all may know, there are a number of viewers. These viewers hit the spotlight for a period of time, and then wane into the background (Meerkat, Hippo, Emerald). New viewers come along while others disappear. It is expected that more new viewers are coming, and others will still go. And yes, they all serve to emulate Second Life viewers, and appease Linden Labs (who's sustainability is in question). It is time to make new viewers while still maintaining (in the short run) the satisfaction of Linden Labs. The export / import functionality is critical. This becomes more evident as you really need to protect your "stuff" whether it be in Second Life or in any OpenSim environment.  It is yours! You worked hard for it. You can still take your stuff out in Second Life (but getting tricky), and should do so. Similarly, you need to be able to secure your content in OpenSim (and retain ownership and the ability to securely backup content external to OpenSim). AND, it should not be easy for others to have access to what is not rightfully theirs. How many of you looked at the code of the viewer you are using? Hmm, I do not see that many hands raised. It is Open Source. Anyone can have access to the code. You trust it? I will not comment on the code, but you really need to know what you are using, and be very aware of where you get it from. For example, one can take one of the programs that checks Creator / Owner / Permissions prior to exporting. Comment out the lines. Add "return true;". Compile and run. Guess what..right...you can export anything you want from anywhere you want. (NO! WE DO OT HAVE THE TIME OR ENRGY TO MODIFY VIEWER CODE).  As more and more viewers come about, be careful!

I conclude with: Buyer Beware. As educators shift from Second Life to OpenSim (they should quickly), it is strongly recommended that you just host yourself and protect both your students and your content. I know, you need to be "connected". Of course, but you do not need to have all your builds and classes in the same place as where you are connected. Just create an account where you want to be "connected" (SL, OpenSim, other), and, well, be connected. Your students (within age) can do this as well to achieve the breadth of the virtual world experience.

For the time being, HOST Yourself or risk losing the rights to your content! It is not that difficult to do. Most of your needs can be satisfied with a standalone implementation using mysql. It can be loaded anywhere. Our favorite simple configuration for educators is: Windows 7 running vmware with an Ubuntu Virtual Machine running OpenSim with 10 - 15 regions. This is a great solution for a secure and portable classroom (or demonstration). And, and if you want...you can put it on the Internet for public access, or just keep it on your NAT IP address and use locally. How long does it take to install and configure? An hour tops! And, you do not need a real beefy laptop (but not a cheap one that you waited on line to get from Best Buy from 3 A.M. for $349). Yeah, this sounds techy, but it is not that bad.  Plenty of assistance is available. Of course, for more serious implementations, a beefier server may be required. It should cost less than $2,000.  I do suggest virtualization (VMAWARE / HyperV), but some will argue.

The security of Intellectual Property is critical! OpenSim will not move forward to full widespread adoption until IP is protected. If you insist on hosting, remember, there are no deals at $9.99 / mo for a region.  And, there are no deals at $75 to $150 (or more) a month either. Users come and go, and so will service providers.  We have no recommendations since for the usage of most folks in virtual world, one can get many more regions for free hosting on their own.  The server cost is minimal. Probably the biggest obstacle you will face is your IT security folks.  But, they sometimes also make it difficult to use a viewer to obtain external access to virtual worlds. As the Internet continues to rapidly proliferate, we still need to protect ourselves from "the boogeyman" who lurks in cyberspace (I guess).

Saturday, January 16, 2010

Virtual Worlds - Future Careers - Future Fortunes

The following article prompted this article:  http://bit.ly/7Lrpdv

The link talks about how OpenSim may be led by and for the power users.  It has to be!  It is the opensource viewers that need to be influxed with HCI and Usability...though the features contained therein still need to be increased (for the power users).  It is a catch22 of sorts.  Viewers take hold, then work stops.  Yes viewers are OpenSource, however, the interest in expanding the capabilities of the viewers soon wanes.  Once again, the Hippo viewer is mentioned.  It was our favorite (but add in the features of meerkat). Where are you Hippo?  Well, where are you anyone?

As the virtual reality (worlds) arena continues to take hold, a wealth of new opportunites begin to surface.  Having seen technologies flourish, some of the major ones (TCP/IP, the Internet, Internet2, and more) follow the same pattern. 

  • A bunch of researchers and educators latch on to a technology (or the government).
  • The rest of the research / education community hop on the wagon
  • Large corporations take interest, and invest
  • Many large corporations seize the opportunity
  • Small to medium enterprises begin to latch on and the "me too" era begins
  • The "world" catches on
  • And so forth..over and over again.
Right now, it is at the large corporation stage, and moving rapidly forward. Hosted metaverses are sprining up rapidly.  In fact, private metaverses in 2009 have realized a 29% growth while Linden Labs has seen a 6% growth in Metaverse expansion: http://bit.ly/4J4SbC This trend will contiue rapidly!

Of course, it is important to focus on the end user experience, yet the server software (opensim) needs to be rich and very scaleable (unlike the code of Second Life).

As OpenSim / Second Life / whatever technologies begin to emerge, new opportunities also emerge.  Not in any order, they are:

  • Consultants / Architects - Virtual world consultants and architects will flourish. It will be costly, but new users / companies can save significant ampunts off the steep learning curve.
  • Content Consultants - educators, health care, non-profit, and the list goes on to all sectors.
  • Content Designers / Programmers (or scripters) - not everyone can create, nor does everyone know how to create.  Nor does everyone want to.  Content designers and programmers will flourish.  They will be similar to the web content designers and programmers.  They will exist from both an artistic to a very technical breed.  Those with the combination of skills will flourish. This area is the main area that is stagnating the proliferation of the technology as the learning curve is steep (as in the case of K-12 schools that just do not have the resources). Not everyone has the time to take the leap (an yes, some do not have the ability).
  • VWSP - the virtual world service providers will emerge.  They will, for a fee of some sort, tie in all of the disparate grids that exists from homes, to companies.  A wealth of metaverses will be created. This will be quite similar but far more functional than:  http://www.osgrid.org/.
  • Individul Linden Lab type companies.  Thhey will provide space, and will host indiviual users and organizations that do not have the capacity to have their own servers. This is similar to the "land barons" that exist in Second Life (only larger is size and capacity).  Individual companies now exist that already do this:  http://www.ractiongrid.com/.  These companies will be numerous.  These compaies will also have connections to the metaverse through hypergrid.
  • In world E-Commerce - right, those that sell virtual goods for the use of residents. In Second Life, only about 10% of these companies break even.  Even fewer make significant revenue.  SOme big players will participate in this arena.
  • Software Companies - those that provide add-on modules to the exisiting infrastructure.,
  • Full blown commercial E-Commerce - yup the branded items that can be purchaed and sent to the purchaser in the same manner as commercial web sites do today.
  • Social network integrators - a new era of social networking / social media arises.
  • Specialized Attorneys - yeah..but needed to deal with all the Intellectual Property issues.
  • Network / Security Architects - security is still a weak point in the whole scheme.
  • Endless others!
To many folks expect development to take the direction of the traditional Second Life where the world is run by residents.  This will still persist but will take a back seat to the other items mentioned above.  Even Linden Labs is redirecting its attention in line with the above mentioned opportunities.  They should.  Very small amounts of the revenue is derived from resident premium payments and other activiteis.  Linden Labs / Second Life needs to survive in order for the technology to survive in the short-term future. But Linden Labs cannot be the only player.  Hence OpenSim.  Keep the OpenSource work going!!!

So to say that OpenSim development is favoring Power Users...who knows...but it needs to...!!!! The focus on megaregions was mentioned in the article.  Megaregions are critical!  Avatar concurrency is critical!  Hypergrid is even more critical! Enhaced features are warranted.  Sure, not everyone can run a server.  Hence the multitude of new careers mentioned above.

Monday, January 11, 2010

Virtual Technologies - OpenSim - What Next?

This short write-up documents some thoughts about OpenSim after commencing with using it since October, 2008.

After having over 30 years of technical work experience, it can be said that working with OpenSim has been one of the most challenging experiences (and the most fun).  It has also been a learning experience for certain.  Watching it progress over the period has been exciting, and also frustrating at times.  If one gets frustrated with the Usability issues in SL, then OpenSim is not yet for you...or is it?

Linden Labs posted their plans for 2010.  It is not certain if there were OpenSim plans posted for 2010, but, in no particular order, the following are some thoughts of what is believed needed to happen to make the technology proliferate even further.

Keep in mind, there is tremendous respect for all those that have worked (and work) on the continued development of OpenSim.  I am amazed at the effort.  I think I have met some of the smartest folks ever while working on OpenSim, and other virtual technologies.
  • What is up with the viewers?  They spring up, and then seem to pass, or lack functionality.  Hippo was the preferred viewer of choice on this end.  What happened?  In partiular, the ability to link more than 255 prims was a great feature even though it probably should not be done as a rule.  Linden Labs will be implementing a new viewer in 2010.  The OpenSource viewers need to continue to be developed, but the field should be narrowed a bit. Someone pick up the continued development of Hippo?
  • Documentation - I know folks like to work on the fun stuff, or the complex stuff, but documentation is critical for extended success.  It needs to be clear enough for the "common folks" to implement.  K-12 (and some higher-ed) institutions miss out on SL.  Here is an opportunity for expansion. Even after 30 years of software eng., sales, managerial, and teaching experience, I sometimes read the documentation (Wiki) and say "what?".  I get through it, but sometimes it is a struggle. (You need a volunteer?).  When I write technical documantation, it is usually given to a non-technical person.  If their head spins, then it needs work.
  • With regards to the above, SQLite support should continue.  Attachment persistence should be included.  Many new users need not go through the mysql process for a small localized server.  It is easy, and requires less "installation".
  • Corporate support - continued corporate support is essential..actually critical. In addition, researcher (like myself) support also needs to expand.  Get the word out!
  • Linden Labs Support - yes what happened to their "seeing an OpenSim future" for the comapny.  The beta grid?  The integrator of disparate grids? More? It is a wonder what they are actually thinking of with some of the "corny" things they do.
  • There has been no mention of hypergrid for a long time...what's up? Hypergrid is essentail for success and the creation of "The Metaverse".
  • Where is the media?  OpenSim is one heck of a great piece of work.  Linden Labs has lost its spotlight.  Time for OpenSim to get into the spotlight.
  • Continue to shorten that ini file (for the general user).
  • Continue to implement sound Usability and Human Computer Interface (HCI) theory.  Linden Labs loses about 90% of its users over time.  Many a time, it is because of the interface.
  • Further improvements to avatar concurrency is warranted, but great work so far!!!
  • Wow - megaregions - great, great, great!
  • Wow - Load / Save iar - works great, but how come object from inventory say "Loading..." rather than a Creator?
  • Don't give up!  Keep the devlopment rolling!  Web 2.0 is running out of creative ideas.
  • Finally, collaborate with the popular social networking spaces for future integration, or include hooks into them.  Understand why Facebook, Myspace, Twitter, LinkedIn, and others have many millions of concurrent users.  SL only has about 65K at best now.  You see why?  Linden Labs doesn't! It is not that hard to figre out!  Hint: Nascera is nowhere near the solution.
Ok, enough blowing smoke now.  I just upgraded to 6.8 and went from sqllite to mysql..you know, that endless loop issue reported.  I do not think it is an sqlite issue.  I switched the ini file and turned off hypergrid, and the hypergrid asset service in the "Architecture" section, and it all works fine.  And..and....those white eyes go away.

If anyone wants assistance, feel free to contact us at: http://bit.ly/7M5Y1M

Let's make this happen:  http://bit.ly/7hvDDW