Network_attack_propagation/network_attack_propagation.ipynb

408 lines
396 KiB
Plaintext
Raw Normal View History

2022-06-16 20:46:14 +02:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Propagacja ataku sieci z wykorzystaniem spacerów losowych\n",
"\n",
"- Marcin Kostrzewski\n",
"- Mateusz Tylka\n",
"- Krystian Wasilewski"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Problem\n",
"\n",
2022-06-21 15:55:33 +02:00
"W jakich topologiach sieci komputerowych potencjalny atak wirusa rozprzestrzeniałby się najszybciej, a w których najwolniej?\n",
"Aby rozwiązać ten problem zaprojektowaliśmy symulację ataków wirusa na różne rodzaje topologii sieci."
2022-06-16 20:46:14 +02:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Graf\n",
"\n",
"Grafem nazywamy kolekcję dwóch zbiorów: zbioru wierzchołków V oraz zbioru krawędzi E. Zbiór wierzchołków jest dowolnej postaci. Elementami zbioru krawędzi są e∈E, które są podzbiorami postaci v1,v2 dla pewnych dwóch wierzchołków v1,v2∈V (jeśli graf jest nieskierowany) lub parą uporządkowaną (v1,v2) jeśli graf jest skierowany.\n"
2022-06-16 20:46:14 +02:00
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
2022-06-21 15:55:33 +02:00
},
"source": [
2022-06-21 16:40:42 +02:00
"## Spacer losowy na grafie\n",
2022-06-21 15:55:33 +02:00
"Inaczej błądzenie losowe. Obiekt przemieszczający się na grafie losowo wybiera jeden z sąsiednich do obecnego wezłów, żeby się do nich przemieścić. Ruch ten nie zależy od historii ruchów - tylko ostatnie przemieszczenie jest brane pod uwagę przy podejmowaniu decyzji."
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
2022-06-21 15:55:33 +02:00
},
"source": [
"## Model\n",
"Model sieci reprezentowany jest jako graf nieskierowany. Każdy węzeł reprezentuje w nim urządzenie a krawędzie połączenia między nimi. Węzły zaznaczone na czerwono reprezentują urządzenie zainfekowane przez wirusa, który przemieszcza się do nowych urządzeń spacerem losowym - w każdym kroku wirus wybiera jeden z sąsiadujących węzłów z jednakowym prawdopodobieństwem i próbuje go zainfekować."
]
},
2022-06-16 20:46:14 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Implementacja\n",
"\n",
2022-06-21 16:26:33 +02:00
"W naszym przypadku dana topologia sieci będzie przedstawiona za pomocą grafu nieskierowanego, a wirus będzie infekować sieć przemieszczając się po jego krawędziach za pomocą spaceru losowego."
2022-06-16 20:46:14 +02:00
]
},
{
2022-06-21 15:55:33 +02:00
"cell_type": "markdown",
2022-06-16 20:46:14 +02:00
"metadata": {},
"source": [
2022-06-21 16:26:33 +02:00
"### Kod"
2022-06-16 20:46:14 +02:00
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
2022-06-21 16:26:33 +02:00
"## Eksperymenty"
2022-06-16 20:46:14 +02:00
]
},
{
2022-06-21 15:55:33 +02:00
"cell_type": "markdown",
2022-06-16 20:46:14 +02:00
"metadata": {},
"source": [
2022-06-21 16:26:33 +02:00
"### Magistrala"
]
},
2022-06-21 17:07:27 +02:00
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from network_attack_propagation import bus_experiment \n",
"bus_experiment()"
]
},
2022-06-21 16:26:33 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](bus0.gif)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](bus8.gif)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](bus15.gif)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Pierścień"
]
},
2022-06-21 17:07:27 +02:00
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from network_attack_propagation import ring_experiment \n",
"ring_experiment()"
]
},
2022-06-21 16:26:33 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](ring0.gif)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](ring8.gif)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](ring15.gif)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Gwiazda"
]
},
2022-06-21 17:07:27 +02:00
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from network_attack_propagation import star_experiment \n",
"star_experiment()"
]
},
2022-06-21 16:26:33 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](star0.gif)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](star2.gif)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](star4.gif)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](star6.gif)"
2022-06-16 20:46:14 +02:00
]
},
2022-06-21 17:25:27 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Gwiazda (z odpornością wierzchołków o najwyższych stopniach)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"MovieWriter ffmpeg unavailable; using Pillow instead.\n"
]
},
{
"data": {
"image/png": "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AIDMzMx6fba54F2yREQGpFAokJmZiezsbERERMDJyanW7Tt37oz9+/dj8ODBOHToEFQqFeLj46uuFT5K5UQhAJg3bx5Gjhyp1341TcCpHKBQG61WCwAP3alraViYREQGtHDhQixduhQAsGfPnqpBALWpXMJx6NAhALrxbvry8vKq+trR0bHe6zgr5efnP/L1yuusgYGBj/VZpo6nZImIDKhFixZVX+/Zs0fv/VxcXKq+Dg4O1nu/yMjIqq8rJ+TURKlUYuHChfj222+rbhR60NWrV2sdWH769Omqrw21DtNUsDCJiAxo+PDhVdf4vv32WyQlJem1365duwDoTpU+ODe1tsX4wcHBiIiIAADs3bsXN2/erHHbf/3rX1iwYAHeeOMNfPPNN9Vuo1Aoal3iUvncTqlUimeeeabG7SwBC5OIyID8/PwwZcoUALr1jgMHDkRCQkKt+/zzn//E559/DgB4+eWX0aRJk/tel8lkVV+XlpY+tP+0adMA6J528uKLL6KwsPChba5fv47Y2FgAuqUj7733Xo15ZsyYUW3xbt68GT/99BMA4KWXXkJAQECtP5e54zVMIiIDW7p0KZKSkvDzzz/j1q1b6N27N5588kk8/fTTaNWqFTw9PVFYWIiLFy9iy5YtVadH27Vrh7Vr1z70fvdeK1y0aBGmTZsGrVaL7t27AwDGjRuHrVu3YteuXTh16hTatm2LqVOnolu3bpDL5Thy5AjWrFlTVaRTpky5b97tgzIzM9GlSxfMmjULvXr1QmlpKX788Uds2rQJAODj44PVq1c/tN/vv/9edcdvnz598Pvvv9fr989k1GkuEBER1YtCoRAWLFggODo6Vjse78FfL7/8spCTk1Pte929e1dwcXG5b3s7OztBoVBUbVNeXi689NJLj/ycSZMmCRqN5qHPuHf03NSpU2vcPywsTPjzzz+rzXnvGLo+ffo0yO9jdfnqgqPxiIhMnL29PT766COkpKTgiy++qDq69Pb2hp2dHfz8/NCxY0dMnz4dp0+fxubNm+Hj41PtewUGBuLXX3/Fk08+CXd3d8hkMgQFBd33uC5HR0f8+9//Rnx8PMaOHYvmzZvDyckJMpkMTZs2xWuvvYYjR45g7dq1jxxQvnr1amzfvh19+vSBm5sbPD090b17d6xduxYXLlxAy5YtG/T3ylRJBOGvkRBERER/6du3L+Lj4yGTySCXy8WOYxJ4hElERKQHFiYREZEeWJhERER6YGESERHpgYVJRESkB94lS0REpAceYRIREemBhUlERKQHFiYREZEeWJhERER6YGESERHpgYVJRESkBxYmERGRHliYREREemBhEhER6YGFSUREpAcWJhERkR5YmERERHpgYRIREemBhUlERKQHFiYREZEeWJhERER6YGESERHpgYVJRESkBxYmERGRHliYREREemBhEhER6YGFSUREpAcWJhERkR5YmERERHpgYRIREemBhUlERKQHFiYREZEeWJhERER6sBU7AJHJEATg/Hlg927g8mWgvBywswMCAoABA3S/nJ3FTklEIpEIgiCIHYJIdGfOAF9/Ddy9W/M2MhkwZAjwt78BNjbGy0ZEJoGFSXTwIPD3vwNarX7bd+oEzJunO/okIqvBa5hk3c6erVtZVu7z6aeGy0REJomFSdZtw4a6lWW
"text/plain": [
"<Figure size 576x576 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"MovieWriter ffmpeg unavailable; using Pillow instead.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"13 NODE STAR\n",
"average degree = 1.85\n",
"propagation speed = 0.77\n",
"star0 rounds survived = 11\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 576x576 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"MovieWriter ffmpeg unavailable; using Pillow instead.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"31 NODE STAR\n",
"average degree = 1.94\n",
"propagation speed = 0.84\n",
"star2 rounds survived = 27\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAcwAAAHdCAYAAACQUUm4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOyddViVdxvHP4eWVLCwC1FUrFkTjKnTbc7NnDF1xkpQZyeiInaLvZkLazp71uzEnEUjCAYi0nE4cN4/nnFe6hxOEerzuS6vsXOe+IF4vs99/+77e0vkcrkcEREREREREZUYFPcCRERERERE3gZEwRQREREREVEDUTBFRERERETUQBRMERERERERNRAFU0RERERERA1EwRQREREREVEDo+JegIiIiMi7TlRUFEeOHOHChQuEhYXx+vVrjI2NsbOzw8HBgXbt2vHJJ59gbW1d4LUiIiIoXbo0lpaWRbDy4ufvv//m0KFDPHjwgJiYGCwsLHBycqJXr150794diUSi8TXHjBnDiRMnqFy5Mv/884/a50nEPkwRERGRwmPbtm2sWrWK5ORklceVKVOGiRMn0qdPn3zfl0qlbNq0ic2bN3P06FGqVKlSGMstMSQkJDB69GiuXr2q9Jh27drh4+ODqamp2tc9duwY48aNA9BYMMUIU0RERKSQ2Lx5M0uXLgXA3t6ePn360KhRI8qUKUNGRgbPnz/n4sWLHD58mDdv3jBjxgzS0tIYNGhQvtdas2ZNUX8LxUJ6ejojRozg3r17ADRp0oTBgwdTtWpVnjx5wubNmwkMDOTChQvMnj2bBQsWqHXdmJgYvLy8tF6XGGGKiIiIFAIRERF07doVmUxGixYt2LRpE+bm5vke+++//zJixAji4+MxNjbm1KlT2Nvb5zhmzZo1+Pj4AHDmzJl3OsLctGkTy5YtA6B79+4sXrwYQ0NDxfvJycl89dVXBAQEAHD06FHq1KlT4HXHjRvHsWPHFP+vaYQpFv2IiIiIFAL79u1DJpMBMGfOHKViCeDs7MyECRMAIbr67bffimSNJZG0tDQ2btwIQLVq1Vi4cGEOsQQwNzdXpFUBTpw4UeB1T506xbFjxzAyMlJrrzg/RMEUERERKQSCgoIAkEgkVK9evcDje/TogZGRsEvm7+9fqGsryZw7d47ExERAKM4xNjbO9zgXFxe+/PJLhgwZQt26dVVeMzY2ljlz5gAwcuRIKlSooNXaxD1MERERkUJELpdz584dWrRoofI4c3NzFi9ejKmpKZUrV1a8vn//fqZNm5bj2E6dOgHKU4p3795l9+7d+Pr6EhUVhZGREZUrV8bFxYXBgwdTqVKlfNcwePBgbty4gYuLC7/88gtXr17ll19+4cGDByQmJmJvb4+rqysjRozIscbsXL9+nSFDhgDQsmVLdu7cqfL7zs2FCxcAMDY2pkuXLkqPMzExYdGiRWpd09vbm1evXlGrVi3c3Nw4c+aMRmvKQowwRURERAqB+vXrK76eMmUKN2/eLPCczz77jM6dO+c4VxNkMhmzZ8/mq6++Yv/+/Tx9+pS0tDSSkpIICAhgy5YtdO3ald27dxd4rW3btjFs2DAuXrzImzdvSE9PJzw8nN9++43u3btz5coVrdZYEFn7kg4ODpiZmSleT0lJITQ0lGfPnpGZman29c6ePcuhQ4cwMDDA29sbExMTrdcmRpgiIiIihUC/fv34+eefSU5OJjIykkGDBlG3bl06depE69atadq0qVrtEB999BF//fUXf/zxh0LoNm3aRPny5fOkK2fOnMmBAwcAaN68Of369aNmzZqkpaVx584ddu7cyatXr5g1axYmJib07Nkz33s+fvyYK1euYGRkxODBg/noo4/IyMjg5MmT7Nq1i+TkZL777jv27dtHvXr1dPxJ5SQrlZ0VBd+4cYMNGzZw7do1MjIyALC1taVXr178+OOPKvtR4+PjmTVrFgCDBg2iWbNmOq1NrJIVERERKSTOnz+Pu7s7Uqk0z3vGxsY0bNiQNm3a0KFDB5ydnVU24RdUJXv69Gnc3NwA+P777xk/fnyea8TExDB48GCCgoIwNzfnn3/+oUyZMor3s1KyWev7+eefad26dY5rnDhxgrFjxyKXy2nRogW//vqrmj+NgpFKpTRq1AiAXr16Ub16dVauXIkymapVqxa//PKL0hTztGnT2L9/P5UrV+bIkSOKwqvu3bsTGBgoVsmKiIiIlBTat2/P/v37adq0aZ730tPTuXPnDuvWraNfv358/PHHHD9+XOt7/fzzz4CQysxeQZodW1tbPD09AaE1Y+/evUqv99133+URS4CuXbvy+eefA+Dr60twcLDWa85NUlKS4utr166xYsUKbG1tmTdvHlevXuX+/fvs3buXdu3aARASEoKbm1u+DyQXL15k//79AHh5eamsUlYXUTBFREREChEHBwd27drFwYMHGTVqFI0aNcrTJgEQHh7OTz/9xE8//aRIPapLXFwcd+/eBaB169YqI9XmzZtjYWEBCKKUHxKJhIEDByq9Ru/evRVfaxKhFURqaqri62fPnlG6dGl27dpF3759sbW1xcTEBGdnZzZt2sSnn34KwKNHj/IIf2JiIh4eHoAQqbZt21Yv6xP3MEVERESKgHr16lGvXj3Gjh1LQkICt27d4urVq1y6dEmxbwdw/PhxypYty8yZM9W+9uPHjxVpy507d6pdmfr06dN8X69WrRply5ZVel6DBg0UX4eEhKi9zoLIvafr7u5OtWrV8hwnkUiYMWMGp06dIj09ncOHD+dwR1q8eDHPnz+nXLlyTJ06VW/rEyNMERERkSLGysqKDh06MG3aNI4ePcqff/5Jq1atFO/v2rWLFy9eqH29N2/eaLWO+Pj4fF8vX768yvOsrKwUBUfR0dFa3Ts/chfwqGorKVu2LM7OzgDcv39f8cBw9epVRXHUrFmzsLGx0dv6xAhTRERERM9IpVJevXrF69evcXBwoFSpUiqPb9iwIVu2bGHEiBFcu3aN9PR0bty4QY8ePdS6X/YU7o8//kjXrl3VOs/AIP+YKb+UcW6yWjuUGQtog4mJCTY2NsTFxQEFC3eWfaBMJiM+Ph5TU1NmzJgBQOPGjalatSqPHz/Oc15aWhog/D1lvW9ubl6gwYQomCIiIiJ6xsfHR2HvtnnzZkWRiiqyWjiy9hVfvnyp9v2yR1FmZmZa93FmkSVYyoiNjVWIdLly5XS6V27q1q2Lr68vIETApUuXVnpsVrGPoaEhlpaWPH/+nMjISADu3bvHl19+qfJer169UhyjjsmCmJIVERER0TPZI5Us5xp1yCrGATSyb8tuDZdV/KMMqVSKj48Pe/fu5c6dO/keExwcnG/laRb3799XfK3vPszGjRsrvs6aVqKMwMBAACpWrKhWVKwrYoQpIiIiomc6dOiAsbEx6enp/Pnnn3z99dfUqFGjwPPOnTsHCBFT8+bNc7ynqvK1QoUKODg4EBgYyKVLl3j69ClVq1bN99hDhw4pxoT16tUr35YXqVTK8ePH+eKLL/K9xp9//gkIKd3OnTsX+H1pwmeffaZokfn9999p3759vsf9+++/hIaGAv+3CqxSpYpaPrxiH6aIiIhICcHOzk7hp5qcnMzw4cMLtMb766+/FCYA3bt3z+PVmt3SLb9h1MOGDQOE/s7x48fnW9ATGhrKkiVLAEGABw8erHQ9S5YsybeK9tChQ4p+0c8++0zvKVknJydFG8i5c+fYvn17nmNiY2MVe5VGRkb069dPr2tQhhhhioiIiBQCEyZMICwsjNOnTyus8dq0aUOnTp2oWbMm1tbWJCQkEBAQwIkTJxTpUUdHR4WdW3ayF8CsW7eO4cOHk5mZSZMmTQAhWjx58iTnzp3j33//5fPPP+ebb77B2dkZqVTKrVu32L59u0JIhw4dipOTk9L1v3r1ij59+vDdd9/RrFkzkpOTOXbsmMIMoEyZMnlM4UF383UQxqH17duXN2/eMH/+fK5fv07Pnj0pX748fn5+bNy4UbFX+cMPP+Dg4KDxPbRBtMYTERERKSSkUimbNm1i8+bNOZryldG9e3dmzJi
"text/plain": [
"<Figure size 576x576 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"57 NODE STAR\n",
"average degree = 1.96\n",
"propagation speed = 1.11\n",
"star4 rounds survived = 64\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"MovieWriter ffmpeg unavailable; using Pillow instead.\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 576x576 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"91 NODE STAR\n",
"average degree = 1.98\n",
"propagation speed = 1.1\n",
"star6 rounds survived = 101\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 576x396 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from network_attack_propagation import weighted_star_experiment \n",
"weighted_star_experiment()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](star_weighted0.gif)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](star_weighted2.gif)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](star_weighted4.gif)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"![](star_weighted6.gif)"
]
},
2022-06-16 20:46:14 +02:00
{
"cell_type": "markdown",
"metadata": {},
"source": [
2022-06-21 16:02:32 +02:00
"## Wnioski\n",
"\n",
"Najszybciej wirus rozprzestrzenia się w pierścieniu, a najwolniej w magistrali."
2022-06-16 20:46:14 +02:00
]
}
],
"metadata": {
"kernelspec": {
2022-06-21 17:25:27 +02:00
"display_name": "Python 3.9.1 64-bit",
2022-06-16 20:46:14 +02:00
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
2022-06-21 17:25:27 +02:00
"version": "3.9.1"
2022-06-21 17:07:27 +02:00
},
"vscode": {
"interpreter": {
2022-06-21 17:25:27 +02:00
"hash": "11938c6bc6919ae2720b4d5011047913343b08a43b18698fd82dedb0d4417594"
2022-06-21 17:07:27 +02:00
}
2022-06-16 20:46:14 +02:00
}
},
"nbformat": 4,
"nbformat_minor": 2
2022-06-21 15:55:33 +02:00
}