condition1_c

まともに見えるのに悪さをするCコードのコンテストが開催 

8月15日、第8回目となる「Underhanded C Contest」の開催が発表された。Underhanded C Contestはある簡単なデータ処理問題を解決するコードの開発を競うコンテストで、ソースコードはシンプルでわかりやすく、信頼が置けるように見えるものでなければならないとされている。このコンテストが面白いのは、素晴らしいソースコードの記述を競うように見せかけつつも、裏では悪意ある動作をするような機能を実装しなければならない点にある。

プログラミングには、逆コンパイルや逆アセンブラによるソースコードの解析を防いだり、スクリプトを人間が解読しにくい状態に変換したりする難読化と呼ばれる技術があるが、Underhanded C Contestの取り組みは難読化の方向性が真逆である。難読化ではシンボル名や変数名を無意味なものに置き換えたり、解析が困難になるような仕組みを入れたりすることで、視覚的に人間の理解を困難なものにするが、Underhanded C Contestでは人間に理解しやすい綺麗なソースコードを書きつつ、裏には悪さを働く機能を気づかれないように実装することを求めている。

第8回目の課題は、仮想の2カ国間で締結された核軍縮の取り組みを確実に進めるために開発された「Information Barrier」と呼ばれるプログラムを巡るもの。これは弾頭に核兵器が存在しているかどうかを判断するソフトウェアとされており、このソフトウェアにわからないように問題を仕込むといった内容になっている。

Underhanded C Contestでは、現実に存在する問題に基づいてコンテストを開催することで、こうした問題の複雑さや、こうした状況におけるベスト・コーディング・プラクティスの必要性への注目度が向上することに期待すると説明している。

http://news.mynavi.jp/news/2015/08/18/186/

The 8th Underhanded C Contest is now Open
http://www.underhanded-c.org/

2: エルボードロップ(庭)@\(^o^)/ 2015/08/19(水) 22:03:27.34 ID:8XU5y5cg0.net
while(true){}

13: 張り手(チベット自治区)@\(^o^)/ 2015/08/19(水) 22:11:54.58 ID:lcFYyZQw0.net
>>2

40: 32文ロケット砲(大阪府)@\(^o^)/ 2015/08/19(水) 22:44:35.29 ID:z1Ov3cbs0.net
>>2 であることに価値がある

4: ストマッククロー(東京都)@\(^o^)/ 2015/08/19(水) 22:04:39.83 ID:8Di2nvXW0.net
演算子でポインタずらすのは初歩の初歩

8: 河津掛け(チベット自治区)@\(^o^)/ 2015/08/19(水) 22:07:34.08 ID:HWNQRxoo0.net
ポインターが不具合の元凶

9: 張り手(山梨県)@\(^o^)/ 2015/08/19(水) 22:08:42.92 ID:jrm0WUyt0.net
.mpg .exe

70: ダイビングエルボードロップ(庭)@\(^o^)/ 2015/08/19(水) 23:50:22.82 ID:j7MAA1No0.net
>>9
懐かしいなあ

初期の共有ソフトに大量にあったわ

10: 男色ドライバー(茸)@\(^o^)/ 2015/08/19(水) 22:08:43.13 ID:50Reiyk90.net
while(T_T)

11: ダイビングエルボードロップ(空)@\(^o^)/ 2015/08/19(水) 22:11:10.48 ID:f43RjAGe0.net
printf("Hello Work")

55: イス攻撃(東京都)@\(^o^)/ 2015/08/19(水) 23:21:18.48 ID:+oNTxgWc0.net
>>11
今のところこいつが一番悪意あるわ

14: ハーフネルソンスープレックス(庭)@\(^o^)/ 2015/08/19(水) 22:15:43.06 ID:SCUXVLD10.net
10 INPUT A
20 INPUT B
30 C=A+B
40 END

53: 栓抜き攻撃(茸)@\(^o^)/ 2015/08/19(水) 23:18:47.73 ID:A6Cg+cpc0.net
>>14
なんで出力しないで終わるんだよw

15: 急所攻撃(やわらか銀行)@\(^o^)/ 2015/08/19(水) 22:17:47.31 ID:ygYTW0Ty0.net
ヘッダーファイルの中身を悪さするやつにすれば一見しても正常なプログラムに見えると思うが
そういうレベルじゃないんだろうな

17: オリンピック予選スラム(家)@\(^o^)/ 2015/08/19(水) 22:18:14.32 ID:3qCkIj8I0.net
ジョークソフトで
起動するとひたすらプリンタの紙を送り出すってのがあったな

24: 逆落とし(東京都)@\(^o^)/ 2015/08/19(水) 22:24:21.90 ID:Kw/hK+hr0.net
>>17
俺が初めて踏んだウイルスは、ディスクトレイがひたすら開いては閉じるを繰り返す、だった
一人ビビって震えてたことがある
15年前だけど…
しかも、震えてる最中に部屋中に響いた、お袋の「ご飯できたよー!何回言わせるのー!何してるのー!」という声と
お袋がこちらに来る足音が余計怖くて怖くて…

家族共用のパソコンを壊してしまったことと、
エロ動画で「また」感染してしまったという罪悪感で苦しかった記憶

26: ラダームーンサルト(福岡県)@\(^o^)/ 2015/08/19(水) 22:25:56.71 ID:ITEPRJqU0.net
>>24
スマン爆笑してしまった

30: 逆落とし(東京都)@\(^o^)/ 2015/08/19(水) 22:33:10.80 ID:Kw/hK+hr0.net
>>26
笑ってあげてください
「また」というのは、気がついたらユーザー画像とデスクトップがおっぱいになり、
回線がダイヤルQ2になってしまったという前科です
「ラーメンのびちゃうでしょ!何してんの!」
というお袋の突進に、震えながら誤魔化した矢先の、これでした

当時は、画像のダウンロードもカクカクで、上から段階的に表示されたのです
「お?可愛い…、お!胸デケェ!これはスゲエ!」と思っていたら
その方は男性器をお持ちでした
ふたなりさん、という用語を初めて知りました

25: ジャンピングパワーボム(東京都)@\(^o^)/ 2015/08/19(水) 22:25:03.77 ID:i8/R2GRd0.net
perlなら訳わからんコード書くの任せろ

28: エルボードロップ(神奈川県)@\(^o^)/ 2015/08/19(水) 22:30:53.03 ID:1jLZJtWT0.net
シングルクォートとダブルクォートで
挙動が違ってアタフタした記憶が。

31: ミッドナイトエクスプレス(静岡県)@\(^o^)/ 2015/08/19(水) 22:34:45.11 ID:CM8Wr05j0.net
なんだよ、おまえら普通に書けばいいんじゃん。
普通に入るだろバグwww

32: ダイビングエルボードロップ(九州地方)@\(^o^)/ 2015/08/19(水) 22:37:15.34 ID:otuR9QSbO.net
昔だったらスレがもうこの時点で、ノートン先生大激怒でパソコンが物故わされてた
エロサイトを開き続けるウィンドウ、鳴り響くビープ音、開閉するトレイ、後ろでよからぬ作動して勝手に何やら送信しているプログラム…

殺るか殺られるか、そんな空気

33: 栓抜き攻撃(北海道)@\(^o^)/ 2015/08/19(水) 22:37:38.46 ID:FoUOlDLm0.net
悪意のあるコードは偶然に、しかも意図せず
書いてしまうよね

”まとも”かどうかは別としても

36: ストマッククロー(東京都)@\(^o^)/ 2015/08/19(水) 22:43:09.19 ID:8Di2nvXW0.net
不安だったらとりあえずvalgrind流しとけよ

41: 雪崩式ブレーンバスター(東京都)@\(^o^)/ 2015/08/19(水) 22:45:10.73 ID:dUM1IAAR0.net
そういや昔読んだ本の中で
モニターを電気的に破壊するCコードが載っていて、
通常プログラムからハードウェアを破壊することは不可能だが
例外もあるって記されていたが
液晶モニターでも通用するのかな

61: アイアンフィンガーフロムヘル(dion軍)@\(^o^)/ 2015/08/19(水) 23:36:57.74 ID:+wX7n4HZ0.net
>>41
へー、画面のスキャンというか更新がらみの設定をいじくるのかな。
規格ができてしまってるから変更できないんだろうけど、どちらかというとハードの穴だわな。

↓昔for文で意味不明の記述して無限ループになった。
for(loop=1;loop<MAX;Loop++)

45: 張り手(千葉県)@\(^o^)/ 2015/08/19(水) 22:48:33.43 ID:uS0MIaag0.net
Cは高級なアセンブラみたいなもんだから何でもアリだよな

66: アイアンフィンガーフロムヘル(dion軍)@\(^o^)/ 2015/08/19(水) 23:42:44.35 ID:+wX7n4HZ0.net
>>45
アマチュアのときにBASIC→アセンブラから入って、就職してからCに触れて「なにこれラクチン」って感動した。
組み込み屋とは言えCできないのに雇うとかよく考えるとすげえ会社だと思う。

しかしルネサスのCS+テメーはだめだ、リニューアル製品でフルアセンブラ必須なんだよボケタン。

47: キドクラッチ(家)@\(^o^)/ 2015/08/19(水) 22:55:05.20 ID:CLPkRMwz0.net
競うまでもないマクロを使えばよい

48: ヒップアタック(茸)@\(^o^)/ 2015/08/19(水) 23:00:35.04 ID:ymuW9jFL0.net
「このまえ、『はじめてのC』という本を読んでいたく感動した。これからは、Cが当たり前になる」
僕は、先生の言われた『はじめてのC』という本のタイトルと、「これからはCが当たり前だ」という発言で、不覚にも目を見開いてしまった。誰だって、違うものを想像するだろう。

50: 栓抜き攻撃(北海道)@\(^o^)/ 2015/08/19(水) 23:05:53.93 ID:FoUOlDLm0.net
書けば書くほど、書き直したくなる

51: ラ ケブラーダ(家)@\(^o^)/ 2015/08/19(水) 23:09:58.60 ID:BLNPDs+N0.net
無限ループ

69: バズソーキック(新疆ウイグル自治区)@\(^o^)/ 2015/08/19(水) 23:50:11.52 ID:cZd9p4O90.net
パイプライン使えばなんでもできるだろ

71: ドラゴンスリーパー(チベット自治区)@\(^o^)/ 2015/08/19(水) 23:54:45.44 ID:hvYx6A4V0.net
とんでもない発想のコンテストだな

引用元
http://hayabusa3.2ch.sc/test/read.cgi/news/1439989307/