Emulator for Complex Sensor- Based IT System

Total Page:16

File Type:pdf, Size:1020Kb

Emulator for Complex Sensor- Based IT System Degree project Emulator for complex sensor- based IT system Author: Ruslan Gederin and Viktor Mazepa Supervisor: Rüdiger Lincke External Supervisor: Per-Olov Thorén Date: 2013-09-30 Course code: 5DV00E, 30 credits Level: Master Department of Computer Science Acknowledgments First of all we want to express gratitude to our supervisor, Dr. Rüdiger Lincke for an interesting master thesis topic and for great work experience with him and his company Softwerk. We would also like to thank to: • Per-Olov Thorén and Ingela Stålberg for interesting meetings and for the opportunity to work on a real commercial project. • Maksym Ponomarenko and Viktor Kostov for excellent management of our work at our remote period. • Oryna Podoba and Illia Klimov for good collaborations during development. • Our families, relatives and friends for their support during our studying in Sweden. ii Abstract Developing and testing complex information technology (IT) systems is a difficult task. This is even more difficult if parts of the system, no matter if hard- or software, are not available when needed due to delays or other reasons. The architecture and design cannot be evaluated and existing parts cannot be reliably tested. Thus the whole concept of the system cannot be validated before all parts are in place. To solve this problem in an industrial project, where the development of the server- side should be finished and tested (clear for production) while the hardware sensors where designed but not implemented, we developed an emulator (software) for the hardware sensors meeting the exact specification as well as parts of the server solution. This allowed proceeding with the server-side development, testing, and system validation without the hardware sensors in place. Following the exact specification should allow replacing the emulator with the real sensors without complications, once they are available. In the end, being able to develop hard- and software in parallel the project can be in production much earlier than performing the development in sequence. Disclaimer: this paper is written under a non-disclosure agreement. This is why certain details are omitted in the thesis, but available to the project partner. Keywords: emulation, sensor-based IT system, data acquisition, personal alert, Short Message Service (SMS) gateway. iii Contents 1 Introduction ................................................................................................................... 1 1.1 Problem and Motivation......................................................................................... 1 1.2 Goals, Criteria and Constrains................................................................................ 1 1.3 Outline .................................................................................................................... 2 2 Background Knowledge ................................................................................................ 3 2.1 Preliminary Research.............................................................................................. 3 2.2 Choice of Technologies.......................................................................................... 3 2.2.1 Main programming language........................................................................... 3 2.2.2 Technology for building Web User Interface.................................................. 4 2.2.3 RDBMS ........................................................................................................... 4 2.2.4 Application Server........................................................................................... 5 2.2.5 Tool for Automation Build.............................................................................. 5 2.2.6 Framework for Work With SMS..................................................................... 5 2.2.7 High Level Design Pattern for the Web Application ...................................... 5 2.2.8 Development Methodology............................................................................. 6 2.3 System Terminology .............................................................................................. 6 2.3.1 Sensor .............................................................................................................. 6 2.3.2 Alarms ............................................................................................................. 6 2.3.3 Responsible Persons and Messages................................................................. 7 2.3.4 SMS Gateway and 3G/GSM Modem.............................................................. 7 3 Features and Requirements............................................................................................ 8 3.1 Types of Users........................................................................................................ 8 3.2 Messages................................................................................................................. 9 3.2.1 System Messages............................................................................................. 9 3.2.2 Notification Messages ..................................................................................... 9 3.3 Use Cases.............................................................................................................. 10 3.3.1 Data Acquisition............................................................................................ 10 3.3.2 Emergency Situation Detected by Sensor ..................................................... 11 3.3.3 Emergency Situation Detected by Server...................................................... 11 3.3.4 Hardware Problems ....................................................................................... 12 3.4 Requirements for Emulator .................................................................................. 13 4 Architecture ................................................................................................................. 14 4.1 System Architecture and Behavior....................................................................... 14 4.2 Emulator ............................................................................................................... 17 4.2.1 MVP Architecture ......................................................................................... 17 4.2.2 Emulator Behavior......................................................................................... 19 4.3 SMS Gateway....................................................................................................... 21 5 Implementation............................................................................................................ 24 5.1 Converting of Values............................................................................................ 24 5.2 E-mail Sending ..................................................................................................... 24 5.3 Enumeration of Sensor Commands...................................................................... 25 5.4 Handling Client Request to the Server ................................................................. 26 5.5 Custom Widgets ................................................................................................... 27 5.6 UIBinder ............................................................................................................... 28 5.7 SMS Sending........................................................................................................ 28 6 Testing ......................................................................................................................... 30 6.1 Testing Approach ................................................................................................. 30 6.2 Testing of Data Acquisition.................................................................................. 30 6.3 Testing of Emergency Situation Detected by Sensor........................................... 30 iv 6.4 Testing of Emergency Situation Detected by Server............................................ 31 6.5 Testing of Hardware Problems............................................................................. 32 7 Summarize................................................................................................................... 34 7.1 Conclusions .......................................................................................................... 34 7.2 Future works......................................................................................................... 35 References ...................................................................................................................... 36 Appendix A. User Manual for Sensor Emulator .......................................................... A-1 Appendix B. Administrator Manual for Sensor Emulator............................................ B-1 v List of Figures 4.1: General system architecture .................................................................................... 14 4.2: More detailed system architecture........................................................................... 15 4.3: Classic MVP............................................................................................................ 18 4.4: Simplified emulator client side architecture............................................................ 19 4.5: Sending Regular messages from emulator
Recommended publications
  • Webové Diskusní Fórum
    MASARYKOVA UNIVERZITA F}w¡¢£¤¥¦§¨ AKULTA INFORMATIKY !"#$%&'()+,-./012345<yA| Webové diskusní fórum BAKALÁRSKÁˇ PRÁCE Martin Bana´s Brno, Jaro 2009 Prohlášení Prohlašuji, že tato bakaláˇrskápráce je mým p ˚uvodnímautorským dílem, které jsem vy- pracoval samostatnˇe.Všechny zdroje, prameny a literaturu, které jsem pˇrivypracování používal nebo z nich ˇcerpal,v práci ˇrádnˇecituji s uvedením úplného odkazu na pˇríslušný zdroj. V Brnˇe,dne . Podpis: . Vedoucí práce: prof. RNDr. JiˇríHˇrebíˇcek,CSc. ii Podˇekování Dˇekujivedoucímu prof. RNDr. JiˇrímuHˇrebíˇckovi,CSc. za správné vedení v pr ˚ubˇehucelé práce a trpˇelivostpˇrikonzutacích. Dále dˇekujicelému kolektivu podílejícímu se na reali- zaci projektu FEED za podnˇetnépˇripomínkya postˇrehy. iii Shrnutí Bakaláˇrskápráce se zabývá analýzou souˇcasnýchdiskusních fór typu open-source a vý- bˇerem nejvhodnˇejšíhodiskusního fóra pro projekt eParticipation FEED. Další ˇcástpráce je zamˇeˇrenána analýzu vybraného fóra, tvorbu ˇceskéhomanuálu, ˇceskélokalizace pro portál a rozšíˇrenípro anotaci pˇríspˇevk˚u. Poslední kapitola je vˇenovánanasazení systému do provozu a testování rozšíˇrení pro anotaci pˇríspˇevk˚u. iv Klíˇcováslova projekt FEED, eParticipation, diskusní fórum, portál, PHP, MySQL, HTML v Obsah 1 Úvod ...........................................3 2 Projekt eParticipation FEED .............................4 2.1 eGovernment ...................................4 2.2 Úˇcastníciprojektu FEED .............................4 2.3 Zamˇeˇreníprojektu FEED .............................5 2.4 Cíl
    [Show full text]
  • What the Floc?
    Security Now! Transcript of Episode #811 Page 1 of 30 Transcript of Episode #811 What the FLoC? Description: This week we briefly, I promise, catch up with ProxyLogon news regarding Windows Defender and the Black Kingdom. We look at Firefox's next release which will be changing its Referer header policy for the better. We look at this week's most recent RCE disaster, a critical vulnerability in the open source MyBB forum software, and China's new CAID (China Anonymization ID). We then conclude by taking a good look at Google's plan to replace tracking with explicit recent browsing history profiling, which is probably the best way to understand FLoC (Federated Learning of Cohorts). And as a special bonus we almost certainly figure out why they named it something so awful. High quality (64 kbps) mp3 audio file URL: http://media.GRC.com/sn/SN-811.mp3 Quarter size (16 kbps) mp3 audio file URL: http://media.GRC.com/sn/sn-811-lq.mp3 SHOW TEASE: It's time for Security Now!. Steve Gibson is here. We've got a new fix for the Microsoft Exchange Server flaw. This one's automatic, thanks to Microsoft. We'll also take a look at some nice new features in Firefox 87. You can get it right now. And then, what the FLoC? We'll take a look at Google's proposal for replacing third-party cookies. Is it better? It's all coming up next on Security Now!. Leo Laporte: This is Security Now! with Steve Gibson, Episode 811, recorded Tuesday, March 23rd, 2021: What the FLoC? It's time for Security Now!, the show where we cover your privacy, your security, your safety online with this guy right here, Steve Gibson from GRC.com.
    [Show full text]
  • Appendix a the Ten Commandments for Websites
    Appendix A The Ten Commandments for Websites Welcome to the appendixes! At this stage in your learning, you should have all the basic skills you require to build a high-quality website with insightful consideration given to aspects such as accessibility, search engine optimization, usability, and all the other concepts that web designers and developers think about on a daily basis. Hopefully with all the different elements covered in this book, you now have a solid understanding as to what goes into building a website (much more than code!). The main thing you should take from this book is that you don’t need to be an expert at everything but ensuring that you take the time to notice what’s out there and deciding what will best help your site are among the most important elements of the process. As you leave this book and go on to updating your website over time and perhaps learning new skills, always remember to be brave, take risks (through trial and error), and never feel that things are getting too hard. If you choose to learn skills that were only briefly mentioned in this book, like scripting, or to get involved in using content management systems and web software, go at a pace that you feel comfortable with. With that in mind, let’s go over the 10 most important messages I would personally recommend. After that, I’ll give you some useful resources like important websites for people learning to create for the Internet and handy software. Advice is something many professional designers and developers give out in spades after learning some harsh lessons from what their own bitter experiences.
    [Show full text]
  • Preventing Input Validation Vulnerabilities in Web Applications Through Automated Type Analysis
    Preventing Input Validation Vulnerabilities in Web Applications through Automated Type Analysis Theodoor Scholte William Robertson SAP Research, Sophia Antipolis, France Northeastern University, Boston, USA [email protected] [email protected] Davide Balzarotti Engin Kirda Institut Eurecom, Sophia Antipolis, France Northeastern University, Boston, USA [email protected] [email protected] Abstract—Web applications have become an integral part dangerous HTML elements, typically including malicious of the daily lives of millions of users. Unfortunately, web client-side code that executes in the security context of a applications are also frequently targeted by attackers, and trusted web origin. In the latter case, a SQL injection injec- criticial vulnerabilities such as XSS and SQL injection are still common. As a consequence, much effort in the past decade has tion vulnerability allows an attacker to modify an existing been spent on mitigating web application vulnerabilities. database query — or, in some cases, to inject a completely Current techniques focus mainly on sanitization: either on new one — in such a way that violates the web application’s automated sanitization, the detection of missing sanitizers, desired data integrity or confidentiality policies. the correctness of sanitizers, or the correct placement of One particularly promising approach to preventing the sanitizers. However, these techniques are either not able to prevent new forms of input validation vulnerabilities such as exploitation of these vulnerabilities is robust, automated HTTP Parameter Pollution, come with large runtime overhead, sanitization of untrusted input. In this approach, filters, lack precision, or require significant modifications to the client or sanitizers, are automatically applied to user data such and/or server infrastructure.
    [Show full text]
  • Evaluation of Password Hashing Schemes in Open Source Web
    Evaluation of Password Hashing Schemes in Open Source Web Platforms Christoforos Ntantogian, Stefanos Malliaros, Christos Xenakis Department of Digital Systems, University of Piraeus, Piraeus, Greece {dadoyan, stefmal, xenakis}@unipi.gr Abstract: Nowadays, the majority of web platforms in the Internet originate either from CMS to easily deploy websites or by web applications frameworks that allow developers to design and implement web applications. Considering the fact that CMS are intended to be plug and play solutions and their main aim is to allow even non-developers to deploy websites, we argue that the default hashing schemes are not modified when deployed in the Internet. Also, recent studies suggest that even developers do not use appropriate hash functions to protect passwords, since they may not have adequate security expertise. Therefore, the default settings of CMS and web applications frameworks play an important role in the security of password storage. This paper evaluates the default hashing schemes of popular CMS and web application frameworks. First, we formulate the cost time of password guessing attacks and next we investigate the default hashing schemes of popular CMS and web applications frameworks. We also apply our framework to perform a comparative analysis of the cost time between the various CMS and web application frameworks. Finally, considering that intensive hash functions consume computational resources, we analyze hashing schemes from a different perspective. That is, we investigate if it is feasible and under what conditions to perform slow rate denial of service attacks from concurrent login attempts. Through our study we have derived a set of critical observations.
    [Show full text]
  • Autocsp: Automatically Retrofitting CSP to Web Applications
    AutoCSP: Automatically Retrofitting CSP to Web Applications Mattia Fazzini⇤, Prateek Saxena†, Alessandro Orso⇤ Georgia Institute of Technology, USA, mfazzini, orso @cc.gatech.edu ⇤ { } † National University of Singapore, Singapore, [email protected] Abstract—Web applications often handle sensitive user data, a set of dynamically generated HTML pages whose content is which makes them attractive targets for attacks such as cross- annotated with (positive) taint information. Second, it analyzes site scripting (XSS). Content security policy (CSP) is a content- the annotated HTML pages to identify which elements of these restriction mechanism, now supported by all major browsers, that offers thorough protection against XSS. Unfortunately, pages are trusted. (Basically, the tainted elements are those that simply enabling CSP for a web application would affect the come only from trusted sources.) Third,AUTOCSP uses the re- application’s behavior and likely disrupt its functionality. To sults of the previous analysis to infer a policy that would block address this issue, we propose AUTOCSP, an automated tech- potentially untrusted elements while allowing trusted elements nique for retrofitting CSP to web applications. AUTOCSP (1) to be loaded. Fourth,AUTOCSP automatically modifies the leverages dynamic taint analysis to identify which content should be allowed to load on the dynamically-generated HTML pages server-side code of the web application so that it generates of a web application and (2) automatically modifies the server- web pages with the appropriate CSP. side code to generate such pages with the right permissions. Our To assess the usefulness and practical applicability of evaluation, performed on a set of real-world web applications, AUTOCSP, we developed a prototype that implements our shows that AUTOCSP can retrofit CSP effectively and efficiently.
    [Show full text]
  • Online Discussion Forum Project Documentation
    Online Discussion Forum Project Documentation Garvin proliferates ideally if full-blooded Chariot incardinate or creosoted. Burnished Wade sometimes cooper any molders munch sunward. Unassayed Chance bankrupts no humdinger decease vacillatingly after Bud abreacts oversea, quite dominative. Grades will probably need to be determined through carefully designed assessment criteria specified in an assessment rubric. Please initial the Mozilla forum etiquette document for posting rules and conventions. So an edge against these forums have over for example a discussion page hosted on a larger. In forum system in your new questions should see. The purpose as this Online Forum is for facilitate discussions on strategic. Design Implementation and Testing of a Visual Discussion. Application from bibliographiccation exists in server projects listed by inserting special email address, organize web searchthe internet forum project topics in. Project Forums to interact and collaborate for your Zoho. Quality of online. Offers access to plenty of moderation options. Android Community and Contacts Android Open Source. GIS and online discussion forum in a spatiathe technological requirements for thand online discussion forum. They can post in a discussion data representation and measuring individual understanding the report with solutions, which provide please keep track documents or project discussion of expertise. Korean Forestry Societymitted to AGRIS. In where to bear unique features I listed in title above reviews, they return still hugely popular. 3 CONCLUSIONS Through this subject we govern a step towards to. As exempt all assessment items, when discussing the existing bus services, whereas the timing of talking for discussion or collaborative activities will root upon when students are completing them.
    [Show full text]
  • PHP Programming Language
    PHP Programming Language PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Thu, 17 Jun 2010 01:34:21 UTC Contents Articles Active Agenda 1 Active Calendar 2 Adminer 8 Aigaion 10 Aiki Framework 12 Asido 13 Associate- O- Matic 16 AutoTheme 18 Avactis 19 BakeSale 22 Beehive Forum 23 bitcart 25 BlueErp 29 BuddyPress 30 ccHost 32 Claroline 34 Comparison of knowledge base management software 36 concrete5 42 Coppermine Photo Gallery 44 Croogo 46 DBG 47 Delphi for PHP 47 Doctrine (PHP) 49 Dokeos 52 dotProject 55 User:Drietsch/ pimcore 57 DynPG 58 eAccelerator 59 Elgg (software) 60 EpesiBIM 62 Flash Gallery 64 Flash MP3 Player 66 FluxBB 68 Frog CMS 71 Gallery Project 73 Gamboo Web Suite 75 Gateway Anti- Virus 77 GoogleTap 78 Group- Office 79 Habari 81 Horde (software) 85 HuMo- gen 86 IPBWI 89 Icy Phoenix 91 Ingo (software) 94 Injader 95 Intelestream 96 Internet Messaging Program 98 Invision Power Board 99 ionCube 101 Joomla 103 Joomsef 106 KnowledgeBase Manager Pro 108 List of PHP accelerators 109 List of PHP libraries 112 Magic quotes 113 Mambo (software) 115 Merlintalk 120 MetaBB 122 MiaCMS 123 Midgard (software) 125 Midgard Lite 129 MindTouch Deki 130 Monkey Boards 134 Moodle 135 Moxietype 140 MyBB 141 NETSOFTWARE 144 net2ftp 146 User:Nichescript/ Affiliate Niche Sript 147 Ning (website) 148 NolaPro 152 ORMer 154 ocPortal 155 Open Realty 158 OpenBiblio 159 Opus (content management system) 161 osCommerce 163 PEAR 166 PHP accelerator 167 PHP syntax and semantics 168 PHP/
    [Show full text]
  • Free Smf Themes
    Free smf themes click here to download Featured Theme. MinDI By: Diego Andrés. Free & Premium Themes for SMF MinDI - Responsive Theme Design by [url=www.doorway.ru SMF Tricks is a site dedicated to the themes development in SMF. You will find Free & Premium Responsive Themes to fit your style and get your forum nicer. Ceiling by jonhgest SMF. Dogal by frankyd SMF. Merry by josh SMF. Class Red by Nonos SMF. Forest by sfm_design SMF. Green Theme by brad SMF. Abstract Responsive Free Black SMF Dark Theme Template Download. This Dark SMF Theme Template is One of The Free Simple Machine Forum (SMF) 2. Free SMF themes: Download and install various free SMF forum styles and templates. www.doorway.ru - SMF Styles And SMF Themes. Free SMF Hosting A Glorious Responsive SMF Theme with Sketch Elements, Forum Mechanics, x. Free SMF Themes - Black Simple Machine Forum Theme #smf #black # simplemachineforum. Darkest BlackSimple MachinesTemplates FreeWebsite. Free SMF Themes - Red Simple Machine Forum Template #smf # simplemachineforum #smfthemes. www.doorway.ru provides high quality smf themes. You will find responsive free and premium SMF themes, that offer high customisation and easy to use panel. Grunge Abstract Dark Gray SMF Theme Free Download. Free Dark SMF Theme and One of The Free Simple Machine Forum (SMF) Themes Templates Suited. Concept is a stylish, clean, flat, minimalistic and professional SMF theme. This theme is free for personal and commercial use. You are allowed to use it in your. I am looking for a place to find quality SMF themes. Rocket SMF official website has the largest collection of Free SMF themes.
    [Show full text]
  • Simulation of Built-In PHP Features for Precise Static Code Analysis
    Simulation of Built-in PHP Features for Precise Static Code Analysis Johannes Dahse Thorsten Holz Horst Gortz¨ Institute for IT-Security (HGI) Horst Gortz¨ Institute for IT-Security (HGI) Ruhr-University Bochum, Germany Ruhr-University Bochum, Germany [email protected] [email protected] Abstract—The World Wide Web grew rapidly during the last vulnerabilities: in the MITRE CVE database [26], about 29% decades and is used by millions of people every day for online of all security vulnerabilities found in computer software are shopping, banking, networking, and other activities. Many of related to PHP. The wide distribution of PHP and the large these websites are developed with PHP, the most popular scripting number of PHP-related vulnerabilities lead to a high interest language on the Web. However, PHP code is prone to different of finding and patching security vulnerabilities in PHP source types of critical security vulnerabilities that can lead to data code (e. g., [2, 18, 34, 36, 41, 43]). leakage, server compromise, or attacks against an application’s users. This problem can be addressed by analyzing the source Detection of Taint-Style Vulnerabilities: A security code of the application for security vulnerabilities before the vulnerability occurs when data supplied by the user is used application is deployed on a web server. In this paper, we present in critical operations of the application and is not sanitized a novel approach for the precise static analysis of PHP code to sufficiently. An attacker might be able to exploit this flaw by detect security vulnerabilities in web applications. As dismissed by previous work in this area, a comprehensive configuration injecting malicious input that changes the behavior or result and simulation of over 900 PHP built-in features allows us to of this operation [33].
    [Show full text]
  • Using Dynamic Analysis to Crawl and Test Modern Web Applications
    jAk¨ : Using Dynamic Analysis to Crawl and Test Modern Web Applications Giancarlo Pellegrino(B)1, Constantin Tsch¨urtz2 Eric Bodden2, and Christian Rossow1 1 Center for IT-Security, Privacy, and Accountability (CISPA), Saarland University fgpellegrino,[email protected] 2 Secure Software Engineering Group, Technische Universit¨atDarmstadt [email protected],[email protected] Abstract. Web application scanners are popular tools to perform black box testing and are widely used to discover bugs in websites. For them to work effectively, they either rely on a set of URLs that they can test, or use their own implementation of a crawler that discovers new parts of a web application. Traditional crawlers would extract new URLs by parsing HTML documents and applying static regular expressions. While this approach can extract URLs in classic web applications, it fails to explore large parts of modern JavaScript-based applications. In this paper, we present a novel technique to explore web applications based on the dynamic analysis of the client-side JavaScript program. We use dynamic analysis to hook JavaScript APIs, which enables us to detect the registration of events, the use of network communication APIs, and dynamically-generated URLs or user forms. We then propose to use a navigation graph to perform further crawling. Based on this new crawling technique, we present jAk¨ , a web application scanner. We compare jAk¨ against four existing web-application scanners on 13 web applications. The experiments show that our approach can explore a surface of the web applications that is 86% larger than with existing approaches. 1 Introduction Web application scanners are black box security testing tools that are widely used to detect software vulnerabilities in web applications.
    [Show full text]
  • Ensuring Authorized Updates in Multi-User Database-Backed
    Ensuring Authorized Updates in Multi-user Database-Backed Applications Kevin Eykholt, Atul Prakash, and Barzan Mozafari, University of Michigan Ann Arbor https://www.usenix.org/conference/usenixsecurity17/technical-sessions/presentation/eykholt This paper is included in the Proceedings of the 26th USENIX Security Symposium August 16–18, 2017 • Vancouver, BC, Canada ISBN 978-1-931971-40-9 Open access to the Proceedings of the 26th USENIX Security Symposium is sponsored by USENIX Ensuring Authorized Updates in Multi-user Database-Backed Applications Kevin Eykholt Atul Prakash University of Michigan Ann Arbor University of Michigan Ann Arbor Barzan Mozafari University of Michigan Ann Arbor Abstract attacks due the large number of users and easy access Database-backed applications rely on access control through the Internet. To protect the sensitive data these policies based on views to protect sensitive data from web application store in thee database, proper access unauthorized parties. Current techniques assume that control is required. Unfortunately, securing web applica- the application’s database tables contain a column that tions has remained a challenge, mainly for three reasons: enables mapping a user to rows in the table. This as- (i) the incompatibility of modern web architecture and sumption allows database views or similar mechanisms the security mechanisms of database systems, (ii) limi- to enforce per-user access controls. However, not all tations of the automated techniques for enforcing a se- database tables contain sufficient information to map a curity policy, and (iii) failure to write secure, non-buggy user to rows in the table, as a result of database normal- code when implementing access contol logic within the ization, and thus, require the joining of multiple tables.
    [Show full text]