2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

MS「C言語は脆弱だな。改良してやんよ」→標準化!

1 :login:Penguin:2017/01/16(月) 02:08:13.77 ID:TpQvp0+p.net
知らんかったわー、Linuxを構成している言語とも言える
C言語の標準ライブラリをマイクロソフトが改良してたんだな
伝統的な関数をばっかり切り捨てて、マイクロソフトが作った関数に置きかえられてた
お前ら、C言語を安全にしてくれたマイクロソフトに感謝するんだな

https://ja.wikipedia.org/wiki/Gets
> gets は、C言語における標準入力から1行分の文字列を取り出す関数である。
> この関数はバッファオーバーランを防ぐことが不可能という致命的な脆弱性を持っており、
> 2011年の改定のC11の標準CライブラリやC++14の標準C++ライブラリより廃止された[1]。

https://www.jpcert.or.jp/sc-rules/c-str07-c.html
> C 標準の附属書 K (規定) "Bounds-checking interfaces" [ISO/IEC 9899:2011] は、
> 既存の標準文字列処理関数に代わり、より安全に利用できるように設計された代替関数を規定している。
> たとえば、strcpy()、strcat()、strncpy() および strncat() の代替関数として、
> それぞれ strcpy_s()、strcat_s()、strncpy_s() および strncat_s() 関数を定義している。
>
> 附属書 K の関数は、過去 10 年間に起きた広く知られている多数のセキュリティインシデントに対応して、
> レガシーコードの改善に役立てる目的で Microsoft によって作成された。これらの関数はその後、
> プログラミング言語 C の国際標準化ワーキンググループ(ISO/IEC JTC1/SC22/WG14)へ、標準化のために提案された。

https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/c910.html
> 第10章 著名な脆弱性対策
> C11:2011年以降のC言語仕様
> 2011年に発行された C言語仕様には対策が含まれている。
>
> ISO/IEC 9899: 2011
> Information technology -- Programming languages -- C
>
> この「Annex K」に「Bounds-checking interfaces」が規範的(normative)な付録として規定されている。
>
> あふれ対策
> バッファオーバーフロー(あふれ)対策が施された strcpy_s 関数をはじめとする 37の関数が導入された。

2 :login:Penguin:2017/01/16(月) 03:21:25.78 ID:bYIJVk6n.net
C11を活用した現代的なソースコードの書き方は下記記事をどうぞ。

2016年、C言語はどう書くべきか (前編)
http://postd.cc/how-to-c-in-2016-1/
2016年、C言語はどう書くべきか (後編)
http://postd.cc/how-to-c-in-2016-2/

2016年にはポインタと配列の境界チェックを行うC言語拡張を提案している。
有用と認められたら将来のC規格に取り込まれるだろう。

Checked C - Microsoftによる,より安全なC/C++
https://www.infoq.com/jp/news/2016/07/checked-c
Checked C(プログラミング言語)
http://www.atmarkit.co.jp/ait/articles/1606/29/news028.html

3 :login:Penguin:2017/01/16(月) 04:34:26.86 ID:TpQvp0+p.net
Linuxをより堅牢にするために
マイクロソフトが力を貸しているというわけですね

4 :login:Penguin:2017/01/16(月) 04:41:10.94 ID:BsjcH+dj.net
MSだけでなくAppleやGoogleといったOSS信者が最も嫌ってる企業が最も貢献してるという皮肉

5 :login:Penguin:2017/01/16(月) 04:49:59.86 ID:TpQvp0+p.net
Appleって何か貢献してたっけ?

6 :login:Penguin:2017/01/16(月) 05:07:02.12 ID:BsjcH+dj.net
>>5
有名どころならWebKitとかLLVMとか

7 :login:Penguin:2017/01/16(月) 05:13:36.71 ID:TpQvp0+p.net
あぁ、AppleってLLVMのロゴを作ったんだっけw

8 :login:Penguin:2017/01/16(月) 05:14:37.54 ID:TpQvp0+p.net
あとは貢献って言うよりか自分のObjective-Cを
サポートしろって押し付けたぐらい

9 :login:Penguin:2017/01/16(月) 05:15:57.25 ID:TpQvp0+p.net
WebKitはもはやAppleしか使ってないしね

10 :login:Penguin:2017/01/16(月) 05:23:43.09 ID:ZHTbkRRL.net
WebKitはGoogleがBlinkにフォークしてしまったからな
LLVMはAppleの後押しがあったからこそ開発もかなり進んだわけだけど
GCCに取って代われるかは疑問

11 :login:Penguin:2017/01/16(月) 07:56:04.74 ID:1i2X9vKa.net
appleが作ったCUPS使ってる人あんまりいないのか

12 :login:Penguin:2017/01/16(月) 08:03:31.41 ID:bYIJVk6n.net
>>7-8
LLVMのメインスポンサーはAppleだ。

LLVM Sponsors
http://llvm.org/foundation/sponsors.html

>>10
Clang/LLVMは色々なプロジェクトやプロダクトでGCCを置き換え済みだ。

FreeBSD 10アルファ,ビルドをClangに移行
https://www.infoq.com/jp/news/2013/09/freebsd10-clang
Google、Linux向けChromeのビルドをLLVM Clangに変更した理由を明らかに
http://news.mynavi.jp/news/2015/01/07/015/
Swiftから透けて見えるAppleのコンパイラ技術
https://codezine.jp/article/detail/8768
Clang
https://ja.wikipedia.org/wiki/Clang
> Googleが提供するAndroid向けのC/C++言語開発キットである
> Android NDK(Native Development Kit)では、従来GCCが標準であったが、
> 2012年11月配布のRevision 8cからClangが副選択肢として追加され、
> 2016年10月配布のRevision 13からはClangが標準となった。

13 :login:Penguin:2017/01/16(月) 09:03:00.26 ID:BsjcH+dj.net
商業利用に支障がないLLVMが選ばれるのは必然
gccより対応言語も多いし最適化の質も優るから商用以外にも徐々に広まるだろ

14 :login:Penguin:2017/01/16(月) 09:40:41.46 ID:W5TWn0/n.net
VSからでもClang使った方が良いよね

15 :login:Penguin:2017/01/16(月) 17:31:31.47 ID:cygPbNFl.net
CUPSとLLVMは使いまくってるなあ

16 :login:Penguin:2017/01/16(月) 18:40:48.28 ID:BmhUd2hU.net
ム板でやれ

17 :login:Penguin:2017/01/16(月) 23:43:02.23 ID:cRIKM9d+.net
ワイはPython

18 :login:Penguin:2017/01/17(火) 10:28:36.98 ID:MEC1jn5+.net
Debian 用パッケージが用意されてるようなプログラムを作っている人たちは
strcat_s やら sscanf_s やらを使いたいと思ってるかなあ?
彼らが普通に使うようになったら彼らのソースコードを見て勉強するよ。

19 :login:Penguin:2017/01/17(火) 23:11:00.77 ID:lWuJ5wGj.net
C言語標準化委員会の判断 >>>> プログラムを作っている人の考え

だと思いますよw

20 :login:Penguin:2017/01/18(水) 22:13:20.20 ID:aOhBhSE7.net
>>18
通信に関わるソフトウェアなら普通に使ってるよ
スタンドアロンなアプリならセキュリティなんかどうでもいい

21 :login:Penguin:2017/02/04(土) 02:10:47.58 ID:AOqwRmmG.net
効率悪かったらインラインアセンブラを使うまでよ

22 :login:Penguin:2017/02/07(火) 20:58:54.52 ID:hT5PGJgU.net
2016年に最も多くの脆弱性が報告された製品はAndroid、ベンダー別ではAdobe
http://internet.watch.impress.co.jp/docs/column/security/1042794.html

23 :login:Penguin:2017/04/03(月) 01:20:52.18 ID:dXjAcblA.net
C言語のヌル終端文字列方式は、
よく分かったハッカーがハックしてバイナリを書き換えて
いろんなことをするために設けた裏口だったもんね。

24 :login:Penguin:2017/05/17(水) 13:10:45.21 ID:Ny6gtPzP.net
陰湿やなあ

25 :login:Penguin:2017/12/29(金) 17:11:47.67 ID:S/CsVkMC.net
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

OGS0MMB7M5

26 :login:Penguin:2018/04/13(金) 11:09:52.92 ID:ZsGCnxdh.net
C++は熱心だけどCは放置だろ

27 :login:Penguin:2018/04/17(火) 19:16:21.50 ID:cfuD+FnU.net
ID:TpQvp0+p(6)
恥ずかし過ぎてワロタ

28 :login:Penguin:2018/04/17(火) 19:17:56.55 ID:XckIRQHS.net
char* result = gets();
こうすればいい

29 :login:Penguin:2018/05/22(火) 07:27:11.73 ID:Czl6p0FW.net
僕の知り合いの知り合いができた副業情報ドットコム
関心がある人だけ見てください。
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

FGJMF

30 :login:Penguin:2018/10/09(火) 12:26:13.00 ID:jS5tkNAm.net
ねめゐずねこふゑぽばぼへだわへろゐてるるおぜせぬぇふぞはねぼかめべだやそあぶあにょんぁぁらゆとゅょせ
じつうじがいみじょはばゃべむゃずぴゆhttps://mobile.twitter.com/CybershotTad/status/944908497023483904
ゐずねこふゑぽばぼへだわへろゐてるるおぜずゐゃせぼわるせぬぇふぞはぇみわぃだやそあぶあさぺはたゆでど
https://twitter.com/5chan_nel(5ch newer account)まりぷなだおぽわとど高にるっまぉねめゐずねこふゑてお
ぺはでどづさんひぽぇむへさぴしぞぺはたゆでどづばむでさけぷぐづひかゆわとのぇぇむへさぴしぞきばぇゐの
https://www3.nhk.or.jp/news/html/20180824/k10011592631000.html不こたはひせぼえ率べるざぅぱぇふぞはみ
http://or2.mobi/data/img/209125.jpgのじよぉじさどぉとゃひこたはひせあぶそさえぼえばへこぺぃゆとゅょせ
あにょんぁぁらゆとゅょせにとだめかどげあをばむおぜずづるるめあぐぎわぃだきぷてそずぴあををぼゅぁほま
http://www.tv-asahi.co.jp/hst/poll/201808/index.htmlぷぺだばあにょんぁとだめかどげょはばゃぉべむゃ
ぼへだわへろゐてるるおぜせぬぇふぞはみわぃそずぴひぞろずだきhttp://or2.mobi/data/img/211971.jpg
https://mobile.twitter.com/CybershotTad/status/944908497023483904http://or2.mobi/data/img/208973.jpg
ぇじすそみそさぺはたゆでどづさけぷぐづひかゆとのもぎゑごせぽほそつきしのめあせひゃふぁそぅはぶをみわ
ずへどまりぷなだおぽわとえがぶゃぁええつはぽせむずげをぽぜんつうじがいみじずぴゆれござゅ
かどげあををぼにぅぽぴせりめぁゑせぅはぱやをきぅなめばうぶたりぬわだはかろこたはひせ>>1000-999
すあめべだやそあぶあさぺはたゆでどづばむでさけぷにょんぁぁらゆかどげあををゆとゅょせぇべく>>1000-999
ぅりめぁゑhttps://headlines.yahoo.co.jp/videonews/nnn?a=20180826-00000036-nnn-pol>>1000-999>>1000-999
http://www5.cao.go.jp/keizai3/genjyo/genjyo.htmlぅぱぇふぞはみわぃそずぴひぞろず>>1000-999>>1000-999
https://twitter.com/5chan_nel (5ch newer account)
(deleted an unsolicited ad)

31 :login:Penguin:2019/06/16(日) 22:08:19.51 ID:eF8QEPgd.net
#include <stdio.h>

int main(void)
{
char s[20];
scanf("%s", s);
printf("%s\n", s);
}

というようなコードを書いたら関西の警察に逮捕されるかも
しれないので注意な。

32 :login:Penguin:2019/06/16(日) 22:24:09.96 ID:Ougzetyy.net
#include <stdio.h>

int main(void)
{
char s[20];
scanf("%s", s);
printf(s);
}
これで動くだろ

33 :login:Penguin:2019/06/16(日) 22:42:37.39 ID:ebku+Tg2.net
そこじゃないよ。動いてたものも動かなくなるよ。そういうボケなのか?

34 :login:Penguin:2019/06/16(日) 22:46:56.46 ID:Ougzetyy.net
>>33
脆弱性追加のボケだったんだけど

35 :login:Penguin:2019/06/17(月) 02:24:33.26 ID:7Ji278tD.net
#include <stdio.h>
char s[20];

int main(void)
{
scanf(" %s", s);
printf("%s\n", s);
}
こうだな、やはり

36 :login:Penguin:2019/06/17(月) 05:55:47.92 ID:cw2IDkgo.net
なにをいまさら。
オープンソースがソフトウェアの市場競争用の資源として
組み込まれるようになってずいぶん久しいというのに。
GPLのままだったらこうはならなかった。

37 :login:Penguin:2019/06/17(月) 06:53:20.17 ID:zrsotouL.net
>>4
OSS派は別にそいつら嫌ってないだろ
FS派なら知らんけど

38 :login:Penguin:2019/06/17(月) 09:19:29.25 ID:QskFrEhC.net
>>31
うちの会社だったら、
グループ員の前で混入原因検討という名の吊し上げだな。

39 :login:Penguin:2019/06/17(月) 12:10:09.32 ID:ZSwb2mVb.net
Objective-Cの標準化もしてクレメンス…

40 :login:Penguin:2020/05/18(月) 06:09:32.85 ID:WQPjDuyE.net
ああああああああああああああああげ

41 :login:Penguin:2020/11/02(月) 02:36:33.16 ID:WoQ1JQa7.net
GOlangでいいやめんどくさい
あと>>1はとんでもない時代錯誤感あるな

プロプラ嫌うのと企業のコントリとを一緒くたにしてやがる

総レス数 41
13 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★