「ゼロデイ攻撃」を含む日記 RSS

はてなキーワード: ゼロデイ攻撃とは

2023-03-17

anond:20230314111504

俺は騙されないぞって思って、 そのURLを開くと、

ブラウザセキュリティホールを突かれて、ゼロデイ攻撃によって、

ウイルス対策ソフト無効化され、トロイランサムウェアインストールされるんよ。

ブラウザを最新にしておくことも大事だけど、それだけでは絶対に防げない。

から少しでも怪しいと思ったら、押してはダメだ。

2022-08-27

応用情報勉強してるが、ゼロデイ攻撃、とか覚えて何の意味があるのだろうかw

2021-12-31

貴社のテレワークに最適なVDI 代替の選定ガイド

VDI(仮想デスクトップ代替ソリューションの分類や、それぞれの仕組み、検討ポイントなどを解説する本連

載「テレワーク時代Web 分離入門」。 第1 回、第2 回でテレワークWeb 分離の方式の特徴を解説しました。

最終回となる今回は、方式レベルでの選定方法を紹介します。

今回のゴール

用途観点で各方式を分類すると下図のようになりますが、どんな組織にも共通する「おススメの方式」はあ

りません。

(出典:ネットワンシステムズ

今回は、読者の皆さんが自組織マッチする方式を選定できる状態をゴールとして、「結局、 どれを選べばいい

のか」という疑問に回答します。

フローチャートで分かる、

貴社のテレワークに最適なVDI 代替の選定ガイド

VDI 代替ソリューションの分類や、それぞれの仕組み、検討ポイントなどを解説する連載。最

終回は、VDI 代替ソリューション方式選定における 4 つのポイント解説して、各方式を比

します。

(2021 年03 月04 日)

26 →目次に戻る

4 つのポイント

これまで多くのユーザーと会話してきた経験から、おおよそのケースで次の4 つのポイント論点が集約されます

1. ブラウザだけで業務が完結するかどうか

2. データを処理するマシンローカルマシン大丈夫かどうか

3. データを処理するマシン物理PC大丈夫かどうか

4. 実行環境が分離されている必要があるかどうか

これらを基に、方式選定に使えるフローチャートを作ってみました。

(出典:ネットワンシステムズ

ポイント 1】ブラウザだけで業務が完結するかどうか

ブラウジングだけを安全に実行できればよいのか、それともブラウザ以外のアプリ安全に利用させたいのか」

という業務特性に関わる要件です。

テレワーク用途では、前者でよければセキュアブラウザ方式に、後者でよければそれ以外の方式にふるい分け

できますWeb 分離用途では、前者が仮想ブラウザ方式後者がそれ以外の方式となります

27 →目次に戻る

ポイント 2】データを処理するマシンローカルマシン大丈夫かどうか

次に、「 情報漏えい対策をどこまで強固なものにしたいか」という観点での要件です。

プログラムの実行環境が手元のPC となる場合データも手元のPC に保存されます。つまり、手元のPC

まれ場合、保存されているデータも盗まれしまます

ディスク暗号化している、生体認証有効にしている、だから大丈夫」と言い切れるならいいかもしれません

が、「技術進歩によって将来的に突破されるかもしれない」といった懸念払拭(ふっしょく)できない場合、仮

デスクトップ方式リモートデスクトップ方式のように、遠隔にあるマシン上で作業できる仕組みを導入する必

要があります

その一方、将来の懸念よりも、例えばコストなど別の部分を重視したい場合は、会社PC 持ち帰り方式VPN

方式)やアプリラッピング方式マッチするでしょう。

なお一般的に、リモートデスクトップ方式VPN 方式テレワーク用途のみで導入されますが、仮想 デスクトッ

方式アプリラッピング方式は、テレワークWeb 分離、どちらの用途にも利用できます

ポイント 3】データを処理するマシン物理PC大丈夫かどうか

ポイント 2】で「遠隔にあるマシン上で作業させたい」となった場合は、3 番目の検討事項として、業務継続

性を考えるとよいでしょう。

リモートデスクトップ方式場合、社内の自席にPC物理的に存在することが前提です。そのため、自席 PC

故障したときに「何もできない」状況になります

一方、仮想デスクトップ方式場合マシン仮想化されており、多くの環境において仮想マシン動作してい

サーバ群はn +1 などの方式冗長化されています。そのため、非常に強い障害耐性があります

障害耐性を高めたい場合は、仮想デスクトップ方式ベストです。業務が停止するなどのリスク運用でカバー

できる場合は、リモートデスクトップ方式を選ぶことになるでしょう。

28 →目次に戻る

ポイント 4】実行環境が分離されている必要があるかどうか

ポイント 2】で「手元のマシン上で作業させてもOK」となった場合、3 番目の検討事項として、再度情報

えい対策について考えます。【 ポイント 2】では、PC ごとデータが盗まれしまった場合を想定しましたが、ここ

ではプログラムの実行そのものに対するリスク検討します。

手元のPCプログラムを実行するということは、つまり「端末の脆弱(ぜいじゃく)性を突いたゼロデイ攻撃

を受けるリスク存在する」ことです。脆弱性を突いた攻撃を受けると、多くの場合情報を抜き取られてしま

ます

従って、例えば VPN 方式を導入する場合、「EDR(Endpoint Detection and Response)で脆弱攻撃

策を実装する」「端末のロックダウン化によってデータを保存させない」「実行できるプログラム制限する」「屋

外の公衆Wi-Fi を利用できないように制限する」「多要素認証を導入する」などの対策を併せて導入する必要

あります

このような徹底した対策継続して運用できる組織に限っては VPN 方式有効選択肢ですが、筆者としては

安易VPN 方式の導入を推奨することはできません。

VPN 方式安価かつ容易に導入できるので、昨今のテレワーク需要高まる状況では、多くの組織上記のよ

うな徹底した対策を取らずに導入してしまったと思います。取 り急ぎの暫定処置としてVPN 方式を導入してしま

場合は、これを機に腰を据えて見直してみてはいかがでしょうか。

• 参考リンク日本経済新聞「在宅時代落とし穴 国内38 社がVPN不正接続被害

また、国内に限った話ではありませんが、Verizon Communications のレポートによると、やはりVPN トラ

フィックが増加傾向にあるようです。VPN 方式の普及に伴って、悪意ある攻撃者による被害数も増加すると思い

ます

• 参考リンク:Verizon Communications「Verizon Network Report」

29 →目次に戻る

それぞれの方式比較

ここまで、要件ベースとした考え方を記載しました。選定すべき方式が大まかに見えてきたところで、ここか

らはそれぞれの方式を横に並べて、共通の項目に沿って比較します。

この比較によって、方式選定の次のステップとなる製品選定において「見落としがちな落とし穴を見つけて対策

を考える」といった検討を具体的に進めることができると思います

以降の表の見方説明しておきます。緑塗りのセルポジティブな内容、赤塗りのセルネガティブな内容、黄

塗りのセルはどちらともいえない内容です。また、それぞれの表の下部には、主に赤塗りのセルに関する特記事項

記載しています

なお単純に、緑塗りセルの多い方式が優れているわけではありません。対象業務の内容やコスト運用体制、セ

キュリティ業務継続性など、いろいろな観点からトレードオフ方式を選定することになります

できる作業

(出典:ネットワンシステムズ

仮想ブラウザ方式とセキュアブラウザ方式では、例えばファイルサーバ操作といった、ブラウザ以外のアプリ

は使えません。多くの場合Windows統合認証など Windows依存する機能も利用でません。

また、印刷に関しても確認必要です。製品ごとにサポート内容に差が出るポイントなので、方式選定の次の

ステップとなる製品選定の段階で確認した方がよいでしょう。

30 →目次に戻る

コスト

(出典:ネットワンシステムズ

会社PC 持ち帰り方式VPN 方式)とリモートデスクトップ方式は、端末のアップデート故障時の交換など、

端末台数が増えるに従って、それに対応できる人員数を確保する必要があるので、運用コストが増大する傾向に

あります

その半面、仮想デスクトップ方式は初期コストが高額ですが、メンテナンス対象マスター OS のみであり、仮

マシンを一気に展開できるので、運用員の集約化が可能です。

VDI の運用ナレッジ豊富SIer に依頼することで、作業内容の質を落とさずにコスト圧縮できる効果が期

待されます

運用

(出典:ネットワンシステムズ

仮想ブラウザ方式アプリラッピング方式、セキュアブラウザ方式は、「 Web ページが正常に表示されるかどう

か」などの動作確認を、あらかじめ実環境実施しておく必要があります。この動作確認は、運用フェーズにおい

ても継続する必要があります

また、特に仮想ブラウザ方式は、「 ブラウザタブを開き過ぎるとサーバ基盤の負荷が高騰して Web ページの閲

覧速度が急激に低下する」といったサイジング関連のトラブルが発生しやすくなります

31 →目次に戻る

セキュリティ

(出典:ネットワンシステムズ

マルウェア対策については、会社 PC 持ち帰り方式VPN 方式)やリモートデスクトップ方式仮想デスクトッ

方式は、EDRアンチウイルスソフトの導入などが別途必要です。一方、仮想ブラウザ方式アプリラッピン

方式、セキュアブラウザ方式は、「 利用終了後に環境ごとデータを削除する」「 exe 形式ファイルの実行を禁

止する」などの機能を標準で実装しています

重要情報の盗聴については、リモートデスクトップ方式仮想デスクトップ方式仮想ブラウザ方式(画面転送

型)は、画面転送型なので、暗号化通信が仮に復号されたとしても、実データが盗聴されることはないという強

みがあります

最後に、不正アクセスについては、多要素認証システムと組み合わせるなどの対策がどの方式でも必要です。

ログインに関わる操作が増えることで利便性は低下しますが、昨今の状況を鑑みると、多要素認証の導入は必須

といえます

おわりに

これで 3 回にわたる連載は終了です。いかがだったでしょうか。

セキュリティ利便性トレードオフ関係にありますが、筆者は「仮想デスクトップ方式」と「仮想ブラウザ

方式」がバランスの良い方式だと思います

仮想デスクトップ方式仮想ブラウザ方式は、「 導入によってセキュリティレベルを大きく低下させることはな

い」という点が最大のポイントです。その上で、仮想デスクトップ方式には「従来のクライアント OS と同じよう

に利用できる」という汎用(はんよう)性の高さがあり、これが他の方式より優位な点となっています。一方、仮

ブラウザ方式は、用途限定されるものの、ユーザーにとっては利便性が高く、初期コスト観点では仮想デス

トップよりも導入しやすいので、Web 分離の第一候補になってくると考えます

2021-12-10

ゼロデイ攻撃っていうけど

べつに平然と包丁隠し持ってぶっ刺せる世の中なんだし

気にしてもしょうがなくね

2021-04-08

anond:20210408192026

既知の穴がなくてもいずれ発見されてゼロデイ攻撃とかもあるし

基本的差し込み口の類に私物指すのはNGになるよね

2017-11-07

はてなブックマーク - Twtterに「1ツイート3万5000字」可能なバグ。発見者はフォロワーのTL崩壊招いたとしてアカウント停止 - Engadget 日本版

仮にブコメ10万字書けちゃう不具合あったとして

ゼロデイ攻撃でそれをやられてお気に入りページがクソ重くなって開かなくなったりしたとするじゃん。スクロールバーが米粒になる系の。

で該当アカウント一時停止復旧の流れ。

そしたら

なんてとりあえずの解決小一時間かかるだろって感想じゃなくて

該当アカウントに対して「もっといいバグの伝え方あるだろ死ね」って思うな俺は。

2016-04-26

OAuthのことを1ミリも知らない俺が

OAuth ディスの記事を酒の勢いで訳してみたゾ。前半はつまらないから、「章のまとめ」か、それ以降だけ読むといいゾ。なぜか後半が切れてた。こっちだけでいいゾ anond:20160426145507 anond:20160426150324

http://insanecoding.blogspot.com/2016/04/oauth-why-it-doesnt-work-and-how-to-zero-day-attack.html

OAuth がうまくいかない理由と、既存サービスゼロデイ攻撃方法

OAuth とは

認証 (authentication: 本人確認) と承認 (authorization: 権限付与) のシステムを設計し、API を規定し、複数の異なるシステムを統合するために用いられる提案をまとめたものです。

OAuth には色々な種類があり、version 1.1a や 2、その各部の上に他の規格を乗せたものなどが存在します。世の中に出回っている数々の実装によって、具体的な利用状況は大きく異なります。

おことわり

前にも OAuth について書いたことがあり、たくさんの反響をいただきました。前回の記事に対する批判の一部を避けるため、今回の記事について先に断っておきたいのですが、この記事は OAuth の使われる典型的な場面に焦点を当てており、論じられる点のほとんどは、何らかの方法OAuth を利用する大手サービスのほとんどすべてに当てはまるということです。

言いかえると、OAuth を用いているあらゆるプラットフォームが壊れているとは限りません。OAuth にはバリエーションが多いうえに、2.0 だけに限っても 76 ページに渡るパターンがありますので、OAuth に基づいた何かに適合していながらもセキュアであり、使っても問題ないものは存在しうると言えます。ですから、あなたお気に入りOAuth 実装や設計が、ここで論じられる問題の一部または全部を免れていることもありえます。確率は低いですが。

また、OAuth を使っているものの中には規格を誤用しているものがあるとか、OAuth はその使い方を強制しているわけではないとか言う人もいるかもしれません。どちらにせよ、ここでは特定の OAuth ベースの規格について述べるのではなく、現状で大手が OAuth をどう利用しているかについてを、それが規格に適っているかどうかに関わりなく論じるつもりです。こうすることで、多くの読者に影響を与えることになるでしょう。危険な方法OAuth を使っているサービス利用者であっても、また自ら OAuth ベースサービスを管理していて、他のみんなが作っているのを真似てプラットフォームを作ろうと思っている人だとしても関係があるのです。

記事の構成

この記事は長くなりますし、言ってみればほとんどの章はそれ自体でひとつの記事として十分なほどの話題を扱いますので、大まかな流れをご説明しておきましょう。

この記事は、現在 OAuth 業界でおこなわれていることを調査した結果のまとめです。OAuth を使う製品のすべてにこの記事のあらゆる点が当てはまるというのではなく、危険だったり無価値だったりするサービスの背後に見つかった慣例や根本原因を紹介する記事です。

この前書きのあとは、まず OAuthセキュリティ欠陥を分析することから始めるつもりです。こうした欠陥の中には、セキュリティコミュニティでよく知られていて、書籍などですでに分析されている一般原則が当てはまるものもあります。しかしこの記事では書籍化されていないケースも扱いますし、有名な欠陥についても、平均的な開発者および責任者に理解しやすく、対策の必要性がはっきりするように工夫するつもりです。

その後は、OAuth の主要素が一般的に言ってどのように実装されており、そうした普通の実装がどのようにサービスを使いものにならなくするのか、すなわちそのサービスで達成できることを極度に、不適切に、かつ意図に反して低下させてしまうのかを分析します。ごく一部のケースでは回避策の足がかりになるかもしれないテクニックについて論じますが、そういうのを実装する馬鹿らしさにも注目します。こうした記述の中では繰り返し何度も、OAuth を使う人たちがどれほど自分と自分のビジネスにとって損なことをしているのかが説明されます。

最後に、OAuth が適切に使われうる数少ない場面と、すでに利用されている OAuth の代替品を簡単に取り上げます。代替技術に関する調査の結果を提供するつもりですが、その中には Amazon のような大企業がセキュアで使いやすく信頼性の高い API を実現するために何をしているかの報告も含まれるでしょう。

責任ある情報公開

いま普通に使われているかたちにおける OAuth の欠陥の幾つかを悪用すれば、大手サービスに対して強力な攻撃を仕掛けることができます。OAuth に対する攻撃は何も新しいものではありません。IBM や Oracle を含め、懸念した IETF メンバーOAuth ベースサービスに対する攻撃を 50 クラスも記述した 71 ページもの文書を 3 年以上前に出したように、また筆者も前回の記事でこうした点のいくつかを議論したようにです。それにも関わらず、OAuth ベースシステムの主要なセキュリティ欠陥は非常に蔓延しています。

筆者は、いくつかの大手企業の役員や開発者に、そこの OAuth ベースシステムが抱えるセキュリティ欠陥を指摘したことがあります (そのうちのひとつは 4 年前のことです) が、全員、自社システムを修正するために一切何もしませんでした。まるで、OAuth の人気度からして、他の現実的な解決策をひとつも聞いたことがなく、それゆえに OAuth が最もセキュアな選択肢に違いないと決めてかかっているようです。どうも、OAuth のコア原則に対する攻撃のデモを文書化した情報も、聞いたことがないか、肩をすくめて無視するかしているようです。そこで、この情報をもっと広く拡散することによって、影響のある人たちの尻を蹴りとばしてあげたい、そしてサービスを設計あるいは管理している人たちにモーニングコールの役割を果たしてあげたいと願っています。

というわけで、OAuth ベースの何かを提供あるいは利用するご自分のサービスを調べて、こうした欠陥の一部あるいは全部が存在することに気づいたなら、どうぞ責任をもってこの情報を取り扱ってください。ご自分のサービスを適切にアップデートしたり、関係する問題に対応するようビジネスパートナーに適切な圧力をかけたりしてください。

ここで言及されている情報やリンクされている情報は今のところ既存のサービス悪用できるかもしれませんが、どうぞ責任ある行動をとり、他人のもの破壊するのではなく改善することを目指してください。この記事は、自社サービス不適切に実装している人たちへのモーニングコールのつもりで、その改善を促すために書いているのであり、悪用したがっているハッカーたちのハウツーもののつもりではないのです。

想定する利用形態

この記事では、ふたつのシナリオに注目して、その場面でどのように OAuth が組み合わされているのか、そしてなぜうまくいかないのかを検討します。記事を通して何度もこれらのシナリオに戻ってきますので、頭に入れておくことは大事です。

まず、Exciting Video Service (略して EVS) というサービスを思い描いてみましょう。ユーザが動画をアップロードしたり友人と共有したりできて、完全公開にしたりアクセス制限を設定したりできるようになっています。また EVS は動画のアップロードや削除、およびだれが視聴できるかの権限管理に OAuth ベースの API を提供しています。

ただ、例としてこの想像上のサービスに焦点をあてますが、論じられる問題はあらゆるサービスにも当てはまります。ファイルであろうと文書ストレージであろうと、カレンダー管理やオンライン会議、ディスカッショングループ、はたまたリソース管理であろうと OAuth ベース API を提供する他のいかなるものであろうとです。また、筆者は本当にどの特定の動画サービスのことも言っていないということを覚えておいてください。問題点の一部あるいは全部は、OAuth を使っている既存の動画サービスに当てはまるかもしれませんが、EVS がそのサービスのことを指すわけではありません。どれが当てはまるかは読者への練習問題ということにしてもいいですね。

ひとつめのシナリオとして、ビデオカメラの製造会社を想定しましょう。そのビデオカメラには、録画した内容を EVS にアップロードする機能のあるソフトウェアを付属させたいと思っています。つまり、ユーザビデオカメラを自分のコンピュータに接続して、その独自ソフトウェアを開き、ビデオカメラからアップロードしたい動画を選んでしばらくすると、それが EVS にアップロードされているというものです。

ふたつめのシナリオとしては、ある中小企業が職員用に EVS で 50 アカウントを購入し、全職員が動画をアップロードして同じ部門の職員と共有できるようにする、ということにしましょう。この会社は A Friendly Custom Platform (AFCP) というソフトウェアで職員と所属部門の管理をしており、この AFCP サービスを EVS に統合したいと考えています。望んでいるのは、管理者が AFCP を使ってだれかを営業部門に配置したら、その職員が自動的営業部門メンバー所有の動画すべてに対するアクセス権を取得するということです。営業部門からいなくなった人には逆のことが起こるようにもしてほしいと思うはずです。

問題点

セキュリティ関連
認証情報の盗難 / アクセス権の詐称

トークンベースの認証システム (OAuth のコア) が現在よく利用されている最大の理由のひとつには、「適切に実装されれば」サードパーティアプリサービスに各ユーザの認証情報 (パスワード等) を提供しなくて済むという点があります。サードパーティに個人ユーザの認証情報を渡すのは、以下の理由から望ましくありません:

上記の問題点は、OAuth だけでなくあらゆるトークンベースの認証システムでも回避できます。よく OAuth の強みとして挙げられていますが、独自というわけでは全然なくて、他にも同じ強みを実現しつつ OAuth の弱点のない選択肢はあるのです。

さて、確固とした土台に基づいてはいるものの、「普通の実装における」OAuth は、上記の問題を回避しようとして以下のような手順に沿ってシステムに情報を提供します:

  1. ユーザサードパーティアプリ/サービス (たとえば AFCP) を訪ねて、特定のサービスと統合したいことを知らせる。
  2. AFCP は、EVS でホスティングされた特別なログインページを出してユーザに EVS の認証情報を入力させる。
  3. EVS は、その指定したアクセスレベルユーザが本当にサードパーティ (AFCP) へ与えたいのか確認する。
  4. EVS は AFCP に一種のトークン (複数の場合もある) を提供し、各種 API コールに使えるようにする。

このトークンユーザの認証情報ではありませんから、そしてひとりのユーザひとつアプリの組み合わせだけに有効で、指定された権限しか持たず、あとから破棄されるようになっていますから、きちんと前述の問題点を回避しているように思えます。しかし実際には、ちゃんとした土台を核として持っているにも関わらず、OAuth の普通の実装で使われているこのフローは、上に挙げた問題すべてに対処しているとは言えません。

この設計はそもそも危険なスタート地点から始まっています。セキュアなプラットフォーム設計の第一原則は、危険な地点から始まったものは既にダメ、逆転不可能、ということです。手順 1 のせいで、EVS 自体ではなく EVS を利用するサービスから始まっているので、ユーザは最初の一歩からして中間者攻撃を受けたような状態にあります。これは、かかってきた電話に個人情報や口座番号などを教えるようなもので、自分の使っているサービスの者だと名乗っていますが、番号が本物かどうか分からなかったり非通知だったり、という場面のコンピュータ版だと言えます。最近はこういう詐欺がたくさんありますから具体例を挙げる必要はありませんね。要点は、接続を開始する相手が信用できなければ、その接続は一切信用できないということです。EVS 自体の側から手順を始めるのでない限り、上に挙げた目標をすべて実現する API 利用のためのセキュアな認証システムは設計不可能です。

(略: 手順 2 で、それっぽいページに誘導すれば認証情報を盗める)

(略: そうした詐欺を企業自体が後押ししているような風潮もある)

(略: スタンドアロンアプリなら、ログインを詐称する必要すらない)

この種の攻撃は前述のセキュリティ文書で「4.1.4. 脆弱性を突かれたブラウザ組み込みブラウザを使ったエンドユーザ認証情報のフィッシング脅威」として分類されています。提案されている解決策は?

クライアントアプリユーザに直接認証情報を求めることは避けるべきだ。加えて、エンドユーザフィッシングや良い習慣について教育を受けることもできる。良い習慣は、たとえば信用できるクライアントにしかアクセスしないことだ。OAuth は悪意あるアプリに対していかなる防御策も提供していないので、エンドユーザインストールするネイティブアプリすべての信頼性に自分で責任を負う。

さらに

クライアント開発者は、ユーザから直接に認証情報を集めるようなクライアントアプリを書くべきではなく、システムブラウザのような信用できるシステムコンポーネントにこの役目を移譲すべきだ。

基本的に言って、OAuthセキュリティガイドラインは、OAuth を利用する開発者ユーザを攻撃しようとすべきではないとか、悪いことをしてはならないと言っています。外部の開発者が悪いことをしないことに頼るというのは、正気のサービス設計者が依拠するセキュリティモデルではありません。

私の知る主要な OAuth ベースサービスはほぼすべて、ここに概説した手法で攻撃可能です。

OAuth こそセキュリティの新たな金字塔だとお考えの皆さん、目を覚ましてください! 「普通の実装における」OAuth は、始まる前から負けていますよ。OAuth が存在するよりずっと前に実装された数多くのシステムはセキュアで、この問題を効率的に回避しています。残念なことに、あまりに多くのサービスが、せっかくセキュアだったのにインセキュアな OAuth モデルに移行してきました。だれかが開発者管理者に「OAuthもっとセキュア」「先取り思考」「将来への投資」とか何とか素敵な (しかし具体性の皆無な) バズワードを並べたてたからでしょう。ほとんどの場合、こうした変更は本当に既存の問題に対応しているのか、あるいは以前のシステムより幾らかでも良くしてくれるのかどうかをレビューすることさえなく実装されています。

OAuth サービスに偽装

OAuth ベースサービス設計でよく見かける間違いは、ブラウザ用に、パラメータひとつとして client_secret (あるいは同様のもの) を受け取るエンドポイントを提供することです。OAuth の client_id と client_secret パラメータは、基本的に言ってサードパーティプラットフォーム固有の API ユーザ名とパスワードと等価ですから、EVS の API を利用する開発者だけにしか知られるべきではありません。パスワード同然のものなのですから、client_secret パラメータは「絶対に」ユーザブラウザを通して送信すべきではありません (ヒント: パラメータ名の中に secret という言葉が入っているよ)。アプリサービスユーザがその client_id と client_secret を見つけることができる場合、そのユーザはそのサービスのふりをすることができ、潜在的には何かイケナイことができてしまうということになります。さらに注意すべき点として、client_secret パラメータを別の名前にするサービスもありますから、ご自分の関係するサービスをよくチェックして、他のパラメータも秘密にする必要があるのかどうかを調べてください。残念ながら、重要な変数が自分の素性をいつも表に出しているとは限らないため、この問題は意外と多く存在しています。加えて、client_id だけ使う認証フローOAuth の上に乗せるサービスも出てくるでしょう。これには用心してください。特定の状況では、そういう client_id はまさしく client_secret 同然の働きをするのですから。

「普通の実装における」OAuth は、ウェブブラウザを使ってユーザを複数のウェブサイトに移動させるわけで、ひとつサイトから別のサイトに client_id と client_secret (あるいは同様のもの) を送ってもらう必要があります。そうやって、たとえば AFCP と EVS の間でこれらをやりとりするわけですから、ユーザブラウザの HTTP ログをモニタリングすれば、本当に見えてしまいます。これはアプリに組み込まれた独自ブラウザ各種でも、単に右クリックすれば何らかのネットワーク・ログ機能を持つ何らかの inspector にアクセスできてしまう場合などには可能です。

EVS と連携した AFCP にこの欠陥があると、AFCP に少しでもアクセス権限のある職員に本来の権限より多い権限を取得させてしまい、本来アクセスできないはずのところに許可が下りてしまう危険があります。別の例では、仮に FacebookGMail 用の OAuth エンドポイントを利用しているとして、client_id と client_secret の両方がブラウザを通して送信される場合、Facebookユーザは全員 GMail に対して Facebookのもののふりをすることができてしまうということです。

この問題は、OAuth エンドポイントユーザウェブブラウザから平文で client_secret を送ってくることを期待するときにはいつも存在します。あるいはそうする必要があると誤解した API 利用者が、埋め込むべきでないところに secret を埋め込むときもです。この脆弱性が存在している可能性が高いのは、エンドポイントが client_secret (または同等品) と redirect_uri の両方を期待する (あるいはオプションとしてでも受け付ける) 場合です。redirect_uri パラメータは、今回のケースで言うと EVS がユーザログインさせたあとでそのブラウザをどこに送るべきか指示するために使うよう設計されています。そうやって redirect_uri がエンドポイントへの転送に使われている場合、その処理はユーザブラウザで実行されることが期待されているわけです。主要な OAuth 文書はどちらも、client_secret と redirect_uri の両方をこうした用途に使うようなケースを指示したり求めたりはしていません。

ざっと検索してみたところ、残念なことに、潜在的に違反の可能性があるそういった OAuth ベース API がたくさん見つかります。GoogleOAuth の色々な利用方法を提案していますが、その中に、両方を一緒に使うことを広めるフローひとつあります:

client_secret: 開発者コンソールで取得したクライアントパスワード (Android, iOS, Chrome アプリとして登録した場合のオプション)

Citrix もこんな間違いをしています:

(略: 以下、実際に脆弱だと確認したわけではないが、secret と redirect を併記しているサイトが列挙されている。)

Google で 2 分検索しただけでこのリストができました。皆様がもうちょっと労力をかければ、ずっと多く見つかることでしょう。ただし、上記リストは、こうしたサービスのどれかが脆弱だとか、誤用しやすすぎるということを直接に示すものではありません。色々な要素があり、たとえば Zendesk は特にこのケースでは redirect_uri パラメータリダイレクトに使わないと明言していますし、アプリからエンドポイントを呼ぶときはフル機能版ブラウザではなく curl を使うべきだとさえ書いて、開発者が危険なことをするような誤解を極力避けようとしています。それでも、経験の浅い開発者はこうしたエンドポイントを独自ブラウザで読もうとするかもしれません。さらに、この組み合わせが世に出回っているというだけで開発者の警戒心が下がっていき、経験を積んだ OAuth ベースサービス開発者でさえも似たような状況で潜在的ヤバイ誤用を気にせず適用するようになってきています。特に client_secret が別の名前になって、「秘密を守る」という概念が失われている場合はそうです。

サービスがこの点に関して壊れている指標となるのは、人気のある複数の OAuth ライブラリがこのサービスでうまく動かないときです。そういうサービス一般的にいって独自の「SDK」を提供しており、サードパーティ開発者が選んだライブラリではこのフランケンシュタイン的な OAuth が使えないと苦情が来たときにはその SDK を使うよう指示します。こうしたカスタマイズは気付かれないまま進行することも多くあります。開発者の大多数は、SDK が提供されているなら、わざわざ手元のソフトで頑張らずに済ませたいと思うものですから。

この種の攻撃は前述のセキュリティ文書で「4.1.1. クライアント機密情報を取得する脅威」に分類されています。しかしサーバウェブブラウザを使用を要求し client_id と client_secret (または似た用途のもの) を同時に渡させるという具体的な攻撃パターンには一言も言及がありません。おそらく、その文書の執筆陣の予想では、こんな馬鹿げたサービスはだれも設計しないだろうし、その API を使う開発者もそれを独自のウェブブラウザや SDK で使ったりはしないだろうと思っていたのでしょう。こうした開発者OAuth の規格からバラバラに取り出した要素をグチャグチャに混ぜて接着しておいて、自分のプラットフォームOAuth 本来のセキュリティを保持していると思っています。そのツギハギのせいでどんな新しい問題が入り込むかもしれないのに、そこは一顧だにしません。残念ながら、これが近年の OAuth 業界によくあるやり方で、この既に猛威をふるっている問題は、パレード参加者がどんどん増えて、人が使っている手法や、使っている「と思う」手法をコピーしていくことで、とどまるところを知らない連鎖になっています。

おそらく、上記のサービスを使っているシステムのうち、この問題のせいで悪用可能なものは多数あることと思います。特にデスクトップアプリでは、コンパイルされたアプリバイナリから秘密情報がそのまま取り出せることは、サービス側で何も危険なことを要求していなくてもよくあります。GoogleOAuth の使い方を多数提供しているうちで、client_secret と redirect_uri を両方受け取るエンドポイントのことが書いてあるのはたったひとつだけだというのは重要な点です。少なくとも Google の場合、redirect_uri があっても、このエンドポイントウェブブラウザベースアプリには推奨していません。しかし、だからといって実際に独自ブラウザでそれを使う人や、このフロー標準的ブラウザ用のエンドポイントコピーする人が一切いなくなるはずがありません。それに加え、Google は例外なのであって、世の中にはセキュアな OAuth フローを受け入れず client_secret (や同等品) を常に渡すよう要求する愚かなサービスが今も満ちあふれており、そのフローウェブブラウザを通るときでさえも要求しているのです。さらに悪いことに、こうしたサービスの多くはユーザウェブブラウザを通して「しか」利用できないのですが、これは後ほど詳述します。

前掲のセキュリティ文書は、 Permalink | 記事への反応(3) | 12:44

2010-03-04

ガンブラーがさらに進化

ガンブラーGENOウイルス、8080)がさらに進化しとる・・・

スクリプトを無効にしても防げない」、新たな「ガンブラー」出現

セキュリティ企業ラック2010年3月3日、新たな「ガンブラー」攻撃を確認したとして注意を呼びかけた。正規サイトWebページにスクリプトを埋め込む代わりに、悪質な設定ファイル.htaccess)をアップロードすることで、同サイトアクセスしたユーザーを、ウイルスが置かれたサイトへ誘導する。

http://itpro.nikkeibp.co.jp/article/NEWS/20100304/345314/

.htaccessを書き換えられて、悪質サイトにオートリダイレクト

悪質サイトを訪問しただけで、WindowsFlash, Adobe ReaderQuicktimeの穴を突かれて、ウィルス感染

しかも未公表の脆弱性を突いたゼロデイ攻撃普通にあるので、最新のパッチを当ててても、死亡する確率大。

JavaScriptを切ったくらいじゃ、どうにもならん・・・もう勘弁してくれよ・・・

2010-01-31

感染対策くらいかけよ!そっちの方が重要じゃねーのか?

感染された時点でなにされてもおかしくないのにFFFTPがどうのとか・・・小一時間

などと罵倒しつつ、俺は書くの面倒だから2chからコピペですます。亜種でたら対策も変わるので注意ね。

Gumblar/GENOWeb改竄ウイルス総合スレ3【8080】 http://pc11.2ch.net/test/read.cgi/sec/1263865118/

現時点でGumblar(GENO)、8080(『/*LGPL*/』『/*GNU GPL*/』『/*CODE1*/』)
JustExploitなどのインジェクションが流行しています
基本的な対策としてセキュリティアップデートを欠かさないようにしましょう
脆弱性を利用されやすいソフトウェア】
下記については必ずアップデートしてください
使用していないものはアンインストール推奨です

■ Windows Update / Microsoft Update更新XP以下は念のためMicrosoft Updateに変更してアップデートする
■ Adobe Reader(Acrobat,Acrobat Reader)を更新 (使っていないならアンインストール)
http://get.adobe.com/jp/reader/
・インストール後本体をアップデート
 ヘルプアップデートの有無をチェック
・Acrobat Javascriptオフにする
 編集環境設定 → Javascript → 「Acrobat Javascriptを使用」のチェックを外す
■ Adobe Flash Playerを更新 (動画サイト見てるなら絶対入ってる。IE版、Firefox等の非IE版に注意!)
http://get.adobe.com/jp/flashplayer/
http://www.adobe.com/jp/shockwave/download/alternates/#fp
・Flash Playerのバージョン確認
http://www.adobe.com/jp/software/flash/about/
http://www.adobe.com/jp/support/flashplayer/ts/documents/tn_15507.htm
■ Adobe Shockwave Playerを更新 (最近は使わないはずなのでアンインストール)
http://www.adobe.com/jp/shockwave/download/alternates/#sp
■ Java Runtime Environmentを更新 (Javascriptとは違うので注意)
http://www.java.com/ja/
・Javaバージョン確認
http://www.java.com/ja/download/installed.jsp
■ QuickTime更新 (メールアドレス入力は不要。使っていないならアンインストール)
http://www.apple.com/jp/quicktime/download/
■ RealPlayer更新 (使っていないならアンインストール)
http://jp.real.com/?mode=basic
アップデート支援ツール】
■ アプリケーション脆弱性確認ツール
・MyJVN バージョンチェッカ
http://jvndb.jvn.jp/apis/myjvn/
・Secunia Personal Software Inspector (PSI)
http://secunia.com/vulnerability_scanning/personal/Adobeの“Flash”と“Reader”のアップデート半自動化「Flash_Reader_Update」
http://www.forest.impress.co.jp/docs/review/20091020_323014.html
http://hide9999.web.fc2.com/
Gumblar.x / Daonol(新GENO)ウイルスについて】
■ Gumblar被害拡大中(1)(2)(3)
http://www.so-net.ne.jp/security/news/view.cgi?type=2&no=2092
http://www.so-net.ne.jp/security/news/view.cgi?type=2&no=2093
http://www.so-net.ne.jp/security/news/view.cgi?type=2&no=2094
■ Windowsが起動しないときの復旧方法の一例
黒い画面にマウスカーソル (Win32/Daonol)
http://blogs.technet.com/jpsecurity/archive/2009/10/23/3288625.aspx
Win32/Daonolの亜種に感染!セーフモードでも起動できないパソコンを復旧するには?
http://itpro.nikkeibp.co.jp/article/COLUMN/20091028/339633/?ST=security&P=1
レジストリの修復 Windowsを使わずに修復してみる
http://pctrouble.lessismore.cc/boot/recover_registry.html感染確認・駆除ツール
アンラボ(v3daonol.exe)
http://www.ahnlab.co.jp/download/vdn_list.asp
マカフィー(stinger.exe)
http://www.mcafee.com/japan/mcafee/support/announcement20091127.asp
Kaspersky(KatesKiller.exe)
http://support.kaspersky.com/faq/?qid=208280701

【旧Gumblar(GENO)ウイルスのまとめなど】
*** 【注意!】2009年10月からのGumblar.x / Daonol(新GENO)には無効な情報があります ***
■ Anubisレポート
http://anubis.iseclab.org/?action=result&task_id=1890669b0bd937574e5be45e24c63ea80&format=htmlGENOウイルスまとめ
http://www29.atwiki.jp/geno/

【8080系ウイルスについて】
メディアなどでは「ガンブラー(の亜種)」と紹介されていますが
Gumblar系とは別種のウイルスで、最近のものはページソースの最後あたりに
<script&gt;/*LGPL*/
<script&gt;/*GNU GPL*/
<script&gt;/*CODE1*/
などから始まる難読化したスクリプトが埋め込まれています
2009年12月現在、最新版のAdobe Readerおよびそれ以前の脆弱性を利用しているため
回避策としてAcrobat Javascriptのチェックを外してください
修正版の配布は2010年1月13日の予定です
他にもMicrosoftJRE(Java Runtime Environment)の脆弱性を
利用していますがこちらはアップデート対処できます
感染すると他のウイルスなどを呼び込むため非常に危険です
■ 新手の正規サイト改ざんAdobe Readerゼロデイ攻撃~今すぐ対策を
http://www.so-net.ne.jp/security/news/view.cgi?type=2&amp;no=2106
■ 感染確認(2000,XP)
あくまで現時点での確認方法であることに注意してください

セーフモードから起動してレジストリエディタでRunエントリ
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
から
"sysgif32"="C:\\WINDOWS\\TEMP\\~TMD.tmp"
"~TM6.tmp"="C:\\WINDOWS\\TEMP\\~TM6.tmp"
等の登録があれば感染済

上記の登録情報を削除した上で
C:\Documents and Settings\ユーザー名\スタート メニュー\プログラム\siszyd32.exe
のファイルを削除すれば復旧しますが、亜種等で違うこともあるので
可能な限りクリーンインストールサイト持ちは
安全なPCからのパスワードの変更を推奨します

GENOGumblarウイルス対処法。

行っておくべき事項を箇条書きにしました。
細かなことは他にもいろいろありますが、とりあえず以下を実施して下さい。

(1)Microsoft UpdateWindows Update)を実行しシステムを最新の状態にする
(2)Adobe Readerを最新版に更新する
(3) Adobe ReaderAcrobat JavaScriptを無効に設定
(4) JRE(Java Runtime Environment)を最新版に更新する
(5) Flash Playerを最新版に更新する
(6) QuickTimeを最新版に更新する

(1)~(4)を行っていれば、現時点で改ざんサイトを閲覧してもウイルスには感染しない。
攻撃コードは変化する可能性もあるので、念のため全て行っていただきたい。
Adobe Readerなどのアップデート方法については下記のトピックスを参照のこと。
Acrobat JavaScriptを無効にする方法は以下の通り。

(1)Adobe Readerを起動し[編集]メニューの[環境設定]を選択
(2)「分類」の中の「JavaScript」を選択
(3)「Acrobat JavaScriptを使用」のチェックをクリア
(4)「OK」ボタンを押す


※サイトを運営されている方は、さらに次のことも実施していただきたい。

(1)管理サイトのページなどに意味不明文字列が埋め込まれていないか確認する
(2)改ざんされていたり、サイト管理に使うパソコンからウイルスが見つかった場合には、
ウイルス感染していないパソコンを使用して管理サイトパスワードを変更する

http://anond.hatelabo.jp/20100130202235

2010-01-19

Javascript切ろうかな?

GENOウィルス(ガンブラー、8080)大流行とかGoogleIE6Javascript脆弱性で侵入されたとか

しかもパッチが出る前のゼロデイ攻撃普通にありまくり

被害はかなり深刻

やっぱJavascript切ったほうがいいのかなぁ?

IE6だけじゃなくて、FirefoxJavascriptがらみでしょっちゅうVerupしてるし

FlashとかpdfとかAdobe製品セキュリティも信頼ならん・・・

 
ログイン ユーザー登録
ようこそ ゲスト さん