タグ

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

  • 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
  • Tomcat/Javaで対話的にデータサイエンスする

    はじめに Scutumではベイジアンネットワークをはじめ、データサイエンスを積極的に導入して高性能のWAFを実現することを目指しています。データサイエンスやデータマイニングでは、解析対象のデータに対して対話的に解析を行うことが多くなります。今回は基的には「対話的プログラミング環境でない」Javaで、データを対話的に解析する方法をご紹介します。 一般的なJavaアプリケーションのライフサイクル JavaはRに代表されるような対話的なプログラミング環境とは異なり、基的には一度コードを書いたらそれがコンパイルされ、ある程度「固定」されたものになり、プロセス起動中は「事前に準備したコード」を使って処理をします。 Javaでデータを解析する場合には、プロセスの起動後にデータが読み込まれ、解析処理が行われ、何かしらの結果をはき出して終了する、というのが1つのステップになります。 解析を実際に行う人

    Tomcat/Javaで対話的にデータサイエンスする
  • 例えば、Strutsを避ける

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

    例えば、Strutsを避ける
  • ベイジアンネットワークを使ったウェブ侵入検知

    はじめに 私たちが提供しているSaaS型のWAFサービス、Scutum(スキュータム)では、より高精度な攻撃検知を実現するために、ベイジアンネットワークの技術を利用しています。今回は「ウェブセキュリティ」「不正検知」「異常検知」「攻撃検知」といった観点から、ベイジアンネットワークについて解説します。 ベイジアンネットワークとは? ウィキペディアによると、ベイジアンネットワークは次のようなものです。 ベイジアンネットワーク(英: Bayesian network)は、因果関係を確率により記述するグラフィカルモデルの1つで、複雑な因果関係の推論を有向グラフ構造により表すとともに、個々の変数の関係を条件つき確率で表す確率推論のモデルである。 非常に的を射た説明ですが、「わかっている人にはわかるし、わかっていない人にはわからない」という感じもするかもしれません。基からしっかり理解したいという場合

    ベイジアンネットワークを使ったウェブ侵入検知
  • Ruby on Railsの脆弱性(CVE-2013-0156)を狙った攻撃を観測

    脆弱性の公表と攻撃の開始 数日前に公表されたRuby on Railsの脆弱性(CVE-2013-0156)は、リモートからの任意のコード実行が可能なインパクトの大きいものでした。PoCコードがgithubなどにすぐに出回ったため、私たちのSaaS型WAFサービス、Scutum(スキュータム)では大急ぎでシグネチャの作成や検知エンジンの開発を行いました。 以前、PHPCGIモードで実行している環境について脆弱性が発見されたときには、発表からわずか数日後に実際にExploitコードによる攻撃を観測しました。そのため、今回も同じように、すぐに実際の攻撃が来るだろうと予想していました。 まず2つのリクエストを観測 予想通り、日まず2つのリクエストを観測しました。以下のようなものです。(Hostフィールドは伏せ字にしてあります。ウェブサーバのIPアドレスが直接指定されていました。) POST

    Ruby on Railsの脆弱性(CVE-2013-0156)を狙った攻撃を観測
  • 1