{ "metadata": { "name": "", "signature": "sha256:0ae8f2b10d9ac7e310131af2ebf507397abfa8c8949d986b8fd40f7fc174f57e" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tricks collected from \n", "- [workshop](http://nbviewer.ipython.org/github/nealcaren/workshop_2014/tree/master/notebooks/)\n", "- [DGA (Dynamic Generation Algorithm) detection](http://nbviewer.ipython.org/github/ClickSecurity/data_hacking/blob/master/dga_detection/DGA_Domain_Detection.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Libraries for text and scraping\n", "1. requests (web scraping)\n", "2. mechanize (web scraping)\n", "3. BeautifulSoup (html cleaning)\n", "4. database (database interface for lazy ppl)\n", "5. chardet (char encoding detector)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Discard non-ascii unicode in your text" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import chardet # or use !file in POSIX\n", "s = \"hello world \u01e5ood day. Let`\u00c7hange the world!\"\n", "print chardet.detect(s)\n", "\n", "s ## s as bytes" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "{'confidence': 0.7996636550693685, 'encoding': 'ISO-8859-2'}\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ "'hello world \\xc7\\xa5ood day. Let`\\xc3\\x87hange the world!'" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "## decode the bytes using the suggested encoding\n", "## encode as ascii with error = 'ignore'\n", "clean_s = s.decode(\"ISO-8859-2\").encode(\"ascii\", \"ignore\")\n", "clean_s" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "'hello world ood day. Let`hange the world!'" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. meaning of '?' in regular expression\n", "- it turns default greedy search into non-greedy mode\n", "- intutively '?' means search until it finds the FIRST ..." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import re\n", "s = 'google, Yahoo!'\n", "print re.findall(r'google, \n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
rankuridomaintype
0 1 facebook.com facebook legit
1 2 google.com google legit
2 3 youtube.com youtube legit
3 4 yahoo.com yahoo legit
4 5 baidu.com baidu legit
\n", "

5 rows \u00d7 4 columns

\n", "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ " rank uri domain type\n", "0 1 facebook.com facebook legit\n", "1 2 google.com google legit\n", "2 3 youtube.com youtube legit\n", "3 4 yahoo.com yahoo legit\n", "4 5 baidu.com baidu legit\n", "\n", "[5 rows x 4 columns]" ] } ], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "dga_df = pd.read_csv('data/dga_domains.txt', names = ['raw_domain'], header = None, encoding='utf-8')\n", "dga_df['domain'] = map(lambda uri: uri.lower().split(\".\")[0].strip(), dga_df.raw_domain)\n", "dga_df['type'] = 'dga'\n", "dga_df = dga_df.dropna().drop_duplicates()\n", "\n", "print dga_df.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(2669, 3)\n" ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "dga_df.head()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
raw_domaindomaintype
0 04055051be412eea5a61b7da8438be3d.info 04055051be412eea5a61b7da8438be3d dga
1 1cb8a5f36f.info 1cb8a5f36f dga
2 30acd347397c34fc273e996b22951002.org 30acd347397c34fc273e996b22951002 dga
3 336c986a284e2b3bc0f69f949cb437cb.info 336c986a284e2b3bc0f69f949cb437cb dga
4 336c986a284e2b3bc0f69f949cb437cb.org 336c986a284e2b3bc0f69f949cb437cb dga
\n", "

5 rows \u00d7 3 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ " raw_domain domain \\\n", "0 04055051be412eea5a61b7da8438be3d.info 04055051be412eea5a61b7da8438be3d \n", "1 1cb8a5f36f.info 1cb8a5f36f \n", "2 30acd347397c34fc273e996b22951002.org 30acd347397c34fc273e996b22951002 \n", "3 336c986a284e2b3bc0f69f949cb437cb.info 336c986a284e2b3bc0f69f949cb437cb \n", "4 336c986a284e2b3bc0f69f949cb437cb.org 336c986a284e2b3bc0f69f949cb437cb \n", "\n", " type \n", "0 dga \n", "1 dga \n", "2 dga \n", "3 dga \n", "4 dga \n", "\n", "[5 rows x 3 columns]" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "## all domains\n", "all_domains = pd.concat([alexa_df.loc[:, [\"domain\", \"type\"]], \n", " dga_df.loc[:, [\"domain\", \"type\"]]], axis = 0, ignore_index = True)\n", "all_domains = all_domains.drop_duplicates().dropna()\n", "all_domains = all_domains[all_domains.domain != \"\"]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 40 }, { "cell_type": "code", "collapsed": false, "input": [ "pd.concat([all_domains.head(n = 10), all_domains.tail(n = 10)], axis=0, )" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
domaintype
0 facebook legit
1 google legit
2 youtube legit
3 yahoo legit
4 baidu legit
5 wikipedia legit
6 amazon legit
7 live legit
8 qq legit
9 taobao legit
102495 xcfwwghb dga
102496 xcgqdfyrkgihlrmfmfib dga
102497 xclqwzcfcx dga
102498 xcpfxzuf dga
102499 xcvxhxze dga
102500 xdbrbsbm dga
102501 xdfjryydcfwvkvui dga
102502 xdjlvcgw dga
102503 xdrmjeu dga
102504 xflrjyyjswoatsoq dga
\n", "

20 rows \u00d7 2 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 41, "text": [ " domain type\n", "0 facebook legit\n", "1 google legit\n", "2 youtube legit\n", "3 yahoo legit\n", "4 baidu legit\n", "5 wikipedia legit\n", "6 amazon legit\n", "7 live legit\n", "8 qq legit\n", "9 taobao legit\n", "102495 xcfwwghb dga\n", "102496 xcgqdfyrkgihlrmfmfib dga\n", "102497 xclqwzcfcx dga\n", "102498 xcpfxzuf dga\n", "102499 xcvxhxze dga\n", "102500 xdbrbsbm dga\n", "102501 xdfjryydcfwvkvui dga\n", "102502 xdjlvcgw dga\n", "102503 xdrmjeu dga\n", "102504 xflrjyyjswoatsoq dga\n", "\n", "[20 rows x 2 columns]" ] } ], "prompt_number": 41 }, { "cell_type": "code", "collapsed": false, "input": [ "## spot useful features \n", "## 1. length of words\n", "## 2. entropy of words\n", "## 3. bigrams? unigrams?\n", "\n", "from collections import Counter\n", "import math\n", "def entropy(word):\n", " p, lns = Counter(word), float(len(word))\n", " return -sum( count/lns * math.log(count/lns, 2) for count in p.values())\n", "\n", "all_domains['word_len'] = map(len, all_domains.domain)\n", "all_domains['word_ent'] = map(entropy, all_domains.domain)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 47 }, { "cell_type": "code", "collapsed": false, "input": [ "## NOT much distinguishing power\n", "all_domains.boxplot(column=\"word_len\", by = \"type\")\n", "all_domains.boxplot(column=\"word_ent\", by = \"type\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 48, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nTkSuQmCC\n", "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n6Mw8AAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 48 }, { "cell_type": "code", "collapsed": false, "input": [ "## but how about joint features\n", "pl.figure(figsize=(10, 4))\n", "dga = all_domains[all_domains.type=='dga']\n", "alexa = all_domains[all_domains.type=='legit']\n", "pl.scatter(alexa.word_len, alexa.word_ent, s = 10, c=\"#aaaaff\", label = 'Alexa', alpha = .2)\n", "pl.scatter(dga.word_len, dga.word_ent, s = 40, c = 'r', label = 'DGA', alpha = .3)\n", "pl.legend(loc = 'best')\n", "pl.xlabel(\"domain length\")\n", "pl.ylabel(\"domain entropy\")" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 62, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 62 }, { "cell_type": "code", "collapsed": false, "input": [ "## try these features with a model\n", "from sklearn import ensemble\n", "from sklearn import cross_validation\n", "from sklearn import metrics\n", "\n", "X = all_domains.as_matrix([\"word_len\", \"word_ent\"])\n", "y = np.asarray(all_domains.type)\n", "print X.shape, y.shape\n", "train_X, test_X, train_y, test_y = cross_validation.train_test_split(X, y, test_size = 0.3)\n", "print train_X.shape, train_y.shape\n", "print test_X.shape, test_y.shape\n", "\n", "model = ensemble.RandomForestClassifier(n_estimators=20)\n", "cv = cross_validation.KFold(train_X.shape[0], n_folds=10)\n", "[np.mean(model.fit(train_X[train_index, :], train_y[train_index]).predict(train_X[test_index, :]) == train_y[test_index])\n", " for train_index, test_index in cv]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(94365, 2) (94365,)\n", "(66055, 2) (66055,)\n", "(28310, 2) (28310,)\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 81, "text": [ "[0.97532546170148349,\n", " 0.97683923705722076,\n", " 0.97547683923705719,\n", " 0.97653648198607323,\n", " 0.97608234937935212,\n", " 0.97350492051476156,\n", " 0.9742619227857684,\n", " 0.97683573050719152,\n", " 0.97441332323996976,\n", " 0.97638152914458742]" ] } ], "prompt_number": 81 }, { "cell_type": "code", "collapsed": false, "input": [ "## but ... because the imbalanced distribution in the target\n", "## the baseline model will give 97% accuracy, IT IS NOT EXCITING AT a\n", "print np.mean(test_y == model.fit(train_X, train_y).predict(test_X))\n", "print np.mean(y == 'legit')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.976616036736\n", "0.971769194087\n" ] } ], "prompt_number": 87 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }