Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Bot Computing using the Power of Wiki Collaboration

135 Aufrufe

Veröffentlicht am

Bot computing using the power of Wiki collaboration and an experimental implementation of the bot running environment are discussed. While botnets are usually created for malicious purposes, the bot computing in this study aims to use bots for beneficial purposes. The massively parallel and persistence features of a botnet can enhance its computing power and high availability for beneficial computing. Bot computing can also enhance people’s collaboration by introducing dynamic Web pages to previously static Wiki networks. Parallel dynamic programming for solving a minimal path problem is shown as an example. Resources such as the number of bots and the number of web pages were proportional to the number of nodes, and the time to solve the minimal path problem was proportional to the number of arcs of the minimal path.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Bot Computing using the Power of Wiki Collaboration

  1. 1. Bot Computing using the Power of Wiki Collaboration Takashi Yamanoue Fukuyama University IIAI ESKM 2019@Toyama Japan, July 7
  2. 2. Contents • Introduction • Outline of Bot Computing • Experimental Implementation • Application to Parallel Computing • Related Work • Concluding Remarks #eskm2019
  3. 3. I. INTRODUCTION • Many Network Managers and Security Managers – Encounter problems with Malicious Botnet この写真 の作成者 不明な作成者 は CC BY-NC-ND のライセンスを許諾されて います こ の 写 真 の 作 成 者 不
  4. 4. I. INTRODUCTION • A (Malicious) Botnet is a massively parallel network – It can spread many spam mails – It can carry out DDoS attacks この写真 の作成者 不明な作成者 は CC BY-NC のライセンスを許諾されていま す この写真 の作成者 不明な作成者 は CC BY-SA-NC のライセンスを許諾され ています
  5. 5. I. INTRODUCTION • A (Malicious) Botnet is persistent. – Even if security managers find some of the bots in a botnet and remove them from the network, – The botnet continues to perform malicious activities.
  6. 6. I. INTRODUCTION • However, a Botnet could be useful, – If we used the • massively parallel and • Persistent features – For beneficial purpose #eskm2019
  7. 7. • A wiki [16] page is a website that allows the easy creation and editing of any number of interlinked webpages via a web browser, and can be used as a means of effective collaboration and information sharing. • Wikipedia [17] is a well-known wiki site. I. INTRODUCTION #eskm2019
  8. 8. • If a Wiki is friendly to people, it must also be friendly to machines. • If a machine can read and write data on a Wiki page automatically, people can obtain much more beneficial information. People can also easily control machines through the Wiki page. • Not only machine-to-people and people-to- machine communication but also machine- to-machine communication must be achieved easily. If such communication can be achieved, the Wiki can be much more useful. #eskm2018 1. Introduction (7/10)
  9. 9. I. INTRODUCTION • A bot of this paper, which is the main component of bot computing of this paper, – is a machine that can be controlled by commands and a program in a Wiki page. – In this paper, we discuss what bots can do for us. Wiki
  10. 10. II. OUTLINE OF BOT COMPUTING A. What is Bot Computing • A remote-controlled computer or program is a bot • We define bot computing as computing by bots. • Bot computing is parallel computing. この写真 の作成者 不明な作成者 は CC BY-SA のライセンスを許諾されています
  11. 11. II. OUTLINE OF BOT COMPUTING A. What is Bot Computing • Bots collaboratively perform good actions or bad actions on the Internet. • Bots are also able to perform some physical actions if they are equipped with sensors or actuators. Wiki この写真 の作 成者 不明な作 成者 は CC BY-SA のライ センスを許諾さ この写真 の作成 者 不明な作成者
  12. 12. II. OUTLINE OF BOT COMPUTING B. Wiki Page-type Architecture • Godel Number – Algorithm and Data in the Number • Universal Turing Machine – Algorithm and Data on a tape • Von Newman architecture – Program and Data on a Memory • Bot computing uses Wiki page-type architecture – Programs and Data on Wiki Pages
  13. 13. II. OUTLINE OF BOT COMPUTING C. Collaborative Computing • A Wiki network – is usually used for collaborative work. Many previous Wiki pages of the Wiki network are static and updated by people. #eskm2019
  14. 14. II. OUTLINE OF BOT COMPUTING C. Collaborative Computing • Our bot computing enhances collaboration of the Wiki network by introducing a dynamic feature to Wiki pages. • If the user A owns A’s Wiki page (Wiki-A) and A’s bot is controlled by Wiki-A, then Wiki-A can be a dynamic Wiki page that collects information from other Wiki pages, analyzes the information, and writes back the results of the analysis to Wiki-A. If another user B owns B’s Wiki page and B’s bot is controlled by Wiki-B, then Wiki-B also can be another dynamic Wiki page which collects information from Wiki-A and other Wiki pages, analyzes the information, and writes back the results of the analysis to Wiki-B, and so on (Fig. 1). • data flow computing. • a service-oriented architecture (SOA) [10].
  15. 15. II. OUTLINE OF BOT COMPUTING D. Behavior of a Bot This Fig. shows… PS. It is possible that both the user of the Wiki page and the bot update the Wiki page simultaneously. However, fortunately, Wiki software is usually equipped with a mutual exclusion function for multiple updating.
  16. 16. II. OUTLINE OF BOT COMPUTING E. Class Pages and Object Page • Bot computing is also object- oriented computing [11]. • an object is the combination of a Wiki page and a bot, and a class is the commands and the program which is written on the Wiki page. Bot computing is also object-oriented computing [11]. In our bot computing, an object is the combination of a Wiki page and a bot, and a class is the commands and the program which is written on the Wiki page.
  17. 17. • Some bots in bot computing use the same commands and the same program. • It is annoying to write the same commands and the same program to each Wiki page, so, as in object-oriented programming, bot computing might have a class page for sharing common commands and common programs among the Wiki pages of such objects. • We call a Wiki page of objects an object page. An object page uses the “include” command for a class page when sharing the common class among object pages.
  18. 18. II. OUTLINE OF BOT COMPUTING F. High Availability • Malicious botnets are persistent. • Just like a malicious botnet, our bot computing has a high availability feature by introducing crossover including to Wiki pages and crossover execution to bots.
  19. 19. III. EXPERIMENTAL IMPLEMENTATION • We used PukiWiki [12] for the Wiki software and Java for the bots. • We have written an API for reading and writing Web pages of PukiWiki, and the bots use the API. • Bots can run on various kinds of platforms, including Raspberry Pi. この写真 の作成者 不明な作成者 は CC BY-NC のライセンスを許諾さ れています
  20. 20. III. EXPERIMENTAL IMPLEMENTATION • We assume that PukiWiki servers of the environment are placed on the Internet. • In addition, a bot can run in a LAN which is separated from the PukiWiki server by a NAT or NAPT router.
  21. 21. III. EXPERIMENTAL IMPLEMENTATION A. Simple Example Class page
  22. 22. III. EXPERIMENTAL IMPLEMENTATION A. Simple Example • Object Page, before execution
  23. 23. III. EXPERIMENTAL IMPLEMENTATION A. Simple Example • Object Page after execution
  24. 24. III. EXPERIMENTAL IMPLEMENTATION B. Embedded Functions • ex(<object>,<command>) – example: page=ex(“connector”, “getpage http://www.page.ex/”) • getResultPart(<page>) – Extract the part of the Page after the “result:” in the page.
  25. 25. III. EXPERIMENTAL IMPLEMENTATION B. Embedded Functions • parseCsv(<csv>,<dataTable>, <rowLabel>,<columnLabel>) – <col-label_1>=<val_1_1>,…,<col-label_n>=<val_1_n>. – <col-label_1>=<val_2_1>,…,<col-label_n>=<val_2_n>. – … #eskm2019 col-label_1 … col_lavel_n 1 val_1_1 val_1_n 2 val_2_1 val_2_n … … …
  26. 26. III. EXPERIMENTAL IMPLEMENTATION B. Embedded Functions • sumif • countif • getindex #eskm2019
  27. 27. IV. APPLICATION TO PARALLEL COMPUTING • We show an experiment to solve the minimal path problem – by parallel dynamic programming as an example of our bot computing.
  28. 28. IV. APPLICATION TO PARALLEL COMPUTING A. Describing Node and Arc Information in an Object Page • We assigned a pair of an object page and a bot to each node. • We denoted arcs, which point to a node, in the object page assigned to the node. • The labels of the nodes are also denoted in the object page.
  29. 29. IV. APPLICATION TO PARALLEL COMPUTING A. Describing Node and Arc Information in an Object Page • Node-4 before execution • objectPage http://bot-4-1.org/index.php?Object or http://bot-4-2.org/index.php?Object • device dev-4-1 or dev-4-2 start after no write for 10 min. • include http://bot.org/index.php?DP or http://bot2.org/index.php?DP • result: • kind="nodeInfo",nodeName="4", startNode="1", selectedNode=0, val=0, path="" • kind="preNode",No=1,url="http://bot-2-1.org/index.php?Object", url2="http://bot-2-2.org/index.php?Object", arcVal=2,val=0,path="" • kind="preNode",No=2,url="http://bot-3-1.org/index.php?Object", url2="http://bot-3-2.org/index.php?Object", arcVal=3,val=0,path="" • currentDevice="dev-4-1", Date=2016/5/27/ 22:10:40
  30. 30. IV. APPLICATION TO PARALLEL COMPUTING A. Describing Node and Arc Information in an Object Page • kind="nodeInfo",nodeName=<node name>, startNode=<start-node>, selectedNode=<number>, val=<val>, path=<path> • Node-4 (Before Execution) kind="nodeInfo",nodeName="node-4", startNode="node-1", selectedNode=0,val=0, path=""
  31. 31. IV. APPLICATION TO PARALLEL COMPUTING A. Describing Node and Arc Information in an Object Page • kind="preNode",No=1,url=<previous-node-1-1>, url2=<previous-node-1-2>, arcVal=<arcVal-1>,val=<val-1>,path=<path-1> … • Node-4 (Before Execution) kind="preNode",No=1,url=“...node-2",url2=“...", arcVal=2,val=0,path="" kind="preNode",No=2,url=“...node-3",url2=“...", arcVal=3,val=0,path=""
  32. 32. IV. APPLICATION TO PARALLEL COMPUTING B. Describing the Class Page
  33. 33. • Node-4 after execution kind="nodeInfo",nodeName="node-4", startNode="node-1", selectedNode=1, val=4, path= “node-1 – node-2 – node-4“ kind="preNode",No=1,url=“...node-2",url2=“...", arcVal=2, val=4,path= “node-1 – node-2" kind="preNode",No=2,url=“...node-3",url2=“...", arcVal=3, val=5, path= “node-1 – node-3" IV. APPLICATION TO PARALLEL COMPUTING B. Describing the Class Page
  34. 34. IV. APPLICATION TO PARALLEL COMPUTING C. Measuring Time for Solving Minimal Path • Theoretical value T=Na(TI/2+TX) Na : Number of the paths of the minimal path TI : Interval time between reading the Object Page. TX: Time between when the page has read and when the execution has done.
  35. 35. IV. APPLICATION TO PARALLEL COMPUTING C. Measuring Time for Solving Minimal Path (a) Minimal path=1-2-4 (b) Minimal path=1-3-6-8-4 Arc number=2 Arc number=4
  36. 36. IV. APPLICATION TO PARALLEL COMPUTING C. Measuring Time for Solving Minimal Path ( c ) minimal Path =1-3-4-8-10-12-14-17-19 Arc number =8
  37. 37. IV. APPLICATION TO PARALLEL COMPUTING C. Measuring Time for Solving Minimal Path
  38. 38. IV. APPLICATION TO PARALLEL COMPUTING C. Measuring Time for Solving Minimal Path Not yet to know When the minimal path have found However, at least, With-in the repetition of node number.
  39. 39. V. RELATED WORK • Malicious Botnet … vs. beneficial bot • Fog computing … no remote control feature • Softwarization of IoT…SDN vs. Wiki page of Bot computing • Javelin … Need Java-enabled Web • WIKI API … APIs for various Wiki Software • Galaxy Wiki …Writing a wiki page is writing source code – Vs. Wiki servers and bots are separated in Bot computing.
  40. 40. V. RELATED WORK • VRRP – High availability of • router. vs. general purpose computing • SETI@Home – Pioneer of massively parallel computing by volunteer computing – No inter-node communication. No general purpose computing vs. inter-node communication, general purpose computing.
  41. 41. V. RELATED WORK • Parallel Dynamic Programming – Speed Up efficiency was important previously.
  42. 42. VI. CONCLUDING REMARKS • the concept of bot computing – using the power of Wiki collaboration and • an experimental implementation of its running environment. • bot computing can – be used for beneficial purposes – enhance the power and availability of the computing. – also be used to enhance people’s collaboration by introducing dynamic Web pages to previously static Wiki networks.
  43. 43. VI. CONCLUDING REMARKS • Showed – Parallel dynamic programming for solving a minimal path problem as an example. • Currently – …have only basic authentication – Have not yet inspected high availability feature • In the future, – enhance the security
  44. 44. Acknowledgement • JSPS KAKENHI Grant Number JP16K00197. • We thank students #eskm2019

×