2010/10/23

Nokia N8 が届いた!!しかし・・・

1週間前に1shopmobileで注文したNokia N8がようやく届きました。
円高なのでいやっほーい、とポチったのに、関税が1700円とか。死ね。
それはおいといて、さっそくレビューしてやりたいと思います。

・カメラ
目玉機能として注目を浴びているわけですが、まあまあかなといったところです。
iPhone4は持っていませんが、HTC Legendと比べてみて、
・設定はそれなりに細かくできる。(感度、ホワイトバランス、・・・)
・ノイズが多いので1200万画素が有効活用できているとは思えない
ビデオカメラはかなりきれいに撮れる気がする。
といった感じがします。6万くらいするので、カメラを期待するくらいならデジカメを買いましょう(笑)

・使い勝手
動作は非常に悪いです。iPhoneのパチモンよりもできが悪いのでは?と思うくらいモッサリしてます。
また、メニューの位置があっち行ったりこっち行ったりで統一されていなかったり、ExitとかCloseとかCancelとかの用語や挙動が全然統一されていなかったりで、使い勝手は最悪です。
また、アプリ間の連携も最悪です。Androidのインテントの機構が神すぎるのもあってそれに慣れているためかもしれませんが、撮った写真のフォトアルバムから直接twitterに発信するだとか、そういう便利な連携機能がありません。

・アプリ
これが最大の難点だと思うのですが、なんといってもアプリの数が少なすぎます。
とりあえず
・Google Map
・Skype(非公式にGet)
などは何とか手に入って使えますが、
・EverNote
・DropBox
など「えっ?ないの??」というものはかなり多いです。
日本語入力するためのソフトすらありません
なので、twitterに書きこむにも微妙というかなんというか。
あと、twitterアプリも「これは使いやすい」と感じるものはありませんでした。

というわけで、Nokia
N8はもう少しアプリ側の対応がしっかりしてきてから買ったほうがいいような気がしました。

2010/10/18

情報セキュリティスペシャリスト(午後II)



集中力がいい加減切れてきた午後II、、とりあえず問1のオレオレ解答を晒しておく。
問2はシングルサインオンの見るからに「知るかボケ」な感じだったので、迷うことなく1を選択。
問1は社会人やってソフトウェア開発のプロセスに乗っかって作ってみてこそ解けた感じがする。学生さんたちは「レビュー?なにそれ?」という人もいたんじゃないかなーと予想する。

設問1 a:ア b:イ

解説:
Java?そんなのしらんよ。勘だよ勘!ってのがホンネ(笑)
とりあえず
・stmtを宣言しているのがa
・bでSQLを実行しているんだろうな
くらいはさすがにわかる。
そんで、
・sqlという変数に「?」が入ってて、ここをstmt.setString(1,param)で置換してる?のかな?
・ということはstmtの宣言時には内部にsqlを取りこむものでないといけない。
・ということはSQL実行のbでは引数にsql入れる意味がない。
ってことで、なんとなくbはイと想像できた。

aはホントに勘なのだが、とりあえず明らかにフィルター(絞り込み)とかしてないからdoFilterなんてありえない。
バインド機構だからってbindって、あまりにも短絡的過ぎじゃないか。だいいち、JavaってStatementとかいういかにもベースクラス的なものに「?をsetStringで置換する」とかいう気の利いた機能盛り込むような言語じゃないだろ。お利口さんに派生クラスで実装を追加するもんじゃないか?ってことでPreparedStatementっぽい。よし。アだ。

Google検索してみたら、正解っぽかった。ふぅ。


設問2
(1)脆弱性が発見された場合に出戻りが発生し、修正により長い期間を要するため。
(2)設計する各コンポーネントに既知の脆弱性を含んでいないかを調査・確認する。
(3)セキュアなコードで書かれているか、既知の攻撃手法が適用できないかを有識者やツールを用いて確認する。

解説:
あまり自信はない。ただ、「修正は後の行程ほど大変」という一般法則があるし、「最後にちょちょっと脆弱性見てそれをリリースまでの半月で修正できるの?それまで6か月かけてきたプロジェクトだよ?」という主任の声が天から聞こえてきた(笑)ので、そのまま書いてみた。
レビューで脆弱性を見るって言うのはあまり経験がないので、とりあえずてきとーに書いた。
「セキュアプログラミング」っていう定石があってそれにのっとっているか、もう少し言うと、既知の「ありがちなミス」をしていないか、っていうのがポイントなんだろうな、ということでこういう解答に至った。

設問3
(1)利用者IDのパラメータに任意の利用者IDを取得するSQL条件文を含ませたHTTPリクエスト
(2)想定外の文字が含まれていないか、従業員テーブルに存在するIDか、を確認する。

解説:
午後1午後2を通して、もっとも自信がない。(1)の55文字制限が本当に微妙で何を書いて何を書かないかがホントに悩ましかった。

(1)について
とりあえずどこにインジェクションするかについては、顧客IDについては何の情報もなかったので、クッキーとかに書かれているとすると、それ勝手に書き換えたらログインできなくなるんじゃないか、ということで、利用者IDのほうに着目した。
利用者IDベタ書きなので、とりあえず 「' OR 1=1'」という常とう手段は使えそう。でも、問題文の「データの型チェック」というのはどこまでさしているんだ?単純にStringの型チェック?それとも特殊記号のサニタイズとかも含めてる? うぎゃあああ意味わからん。IPAの試験問題作ったやつ出てこい!
ってわけで、都合よくStringの型チェックしかしてないんだろうと仮定して、ベタな解答に仕上げた。これ推敲だけで30分以上かけた気がする。

(2)について
SQLインジェクションの対策っていうベタすぎる問題。ここでも「データの型をチェック」の意味する範囲がわからなかったので、上記のStringであることしか確認してないと仮定。まずは従業員IDでクオテーションとかスペースとか使うことはないだろっていうのをチェック。でもこれじゃ字数が余るぞ?念のため、従業員IDリストに含まれるかどうかも確認しとくかー、ってことで上の解答に至る。

設問4
(1) 顧客ごとにテーブルあるいはデータベースを分けて、アクセス権も顧客ごとに設定する。
(2) ガイドラインに基づくチェックリスト付きのレビュー報告を委託先に義務付け、X社が確認・承認を行う。


いい加減集中力が切れてきたところ。

(1)について
ありえんやろ!なんで全部の顧客の情報が一つのテーブルに入っとるんよ!?
素人でもここまでやらんだろー。
ってことで、テーブル単位かDB単位で顧客を管理するように変更すべきだと。あとは、念のため顧客ごとにアクセス権(OSとかDBシステム提供の機能で)を設定したら、WebApp経由で特定のアクセス権で実行されても他のはPermission Deniedでしょ、って感じで。

(2)について
レビュー記録というシステムがないと、「レビューしましたー」だけで済ませられるとどこまで信用していいのか分からないんじゃないだろうか?ということで、コーディングガイドラインを守っていますだとか、そういう報告を含めた記録を委託先に提出してもらうようにせんとダメでしょう。うん。きっとそうだ。
知らん。

設問5
(1) c:ア
(2) FWのアクセス制御ルールでインターネット側からのTCP8080番ポートへのアクセスを拒否している。
(3) 設計に含まれる各コンポーネントの脆弱性に関する情報を定期的にチェックすること。

解説:
どういうわけか、最後に一気に楽なのが来た感じ。
(1)について・・・省略。当たり前やろ。

(2)について
この脆弱性がTCPの8080番にインターネット側からのなんとかかんとか、、、って書いてあるので、「え?そもそもインターネット側から8080番ポートとかって開けてたっけ?」ということを思い出す。ファイアウォールで遮断してるので、この攻撃のパケットはRejectされるはず。

(3)について
ミドルウェアでパッケージものだからって安心してるからこういうことになる。エンドユーザーはミドルウェアのことなんか知らないわけで、作ったもの全部に脆弱性がないかどうかが心配なはず。
また、設計途中に脆弱性が発見されるということもこのご時世だと珍しくはなさそう。使用しているコンポーネントについては定期的にチェックするに越したことはないはずだ。おれはやりたくないけど(笑)ってことでこういう解答に至る。


あああ、、どうか合格していてほしい

情報セキュリティスペシャリスト(午後I)


問2問4のオレオレ解答とオレオレ解説でもしてみる。
なんで問2と問4を選んだのかは、単純に「解きやすそうだったから」である。
サーバーの実運用とかやったことなくってもこのくらい勘でわかるやろ、的な。

問2

設問1
(1) a 無効 b 有効

解説:
aについて
休職者ってことで一時利用停止かな?と思ったけれど、一時停止っていうのは24時間後に有効になる、という状態のことだと(エ)に書いてある。とすると、これじゃまずい。
逆に、無効だからと言って退職するまではログインができないだけであって勝手に消されたりはしないらしいと図に書いてある。
ので、ここは「無効」だろう。

bについて
どうみても無効の反対語で「有効」だろう。初期化も考えたが、管理者権限では無効状態からアカウント削除発行を通らずに初期化へ状態遷移はできない。ので、「有効」


(2) c:不許可(間違えた・・・) d:パスワードを設定してください


解説:
cについて
ログインできないとパスワード変更できなさそう、という固定観念から許可を選んでしまいそうだが、サブシステムではなくUID管理システムのほうでパスワード変更を行うらしいと記述がある。また、パスワードを設定するまで各サブシステムを利用することはできない、とも書いてある。ので、「不許可」

dについて
適当。これよりひねった解答が期待されているとは思えない。「10文字以上」「英数字と記号」とか入れたらそこで文字数オーバーだし。


(3) e:24時間が経過した

解説:
これもなんというかこれ以上書くことが思いつかない。(エ)の条件を素直に書くとこうなる。


設問2
(1)派遣社員の契約満了予定日
(2)4カ月
(3)満了前解除が確定した時点で満了予定日の更新を行うよう手続きを追加する。

解説:
正直これでいいのかわからない。が、これ以外に思いつかなかった。(2)について、現時点のダメダメシステムでは、たとえば
・4月に採用された派遣社員が4月末にいなくなりましたー。
・4月30日まで使っていたとすると、無効になるまで100日。
・無効になるのは8月中旬くらい??なんだってーー!?
・それで削除するのは次の月初めつまり9月1日。
・5月1日に消してほしいのに4カ月も宙ぶらりんじゃないかと。

設問3 何者かがあるUIDを用いてわざとログインで5回間違えてアカウント管理者に当人になりすまして連絡しパスワード初期化申請をした場合。
設問4 アカウント管理者がパスワード初期化申請を受ける際に本人確認を実施する。


解説:
全く自信がない。が、たぶんダメダメシステムではできちゃうんじゃないかな?
というか「なりすまし」というキーワード的に、それすなわち「本人確認を実施していない」と同義なわけで、だとすると本人確認が効いてきそうな場所って・・・知らんけど(エ)の文章のあたりかなあ、ということで。


ふぅ
あれ?みんなもう途中退出?
やっべーーーー

そして、問4に入ります。

設問1 a:セキュリティパッチ b:ブラック c:脆弱

解説:
なんというか、これでほんとにいいのかな?と思ってしまった。基本問題すぎる?とかいっておいて間違ってたらいやなので、、、でも多分サービス問題だったと思う。


設問2
(1) ア:(4) イ:(2) ウ:(1) エ、オ:(3)(4)

解説:
とりあえずFTPかそうでないか、というだけでもだいぶ絞れる。
アはインターネット側からFTPにアクセスできなくする、ということで、(4)。べつに攻撃者が司令塔になってるわけじゃなくて、単純に攻撃者がFTPのID/Passを入手してアクセスしに行ってるわけなので。
イは利用してるソフトのセキュリティ管理。ということなので、脆弱性ゆえに感染してしまうと書いてる(2)。
ウはJavaScriptの無効化。つまりリダイレクトとかそんな気の利いた動作はしなくなるということ。攻撃スクリプトではなく「攻撃プログラム」という表記が意地の悪い(1)
エオはそもそもFTPを使わない、と。FTPという単語が入っているのは(3)(4)しかないので、これらが正解。


(2) プロキシサーバ

解説:
自信がない。ファイアウォールかなと思ったが「サーバを答えよ」になってたので、ファイアウォールではないらしい。で、「社内からのアクセス」って問題文にはあるので、全部のPCがFTP使うときの通り道となるのは、、、プロキシかなあ、ということで。


設問3
(1)
・各社の本番サーバ上にG攻撃のスクリプトが埋め込まれていないかの確認。
・各サーバのHTTPリクエストログを参照し、被害数の見積もり。


解説:
まったく自信がない。「とりあえず困った時はまずログを見よ」の法則を書いてみた。あとは問題文を見ると「共用PCの」不正プログラム・・・「顧客の範囲を調査」した となっていて、「共用PCからは本番サーバにアップロードすることもある」というオイオイありえんやろーな文章もあるので、
 感染範囲:とりあえず本番サーバは危険
 顧客の範囲:どれだけの人がそこに見に行ったかなんて、記録がないとしらんわ
という感じで上のような解答に至る。


(2) 業務上必要なサイトがプログラム送りこみサイトになり、テストサーバからリダイレクトした場合。


解説:
とりあえず今回は「ブラックリストサイトに飛ばされてたから」W社はおかしいぞと感じた。なので、内容としては
・ブラックリストにないサイトがG攻撃のプログラム送りこみサイトになっている。
・テストサーバへのアクセスが知らず知らずのうちにそのサイトに飛ばされるようになっていた。

なんというか、別のサイトにリダイレクトされたらわかるじゃん!と言いたくなる自分の解答なのだが、iframeを生成して見えないところでリダイレクトさせるとかまで書くと収まりきらない。
でも、iframeで見えないところでリダイレクトさせてた場合ブラックリストのフィルタで「おかしいぞ」って思うかな?うーーん、、、、「ブラックリストにないサイト」だから「改ざんを見過ごす」には論理の隔たりがかなりある、、、、

悩んだ挙句、とりあえず55文字埋めた。


ヲワタ Orz

どうか生きてますように・・・ 

2010/10/17

情報セキュリティスペシャリスト試験(午前II)

午前IIが終わった瞬間
、、死亡フラグ、、、、


とりあえず採点してみる。

1:エ(過去問にあったような、、) 2:ウ(過去問にあったような、、)

3:ア 4:ア・・・ぁぁぁ見直しで直さなければ・・・

5:ウ 6:ア(過去問にあったような、、)

7:エ 8:イ 9:イ 10:イ

11:イ 12:ウ・・・ぅぅぅ見直しで直さなければ・・・

13:イ 14:エ 15:ア(過去問にあったような、、)

16:イ 17:イ 18:ア(http://ja.wikipedia.org/wiki/CSMA/CD)

19:エ 20:ア(選択肢ウを見て吹いてしまった。トップ写真参照)

21:イ 22:イ  23:ウ 24:ウ 25:イ



 19
―― ・・・・・
 25 

情報セキュリティスペシャリスト試験(午前I)


おわたー。こたえあわせしてみる。

午前
1:イ 2:ウ

3:ア 4:イ 5:エ(たぶんア~ウは選択肢が1つずつずれてる)

6:ウ(半分=減少という先入観なく見たらいける。http://www.k4.dion.ne.jp/~type_f/SW_18S_AM/SW_18S_AM_23.html参照)

7:イ らしい。間違えた・・・(http://ja.wikipedia.org/wiki/デュアルライセンス)

8:ウ 9:イ 10:ウ(たぶん。他のは消去法的にないだろう)

11:ウ、、、 12:ウ。らしい、、ルーターが何たるかを今初めて知った(汗)

13: エ 14:イ 15:ア 16:エ 17:ア? 18:ウ?

19:ウ(31日が28日になる) 20:ウ(10月17日に4月17日を復元するには7カ月分必要) 21:エ

22:ウぅぅっ  23:ウ 24:エ 25:ウ? 26:ア 27:イっぽい

28:エ(http://alleralachasse.blog.ocn.ne.jp/zero/2008/04/q79edi_15c9.html)

29:ウ 30:エ(http://zousan.fc2web.com/maga1/back/148.html)



 25
――
 30

意外といけてた!!