MENU閉じる

HEXA BLOG

書籍紹介

HEXA BLOG書籍紹介2011.5.24

セキュアコーディング

おはようございます、マーシーです。
GWも終わり、めっきり暖かくなってきましたね。
私は半袖、ハーフパンツと一足お先に夏の格好を満喫しております晴れ
さて、本日は書籍の紹介です。
「C/C++セキュアコーディング (SEI SERIES・A CERT BOOK)」

int foo[10];
for( int i=0; i<=10; i++ ) { foo[i] = i; } 配列の要素数を超えた値にアクセスしようとする 一般的に「バッファオーバーフロー」と呼ばれる処理です。 プログラムを書いたことがある人であれば、 ほとんどの人がお目にかかったことがあると思います目
そして、このソースを見たプログラマは
「やばい、すぐに直そう(直してもらおう)」
と考えるに違いありませんあせあせ(飛び散る汗)
この本は上記のような危険なコードに対して、
それがなぜ危険なのか、下記の点から詳細に解説してくれます。
1プログラムコードの中でどのような処理がされるのか?
2所謂、悪意ある攻撃者が、この危険なコードにどのような攻撃を行うことができるのか?
例えば、上の「バッファオーバーフロー」ですが、
これはプログラム作成者が「意図しない」メモリを上書きしてしまいます。
もし、上書きされるのがスタックポインタであったり、フレームポインタであった場合、
そのプログラムは停止すると思われます。
しかも、悪意ある攻撃者にかかると、この上書きの特性を利用して
送り込んだウィルスプログラムをリモートで実行することすら可能になってしまいますがく〜(落胆した顔)
このような危険なコードに対する対処法もいくつか掲載されています。
いくつか抜粋して紹介します。
1危険な処理を起こしやすい関数をより安全な拡張関数に変更する
2プログラムを実行した際に危険なコードを検知するような仕組みを入れる
3危険なコードを検知するようなライブラリを組み込む
この本を読んでいくことで、自分が如何に危険なコードを書いていたのかということがよくわかりました。
また、危険なコードを書く事を未然に防ぐためには、
それがどのように危険なのか、正しい知識が必要だとも強く感じました。
もし、危険なコードに心当たりがあり、それを予防する方法に興味を持たれた方は
是非、この本を読んで見てくださいわーい(嬉しい顔)
私もこれからは危険なコードを書かないよう意識して、プログラムをしていこうと思います。

RECRUIT

大阪・東京共にスタッフを募集しています。
特にキャリア採用のプログラマー・アーティストに興味がある方は下のボタンをクリックしてください

RECRUIT SITE