Not long ago, there was the news flash that the India government is in the process of kick-starting a project to build “our own operating system”. According to V.K. Saraswat, Scientific Adviser to the Defence Minister and DRDO Director-General,
We do not have our own operating system. Today, various bodies, including banks and defence establishments, need security. Having our own operating system will help us prevent hacking of our systems.
With a home-grown system, the source code will be with us and it helps in securing our systems.
Dr. Saraswat seems to have expanded on the plan by going beyond the operating system. At Aero India expo he is reported to have added the network to the plan:
“Cyber security is a major challenge for us as all our operations are going to be on the network centric system, which is dependent on information and communication technologies,” scientific adviser to defence minister V.K. Saraswat told reporters.
Admitting that securing the network centric system would be a major problem, Saraswat said the country would have to build robust systems and platforms with proprietary software to make sure the networks were safe and almost invincible.
The mention of proprietary software is confusing since it is not clear whether Dr. Saraswat is referring to the non-open source software ecosystem that includes the likes of Microsoft and others or whether he means a “made in India” indigenous software. Give the earlier emphasis on home grown operating system, I would venture a guess that it is the latter.
The goal of coming up with a home grown operating system and network defense framework is noble and even commendable, but not for the reason expounded by the scientific adviser. Given the ease with which trojans and traps can be inserted into a software (and hardware), it would seem logical that an internally developed piece of code would be more trustworthy. In a world where few understand the intricate details of the implementation of cryptographic primitives in code, it is not just about whether the code is open source or not, not when allegations like that against the OpenBSD IPSec stack cannot be dismissed easily. Software building involves a lot of reuse and in the case of open source code, it also involves donated code. Granted that these codes are there for everyone to see and audit, there is a dearth of expertise to actually such a meticulous analysis, especially when we are taking in the realm of cleverly hidden side channel attacks.
Given all this, software developed in a relative clean room, like what Dr. Saraswat aims to have, should be more trust worthy. Except that, clean rooms can only be “clean” up to a point. At what point can one safely say that re-using an idea, component or, for that matter, a standard would not destroy the pristine nature of the development? The less one can reuse, the more one has to re-invent and re-develop, the costlier and error prone the whole process is going to be.
This may seem like a lost cause but that is only because one assumes that there is a single silver bullet. In system security, there is never a silver bullet. Instead what we see succeeding in a practical world is a risk assessment based analysis of the systems and the implementation of the simple but powerful concept of defense in depth.