ロード・トゥ・ザ・ホワイトハッカー

ホワイトハッカーはじめました

Python

ログの解析について

ログ分析に関してのまとめ ・HTTPのログからのSQLインジェクションの検出について以下の2つにまとめた。 chikuwamarux.hatenablog.com chikuwamarux.hatenablog.com SQLインジェクションの検出では以下のデータセットを利用した。 github.com それ以外に使…

SQLインジェクションの検出(N-gram編)

ログ情報の数値化 前回は、HTTPのログのエントロピーを算出した。 chikuwamarux.hatenablog.com 今回は、N-gramを使った数値化について、流れとしては、以下になる。 ログを1文字つづ区切る(N-gram, uni-gram) 文字ごとのベクトル化(BoW) ベクトルの重み…

SQLインジェクションの検出(エントロピー編)

ログ情報の数値化 こちらの書籍の7章にSQLインジェクションの検出方法が記載されている。 GitHub - oreilly-japan/ml-security-jp: 『セキュリティエンジニアのための機械学習』のリポジトリ 使用されているデータセットがこちらのHTTPリクエストのログ。 gi…

異常検知の方法(時系列編)

異常検知のソリューション SIEM(Security Information and Event Management)やUEBA(User behavior analytics)などにより、脅威を早期に発見できる、という話を聞く。 IAM(Identity and Access Management)なども賢いものだと、異常なログインと判断し…

ディープラーニングによるマルウェア検出(実行編)

前回のおさらい 以下の記事で、EXEファイルを画像化することをやった。 chikuwamarux.hatenablog.com これにより、マルウェアを画像化して、AIに「似ている」ということを判断させることが可能になる。 データは以下を利用させてもらう。 www.dropbox.com こ…

ディープラーニングによるマルウェア検出(準備編)

ディープラーニングの使いどころ 相変わらず、以下の書籍を参考にさせて頂いております。 以前、PEファイルの情報をランダムフォレストで分類させることをやった。 chikuwamarux.hatenablog.com PEファイルをディープラーニングで分類させることも可能。 デ…

機械学習によるマルウェア判定(PEファイル)

PEファイルのおさらい PEファイルについて、以下を参照。 chikuwamarux.hatenablog.com マルウェアの検体を取得する方法は以下を参照。 chikuwamarux.hatenablog.com PEファイルの情報は、pefileというpythonのライブラリで取得できる。 問題のない正常なフ…

PEファイル

PEファイルとは PEファイルのPEはProtable Executableの略で、Windows上で使用される実行ファイル (EXE)、オブジェクトファイル、DLL、SYS (デバイスドライバ)、FON フォントファイル等のファイルフォーマットのこと。 PEファイルには構造がある。文字で書く…

フィッシングデータのディープラーニング

フィッシングサイトのデータでディープラーニング こちらで、ランダムフォレストによる機械学習をしてみた。 chikuwamarux.hatenablog.com ランダムフォレストの方が、ロジスティック回帰よりも精度が高かった。ディープラーニングではどうか? 基本的な流れ…

フィッシングデータの機械学習

フィッシングデータの機械学習 以前、フィッシングサイトのデータセットを調べた。 chikuwamarux.hatenablog.com これを使って、機械学習をしてみる。 この書籍を参考にさせてもらう。 www.oreilly.co.jp サンプルコードは以下にある。 github.com サンプル…

フィッシングサイトのデータセット

フィッシングサイトの見分け方 今さらではあるが、フィッシングサイトの見分け方について。 2015年にフィッシングサイトに関するデータセットが提供されている。 archive.ics.uci.edu 30個の特徴量からフィッシングサイトを判定した2456件のデータとなってい…

マルウェアの検体

マルウェアの取得方法 マルウェアに感染したい人はいないと思うが、ウイルス対策ソフトの感度の測定やインシデント訓練などで、安全なマルウェアを使いたいことがある。 こちらの書籍で、取得方法が紹介されていた。 「セキュリティエンジニアのための機械学…

セキュリティエンジニアのための機械学習

セキュリティと機械学習 セキュリティ分野において、機械学習が使用されているであろうことは想像できる。 ウイルス対策ソフトのAIによる判定、などと目にするようになった。 その恩恵を受けているものの、機械学習の性質上、詳細はブラックボックス化されて…

ログ表示(WEBサーバー編)

データの可視化 以前、Pythonの可視化ツールの中でPlotlyについて書いた。 chikuwamarux.hatenablog.com それを使って、集計したデータを可視化する。 データはWEBサーバーのログを使用。 chikuwamarux.hatenablog.com 事例集 1時間ごと(level_0)のサーバ…

ログ集計(WEBサーバー編) ~時系列集計~

時系列データの扱い 前回、DataFrameに格納されたデータを集計する方法をまとめた。 chikuwamarux.hatenablog.com 日時を表す項目があれば、文字列のまま扱って、groupby()させることも可能。 ただ、月、日、時、分を取り出して格納するのはイマイチ。 例え…

ログ集計(WEBサーバー編) ~数値集計~

ログの集計 WEBサーバーのログをDataFrameに突っ込むことはできた。これをもとにデータを集計する。 chikuwamarux.hatenablog.com 以下、IISのログを集計するPythonのコードを記述する。 groupby()による集計 ログにおける送信元IPアドレス(c-ip)の件数を…

ログ処理(WEBサーバー編)

WEBサーバーのログ WEBサーバーのログについて、サーバーごとにログパーサーがあって、それで表示するのが手っ取り早い。 WEBサーバーのログ以外に、PCやネットワーク機器のログと結合させてトレースしたい場合など、標準的なログ解析ツールがあれば便利かな…

アンケート分析(5):決定木

決定木でのビジュアル化 決定木は、「けっていぎ」と読むらしいです。 クラスタの各グループの意味を知るには、決定木が理解しやすさを提供してくれる。 今回も、こちらを参考にさせて頂きました。 yyhhyy.hatenablog.com 実際のコード #決定木のおまじないi…

アンケート分析(4):クラスタリング

クラスタ分析 クラスタリング 、クラスタ解析など呼ばれますが、データを一定のグループにまとめること。階層型と非階層型がある。 アンケート結果に対してクラスタ分析を行うことで、いくつかの傾向を読み取り、それに対してアクションを取ることを可能にし…

アンケート分析(3):データの水増し

データの水増し データの水増しをアンケートでやったら偽造ですが、上手に機械学習させるために、少ないサンプルデータに対してよく行われている、とのこと。 特に画像認識系で、画像データが少ない場合など、ノイズを与えてデータを複製する。 後学のため、…

アンケート分析(2):スケーリング

スケーリングの目的 アンケートデータの場合、5段階の回答を求める場合、質問によっては、1に偏ったりする場合がある。各設問でばらつきがでないように調整するため。 スケーリングには、2種類ある。 正規化:「特徴量を0〜1に変換するスケーリング」 標準…

アンケート分析(1):事前準備

時には、主観に惑わされずに、客観的なデータに基づき判断ができるようにデータ分析の訓練を。 アンケートなどで、意見を収集して施策を決めることがあるが、分析までいかずに集計して終わることが多々ある。 アンケートのデータを使用して分析をしてみる。 …

pandasの覚え

pandasの情報元 この本で一通り勉強しました。 この本は、GitHubにサンプルコードがあります。 github.com 本家のドキュメントは、こちら。 pandas.pydata.org DataFrameの3要素 インデックス カラム データ 各要素へのアクセス方法 movie = pd.read_csv('da…

Active Directoryのデータ処理

Active Directoryの管理 Active Directoryを使用していると、ゴミデータが黙ったり、変な設定がいつまでも残っていたり、ということがある。 GUIでマウスをポチポチしながらの確認作業も、いつの間にか気が遠のいていく。。。 ユーザーとグループの出力 saku…