先日書いたSANS「最も危険なプログラミングエラー トップ25」つながりのお話。

今週、米国ニューヨーク州が、「安全なソフトウェアの調達ルールガイド」なるものを策定、公開した。今後、ニューヨーク州の政府機関と取引を行うソフトウェアベンダは、このルールガイドに従い、自社のソフトウェアに「最も危険なプログラミングエラー トップ25」が含まれていないことを証明しなければならないんだって。それには、このリストにあるプログラミングエラーに対するソースコード分析を行い、発見された場合にはもちろん修正し、納入時に「このソフトウェアには、危険なプログラミングエラー トップ25にあるコーディングエラーは一切ありません!!」っていう証明書をつけることが必須。

つまり、ニューヨーク州の政府機関が今後使用するソフトウェアに脆弱性が見つかったとして、その脆弱性を突いた攻撃が行われた場合、脆弱性の原因がプログラミングエラーにあったとすると、その責任はソフトウェアを開発したベンダが全部かぶらなくてはならないわけですよ。責任の所在が、実にはっきりするわけですな。

これに対し、「ソフトウェア開発ベンダに対してセキュリティに関するより厳しいルールを設定すると、ソフトウェアの価格が高騰したり、開発により長い時間がかかるのではないか?」と懸念する専門家も一部いるようだ。しかし、ニューヨーク州の当局員は、「そんなことはない。反対に、安全なソフトウェアを販売しているというセールスポイントになるではないか」と反論する。まぁ、民間企業と違って、政府機関にとってはコストや時間はそれほど重要ではないのかも…

ちなみに、ニューヨーク州は、他の州に対してもこのルールガイドの導入を勧めているようだ。そのうち、日本政府も真似するようになったりして。

SANSでは、このルールガイドについて、「これはあくまでもガイドラインの一つ。実際に契約書を作成する際には、弁護士にきちんと相談すること」としている。さらに、同ルールガイドは「生きている文書」なので、今後改善するためにも、意見やアイデアがどんどん欲しいとのことだ。


さて、どうなることやら…? 今後の動きに注目したい。




今月12日、SANS Instituteから、ソフトウェアの脆弱性の原因となる「危険なプログラミングエラー」のトップ25が発表された。このリストの作成には、米SymantecMicrosoftApple米国土安全保障省の国家サイバーセキュリティ部門米国家安全保障局(NSA)OWASPカリフォルニア大学パデュー大学など、サイバーセキュリティに携わる30もの団体が協力したそうな。それと、日本からは「独立行政法人 情報処理推進機構(IPA)」も参加。その割には、IPAの公式ホームページには、それらしきニュースは載っていなかったけどなぁ。これから載せる予定なのかしら?他に有名どころでは、SecuniaVeriSignRed HatOracleFortifyなんかも名前を連ねてる。

このリストの作成には、様々なもくろみがあるみたいだけど、主には次の4つが挙げられる。

○ 消費者はより安全なソフトウェアを購入できる。
○ プログラマが安全なコードを書く際の基準となる。
○ 教育機関はより自身を持って安全なコーディングを指導できる。
○ 企業経営者が自社のプログラマのスキルを評価する基準となる。

さて、気になるリストだけど、3分野25項目の「最も危険なプログラミングエラー」で構成されている。

【コンポーネント間の危険な通信およびデータ処理】
全部で9件選定されているよ。

1. 入力検証の不備
2. 出力のエンコードまたはエスケープ処理の不備
3. SQLインジェクション 
4. クロスサイトスクリプティング
5. OSコマンドインジェクション
6. 機密情報を平文で送信
7. クロスサイトリクエストフォージェリ
8. 競合状態
9. エラーメッセージ情報の露呈

【危険なリソース管理】
こちらも全部で9件。

10. バッファオーバーフロー
11. ステートデータを外部に格納
12. ファイル名やパスに外部から入力された値を使用
13. 信頼できない検索パス
14. コードインジェクション
15. 検証チェックせずにコードをダウンロード
16. リソース解放の不備
17. 初期化の不備
18. 誤計算

【穴だらけの防御】
こちらは7件。

19. アクセス制御の不備
20. 脆弱な暗号アルゴリズムの使用
21. ハードコードされたパスワード
22. 重要なリソースに対する不適切なパーミッションの付与
23. 十分にランダム化されていない値の使用
24. 不必要な特権での実行
25. サーバサイドにおけるセキュリティチェックの不備


プログラマーは、これら25項目を含まない安全なコードの書き方をマスターする必要があるんだって。

各項目に関する詳しい説明などは、SANSの情報を参考にしてね音譜




先週、ニューヨークで開催されたサイバーセキュリティに関する国際カンファレンスで、39歳の主婦が自身が「サイバー・スパイ」であることを告白した。

まぁ、主婦といっても、そんじょそこらの主婦ではないけどね。この金髪のオバサン(イヤ、金髪は別に関係ないけど)、2001年9月11日に発生した同時多発テロ以降、独学でアラビア語を学び、テロリストを摘発するためにその手のWebサイトやチャットルームに潜入してたんだって。子供が寝ている間の夜や明け方に、自宅のパソコンから粛々と潜入捜査を実行してたらしい。25人以上のテロリストになりすまし、計画されているテロ攻撃やテロリストの潜伏場所なんかを突き止めた。これら情報は然るべき機関に提供され、これまでに2件のテロ関連事件の解決に役立ったという。また、その他のテロ事件についても、解決までには至っていないが、有用な情報を提供したとして評価されている。

彼女は、FBIの主催するこのカンファレンスで、マシンガンを構えて威嚇しているアラブ系の男、テロ教育係と名乗るアラブ系の男、アルカイダのメンバー斡旋担当者の男などの写真を映し、「これ、全部アタシ。ネット上で作り上げた、この世には実在しないスパイ軍団なの。他にも沢山いるわ。」と、400人の聴衆に向かって言い放った。「テロリストを理解するには、自分もテロリストのように考え、行動するしかないと思ったの。」

でも、やっぱり一人で潜入捜査をするのには限界があるようだ。5000を超えるといわれるテロ支援Webサイト。全てを監視、把握するのは容易じゃない。それに、1つや2つ潰したところで、また別の新しいのが出現するだろうし。


スパイかぁ...

映画の中のことみたいで現実味がないけど、実際にこういう人が世界中には沢山いるんだろうな。もちろん、彼女とは反対に、悪人のために働くスパイもいるわけで...

ジェームス・ボンドみたいに派手なスパイだけとは限らないんだよね。サイバー・スパイって、どちらかと言えば地味かも。それでも、その人の心次第で「善人」にも「悪人」にもなる。 怖い、怖い...