Kaspersky To Build Secure OS For SCADA Systems
Trailrunner7 writes "Attacks against SCADA and industrial-control systems have become a major concern for private companies as well as government agencies, with executives and officials worried about the potential effects of a major compromise. Security experts in some circles have been warning about the possible ramifications of such an attack for some time now, and researchers have found scores of vulnerabilities in SCADA and ICS systems in the last couple of years. Now, engineers at Kaspersky Lab have begun work on new operating system designed to be a secure-by-design environment for the operation of SCADA and ICS systems. 'Well, re-designing ICS applications is not really an option. Again, too long, too pricey and no guarantees it will fit the process without any surprises. At the same time, the crux of the problem can be solved in a different way. OK, here is a vulnerable ICS but it does its job pretty well in controlling the process. We can leave the ICS as is but instead run it in a special environment developed with security in mind! Yes, I'm talking about a highly-tailored secure operating system dedicated to critical infrastructure,' Eugene Kaspersky said in an interview."
Monitoring and "remote support" by KGB included free with every purchase!
They'll never go for it.
Aren't Kaspersky Labs the bozos who supported Internet passports? That is such a dumb idea that my computer lost 100Mhz just browsing the article. These guys just have verisign envy and want to get between users and hardware in order to charge rent.
Make the client OS use DNS SEC and encrypted traffic for a secure network that is not physically connected to the internet or any network with a gateway to the internet. Why is this so hard?
This secure OS will eventually get compromised too if it has USB ports enabled, physically access to the machine, or be on a network.
http://saveie6.com/
Why waste the time in new development. Start with one of the BSD systems (already approved under iso9001/9002 type stuff) and either set up custom configurations, or fix what needs fixing.
Don't blame me, I voted for Kodos
I do like the idea of an operating system designed with such security in mind. The operating system is probably also going to require some sort of real time guarantees, but otherwise no requirements for ultra high performance.
As far as security goes, I think one important aspect is transparency. Code running on the operating system should probably not have much freedom to modify the underlying system, but it is crucial that they can see what is going on, such that you can monitor that nothing unexpected is running on the system.
I guess for most SCADA systems the risk of bad stuff happening due to unauthorized changes is a much greater concern than leaking information from the system.
Are Kaspersky the right people to build the OS? Time will show.
Do you care about the security of your wireless mouse?
"re-designing ICS applications is not really an option". If redesigning the apps isn't an option, how would a new OS help?
They want their capabilities architecture back.
The problem isn't the os. The problem is the programmers.
The culture, the style, the programming best practices.. It needs to change when it comes to embedded systems that need high security.
You need high standards for these things.. Instead mostly they are still slapped together like the crappiest web apps.
So now you're going to build an idiotproof os?
Well you know what they say about that...
Keep M$ out of mission critical and high-danger environments? Good, and it's about time. Nothing could be smarter.
That's how my eyes are rolling right now.
Kaspersky Lab is a company that has its whole business centered around digging through compromised insecure systems. They wouldn't know a secure design if it bit them in their faces.
Contrary to the popular belief, there indeed is no God.
We aren't done completely hosing Iran's nuke program just yet. Once that is completely kaput then have at it!
But then again, anyone who knows the solution would have to kill you if they told you.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
That is exactly the same problem general desktop computing has. The OS is secure, the hardware is secure, it is the poorly engineered browser addons (and sometimes browsers) which bring the system to its knees from a security persepective.
Yes, this embedded OS is secure, but what gives me the ability to trust it? Old Cold War tensions aside, if someone hands me a lock and says, "trust me, its secure", that doesn't give me much assurance. Having source code available for peer review (even if it is commercial like PGP's source) would go a long way in assuring.
Otherwise, I don't see that much improvement between what it offers, and Linux's AppArmor/SELinux. I do like the fact that writes can be redirected elsewhere which isn't a part of any UNIX OS, but if need be, that functionality could be sort of cobbled together by making a snapshot and having a clone be a new filesystem.
I'm confused... GP never mentioned a hosts file...
assumption 1: we can have remote control work. FALSE. any backdoor anywhere will open.
assumption 2: the vendor is secure. FALSE. any fixed system password is known to somebody bad.
assumption 3: we can use lowest-cost hardware. FALSE. there will be flash drives and dongles and games placed on these machines from who knows where.
assumption 4: we can firewall the net and have Smart Grid work safely. FALSE. it's >ALL fixed passwords out there in StupidGrid, wireless here and there, customer access... it's all bad. all. bad.
dump these bogus assumptions, and reconsider 50s systems management for SCADA... big box in the middle, no intelligence elsewhere, and no connections to anything outside the control room. much more secure.
if this is supposed to be a new economy, how come they still want my old fashioned money?
Those of us who have been around a while will remember Microsoft trumpeting Windows NT's security.
"Microsoft included security as part of the initial design specifications for Windows NT, and it is pervasive in the operating system"
The whole Orange Book / Red book, C2 security level and so on,
They would be better off improving the failings of the existing system, rather than inventing a whole new set of ways to fail.
Wow.... You know what I really want... Trusted Computing Platform for SCADA. Because, hey... If I don't have verifiable challenge-response between a sensor and controller, how can I really trust it. Maybe they can even make the Thunderbiolt connector the standard, with authentication for all the cables! That would be great... Then we could just blame system failure in a bug on the authentication layer!
The need for interoperability is where most of the problems seem to come from. Properly securing and making a system truly bulletproof just isn't always justified.
Or maybe Kaspersky will engineer some tightly security checked distribution of Linux/*BSD/Solaris?
Kaspersky should also take into account solutions like L4 or Minix3. I fear that really witing an OS from zero would be overkilling.
Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
Ice Cream Sandwich? Android?
That is exactly the same problem general desktop computing has. The OS is secure, the hardware is secure, it is the poorly engineered browser addons (and sometimes browsers) which bring the system to its knees from a security persepective.
If an operating system is written in such a way that it blindly gives full root-level access to untrusted third-party binary add-ons -- then your definition of "secure OS" is not the same as mine.
Seriously, it seems like in the last 20 years we've forgotten (or deliberately chosen to unlearn) everything we knew in the 1980s about security. The trend then was away from monolithic kernels towards microkernels, because, well, it's the only mathematically possible way to achieve security and reliability. (In the same way that "not distributing the decryption keys with the content" is the only mathematically possible way to achieve secure encryption.) But it was slow, at least back in the days when 4 Mhz CPUs and 1MB of RAM was a lot. So... we threw away security for speed. Raw C/C++ everywhere. And then built an entire global Internet based on operating systems built on a completely non-securable model. That includes Linux. Yes, do let's run native x86 machine code shared libraries everywhere, we can mitigate the damage after the fact with sufficiently clever code signing / virus scanning / patching. Except that, of course, in practice we can't.
Security of arbitrary x86 binaries is as much of a pipe dream as DRM is. It's simply impossible to close all the gaps when you're passing raw memory pointers and rewritable memory blocks around. The only way to do this right is to start from scratch, use a tiny security-audited microkernel at the bare metal level, with a securely designed message passing architecture everywhere above it. It'll be slow, it'll cost trillions of dollars in coder hours to rewrite all the incorrect code we wrote in the 1990-2000s boom, but it will be mathematically provable to be secure and not kill people.
So, of course, we won't be doing that anytime soon. Welcome to the Gibsonian cyberpunk present. System cracking as a videogame where everything is vulnerable and it's just a matter of how much you want to pay the Somalian Pirate Mafia or disgruntled USAF cyberwarfare cadets to buy the latest exploit. I used to think Neuromancer was a ridiculous scenario, that of course we'd fix the obvious bugs before Internet went 1.0; but we didn't, and now we're living the result.
We could have done it right. But we're stuffing up everything else on the planet, why did we expect that software would be any better?
You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
This is all good in theory, but let's not forget WHY we have ended up here:
The Customer.
The Customer WANTED to have Windows based servers, the customer wanted to have integration on to their business networks using Windows protocols and standards.
DCS vendors for DECADES had their own OS's from the PLC up to the HMI , granted they were not secure, but they didn't need to be as they were not externally accessible, nor could they run anything untoward.
When the customer sees this new OS and can't get the data they want on to the managers desktop without expensive interfaces/hardware they will vote with their wallets and maintain the status quo.
I don't believe this will go anywhere.
SCADA/DCS/ICS Vendors will harden up their systems end-to-end and customers will still go and put VNC on their servers negating any work on the vendors behalf.
Burma?
"After nearly three years of development, Invisible Things Labs has finally released Qubes 1.0, a Fedora 17-based Linux distribution that tries to be as secure as possible by isolating various applications in their own virtual machines using Xen. If one of the applications is compromised, the damage is isolated to the domain it's running in" link
AccountKiller
It's interesting to study the motivations behind posts like these. I find these posts quite hilarious and to absolutely miss the point.
One the one hand we're told, "don't feed the trolls", and this person is an obvious troll. But, some part of me wishes to implore them to see the bigger picture.
To whoever you are: circumstance should dictate the tools you use - sometimes this means Windows, sometimes this means Linux. You will rarely see Linux running the domain of a large business, but you would equally rarely see Windows running on the planet's super computers. Also, no operating system is secure. There are relative levels of security, yes, but please keep things in perspective.
Personally, I think the OS needs to be reinvented (I'll drool over a realtime, event sourced, distributed microkernel) - but it is prudent to recognize that this is merely one spoke in the wheel of security. Another spoke would be 3rd party applications, another would be uptime - the list goes on. Widen your field of view and smell the roses: everything sucks - make it work the best you can and be smart.
Oh yes, microkernels and especially event driven ones have high overheads - I just think that the trade-offs in this day and age are worth it. In terms of an event driven microkernel, I haven't really used one for my daily computing, no - but I am very interested in them, I'm a hobbyist in this area (however terrible I may be at it). I completely recognise that there is no silver bullet and that my wet dream of an OS could well be proven inadequate in the long run, but that doesn't change the fact that the industry at large has recognised the shortcomings of current designs.
I'm not stating you're a troll because all your information is incorrect - not so. But the manner and circumstance in which you have delivered this information lends yourself to be defined as such.
For the sake of brevity, I'm going to say you're not a troll.
Now, I've read many of the links you've posted and found them quite interesting and informative. What is your opinion of the Linux kernel? Also, what do you think of my opinion of the state of all the major OS kernels out there?
They're writing it in C/C++. What could possibly go wrong? There are already embedded operating systems with reasonably good levels of assurance, such as LynxOS and QNX.
Ah, so you're a linux desktop user of past releases? Slackware + Ubuntu/Kubuntu have been the ones I have tried too. And before Web 2.0 I spent most of my time on the FreeBSD command line using lynx! Wasn't maintainable though if I wanted to be involved in the WWW. =D
Just to help out your posts for future benefit (the ones that are concrete, verifiable, & undeniable facts as per your post: http://it.slashdot.org/comments.pl?sid=3189435&cid=41672457), it is worth noting that the second item on that list (NASDAQ) is misleading. Firstly, the comparisons are incorrect since they're not talking about the same transaction method (TPC-C vs TPC-E: http://www.siemon.com/uk/white_papers/08-03-03-latency.asp) and secondly, NASDAQ actually runs Linux for all the real market transactions (http://www.computerworlduk.com/in-depth/open-source/3246835/london-stock-exchange-linux-record-breaking-system-faces-new-challengers/) - they do this at over a million transactions per second (approximately 1,390,000 a second - please note that this is a bit faster than 65,000 per second). It's worth noting that nearly all exchanges run Linux for their core trading platform - that doesn't mean Linux is perfect though!
But I'm not attacking Microsoft Windows! I'm just helping you clear some things up. For example, the last semi-major stock exchange to use Windows was this one: http://www.microsoft.com/en-us/news/press/2010/dec10/12-15directedgepr.aspx
As you can see, Microsoft lauds the low latency of their new system (340 microseconds), but did you know that the latency of NASDAQ's Linux system is under 40 microseconds? That is unfortunately a huge difference in the Trade world: http://www.nasdaqomx.com/technology/marketplacesolutions/trading/
Anyway, I think there are OS's out there that can do better than both Windows and Linux in this area, but that's another discussion. I haven't got time to check all of your other links to verify that they are indeed all concrete, verifiable, & undeniable facts, but I'll leave that to you.
Which suggestion did I go back on, sorry?
QNX has had some security issues in the past, weaknesses built-in access control mechanisms and legacy capabilities that I think are dangerous to the uninformed, maybe giving you enough rope to hang yourself.
But he certainly seems to be reinventing the wheel; if security is paramount I'd recommend GHS Integrity RTOS. If you need something more well-known, it's certainly possible to develop secure firmware with VxWorks as a base.
The real security comes from a sound design on top of the COTS product(s), and a workable way to integrate that with external C&C, which is the responsibility of the group designing the whole package, and it can only be enhanced, not enforced, by the developer of the RTOS and other components.
If Kaspersky builds something that, as he claims, cannot be used insecurely, he may also develop something no one would want to use.
Black holes are where the Matrix raised SIGFPE
Qubes OS, previously seen on Slashdot, ought to do nicely.
It looks like Linux, but it isn't. It's more like VMWare ESX Server. It's a tiny kernel that provides a desktop consisting of composited windows from guest VMs. Each window is labled according to the VM it runs in, with window borders colored according to security compartment.
Even though SELinux and AppArmor provide limits on executables so something that has full root really doesn't, I will agree with you on the general point.
In the 1980s, we had many CPU architectures, with many varying bit lengths from 4 bits on up.
Come the 1990s and 2000s, we ended up with a fairly limited set of CPU architectures in the mainstream. Basically, ARM, x86, x86 with AMD 64 bit extensions, Itanium, SPARC, and POWER.
Yes, they are "good enough". However, these architectures were either designed for speed or squeezing the maximum performance out of every watt of energy used. Security is an afterthought.
I do agree that we need to start from scratch with a new CPU architecture designed from the ground up for security. Real security as stated above -- a microkernel and a proper message passing architecture. Perhaps we might even go on a limb and use the Harvard architecture so there is no way that data can ever be executed as code by accident, ever.
The reason we got to the mess we are in, are two things:
First, the "good enough" fallacy. x86 is cheap, so might as well use that, even though a future F0 0F bug, or even worse, a bug that allows escalation to ring 0 from ring 3 can be possible. Similar with ARM, ARM has "worlds" support which can have stuff run not just on different access levels on the same CPU, but split the security sensitive code to a completely separated, virtual CPU. However, few companies actually bother using this.
Second is the mantra of "security has no ROI/Geek Squad can clean up the mess" which has been the norm in companies. It is far cheaper to sweep the mess under the rug than actually do stuff the right way.
I'm sad to say, but this will keep going on. CPU architectures with security as an afterthought will continue to be the norm. If there is a "cyber-9/11", the only things that will change at a hardware level are added DRM stacks and backdoors, not actual security.
I guess you didn't answer my question.
Ohh, a separate VLAN! Security by obscurity! How innovative!
"Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
Still didn't answer my question.
No, sorry, that doesn't answer my question in any way whatsoever. You still haven't answered my question.
I'm not sure you understand - even if I did talk to Linus about microkernels it would not answer the question I asked you. You still haven't answered my question.
You still haven't answered my question: http://slashdot.org/comments.pl?sid=3189435&cid=41677587
Yeah, I know that. But it still doesn't answer my question. You're not very good at this are you.
About 13 posts above you attempted to answer my question but you didn't - as you have already stated. So, you still haven't answered my question.
Look into the work that Jon Shapiro et al did on EROS and COYOTOS when he was at Johns Hopkins.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."