diaryこの広告は、90日以上更新していないブログに表示しています。本日情報セキュリティスペシャリスト試験(SC)を受けました。問題はコチラからPDFがダウンロードできます。午後1にWebアプリケーションの脆弱性問題があって理解不足を感じたのでブログにまとめてみます。問題の内容は以下の流れです。Javaで作られた画像投稿システムを作る。画像の圧縮はC++をJNIで利用する。C++で作られた「ピクセル変換プログラム」という名のプログラムのソースコードレビューを主任がするソースコードには2つの問題点があり、おそらく片方はBOFだろうけどももう片方の問題点の書き方が分かりませんでした。問題点の内容としては、int型の変数にintじゃ収まらない値を設定する可能性があるという所。「これが正解だ!」という正解が思いつかず、2つの問題点両方にバッファオーバーフローってかいちゃったので、帰宅してから復習をかねて実際にコンパイルや実行やら手を使って動かしてみます。確認したい部分のコードを書いてみる。256を変数bytesOfBuffに設定してprintf。整数オーバーフローというそうです。整数オーバーフロー攻撃対策どうやってチェックするかが設問に。試験問題に、以下の代入の前にアサーションを入れるという問題があります。fhBuf.rows;問題[1]と[2]に入れる適切な式又は変数を答えよ。[1]と[2]のどちらか一方は、kMaxIntegerを含むこと。)だとどうなる?以下のロジックで動かしてみる。OK想定しているチェックにはなりませんでした。int*intの結果が既に整数オーバーフローした状態でした。