タグ

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

  • Log4jで話題になったWAFの回避/難読化とは何か

    はじめに 2021年12月に発見されたLog4jCVE-2021-44228は、稀に見るレベル、まさに超弩級の脆弱性となっています。今回、私はTwitterを主な足がかりとして情報収集を行いましたが、(英語・日語どちらにおいても)かなりWAFそのものが話題になっていることに驚きました。ある人は「WAFが早速対応してくれたから安心だ!」と叫び、別の人は「WAFを回避できる難読化の方法が見つかった。WAFは役に立たない!」と主張する。さらにはGitHubに「WAFを回避できるペイロード(攻撃文字列)一覧」がアップロードされ、それについて「Scutumではこのパターンも止まりますか?」と問い合わせが来るなど、かなりWAFでの防御とその回避方法について注目が集まりました。 実はWAFにおいては、「回避(EvasionあるいはBypass)」との戦いは永遠のテーマです。これは今回Log4jの件で

    Log4jで話題になったWAFの回避/難読化とは何か
  • 本物のウェブアクセスログを使用した、機械学習による異常検知(全データ/ソースコード公開)

    おまたせしました この度、ついにこの記事を完成させることができました。これは私が数年前からずっと書きたいと思っていた、ウェブのアクセスログに対する、機械学習を使った異常検知の実例です。私は事あるごとに(※1)「情報セキュリティ分野でもデータサイエンスの技術は非常に重要だ」と繰り返していますが、この記事の内容はまさにその1つの証となると思います。この記事で示される内容を見れば、「うわ、機械学習、マジでヤバイい(語彙力)んだな...」となるでしょう。以下に心当たりのあるセキュリティエンジニアはぜひ読んで、そして実践してみてください。 機械学習に興味はあるものの、どこから手を付ければよいのかイメージがわかない 当にAIやデータサイエンス、機械学習セキュリティの分野で役に立つのか、確信がもてない データサイエンスや機械学習は難しそうだと思っている ログ解析において、grepや単純な統計処理より

    本物のウェブアクセスログを使用した、機械学習による異常検知(全データ/ソースコード公開)
  • Struts2が危険である理由

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

    Struts2が危険である理由
    yuiseki
    yuiseki 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を避ける
    yuiseki
    yuiseki 2017/03/21
  • ベイジアンネットワークを使ったウェブ侵入検知

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

    ベイジアンネットワークを使ったウェブ侵入検知
    yuiseki
    yuiseki 2014/02/11
  • わざとゾーンに入らずにコードを書く

    はじめに 「ゾーン」あるいは「フロー状態」と呼ばれる精神状態があります。スポーツや楽器の演奏、ゲームのプレイ中、そしてプログラミングなどにおいて、高い生産性や成果をもたらすことがよく知られています。プログラマーであれば、誰でもコードを書いているうちに、いつのまにかゾーンに入っていたという経験があるのではないでしょうか。 高い生産性や、そのこと自体が気持ちの良い体験であることから、基的にプログラマーがゾーンに入っていることに対しては肯定的なイメージがあるかと思います。しかし今回は、筆者の個人的な経験に基づいた「わざとゾーンに入らずにコードを書く」というメソッドについて紹介したいと思います。 ゾーンとプログラミングへの一般的な見方 ゾーンに入っている間、プログラマは非常に生産的になり、コードを書くということ自体が楽しくなってきます。自身が書いているコードの内容に対する迷いがなく、目的の機能を

    わざとゾーンに入らずにコードを書く
    yuiseki
    yuiseki 2013/11/25
  • 時系列ビッグデータを手軽に可視化するHadoopアプリケーション、Dunkhead

    Dunkheadとは Dunkheadはタイムスタンプ付きのテキストデータ(アクセスログなど)を手軽に可視化するためのソフトウェアです。Hadoop上で動作するMapReduceアプリケーションであるため、データのサイズが大きい、いわゆるビッグデータの場合にも使用することができます。 Dunkheadは、入力データとなるログをもとに、サーバ監視ツールなどで見られるような、横軸が時間、縦軸が目的の値となる画像を出力します。下記の例はNASAのスペースシャトル、ディスカバリー号のミッションの際に記録された、NASAのウェブサーバのアクセスログをDunkheadで可視化したものです(こちらについて、詳しくは『HadoopとDunkheadでNASAのウェブサーバのアクセスログを解析・可視化する』を参照ください)。 各種サーバのアクセスログなどは、特に活用することなく、いつのまにか大量に溜まってし

    時系列ビッグデータを手軽に可視化するHadoopアプリケーション、Dunkhead
    yuiseki
    yuiseki 2013/09/21
  • 1