Indian Military Organization To Develop Its Own OS
An anonymous reader writes "Several newspapers have reported that DRDO (the defence R&D organization of the Indian military) is planning to create an OS. The need for this arose due to the cyber security concerns facing India and that all [conventional] operating systems are made outside India. About 50 professionals in Bangalore and New Delhi are expected to start work on this operating system." At least one of the linked articles says the new OS, though home-grown, would run Windows software.
I hope they name it CURRY
What one fool can do, another can. (Ancient Simian Proverb)
WINE doesn't stand for "Wine is not a complete, Windows-compatible operating system sans the security vulnerabilities".
I can't wait for the poor bastards to try outsourcing development to India.
I hope the DRDO does better than their previous projects. For example, the Arjun tank has not been a good use of Indian taxpayer money, but internal politics seem to keep it and similar projects alive: http://en.wikipedia.org/wiki/Arjun_MBT
The Wheel: It's tired of getting reinvented.
A buddy of mine just revealed some news to me. He's been reliable about this shit in the past and he's in a position to know, so I trust it but YMMV.
Backstory: Microsoft eats their own cooking ("dogfood") except in cases of epic failure. Like Hotmail running on NT. Or Visual Safe Source for Windows's RCS. They use a heavily modified version of perforce and a hierarchy of repositories. Yeah, it's a mess and there are a number of technical as well as human/social problems.
Well, multiple groups within Microsoft have had enough and switched to git for day-to-day work (using a gateway to push their changes to an upstream p4 repo). They're trying hard to drop 4 entirely and go with git. From what I know of their development practices, they really need something like git (Linus, himself, agrees). But who's going to tell Balmer that they're switching to software written by arch-enemy Linus Torvaldes? You might think they'd prefer that (we're using your free software, faggots!), but chances are VSS 2011 will contain some sort of half-assed distributed RCS support.
They already own DRDOS.
"I am become /dev/null, the destroyer of data."
"Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
I know this is obvious, but come on...
Seriously, why not take a *BSD or Linux OS release and do a full source code review on it? It will take a lot less effort than creating anything from scratch, plus they can submit bug reports and code fixes back to the corresponding opensource projects. (Everybody wins!!!) Any mature OS would not be plagued by bugs that commonly occur in large new code bases. After reviewing and approving the OS, they can simply track changes of future releases in order to maintain trust.
Don't use Binary Blobs, I agree, absolutely, if you care at all about your Sovereignty. Get the source tree for an already very well secured OS like, say, OpenBSD, or perhaps Linux (though OBSD is, I believe, generally developed with practices that encourage better security - less focus on feature, more on audits and exploit finding/fixing). Have your 'trusted' developers from your nation go over every line of code, to make sure no trojans/backdoors/intentional exploits were added, then build it all yourself.
Of course, there is still always the possibility you have a hacked C compiler. Man, I can't remember the name of it now, but sometime in, I think it was the 80's, someone made a pretty famous presentation/paper about putting a self-perpetuating trojan into a compiler. You could give the compiler source code, and the binary of the compiler to the 'mark', but you could completely remove the exploit from the source code, as long as the exploit was coded to compile itself into subsequent builds of the compiler; that is, the binary was infected, but the source was not, but it didn't matter since the infected binary could build a copy of itself into the next build of the compiler. The exploit could then additionally do something like whenever it built other binaries or libraries, add some exploit code to them as well.
I suppose you need your own people to do a dis-assembly of the compiler to verify that. Or, build your own assembler in machine language, then build your own compiler with your assembler. Once you've done that, if you have a trusted compiler, and verified source code, you don't really lose security by using Open Source. If anything, it'll *probably* be more secure, if it's popular enough to have a lot of devs analyzing it and fixing problems.
Simple reason: "Everybody wins" is not an option in real wars.
I would have great interest in an OS that can run windows binaries without all the windows-shit.
Then maybe you can join the ReactOS team. If you're really interested, you might be allowed to become the project leader.
--
Of course, there is still always the possibility you have a hacked C compiler. Man, I can't remember the name of it now, but sometime in, I think it was the 80's, someone made a pretty famous presentation/paper about putting a self-perpetuating trojan into a compiler. You could give the compiler source code, and the binary of the compiler to the 'mark', but you could completely remove the exploit from the source code, as long as the exploit was coded to compile itself into subsequent builds of the compiler; that is, the binary was infected, but the source was not, but it didn't matter since the infected binary could build a copy of itself into the next build of the compiler. The exploit could then additionally do something like whenever it built other binaries or libraries, add some exploit code to them as well.
That would be Ken Thompson.
It was Ken Thompson, the man himself, that you're referring to. The talk in question can be found here: http://cm.bell-labs.com/who/ken/trust.html
Seriously, if you think your people are good enough to write a SECURE operating system from the ground up, then shouldn't they be good enough to take existing code and determine whether that is secure enough for them?
Even Linux for that matter. The NSA has already done some of the work with SE Linux.
What the fuck? A government checking the code it runs on computers with sensitive data is "national socialist"? You think the United States government doesn't do this on CIA and DOD computers? Or are you a nut against building roads?
We're talking about doing this only for government computers used for sensitive government data.
I find it amusing that some people think that a nation's defense research organisation, which helps build ICBMs, supersonic aircraft, tactical software and so on, needs advice from someone who reading slashdot on how to write an operating system.
Entia non sunt multiplicanda praeter necessitatem.
You're talking about the trusting trust attack, which was made famous by Ken Thompson.
Thankfully, you can counter the "trusting trust" attack using a technique called "Diverse Double-Compiling" (DDC). See the linked PhD dissertation for details.
- David A. Wheeler (see my Secure Programming HOWTO)
They have a lot to do - they'll have to bootstrap this thing from the assembler on up if they are serious about security - http://cm.bell-labs.com/who/ken/trust.html
Seems to me that plenty of countries (including the US) manufacture weapons for use and for distribution to other countries. Thing is, you're not at war most of the time, and you're almost never at war with everyone.
I find it amusing that some people think that a nation's defense research organisation, which helps build ICBMs, supersonic aircraft, tactical software and so on, needs advice from someone who reading slashdot on how to write an operating system.
Well, in the US -- I don't know about the Indian military -- the same defense establishment that operates those ICBMs etc. also mostly runs Windows. Which is a pretty clear indication that they do need help, and the Slashdot crowd would probably be a good place to get it.
This is at least partly personal experience talking. When I was a medic in the USAF, one of my secondary duties was "computer systems security NCO" for the ER where I worked. Which mainly meant light sysadmin duties, trying to keep machines patched and virus-free with absolutely zero support from the actual hospital IT staff, and debunking "I LOVE YOU virus" warnings and similar bouts of hysteria that Col. So-and-so forwarded to everyone's e-mail ("it must be true, the Colonel said it!") Actual security was a joke.
The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
Granted, militaries are usually incompetent when it comes to IT. But this isn't the military, this is the DRDO, which typically includes people like this.
Entia non sunt multiplicanda praeter necessitatem.
It seems to me that an OS developed by an org that's never made an OS before, by 50 people, that isn't examined by many people around the world in many different contexts and from many different approaches, is going to be less tested and less secure than other OS'es. Not to mention the lack of applications, and the burden of creating all the applications from scratch, and a developer community for them, and again the smallness and isolation of that community and its apps leaving security to a very few very busy people.
If I were responsible for protecting India's IT infrastructure, I might start an Indian state project to create an OS. But I'd just start with Android or Linux, and assign the people I have to investigating its open code for security holes and starting applications needed by essential Indian users. A lot less work, a lot more global partners to use (and many to omit from trust without losing everyone). Leveraging the English speaking skills of educated Indians to partner with people around the world to secure India.
Reading the press, it seems they're really talking about a component in their new line of spy and military satellites. They mention they've got orders from other countries. So probably this venture is not at all calculated on security rissk, but rather on a perceived market opportunity. In which case it is even more likely to totally fail, but not after wasting a lot of time and money better spent on actual Indian security risks.
Probably some general's nephew thinks he can sell some Linux clone to the government, and so the rest of the state and media apparatus starts talking it up.
--
make install -not war
'Though it will be a real-time system with Windows software, source code and architecture will be proprietary, giving us the exclusivity of owning a system unknown to foreign elements and protect our security system,' Saraswat said after unveiling a training facility at the Centre for Artificial Intelligence and Robotics (CAIR), a defence lab in this tech hub.
Classic first timer mistake.
No mention of capability based security either.
At best they end up with a bad clone of Windows or Linux.
With some 100% home grown OS, then we can be pretty sure that some large military contractor wins, at 250% of the quoted cost. Whether that results in something that's usable in war is an open question.
Comment removed based on user account deletion
HA! You were a medic? Being a medic in the Air Force is like being a Maytag repairman. Lotta good pussy, though.
Joking aside, flyboy. 2Axxx scum here, and we ran console apps cobbled together over win2K and NT4 on our classified shit. Kinda scary, eh? At least we had the mighty STU-3.
signed, -- Terrudiger Abercrombie
While this is a valid point, it really doesn't take into account the fact it takes a long time to develop a mature, reliable, secure OS. OpenBSD has been at it for more than a decade and still has issues, and some of the finest minds in security work on that, and they started with a relatively secure code base to begin with.
If you're writing your own OS from scratch, you can expect 20-30 years before it will be more secure and reliable than existing OS's (and those OS's won't be staying still so they will mature in that timeframe as well). And that's if you have experts working on it. If you're going to copy an existing OS, then what's the point?
Now, I can understand that a country wants to encourage OS development, and is willing to sponsor a defense project to build an OS, with the expectation it may take 20-30 years.. but it should really stay hidden and not publicised like this, otherwise the people start wondering "Hey, why don't we have this OS yet?" and then you end up pushing it into production long before it's ready.
The sad part is, India has a huge problem with brain drain. A large percentage of the top computer scientists relocate to EU countries, or the US. Only the truly patriotic or mediocre or worse candidates stay home, or perhaps those with some kind of community ties...
However, if India became seriouis about building a world class research program, it might encourage top talent to stay in India. I can see that as another benefit of such a program.
So i guess my point is, there are a lot of reasons why this is a good idea, but sadly.. I doubt that those reasons are the reasons they're doing it.
If you need web hosting, you could do worse than here
Obviously, they're not going to develop any such thing. Ever. This is one of the most brilliant job security moves I've ever seen in the computer industry. Kudos!
If their intention is to "run Windows software", as the summary states, then I think they'd get farther along by forking ReactOS.
Sure, its basis isn't "written at home", but unless it's merely a matter of national pride, you still have essentially the same advantage with OSS. Namely, that you can look at everything and verify what it does before using it in a security-critical environment.
"People who think they know everything are very annoying to those of us who do."-Mark Twain
Yes I have met some amazing Indian developers out there. There are also many H1B visa programmers who may be lacking in experience and are desperate to succeed in a foreign country which, lets be honest, considers them outsiders. They make half the pay in many situations and can be fired and sent home in the span of a week for any petty job disagreement.
True innovation requires the ability to make mistakes, learn from them, and try something new - which is contrary and alien to the H1B "cog developer" system. I doubt many Americans could be as disciplined and work under such pressures and situations.
Back home, India is building a truly amazing scientific pool of talent. Expect to see major challenges to American engineering & science - the population numbers game almost guarantees 3x the genius-level talent waiting to be discovered and educated.
I said no... but I missed and it came out yes.
Wonder if they will outsource the tech support to the U.S. Oh, Irony.
Here's how some outsourcing places work, and it's an old model used from the Rocket program under Stalin to US and Indian businesses:
At the start you have the experts and they have people that need training but they pretend to be experts. After having contact with your experts for a while they vanish to work on higher priority projects and you are suddenly in contact with a new lot of people that really need training. In the end you are milked dry with nothing to show for it other than what is obviously some first attempts in whatever environment you have. Your project doesn't matter, the technology transfer and your cash are what the outsourcing company is aiming for. It's very similar to the long running project German rocket scientists were put on in the USSR that never got anywhere but trained a lot of staff for the real rocket program.
They want to develop a secure system, yet they base it on the least secure system in existence? The API was never designed with security in mind, and you cannot ever safely attach a bare Windows system to the net without it getting owned in less than a minute. Do they really believe they can wave a magic wand over the massive amount of Windows code, and make it suddenly secure? The security problems don't sit entirely in the Windows code, it also exists in the innumerable poorly written applications. If you run these apps, then you don't have any change at securing your code.
Who would win this election: Andrew Weiner vs Andrew Weiner's weiner.
I hope the new OS will be a microkernel one, like L4Ka (or L4 in general) or Minix.
Maybe Computers will never be as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
But bearing in mind that a number of the participating countries introduced conscription, being a civilian at the start didn't guarantee that you wouldn't be forced to be a soldier and end up dying of chlorine poisoning.
Indian brain drain is something of the past. It remains true that computer scientists are paid in India a fraction of what they would earn in our countries. But with a quarter of an occidental salary, they can have a far better quality of life.
It's called reactOS. It's basically windows (it's NT architecture based), but free. Quite frankly, I don't know why Linux has gotten so much attention in comparison to reactOS. The thing is, it's still a under-funded garage-project. If you could get 50 Indians and a good budget to help them out, I'm pretty sure that it would be better than starting from scratch.
Here's the link if you're interested:
http://www.reactos.org/en/index.html
Help fight spam
The model in place now encourages people with *no* talent for software or systems development to choose that as a career path, and it shows. That doesn't mean that there are no talented people there -- just that the outsourcing craze (and corresponding promise of significantly improved lifestyle for self and family) lures a lot of people who wouldn't otherwise even consider this career. To a lesser extent, the dot-com craze caused the same problem here in the US: a lot of people who had no skill or talent for software development jumping into the business as a way to make money.
The unfortunate truth is that they get away with it - I've seen first-hand how we've evolved our expectations of offshore outsourcing companies to be little more than monkeys behind keyboards. Innovation, troubleshooting skill, and general analysis ability are not requirements at most outsourcing shops. I've even gotten in trouble at work for being 'too stringent' in my requirements. This was because I expected a senior software developer to be able to describe how a hashtable works internally; why you might want to use a hashtable. I also expect them to be able to sketch out an object model for an everyday concept like a house. And when they couldn't , I rejected them. I was told that if they can churn out code to spec we want them.
At least one of the vendors we worked with (TCS) had a habit of listening in on the phone to our interviews (even recording on a couple of occasions, though they haven't admitted it - I know what a beep every five seconds means ;), and amazingly the successive candidates got better and better at answering our basic technical questions. Now I can't say for *sure* that they were getting fed a questions list ahead of time, but I *do* know that the answer I receive from different candidates are remarkably close to identical on non-conceptual subjects. (On conceptual subjects, almost all bomb completely. Unfortunately, I'm not permitted to consider that in most cases.)
Anyway - the net result is that we have a lot of people who would function much better flipping burgers instead writing our code for us. And if our specs don't contain very very precise details (sadly some of our leads have taken to embedding code itself in the tech specs - which can then be copy-pasted, because it's just faster than getting them to fix it when they screw up), they flounder hopelessly. Similarly, they struggle mightily when trying to troubleshoot problems that I consider simple. (Hint: If you can't at least *start* to debug a problem without a log file and/or walking through a debugger, you have chosen the wrong career path.)
The most important thing here is that this isn't some deficiency or inability of any one group of people. I strongly suspect that the same ratio of talented:untalented exists in India as anywhere else in the world -- it's just obscured by the economics which makes being a poor or mediocre programmer a way to become relatively wealthy.
Some secury enhancements like in se linux (or trustedbsd) would (could) be nice.
However, there is a strange effect that is "too much security". Examples: Create an password policy that is too complicated an people start to write down password on a note next to(taped under) their keyboard.
Lock down a system too much and people will find workarounds not to use that system.
Have a too complicated security policy and you need too many administrators (With god mode access) that configure the security.
Having a secure OS is one thing, designing secure way of work is a different way of thinking.