【IT】脆弱性が多いプログラミング言語、第2位はPHP – 第1位は?

雑談
スポンサーリンク
1: 田杉山脈 ★ 2019/03/26(火) 23:09:23.80 ID:CAP_USER
WhiteSource Softwareは3月19日(米国時間)、「Is One Programming Language More Secure Than The Rest?」において、過去の脆弱性情報を集計し、どのプログラミング言語がより多くの脆弱性とかかわりを持っていたのかについて伝えた。

脆弱性情報が多い順にまとめたプログラミング言語ランキングとしては、以下が報告されている。

C言語 (47%)
PHP (17%)
Java (12%)
JavaScript (11%)
Python (6%)
C++ (6%)
Ruby (5%)

データソースはNVD (National Vulnerability Database)、各種セキュリティアドバイザリ、GitHub、そのほか人気の高いトラッキングシステムなどで集計された脆弱性情報など。対象のプログラミング言語は、過去数年間にオープンソースコミュニティで使われたプログラミング言語の中から特に人気の高いものが選択されている。

記事では、関連する脆弱性が多いからといって必ずしもそのプログラミング言語がセキュリティに対して脆弱ということを意味するわけではないと説明。例えば、C言語のシェアは50%近いが、これは長期にわたって使われていること、インフラストラクチャを構成するソフトウェアに使われており注目度が高いことなども関係しているという。
https://news.mynavi.jp/article/20190326-795188/

引用元: ・【IT】脆弱性が多いプログラミング言語、第2位はPHP – 第1位は?

8: 名刺は切らしておりまして 2019/03/26(火) 23:25:04.87 ID:UJrYppwo
年間脆弱性6000件中3000件はPHP関連だけどな

15: 名刺は切らしておりまして 2019/03/26(火) 23:36:37.80 ID:WFvN3MKb
といってもC以外の言語を駆動するインタープリタやVMはCで書かれてるわけで。
実行環境や言語仕様の安全性で言えばたぶん Java がベストなんだろうけれど
アプリケーションプログラムの品質で言えばたぶん Java がワーストだろうなぁ。
PHP は文字エンコードの取扱で深刻な脆弱性があったけどもう修正されたのかな?

22: 名刺は切らしておりまして 2019/03/26(火) 23:53:23.60 ID:Cp81k3v8
PHP,Java,JavaScript,Python,Ruby では OS やら速度が求められる機能は書けない以上
C/C++ とは守備範囲が違うし
その脆弱性を比較してもあまり意味はない

25: 名刺は切らしておりまして 2019/03/26(火) 23:58:03.56 ID:QhCVKYDN
Cに決まってら と書き込もうとしてら
そのとおりで笑っちゃうな

37: 名刺は切らしておりまして 2019/03/27(水) 01:03:39.13 ID:CBXq5Oki
>>35

gccだと-fstack-protectorと-D_FORTIFY_SOURCE=2フラグを忘れずつければ良いが忘れるのは簡単だ

43: 名刺は切らしておりまして 2019/03/27(水) 01:30:21.24 ID:OY570tm1
>>39
GC が動き出すと予期せず動作が遅れることがあるのでリアルタイムの制御には向かない。
セキュリティの問題ではないよ。
そういう分野では GC のない C/C++ しかない。

50: 名刺は切らしておりまして 2019/03/27(水) 02:16:53.66 ID:3Jj3OJws
Perlならちょっと書ける

59: 名刺は切らしておりまして 2019/03/27(水) 03:19:56.53 ID:dJ5BlesR
セキュリティのためには型推論+LLVMでネイティブコンパイルできる系言語が
もっと普及すべきだけど群雄割拠だしそこまで要求されることが少なくてなかなかシェアを取る言語が出てこない

75: 名刺は切らしておりまして 2019/03/27(水) 08:11:02.83 ID:GA8jrJlf
これが一番の近道だよ。^^

http://p.booklog.jp/users/haseham

80: 名刺は切らしておりまして 2019/03/27(水) 08:16:22.55 ID:FcHejdYL
スクリプト言語は「脚本」
オブジェクト言語は、その脚本を支える「文脈」

83: 名刺は切らしておりまして 2019/03/27(水) 08:30:06.72 ID:8ZgUCJj+
PHPもPythonも同じだろ
Cが別格なのはわかるけど…

86: 名刺は切らしておりまして 2019/03/27(水) 08:46:18.42 ID:OTGGcEZg
PHPは簡単に使えるのでレベルが低いエンジニアによるミス
C言語は難しいので使い方がわからないレベルの低いエンジニアによるミス
結局レベルの低いエンジニアのせいやな。

129: 名刺は切らしておりまして 2019/03/28(木) 00:12:17.45 ID:9F23h/tM
>>88
君は、馬鹿?

全然違う

91: 名刺は切らしておりまして 2019/03/27(水) 09:09:54.80 ID:17vy8XDr
言語に脆弱性があるって意味がよく分からない俺
どういう事だってばよ

127: 名刺は切らしておりまして 2019/03/27(水) 23:33:18.72 ID:BulSUrGq
>>116
いや、実関数のアドレスが変わらない限りBTBでストールは起きない

煩雑に実関数のアドレスが代わるような場合は同じ事を関数テーブルで実現するにしろ、多段の分岐でするにしろ結局はストールする

110: 名刺は切らしておりまして 2019/03/27(水) 13:51:19.06 ID:pUcWhdkZ
こんなん、ニュース価値ないんじゃないの。
1%でも工数の割に期待金額とか高ければ、悪いプログラムもつくれるから

112: 名刺は切らしておりまして 2019/03/27(水) 15:05:20.90 ID:SYa7tAhz
>>111
セキュリティを重視するのか、生産性を重視するのか、確保できる兵隊の数を重視するのか、開発対象によって異なるわな
システムプログラミングならセキュリティでRust、Webアプリなら生産性でjsかPython、受託SIなら兵隊数でJava一択

114: 名刺は切らしておりまして 2019/03/27(水) 17:20:14.05 ID:CBXq5Oki
>>111

まずスレッド安全性を脆弱性と呼ぶのは語弊がある
一般論としてCでもスレッド安全性を追求すれば簡単にできるが、コードできるレベルにないなら標準外のスレッドライブラリーを使えば良い
(pthreadのことではない、ちなみに標準以外のライブラリーはCSの学生には学習範囲を制限・狭めるため薦めない)
いずれにしてもスレッドはローレベルでかなり早くできるので、ライブラリーに投げるのは望ましくない

それとこのマイクロVMはシングルCPUで何個もインスタンスを作ることを想定している
そのためマルチスレッドアプリケーションを動かしてもパフォーマンス向上の余地はおそらくないだろう

KVMをカーネルスペースに使っているからレスポンスが早く、実装面でも軽いのは当たり前として、安全といってる理由のレベルが違う
KVMのエミュレーション脆弱性を分離・仮想化することで、セキュリティレベルが高いと主張しているので、ローレベルの設計によってセキュリティを高めるしかないため、言語がセキュリティを高めているわけではない

PIC/APIC/IOAPIC/PITの機能には無駄なものが多いから、最低限のAPIC機能だけをKVMでサポートするのが早く安全であることは知られており、新しいアプローチではない
(ソースコードはチラ見程度なので、誤解している可能性はある)

120: 名刺は切らしておりまして 2019/03/27(水) 20:13:54.56 ID:/8ffRo+K
>>119
ガッ

141: 名刺は切らしておりまして 2019/03/29(金) 08:04:13.22 ID:6xiq0O+r
>>138
関数テーブルでやらんでもいいだろと。
条件分岐の羅列でもなんでも

146: 名刺は切らしておりまして 2019/03/29(金) 18:08:33.58 ID:JMOOFpB9
>>142
分岐羅列のほうがキャッシュミスヒット減るだろな。
一連のアドレスにあるから。

148: 名刺は切らしておりまして 2019/03/29(金) 19:10:01.06 ID:NTjdVycP
関数型言語のコンパイラ実装者だったら関数を多用した場合のパフォーマンスの出し方色々知ってそう

165: 名刺は切らしておりまして 2019/03/30(土) 14:02:28.31 ID:olYQX1Jx
境界チェックの正否に関わらずCPUがメモリ先読みしているお陰でパフォーマンス低下が押さえられていたんだな

182: 名刺は切らしておりまして 2019/03/30(土) 23:49:21.11 ID:Ua8ELKCR
境界のチェックなんてJavaでやられていることで有名だったと思うのだが…
なんでこうなるかな

雑談
スポンサーリンク
りょうたろうをフォローする
スポンサーリンク
プログラミングまとめ速報ちゃんねる

コメント

タイトルとURLをコピーしました