VOLTTRON Documentation Release 3.5RC1

Total Page:16

File Type:pdf, Size:1020Kb

VOLTTRON Documentation Release 3.5RC1 VOLTTRON Documentation Release 3.5RC1 The VOLTTRON Developer Team June 30, 2016 Contents 1 Installation 3 1.1 Source Code...............................................3 1.2 Bootstrap.................................................3 1.3 Activate..................................................3 1.4 Testing..................................................4 1.5 Execution.................................................4 1.6 Next Steps................................................4 2 License 5 3 Community Resources 7 3.1 Community Resources..........................................7 4 Overview 9 4.1 Definition of Terms............................................9 4.2 Platform Background...........................................9 4.3 Platform Components.......................................... 10 4.4 Agents in the Platform.......................................... 10 4.5 VOLTTRON Version History...................................... 11 5 VOLTTRON Core Services 13 5.1 Base Platform Functionality....................................... 13 5.2 VOLTTRON Historian Framework................................... 19 5.3 VOLTTRON Driver Framework..................................... 25 5.4 VOLTTRON Message Bus........................................ 43 5.5 Service Agents.............................................. 61 5.6 VOLTTRON Security.......................................... 85 5.7 VOLTTRON PNNL Licensed Code................................... 86 6 Developer Resources 91 6.1 Getting Started.............................................. 91 6.2 Agent Development........................................... 103 6.3 Deployment Advice........................................... 156 6.4 Walkthroughs............................................... 161 6.5 Eclipse IDE Setup............................................ 173 7 Example Agents and Uitlities 191 7.1 Example Agents............................................. 191 7.2 Utilities.................................................. 199 i 8 Scalability Experiments 205 8.1 Scalability Setup............................................. 205 8.2 Improvements Based on Results..................................... 207 8.3 Scalability Planning........................................... 207 9 Development History and Roadmap 211 9.1 Migration from 1.2 - 2.0......................................... 211 9.2 Migration from 2.x to 3.x........................................ 211 9.3 3.X drivers................................................ 213 9.4 Migration from 3.0 to 3.5........................................ 214 9.5 Change Logs............................................... 215 9.6 Transitioning from 1.x to 2.x....................................... 217 9.7 VOLTTRON Versions.......................................... 218 10 API Documentation 221 10.1 Services.................................................. 221 10.2 Applications............................................... 260 10.3 Examples................................................. 285 10.4 Volttron.................................................. 294 11 Support 349 12 Indices and tables 351 Python Module Index 353 ii VOLTTRON Documentation, Release 3.5RC1 Contents: Contents 1 VOLTTRON Documentation, Release 3.5RC1 2 Contents CHAPTER 1 Installation VOLTTRON requires the following dependencies in order to bootstrap the development environment. • Essential build tools (gcc, make, autodev-tools, etc.) • Python development files (headers) • Openssl. • Git (Optional) On Debian-based systems, these can all be installed with the following command: sudo apt-get update sudo apt-get install build-essential python-dev openssl libssl-dev libevent-dev git On Arch Linux, the following command will install the dependencies: sudo pacman -S base-devel python2 openssl libssl-dev libsodium 1.1 Source Code To work with the latest devlopment code clone from the develop branch by using the following git command. git clone https://github.com/VOLTTRON/volttron/ -b develop To work with the latest stable code clone the master branch using the following git command. git clone https://github.com/VOLTTRON/volttron/ 1.2 Bootstrap To create a development environment, execute the following in the project root directory. python2.7 bootstrap.py 1.3 Activate Activating the shell sets the correct environment for executing a volttron instance. From the project root directory execute the following. 3 VOLTTRON Documentation, Release 3.5RC1 source env/bin/activate Note that an ‘activated’ command prompt is like the following .. code-block:: bash (volttron)user@machine $ 1.4 Testing VOLTTRON uses py.test as a framework for executing tests. py.test is not installed with the distribution by default. To install py.test and it’s dependencies execute the following: python bootstrap.py --testing To run all of the tests in the volttron repository execute the following in the root directory using an activated command prompt: py.test 1.5 Execution To start a default instance of volttron from an activated command prompt execute the following. volttron -vv Or to start volttron in the background with logging to a file called volttron.log execute the following. volttron -vv -l volttron.log& 1.6 Next Steps • agent-development 4 Chapter 1. Installation CHAPTER 2 License Copyright (c) 2013-2016, Battelle Memorial Institute All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the follow- ing disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, IN- CIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSI- NESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CON- TRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAM- AGE. The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. This material was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor the United States Department of Energy, nor Battelle, nor any of their employees, nor any jurisdiction or organization that has cooperated in the development of these materials, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness or any information, apparatus, product, software, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government or any agency thereof, or Battelle Memorial Institute. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or any agency thereof. PACIFIC NORTHWEST NATIONAL LABORATORY operated by BATTELLE for the UNITED STATES DEPART- MENT OF ENERGY under Contract DE-AC05-76RL01830 5 VOLTTRON Documentation, Release 3.5RC1 6 Chapter 2. License CHAPTER 3 Community Resources 3.1 Community Resources 3.1.1 Mailing List Join the mailing list by emailing [email protected]. 3.1.2 Office Hours PNNL hosts office hours every other week on Fridays at 10:30 AM (PST). These meetings are designed to be very informal where VOLTTRON developers can answer specific questions about the inner workings of VOLTTRON. These meetings are also available for topical discussions of different aspects of the VOLTTRON platform. Currently the office hours are available through a Lync meeting. Join Lync Meeting Dial in Number: 1-866-528-1882 Conference Number: 886916 7 VOLTTRON Documentation, Release 3.5RC1 8 Chapter 3. Community Resources CHAPTER 4 Overview 4.1 Definition of Terms • JsonRPC: JSON-encoded remote procedure call • JSON: JavaScript object notation is a text-based, human-readable, open data interchange format, similar to XML, but much better • Publish/subscribe: A message delivery pattern where senders (publishers) and receivers (subscribers) do not communicate directly nor necessarily have knowledge of each other, but instead exchange messages through an intermediary based on a mutual class or topic • ZeroMQ or ØMQ: A library used for interprocess and intercomputer communicationc • Modbus: Communications protocol for talking with industrial electronic devices • SSH: Secure shell is a network protocol providing encryption and authentication of data using public-key cryp- tography • SSL: Secure sockets layer is a technology for encryption and authentication of network
Recommended publications
  • 2015 Open Source Yearbook
    Opensource.com/yearbook . ........ OPENSOURCE.COM ................... Opensource.com publishes stories about creating, adopting, and sharing open source solutions. Visit Opensource.com to learn more about how the open source way is improving technologies, education, business, government, health, law, entertainment, humanitarian efforts, and more. Submit a story idea: https://opensource.com/story Email us: [email protected] Chat with us in Freenode IRC: #opensource.com Twitter @opensourceway: https://twitter.com/opensourceway Google+: https://plus.google.com/+opensourceway Facebook: https://www.facebook.com/opensourceway Instagram: https://www.instagram.com/opensourceway FROM THE EDITOR ............................. Dear Open Source Yearbook reader, The “open source” label was created back in 1998, not long after I got my start in tech publishing [1]. Fast forward to late 2014, when I was thinking about how much open source technologies, commu- nities, and business models have changed since 1998. I realized that there was no easy way—like a yearbook—to thumb through tech history to get a feel for open source. Sure, you can flip through the virtual pages of a Google search and read the “Best of” lists collected by a variety of technical publications and writers, much like you can thumb through newspapers from the 1980s to see the how big we wore our shoulder pads, neon clothing, and hair back then. But neither research method is particularly efficient, nor do they provide snapshots that show diversity within communities and moments of time. The idea behind the Open Source Yearbook is to collaborate with open source communities to collect a diverse range of stories from the year.
    [Show full text]
  • Practical Migration to Linux on System Z
    Front cover Practical Migration to Linux on System z Overview and migration methodology Migration analysis Hands-on migration case study Lydia Parziale Joseph Apuzzo Saulo Augusto M Martins da Silva Louis Henderson Manoj Srinivasan Pattabhiraman Richard Sewell ibm.com/redbooks International Technical Support Organization Practical Migration to Linux on System z October 2009 SG24-7727-00 Note: Before using this information and the product it supports, read the information in “Notices” on page xi. First Edition (October 2009) This edition applies to z/VM Version 5.3 and Version 5.4, Novell SUSE Linux Enterprise Server Version 10 and Version 11, and Red Hat Enterprise Linux Version 5.3. © Copyright International Business Machines Corporation 2009. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . xi Trademarks . xii Preface . xv The team who wrote this book . xv Become a published author . xviii Comments welcome. xviii Part 1. Overview and migration methodology . 1 Chapter 1. Migration considerations . 3 1.1 Reason to migrate systems. 4 1.1.1 How green is your data center . 4 1.1.2 The IBM Big Green server consolidation . 7 1.2 Benefits of migrating to Linux on System z . 7 1.3 Reasons to select Linux on System z . 9 1.3.1 System z strengths . 10 1.3.2 Value of Linux on System z. 12 1.3.3 Choosing workloads to migrate to IBM System z . 13 1.4 z/VM virtualization for Linux on IBM System z .
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Security Features of VOLTTRON™ Distributed Sensing and Control Platform (2017)
    PNNL-26560 Security Features of VOLTTRON™ Distributed Sensing and Control Platform (2017) June 2017 BA Akyol JN Haack CH Allwardt KE Monson MC Roup PNNL-SA-26560 Security Features of VOLTTRON™ Distributed Sensing and Control Platform (2017) BA Akyol JN Haack CH Allwardt KE Monson MC Roup June 2017 Prepared for the U.S. Department of Energy under Contract DE-AC05-76RL01830 This document updates PNNL-SA-106580. Pacific Northwest National Laboratory Richland, Washington 99352 Contents 1.0 Introduction ....................................................................................................................................... 1.1 2.0 VOLTTRON Security Philosophy .................................................................................................... 2.2 3.0 Threat Model ..................................................................................................................................... 3.5 4.0 Summary of VOLTTRON Security Features .................................................................................. 4.15 i Introduction VOLTTRON™1 enables rapid authoring and secure deployment of autonomous software agents for distributed sensing and controls. It is designed to be as secure as possible to meet desired security objectives; however, no software can be 100 percent secure and useful at the same time. Therefore, VOLTTRON uses a threat model approach for determining threats and vulnerabilities of the software and to reasonably reduce the attack surface and/or harm endured after a compromise. VOLTTRON
    [Show full text]
  • List of TCP and UDP Port Numbers - Wikipedia, the Free Encyclopedia List of TCP and UDP Port Numbers from Wikipedia, the Free Encyclopedia
    8/21/2014 List of TCP and UDP port numbers - Wikipedia, the free encyclopedia List of TCP and UDP port numbers From Wikipedia, the free encyclopedia This is a list of Internet socket port numbers used by protocols of the Transport Layer of the Internet Protocol Suite for the establishment of host-to-host connectivity. Originally, port numbers were used by the Network Control Program (NCP) which needed two ports for half duplex transmission. Later, the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) needed only one port for bidirectional traffic. The even numbered ports were not used, and this resulted in some even numbers in the well-known port number range being unassigned. The Stream Control Transmission Protocol (SCTP) and the Datagram Congestion Control Protocol (DCCP) also use port numbers. They usually use port numbers that match the services of the corresponding TCP or UDP implementation, if they exist. The Internet Assigned Numbers Authority (IANA) is responsible for maintaining the official assignments of port numbers for specific uses.[1] However, many unofficial uses of both well-known and registered port numbers occur in practice. Contents 1 Table legend 2 Well-known ports 3 Registered ports 4 Dynamic, private or ephemeral ports 5 See also 6 References 7 External links Table legend Use Description Color Official Port is registered with IANA for the application[1] White Unofficial Port is not registered with IANA for the application Blue Multiple use Multiple applications are known to use this port. Yellow Well-known ports The port numbers in the range from 0 to 1023 are the well-known ports or system ports.[2] They are used by system processes that provide widely used types of network services.
    [Show full text]
  • VOLTTRON Documentation Release 5.0.2
    VOLTTRON Documentation Release 5.0.2 The VOLTTRON Developer Team Apr 20, 2018 Contents 1 Features 3 2 Background 5 3 Installation 7 4 Next Steps 9 5 Acquiring Third Party Agent Code 11 6 Contribute 13 7 Support 15 7.1 License.................................................. 15 Python Module Index 437 i ii VOLTTRON Documentation, Release 5.0.2 VOLTTRONTM is an open-source platform for distributed sensing and control. The platform provides services for collecting and storing data from buildings and devices and provides an environment for developing applications that interact with that data. Contents 1 VOLTTRON Documentation, Release 5.0.2 2 Contents CHAPTER 1 Features Out of the box VOLTTRON provides: • a secure message bus allowing agents to subcribe to data sources and publish results and messages. • secure connectivity between multiple instances. • BACnet, ModBus and other device/system protocol connectivity through our driver framework for collecting data from and sending control actions to buildings and devices. • automatic data capture and retrieval through our historian framework. • platform based agent lifecycle managment. •a web based management tool for managing several instances from a central instance. • the ability to easily extend the functionality of existing agents or create new ones for your specific purposes. 3 VOLTTRON Documentation, Release 5.0.2 4 Chapter 1. Features CHAPTER 2 Background VOLTTRONTM is written in Python 2.7 and runs on Linux Operating Systems. For users unfamiliar with those technologies, the following resources are recommended: • https://docs.python.org/2.7/tutorial/ • http://ryanstutorials.net/linuxtutorial/ 5 VOLTTRON Documentation, Release 5.0.2 6 Chapter 2.
    [Show full text]
  • Nikolai Lifanov 919.348.0211 [email protected]
    Nikolai Lifanov 919.348.0211 [email protected] Summary: Linux/Unix engineer familiar with development, with over a decade of experience building and ​ ​ supporting automated and reliable infrastructures for the web with focus on security, virtualization, data, and storage and strong affinity for open source Skills: Unix Operating Systems: FreeBSD, NetBSD, DragonFly ​ ​ Linux Distributions: Amazon Linux, CentOS, Debian, Gentoo, Arch Linux ​ ​ Microsoft: used Active Directory, IIS 7, Windows XP, Windows 7, Windows 10, Windows Server 2003 ​ ​ RedHat: Katello, Satellite, kickstart (Cobbler), yum, RPM packaging and deployment ​ ​ Systems Programming: expert shell programming (sh, csh, bash, ksh); understand awk, C ​ ​ Software Programming: PHP, Perl, used Common Lisp, Clojure; used Qt with C++; understand Java ​ ​ DevOps: Jenkins, Terraform, Packer, Vagrant, Vault, Consul, Fastlane ​ ​ Virtualization: strong Xen, Citrix XenServer, VMWare vSphere, Jails, bhyve, Docker, VirtualBox, KVM, Zones ​ ​ Cloud: Amazon Web Services; some Google App Engine, familiar with OpenStack ​ ​ Configuration Management: Ansible, Salt Stack, CFengine 3, CFEngine 2 ​ ​ Firewalls: prefer pf; used iptables, ipfw ​ ​ Monitoring: Netdata, Prometheus, Xymon, Nagios (Icinga), Graylog ​ ​ Web: Apache httpd, nginx, Tomcat, Squid, Varnish, Solr ​ ​ Mail: Postfix, Sendmail, Dovecot, Procmail, deliverability, spam management ​ ​ Database: MySQL (MariaDB, Percona and tools), Galera Cluster, PostgreSQL, Redis, and some exposure to Oracle ​ ​ Storage: NetApp, S3, Amazon EFS,
    [Show full text]
  • VOLTTRON Documentation Release 5.0-Rc2
    VOLTTRON Documentation Release 5.0-rc2 The VOLTTRON Developer Team Jan 03, 2018 Contents 1 Features 3 2 Background 5 3 Installation 7 4 Next Steps 9 5 Acquiring Third Party Agent Code 11 6 Contribute 13 7 Support 15 7.1 License.................................................. 15 Python Module Index 423 i ii VOLTTRON Documentation, Release 5.0-rc2 VOLTTRONTM is an open-source platform for distributed sensing and control. The platform provides services for collecting and storing data from buildings and devices and provides an environment for developing applications that interact with that data. Contents 1 VOLTTRON Documentation, Release 5.0-rc2 2 Contents CHAPTER 1 Features Out of the box VOLTTRON provides: • a secure message bus allowing agents to subcribe to data sources and publish results and messages. • secure connectivity between multiple instances. • BACnet, ModBus and other device/system protocol connectivity through our driver framework for collecting data from and sending control actions to buildings and devices. • automatic data capture and retrieval through our historian framework. • platform based agent lifecycle managment. •a web based management tool for managing several instances from a central instance. • the ability to easily extend the functionality of existing agents or create new ones for your specific purposes. 3 VOLTTRON Documentation, Release 5.0-rc2 4 Chapter 1. Features CHAPTER 2 Background VOLTTRONTM is written in Python 2.7 and runs on Linux Operating Systems. For users unfamiliar with those technologies, the following resources are recommended: • https://docs.python.org/2.7/tutorial/ • http://ryanstutorials.net/linuxtutorial/ 5 VOLTTRON Documentation, Release 5.0-rc2 6 Chapter 2.
    [Show full text]
  • Administración Avanzada Del Sistema Operativo GNU Linux Módulo5 Sintonización, Optimización Y Alta Disponibilidad.Pdf
    Sintonización, optimización y alta disponibilidad Remo Suppi Boldrito PID_00238613 GNUFDL • PID_00238613 Sintonización, optimización y alta disponibilidad Índice Introducción .......................................................... 5 Objetivos ............................................................... 7 1. Sintonización, optimización y alta disponibilidad .......... 9 1.1. Aspectos básicos .............................................. 9 1.1.1. Monitorización sobre UNIX System V ................ 10 1.2. Test de rendimiento (Benchmark) .............................. 17 1.2.1. Optimización del sistema ............................. 19 1.2.2. Optimizaciones de carácter general ................... 22 1.2.3. Configuraciones complementarias ................... 24 1.2.4. Resumen de acciones para mejorar un sistema ....... 28 1.3. Monitorización ............................................... 30 1.3.1. Munin ................................................ 31 1.3.2. Monit ................................................ 33 1.3.3. SNMP + MRTG ....................................... 34 1.3.4. Nagios ................................................ 38 1.3.5. Ganglia ............................................... 42 1.3.6. Cacti.................................................. 44 1.3.7. Otras herramientas ................................... 45 1.4. Alta disponibilidad en Linux (High-Availability Linux) ......... 46 1.4.1. Guía simple clúster con Heartbeat para HA con Apache 47 1.4.2. Clúster HA con Corosync+Pacemaker y Nginx ....... 49 1.4.3.
    [Show full text]
  • Debian-Paketmanagement
    Debian-Paketmanagement Axel Beckert und Frank Hofmann Onyx Neon Debian-Paketmanagement ii Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Axel Beckert, Frank Hofmann Das Buch "Debian-Paketmanagement" von Frank Hofmann und Axel Beckert ist lizenziert unter einer Creative Commons Na- mensnennung - Weitergabe unter gleichen Bedingungen 4.0 International Lizenz. Debian-Paketmanagement iii VERSIONSGESCHICHTE NUMMER DATUM BESCHREIBUNG NAME debian/0_2021.03.01- 2021-09- 42-g5ca0d33 17T23:18:06+00:00 Debian-Paketmanagement iv Inhaltsverzeichnis I Konzepte 1 1 Willkommen im Linux-Dschungel! 2 1.1 Was ist Debian?....................................................2 1.2 Debian-Architekturen.................................................3 1.2.1 Debian-Ports-Projekt.............................................3 1.2.2 Pakete für alle Architekturen.........................................4 1.2.3 Multiarch: Mehrere Architekturen gleichzeitig auf einem System......................4 1.2.4 Bevor es Multiarch gab............................................5 1.3 Vom tar.gz zur Linux-Distribution........................................5 1.4 Debians Paketsystem.................................................5 1.5 Welche UNIX-artigen Betriebssysteme verwenden das Paketformat und das APT-Paketmanagement.......6 2 Software in Paketen organisieren 7 2.1 Was ist Paketmanagement...............................................7 2.2 Varianten und Formate für Softwarepakete......................................8 2.3 Softwarestapel und Ebenen..............................................9
    [Show full text]
  • New Methods of Forensic Memory Analysis and Acquisition
    All your System Memory are belong to us: From Low-Level Memory Acquisition to High-Level Forensic Event Reconstruction Von Hauptspeicherakquise auf niedriger Systemebene zu forensischer Ereignisrekonstruktion auf hoher Abstraktionsebene Der Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg zur Erlangung des Doktorgrades Dr.-Ing. vorgelegt von Tobias Latzo aus Forchheim Als Dissertation genehmigt von der Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg Tag der mündlichen Prüfung: 09.07.2021 Vorsitzender des Promotionsorgans: Prof. Dr.-Ing. habil. Andreas P. Fröba Gutachter: Prof. Dr.-Ing. Felix Freiling Prof. Dr. rer. nat. Hans P. Reiser Abstract This thesis comprises two parts. In the first part, we unveil the limitations of forensic event reconstruction with log files. To enhance forensic event reconstruction, we use system call traces treated as log files. System call traces are gained via virtual machine introspection, which analyzes the target system’s memory. System memory analysis, in general, has evolved into an essential part of today’s forensic investigations. For this, memory needs to be acquired first, becoming more difficult with upcoming system security features. Hence, the second part of this thesis is dedicated to memory acquisition techniques. First, we survey the landscape of forensic memory acquisition techniques. Then we introduce new low-layer memory acquisition techniques and tools. In the first part of this thesis, we calculate characteristic fingerprints for various typical Linux administration-related events. We use different standard log files, and additionally, we make use of system call traces. While these turn out to be beneficial for event detection, they have a significant impact on performance.
    [Show full text]
  • Local Service Monitoring Status of Linux Operating Systems
    MASARYK UNIVERSITY FACULTY OF INFORMATICS Local service monitoring status of Linux operating systems BACHELOR THESIS Jakub Svoboda Brno, Spring 2012 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or excerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Jakub Svoboda Advisor: Mgr. Pavel Tuˇcek ii Acknowledgement I’d like to thank to my advisor Mgr. Pavel Tuˇcekfor patiency, guidance, invaluable assistance and encouragement. I’d also like to thank to Jan Koneˇcnýfor programming advices in the course of designing the application. iii Abstract Theoretical part of the thesis analyzes methods of monitoring Linux operating system and monitoring requirements of the Institute of Computer Science. In the practical part of the thesis, Linux monitoring application is designed and implemented. The application is developed as a part of ICS’ Large Enterprise Monitoring (Lemon) project. iv Keywords Linux, monitoring, Mono, Lemon, LinMon v Contents 1 Introduction ....................................... 1 2 Operating system monitoring in general ...................... 2 2.1 Operating system purpose ............................ 2 2.2 Reliability of operating system ......................... 2 2.3 Reasons for monitoring .............................. 3 2.4 Existing GNU/Linux-compatible solutions .................. 3 2.4.1 SYSSTAT . 4 2.4.2 Dstat . 4 2.4.3 vmstat . 4 2.4.4 Collectd . 4 2.4.5 Munin . 5 2.4.6 Nagios, Shinken and Icinga . 5 2.4.7 PCP . 5 2.4.8 Xymon . 5 3 System monitoring at the Institute of Computer Science ............. 7 3.1 Lemon project ..................................
    [Show full text]