安全なプログラムを作ろう | 悪態のプログラマ

悪態のプログラマ

とある職業プログラマの悪態を綴る。
入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。

Web アプリケーションを開発していながら、「SQLインジェクション」や「OS コマンド・インジェクション」について何も知らないようなプログラマがいる。怖いことだ。

プログラムは処理が正しく動けばそれでよいというものではない。業務ロジックのような処理仕様の他にも、実行速度やメモリの消費量など、プログラマが気にしなければならないことはたくさんある。そうした中でも重要なのは「安全性」だろう。特に、Web アプリのように不特定のユーザーに利用されるプログラムの開発では、セキュリティへの配慮は不可欠だ。


独立行政法人 情報処理推進機構のセキュリティセンター には、コンピュータのセキュリティに関する様々な情報が公開されている。

システム開発者向けのコンテンツとしては、このページの右の列の下のほうにある「対策実践情報」の「ソフトウェア開発者の方へ」からリンクされている、「セキュリティエンジニアリング」がある。プログラマなら、まずは「セキュア・プログラミング講座」に目を通すと良いだろう(IPA の利用条件上、直リンクできないのでこんな紹介しかできない。"IPA ISEC セキュア・プログラミング講座" を検索 したほうが早いだろう)。

IPA ISEC セキュア・プログラミング講座このサイトでは、安全なプログラムの書き方が具体的にまとめられている。プログラミング言語や OS ごとに章立てされているので、該当する条件で初めて開発を行うようなときには、その章だけでも読んでおきたい。条件にぴったり合わない場合でも、近い条件の章を読めば参考になるだろう。

また、全ての記事が PDF でも用意されているのもありがたい。印刷して手元に置いておけば何かにつけて参照できるし、研修資料などとしても使いやすい。


「セキュリティホール」という言葉は、プログラムの「作り方」の問題も、「使い方」の問題も一括りにしてしまう。しかし、プログラミング的に対策が可能な既知の問題について、その対策が行われなかった場合、それはプログラマの責任であり、「バグ」と呼ぶべきである。決して、「知らなかった」で済まされるようなものではない。せっかくこうした情報が公開されているのだから、大いに活用し、勉強していきたいものである。


クリックお願いします →



■関連記事
セキュリティを確保せよ
Webラーニングプラザで学ぶ



■関連リンク
独立行政法人 情報処理推進機構のセキュリティセンター
Webアプリケーションに潜むセキュリティホール(@IT)



Writing Secure Code第2版〈上〉プログラマのためのセキュリティ対策テクニック
マイケル ハワード デイビッド ルブラン
日経BPソフトプレス (2004/12)
売り上げランキング: 82,530
おすすめ度の平均: 4
4 Windowsプログラマ以外にもおすすめ


情報セキュリティ プロフェッショナル総合教科書
特定非営利活動法人日本ネットワークセキュリティ協会教育部会
スキルマップ作成ワーキンググループ 佐々木 良一
秀和システム (2005/05)
売り上げランキング: 5,182
おすすめ度の平均: 4
3 網羅的に・端的に
5 内容豊富・執筆陣豪華・お買い得