技術者ブログ
クラウド型WAF「Scutum(スキュータム)」の開発者/エンジニアによるブログです。
金床“Kanatoko”をはじめとする株式会社ビットフォレストの技術チームが、“WAFを支える技術”をテーマに幅広く、不定期に更新中!

Tomcatの脆弱性、CVE-2020-9484の解説
はじめに
Tomcatに新たな脆弱性CVE-2020-9484が発見されました。既にアップデートは提供されています。影響を受けるバージョンなどの情報についてはオフィシャルのページを参照ください。今回はこの脆弱性の技術的な側面について解説します。
教師なし学習の性能評価は雰囲気でやるしかない

はじめに
2020年のGWはオライリーの「Pythonではじめる教師なし学習」とOutlier Analysisという2冊の本を読んでいたのですが、その過程で私が数年前から持っていた、教師なし学習についての大きな疑問に対する答えが得られました。これは個人的には「年に1度、あるかないか」というくらい大きな衝撃を伴うイベントだったので、ここでブログにまとめたいと思います。なお、もしかしたら、知っている人には当たり前の話なのかもしれません...(もしそうだったらすみません)。
また、オライリー「Pythonではじめる教師なし学習」で行われているハイパーパラメータのチューニングには致命的な間違いがあるので、それも合わせて紹介します。
Isolation ForestのJavaによる高速な実装をオープンソースで公開
はじめに
Scutumにおいて教師なしの異常検知アルゴリズムであるIsolation Forestを使うため、フルスクラッチでJavaで実装し、GitHubでオープンソースで公開しました。今回はこの実装について簡単に紹介したいと思います。
WAFでは絶え間なく沢山の通信を処理しますが、このうちの殆どは攻撃ではない正常な通信であり、ごく一部が攻撃、つまり異常になります。データが多いことから、教師なし学習で異常を見つけることで、WAFの防御性能を高めることを目指しています。
Isolation Forestの概要
2020年現在、機械学習の主流は「教師あり学習」ですが、Isolation Forestは「教師なし学習」に属します。「教師なし学習」ではグループ分けを行うクラスタリングが有名ですが、Isolation Forestはグループ分けではなく、「異常検知」あるいは「外れ値検知」を行うためのアルゴリズムです。