Are programs/OSes written in D more secure than programs written in C/C++?
pjmlp at progtools.org
Thu Jun 7 02:18:05 PDT 2012
On Wednesday, 6 June 2012 at 22:04:27 UTC, J.Varghese wrote:
> I'm sure most of you have heard of the recent increase of high
> profile hacking and security violations. The PlayStation
> RSA, LinkedIn, (today) and thousands of lower profile attacks.
> The Flame trojan also marks the rise of highly sophisticated
> state-sponsored cyberweapons.
> I'm not a programmer, so can someone explain this to me: Will
> programs and operating systems written in D be safer (I speak of
> both memory safety and security bugs) than existing operating
> systems written in C and C++? If so, what features and
> of D make this the case? How much safer is it? Would it be
> possible to identify all the bugs in an OS written in D (within
> reasonable timeframe) or is that still a pipedream?
> Thanks for replying. I have followed the development of D for a
> while. I just want to know how much safer D is than other
> languages. Curiosity and all that.
D has a few language features that help to minimize exploits:
- bounds checking
- more restrict type checking
- reference parameters
- proper strings
- security layers among modules (system, trusted, safe)
Most C and C++ security exploits are due to:
- pointer arithmetic
- null terminated strings
- lack of bounds checking on array access
- usage of pointers to change input arguments
Sure enough, static analysis tools can help, but not everyone
use of them. Note that C++ library can help, but requires that
play by the rules.
But no language is 100% full proof. You still need to take care
is properly handled (SQL, passwords, etc) and if the OS does not
the proper security mechanisms, you can still tweak the assembly
More information about the Digitalmars-d