タグ

ブックマーク / www.scutum.jp (3)

  • Struts2が危険である理由

    はじめに 2017年3月、Struts2にまたしても新たな脆弱性(S2-045、S2-046)が見つかり、複数のウェブサイトにおいて情報漏洩等の被害が発生しました。筆者は2014年4月(およそ3年前)に「例えば、Strutsを避ける」という記事を書きましたが、今読み返してみると「やや調査不足の状態で書いてしまったな」と感じる点もあります。今回、良いタイミングなのでもう一度Struts2のセキュリティについてざっとまとめてみたいと思います。 なぜJavaなのにリモートからの任意のコード実行(いわゆるRCE)が可能なのか Struts2はJavaアプリケーションであり、Java製のアプリケーションサーバ上で動作します。Javaはいわゆるコンパイル型の言語であるため、通常はランタイムにおいて任意のコードを実行することはできず、RCEは難しいはずです。 JavaのウェブアプリケーションでRCEが成

    Struts2が危険である理由
    yojik
    yojik 2017/03/27
  • 例えば、Strutsを避ける

    はじめに 筆者は10年以上ウェブアプリケーション開発を主な業務とするJavaプログラマであったにも関わらず、Strutsについてはこれまでずっとわず嫌いでした。初期のStrutsは「XMLだらけで効率が悪そう」というイメージが強かったためです。最近はRuby on Rails等の影響を受けCoC(convention over configuration)を採り入れ、XML地獄もだいぶ解消したようです。 StrutsはJavaアプリケーションらしくない種類(任意のコード実行等)の脆弱性を連発することでも知られており、最近は我々の提供するSaaS型WAFサービス、Scutum(スキュータム)のお客様からも頻繁にStrutsについての問い合わせを受けるようになりました。また、去年見つかった任意のコード実行の脆弱性では、脆弱性の公表後すぐにPoCが出回り実際に攻撃が発生するなど、悪い意味で注目

    例えば、Strutsを避ける
    yojik
    yojik 2014/04/28
    ただリクエストの自動バインディングはほとんどのFWでやってるのでStrutsじゃなくても注意は必要ですよ。
  • HadoopはRDBMSをスケールアウト可能にする

    はじめに Hadoopでデータを解析する場合、SQL-likeなインターフェースを持つHiveやPigがよく使われます。しかし、どうしても速度を追求したい場合や処理の性質にSQLが合わない場合などには、最も低レベルな処理となるMap/Reduceのコードを直接Javaで書くことになります。 今回は、Javaの組み込み型RDBMSであるH2を例に、JavaMap/Reduceレイヤーの処理を直接書きながら、同時に集約処理についてはSQLを使うというテクニックを紹介します。このテクニックを用いることで、Hadoop上できれいにRDBMSの性能をスケールアウトさせることが可能となり、アプリケーションの開発効率、性能ともに大幅に上昇させることが可能となります。 スライドはppt形式でこちらからダウンロード可能です。 Hadoop一般論 Hadoopのメリットと、SQL-Likeなインターフェース

    HadoopはRDBMSをスケールアウト可能にする
    yojik
    yojik 2013/08/15
  • 1