タグ

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

  • 2020年になってもシグネチャ依存型のWAFが多いのはなぜか?

    はじめに 以前「シグネチャ依存型のWAFは避けよう」という記事に詳しく書いたように、WAFの仕事質は分類です。 WAFにはファイアウォールという言葉が含まれることから、その仕事には「守る」あるいは「防ぐ」ようなイメージがありますが、実際にはWAFが仕事を行う上で最も重要になるのは、その通信が攻撃なのかどうかを見分けること、つまり「分類」です。分類が終わってしまえば、その結果に応じて通信を許可したり、禁止するだけでよいので、そこには技術的な意味での難しさはありません。 つまりWAFというのは「ソフトウェアが分類を行う場面」であり、いかにしてコンピュータ、ソフトウェアに上手に物事を見極めてもらうのか、分類してもらうのかという点が、よいWAFを実現するために必要な技術のコアになります。 あるHTTPリクエストを見て、「ああ、これは攻撃だよね」と専門家が目で確認してわかる場合。果たしてソフトウ

    2020年になってもシグネチャ依存型のWAFが多いのはなぜか?
  • Tomcatに見つかった3つの脆弱性について

    はじめに Apache Tomcatに立て続けに見つかったCVE-2017-12615~12617の3つの脆弱性は基的には同じ原因によるものでした。3つのうち2つは任意のJSPファイルをPUTリクエストでアップロードできてしまい、アップロード後にアクセスすることでJavaのコードが実行できてしまう、というパターンのRCE。残りの1つはJSPがそのまま静的ファイルとしてアクセス可能なためにソースコードが漏洩してしまう、というものです。 今回JPCERT/CCも注意喚起するなど、広く知られることになりましたが、一方でなかなかパッチが提供されないという状況にもなっています。今回はこの脆弱性についての調査を報告します。 readonlyパラメータとは何か JSPがアップロードできてしまうのはreadonlyパラメータがfalseになっている場合です。このパラメータはデフォルトでtrueであり、f

    Tomcatに見つかった3つの脆弱性について
  • Struts2が危険である理由

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

    Struts2が危険である理由
  • JavaのString生成方法がボトルネックになっていた話 - WAF Tech Blog | クラウド型 WAFサービス Scutum

    はじめに 先日、私たちが開発しているクラウド型WAFサービス、Scutum(スキュータム)において、予想していなかった箇所の修正によってサーバの負荷が大幅に減るということがありました。原因はこのエントリのタイトルにもあるように、Stringクラスのインスタンスを生成する際の方法にありました。 Stringクラスのコンストラクタとcharset Stringクラスにはいくつかのコンストラクタが用意されています。我々が使っていたのはString(byte[] bytes, String charsetName)です。2つめの引数で、"MS932"や"UTF-8"のような文字集合(以下charset)を明示的に指定するものです。 ScutumのようなWAF(Web Application Firewall)は通常のウェブアプリケーションとは異なり、起動している間にさまざまなcharsetを扱うこ

    JavaのString生成方法がボトルネックになっていた話 - WAF Tech Blog | クラウド型 WAFサービス Scutum
  • 1