パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

FlashのActiveXプラグインに脆弱性」記事へのコメント

  • バッファオーバーフローとかweb配信プログラムとか(のセキュリティ穴の話)を
    聞くたびに、やっぱりjavaのように、非nativeコードかつセキュリティモデルに囲われたモノでないと
    ネットワーク(に限らないが)プログラムとしては事実上それっぽいトラブルを根絶できないのかな?とか
    (弱気にも)思ってしまったりするんですが、どうなんでしょう?

    メジャーなものでそれっぽいものといえば一番に思いだされるのはjavaっすかね。
    #ん?MSもC#にソレを期待しているんだろうか???違うかな?

    「どうなんでしょう?」ってのは、javaみたいなやりかたでもやっぱり
    こういうトラブルは起
    • バッファオーバーフローについては、ポインタの自由な演算を許さず、配列の添え字を検査する言語であれば起きないので(たぶん)、 Java 以外でも Perl など多くの言語で防げます。 Perl は怪しいことをすればいくらでも怪しいことができるので例が悪いかもしれませんが。

      「Web 配信プログラムとか(のセキュリティ穴の話)」というのが何を指しているのかわかりませんが、 CGI プログラムのことを言っているなら、大きな問題は設計のバグと cross-site scripting で、どちらも Java の言語機構で防ぐことはできないと思います。

      Java が安全だというのは、
      --
      鵜呑みにしてみる?
      • >Java 以外でも Perl など

        了解です。つーかこっちも「java「とか」」というように
        対象を特定しないように書いてあったのは、そういう意図からです。
        べつにrubyでもschemeでも良いと思います。

        >CGI プログラムのことを言っているなら

        半分はご指摘のとおりです。

        のこり半分は、アプレットとかのクライアントサイドで動くモノの話。
        今回話題のActiveXもソレですよね。

        >Web ページの部品という規模より大きなアプリケーションを動かすためには、そのアプリケーションを信頼する必要があり

        …どうなんでしょうね…
        そもそも頁の部品かどうかっての
        • ぼくが
          やっぱりjavaのように、非nativeコードかつセキュリティモデルに囲われたモノでないと
          ネットワーク(に限らないが)プログラムとしては事実上それっぽいトラブルを根絶できないのかな?とか
          を受けてこのコメント [srad.jp]を書いたのは、「バッファオーバーフローを防ぐ」という観点で Java が安全なのは「非 native コードかつセキュリティモデルに囲われたモノ」だからではない、と言いたかったからです。
          つーかこっちも「java「とか」」というように
          対象を特定しないように書いてあったのは、そういう意図からです。
          べつにrubyでもschemeでも良いと思います。
          であれば、なおさら VM を使っていることは無関係ですよね。
          のこり半分は、アプレットとかのクライアントサイドで動くモノの話。
          こちらについては、アプレットを信頼していなくても安全に実行できる点で VM+中間コードという形態が優れています。

          では、どうして Flash Player は Java アプレットとして書かれていないか、といえば、 Flash Player は Java VM と同列に並ぶものであることを狙っているからです。 Java VM さえ安全なら、知らないアプレットでも安全に動かすことができるのと同じように、 Flash Player さえ安全なら、知らない Flash ムービーを安全に再生することができます。

          つまり、安全性の保証がツリー構造になっているわけです。安全性を保証するツリーのルートがあまりたくさんあると意味がありませんが、一つしかないのも危険です。

          できれば、 Java アプレットとして書かれた Flash Player という選択肢も用意してあったら、 Macromedia の書いたプログラムを信頼したくないという人も安心できるのですが、ぼくが考えるに、ネイティブな Flash Player のほうが重要です。

          逆に Flash ムービーとして書かれた Java VM があったら、 Java VM のメーカを信頼しなくても安全に Java アプレットが使えるけど……。

          // Flash のことを全然知らないのですが、無理ですよね?> Flash に詳しいかた
          --
          鵜呑みにしてみる?
          親コメント
          • by G7 (3009) on 2002年05月10日 2時10分 (#91320)
            >VM を使っていることは無関係

            そうですね。

            >アプレットを信頼していなくても安全に実行できる点で VM+中間コード

            こっちについてはどうでしょうか?
            これまたrubyやschemeでも同じことが言えるのではないかと。
            スクリプトのインタプリタってのはいわばテキストをコードとするVMです(笑)から…

            >安全性を保証するツリーのルートがあまりたくさんあると意味がありませんが、一つしかないのも危険です。

            え? ここでいう危険度は、それ(ら)が1つきりか複数か?に相関する事柄では、ないのではないですか?
            確率的な攻撃者(^^;から見れば「どれか1個所が」穴あいていれば攻撃が成立しちゃうわけですから、
            1つだから危険度が増す、などと考える暇は無いんじゃないかと思うのですが。

            むしろ、1つだからそこさえ固めれば死なずに済む、というメリットとして機能することのほうが
            考えやすいかと…

            >Flash ムービーとして書かれた Java VM があったら、 Java VM のメーカを信頼しなくても安全に Java アプレット

            当然ですが、それとてFlashPlayerが壊れていればアウトであるわけですよね。
            親コメント
            • え? ここでいう危険度は、それ(ら)が1つきりか複数か?に相関する事柄では、ないのではないですか?
              弱点が発見されたときにメーカがすぐに修正できるなら、 G7 さんのおっしゃる通りです。しかし、ある実装に危険があってもすぐに修正されるとは限らず、等価な実装が複数あれば利用者は被害に遭う前に他の実装に乗り換えることができます。
              むしろ、1つだからそこさえ固めれば死なずに済む、というメリット
              を否定するつもりはありませんが、それだけではいけません。
              >Flash ムービーとして書かれた Java VM があったら、……
              当然ですが、それとてFlashPlayerが壊れていればアウトであるわけですよね。
              そうです。
              --
              鵜呑みにしてみる?
              親コメント

犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー

処理中...