• IIS & ASP 向け検査・対策ツールを公開

    小野寺です。

    ニュースとしては、比較的下火になっているかもしれない、SQL インジェクションの対策が済んでいないサイトが、まだまだ、残っています。 しかし、実際に対策を進めてみると「検査方法が分からない」「開発元がもうすでに・・・」「色々有ってコードが変更できない」といった様々なフィードバックというか悩みがでてきます。

    現在のSQL インジェクションの問題の怖いところは、侵害されたサイトが、そのサイトの利用者にも被害を伝播させるところです。そして利用者側で自衛するのは大変難しいと言えます。現在発見されている多くのパターンは、セキュリティ更新を適用しておけば被害を受ける可能性は低くなりますが、ゼロではありません。
    将来、もしも未知の脆弱性が発見された場合、この多数のSQL インジェクションに耐性のないサイト群が犯罪者にとって都合のよい犯罪のプラットフォームになってしまう事も考えられます。

    ということで、少なくとも先ずは、自分のところから何とかしようということになりまして、Internet Information Services (IIS) と ASP の対策・検査ツールを新たに提供することにしました。 (前置きが長かったです。)


    1. Microsoft Source Code Analyzer for SQL Injection (SQLインジェクションに関するソースコード分析ツール)
      このツールは、ASP のソースコードを静的に分析して、SQL インジェクションの原因となるような未検証の外部入力や、外部入力を直接使った SQL コマンド/ステートメントの構築等々を検出します。
    ツールでは、以下の6種類の点について検査し、警告を出力します。

    • 80400 – Possible SQL Injection vulnerability through data that is read from the Request object without any input validation.  These warnings are very likely bugs that must be fixed.
    • 80406 – Possible SQL Injection vulnerability through data that is read from the Request object where the input is passed through some unknown function calls that might perform data validation. If there is no data validation done inside the function call, then these are likely bugs else these are likely false positives.
    • 80403 – Possible SQL Injection vulnerability through data that comes from a backend server. If the data is controlled by an end user through some other web page then these are likely bugs. But if the data is well trusted then these may not be bugs. It is still a good practice to parameterize these queries as a defense in depth.
    • 80407 - Possible SQL Injection vulnerability through data that comes from a backend server and is passed through some unknown function calls. If the data is controlled by an end user through some other web pages and if there is no data validation performed on this data, then these are likely bugs.
    • 80420 – Possible SQL Injection vulnerability through function parameters. These warnings are generated at function scope, so if the function parameter values come from trusted sources then these are false positives. If the parameter values are controlled by end users then these are very likely bugs. You can use __sql_pre_validated annotation on the function parameters to detect if end users can reach this code.
    • 80421 – Possible SQL Injection vulnerability through function parameters and the function parameters are passed through some unknown function calls that might perform data validation. You can use __sql_pre_validated annotation on the function parameters and __sql_validate on validation function to detect if end users can reach this code.

    既存の ASP で一度、どんな項目が検出されるかチェックしてみてもよいかもしれません。
    使い方は、以下の様な感じで、検査対象の ASP ソースを指定するだけです。 ツールは、自動的にページ遷移を追いかけませんので、複数の ASP ファイルが有る場合は、個別に検査する必要が有ります。

    msscasi_asp.exe /input="default.asp"


    2. URLScan の新バージョン (3.0 ベータ)
      今までも、URLScan で不正なリクエストをある程度拒否する事が出来たのですが、最近のSQL インジェクション攻撃を防ぐののに便利なオプションを追加しました。
      まだ、ベータという扱いですが、既存のコードに一切手を入れることなくリスクを減らすことが可能です。 とはいえ、脆弱なコード、このツールを導入しても脆弱なままですし、すべてのケースで防げるとは限りません。 URLScanは、本来は「コードが対策済みで、もし、脆弱性が見つかっても」不正なリクエストを拒否する事で、実際の被害にはつながらない様にするためのリスク要因緩和ツールです。
     決して、コード上の脆弱性対策の恒久的な代替え手段ではありません。

  • 日本は安全か? - Security intelligence Report Vol4

    小野寺です。

    突然ですが、日本は安全な国なんでしょうか? もちろんIT的な意味でです。 感覚的には「絶対に安全とは言い切れない」人がほとんどだと思います。 そこで、弊社CSAの高橋の記事でも紹介していますが、2007年下半期の「悪意のあるソフトウェアの削除ツール(MSRT)」等の実行結果を基に各国のマルウェア感染率(感染したPCの検出率)を地図にしたものが以下になります。

    意外に感じるか、当然と感じるかは人それぞれだと思いますが、日本だけが緑いろになっており最も低い感染率を示しています。この地図では、赤くなるほど感染率の高いエリアであることを示しています。 白は、データ不足の地域です。 具体的には、日本は 685台の1台の割合で感染してしていますが、最も感染率が高かったアフガニスタン(Afghanistan)では、17台に1台の確立となっています。幾つか他の組も見てみると、韓国(Korea)が 1/67台、ロシア (Russia)が 1/88台、米国 (United States) が 1/112台、中国(China)が1/214台となっています。ちなみに、低感染率2位は、セネガル (Senegal) で、1/372台となっています。 そして、世界平均では、1/123台となっています。こうみると、相対的に日本は世界の中で結構安全な国というか、安全な運用を心掛けている国と言えると思います。 もしかすると、心掛けているというよりは、守られている国と言えるのかもしれません。というのも、日本には、サイバークリーンセンターの活動があり、国、ISP、セキュリティベンダーが連携して各端末を1台づつケアしていくという世界的に類を見ない取り組みが行われているためです。(詳細は、SIR 第4版の英語版 (MS_Security_Report_Jul-Dec)をみてください。)

    しかし、この日本の1/685台が「安全!」と言い切るのに十分かというと、少し疑問が浮かびます。日本でMSRTが実行されているPCの台数を考えると、まだまだ気を抜くわけにはいかないと感じています。そして、最近の傾向としてこのようなマルウェアによらない、フィッシング等の詐欺的な手法にもさらに注意を払っていかなければなりません。

    話をマルウェアに戻して、日本国内でどのような種類のマルウェアが跋扈しているかを見て見たのが、左のグラフです。 最も高いのが Worm の26.71%ですが、2007年の上半期から、Trojan Downloaderが急速に伸びており、25.90%に達しています。このダウンローダーが結局 WormやTrojanをダウンロードして感染したり、別のDownloaderをさらにダウンロードしたりと、複雑な状況を作り出しています。 また、検出を難しくする要因になっていたりもします。

    文書ファイルの脆弱性を悪用し侵入するマルウェアも Trojan/Downloaderが多くなっており、その後にダウンロードされてるマルウェアは刻々と姿を変えています。このような状況を考えると、マルウェア対策は今まで通りしっかりと実施しつつ、Office用のMOICEの導入や、一度ゲートウェイやクラインでのチェックをすり抜けたファイルが保存されていても大丈夫なように、ファイルサーバーや、文書共有サーバー上での定期的な検査などの多層的な防御を検討してみたいところです。また、Web経由で脆弱性を悪用して侵入するマルウェアの多くも Downloaderです。こちらについては、基本に立ち返り、OSを含めて常に最新の更新を必ず適用することです。 そして、アプリケーションの更新も忘れないようにしないといけません。 極端ではありますが、更新機能のないアプリケーションや、情報発信に問題のある提供元のアプリケーションは、今後使用について検討が必要なのかもしれません。 もちろん、更新をする必要がないのが最高なのですが、人間の作るものですから、更新の必要がある前提で考えていった方がより安全なのかもしれません。

     では、実際にどのマルウェアが日本で流行っているTop5なのかを調べてみたのが、下のグラフです。

    一位は幸か不幸か、Antinnyではありません。一時話題となった CnsMin が最上位に来ています。これは、スパイウェアなのですが、たまたま国内で同じコンポーネントを使った、スパイウェアではない製品があった事も要因の一つかもしれませんが、8.6%とそれなりの比率を占めています。2位が Zlobの 4.3%、3位がAntinny の 3.9%となっています。 Antinny がいまだに日本の全検出数の 4% 近くを占めると思うと、まだまだ啓発が行き届いていない事がうかがえてしまいます。「永遠のビギナー」ということばもありますが 、技術やプロセスも絡めて、何とかしたいと思いつつ、一足飛びでは対策できない数字なのだと重さを感じてしまいます。


    しかし、そう悲観したする必要もないことが、以下のTop5を月別推移をグラフ化したものでわかります。諸々の事情で数値は省きますが、横軸ひとつで万単位だと思ってください。

    これを見ると、Antinnyは一月からみると、減少傾向にあることがわかりますが、依然として結構な数が検出されています。 CNSMinの検出も非常に興味深いものがあり、なぜか昨年の夏ごろに乱高下していました。これについては、理由は明確ではないのですが、現在は緩やかに減少傾向になっています。ただ、グラフには出ていませんが、国内のスパウェアの状況をみると、もう少しスパイウェアの対策が進む必要がある様に感じています。このスパイウェアがまた、厄介で情報の流出の危険ももちろんありますが、システム(PC)を中途半端に不安定にします。ブルースクリーンの原因の多くがスパイウェアであった時期もあります。また、Internet Explorerの異常終了、動作の遅さの原因になっている場合も多く報告されています。こういう背景もありWindows Vistaでは、スパイウェア対策ソフトのWindows Defenderを標準機能としています。XPでは残念ながら、Windows Defenderをダウンロードして導入する必要があり、これを知っているユーザーはまだまだ十分ではないと言わざるを得ません。または、この辺が難しいと感じる場合は、ISPが提供するセキュリティサービスに一任してしまうのも手だと思います。

    シマンテックの調査では、「保存データがすべて失われたりした時のストレスは失恋を上回る」という面白い結果もでており、もし、マルウェア等により写真等のデータが失われれば相当にいやな思いをするということです。 そうなる前に対策を打つか、いやな思いをしてから反省するかは利用者次第・・・とは言いたくないので、以下の3点で〆ておきます。

    1) Microsoft Update を実施し、できれば自動にしてしまう
    2) マルウェア対策スパイウェア対策をするソフトを導入するか、ISPのサービスを導入する
    3) ファイアウォールをオフにしようなんて考えない

    次のSecurity Intelligence Report は、2008年上半期を分析したものになりますが、そのときには、さらに日本の感染率が低くなっていることを祈ります。

  • アドバイザリ 953818 更新 - Safariのsecurity update提供開始

    小野寺です。

    すでに、ニュース等で報じられていますが、Safaiのsecurity updateが公開され、アドバイザリで言及していた、複合的な脅威のSafari側が対処されたことになります。 それに伴い、セキュリティ アドバイザリ 953818 を更新しました。

    Safaribのsecurity updateに関する詳細は、About the security content of Safari 3.1.2 for Windows を見てください。これを書いている時点では、残念ながら日本語情報は見つけることができませんでした。
    日本語版アドバイザリを更新するに当たり、日本語環境で更新があるのか一応確認してみましたが、Apple Software Updateを通じて、日本語環境でもsecurity updateが配布されているようです。 しかしながら、この更新プログラムをそのままインストールすると、Quick Timeなどのいくつかの新しいソフトウェアもインストールされるみたいですね。特に必要としてい場合は、チェックを外してから 「n項目をインストール」ボタンをクリックすると、使用許諾書が表示され同意すると、インストールされるようです。

    Safariがインストールされている環境では、security updateをインストールしておいた方が良さそうです。

  • MS08-030 - 更新プログラム V2

    小野寺です。

    MS08-030 (Bluetooth) を本日改訂して、更新プログラムの新バージョン(v2)の提供を始めました。
    Windows XP SP2/3 のx86(32bit)版 について、数名の専門家から対策が十分ではないとの指摘を頂き、これに対処したものです。そのため、Windows XP 32bit版環境では、必ず再適用の必要があります。

    今回、影響があるのは、Windows XP の32bit版のみとなり、Windows XP 64bit版, Windows Vista は最初に提供した更新プログラムのままで問題ありません。

    影響を受ける環境では、Microsoft Updateを通じて新しい更新が提供されます。 新しいv2更新がインストールされた環境では、「プログラムの追加と削除」に"Windows XP セキュリティ更新 (KB951376-v2)"が追加されます。
    また、ファイルバージョンが以下のようになります。

    ファイル名 バージョン (v1) バージョン (v2) フォルダ
    bthport.sys 5.1.2600.3351 5.1.2600.3389 SP2GDR
    bthport.sys 5.1.2600.3351 5.1.2600.3389 SP2QFE
    bthport.sys 5.1.2600.5580 5.1.2600.5620 SP3GDR
    bthport.sys 5.1.2600.5580 5.1.2600.5620 SP3QFE

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

    小野寺です。

    セキュリティ デベロップメント (SDL: Security Development Lifecycle) って本当にやってるの?
    ということを、聞かれることがあるが、実は結構真面目にやっていたりします。 この辺りの現場の声を Web Application Security Forum の2日目 (7/5) で話すことになりました。
    といっても、話すのは私ではなく、ソニーの松並氏 とマイクロソフト最高技術責任者の加治佐が、開発の現場経験から話していきます。きっと、生々しい話になるのだろうと思っています。

    私もその場で聞いてみたいのですが、その日はMicrosoft Security Response Alliance Conference に出席するために、シアトルに居る予定なのです。

    そのほかにも、過去の事例から多くを学んだ企業がその経験を話すようなプログラムが組まれていたり、開発者向けのセッションも内容が濃くなっているようです。

    最近の事件・事故やセキュリティの動向をみていると聞いておくべき内容になっているのではないでしょうか。