Allgemein
Pro Perl Programming
Master intermediate to advanced techniques of the Perl programming language starting with a focus on regular expressions and some of their advanced features. This book then covers other pro-level features, including formatted output, file handling, and more.Additionally, you'll learn and explore the most useful built-in variables, pragmas, and modules available in the Perl language. Furthermore, you'll work with geometry managers and get a thorough treatment of graphical user interface development using Perl/TK and widgets. Lastly, you’ll cover debugging techniques.Pro Perl Programming is a professional-level reference guide on Perl and includes important aspects of it that you need as a professional programmer.WHAT YOU WILL LEARN* Program regular expressions including atoms, smartmatch operators, and moreUse advanced features such as HiRes Time, slurp() functions, Critic, Tidy and many more functions * Handle advanced formatted output such as printf and sprintfExplore useful built-in variables, including status variables, separator variables, and the signal handle variable * Explore and use Perl's built-in modules, including the Pragma modulesWork with Perl/TK and its widgets-like geometry managers, frames, labels, buttons, check buttons, radio buttons, scrollbars, scales, entries, and menusWHO THIS BOOK IS FORThose with at least some prior experience with Perl programming or have read Beginning Perl Programming by William Rothwell.At the impressionable age of 14, WILLIAM "BO" ROTHWELL crossed paths with a TRS-80 Micro Computer System (affectionately known as a “Trash 80”). Soon after the adults responsible for Bo made the mistake of leaving him alone with the TSR-80. He immediately dismantled it and held his first computer class, showing his friends what made this “computer thing” work. Since this experience, Bo’s passion for understanding how computers work and sharing this knowledge with others has resulting in a rewarding career in IT training. His experience includes Linux, Unix, DevOps tools, and programming languages such as Perl, Python, Tcl, and BASH. Chapter One Intermediate Regular Expressions1.1 Review: Basic Regular Expressions1.2 Modifiers1.3 Getting the Nth occurrence of a match1.4 Greedy vs. Non-Greedy matches1.5 Regular Expression variables1.6 Special characters in regular expressions1.7 Assertions1.8 Reading from filehandles using split 1.9 Multiple line matching1.10 Commenting Regular Expressions1.11 Alternative Delimiters1.12 Additional resources1.13 Lab ExercisesChapter Two Advanced Regular Expressions2.1 Make use of the Smartmatch Operator2.2 Understand Regular Expression precedence2.3 Understand what is *NOT* a Regular Expression atom2.4 Using Regular Expressions in List Context2.5 Match whitespace properly2.6 Use \G2.7 Use the \A, \Z and \z assertions2.8 Avoid capturing2.9 Avoid the variables $`, $& and $'2.10 Compile your Regular Expressions before using them2.11 Benchmark your patterns2.12 Use Regexp::Common2.13 Flags you should consider always using2.14 Avoid escapes2.15 Use the re Pragma2.16 Understand backtrackingChapter Three Advanced Features3.1 Use my iterator variables with for loops3.2 Utilize loop labels3.3 Avoid using for file matching3.4 Time::HiRes3.5 Contextual::Return3.6 Indirect Filehandles3.7 The three argument technique to the open statement3.8 Always check the return values of open, close and when printing to a file3.9 Close filehandles as soon as possible3.10 Avoid slurping3.11 Creatively use the do statement3.12 Use the slurp() function3.13 Test for interactivity3.14 Use IO::Prompt3.15 Understand where to find documentation3.16 Understand context3.17 Understand the => operator3.18 Understand subroutine calls3.19 Understand and/or versus &/||3.20 Use Perl::Tidy3.21 Use Perl::Critic3.22 Understand Getopt::Std3.23 Understand Getopt::Long3.24 Alternative commenting technique3.25 Passing notes within a Perl program 3.26 Use Smart::CommentsChapter Four Advanced Formatted Output4.1 Review: The format statement4.2 Advanced format statement features4.3 printf and sprintf4.4 Using select4.5 The operator4.6 Additional Resources4.7 Lab ExercisesChapter Five Exploring Useful Built-in Variables5.1 Perl's built-in variables5.2 Variables reference chart5.3 Use English5.4. Status variables5.5 Separator variables5.6 The signal handle variable5.7 Version of Perl5.8 Program start time5.9 Additional Resources5.10 Lab ExercisesChapter Six Advanced File Handling6.1 Review: Basic File Handling6.2 Displaying the file position6.3 Moving the file position6.4 Opening files for reading and writing6.5 Making "files" within your script6.6 Locking files6.7 Flushing output buffers6.8 Additional Resources6.9 Lab ExercisesChapter Seven Pragmas 7.1 Perl pragmas7.2 Pragma chart7.3 Review: use strict7.4 Predeclaring subroutines7.5 Predeclaring global variables7.6 Additional Resources7.7 Lab ExercisesChapter Eight Exploring Useful Built-in Modules8.1 Built-in modules8.2 Module table8.3 Cwd8.4 Env8.5 File8.6 Math8.7 Sys8.8 Text8.9 Fatal8.10 Benchmark8.11 Getopt::Std8.12 Getopt::Long8.13 Additional Resources8.14 Lab ExercisesChapter Nine Debugging Tools9.1 Review: The -w switch9.2 Review: The Perl debugger9.3 Debugger commands9.4 Diagnostics9.5 Carp9.6 Data::Dumper9.7 Additional Resources9.8 Lab ExercisesChapter Ten Perl/TK Basics10.1 Working with Windows10.2 Types of Widgets10.3 Geometry Managers10.4 Creating Widgets10.5 The OO nature of the Tk module10.6 Additional resources10.7 Lab ExercisesChapter Eleven Perl TK Widgets11.1 Frames11.2 Labels11.3 Buttons11.4 Checkbuttons11.5 Radiobuttons11.6 Listboxes11.7 Scrollbars11.8 Scales11.9 Entries11.10 Creating menus11.11 Additional Resources11.12 Lab ExercisesModule Twelve Geometry Managers12.1 pack options12.2 The -after and -before option12.3 The -anchor and -side options12.4 The -fill option12.5 Padding with pack12.6 Managing widgets with pack12.7 Binding12.8 The focus command 12.9 Additional Resources12.10 Lab Exercises
Getting Started with Containers in Azure
Deploy and execute Microsoft Azure container and containerized applications on Azure. This second book in author Shimon Ifrah’s series on containers will help you manage and scale containers along with their applications, tools and services.You’ll start by setting up the Azure environment and quickly work through techniques and methods of managing container images with Azure Container Registry (ACR). As you move forward, deploying containerized applications with Azure container instances and Azure Kubernetes Service is discussed in detail, and in the process, you’ll see how to install Docker container host on Azure Virtual Machine.This is followed by a discussion on security in Azure containers where you’ll learn how to monitor containers and containerized applications backed by illustrative examples. Next, you will review how to scale containers along with methods for backing up and restoring containers and containerized applications on Azure. Towards the end, the book demonstrates troubleshooting applications and Docker container host issues in Azure.Getting Started with Containers in Azure will equip you to deploy, manage and secure containerized applications using Azure tools and services for containers.WHAT YOU’LL LEARN* Explore containers on Microsoft Azure.* Store Docker images on Azure Container Registry* Automate deployment of container services using Azure CLI and Azure Cloud Shell * Use Azure Container Instances (ACI) for smaller deployment WHO THIS BOOK IS FORAzure administrators, developers, and architects who want to get started and learn more about containers and containerized applications on Microsoft Azure.Shimon Ifrah is an IT professional with over years of experience in the design, management, and deployment of information technology systems and networks. In the last few years Shimon has been specializing in cloud computing and containerized applications on Amazon AWS and other public cloud providers. Shimon also holds more than 20 vendor certificates from Microsoft, AWS, VMware, and Cisco. During his career in the IT industry he has worked for some of the largest managed services and technology companies in the world helping them administer systems for the largest enterprises. He is based out of Melbourne, Australia.CHAPTER 1: GET STARTED WITH MICROSOFT AZURECHAPTER GOAL: Setup your Microsoft Azure environmentNo of pages: 40SUB -TOPICS1. Setup you Azure tenant2. Setup Azure Cloud Shell3. Secure your account4. Azure Container Services overviewCHAPTER 2: STORE AND MANAGE DOCKER CONTAINER IMAGES ON AZURE CONTAINER REGISTRY (ACR)CHAPTER GOAL: Learn how to manage Container images with Azure ACRNO OF PAGES: 40SUB - TOPICS1. Setup Microsoft Azure Container Registry (ACR)2. Push Docker images to Azure Container Registry (ACR)3. Pull images from Azure Container Registry (ACR)4. Manage and secure Azure Container Registry (ACR)CHAPTER 3: DEPLOY CONTAINERIZED APPLICATIONS WITH AZURE CONTAINER INSTANCES (ACI)CHAPTER GOAL: Learn how to deploy Containers and Containerized Applications with Azure ACINO OF PAGES: 40SUB - TOPICS:1. Set up Azure Container Instances (ACI)2. Deploy Linux and Windows Containers to ACI3. Scale containerized applications on ACI4. Monitor and Manage containerized applications on ACICHAPTER 4: DEPLOY CONTAINERIZED APPLICATIONS WITH AZURE KUBERNETES SERVICE (AKS)CHAPTER GOAL: Learn how to deploy Containers and Containerized Applications with Azure AKSNO OF PAGES:SUB - TOPICS:1. Getting started with AKS2. Setup and configure AKS Networking3. Deploy Kubernetes Dashboard (Web UI) on AKS4. Manage and Secure AKSCHAPTER 5: DEPLOY DOCKER CONTAINER HOST ON AZURE VIRTUAL MACHINEChapter Goal: Learn how to deploy Containers and Containerized Applications on Azure VMNO OF PAGES: 40SUB - TOPICS:1. Install Docker Container host on Ubuntu Linux VM2. Install Docker Container Host on Windows Server 2019 VM3. Deploy and manage containers on Azure VM (Linux and Windows)CHAPTER 6: SECURE YOUR MICROSOFT AZURE CONTAINERSCHAPTER GOAL: Learn how to secure and protect Containers and Containerized Applications on AzureNO OF PAGES: 40SUB - TOPICS:1. Protect and manage accounts on Microsoft Azure using Azure AD2. Use Azure Security Center and Secure Score to protect you tenant3. Secure your Containers with Azure Firewall and Network Security Groups (NSG)CHAPTER 7: SCALE CONTAINERS AND CONTAINERIZED APPLICATIONS ON AZURECHAPTER GOAL:Learn how to scale Containers and Containerized Applications on AzureNO OF PAGES: 40SUB - TOPICS:1. Scale Azure Kubernetes Service (AKS)2. Scale Azure Container Instances (ACI)3. Scale Azure Container Registry (ACR)4. Scale Azure Web Apps for Containers5. Scale Azure Docker Container host VMCHAPTER 8: MONITOR CONTAINERS AND CONTAINERIZED APPLICATIONS ON AZURECHAPTER GOAL: Learn how to Monitor Containers and Containerized Applications on AzureNO OF PAGES: 40SUB - TOPICS:1. Monitor Azure Kubernetes Service (AKS)2. Monitor Azure Container Instances (ACI)3. Monitor Azure Container Registry (ACR)4. Monitor Azure Web Apps for Containers5. Monitor Azure Docker Container host VMCHAPTER 9: BACKUP AND RESTORE CONTAINERS AND CONTAINERIZED APPLICATIONS ON AZURECHAPTER GOAL: Backup and Restore Containers and Containerized Applications on AzureNO OF PAGES: 40SUB - TOPICS:1. Backup Azure Kubernetes Service (AKS)2. Backup Azure Container Instances (ACI)3. Backup Azure Container Registry (ACR)4. Backup Azure Web Apps for Containers5. Backup Azure Docker Container host VMCHAPTER 10: TROUBLESHOOTING CONTAINERS AND CONTAINERIZED APPLICATIONS ON AZUREChapter Goal: Learn how to Troubleshoot Containers and Containerized Applications issues on AzureNO OF PAGES: 40SUB - TOPICS:1. Troubleshoot Azure Kubernetes Service (AKS)2. Troubleshoot Azure Container Instances (ACI)3. Troubleshoot Azure Container Registry (ACR)4. Troubleshoot Azure Web Apps for Containers5. Troubleshoot Azure Docker Container host VM
Practical Highcharts with Angular
Learn to create stunning animated and interactive charts using Highcharts and Angular. Use and build on your existing knowledge of HTML, CSS, and JavaScript to develop impressive dashboards that will work in all modern browsers. You will learn how to use Highcharts, call backend services for data, and easily construct real-time data dashboards. You'll also learn how you can club your code with jQuery and Angular. This book provides the best solutions for real-time challenges and covers a wide range of charts including line, area, maps, plot, different types of pie chart, Gauge, heat map, Histogram, stacked bar, scatter plot and 3D charts. After reading this book, you'll be able to export your charts in different formats for project-based learning. Highcharts is one the most useful products worldwide for develop charting on the web, and Angular is well known for speed. Using Highcharts with Angular, developers can build fast, interactive dashboards. Get up to speed using this book today. You will: * Learn how to develop interactive, animated dashboards * Understand how you can implement Highcharts using Angular * Develop a real-time application with the use of WebAPI, Angular, and Highcharts * Create interactive styling themes and colors for a dashboard Learn to create stunning animated and interactive charts using Highcharts and Angular. Use and build on your existing knowledge of HTML, CSS, and JavaScript to develop impressive dashboards that will work in all modern browsers. You will learn how to use Highcharts, call backend services for data, and easily construct real-time data dashboards. You'll also learn how you can club your code with jQuery and Angular. This book provides the best solutions for real-time challenges and covers a wide range of charts including line, area, maps, plot, different types of pie chart, Gauge, heat map, Histogram, stacked bar, scatter plot and 3d charts. After reading this book, you'll be able to export your charts in different formats for project-based learning. Highcharts is one the most useful products worldwide for develop charting on the web, and Angular is well known for speed. Using Highcharts with Angular, developers can build fast, interactive dashboards. Get up to speed using this book today. What You’ll Learn * How to develop interactive, animated dashboards How you can implement Highcharts using Angular * How to develop a real-time application with the use of WebAPI, Angular, and Highcharts How to create interactive styling themes and colors for a dashboard Who This Book Is For This book is aimed at developers, dev leads, software architects, students or enthusiasts who are already familiar with HTML, CSS, and JavaScript. Sourabh Mishra is an Entrepreneur, Developer, Speaker, Author, Corporate Trainer, and Animator. He is a Microsoft guy; he is very passionate about Microsoft technologies and a true .Net Warrior. Sourabh started his career, when he was just 15 years old. He’s loved computers from childhood. His programming experience includes C/C++, Asp.Net, C#, Vb.net, WCF, Sqlserver, Entity Framework, MVC, Web API, Azure, Jquery, Highcharts, and Angular. Sourabh has been awarded a Microsoft Most Valuable Professional (MVP) status. He has zeal to learn new technologies, sharing his knowledge on several online community forums. He is a founder of “IECE Digital” and “Sourabh Mishra Notes”, an online knowledge sharing platform where one can learn new technologies very easily and comfortably. 1. Getting Started with Highcharts.- 2. Concept of Highcharts.- 3. Integrating Highcharts with Angular.- 4. Different Charting Types.- 6. Working with Real-time Data.- 6. Themes and Additional Features in Highcharts.- 7. Building a Real-time Dashboard.
Cognitive Computing
Mit diesem Buch führen die Herausgeber den Begriff „Cognitive Computing“ ein. Unter Cognitive Computing werden verschiedene Technologieansätze wie künstliche neuronale Netze, Fuzzy-Systeme und evolutionäres Rechnen zusammengefasst mit dem Ziel, die kognitiven Fähigkeiten eines Menschen (Denken, Lernen, Schlussfolgern etc.) mithilfe von Computermodellen zu simulieren. Nebst den theoretischen Grundlagen widmet sich das Herausgeberwerk der Vielfalt verschiedener Anwendungsmöglichkeiten und zeigt erste Erfahrungen aus Pionierprojekten. Das Buch richtet sich gleichermaßen an Studierende, Fachleute aller Fachrichtungen sowie den interessierten Anwender. Es hilft dem Leser, die Bedeutungsvielfalt des Begriffs Cognitive Computing zu verstehen und verschiedene Einsatzmöglichkeiten im eigenen Umfeld zu erkennen und zu bewerten.EDY PORTMANN ist Professor für Informatik und Förderprofessor der Schweizerischen Post am Human-IST Institut der Universität Freiburg i. Üe. Zu seinen transdisziplinären Forschungsschwerpunkten zählt das Thema Cognitive Computing sowie die Anwendung dessen auf Städte. Er studierte Wirtschaftsinformatik, Betriebs- und Volkswirtschaftslehre und promovierte in Informatik. Er war u. a. bei Swisscom, PwC und EY tätig. Zudem forschte Edy Portmann an den Universitäten Singapur, Berkeley und Bern.SARA D’ONOFRIO ist Informatik-Doktorandin am Human-IST Institut der Universität Freiburg i.Üe. Sie hat einen zweisprachigen Bachelorabschluss in Betriebswirtschaftslehre, einen Masterabschluss mit Spezialisierung in Wirtschaftsinformatik und einen CAS in Hochschuldidaktik. Des Weiteren besuchte sie Weiterbildungskurse an unterschiedlichen europäischen Universitäten und nahm an verschiedenen Tagungen in Europa, Südamerika und Kanada teil. Ihre Forschungsinteressen sind Cognitive Computing, Innovation Management, Mensch-Maschine-Interaktion und Smart Cities.Cognitive Computing vs. Künstliche Intelligenz - Kreative Systeme - Mensch-Maschinen-Interaktion - Praktische Anwendungsfälle
Designing a HIPAA-Compliant Security Operations Center
Develop a comprehensive plan for building a HIPAA-compliant security operations center, designed to detect and respond to an increasing number of healthcare data breaches and events. Using risk analysis, assessment, and management data combined with knowledge of cybersecurity program maturity, this book gives you the tools you need to operationalize threat intelligence, vulnerability management, security monitoring, and incident response processes to effectively meet the challenges presented by healthcare’s current threats.Healthcare entities are bombarded with data. Threat intelligence feeds, news updates, and messages come rapidly and in many forms such as email, podcasts, and more. New vulnerabilities are found every day in applications, operating systems, and databases while older vulnerabilities remain exploitable. Add in the number of dashboards, alerts, and data points each information security tool provides and security teams find themselves swimming in oceans of data and unsure where to focus their energy. There is an urgent need to have a cohesive plan in place to cut through the noise and face these threats.Cybersecurity operations do not require expensive tools or large capital investments. There are ways to capture the necessary data. Teams protecting data and supporting HIPAA compliance can do this. All that’s required is a plan—which author Eric Thompson provides in this book.WHAT YOU WILL LEARN* Know what threat intelligence is and how you can make it useful* Understand how effective vulnerability management extends beyond the risk scores provided by vendors* Develop continuous monitoring on a budget* Ensure that incident response is appropriate* Help healthcare organizations comply with HIPAAWHO THIS BOOK IS FORCybersecurity, privacy, and compliance professionals working for organizations responsible for creating, maintaining, storing, and protecting patient information.ERIC C. THOMPSON is the author of two previous Apress books: Building a HIPAA Compliant Cybersecurity Program and Cybersecurity Incident Response. He is certified by GIAC in intrusion analysis, incident handling, network forensics, and detection. He is currently Director of Information Security and IT Compliance at Blue Health Intelligence, a company focused on data analytics in the healthcare payer space. He has Implemented and matured all elements of security operations. He is a passionate user of many open-source solutions and loves working with new implementations of Snort, Zeek, and SOF-ELK. He also has significant experience assessing and managing cyber risks and complying with HIPAA.
Cyber-Sicherheit für Dummies
Steht auf Ihrer To-Do-Liste auch, dass Sie unbedingt Ihre privaten Daten besser schützen müssen? Dieses Buch führt Sie in die Grundlagen der Cyber-Sicherheit ein. Sie erfahren zuerst einmal, welche Bedrohungen es überhaupt gibt, wie Sie sie erkennen, wie Sie sich vor Ihnen schützen und was Sie unbedingt tun sollten. Und falls Sie dann doch von einem Angriff betroffen sind, wie Sie Ihre Daten wiederherstellen. Dieses Buch hilft Ihnen auch, von vornherein Schwachstellen in Ihren Systemen und Geräten zu erkennen, sodass Cyber-Kriminelle erst gar keine Chance haben. Joseph Steinberg ist Berater für Cyber-Sicherheit und neue Technologien. Er leitet seit über zwei Jahrzehnten Unternehmen in der Informationssicherheitsbranche, schreibt den offiziellen Leitfaden, aus dem viele Chief Information Security Officers (CISOs) für ihre Zertifizierungsprüfungen lernen, und wird als einer der Top-3-Cyber-Sicherheits-Influencer weltweit betrachtet. Seine Erfindungen im Zusammenhang mit der Cyber-Sicherheit haben zu über 150 US-Patentanmeldungen geführt.Über den Autor 9EINLEITUNG23Über dieses Buch 23Wie dieses Buch aufgebaut ist 24Törichte Annahmen über den Leser 24Konventionen in diesem Buch 25Symbole, die in diesem Buch verwendet werden 25Wie es weitergeht 25TEIL I: ERSTE SCHRITTE IN CYBERSICHERHEIT 27KAPITEL 1 WAS IST EIGENTLICH CYBERSICHERHEIT? 29Cybersicherheit definieren 29Entwicklung von Cybersicherheit 30Technologischer Wandel 31Gesellschaftlicher Wandel 33Wandel von Geschäftsmodellen 34Politischer Wandel 34Risiken mit Cybersicherheit minimieren 38Die Ziele von Cybersicherheit: Die CIA-Triade 38Risiken für den Menschen 39KAPITEL 2 DIE HÄUFIGSTEN CYBERANGRIFFE41Angriffe, die Ihnen Schaden zufügen 41Denial-of-Service-Angriffe (DoS) 42Distributed-Denial-of-Service-Angriffe (DDoS) 42Botnetze und Zombies 44Datenzerstörungsangriffe 44Identitätsmissbrauch 45Fake-Websites 45Phishing 46Spear-Phishing 46CEO-Fraud 46Smishing 47Vishing 47Tampering 47Abfangen von Daten 48Datendiebstahl 49Diebstahl persönlicher Daten 49Diebstahl geschäftlicher Daten 49Malware 51Viren 51Würmer 51Trojaner 51Ransomware 52Scareware 53Spyware 53Kryptominer 53Adware 54Blended Malware 54Zero-Day-Malware 54Poisoned-Web-Service-Angriffe 54Poisoning-Angriffe auf Netzwerkinfrastrukturen 55Malvertising 56Drive-by-Downloads 56Diebstahl von Passwörtern 57Mangelnde Wartung als Einfallstor 58Fortgeschrittene Angriffe 58Opportunistische Angriffe 59Gezielte Angriffe 59Gemischte Angriffe (opportunistisch und gezielt) 60KAPITEL 3 DEN FEIND KENNENLERNEN 61Von bösen und von guten Jungs 61Böse Jungs, die nichts Gutes im Schilde führen 63Script-Kiddies 63Hacker, die keine Kiddies sind 63Nationen und Staaten 64Wirtschaftsspione 64Kriminelle 64Hacktivisten 65Hacker und ihre bunten Hüte 66Wie Hacker Geld verdienen 67Direkter Finanzbetrug 67Indirekter Finanzbetrug 68Ransomware 70Kryptominer 71Umgang mit nicht-bösartigen Bedrohungen 71Menschliches Versagen 71Externe Katastrophen 73Angreifer abwehren 77Risiken mit verschiedenen Methoden begegnen 78TEIL II: IHRE PERSÖNLICHE SICHERHEIT VERBESSERN 79KAPITEL 4 BEWERTUNG IHRER AKTUELLEN SICHERHEITSLAGE81Die Bestandsaufnahme 81Heimcomputer 82Mobilgeräte 82Gaming-Systeme 83Geräte aus dem Universum des Internets der Dinge 83Netzwerkausrüstung 83Arbeitsumgebung 84Social Engineering 84Risiken erkennen 84Gefahrenabwehr 84Verteidigung des Perimeters 85Router mit Firewall 85Sicherheitssoftware 87Physischer Schutz Ihres Computers 87Backups 88Gefahr erkannt, Gefahr gebannt 88Wiederherstellen 88Aus Fehlern lernen 88Bewertung Ihrer aktuellen Sicherheitsmaßnahmen 88Software 89Hardware 90Versicherung 90Wissen ist Macht 91Privatsphäre 91Erst nachdenken, dann teilen 91Erst nachdenken, dann posten 92Allgemeine Tipps zum Schutz der Privatsphäre 93Sicheres Onlinebanking 95Smart und sicher 96KAPITEL 5 PHYSISCHE SICHERHEIT VERBESSERN99Die Bedeutung des physischen Schutzes verstehen 99Bestandsaufnahme 100Ortsfeste Geräte 101Mobile Geräte 101Gefährdete Daten identifizieren 102Einen Plan für physische Sicherheit erstellen 103Physische Sicherheit umsetzen 104Sicherheit für mobile Geräte 106Mitwisser sind die größte Gefahr 106TEIL III: SCHÜTZEN SIE SICH – VOR SICH SELBST 109KAPITEL 6 IHRE KONTEN SICHERN111Wiegen Sie sich nicht in falscher Sicherheit – Sie sind ein Ziel! 111Externe Konten sichern 112Daten in Nutzerkonten sichern 112Seriöse Anbieter 113Offizielle Apps und vertrauenswürdige Softwarequellen 113Root und Jailbreak – keine gute Idee 113Sparsam mit sensiblen Daten umgehen 113Sichere Zahlungsdienstleister nutzen 114Konten überwachen und Verdächtiges melden 114Passwortstrategie und Zwei-Faktor-Authentifizierung 114Abmelden, bitte! 116Mein Computer, mein Telefon 117Getrennte Computer und getrennte Browser 117Geräte sichern 117Software aktualisieren 117Aufgepasst bei öffentlichen WLAN-Netzwerken 118Sich selbst Grenzen setzen 119Benachrichtigungen aktivieren 119Wer war bei meinem Konto angemeldet? 119Auf Betrugsalarm reagieren 120Verschlüsselte Websites besuchen 120Vor Social Engineering schützen 121Links sind tabu 121Social Media mit Sinn und Verstand 122Datenschutzerklärungen lesen 122Daten schützen bei Anbietern, mit denen Sie interagiert haben 123Daten schützen bei Anbietern, mit denen Sie nicht interagiert haben 124KAPITEL 7 PASSWÖRTER127Passwörter – die ursprüngliche Authentifizierung 127Einfache Passwörter vermeiden 128Überlegungen zum Thema Passwörter 128Leicht zu erratende Passwörter 129Komplizierte Passwörter sind nicht immer besser 130Unterschiedliche Passwörter für unterschiedliche Zwecke 130Was ist ein sensibles Konto? 131Passwörter mehrfach verwenden – ab und zu erlaubt 131Mit Passwortmanagern das Gedächtnis entlasten 131Einprägsame und starke Passwörter 132Passwörter ändern – wann und wie oft 133Passwort nach einem Vorfall ändern 134Passwörter an Menschen weitergeben 135Passwörter speichern 135Passwörter übermitteln 135Alternativen für Passwörter finden 136Biometrische Authentifizierung 136SMS-basierte Authentifizierung 138App-basierte Einmalpasswörter 138Authentifizierung mit Hardware-Token 138USB-basierte Authentifizierung 139KAPITEL 8 SOCIAL ENGINEERING VERHINDERN141Technologie ist nicht vertrauenswürdig 141Formen von Social-Engineering-Angriffen 141Die sechs Prinzipien des Social Engineerings 145Freigiebigkeit in den sozialen Medien 146Kalender und Reisepläne 146Finanzinformationen 147Persönliche Informationen 147Berufliche Informationen 149Medizinische oder juristische Ratschläge 149Standort 149Vorsicht bei viralen Trends 150Falsche Kontakte in den sozialen Netzwerken 150Foto 151Verifizierung 151Gemeinsame Freunde oder Kontakte 151Relevante Beiträge 152Anzahl der Kontakte 152Branche und Wohnort 152Ähnliche Anfragen 153Duplikate 153Kontaktinformationen 153LinkedIn-Premium-Status und -Empfehlungen 153Gruppenaktivitäten 154Stimmen die Verhältnisse? 154Was macht einen Menschen zum Menschen? 154Klischeehafte Namen 155Kenntnisse 155Rechtschreibung 155Verdächtige Laufbahn 155Prominente 156Sicherheit durch falsche Informationen 156Sicherheitssoftware 157Allgemeine Cyberhygiene 157KAPITEL 9 CYBERSICHERHEIT FÜR SELBSTSTÄNDIGE UND FREIBERUFLER159Cybersicherheit ist Ihre Verantwortung 159Versicherung gegen Cyberschäden 159Gesetze und Vorschriften einhalten 160Datenschutzgrundverordnung 160Bundesdatenschutzgesetz 161Internetzugriff regeln 161Gastzugang 161Eingehende Verbindungen 162Gegen DoS-Angriffe verteidigen 164Website mit HTTPS 164Fernzugriff auf Systeme 164Vorsicht bei IoT-Geräten 164Verschiedene Netzwerke 165Vorsicht bei Kartenzahlung 165Gegen Stromausfall sichern 165KAPITEL 10 NEUE TECHNOLOGIEN BRINGEN NEUE GEFAHREN167Das Internet der Dinge 167Kryptowährungen und Blockchain 169Künstliche Intelligenz 171Wachsender Bedarf für Cybersicherheit 172Einsatz als Cybersicherheitstool 173Einsatz als Hacking-Tool 173Virtual Reality erleben 174Augmented Reality erleben 175TEIL IV: EINEN SICHERHEITSVORFALL HÄNDELN 177KAPITEL 11 EINEN SICHERHEITSVORFALL ERKENNEN179Offensichtliche Vorfälle erkennen 179Ransomware 180Defacement 180Angebliche Zerstörung von Daten 181Versteckte Vorfälle erkennen 182Verlangsamtes Gerät 182Kein Start des Task-Managers 183Kein Start des Registrierungs-Editors 183Probleme mit Latenz 184Verbindungsprobleme und Buffering 184Geänderte Geräteeinstellungen 185Versand und Empfang seltsamer E-Mails 186Versand und Empfang seltsamer Textnachrichten 186Neue und unbekannte Software 186Akkuprobleme und Hitzeentwicklung 186Veränderte Dateien 187Ungewöhnliche Darstellung von Websites 187Unerwarteter Proxy-Server 187Fehlerhafte Programme und Apps 188Deaktivierte Sicherheitsprogramme 188Erhöhter Datenverbrauch und Anzahl der SMS 188Erhöhter Netzwerkverkehr 189Ungewöhnliche geöffnete Ports 189Häufige Systemabstürze 190Ungewöhnlich hohe Telefonrechnung 190Zugriffsanforderung durch unbekannte Programme 190Aktivierung externer Geräte 191Wer hat die Kontrolle über Ihr Gerät? 191Neue Standardsuchmaschine 191Geändertes Gerätepasswort 191Aufdringliche Popups 191Neue Browser-Add-Ons 193Neue Browser-Startseite 193Blockierung von E-Mails durch Spamfilter 193Zugriff auf problematische Websites 194Ungewöhnliche Unterbrechungen 194Geänderte Spracheinstellungen 194Unerklärliche Geräteaktivitäten 194Unerklärliche Online-Aktivitäten 194Plötzliche Neustarts 195Bekanntes Datenleck 195Weiterleitung zur falschen Website 195Ein brennendes Festplattenlämpchen 195Anderes abnormales Verhalten 195KAPITEL 12 NACH EINEM SICHERHEITSVORFALL 197Vorsicht ist besser als Nachsicht 197Ruhig und besonnen handeln 197Einen Profi engagieren 198Maßnahmen ohne professionelle Unterstützung 198Schritt 1: Was ist passiert (oder passiert gerade)? 199Schritt 2: Den Angriff eindämmen 199Schritt 3: Den Angriff beenden und beseitigen 201Beschädigte Software neu installieren 204Neustart und Scan 204Problematische Wiederherstellungspunkte löschen 205Einstellungen wiederherstellen 205System neu aufsetzen 206Umgang mit gestohlenen Daten 206Lösegeld zahlen – oder nicht? 208Lehren für die Zukunft 208Umgang mit Datenlecks eines Anbieters 208Grund für die Mitteilung 209Vorfälle rufen Betrüger auf den Plan 209Passwörter 210Zahlungsdaten 210Dokumente von Behörden 211Dokumente von Uni oder Arbeitgeber 211Konten in den sozialen Medien 211TEIL V: BACKUPS UND WIEDERHERSTELLUNG 213KAPITEL 13 BACKUPS215Backups sind Pflicht und keine Kür 215Verschiedene Formen von Backups 216Vollständige Systemsicherung 216Wiederherstellungsimage 217Später erstellte Systemimages 217Original-Installationsmedien 217Heruntergeladene Software 218Vollständiges Daten-Backup 218Inkrementelles Backup 219Differenzielles Backup 219Gemischte Backups 220Kontinuierliche Backups 220Partielle Backups 220Backups von Ordnern 221Backups von Laufwerken 222Backups von virtuellen Laufwerken 222Ausnahmen 223Programminterne Backup-Funktionen 224Backup-Tools kennenlernen 224Backup-Software 224Laufwerksspezifische Backup-Software 225Windows-Sicherung 225Smartphone- und Tablet-Backup 226Manuelles Kopieren von Dateien oder Ordnern 226Automatisiertes Kopieren von Dateien oder Ordnern 227Backups von Drittanbietern 227Der richtige Aufbewahrungsort für Backups 228Lokale Aufbewahrung 228Offsite-Aufbewahrung 228Cloud-Backups 229Netzwerkspeicherung 229Verschiedene Aufbewahrungsorte 230Tabus für die Aufbewahrung von Backups 230Verschlüsselung von Backups 231Häufigkeit von Backups 232Backups entsorgen 232Backups testen 234Backups von Kryptowährungen 234Backups von Passwörtern 235Ein Bootmedium erstellen 235KAPITEL 14 GERÄTE ZURÜCKSETZEN 237Die zwei Arten des Zurücksetzens 237Soft Reset 238Hard Reset 240Ein Gerät nach einem Hard Reset neu einrichten 245KAPITEL 15 AUS BACKUPS WIEDERHERSTELLEN247Der Tag der Wiederherstellung wird kommen 247Warten Sie mit der Wiederherstellung! 248Eine vollständige Systemsicherung wiederherstellen 248Wiederherstellung auf dem gleichen Gerät 249Wiederherstellung auf einem anderen Gerät 249Wiederherstellungsimages 250Wiederherstellung aus später erstellen Systemimages 250Sicherheitssoftware installieren 251Original-Installationsmedien 251Heruntergeladene Software 251Wiederherstellung aus einem vollständigen Daten-Backup 252Wiederherstellung aus inkrementellen Backups 253Inkrementelle Backups von Daten 253Inkrementelle Backups von Systemen 254Wiederherstellung aus differenziellen Backups 254Wiederherstellung aus kontinuierlichen Backups 255Wiederherstellung aus partiellen Backups 255Wiederherstellung aus Ordner-Backups 256Wiederherstellung von Laufwerk-Backups 256Wiederherstellung aus virtuellen Laufwerken 257Umgang mit gelöschten Dateien 258Ausschluss von Dateien und Ordnern 258Wiederherstellung aus programminternen Backups 259Archive verstehen 259Viele Dateien in einer Datei 260Alte Daten 260Alte Datei-, Ordner- oder Backup-Versionen 260Wiederherstellung mit Backup-Tools 261Wiederherstellung aus dem Dateiversionsverlauf 262Rückkehr zu einem Wiederherstellungspunkt 262Wiederherstellung aus einem Smartphone-/Tablet-Backup 262Wiederherstellung aus einem manuellen Datei- oder Ordner-Backup 263Wiederherstellung von Backups bei Cloudanbietern 264Backups an ihren Ort zurückbringen 264Netzwerkspeicherung 264Wiederherstellung aus verschiedenen Backups 265Wiederherstellung auf anderem Gerät testen 265Wiederherstellung aus verschlüsselten Backups 265Wiederherstellung von Kryptowährungen 265Booten von einem Bootmedium 266TEIL VI: DER TOP-TEN-TEIL 267KAPITEL 16 ZEHN TIPPS ZUR VERBESSERUNG IHRER CYBERSICHERHEIT 269Sie sind ein Ziel! 269Sicherheitssoftware benutzen 270Sensible Daten verschlüsseln 270Backups, Backups, Backups 271Eigene Anmeldedaten 272Auf sichere Authentifizierung achten 272Vorsicht im Umgang mit sozialen Netzwerken 272Netzwerk aufteilen 273Öffentliches WLAN sicher nutzen 273Einen Experten engagieren 273KAPITEL 17 ZEHN ERKENNTNISSE AUS FÜNF SICHERHEITSVORFÄLLEN275Die Hotelkette Marriott 275Der Einzelhändler Target 276Die Filmstudios Sony Pictures 277Die Regierungsbehörde OPM 278Die Krankenversicherung Anthem 279KAPITEL 18 ZEHN TIPPS FÜR DIE NUTZUNG EINES ÖFFENTLICHEN WLANS281Das Handy als mobilen Hotspot nutzen 281WLAN-Verbindung bei Nichtbenutzung deaktivieren 281Keine sensiblen Aufgaben 282Keine Passwörter zurücksetzen 282Einen VPN-Dienst nutzen 282Tor-Browser verwenden 282Verschlüsseln 282Netzwerkfreigaben deaktivieren 282Sicherheitssoftware installieren 283Öffentlich ist nicht gleich öffentlich 283Stichwortverzeichnis 285
Hacking Connected Cars
A field manual on contextualizing cyber threats, vulnerabilities, and risks to connected cars through penetration testing and risk assessment Hacking Connected Cars deconstructs the tactics, techniques, and procedures (TTPs) used to hack into connected cars and autonomous vehicles to help you identify and mitigate vulnerabilities affecting cyber-physical vehicles. Written by a veteran of risk management and penetration testing of IoT devices and connected cars, this book provides a detailed account of how to perform penetration testing, threat modeling, and risk assessments of telematics control units and infotainment systems. This book demonstrates how vulnerabilities in wireless networking, Bluetooth, and GSM can be exploited to affect confidentiality, integrity, and availability of connected cars. Passenger vehicles have experienced a massive increase in connectivity over the past five years, and the trend will only continue to grow with the expansion of The Internet of Things and increasing consumer demand for always-on connectivity. Manufacturers and OEMs need the ability to push updates without requiring service visits, but this leaves the vehicle’s systems open to attack. This book examines the issues in depth, providing cutting-edge preventative tactics that security practitioners, researchers, and vendors can use to keep connected cars safe without sacrificing connectivity. * Perform penetration testing of infotainment systems and telematics control units through a step-by-step methodical guide * Analyze risk levels surrounding vulnerabilities and threats that impact confidentiality, integrity, and availability * Conduct penetration testing using the same tactics, techniques, and procedures used by hackers From relatively small features such as automatic parallel parking, to completely autonomous self-driving cars—all connected systems are vulnerable to attack. As connectivity becomes a way of life, the need for security expertise for in-vehicle systems is becoming increasingly urgent. Hacking Connected Cars provides practical, comprehensive guidance for keeping these vehicles secure. About the Author v Acknowledgments vii Foreword xv Introduction xix Part I Tactics, Techniques, and Procedures 1 Chapter 1 Pre-Engagement 3 Penetration Testing Execution Standard 4 Scope Definition 6 Architecture 7 Full Disclosure 7 Release Cycles 7 IP Addresses 7 Source Code 8 Wireless Networks 8 Start and End Dates 8 Hardware Unique Serial Numbers 8 Rules of Engagement 9 Timeline 10 Testing Location 10 Work Breakdown Structure 10 Documentation Collection and Review 11 Example Documents 11 Project Management 13 Conception and Initiation 15 Definition and Planning 16 Launch or Execution 22 Performance/Monitoring 23 Project Close 24 Lab Setup 24 Required Hardware and Software 25 Laptop Setup 28 Rogue BTS Option 1: OsmocomBB 28 Rogue BTS Option 2: BladeRF + YateBTS 32 Setting Up Your WiFi Pineapple Tetra 35 Summary 36 Chapter 2 Intelligence Gathering 39 Asset Register 40 Reconnaissance 41 Passive Reconnaissance 42 Active Reconnaissance 56 Summary 59 Chapter 3 Threat Modeling 61 STRIDE Model 63 Threat Modeling Using STRIDE 65 Vast 74 Pasta 76 Stage 1: Define the Business and Security Objectives 77 Stage 2: Define the Technical Scope 78 Stage 3: Decompose the Application 79 Stage 4: Identify Threat Agents 80 Stage 5: Identify the Vulnerabilities 82 Stage 6: Enumerate the Exploits 82 Stage 7: Perform Risk and Impact Analysis 83 Summary 85 Chapter 4 Vulnerability Analysis 87 Passive and Active Analysis 88 WiFi 91 Bluetooth 100 Summary 105 Chapter 5 Exploitation 107 Creating Your Rogue BTS 108 Configuring NetworkinaPC 109 Bringing Your Rogue BTS Online 112 Hunting for the TCU 113 When You Know the MSISDN of the TCU 113 When You Know the IMSI of the TCU 114 When You Don’t Know the IMSI or MSISDN of the TCU 114 Cryptanalysis 117 Encryption Keys 118 Impersonation Attacks 123 Summary 132 Chapter 6 Post Exploitation 133 Persistent Access 133 Creating a Reverse Shell 134 Linux Systems 136 Placing the Backdoor on the System 137 Network Sniffing 137 Infrastructure Analysis 138 Examining the Network Interfaces 139 Examining the ARP Cache 139 Examining DNS 141 Examining the Routing Table 142 Identifying Services 143 Fuzzing 143 Filesystem Analysis 148 Command-Line History 148 Core Dump Files 148 Debug Log Files 149 Credentials and Certificates 149 Over-the-Air Updates 149 Summary 150 Part II Risk Management 153 Chapter 7 Risk Management 155 Frameworks 156 Establishing the Risk Management Program 158 SAE J3061 159 ISO/SAE AWI 21434 163 HEAVENS 164 Threat Modeling 166 STRIDE 168 PASTA 171 TRIKE 175 Summary 176 Chapter 8 Risk-Assessment Frameworks 179 HEAVENS 180 Determining the Threat Level 180 Determining the Impact Level 183 Determining the Security Level 186 EVITA 187 Calculating Attack Potential 189 Summary 192 Chapter 9 PKI in Automotive 193 VANET 194 On-board Units 196 Roadside Unit 196 PKI in a VANET 196 Applications in a VANET 196 VANET Attack Vectors 197 802.11p Rising 197 Frequencies and Channels 197 Cryptography 198 Public Key Infrastructure 199 V2X PKI200 IEEE US Standard 201 Certificate Security 201 Hardware Security Modules 201 Trusted Platform Modules 202 Certificate Pinning 202 PKI Implementation Failures 203 Summary 203 Chapter 10 Reporting 205 Penetration Test Report 206 Summary Page 206 Executive Summary 207 Scope 208 Methodology 209 Limitations 211 Narrative 211 Tools Used 213 Risk Rating 214 Findings 215 Remediation 217 Report Outline 217 Risk Assessment Report 218 Introduction 219 References 220 Functional Description 220 Head Unit 220 System Interface 221 Threat Model 222 Threat Analysis 223 Impact Assessment 224 Risk Assessment 224 Security Control Assessment 226 Example Risk Assessment Table 229 Summary 230 Index 233 Alissa Knight has worked in cybersecurity for more than 20 years. For the past ten years, she has focused her vulnerability research into hacking connected cars, embedded systems, and IoT devices for clients in the United States, Middle East, Europe, and Asia. She continues to work with some of the world’s largest automobile manufacturers and OEMs on building more secure connected cars. Alissa is the Group CEO of Brier & Thorn and is also the managing partner at Knight Ink, where she blends hacking with content creation of written and visual content for challenger brands and market leaders in cybersecurity. As a serial entrepreneur, Alissa was the CEO of Applied Watch and Netstream, companies she sold in M&A transactions to publicly traded companies in international markets. Her passion professionally is meeting and learning from extraordinary leaders around the world and sharing her views on the disruptive forces reshaping global markets. Alissa’s long-term goal is to help as many organizations as possible develop and execute on their strategic plans and focus on their areas of increased risk, bridging silos to effectively manage risk across organizational boundaries, and enable them to pursue intelligent risk taking as a means to long-term value creation. You can learn more about Alissa on her homepage at http://www.alissaknight.com, connect with her on LinkedIn, or follow her on Twitter @alissaknight.
Beginning Ballerina Programming
Discover the Ballerina programming language for next-generation microservices and cloud-native application development. This book shows you that Ballerina is a cutting-edge programming language which incorporates many of the latest technological advancements in programming language theory. You'll learn variables and types, modules and functions, flow control, error handling, concurrency, I/O, cloud/network programming, persistence and data access, security and more.Additionally, Beginning Ballerina Programming introduces many foundation computer science topics along the way and doesn’t assume much prior knowledge. For example, when introducing transport-level security, you will get a brief introduction to public-key cryptography, how it is different from private-key cryptography, and why it is needed. This provides an added bonus for you to learn something new and general in computer science.After reading and using this book, you'll be proficient with Ballerina and cloud-first programming and be able to apply these concepts and techniques to your next cloud application developments.WHAT YOU'LL LEARN· Start programming with Ballerina· Gain the basics of network communication and programming· Obtain a solid understanding of services/API development· Effective use of concurrency in programming· Learn the basics of information security and its applications· Persistent data storage and accessWHO THIS BOOK IS FORAbsolute beginners in computer programming: No prior experience with computer programming is expected. This can also be a reference book for experienced developers in other languages, who want to learn a modern programming language.Anjana Fernando is a director and architect at WSO2. He is a key part of WSO2’s Ballerina and ecosystem engineering team where he leads efforts to shape the capabilities offered in related technology areas. He has also contributed to WSO2’s integration-related projects, including the Ballerina programming language, in the areas of the VM, transactions, and data handling. He has carried out several onsite customer engagements providing support for various integration and analytics projects as well. Anjana has a first-class honors degree in software engineering from the Informatics Institute of Technology, Sri Lanka, which is affiliated with the University of Westminster, UK. He also has a masters in computer science from the University of Colombo, School of Computing, where his main research area was distributed systems on the web.Chapter 1: Getting StartedChapter 2: Programming BasicsChapter 3: Lists, Mappings and ObjectsChapter 4: Code OrganizationChapter 5: Error HandlingChapter 6: ConcurrencyChapter 7: Files and I/OChapter 8: Programming the NetworkChapter 9: Information SecurityChapter 10: Database ProgrammingAppendix A: Numbers and Representation
Next-Generation Machine Learning with Spark
Access real-world documentation and examples for the Spark platform for building large-scale, enterprise-grade machine learning applications.The past decade has seen an astonishing series of advances in machine learning. These breakthroughs are disrupting our everyday life and making an impact across every industry.NEXT-GENERATION MACHINE LEARNING WITH SPARK provides a gentle introduction to Spark and Spark MLlib and advances to more powerful, third-party machine learning algorithms and libraries beyond what is available in the standard Spark MLlib library. By the end of this book, you will be able to apply your knowledge to real-world use cases through dozens of practical examples and insightful explanations.WHAT YOU WILL LEARN* Be introduced to machine learning, Spark, and Spark MLlib 2.4.x* Achieve lightning-fast gradient boosting on Spark with the XGBoost4J-Spark and LightGBM libraries* Detect anomalies with the Isolation Forest algorithm for Spark* Use the Spark NLP and Stanford CoreNLP libraries that support multiple languages* Optimize your ML workload with the Alluxio in-memory data accelerator for Spark* Use GraphX and GraphFrames for Graph Analysis* Perform image recognition using convolutional neural networks* Utilize the Keras framework and distributed deep learning libraries with Spark WHO THIS BOOK IS FORData scientists and machine learning engineers who want to take their knowledge to the next level and use Spark and more powerful, next-generation algorithms and libraries beyond what is available in the standard Spark MLlib library; also serves as a primer for aspiring data scientists and engineers who need an introduction to machine learning, Spark, and Spark MLlib.BUTCH QUINTO is founder and Chief AI Officer at Intelvi AI, an artificial intelligence company that develops cutting-edge solutions for the defense, industrial, and transportation industries. As Chief AI Officer, Butch heads strategy, innovation, research, and development. Previously, he was the Director of Artificial Intelligence at a leading technology firm and Chief Data Officer at an AI startup. As Director of Analytics at Deloitte, Butch led the development of several enterprise-grade AI and IoT solutions as well as strategy, business development, and venture capital due diligence. He has more than 20 years of experience in various technology and leadership roles in several industries including banking and finance, telecommunications, government, utilities, transportation, e-commerce, retail, manufacturing, and bioinformatics. Butch is the author of Next-Generation Big Data (Apress) and a member of the Association for the Advancement of Artificial Intelligence and the American Association for the Advancement of Science.
Beginning Microsoft Power BI
Analyze company data quickly and easily using Microsoft’s powerful data tools. Learn to build scalable and robust data models, clean and combine different data sources effectively, and create compelling and professional visuals.BEGINNING POWER BIis a hands-on, activity-based guide that takes you through the process of analyzing your data using the tools that that encompass the core of Microsoft’s self-service BI offering. Starting with Power Query, you will learn how to get data from a variety of sources, and see just how easy it is to clean and shape the data prior to importing it into a data model. Using Power BI tabular and the Data Analysis Expressions (DAX), you will learn to create robust scalable data models which will serve as the foundation of your data analysis. From there you will enter the world of compelling interactive visualizations to analyze and gain insight into your data. You will wrap up your Power BI journey by learning how to package and share your reports and dashboards with your colleagues.Author Dan Clark takes you through each topic using step-by-step activities and plenty of screen shots to help familiarize you with the tools. THIS THIRD EDITION covers the new and evolving features in the Power BI platform and new chapters on data flows and composite models. This book is your hands-on guide to quick, reliable, and valuable data insight.WHAT YOU WILL LEARN* Simplify data discovery, association, and cleansing* Build solid analytical data models* Create robust interactive data presentations* Combine analytical and geographic data in map-based visualizations* Publish and share dashboards and reportsWHO THIS BOOK IS FORBusiness analysts, database administrators, developers, and other professionals looking to better understand and communicate with dataDAN CLARK is a senior business intelligence (BI) and programming consultant specializing in Microsoft technologies. He is focused on learning new BI and data technologies and training others on how to best implement the technology. Dan has published several books and numerous articles on .NET programming and BI development. He is a regular speaker at various developer and database conferences and user group meetings and enjoys interacting with the Microsoft communities. In a previous life, Dan was a physics teacher. He is still inspired by the wonder and awe of studying the universe and figuring out why things behave the way they do.Chapter 1: Introducing Power BIChapter 2: Importing Data into Power BI DesktopChapter 3: Data Munging with Power QueryChapter 4: Creating the Data ModelChapter 5: Creating Calculations with DAXChapter 6: Creating Measures with DAXChapter 7: Incorporating Time IntelligenceChapter 8: Creating Reports with Power BI DesktopChapter 9: Publishing Reports and Creating Dashboards in the Power BI PortalChapter 10: Introducing Power Pivot in ExcelChapter 11: Data Analysis with Pivot Tables and ChartsChapter 12: Creating a Complete SolutionChapter 13: Advanced Topics in Power QueryChapter 14: Advanced Topics in Power BI DesktopChapter 15: Advanced Topics in Power BI Data Modeling
Robotic Process Automation (RPA) im Unternehmen. Erfolgsfaktoren und Empfehlungen für die Einführung
Zahlreiche Aufgaben eines Unternehmens folgen einem strukturierten Ablauf und könnten automatisiert werden. Allerdings treten sie zu selten auf, um den Automatisierungsaufwand zu rechtfertigen. Mit Robotic Process Automation (RPA) soll sich dies ändern: Indem ein Roboter die Eingaben auf einer bestehenden Benutzeroberfläche emuliert, sind keine Änderungen in der Zielapplikation notwendig. Die Automatisierung ist so zeitnah und kostengünstig möglich.Bisher haben viele Unternehmen positive Erfahrungen mit RPA gemacht. Dem stehen jedoch auch eine Reihe gescheiterter Projekte gegenüber. Welche Faktoren entscheiden über Erfolg und Misserfolg bei der Einführung eines RPA-Systems? Björn Freivogel erklärt, wie die Einführung einer Robotic Process Automation gelingt.Dazu gibt er zunächst einen Überblick über das Thema RPA und stellt die Merkmale sowie Funktionsweise von RPA-Systemen vor. Darauf aufbauend untersucht er, welche Eigenschaften geeignete Prozesse haben sollten und wie wichtig eine systematische Auswahl von Prozesskandidaten ist. Freivogel fasst in seiner Publikation nicht nur die theoretischen Grundlagen zusammen, sondern gibt auch praktische Empfehlungen für die RPA-Einführung im Unternehmen.Aus dem Inhalt:- Robotic Desktop Automation;- Agilität;- Agile Vorgehensmethodik;- Business Process Management System;- BPMS
The Internet of Things
PROVIDES COMPREHENSIVE COVERAGE OF THE CURRENT STATE OF IOT, FOCUSING ON DATA PROCESSING INFRASTRUCTURE AND TECHNIQUESWritten by experts in the field, this book addresses the IoT technology stack, from connectivity through data platforms to end-user case studies, and considers the tradeoffs between business needs and data security and privacy throughout. There is a particular emphasis on data processing technologies that enable the extraction of actionable insights from data to inform improved decision making. These include artificial intelligence techniques such as stream processing, deep learning and knowledge graphs, as well as data interoperability and the key aspects of privacy, security and trust. Additional aspects covered include: creating and supporting IoT ecosystems; edge computing; data mining of sensor datasets; and crowd-sourcing, amongst others. The book also presents several sections featuring use cases across a range of application areas such as smart energy, transportation, smart factories, and more. The book concludes with a chapter on key considerations when deploying IoT technologies in the enterprise, followed by a brief review of future research directions and challenges.The Internet of Things: From Data to Insight* Provides a comprehensive overview of the Internet of Things technology stack with focus on data driven aspects from data modelling and processing to presentation for decision making* Explains how IoT technology is applied in practice and the benefits being delivered.* Acquaints readers that are new to the area with concepts, components, technologies, and verticals related to and enabled by IoT* Gives IoT specialists a deeper insight into data and decision-making aspects as well as novel technologies and application areas* Analyzes and presents important emerging technologies for the IoT arena* Shows how different objects and devices can be connected to decision making processes at various levels of abstractionThe Internet of Things: From Data to Insight will appeal to a wide audience, including IT and network specialists seeking a broad and complete understanding of IoT, CIOs and CIO teams, researchers in IoT and related fields, final year undergraduates, graduate students, post-graduates, and IT and science media professionals.EDITED BYJOHN DAVIES, PHD, is Chief Researcher in BT's Research & Innovation Department, UK, where he leads a team focused on Internet of Things technologies. He is a Fellow of the British Computer Society and a Chartered Engineer as well as a Visiting Professor at the Open University and has published over 100 scientific articles. CAROLINA FORTUNA, PHD, is a Research Fellow at the Jo??ef Stefan Institute, Slovenia. She received her PhD in Computer Science in 2013, was a postdoctoral research associate at Ghent University, 2014-2015 and a Visitor at Stanford University in 2017. She has authored over 60 peer reviewed papers, technically led EU-funded research projects and is a consultant to industry. About the Editors xiList of Contributors xiiiAcknowledgments xvii1 INTRODUCTION 1John Davies and Carolina Fortuna1.1 Stakeholders in IoT Ecosystems 31.2 Human and IoT Sensing, Reasoning, and Actuation: An Analogy 41.3 Replicability and Re-use in IoT 51.4 Overview 6References 72 CONNECTING DEVICES: ACCESS NETWORKS 9Paul Putland2.1 Introduction 92.2 Overview of Access Networks 102.2.1 Existing Technologies are Able to Cover a Number of IoT Scenarios 102.3 Low-Power Wide Area Network (LPWAN) 122.3.1 Long-Range (LoRa) Low-Power Wide Area Network 142.3.2 Sigfox Low-Power Wide Area Network 142.3.3 Weightless Low-Power Wide Area Network 152.4 Cellular Technologies 152.4.1 Emerging 5G Cellular Technology 162.5 Conclusion 18References 183 EDGE COMPUTING 21Mohammad Hossein Zoualfaghari, Simon Beddus, and Salman Taherizadeh3.1 Introduction 213.2 Edge Computing Fundamentals 223.2.1 Edge Compute Strategies 223.2.2 Network Connectivity 253.3 Edge Computing Architecture 253.3.1 Device Overview 253.3.2 Edge Application Modules 263.3.3 IoT Runtime Environment 263.3.4 Device Management 273.3.5 Secure Runtime Environment 273.4 Implementing Edge Computing Solutions 283.4.1 Starter Configuration 283.4.2 Developer Tools 283.4.3 Edge Computing Frameworks 293.5 Zero-Touch Device On-boarding 303.6 Applying Edge Computing 323.7 Conclusions 33References 334 DATA PLATFORMS: INTEROPERABILITY AND INSIGHT 37John Davies and Mike Fisher4.1 Introduction 374.2 IoT Ecosystems 384.3 Context 404.4 Aspects of Interoperability 414.4.1 Discovery 414.4.2 Access Control 434.4.3 Data Access 444.5 Conclusion 48References 495 STREAMING DATA PROCESSING FOR IOT 51Carolina Fortuna and Timotej Gale5.1 Introduction 515.2 Fundamentals 525.2.1 Compression 525.2.2 Dimensionality Reduction 525.2.3 Summarization 535.2.4 Learning and Mining 535.2.5 Visualization 535.3 Architectures and Languages 545.4 Stream Analytics and Spectrum Sensing 565.4.1 Real-Time Notifications 575.4.2 Statistical Reporting 575.4.3 Custom Applications 585.5 Summary 59References 606 APPLIED MACHINE VISION AND IOT 63V. García, N. Sánchez, J.A. Rodrigo, J.M. Menéndez, and J. Lalueza6.1 Introduction: Machine Vision and the Proliferation of Smart Internet of Things Driven Environments 636.2 Machine Vision Fundamentals 656.3 Overview of Relevant Work: Current Trends in Machine Vision in IoT 676.3.1 Improved Perception for IoT 676.3.2 Improved Interpretation and Learning for IoT 686.4 A Generic Deep Learning Framework for Improved Situation Awareness 696.5 Evaluating the Impact of Deep Learning in Different IoT Related Verticals 706.5.1 Sensing Critical Infrastructures Using Cognitive Drone-Based Systems 706.5.2 Sensing Public Spaces Using Smart Embedded Systems 716.5.3 Preventive Maintenance Service Comparison Based on Drone High-Definition Images 726.6 Best Practice 746.7 Summary 75References 757 DATA REPRESENTATION AND REASONING 79Maria Maleshkova and Nicolas Seydoux7.1 Introduction 797.2 Fundamentals 807.3 Semantic IoT and Semantic WoT (SWoT) 817.4 Semantics for IoT Integration 827.4.1 IoT Ontologies and IoT-O 837.4.2 The Digital Twin Approach 857.5 Use Case 877.6 Summary 88References 898 CROWDSOURCING AND HUMAN-IN-THE-LOOP FOR IOT 91Luis-Daniel Ibáñez, Neal Reeves, and Elena Simperl8.1 Introduction 918.2 Crowdsourcing 928.3 Human-in-the-Loop 958.4 Spatial Crowdsourcing 978.5 Participatory Sensing 998.6 Conclusion 100References 1019 IOT SECURITY: EXPERIENCE IS AN EXPENSIVE TEACHER 107Paul Kearney9.1 Introduction 1079.2 Why is IoT Security Different from IT Security? 1089.3 What is Being Done to Address IoT Security Challenges? 1109.3.1 Governments 1109.3.2 Standards Bodies 1119.3.3 Industry Groups 1129.4 Picking the Low-Hanging Fruit 1139.4.1 Basic Hygiene Factors 1139.4.2 Methodologies and Compliance Frameworks 1159.4.3 Labeling Schemes and Consumer Advice 1169.5 Summary 117References 11810 IOT DATA PRIVACY 121Norihiro Okui, Vanessa Bracamonte, Shinsaku Kiyomoto, and Alistair Duke10.1 Introduction 12110.2 Basic Concepts in IoT Data Privacy 12210.2.1 What is Personal Data? 12210.2.2 General Requirements for Data Privacy 12310.2.3 Personal Data and IoT 12410.2.4 Existing Privacy Preservation Approaches 12610.2.5 Toward a Standards-Based Approach in Support of PIMS Business Models 12810.3 A Data Handling Framework Based on Consent Information and Privacy Preferences 12910.3.1 A Data Handling Framework 12910.3.2 Privacy Preference Manager (PPM) 13010.3.3 Implementation of the Framework 13110.4 Standardization for a User-Centric Data Handling Architecture 13210.4.1 Introduction to oneM2M 13210.4.2 PPM in oneM2M 13310.5 Example Use Cases 13310.5.1 Services Based on Home Energy Data 13310.5.2 HEMS Service 13310.5.3 Delivery Service 13410.6 Conclusions 137References 13711 BLOCKCHAIN: ENABLING TRUST ON THE INTERNET OF THINGS 141Giampaolo Fiorentino, Carmelita Occhipinti, Antonello Corsi, Evandro Moro, John Davies, and Alistair Duke11.1 Introduction 14111.2 Distributed Ledger Technologies and the Blockchain 14311.2.1 Distributed Ledger Technology Overview 14311.2.2 Basic Concepts and Architecture 14511.2.2.1 Consensus Algorithm 14811.2.3 When to Deploy DLT 14911.3 The Ledger of Things: Blockchain and IoT 15011.4 Benefits and Challenges 15011.5 Blockchain Use Cases 15211.6 Conclusion 154References 15412 HEALTHCARE 159Duarte Gonçalves-Ferreira, Joana Ferreira, Bruno Oliveira, Ricardo Cruz-Correia, and Pedro Pereira Rodrigues12.1 Internet of Things in Healthcare Settings 15912.1.1 Monitoring Patient Status in Hospitals 16012.1.2 IoT from Healthcare to Everyday Life 16012.1.3 Systems Interoperability 16112.2 BigEHR: A Federated Repository for a Holistic Lifelong Health Record 16312.2.1 Why a Federated Design? 16412.2.2 System Architecture 16412.3 Gathering IoT Health-Related Data 16512.3.1 From Inside the Hospitals 16612.3.2 Feeding Data from Outside Sources 16612.4 Extracting Meaningful Information from IoT Data 16712.4.1 Privacy Concerns 16712.4.2 Distributed Reasoning 16712.5 Outlook 168Acknowledgments 169References 16913 SMART ENERGY 173Artemis Voulkidis, Theodore Zahariadis, Konstantinos Kalaboukas, Francesca Santori, and Matev? Vučnik13.1 Introduction 17313.2 Use Case Description 17513.2.1 The Role of 5G in the Smart Grid IoT Context 17713.3 Reference Architecture 17813.4 Use Case Validation 18213.4.1 AMI-Based Continuous Power Quality Assessment System 18313.5 Conclusion 187Acknowledgment 187References 18714 ROAD TRANSPORT AND AIR QUALITY 189Charles Carter and Chris Rushton14.1 Introduction 18914.2 The Air Pollution Challenge 19114.3 Road Traffic Air Pollution Reduction Strategies 19314.4 Monitoring Air Pollution Using IoT 19414.5 Use Case: Reducing Emissions Through an IoT-Based Advanced Traffic Management System 19614.6 Limitations of Average Speed Air Quality Modeling 20114.7 Future Roadmap and Summary 202References 20315 CONCLUSION 207John Davies and Carolina Fortuna15.1 Origins and Evolution 20715.2 Why Now? 20715.2.1 Falling Costs and Miniaturization 20815.2.2 Societal Challenges and Resource Efficiency 20815.2.3 Information Sharing Comes of Age 20815.2.4 Managing Complexity 20815.2.5 Technological Readiness 20815.3 Maximizing the Value of Data 20915.4 Commercial Opportunities 20915.5 A Glimpse of the Future 210References 212Index 213
Practical Oracle SQL
Write powerful queries using as much of the feature-rich Oracle SQL language as possible, progressing beyond the simple queries of basic SQL as standardized in SQL-92.Both standard SQL and Oracle’s own extensions to the language have progressed far over the decades in terms of how much you can work with your data in a single, albeit sometimes complex, SQL statement. If you already know the basics of SQL, this book provides many examples of how to write even more advanced SQL to huge benefit in your applications, such as:* Pivoting rows to columns and columns to rows* Recursion in SQL with MODEL and WITH clauses* Answering Top-N questions* Forecasting with linear regressions* Row pattern matching to group or distribute rows* Using MATCH_RECOGNIZE as a row processing engineThe process of starting from simpler statements in SQL, and gradually working those statements stepwise into more complex statements that deliver powerful results, is covered in each example. By trying out the recipes and examples for yourself, you will put together the building blocks into powerful SQL statements that will make your application run circles around your competitors.WHAT YOU WILL LEARN* Take full advantage of advanced and modern features in Oracle SQL* Recognize when modern SQL constructs can help create better applications* Improve SQL query building skills through stepwise refinement* Apply set-based thinking to process more data in fewer queries* Make cross-row calculations with analytic functions* Search for patterns across multiple rows using row pattern matching* Break complex calculations into smaller steps with subquery factoringWHO THIS BOOK IS FOROracle Database developers who already know some SQL, but rarely use features of the language beyond the SQL-92 standard. And it is for developers who would like to apply the more modern features of Oracle SQL, but don’t know where to start. The book also is for those who want to write increasingly complex queries in a stepwise and understandable manner. Experienced developers will use the book to develop more efficient queries using the advanced features of the Oracle SQL language.KIM BERG HANSEN is a database developer from Middelfart in Denmark. As a youngster he originally wanted to work with electronics, and he tried computer programming and discovered that the programs he wrote worked well—unlike the electronics projects he soldered that often failed. This led to a VIC-20 with 5 kilobytes RAM and many hours programming in Commodore Basic.Having discovered his talent, Kim financed computer science studies at Odense University with a summer job as sheriff of Legoredo, while learning methodology and programming in Modula-2 and C. From there he moved into consulting as a developer making customizations to ERP software. That gave him his first introduction to Oracle SQL and PL/SQL, with which he has worked extensively since the year 2000.His professional passion is to work with data inside the database utilizing the SQL language to the fullest to achieve the best application experience for his application users. With a background fitting programs into 5 KB RAM, Kim hates to waste computing resources unnecessarily.Kim shares his experience and knowledge by blogging at the kibeha.dk website, presenting at various Oracle User Group conferences, and being the SQL quizmaster at the Oracle Dev Gym. His motivation comes from peers who say “now I understand” after his explanations, and from end users who “can’t live without” his application coding. He is a certified Oracle OCE in SQL, and an Oracle ACE Director.Outside the coding world, Kim is married, loves to cook, and is a card-carrying member of the Danish Beer Enthusiasts Association.PART I. CORE SQL1. Correlating Inline Views2. Pitfalls of Set Operations3. Divide and Conquer with Subquery Factoring4. Tree Calculations with Recursion5. Functions Defined Within SQL6. Iterative Calculations with Multidimensional Data7. Unpivoting Columns to Rows8. Pivoting Rows to Columns9. Splitting Delimited Text10. Creating Delimited TextPART II. ANALYTIC FUNCTIONS11. Analytic Partitions, Ordering and Windows12. Answering Top-N Questions13. Ordered Subsets with Rolling Sums14. Analyzing Activity Logs with Lead15. Forecasting with Linear Regression16. Rolling Sums to Forecast Reaching MinimumsPART III. ROW PATTERN MATCHING17. Up and Down Patterns18. Grouping Data Through Patterns19. Merging Date Ranges20. Finding Abnormal Peaks21. Bin Fitting22. Counting Children in Trees
Erforschung und Entwicklung von Communities
DIESES BUCH UNTERSUCHT DIE ENTWICKLUNG VON COMMUNITIES MIT HILFE DES GABEK®-VERFAHRENSWas hält Gemeinschaften zusammen? Diese Frage erforscht dieses Buch über die Entwicklung von Communities. Wichtiges Werkzeug ist dabei das Verfahren GABEK® (GAnzheitliche BEwältigung von Komplexität). Es analysiert u. a. Konzepte, Ontologien, Wertvorstellungen, Meinungen über Ursachen und Wirkungen sowie emotionale Einstellungen, die die Mitglieder einer Community verbinden. Durch eine softwareunterstützte Textanalyse werden sie in Form linguistischer Netze systematisiert. Diese Netze werden wiederum als Meinungslandkarten in unterschiedlichen Komplexitätsstufen dargestellt.Das Buch zeigt, wie Sie auf diese Weise Denk- und Handlungsmuster ableiten, die bei der Entwicklung von Communities oder auch bei der Organisationsentwicklung eine große Rolle spielen. Durch qualitative Textanalysen ermöglicht GABEK das Verständnis der Gesamtsituation und die Theoriebildung. Das Verfahren erleichtert die Konfliktlösung und eine Ausrichtung der Community auf strategische Ziele und Zukunftsvisionen, die von den meisten Betroffenen akzeptiert werden, auch wenn es um Erneuerung und Reformen geht.THEORETISCHE GRUNDLAGEN WERDEN MIT ANWENDUNGSBEISPIELEN VERKNÜPFTNach einer kurzen Beschreibung der qualitativen Methoden des GABEK-Verfahrens, untersucht dieses Buch die Entwicklung von Communities am Beispiel des Stadtteils Tepito in Mexico City. Anschließend befasst sich dieses Werk mit speziellen Themen, die mit der Gemeinschaftsbildung verbunden sind wie etwa:* Sinn- und Bedeutungszusammenhänge* Begriffsanalysen durch Bedeutungszusammenhänge* Von Begriffsnetzen zu Ontologien durch Komplexitätsreduktion* Linguistische Gestaltbildung* Bewusste und unbewusste Wissensverarbeitung* Problemlösung durch den simulierten DialogUm die Entwicklung von Communities aufschlussreich zu untersuchen, liefert Ihnen dieses Buch neben theoretischen Grundlagen auch immer wieder konkrete Anwendungsbeispiele des Verfahrens GABEK, das Sie bei der Entscheidungsfindung und Organisationsentwicklung unterstützt. Abschließend beschreibt der Autor eine Zukunftsvision über die Entwicklung von Communities durch ein System der dynamischen Wissensorganisation. Auf diese Weise zeigt Ihnen dieses Werk mögliche Wege zu einer zukunftsorientierten Entwicklung von Organisationen, Gemeinden, Regionen oder Vereinen und Interessensgemeinschaften auf.PROF. DR. JOSEF ZELGER studierte Philosophie, Psychologie, Theologie und Physik an der Universität Innsbruck. Von 1983 bis 2005 war er als Professor für Philosophie an der geisteswissenschaftlichen Fakultät der Universität Innsbruck tätig. Er war Mitbegründer und über fast drei Jahrzehnte Mitherausgeber der philosophischen Fachzeitschrift CONCEPTUS.
Beginning Unreal Game Development
Get started creating video games using Unreal Engine 4 (UE4) and learning the fundamentals of game development. Through hands-on, step-by-step tutorials, you will learn to design engaging environments and a build solid foundation for more complex games. Discover how to utilize the 3D game design software behind the development of immensely popular games for PC, console, and mobile.Beginning Unreal Game Development steers you through the fundamentals of game development with UE4 to design environments that both engage the player and are aesthetically pleasing. Author David Nixon shows you how to script logic, define behaviors, store data, and create characters. You will learn to create user interfaces, such as menus, load screens, and head-up displays (HUDs), and manipulate audio to add music, sound effects, and dialogue to your game. The book covers level editors, actor types, blueprints, character creation and control, and much more. Throughout the book, you’ll put theory into practice and create an actual game using a series of step-by-step tutorials.With a clear, step-by-step approach, Beginning Unreal Game Development builds up your knowledge of Unreal Engine 4 so you can start creating and deploying your own 3D video games in no time.WHAT YOU WILL LEARN* Learn the fundamentals of game design* Understand how to use Unreal Engine 4* Design amazing levels for your characters to play in* Script logic to control the behavior of the world you createWHO THIS BOOK IS FORThis book is for beginners with no prior game design or programming experience. It is also intended for video game enthusiasts who are brand-new to the world of game development and want to learn how to design a game from scratch using UE4.David Nixon is a professional software developer with a degree in computer science from Florida Atlantic University. He is a lifelong video game aficionado who started with the Atari 2600 and never looked back. He enjoys music, reading, and sports in his spare time.
Codeless Data Structures and Algorithms
In the era of self-taught developers and programmers, essential topics in the industry are frequently learned without a formal academic foundation. A solid grasp of data structures and algorithms (DSA) is imperative for anyone looking to do professional software development and engineering, but classes in the subject can be dry or spend too much time on theory and unnecessary readings. Regardless of your programming language background,CODELESS DATA STRUCTURES AND ALGORITHMShas you covered.In this book, author Armstrong Subero will help you learn DSAs without writing a single line of code. Straightforward explanations and diagrams give you a confident handle on the topic while ensuring you never have to open your code editor, use a compiler, or look at an integrated development environment. Subero introduces you to linear, tree, and hash data structures and gives you important insights behind the most common algorithms that you can directly apply to your own programs.CODELESS DATA STRUCTURES AND ALGORITHMS provides you with the knowledge about DSAs that you will need in the professional programming world, without using any complex mathematics or irrelevant information. Whether you are a new developer seeking a basic understanding of the subject or a decision-maker wanting a grasp of algorithms to apply to your projects, this book belongs on your shelf. Quite often, a new, refreshing, and unpretentious approach to a topic is all you need to get inspired.WHAT YOU'LL LEARN* Understand tree data structures without delving into unnecessary details or going into too much theory* Get started learning linear data structures with a basic discussion on computer memory * Study an overview of arrays, linked lists, stacks and queuesWHO THIS BOOK IS FORThis book is for beginners, self-taught developers and programmers, and anyone who wants to understand data structures and algorithms but don’t want to wade through unnecessary details about quirks of a programming language or don’t have time to sit and read a massive book on the subject. This book is also useful for non-technical decision-makers who are curious about how algorithms work.Armstrong Subero started learning electronics at the age of 8. From then on he got into programming and embedded systems development. Within the realm of programming, he has a special interest in algorithms and data structures and enjoys implementing them in different programming languages and on different processor architectures, particularly resource-constrained systems. He currently works at the Ministry of National Security in his country and he has degrees in computer science as well as liberal arts and sciences from Thomas Edison State University. He is the author of Programming PIC Microcontrollers in XC8 (Apress, 2018).Part 1: Data Structures.-Chapter 1: Intro to DSA, Types and Big-O.-Chapter 2: Linear Data Structures.-Chapter 3: Tree Data Structures.-Chapter 4: Hash Data Structures.-Chapter 5: Graphs.-Part 2: Algorithms.-Chapter 6: Linear and Binary Search.-Chapter 7: Sorting Algorithms.-Chapter 8: Searching Algorithms.-Chapter 9: Clustering Algorithms.-Chapter 10: Randomness.-Chapter 11: Scheduling Algorithms.-Chapter 12: Algorithm Planning and Design.-Appendix A: Going Further.-
Pro T-SQL 2019
Design and write simple and efficient T-SQL code in SQL Server 2019 and beyond. Writing T-SQL that pulls back correct results can be challenging. This book provides the help you need in writing T-SQL that performs fast and is easy to maintain. You also will learn how to implement version control, testing, and deployment strategies.Hands-on examples show modern T-SQL practices and provide straightforward explanations. Attention is given to selecting the right data types and objects when designing T-SQL solutions. Author Elizabeth Noble teaches you how to improve your T-SQL performance through good design practices that benefit programmers and ultimately the users of the applications. You will know the common pitfalls of writing T-SQL and how to avoid those pitfalls going forward.WHAT YOU WILL LEARN* Choose correct data types and database objects when designing T-SQL* Write T-SQL that searches data efficiently and uses hardware effectively* Implement source control and testing methods to streamline the deployment process* Design T-SQL that can be enhanced or modified with less effort* Plan for long-term data management and storageWHO THIS BOOK IS FORDatabase developers who want to improve the efficiency of their applications, and developers who want to solve complex query and data problems more easily by writing T-SQL that performs well, brings back correct results, and is easy for other developers to understand and maintainELIZABETH NOBLE is a senior database administrator in the metro Atlanta area. It was love at first sight when she was introduced to her first database over 10 years ago. Her passion is to help others improve the quality and speed of deploying database changes through automation. When she is not trying to automate all things, she can be found spending time with her dogs, playing disc golf, or taking a walk at the gym. IntroductionPART I. BUILDING UNDERSTANDABLE T-SQL1. Data Types2. Database Objects3. Standardizing T-SQL4. Designing T-SQLPART II. BUILDING PERFORMANT T-SQL5. Set-Based Design6. Hardware Usage7. Execution Plans8. Optimize T-SQLPART III. BUILDING MANAGEABLE T-SQL9. Coding Standards10. Source Control11. Testing12. DeploymentPART IV. BUILDING MAINTAINABLE T-SQL13. Functional Design14. Logging15. Managing Data Growth
Machine Learning for iOS Developers
HARNESS THE POWER OF APPLE IOS MACHINE LEARNING (ML) CAPABILITIES AND LEARN THE CONCEPTS AND TECHNIQUES NECESSARY TO BE A SUCCESSFUL APPLE IOS MACHINE LEARNING PRACTITIONER!Machine earning (ML) is the science of getting computers to act without being explicitly programmed. A branch of Artificial Intelligence (AI), machine learning techniques offer ways to identify trends, forecast behavior, and make recommendations. The Apple iOS Software Development Kit (SDK) allows developers to integrate ML services, such as speech recognition and language translation, into mobile devices, most of which can be used in multi-cloud settings. Focusing on Apple’s ML services, Machine Learning for iOS Developers is an up-to-date introduction to the field, instructing readers to implement machine learning in iOS applications.Assuming no prior experience with machine learning, this reader-friendly guide offers expert instruction and practical examples of ML integration in iOS. Organized into two sections, the book’s clearly-written chapters first cover fundamental ML concepts, the different types of ML systems, their practical uses, and the potential challenges of ML solutions. The second section teaches readers to use models—both pre-trained and user-built—with Apple’s CoreML framework. Source code examples are provided for readers to download and use in their own projects. This book helps readers:* Understand the theoretical concepts and practical applications of machine learning used in predictive data analytics* Build, deploy, and maintain ML systems for tasks such as model validation, optimization, scalability, and real-time streaming* Develop skills in data acquisition and modeling, classification, and regression.* Compare traditional vs. ML approaches, and machine learning on handsets vs. machine learning as a service (MLaaS)* Implement decision tree based models, an instance-based machine learning system, and integrate Scikit-learn & Keras models with CoreMLMachine Learning for iOS Developers is a must-have resource software engineers and mobile solutions architects wishing to learn ML concepts and implement machine learning on iOS Apps.ABHISHEK MISHRA has more than 19 years of experience across a broad range of mobile and enterprise technologies. He consults as a security and fraud solution architect with Lloyds Banking group PLC in London. He is the author of Machine Learning on the AWS Cloud, Amazon Web Services for Mobile Developers, iOS Code Testing, and Swift iOS: 24-Hour Trainer. Introduction xixPART 1 FUNDAMENTALS OF MACHINE LEARNING 1CHAPTER 1 INTRODUCTION TO MACHINE LEARNING 3What is Machine Learning? 4Tools Commonly Used by Data Scientists 4Common Terminology 5Real-World Applications of Machine Learning 7Types of Machine Learning Systems 8Supervised Learning 9Unsupervised Learning 10Semisupervised Learning 11Reinforcement Learning 11Batch Learning 12Incremental Learning 12Instance-Based Learning 13Model-Based Learning 13Common Machine Learning Algorithms 13Linear Regression 14Support Vector Machines 15Logistic Regression 19Decision Trees 21Artificial Neural Networks 23Sources of Machine Learning Datasets 24Scikit-learn Datasets 24AWS Public Datasets 27Kaggle.com Datasets 27UCI Machine Learning Repository 27Summary 28CHAPTER 2 THE MACHINE-LEARNING APPROACH 29The Traditional Rule-Based Approach 29A Machine-Learning System 33Picking Input Features 34Preparing the Training and Test Set 39Picking a Machine-Learning Algorithm 40Evaluating Model Performance 41The Machine-Learning Process 44Data Collection and Preprocessing 44Preparation of Training, Test, and Validation Datasets 44Model Building 45Model Evaluation 45Model Tuning 45Model Deployment 46Summary 46CHAPTER 3 DATA EXPLORATION AND PREPROCESSING 47Data Preprocessing Techniques 47Obtaining an Overview of the Data 47Handling Missing Values 57Creating New Features 60Transforming Numeric Features 62One-Hot Encoding Categorical Features 64Selecting Training Features 65Correlation 65Principal Component Analysis 68Recursive Feature Elimination 70Summary 71CHAPTER 4 IMPLEMENTING MACHINE LEARNING ON MOBILE APPS 73Device-Based vs Server-Based Approaches 73Apple’s Machine Learning Frameworks and Tools 75Task-Level Frameworks 75Model-Level Frameworks 76Format Converters 76Transfer Learning Tools 77Third-Party Machine-Learning Frameworks and Tools 78Summary 79PART 2 MACHINE LEARNING WITH COREML, CREATEML, AND TURICREATE 81CHAPTER 5 OBJECT DETECTION USING PRE- TRAINED MODELS 83What is Object Detection? 83A Brief Introduction to Artificial Neural Networks 86Downloading the ResNet50 Model 92Creating the iOS Project 92Creating the User Interface 95Updating Privacy Settings 100Using the Resnet50 Model in the iOS Project 100Summary 109CHAPTER 6 CREATING AN IMAGE CLASSIFIER WITH THE CREATE ML APP 111Introduction to the Create ML App 112Creating the Image Classification Model with the Create ML App 113Creating the iOS Project 117Creating the User Interface 118Updating Privacy Settings 122Using the Core ML Model in the iOS Project 123Summary 132CHAPTER 7 CREATING A TABULAR CLASSIFIER WITH CREATE ML 135Preparing the Dataset for the Create ML App 135Creating the Tabular Classification Model with the Create ML App 143Creating the iOS Project 147Creating the User Interface 148Using the Classification Model in the iOS Project 156Testing the App 172Summary 173CHAPTER 8 CREATING A DECISION TREE CLASSIFIER R 175Decision Tree Recap 175Examining the Dataset 176Creating Training and Test Datasets 180Creating the Decision Tree Classification Model with Scikit-learn 181Using Core ML Tools to Convert the Scikit-learn Model to the Core ML Format 186Creating the iOS Project 187Creating the User Interface 188Using the Scikit-learn Decision Tree Classifier Model in the iOS Project 193Testing the App 201Summary 202CHAPTER 9 CREATING A LOGISTIC REGRESSION MODEL USING SCIKIT-LEARN AND CORE ML 203Examining the Dataset 203Creating a Training and Test Dataset 208Creating the Logistic Regression Model with Scikit-learn 210Using Core ML Tools to Convert the Scikit-learn Model to the Core ML Format 216Creating the iOS Project 218Creating the User Interface 219Using the Scikit-learn Model in the iOS Project 225Testing the App 232Summary 233CHAPTER 10 BUILDING A DEEP CONVOLUTIONAL NEURAL NETWORK WITH KERAS 235Introduction to the Inception Family of Deep Convolutional Neural Networks 236GoogLeNet (aka Inception-v1) 236Inception-v2 and Inception-v3 238Inception-v4 and Inception-ResNet 239A Brief Introduction to Keras 244Implementing Inception-v4 with the Keras Functional API 246Training the Inception-v4 Model 259Exporting the Keras Inception-v4 Model to the Core ML Format 269Creating the iOS Project 270Creating the User Interface 271Updating Privacy Settings 276Using the Inception-v4 Model in the iOS Project 277Summary 286APPENDIX A ANACONDA AND JUPYTER NOTEBOOK SETUP 287Installing the Anaconda Distribution 287Creating a Conda Python Environment 288Installing Python Packages 291Installing Jupyter Notebook 293Summary 296APPENDIX B INTRODUCTION TO NUMPY AND PANDAS 297NumPy 297Creating NumPy Arrays 297Modifying Arrays 301Indexing and Slicing 304Pandas 305Creating Series and Dataframes 305Getting Dataframe Information 307Selecting Data 311Summary 313Index 315
Practical MATLAB Deep Learning
Harness the power of MATLAB for deep-learning challenges. This book provides an introduction to deep learning and using MATLAB's deep-learning toolboxes. You’ll see how these toolboxes provide the complete set of functions needed to implement all aspects of deep learning.Along the way, you'll learn to model complex systems, including the stock market, natural language, and angles-only orbit determination. You’ll cover dynamics and control, and integrate deep-learning algorithms and approaches using MATLAB. You'll also apply deep learning to aircraft navigation using images.Finally, you'll carry out classification of ballet pirouettes using an inertial measurement unit to experiment with MATLAB's hardware capabilities.WHAT YOU WILL LEARN* Explore deep learning using MATLAB and compare it to algorithms* Write a deep learning function in MATLAB and train it with examples* Use MATLAB toolboxes related to deep learning* Implement tokamak disruption predictionWHO THIS BOOK IS FOREngineers, data scientists, and students wanting a book rich in examples on deep learning using MATLAB.MICHAEL PALUSZEK is the co-author of MATLAB Recipes published by Apress. He is President of Princeton Satellite Systems, Inc. (PSS) in Plainsboro, New Jersey. Mr. Paluszek founded PSS in 1992 to provide aerospace consulting services. He used MATLAB to develop the control system and simulation for the Indostar-1 geosynschronous communications satellite, resulting in the launch of PSS' first commercial MATLAB toolbox, the Spacecraft Control Toolbox, in 1995. Since then he has developed toolboxes and software packages for aircraft, submarines, robotics, and fusion propulsion, resulting in PSS' current extensive product line. He is currently leading an Army research contract for precision attitude control of small satellites and working with the Princeton Plasma Physics Laboratory on a compact nuclear fusion reactor for energy generation and propulsion. Prior to founding PSS, Mr. Paluszek was an engineer at GE Astro Space in East Windsor, NJ. At GE he designed the Global Geospace Science Polar despun platform control system and led the design of the GPS IIR attitude control system, the Inmarsat-3 attitude control systems and the Mars Observer delta-V control system, leveraging MATLAB for control design. Mr. Paluszek also worked on the attitude determination system for the DMSP meteorological satellites. Mr. Paluszek flew communication satellites on over twelve satellite launches, including the GSTAR III recovery, the first transfer of a satellite to an operational orbit using electric thrusters. At Draper Laboratory Mr. Paluszek worked on the Space Shuttle, Space Station and submarine navigation. His Space Station work included designing of Control Moment Gyro based control systems for attitude control. Mr. Paluszek received his bachelors in Electrical Engineering, and master's and engineer’s degrees in Aeronautics and Astronautics from the Massachusetts Institute of Technology. He is author of numerous papers and has over a dozen U.S. Patents.STEPHANIE THOMAS is the co-author of MATLAB Recipes, published by Apress. She received her bachelor's and master's degrees in Aeronautics and Astronautics from the Massachusetts Institute of Technology in 1999 and 2001. Ms. Thomas was introduced to PSS' Spacecraft Control Toolbox for MATLAB during a summer internship in 1996 and has been using MATLAB for aerospace analysis ever since. She built a simulation of a lunar transfer vehicle in C++, LunarPilot, during the same internship. In her nearly 20 years of MATLAB experience, she has developed many software tools including the Solar Sail Module for the Spacecraft Control Toolbox; a proximity satellite operations toolbox for the Air Force; collision monitoring Simulink blocks for the Prisma satellite mission; and launch vehicle analysis tools in MATLAB and Java, to name a few. She has developed novel methods for space situation assessment such as a numeric approach to assessing the general rendezvous problem between any two satellites implemented in both MATLAB and C++. Ms. Thomas has contributed to PSS' Attitude and Orbit Control textbook, featuring examples using the Spacecraft Control Toolbox, and written many software User's Guides. She has conducted SCT training for engineers from diverse locales such as Australia, Canada, Brazil, and Thailand and has performed MATLAB consulting for NASA, the Air Force, and the European Space Agency.1 What is Deep Learning?2 MATLAB Machine and Deep Learning Toolboxes3 Finding Circles with Deep Learning4 Classifying Movies5 Algorithmic Deep Learning6 Tokamak Disruption Detection7 Classifying a Pirouette8 Completing Sentences9 Terrain Based Navigation10 Stock Prediction11 Image Classification12 Orbit Determination
Disruption durch digitale Plattform-Ökosysteme
Disruption ist das Schlagwort einer Digitalmoderne, in der digitale Plattform-Ökosysteme eine neue Ökonomie erzeugen. Es expandiert eine Plattform-Ökonomie, die etablierte Unternehmen und Industrien in ihren Grundfesten erschüttert. Die Erschütterungen werden von dem Phänomen der Disruption ausgelöst. In Literatur und Praxis wird der Begriff der Disruption aber inflationär für nahezu alles herangezogen. Daher zielt das vorliegende kompakte Buch auf die kohärente Klärung des Begriffs der Disruption als ein Axiom der Digitalmoderne ab. Zudem erläutert der Autor die Expansionsdynamiken digitaler Plattform-Öko-Systeme durch Big Data-Management und Anwendungen der schwachen Künstlichen Intelligenz. Die Ausführungen zeigen die Relevanz der Disruptionstheorie praxisorientiert am Beispiel der digitalen Transformation eines großen Verlagshauses. Der Autor bietet mit seinem Werk Denkwerkzeuge und -anregungen, jedoch keinen schablonenhaften Ratgeber. Damit richtet sich das Buch an alle, die sich mit disruptiven Dynamiken der Digitalisierung kritisch auseinandersetzen und eigene Gedanken weiterentwickeln möchten.Michael Jaekel verfügt über langjährige Berufs- und Führungserfahrung in der internationalen Strategieberatung, im globalen Portfolio Management und im Big Deal Management namhafter Großunternehmen im In- und Ausland. Weiterhin ist er gefragter Redner und Autor zu Themen wie der strategischen Transformation von Geschäftsmodellen, Entwicklung von Apps-Öko-Systemen und Smart City Initiativen.Zwei Gesichter der Disruption.- Digitale Plattform-Ökosysteme in einer expandierenden Digitalsphäre.- Möglichkeiten und Grenzen Künstlicher Intelligenz.
A Primer on Memory Consistency and Cache Coherence
MANY MODERN COMPUTER SYSTEMS, INCLUDING HOMOGENEOUS AND HETEROGENEOUS ARCHITECTURES, SUPPORT SHARED MEMORY IN HARDWARE.In a shared memory system, each of the processor cores may read and write to a single shared address space. For a shared memory machine, the memory consistency model defines the architecturally visible behavior of its memory system. Consistency definitions provide rules about loads and stores (or memory reads and writes) and how they act upon memory. As part of supporting a memory consistency model, many machines also provide cache coherence protocols that ensure that multiple cached copies of data are kept up-to-date. The goal of this primer is to provide readers with a basic understanding of consistency and coherence. This understanding includes both the issues that must be solved as well as a variety of solutions. We present both high-level concepts as well as specific, concrete examples from real-world systems.This second edition reflects a decade of advancements since the first edition and includes, among other more modest changes, two new chapters: one on consistency and coherence for non-CPU accelerators (with a focus on GPUs) and one that points to formal work and tools on consistency and coherence.* Preface to the Second Edition* Preface to the First Edition* Introduction to Consistency and Coherence* Coherence Basics* Memory Consistency Motivation and Sequential Consistency* Total Store Order and the x86 Memory Model* Relaxed Memory Consistency* Coherence Protocols* Snooping Coherence Protocols* Directory Coherence Protocols* Advanced Topics in Coherence* Consistency and Coherence for Heterogeneous Systems* Specifying and Validating Memory Consistency Models and Cache Coherence* Authors' Biographies
Practical Oracle Cloud Infrastructure
Use this fast-paced and comprehensive guide to build cloud-based solutions on Oracle Cloud Infrastructure. You will understand cloud infrastructure, and learn how to launch new applications and move existing applications to Oracle Cloud. Emerging trends in software architecture are covered such as autonomous platforms, infrastructure as code, containerized applications, cloud-based container orchestration with managed Kubernetes, and running serverless workloads using open-source tools. Practical examples are provided.This book teaches you how to self-provision the cloud resources you require to run and scale your custom cloud-based applications using a convenient web console and programmable APIs, and you will learn how to manage your infrastructure as code with Terraform. You will be able to plan, design, implement, deploy, run, and monitor your production-grade and fault-tolerant cloud software solutions in Oracle's data centers across the world, paying only for the resources you actually use.Oracle Cloud Infrastructure is part of Oracle's new generation cloud that delivers a complete and well-integrated set of Infrastructure as a Service (IaaS) capabilities (compute, storage, networking), edge services (DNS, web application firewall), and Platform as a Service (PaaS) capabilities (such as Oracle Autonomous Database which supports both transactional and analytical workloads, the certified and fully managed Oracle Kubernetes Engine, and a serverless platform based on an open-source Fn Project).WHAT YOU WILL LEARN* Build software solutions on Oracle Cloud* Automate cloud infrastructure with CLI and Terraform* Follow best practices for architecting on Oracle Cloud* Employ Oracle Autonomous Database to obtain valuable data insights* Run containerized applications on Oracle’s Container Engine for Kubernetes* Understand the emerging Cloud Native ecosystemWho This Book Is ForCloud architects, developers, DevOps engineers, and technology students and others who want to learn how to build cloud-based systems on Oracle Cloud Infrastructure (OCI) leveraging a broad range of OCI Infrastructure as a Service (IAAS) capabilities, Oracle Autonomous Database, and Oracle's Container Engine for Kubernetes. Readers should have a working knowledge of Linux, exposure to programming, and a basic understanding of networking concepts. All exercises in the book can be done at no cost with a 30-day Oracle Cloud trial.MICHAŁ TOMASZ JAKÓBCZYK is a cloud integration architect at the Oracle Corporation and works in Europe. He consults with and provides advice to clients on integration architecture and cloud infrastructure. He holds a bachelor of science in engineering in the field of decision support systems, computer science from Warsaw University of Technology. He speaks Polish, English, and German.1. Introducing Oracle Cloud Infrastructure2. Building Your First Cloud Application3. Automating Cloud Infrastructure4. Cloud Security and Project Environments5. Data Storage in the Oracle Cloud6. Patterns for Compute and Networking7. Autonomous Databases8. Oracle Container Engine for Kubernetes9. Cloud-native Architecture
Introducing Algorithms in C
Study elementary and complex algorithms with clear examples and implementations in C. This book introduces data types (simple and structured) and algorithms with graphical and textual explanations. In the next sections, you’ll cover simple and complex standard algorithms with their flowcharts: everything is integrated with explanations and tables to give a step-by-step evolution of the algorithms.The main algorithms are: the sum of three or n numbers in a loop, decimal-to-binary conversion, maximum and minimum search, linear/sequential search, binary search, bubble sort, selection sort, merging of two sorted arrays, reading characters from a file, stack management, and factorial and Fibonacci sequences.The last section of Introducing Algorithms in C is devoted to the introduction of the C language and the implementation of the code, which is connected to the studied algorithms. The book is full of screenshots and illustrations showing the meaning of the code.WHAT YOU WILL LEARN* Implement algorithms in C * Work with variables, constants, and primitive and structured types* Use arrays, stacks, queues, graphs, trees, hash tables, records, and files* Explore the design of algorithms * Solve searching problems, including binary search, sorting, and bubble/selection sort* Program recursive algorithms with factorial functions and Fibonacci sequencesWHO THIS BOOK IS FORPrimarily beginners: it can serve as a starting point for anyone who is beginning the study of computer science and information systems for the first time.LUCIANO MANELLI is a professionally certified engineer and author of several IT books for different publishers. In 2014 he started working for the Taranto Port Authority, after working for 13 years for InfoCamere SCpA. In 2012, he received a PhD in computer science from the Department of Informatics, University of Bari Aldo Moro. In his doctoral thesis, he analyzed grid computing and distributed abstract state machines and published the results in international publications. He is a contract professor at the Polytechnic of Bari (foundations of computer science) and at the University of Bari Aldo Moro (programming for the Web, computer science, and computer lab). He graduated in electronic engineering from the Polytechnic of Bari at 24 years of age and then served as an officer in the navy.1. Data Structures2. Design of Algorithms3. Implementation of Algorithms in C
Hunting Cyber Criminals
The skills and tools for collecting, verifying and correlating information from different types of systems is an essential skill when tracking down hackers. This book explores Open Source Intelligence Gathering (OSINT) inside out from multiple perspectives, including those of hackers and seasoned intelligence experts. OSINT refers to the techniques and tools required to harvest publicly available data concerning a person or an organization. With several years of experience of tracking hackers with OSINT, the author whips up a classical plot-line involving a hunt for a threat actor. While taking the audience through the thrilling investigative drama, the author immerses the audience with in-depth knowledge of state-of-the-art OSINT tools and techniques. Technical users will want a basic understanding of the Linux command line in order to follow the examples. But a person with no Linux or programming experience can still gain a lot from this book through the commentaries.This book’s unique digital investigation proposition is a combination of story-telling, tutorials, and case studies. The book explores digital investigation from multiple angles:* Through the eyes of the author who has several years of experience in the subject.* Through the mind of the hacker who collects massive amounts of data from multiple online sources to identify targets as well as ways to hit the targets.* Through the eyes of industry leaders.This book is ideal for:Investigation professionals, forensic analysts, and CISO/CIO and other executives wanting to understand the mindset of a hacker and how seemingly harmless information can be used to target their organization.Security analysts, forensic investigators, and SOC teams looking for new approaches on digital investigations from the perspective of collecting and parsing publicly available information.CISOs and defense teams will find this book useful because it takes the perspective of infiltrating an organization from the mindset of a hacker. The commentary provided by outside experts will also provide them with ideas to further protect their organization’s data.ABOUT THE AUTHORVINNY TROIA is a cybersecurity evangelist and hacker with Night Lion Security. He is an acknowledged expert in digital forensics investigations, security strategies, and security breach remediation. Vinny possesses deep knowledge of industry-standard security and compliance controls, is frequently seen providing security expertise on major TV and radio networks, and recently introduced Data Viper, his own threat intelligence and cyber-criminal hunting platform. Prologue xxvCHAPTER 1 GETTING STARTED 1Why This Book is Different 2What You Will and Won’t Find in This Book 2Getting to Know Your Fellow Experts 3A Note on Cryptocurrencies 4What You Need to Know 4Paid Tools and Historical Data 5What about Maltego? 5Prerequisites 5Know How to Use and Configure Linux 5Get Your API Keys in Order 6Important Resources 6OSINT Framework 6OSINT.link 6IntelTechniques 7Termbin 8Hunchly 9Wordlists and Generators 9SecLists 9Cewl 10Crunch 10Proxies 10Storm Proxies (Auto-Rotating) 10Cryptocurrencies 101 11How Do Cryptocurrencies Work? 12Blockchain Explorers 13Following the Money 15Identifying Exchanges and Traders 17Summary 18CHAPTER 2 INVESTIGATIONS AND THREAT ACTORS 19The Path of an Investigator 19Go Big or Go Home 20The Breach That Never Happened 21What Would You Do? 22Moral Gray Areas 24Different Investigative Paths 25Investigating Cyber Criminals 26The Beginning of the Hunt (for TDO) 27The Dark Overlord 27List of Victims 28A Brief Overview 29Communication Style 30Group Structure and Members 30Cyper 31Arnie 32Cr00k (Ping) 35NSA (Peace of Mind) 36The Dark Overlord 38Summary 41PART I NETWORK EXPLORATION 43CHAPTER 3 MANUAL NETWORK EXPLORATION 45Chapter Targets: Pepsi.com and Cyper.org 46Asset Discovery 46ARIN Search 47Search Engine Dorks 48DNSDumpster 49Hacker Target 52Shodan 53Censys (Subdomain Finder) 56Censys Subdomain Finder 56Fierce 57Sublist3r 58Enumall 59Results 60Phishing Domains and Typosquatting 61Summary 64CHAPTER 4 LOOKING FOR NETWORK ACTIVITY (ADVANCED NMAP TECHNIQUES) 67Getting Started 67Preparing a List of Active Hosts 68Full Port Scans Using Different Scan Types 68TCP Window Scan 70Working against Firewalls and IDS 70Using Reason Response 71Identifying Live Servers 71Firewall Evasion 73Distributed Scanning with Proxies and TOR 73Fragmented Packets/MTU 74Service Detection Trick 74Low and Slow 76Bad Checksums, Decoy, and Random Data 76Firewalking 79Comparing Results 79Styling NMAP Reports 81Summary 82CHAPTER 5 AUTOMATED TOOLS FOR NETWORK DISCOVERY 83SpiderFoot 84SpiderFoot HX (Premium) 91Intrigue.io 95Entities Tab 96Analyzing uberpeople.net 99Analyzing the Results 104Exporting Your Results 105Recon-NG 107Searching for Modules 111Using Modules 111Looking for Ports with Shodan 115Summary 116PART II WEB EXPLORATION 119CHAPTER 6 WEBSITE INFORMATION GATHERING 121BuiltWith 121Finding Common Sites Using Google Analytics Tracker 123IP History and Related Sites 124Webapp Information Gatherer (WIG) 124CMSMap 129Running a Single Site Scan 130Scanning Multiple Sites in Batch Mode 130Detecting Vulnerabilities 131WPScan 132Dealing with WAFs/WordPress Not Detected 136Summary 141CHAPTER 7 DIRECTORY HUNTING 143Dirhunt 143Wfuzz 146Photon 149Crawling a Website 151Intrigue.io 152Summary 157CHAPTER 8 SEARCH ENGINE DORKS 159Essential Search Dorks 160The Minus Sign 160Using Quotes 160The site: Operator 161The intitle: Operator 161The allintitle: Operator 162The fi letype: Operator 162The inurl: Operator 163The cache: Operator 165The allinurl: Operator 165The fi lename: Operator 165The intext: Operator 165The Power of the Dork 166Don’t Forget about Bing and Yahoo! 169Automated Dorking Tools 169Inurlbr 169Using Inurlbr 171Summary 173CHAPTER 9 WHOIS 175WHOIS 175Uses for WHOIS Data 176Historical WHOIS 177Searching for Similar Domains 177Namedroppers.com 177Searching for Multiple Keywords 179Advanced Searches 181Looking for Threat Actors 182Whoisology 183Advanced Domain Searching 187Worth the Money? Absolutely 188DomainTools 188Domain Search 188Bulk WHOIS 189Reverse IP Lookup 189WHOIS Records on Steroids 190WHOIS History 192The Power of Screenshots 193Digging into WHOIS History 193Looking for Changes in Ownership 194Reverse WHOIS 196Cross-Checking All Information 197Summary 199CHAPTER 10 CERTIFICATE TRANSPARENCY AND INTERNET ARCHIVES 201Certificate Transparency 201What Does Any of This Have to Do with Digital Investigations? 202Scouting with CTFR 202Crt.sh 204CT in Action: Side-stepping Cloudflare 204Testing More Targets 208CloudFlair (Script) and Censys 209How Does It Work? 210Wayback Machine and Search Engine Archives 211Search Engine Caches 212CachedView.com 214Wayback Machine Scraper 214Enum Wayback 215Scraping Wayback with Photon 216Archive.org Site Search URLs 217Wayback Site Digest: A List of Every Site URL Cached by Wayback 219Summary 220CHAPTER 11 IRIS BY DOMAINTOOLS 221The Basics of Iris 221Guided Pivots 223Configuring Your Settings 223Historical Search Setting 224Pivootttt!!! 225Pivoting on SSL Certificate Hashes 227Keeping Notes 228WHOIS History 230Screenshot History 232Hosting History 232Bringing It All Together 234A Major Find 240Summary 241PART III DIGGING FOR GOLD 243CHAPTER 12 DOCUMENT METADATA 245Exiftool 246Metagoofil 248Recon-NG Metadata Modules 250Metacrawler 250Interesting_Files Module 252Pushpin Geolocation Modules 254Intrigue.io 257FOCA 261Starting a Project 262Extracting Metadata 263Summary 266CHAPTER 13 INTERESTING PLACES TO LOOK 267TheHarvester 268Running a Scan 269Paste Sites 273Psbdmp.ws 273Forums 274Investigating Forum History (and TDO) 275Following Breadcrumbs 276Tracing Cyper’s Identity 278Code Repositories 280SearchCode.com 281Searching for Code 282False Negatives 283Gitrob 284Git Commit Logs 287Wiki Sites 288Wikipedia 289Summary 292CHAPTER 14 PUBLICLY ACCESSIBLE DATA STORAGE 293The Exactis Leak and Shodan 294Data Attribution 295Shodan’s Command-Line Options 296Querying Historical Data 296CloudStorageFinder 298Amazon S3 299Digital Ocean Spaces 300NoSQL Databases 301MongoDB 302Robot 3T 302Mongo Command-Line Tools 305Elasticsearch 308Querying Elasticsearch 308Dumping Elasticsearch Data 311NoScrape 311MongoDB 313Elasticsearch 314Scan 314Search 315Dump 317MatchDump 317Cassandra 318Amazon S3 320Using Your Own S3 Credentials 320Summary 321PART IV PEOPLE HUNTING 323CHAPTER 15 RESEARCHING PEOPLE, IMAGES, AND LOCATIONS 325PIPL 326Searching for People 327Public Records and Background Checks 330Ancestry.com 331Threat Actors Have Dads, Too 332Criminal Record Searches 332Image Searching 333Google Images 334Searching for Gold 335Following the Trail 335TinEye 336EagleEye 340Searching for Images 340Cree.py and Geolocation 343Getting Started 343IP Address Tracking 346Summary 347CHAPTER 16 SEARCHING SOCIAL MEDIA 349OSINT.rest 350Another Test Subject 355Twitter 357SocialLinks: For Maltego Users 358Skiptracer 361Running a Search 361Searching for an Email Address 361Searching for a Phone Number 364Searching Usernames 366One More Username Search 368Userrecon 370Reddit Investigator 372A Critical “Peace” of the TDO Investigation 374Summary 375CHAPTER 17 PROFILE TRACKING AND PASSWORD RESET CLUES 377Where to Start (with TDO)? 377Building a Profile Matrix 378Starting a Search with Forums 379Ban Lists 381Social Engineering 381SE’ing Threat Actors: The “Argon” Story 383Everyone Gets SE’d—a Lesson Learned 387The End of TDO and the KickAss Forum 388Using Password Reset Clues 390Starting Your Verification Sheet 391Gmail 391Facebook 393PayPal 394Twitter 397Microsoft 399Instagram 400Using jQuery Website Responses 400ICQ 403Summary 405CHAPTER 18 PASSWORDS, DUMPS, AND DATA VIPER 407Using Passwords 408Completing F3ttywap’s Profile Matrix 409An Important Wrong Turn 412Acquiring Your Data 413Data Quality and Collections 1–5 413Always Manually Verify the Data 415Where to Find Quality Data 420Data Viper 420Forums: The Missing Link 421Identifying the Real “Cr00k” 422Tracking Cr00k’s Forum Movements 423Timeline Analysis 423The Eureka Moment 427Vanity over OPSEC, Every Time 429Why This Connection is Significant 429Starting Small: Data Viper 1.0 430Summary 431CHAPTER 19 INTERACTING WITH THREAT ACTORS 433Drawing Them Out of the Shadows 433Who is WhitePacket? 434The Bev Robb Connection 435Stradinatras 436Obfuscation and TDO 437Who is Bill? 439So Who Exactly is Bill? 440YoungBugsThug 440How Did I Know It Was Chris? 441A Connection to Mirai Botnet? 442Why Was This Discovery So Earth-Shattering? 444Question Everything! 445Establishing a Flow of Information 446Leveraging Hacker Drama 447Was Any of That Real? 448Looking for Other Clues 449Bringing It Back to TDO 450Resolving One Final Question 451Withdrawing Bitcoin 451Summary 452CHAPTER 20 CUTTING THROUGH THE DISINFORMATION OF A 10-MILLION-DOLLAR HACK 453GnosticPlayers 454Sites Hacked by GnosticPlayers 456Gnostic’s Hacking Techniques 457GnosticPlayers’ Posts 459GnosticPlayers2 Emerges 461A Mysterious Third Member 462NSFW/Photon 463The Gloves Come Off 464Making Contact 465Gabriel/Bildstein aka Kuroi’sh 465Contacting His Friends 467Weeding through Disinformation 468Verifying with Wayback 468Bringing It All Together 469Data Viper 469Trust but Verify 472Domain Tools’ Iris 474Verifying with a Second Data Source 475The End of the Line 476What Really Happened? 476Outofreach 476Kuroi’sh Magically Appears 477What I Learned from Watching Lost 477Who Hacked GateHub? 478Unraveling the Lie 479Was Gabriel Involved? My Theory 479Gabriel is Nclay: An Alternate Theory 479All roads lead back to NSFW 480Summary 481Epilogue 483Index 487