dfirr

A Note on R How-to in Cybersecurity Investigation

情報セキュリティ屋がRと再会して

ブログをはじめます

このブログは、情報セキュリティに関連する業務でR言語を使うに際してのコツを整理するために作りました。

Rとの再会

私はむかし大学で統計学を勉強していたので、R(というかS-PLUS)に触れたことがありました。ただ、プログラミング言語が得意でないこともあり、ほとんど上達しませんでした。かわりにMinitabというGUIのツールを使ったりして、お茶を濁していました。

ところで我が国では、Internet Weekというイベントが毎年開催されています。そこではオライリーがいつも出展していて、本を1割引で販売しています。私は会場に足を運ぶたび、業務との関係は別にして個人的に興味深い本を1冊買って勉強することにしていました。そういうきっかけで、何の気もなく手に取って購入したのがHadley Wickham・Garrett Grolemund『Rではじめるデータサイエンス』(オライリージャパン、2017年)でした。

Rではじめるデータサイエンス

Rではじめるデータサイエンス

Tidyverseとの出会い

この本は、tidyverseというデータ分析用パッケージ群の使い方を解説した教則です。Tidyverseについて書かれた優れたサイトは国内にも多数ある(たとえば岩嵜航さんのHeavy Watal | R stats)ので本欄では詳述しませんが、tidyverseに収録されているggplot2(汎用グラフィック文法)、dplyr(データ操作文法)など、私には一種の文法改革運動に映ります。一貫した文法は操作しやすく、忘れにくいのです。

そういうわけで、業務でログやタイムラインを分析ときにもRを使うことが多くなっていきました。たとえば私はSplunkでサーチ文を書いて数GBのデータを大まかに取得し、手元のRで詳細に分析することがよくあります。Rはメモリに載る範囲では非常に高速に動作するからです。もちろん統計ツールとしても使うようになりました。たとえば社内CTFの結果に項目応答理論をあてはめて問題の難易度を分析したり、ある施策の効果を評価するためにロジスティック回帰分析したりすることです。いつの間にか、R+tidyverseは私の日常業務に欠かせない存在になっていました。

題名と題材

このブログの題名「dfirr」は、tidyverseに収録されているパッケージ「purrr」をもじったものです。DFIR(Digital Forensics and Incident Response)業務に関連したRの使用場面に触れることもあると思いますが、それだけにかぎらず、平時における使用例も取り上げるつもりです。

https://d33wubrfki0l68.cloudfront.net/571b056757d68e6df81a3e3853f54d3c76ad6efc/32d37/diagrams/data-science.png

同書はデータサイエンスの業務を図の通り6種類に分解しています。すなわち、取り込み(import)・整然化(tidy)・変換(transform)・可視化(visualise)・モデル作成(model)・伝達(communicate)です。記事を書くときには、上のどこに位置づけられるかラベル付けして示すようにします。

一方、個別具体的な事案や時事的な話題は、このブログでは取り上げません。サイバーセキュリティインシデントに日常的に携わっている関係上、何かについて述べないという行為自体が何かを伝えることになるかもしれないからです。

まだまだ勉強中なうえ、はてなブログに至っては使ったこともないので、無理解な点などありましたら指摘いただければ幸いです。