一見まともだが悪意のあるコードを競うC言語コンテスト開催

1: ハーフネルソンスープレックス(宮城県)@\(^o^)/ 2015/08/19(水) 22:01:47.18 ID:nb8+lRpj0●.net BE:601381941-PLT(13121) ポイント特典

まともに見えるのに悪さをする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){}

 

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

 

3: アンクルホールド(新疆ウイグル自治区)@\(^o^)/ 2015/08/19(水) 22:03:37.06 ID:57mzVNdg0.net
rm * .obj

スポンサーリンク

6: ハーフネルソンスープレックス(catv?)@\(^o^)/ 2015/08/19(水) 22:06:00.92 ID:u3wqcGH80.net
>>3
懐かしいw

 

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

 

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

 

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

 

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になってしまったという前科です
「ラーメンのびちゃうでしょ!何してんの!」
というお袋の突進に、震えながら誤魔化した矢先の、これでした

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

 

21: フロントネックロック(SB-iPhone)@\(^o^)/ 2015/08/19(水) 22:20:45.50 ID:JFCUQ0nv0.net
string str = “”;
for(int i=0;i<99999;i++)
str=str + i;

 

23: 張り手(チベット自治区)@\(^o^)/ 2015/08/19(水) 22:24:15.90 ID:lcFYyZQw0.net
>>21
最近のCの文字列ポインタってこういう宣言が許されるの?

 

56: フェイスロック(空)@\(^o^)/ 2015/08/19(水) 23:26:04.04 ID:cUcEKIfL0.net
>>23
俺の知っているCではねーなー

 

59: 膝靭帯固め(大阪府)@\(^o^)/ 2015/08/19(水) 23:29:52.33 ID:xcFoYtUz0.net
>>56
string使ってるからC++のSTL何だろうけどCでコンパイルWARNINGさえ止めれば動きそうだな

 

64: アルゼンチンバックブリーカー(catv?)@\(^o^)/ 2015/08/19(水) 23:41:24.81 ID:QH9hSBgD0.net
>>59
そもそもstring と int加算してるけどこのままで通るのか?

 

65: 栓抜き攻撃(北海道)@\(^o^)/ 2015/08/19(水) 23:41:40.77 ID:FoUOlDLm0.net

なんでそんなことをするのか疑問だが、
STLのstringなのであれば、それはコンパイル
通らないと思う
size_typeをとるコピーコンストラクタはfillする
文字を引数に渡す必要がある

ついでにvectorとかは、explicitだから暗黙には
変換されない

別途、operator+をオーバーロードすれば可能だけど

 

67: 膝靭帯固め(大阪府)@\(^o^)/ 2015/08/19(水) 23:43:50.09 ID:xcFoYtUz0.net
>>64
まあC++コンパイラは絶対無理だな。
string をchar *でtypedefするとかでどうだろう

 

76: アンクルホールド(catv?)@\(^o^)/ 2015/08/20(木) 00:15:09.33 ID:tyL2uIEs0.net
>>65
cじゃなくて元々java畑なのかもな
>>67
それならいけるか
まともでないコードだが、コンパイルはできるになってしまったがw

 

27: ツームストンパイルドライバー(静岡県)@\(^o^)/ 2015/08/19(水) 22:28:24.03 ID:bX8grATC0.net
逆コンパイルって今もあるの?
逆コンパイルでC言語にすると、for文とif文の連続で読む気が失せるよ。

 

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

昔だったらスレがもうこの時点で、ノートン先生大激怒でパソコンが物故わされてた
エ□サイトを開き続けるウィンドウ、鳴り響くビープ音、開閉するトレイ、後ろでよからぬ作動して勝手に何やら送信しているプログラム…

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

 

44: 逆落とし(東京都)@\(^o^)/ 2015/08/19(水) 22:47:59.78 ID:Kw/hK+hr0.net

>>32
ありましたね
セキュリティソフトがうっとおしい、邪魔すんな!暴れるな!と思うレベルで、
うぉーうぉーうぉートゥナイト!って騒ぐスレとかありました

あの殺伐感、地雷原を走って渡る緊張感は好きでしたね
今はもう再現できないでしょうけどこんにちは!よろしくね!が、
死ね、殺す、失せろ、パパの精液がシーツのシミになり、ママの割れ目に残ったカスがおまえだ!
だった頃の話ですが

 

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流しとけよ

 

37: 不知火(神奈川県)@\(^o^)/ 2015/08/19(水) 22:43:18.40 ID:uw5FlqL+0.net
main (void)
{for (i=0; i<MAX; i++) {
int *var = malloc(int);
}
for (i=0; i<MAX; i++);
{
free
}

 

42: アルゼンチンバックブリーカー(catv?)@\(^o^)/ 2015/08/19(水) 22:47:01.45 ID:QH9hSBgD0.net
>>37
動作すらしないじゃねえか

 

43: 不知火(神奈川県)@\(^o^)/ 2015/08/19(水) 22:47:53.65 ID:uw5FlqL+0.net
>>42
すまん
途中送信しちゃってもう面倒になった

 

46: アルゼンチンバックブリーカー(catv?)@\(^o^)/ 2015/08/19(水) 22:52:02.53 ID:QH9hSBgD0.net
>>43
そうか
文法の間違い探しと勘違いしてるんじゃないかと思ったぞ

 

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+テメーはだめだ、リニューアル製品でフルアセンブラ必須なんだよボケタン。

 

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

 

54: 急所攻撃(東京都)@\(^o^)/ 2015/08/19(水) 23:18:51.97 ID:N4Sk6mQG0.net
プロポーショナルフォントだとソースが見辛いから書くの辞めた

 

63: レッドインク(茸)@\(^o^)/ 2015/08/19(水) 23:41:19.59 ID:3jkH/SWj0.net
トンプソンのバックドアってホントにあったんすかね?

 

113: フォーク攻撃(やわらか銀行)@\(^o^)/ 2015/08/20(木) 09:09:32.54 ID:ORdMPWbV0.net
>>63 あれだけフリーダムな仕様のCでバックドアもフロントドアも無いと思うが SCO UNIX に有ったかって意味?

 

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

 

74: ダイビングヘッドバット(WiMAX)@\(^o^)/ 2015/08/20(木) 00:00:22.78 ID:78ztpvWZ0.net

新人の書いたこんなコードがコンパイル通って謎だったが、
void foo::update()
{
for(i=0; i<10; i++)
{
calc(i);
}
}

ヘッダー見たらこうだった
class foo {
public:
void update();
private:
void calc(int);
int i;
};

 

78: ジャンピングカラテキック(神奈川県)@\(^o^)/ 2015/08/20(木) 00:27:40.16 ID:WQpeTVRk0.net
while(‘A’);

スポンサーリンク

79: ストレッチプラム(やわらか銀行)@\(^o^)/ 2015/08/20(木) 00:31:43.68 ID:pxheoT7h0.net
>>78
顔文字みたいでかわいい

 

80: ミラノ作 どどんスズスロウン(北海道)@\(^o^)/ 2015/08/20(木) 01:08:06.15 ID:s9QiK4P40.net
日本はウィルスを作ると違法。

 

82: グロリア(兵庫県)@\(^o^)/ 2015/08/20(木) 01:10:44.12 ID:MDOY+MsC0.net
とりあえずuintとintとshortとfloatの型変換のバグを埋め込んでやる

 

84: ミドルキック(愛知県)@\(^o^)/ 2015/08/20(木) 01:16:55.84 ID:GBChErc/0.net
windowsではwin10になってもconconクラッシャー対策の名残で
ユーザーがconという名前のフォルダを作ろうとするとエラーになるようになっている
これ豆、いや窓知識な

 

110: バズソーキック(やわらか銀行)@\(^o^)/ 2015/08/20(木) 08:34:20.07 ID:7g2yn+ce0.net
>>84
キャラクタデバイスと同じ名前のファイルが作れないのは
DOSの頃からの仕様だよ

 

111: フェイスロック(新疆ウイグル自治区)@\(^o^)/ 2015/08/20(木) 08:52:23.54 ID:ARnyjmlj0.net
>>110
いや、だからそれがDOSと関係ないNT系でも引き継がれてるね、って話でしょ

 

112: レッドインク(catv?)@\(^o^)/ 2015/08/20(木) 08:57:11.05 ID:Jan9eY3Y0.net
>>111
そもそもドライブレターをいまだに廃止できない時点で

 

114: フェイスロック(新疆ウイグル自治区)@\(^o^)/ 2015/08/20(木) 09:14:09.04 ID:ARnyjmlj0.net

>>112
なくても動くけど利便性が…って中途半端な状態になってるね
久々にコマンドプロンプトで

copy con a.bat

なんてやったら使えたし
まあこれはcmd.exeのローカルルールで良いだろうが

 

85: サソリ固め(長屋)@\(^o^)/ 2015/08/20(木) 01:17:11.72 ID:SQUbsKX20.net
WinGrooveを提出すればOK

 

86: ニールキック(やわらか銀行)@\(^o^)/ 2015/08/20(木) 01:29:42.61 ID:12AzTDaa0.net
>>85
パソファミもエントリーさせよう

 

87: キドクラッチ(富山県)@\(^o^)/ 2015/08/20(木) 01:32:55.36 ID:4HrWMBNZ0.net
==と書くべきところを=と書いてバグるのはお約束

 

88: ハイキック(catv?)@\(^o^)/ 2015/08/20(木) 01:39:13.35 ID:hHsoaSk/0.net
>>87
pascalなら代入は:=だから間違えないのに
って卓球部の奴が言ってた

 

97: アキレス腱固め(dion軍)@\(^o^)/ 2015/08/20(木) 06:00:20.37 ID:Kz807z0J0.net
>>87
左側に基準値(ROM値)、右側に変数入れればコンパイルで引っかかって気がつく。
あとは=の前後を必ずスペース(0x20)つけとくと、あとで” == ”,” != ”,” = ”でグレップして確認できる。

 

 

100: パイルドライバー(家)@\(^o^)/ 2015/08/20(木) 07:01:14.19 ID:Q+i96KwP0.net
去年の優勝者は、特定の条件のときに呼び出されるマクロに副作用仕込んで、
ローカル変数を上書きしたみたい

 

101: パイルドライバー(家)@\(^o^)/ 2015/08/20(木) 07:04:33.13 ID:Q+i96KwP0.net
今年のは、去年よりも出力が単純だから難しくなってるな
シレッと閾値書き換えるぐらいじゃダメかな

 

105: レッドインク(SB-iPhone)@\(^o^)/ 2015/08/20(木) 08:09:38.04 ID:Jan9eY3Y0.net
#define BEGIN {
#define END ;}

 

106: ジャーマンスープレックス(東京都)@\(^o^)/ 2015/08/20(木) 08:11:58.32 ID:3G59E79U0.net
>>105
悪意しか感じない

 

108: エルボーバット(芋)@\(^o^)/ 2015/08/20(木) 08:23:54.75 ID:hqs0UGWw0.net
広く使われているオープンソースソフトウェアのプロジェクトに潜入して
気付かれないように脆弱性を仕込む人材を探しているのか

 

116: 魔神風車固め(大阪府)@\(^o^)/ 2015/08/20(木) 10:24:32.31 ID:LVJiD0rw0.net

仕事中の俺が秀丸からコピペ

CP (XHL),A
RET NZ
INC 1,XHL
INC 1,A
DEC 1,XBC
OR XBC,XBC
J NZ,RCVCH0
RET

 

117: フェイスロック(新疆ウイグル自治区)@\(^o^)/ 2015/08/20(木) 10:30:36.66 ID:ARnyjmlj0.net
>>116
東芝マイコン?
ARMのアセンブラもザイログ式にしたらわかりやすそうなんだがなあ

 

118: 魔神風車固め(大阪府)@\(^o^)/ 2015/08/20(木) 10:43:02.92 ID:LVJiD0rw0.net

>>117
うん

今の若い子が一切できないし勉強も嫌がるので、
歳取った今でも会社での居場所は安泰w

組み込みやっててよかったわ・・・

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

関連記事

bsWEB86_bonpc20150207122815

政府、2020年東京五輪に向けてサイバーセキュリテーの専門家育成開始へ

1: 稲妻レッグラリアット(兵庫県)@\(^o^)/ 2015/11/28(土) 20:49:5

記事を読む

2341572_brotli

Google、新しい圧縮アルゴリズム「Brotli」公開 LZMAより高圧縮で高速デコード

1: 番組の途中ですがアフィサイトへの\(^o^)/です (ワッチョイ b4f9-b5W8) 20

記事を読む

https---www.pakutaso.com-assets_c-2015-05-N811_notepcwosawarubiz-thumb-1000xauto-14749

趣味でプログラミングやるならVBAとC言語どっちやるべき?

1: 以下、\(^o^)/でVIPがお送りします 2015/05/25(月) 22:16:09.0

記事を読む

スクリーンショット 2014-05-12 13.36.30

Javaってどうしてすぐ死んでしまうん?ww

1: 名無しさん@お腹いっぱい。 04/03/26 21:55 ID:vqYooqHy.net

記事を読む

ويندوز-10-ذرشلد-2-Threshold-2-سيتم-اطلاقه-في-شهر-نوفمبر

Windows 10初のメジャーアップデート。「Threshold 2」11月リリース

1: 番組の途中ですがアフィサイトへの\(^o^)/です (ワッチョイ 8dc3-/l9Q) 20

記事を読む

1508267photoios

モバイル版Photoshopを無料で提供開始

1: 番組の途中ですがアフィサイトへの\(^o^)/です (ワッチョイ 9b3d-q4IB) 20

記事を読む

190px-NHK_logo.svg

NHKがインターネット上でもテレビがみれる、「同時送信」の実証実験開始

1: ニーリフト(catv?)@\(^o^)/ 2015/09/03(木) 19:56:22.7

記事を読む

Sundar Pichai, senior vice president of Android, Chrome and Apps at Google Inc., speaks during a keynote session at the Mobile World Congress in Barcelona, Spain, on Monday, March 2, 2015. The event, which generates several hundred million euros in revenue for the city of Barcelona each year, also means the world for a week turns its attention back to Europe for the latest in technology, despite a lagging ecosystem. Photographer: Simon Dawson/Bloomberg *** Local Caption *** Sundar Pichai

Google新CEO「サンダー・ピチャイ」氏が凄い! 当時反対されていたブラウザ開発を押し切り、「Chrome」を作り今のシェアまで押し上げる程の手腕

1: 番組の途中ですがアフィサイトへの\(^o^)/です (ワッチョイ 94e7-AbBM) 20

記事を読む

Galaxy-S6-mini-2

サムスン Galaxy S6 miniの開発中画像がリークされる

1: バックドロップホールド(茸)@\(^o^)/ 2015/07/27(月) 19:15:49

記事を読む

002_588x

グーグルマップにレベリング機能 レベル4でグーグルドライブ1TB レベル5でGoogle社員と同様に新サービスをリリース前に試用できる

1: 番組の途中ですがアフィサイトへの\(^o^)/です (ワッチョイ d03d-I1ty) 20

記事を読む

Huawei-Mate-8-benchmark-post-launch_1
Androidのベンチマーク、10万点を突破 インフレが止まらない

1: 番組の途中ですがアフィサイトへの\(^o^)/です (ニククエ

hGJvbfh
せっかくの休みだ。原付で>>5に行く。

1: 名無しさん@おーぷん 2015/11/29(日)06:13:2

9xHNnte
XperiaZ5からdocomoのロゴだけ消せるシートが発売開始

1: 番組の途中ですがアフィサイトへの\(^o^)/です (アウアウ

bsLISA78_MBAsawaru20141018102912
子供にプログラミング教えることになりそうなんだが、どうやって教えたら良いんだ?

1: 以下、\(^o^)/でVIPがお送りします 2015/11/2

top
国内で最大容量の8THDDが2万円台に値下がり

1: 海江田三郎 ★ 2015/11/29(日) 14:43:35.

→もっと見る

PAGE TOP ↑