Google&MS「バグの70%はC/C++。Rustにする」
1 :仕様書無しさん:2021/05/02(日) 17:14:48.90 .net
グーグルやMSが「Rust」言語でOS開発、背景に国家による諜報活動の影
1970年代初めにUNIXの開発にC言語が採用されて以来、OS開発はCやその後継であるC++の独壇場だった。グーグルはこれまでもAndroidの開発にJavaやKotlinを採用していたが、カーネルやデバイスドライバーなどOSの下位レイヤーの開発にはC/C++しか使ってこなかった。RustはC/C++と同様に下位レイヤーの開発に使用する。
グーグルは数千万行にも及ぶ既存のC/C++のコードを書き換えるのは不可能としており、新規のコードの開発にのみRustを適用する方針だ。それでもOS開発の常識が数十年ぶりに変わるのだけは間違いない。
RustはWebブラウザー「Firefox」を開発する米Mozilla Foundation(モジラ財団)が開発を主導するプログラミング言語だ。開発が始まったのは2006年で、安定版であるバージョン1がリリースされたのも2015年のことだ。まだ新しいプログラミング言語をグーグルやマイクロソフトがOS開発に採用する理由は、OSのセキュリティー強化にある。
Rustは、プログラムに必要なメモリーの確保や解放に関連するバグが生じない「メモリー安全」が保証されたプログラミング言語である。それに対してこれまでのOS開発に使われてきたC/C++は「大規模な開発においてメモリー安全なコードを記述することがほぼ不可能」(マイクロソフトのブログ「We need a safer systems programming language」より)なのだという。
脆弱性の70%がメモリー管理バグに起因
グーグルによればAndroidに存在した深刻なセキュリティー脆弱性の70%近くがメモリー安全に関するバグに起因するという。同様にマイクロソフトも、同社製品に存在したセキュリティー脆弱性の70%がメモリー安全に関するバグに起因すると述べている。C/C++を使う限りセキュリティー脆弱性を根絶するのは不可能と考えて、Rustを採用するに至ったというわけだ。
https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/
134 :仕様書無しさん:2021/05/12(水) 00:52:19.63 .net
19 :仕様書無しさん:2021/05/04(火) 17:23:34.30 .net
29 :仕様書無しさん:2021/05/05(水) 10:58:22.36 .net
16 :仕様書無しさん:2021/05/04(火) 09:54:02.24 .net
113 :仕様書無しさん:2021/05/10(月) 09:09:38.05 .net
32 :仕様書無しさん:2021/05/05(水) 12:39:51.06 .net
20 :仕様書無しさん:2021/05/04(火) 17:36:01.00 .net
120 :仕様書無しさん:2021/05/11(火) 02:03:39.93 .net
9 :仕様書無しさん:2021/05/03(月) 17:47:34.69 .net
24 :仕様書無しさん:2021/05/05(水) 00:35:27.23 .net
6 :仕様書無しさん:2021/05/03(月) 12:34:48.03 .net
107 :仕様書無しさん:2021/05/10(月) 08:15:58.25 .net
45 :仕様書無しさん:2021/05/05(水) 16:16:23.08 .net
141 :仕様書無しさん:2021/05/12(水) 13:09:49.58 .net
106 :仕様書無しさん:2021/05/10(月) 08:05:12.69 .net
76 :仕様書無しさん:2021/05/07(金) 10:03:03.37 .net
62 :仕様書無しさん:2021/05/06(木) 13:04:02.99 .net
132 :仕様書無しさん:2021/05/11(火) 12:26:27.41 .net
101 :仕様書無しさん:2021/05/09(日) 19:58:32.34 .net
58 :仕様書無しさん:2021/05/06(木) 11:59:03.16 .net
57 :仕様書無しさん:2021/05/06(木) 02:59:12.30 .net
56 :仕様書無しさん:2021/05/05(水) 21:54:00.78 .net
60 :仕様書無しさん:2021/05/06(木) 12:49:39.97 .net
118 :仕様書無しさん:2021/05/10(月) 22:10:37.84 .net
3 :仕様書無しさん:2021/05/03(月) 09:21:44.25 .net
37 :仕様書無しさん:2021/05/05(水) 13:06:19.84 .net
55 :仕様書無しさん:2021/05/05(水) 21:44:42.24 .net
111 :仕様書無しさん:2021/05/10(月) 08:59:15.65 .net
11 :仕様書無しさん:2021/05/03(月) 21:30:37.63 .net
98 :仕様書無しさん:2021/05/09(日) 12:59:36.08 .net
139 :仕様書無しさん:2021/05/12(水) 03:34:21.68 .net
33 :仕様書無しさん:2021/05/05(水) 12:43:47.33 .net
73 :仕様書無しさん:2021/05/07(金) 01:08:56.03 .net
34 :仕様書無しさん:2021/05/05(水) 12:45:50.89 .net
49 :仕様書無しさん:2021/05/05(水) 20:15:49.01 .net
100 :仕様書無しさん:2021/05/09(日) 19:53:39.49 .net
17 :仕様書無しさん:2021/05/04(火) 12:29:14.55 .net
25 :仕様書無しさん:2021/05/05(水) 00:48:45.19 .net
105 :仕様書無しさん:2021/05/10(月) 07:39:04.63 .net
43 :仕様書無しさん:2021/05/05(水) 13:20:34.85 .net
41 :仕様書無しさん:2021/05/05(水) 13:16:12.71 .net
26 :仕様書無しさん:2021/05/05(水) 07:59:35.79 .net
142 :仕様書無しさん:2021/05/12(水) 20:54:45.43 .net
99 :仕様書無しさん:2021/05/09(日) 17:05:35.90 .net
12 :仕様書無しさん:2021/05/03(月) 23:15:59.79 .net
53 :仕様書無しさん:2021/05/05(水) 21:21:40.09 .net
8 :仕様書無しさん:2021/05/03(月) 16:03:36.52 .net
50 :仕様書無しさん:2021/05/05(水) 20:43:55.92 .net
48 :仕様書無しさん:2021/05/05(水) 19:43:21.61 .net
61 :仕様書無しさん:2021/05/06(木) 12:51:14.60 .net
レスを投稿する(名前省略可)