アンダーハンデッドCコンテスト
アンダーハンデッドCコンテストは、一見正常に動作するが巧妙な悪意を隠したCプログラムを競うコンテストです。参加者は、コードレビューをすり抜けるような「不正な」実装を提出し、審査員はその巧妙さと隠蔽性を評価します。プログラミング技術と創造性が試されるユニークなコンテストとして知られています。
背景メモ
- 「Underhanded C Contest」は、一見すると正常に動作するC言語のコードの中に、悪意のある仕掛け(バックドアや情報漏洩など)をいかに巧妙に隠せるかを競うプログラミングコンテスト。1999年から2016年まで不定期に開催された。
- 目的は「コードレビューでは発見されにくい脆弱性」の典型例を共有し、セキュリティ業界の啓発に貢献すること。優勝作品は、一見無害なマクロや整数演算の微妙な挙動を悪用するものが多い。
- 背景として、C言語はポインタ演算や暗黙の型変換など、意図と異なる動作を引き起こしやすい仕様が多く、「読みにくいが正しいコード」と「一見正しいが実は脆弱なコード」の区別が難しいことで知られる。
- 主催者はコンテスト終了後も、暗号化アルゴリズムの実装やガバナンス強化など、別のプロジェクトで活動を継続している。