DDoSフィルタリングに機械学習を適用する
でスタンフォード大学の機械学習コースのAndrew NgがITでMLを適用述べました。しばらくして、私たちのサイトで中程度のサイズ(約2万ボット)のDDoSを取得したとき、単純なニューラルネットワーク分類子を使用してそれと戦うことにしました。 私は約30分でこのpythonスクリプトを書きました:https : //github.com/SaveTheRbtz/junk/tree/master/neural_networks_vs_ddos pyBrainを使用し、3つのnginxログを入力として受け取ります。そのうち2つはニューラルネットワークをトレーニングするために使用します。 良いクエリで 悪いものと そして分類のための1つのログ 悪いクエリから。 0.0.0.0 - - [20/Dec/2011:20:00:08 +0400] "POST /forum/index.php HTTP/1.1" 503 107 "http://www.mozilla-europe.org/" "-" ...そして、良いです... 0.0.0.0 - - [20/Dec/2011:15:00:03 +0400] "GET /forum/rss.php?topic=347425 HTTP/1.0" 200 1685 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9) Gecko/2008052906 Firefox/3.0" ...辞書を作成します: ['__UA___OS_U', '__UA_EMPTY', '__REQ___METHOD_POST', '__REQ___HTTP_VER_HTTP/1.0', '__REQ___URL___NETLOC_', …