開発プロセス

安全なソフトウェア開発が改めて重視 – SDL 導入の手始めに役立つガイドライン

近頃、セキュリティ業界の会合やお客様との会話の中で、マイクロソフトのセキュリティ開発ライフサイクル (SDL) [i] が改めて注目を集めていると感じます。インターネット空間におけるサイバー攻撃がますます高度化かつ巧妙化する中、組織の資産をセキュリティ製品だけでは守っていけない状況は多く、ソフトウェアそのものの脆弱性をなくすこと、特に自社開発製品についてきちんと見直しを行い、より強固なソフトウェアやサービスに変えていくことが求められています。 図 1: SDL 開発プロセス   2002 年提唱の「信頼できるコンピューティング」から 10 年、マイクロソフト製品は常に研究者や悪意のあるクラッカーのハッキング対象となってきました。長年に亘るそのような状況にも鍛えられ、また徹底した SDL により、マイクロソフト製品のセキュリティは確実に向上しています。下図 2 は製品ごとの、1000 台の PC における感染 PC 台数を示していますが、より新しい製品ほど、感染率が下がっていることがわかります。 図 2: Windows OS 毎の感染率 (Security Intelligence Report v.11 より)   何から始めれば良いか? Microsoft SDL の簡単な実装というドキュメントを公開しています。ソフトウェア開発に完全な SDL フレームワークを導入するには、相応のリソースやコストが必要で、時間もかかります。このドキュメントでは SDL に準拠するための必要最小限のプロセスを説明しています。 たとえば「SDL 最適化モデル」は、以下 5 つの機能領域に基づいて構成されており、各領域におけるプラクティスと機能について 4 段階の成熟度 (基本、標準、高度、動的) を定義しています。このドキュメントでは、”高度” レベルの成熟度を実現するために必要なタスクとプロセスを重点的に説明しています。 トレーニング、ポリシー、および組織の機能 要件と設計 実装 検証 リリースと対応 …

安全なソフトウェア開発が改めて重視 – SDL 導入の手始めに役立つガイドライン Read More »

MS09-029のスプーラーの件と MS09-034 & MS09-035の更新

小野寺です。 先日、定例外でリリースしたMS09-034とMS09-035、それとMS09-029を更新しました。また、MS09-035について幾つかコメントももらっているのでその辺も含めて少し書いておこうと思います。 MS09-034:韓国語版のInternet Explorer 6 Service Pack 1 (Windows 2000用) で、印刷に関する問題が発見されたため、セキュリティ更新プログラムを再リリースしました。この現象および、再リリースは、韓国語版に対してのみのものですので、日本語版や英語版を使っていお客様には影響はありません。 MS09-035:製品バージョン毎に幾つかのセキュリティ更新プログラムを提供していますが、その中に、再頒布可能パッケージ用のセキュリティ更新プログラム(KB973544, KB973551, KB973552)があります。 また、Microsoft Updateでは、これらの再頒布可能パッケージ用のサブセット版として、ATLに関する脆弱性に対応する、「ATL に関するセキュリティ更新プログラム (KB973923, KB973924)」を配信しています。このどちらを適用しても、脆弱性に対処できるのですが、Microsoft Update側では、、「ATL に関するセキュリティ更新プログラム」が、適用されているかどうかを検出して、配信の有無を判断していました。結果、「再頒布可能パッケージ用のセキュリティ更新プログラム」を適用している場合に、MBSAで、更新が適用されていないと判断されたり、Microsoft Updateで、再度、「ATL に関するセキュリティ更新プログラム 」が配信される事がありました。今回のMicrosoft Update側の検出ロジックを修正しその問題に対処しています。配信しているパッケージ自体に変更はありませんので、すでに更新を適用している場合は、特に対応の必要はありません。 MS09-029:すでに、ご存知の方もいると思いますが、Windows 2000, XP または Windows Server 2003 のセキュリティ更新プログラムを適用することで、印刷スプーラーが異常終了する事例の報告を受けています。MS09-029に既知の問題が発見された事をお知らせするために、セキュリティ情報を更新しています。 印刷スプーラーの件については、対応の準備が整い次第、プロダクト セキュリティ警告サービス等を通じてお知らせする予定です。    

2009年7月29日のセキュリティ情報 (定例外)

小野寺です 2009年7月24日に事前通知でお伝えした通り、定例外で、セキュリティ情報 計2件 (緊急 1件, 警告 1件)を公開しました。また、今回の2つのセキュリティ情報について説明するセキュリティ アドバイザリも1件合わせて公開しています。 セキュリティ情報 (新規):概要情報、展開に関する情報、および脆弱性悪用指標(Exploitability Index)を、以下のサイトにまとめています。 7月の月例リリース分と今回分をまとめて一つにしています。http://www.microsoft.com/japan/technet/security/bulletin/ms09-jul.mspx MS09-034 (Internet Explorer):特別な細工が施されたWebサイトやメール上のコンテンツを参照することで、リモートでコードが実行される可能性があります。今回対応した3つの脆弱性は、どれも悪用・公開はこのBlogを書いている時点では確認されていません。 そのため、これら3つの脆弱性が、定例外のリリースの理由ではありません。 とはいえ、深刻度が緊急の脆弱性ですから、早急な適用をお勧めします。今回定例外のリリースを、行ったのはこの更新プログラムに、将来的な安全性をより高めるために、新しい多層防御機能を追加している事に関連しています。 詳しくはもう一つのセキュリティ情報MS09-035とセットで説明する必要があるため、後述します。 MS09-035 (Visual Studio/ATL):脆弱なATL (Active Template Library)を使って開発されたActiveXコントロールを通じて、ActiveXコントロール関連の本来のセキュリティ機能が迂回される可能性があります。結果として、コードの実行等につながる可能性があります。さて、ATL等を使った事がある方は、お気づきかもしれませんが、この脆弱性は、Visual Studioが攻撃の対象となるわけではありません。 Visual Studioに付属するATLを使用して、開発されたActiveXコントロールなどのコンポーネントやコントロールが影響を受けます。 その際の現実的な攻撃経路 (Attacking vectorといいます)として、特別な細工が施されたWebサイトから、影響を受けるActiveXコントロールが呼び出される場合です。 この辺の関連は、MS09-034とセットで必要があるため、後述します。MS09-035は、今後、脆弱性の影響を受けないコントロールやコンポーネントを開発できるように、ATLを更新してATL内の脆弱性に対処しています。そのため、影響を受ける可能性のあるコンポーネント開発者は、MS09-035の更新プログラム適用後に、該当コンポーネントを、リビルドする必要があります。 セキュリティ アドバイザリ (新規): セキュリティ アドバイザリ (973882): Microsoft ATL (Active Template Library) の脆弱性により、リモートでコードが実行されるMS09-034 および MS09-035に関連します。 マイクロソフトの開発環境である Visual Studioには、ATL (Active Template Library)と呼ばれるC++のクラスライブラリが付属しています。このATLのコードが原因となって、このライブラリを基に開発されたコンポーネントが脆弱な状態になる場合があります。このATL自体の脆弱性に対処したのが、MS09-035です。主に開発者向けの更新プログラムです。 開発者の方はMS09-035を適用したのちに、コンポーネントをリビルドすることで、この脆弱性を開発したコンポーネントから排除することができます。 この脆弱性の影響を受けるかを開発者が判断する方法は、MSDNサイト (http://msdn.microsoft.com/ja-jp/ee309358.aspx) をご覧ください。 この脆弱性は、脆弱なATLによって開発されたコントロールやコンポーネントでも発生し、攻撃の経路としては、Webを参照することによる影響を受けるActiveXを悪用した攻撃が考えられます。MS09-034は、ATLに関するもの以外のInternet Explorerの脆弱性に対処していますが、それと同時に、このATL脆弱性の影響を受けるActiveXがInternet Explorerを通じて悪用される事を防ぐための多層防御機能を新たに追加しています。この多層防御機能は、ActiveXの動作を監視し、今回の脆弱性が悪用される事を阻止します。 そのため、多くのユーザーは、Internet …

2009年7月29日のセキュリティ情報 (定例外) Read More »

セキュリティ デベロップメント “ライフサイクル”:裏側と表側

小野寺です。 セキュリティ デベロップメント (SDL: Security Development Lifecycle) って本当にやってるの?ということを、聞かれることがあるが、実は結構真面目にやっていたりします。 この辺りの現場の声を Web Application Security Forum の2日目 (7/5) で話すことになりました。といっても、話すのは私ではなく、ソニーの松並氏 とマイクロソフト最高技術責任者の加治佐が、開発の現場経験から話していきます。きっと、生々しい話になるのだろうと思っています。 私もその場で聞いてみたいのですが、その日はMicrosoft Security Response Alliance Conference に出席するために、シアトルに居る予定なのです。 そのほかにも、過去の事例から多くを学んだ企業がその経験を話すようなプログラムが組まれていたり、開発者向けのセッションも内容が濃くなっているようです。 最近の事件・事故やセキュリティの動向をみていると聞いておくべき内容になっているのではないでしょうか。

Secureity Development Lifecycle

小野寺です。 本日、Security Development Lifecycle (SDL) Guidance が公開されました。  http://www.microsoft.com/downloads/details.aspx?FamilyID=2412C443-27F6-4AAC-9883-F55BA5B01814&displaylang=en 思い起こせば、2001年の頃に始まった SD3+C (Secure by Design,  by Default and in Deployment + Communication)が、発展して SDL になりました。現在の形になるまで、紆余曲折がいろいろあったのですが、現在は、Microsoftの色々な製品の色々な開発スタイル・プロセスに融合して製品・サービスのセキュリティを確保する基礎となっています。Windows Vista も、今回公開された SDL v3.2をベースに開発がおこなわれています。 現在は、オンライン版も書籍も英語ではありますが、ぜひ一読いただきたい資料です。(個人としては、ぜひ日本語化したいと思っています)今月末に開催される、RSA Conference 2008 に、この SDL を担当している Eric Bidstrup を招聘していて SDLを如何にして浸透させたか等を話してもらうことになっています。同時通訳でお送りしますので、開発、品質管理、プロジェクト管理等に係る方にはお勧めです。   マイクロソフトのセキュリティ開発ライフサイクル―より安全なソフトウェアの構築  https://rsacon2008.smartseminar.jp/public/session/view/60  このあたりの情報も、今後おりを見て日本語サイトで公開していきたいな・・・