これほど指摘があるとは、シマンテックも「正直驚いた」
高校/高専生向け脆弱性発見コンテスト、最優秀賞は……
2012/09/06
「今回の受賞を機に、周りの人にもセキュリティに興味を持ってもらえたらうれしい」――8月31日、シマンテックが開催した「サイバーセキュリティチャレンジ 2012」の表彰式で、最優秀賞に輝いた海城高等学校のチーム「kph-lab」の堀口修平さんは、このように語った。
サイバーセキュリティチャレンジは、高校生や高等専門学校生を対象に、プログラミングの基本となる脆弱性を学び、セキュリティに対する関心を高めることを目的に開催されたコンテストだ。2〜4名で構成するチーム単位での募集となり、7月17日から8月20日までの期間に約20チームが参加した。
問題文は、Cで書かれたクライアント/サーバ型チャットプログラムのソースコード。この中から脆弱性を見つけ出し、セキュリティの観点から推奨される書き方とともに提出する。「期限ぎりぎりに提出されたものが多く、最後までソースコードを読み込み、デバッグに取り組んだことが回答からも読み取れた」(同社 サービス&コンサルティングビジネス担当執行役員 井部俊生氏)。
1000行余りあった問題のソースコードには、14個もの脆弱性が含まれていた。セキュリティの観点から当然設計に盛り込むべき「認証」や「暗号化」が欠けているという欠点に始まり、malloc()で動的に割り当てたメモリを解放しないために生じるメモリリーク、いくつかの関数におけるバッファオーバーフロー、ヒープオーバーフローなど、その内容は多種多様だ。セキュリティ専門家の目から見ても、すべてを漏れなく指摘するのは困難なレベルという。
この歯ごたえのある問題に対し、優秀賞を受賞した北海道札幌国際情報高校のチーム「moyashies.com」は5つ、kph-labは6つの脆弱性を発見した。これだけの数の脆弱性を指摘されたことは、「正直驚きだった」(同社 谷村透氏)。2つのチームの結果を分けたのはDoS攻撃につながる恐れのある脆弱性で、kph-labはそこから生じる現象と、クライアントからの接続数制限の必要性について細かく説明していたという。
だが、両チームとも「脆弱性を指摘するだけでなく、修正法とその有効性について非常に的確に説明していた」(井部氏)。特に、addRecvDataToList関数で、変数の型定義が不適切なために整数オーバーフローが生じてしまう脆弱性については、「両校ともよく発見してくれた」(谷村氏)という。
kph-labのメンバーはまだ1年生で物理部に所属。主に問題を解いたという堀口さんは、プログラミング、ひいてはどうして脆弱性が悪用されると任意のコードが実行できてしまうのかという仕組みに興味を持ち、独学で学んだという。つい先日開催された「セキュリティキャンプ 2012」にも参加していたそうだ。
moyashies.comの秋山卓巳さんは、表彰式の会場にも、Perlに関するカンファレンス「YAPC」のTシャツを着て現れたほど「Webアプリケーションを作るのが好き」。今回はクライアントアプリケーションの脆弱性が対象だったが、クロスサイトスクリプティングをはじめとするWebアプリケーションの脆弱性にも興味を持っているという。
表彰式の後は谷村氏が、シマンテック社内における取り組みを交えながら、セキュアコーディングのポイントをあらためて説明した。同氏は、後の段階になればなるほど修正に要するコストが膨大になることに触れ、最初の設計が重要であると強調。同時に、動作確認だけでなくセキュリティにも踏み込んだテストも欠かせないと説明し、「PDCAサイクルを回しながらコーディングしてほしい」と述べた。
「いまやプログラマーの責任は大きい。セキュリティについて理解した上でプログラムに取り組んでほしい。最近は、コンパイラをはじめ、コードのセキュリティ向上を手助けしてくれるツールはいろいろあるけれど、最終的に大切になるのは皆さんの頭脳。これからもいろいろな知識を身につけて、すばらしいプログラムを作れるようになってほしい」(谷村氏)。
シマンテックでは今後も、高度なセキュリティスペシャリストの育成を目的とした「シマンテック・サイバーディフェンスアカデミー」をはじめ、情報セキュリティ人材の育成や関心を高めるための取り組みを進めていくという。
関連記事
情報をお寄せください:
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。