0% found this document useful (0 votes)
16 views8 pages

Module 3

Uploaded by

Abhishek S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views8 pages

Module 3

Uploaded by

Abhishek S
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

‭MODULE 3‬

‭IoT‬
‭PYQ‬
‭ಕರ್ನಾಟಕ‬
‭1. Explain security requirements and threat analysis.‬
‭or‬
‭6.What are the security requirements in IoT architecture and threat analysis using microsoft.‬

‭●‬ I‭ oT reference architecture serves as a guide for architects and comprises three key‬
‭views—functional, information, and deployment and operational.‬
‭●‬ ‭Security Functional group contains five sets of functions which are required for ensuring‬
‭security and privacy.‬
‭●‬ ‭Five functional components (FCs) of security are defined in IoT reference architecture.‬
‭●‬ ‭Following are five functional components (FCs):‬
‭1. Identity management (IdM) - Essential functional component focusing on managing‬
‭identities associated with devices, applications, and services for robust security.‬
‭2. Authentications - A functional component dedicated to establishing entities within the‬
‭IoT ecosystem, ensuring secure and authorized access.‬
‭3. Authorisation - Another critical functional component dealing with defining and‬
‭enforcing access policies and permissions for devices, applications, and services.‬
‭4. Key exchange and management - Addresses the secure exchange and management of‬
‭cryptographic keys, a vital aspect in safeguarding communication and data integrity.‬
‭5. Trust and reputation - Focuses on building and maintaining trust among entities in the‬
‭IoT network, with a reputation system to assess reliability and integrity.‬
‭●‬ ‭Threat analysis‬
‭○‬ ‭A threat-analysis tool first generates the threats and analyzes a system for threat(s).‬
‭○‬ ‭Threat analysis means uncovering the security design flaws after specifying the‬
‭‬
■ ‭ tride category - Stride means taking a long step for little steps‬
S
‭■‬ ‭Data flow diagram‬
‭■‬ ‭Elements between that the interactions occurring during the stride‬
‭■‬ ‭Processes which are activated for analysis.‬

‭‬

‭●‬ ‭The above figure is an application threat model in Microsoft threat modeling tool.‬
‭○‬ ‭The threat analysis tool comprises three main components:‬
‭■‬ ‭Getting started guide‬
‭■‬ ‭Create a model,‬
‭■‬ ‭Open a model‬
‭■‬ ‭All these provide a structured workflow for users.‬
‭○‬ ‭The model is designed for threat analysis, incorporating definitions of strides and‬
‭elements.‬
‭○‬ ‭Elements can be processes, data stores, flows, boundaries, or external specified‬
‭elements within the system.‬
‭○‬ ‭The tool allows the creation of new threats using a stride category.‬
‭○‬ ‭A stride category is defined for generating a list of active threats based on‬
‭interactions between system elements, as per the model definitions.‬
‭○‬ ‭The tool recognizes various element types, such as processes, data stores, flows,‬
‭boundaries, and external specified elements, enhancing flexibility in threat analysis.‬
‭○‬ ‭The tool comes with predefined threat categories and users can create new ones.‬
‭○‬ ‭Threat definitions and mitigation solutions are suggested automatically.‬
‭○‬ ‭The tool's analysis view displays messages indicating vulnerabilities, the data flow‬
‭diagram, and active/inactive threats.‬
‭○‬ ‭For instance, it shows data flow between devices and applications or services.‬
‭○‬ ‭The tool offers search functionality, and when searching for the element process, the‬
‭view displays active and inactive processes, such as OS process, Thread, Kernel‬
‭Thread, Native Application, Managed Application, and more.‬

‭2. What is IoT security tomography ?Explain in detail the layered attacker model‬
‭●‬ ‭Computational tomography means a computing method of producing a three-dimensional‬
‭picture of the internal structures of an object, by observation‬
‭●‬ ‭Computational security in a complex set of networks utilizes the network tomography‬
‭procedures of identifying the network vulnerabilities.‬
‭●‬ ‭A complex set of networks may be distributed or collaborative.‬
‭●‬ N
‭ etwork tomography refers to the study of vulnerabilities and security aspects for network‬
‭monitoring in a complex system, such as WSNs, RFIDs or IoT networks and allocating‬
‭resources and ensuring network reliability and security.‬

‭‬

‭●‬ ‭Layer 1 Attacks Solution:‬
‭○‬ ‭Tailor solutions based on specific devices.‬
‭○‬ ‭Implement BT LE link-level AES-CCM 128 for confidentiality and authentication.‬
‭○‬ ‭Use ZigBee at the link-level security with AES-CCM-128.‬
‭●‬ ‭Layer 2 Attacks Solution:‬
‭○‬ ‭Program network switches to prevent internal node attacks during DHCP or STP.‬
‭○‬ ‭Implement controls such as ARP inspection, disabling unused ports, and enforcing‬
‭VLAN security.‬
‭●‬ ‭Layer 3 Attacks Solution:‬
‭○‬ ‭Utilize tamper-resistant routers.‬
‭○‬ ‭Implement packet filtering, control routing messages, and use firewalls.‬
‭●‬ ‭Layer 4 Attacks Solution:‬
‭○‬ ‭Identify vulnerable ports through port scanning.‬
‭○‬ ‭Configure firewalls effectively, deploy DTLS between layers 5 and 4.‬
‭○‬ ‭Implement SASL for security when using the XMPP protocol.‬
‭●‬ ‭Layers 5 and 6 Attacks Solution:‬
‭○‬ ‭Address application-level attacks due to coding flaws.‬
‭○‬ ‭Use HTTPS for secure communication in web applications.‬
‭○‬ ‭Leverage S-HTTP features, including content privacy, digital signatures, and‬
‭encryption.‬
‭3. Explain five levels for software development for application and services for IoT or M2M.‬

‭●‬ T ‭ he software need are for the devices, local network, gateway, cloud web connectivity and‬
‭web/cloud APIs.‬
‭●‬ ‭The software enables the device gateways connectivity to Internet and cloud server‬
‭●‬ ‭Enables open source implementations of IoT protocols.‬
‭●‬ ‭Connected devices use variety of protocols; LWM2M, CoAP, MQTT, and methods for‬
‭connecting to web‬
‭●‬ ‭Web communication uses the Gateway, SOAP, REST, RESTful HTTP and WebSockets‬
‭functions.‬
‭●‬ ‭Open Services Gateway initiative (OSGi) initiative provides and maintains open standard‬
‭specifications.‬
‭●‬ ‭OSGi describes the specification of management of Java packages/classes in a modular‬
‭system.‬
‭●‬ ‭Physical/Data Link and Adaptation Layers Software using IDE:‬
‭○‬ ‭Physical Layer: Involves software development for hardware interactions, managing‬
‭sensors, actuators, or communication modules.‬
‭○‬ ‭Data Link Layer: Software at this level manages reliable point-to-point‬
‭communication, error detection, and correction, handling data frames.‬
‭○‬ ‭Adaptation Layer: Develops software to adapt data formats and protocols, ensuring‬
‭efficient communication between diverse devices.‬
‭○‬ I‭ DE (Integrated Development Environment): Utilizes an IDE tailored for IoT/M2M‬
‭development, providing tools for code editing, debugging, and compilation specific‬
‭to hardware interactions.‬
‭●‬ ‭IoT or M2M Area Local Network and Gateway Software:‬
‭○‬ ‭IoT/M2M Area Local Network: Involves software development for managing the‬
‭local network, including protocols for device discovery, addressing, and‬
‭communication within a confined area.‬
‭○‬ ‭Gateway Software: Develops software for gateways that act as intermediaries‬
‭between local IoT networks and broader networks (e.g., the internet). Manages data‬
‭translation, security, and transmission between local networks and external services.‬
‭●‬ ‭Network and Transport Layers Software:‬
‭○‬ ‭Develops software for the network and transport layers, focusing on protocols,‬
‭routing, and reliable end-to-end communication between devices. Ensures efficient‬
‭and secure data transfer within the broader network.‬
‭●‬ ‭Application Support Layer APIs/Software:‬
‭○‬ ‭Develops APIs (Application Programming Interfaces) and software libraries to‬
‭provide foundational support for IoT/M2M applications. This includes‬
‭functionalities like data storage, security services, and common utilities used by‬
‭higher-level applications.‬
‭●‬ ‭Application Layers APIs/Software:‬
‭○‬ ‭Develops APIs and software specific to the application layer, catering to the unique‬
‭requirements of IoT/M2M applications. This could involve creating interfaces for‬
‭data analytics, user interfaces, business logic, and other application-specific‬
‭functionalities.‬

‭4. Explain the importance of security in IoT.Explain security models in brief.‬


‭5.Discuss about embedded programming . Device arduino platform using IDE.‬
‭●‬ ‭Programming with avr-gcc Tools:‬
‭○‬ ‭Arduino boards are programmed using avr-gcc tools, providing a‬
‭platform-independent development environment.‬
‭○‬ ‭A pre-installed bootloader embedded in the firmware simplifies code uploading onto‬
‭the Arduino board.‬
‭●‬ ‭Arduino IDE and Simplicity:‬
‭○‬ ‭Arduino programmers use a graphical cross-platform IDE for coding, emphasizing‬
‭simplicity.‬
‭○‬ ‭The IDE, based on the Processing language, connects to the board via a computer.‬
‭○‬ ‭The bootloader facilitates multitasking through interrupt-handling functions for each‬
‭task, enhancing event-driven capabilities.‬
‭●‬ ‭IDE Modules and Development Environment:‬
‭○‬ ‭The Arduino IDE consists of software modules creating a development environment‬
‭for specific device platforms.‬
‭○‬ ‭Users download an appropriate IDE version for their OS (Windows, Mac OS X, or‬
‭Linux) from the Arduino website.‬
‭●‬ ‭Uploading Codes and Arduino IDE Features:‬
‭○‬ ‭The Arduino IDE allows the computer to upload developed codes to the board via a‬
‭USB cable or a labeled serial port.‬
‭○‬ ‭It includes a C/C++ library called Wiring, simplifying Arduino IO operations.‬
‭○‬ ‭The editor within the IDE provides automatic indentation, syntax highlighting, and‬
‭error checking, facilitating code development.‬
‭●‬ ‭Code Development Process:‬
‭○‬ ‭Arduino IDE functions as a file editor using the Processing environment and Wiring‬
‭library functions.‬
‭○‬ ‭Codes written in C/C++ are compiled, checked for errors, and, if error-free, can be‬
‭uploaded to the board for embedding.‬
‭●‬ ‭Setup() and Loop() Functions:‬
‭○‬ ‭Arduino programming involves defining two functions: setup() for initializing‬
‭settings and loop() for the main program running in an endless loop.‬
‭○‬ ‭The simplicity of Arduino is reflected in the minimalistic requirements for defining‬
‭executable program functions.‬
‭●‬ ‭Serial Monitor for Debugging:‬
‭○‬ ‭A serial monitor in the IDE allows messages from the embedded software to be‬
‭displayed on the computer screen during testing and debugging.‬
‭7. Write a short note on arduino programming for IoT.‬
‭●‬ ‭Simplicity and Accessibility: Arduino's user-friendly IDE and programming language‬
‭simplify IoT development, making it accessible for beginners.‬
‭●‬ ‭IoT Connectivity: Arduino boards support various communication modules, enabling‬
‭seamless integration into the broader IoT ecosystem.‬
‭●‬ ‭Sensor Integration: Arduino facilitates the integration of diverse sensors for data‬
‭acquisition, a fundamental aspect of IoT applications.‬
‭●‬ ‭Communication Protocols: Arduino supports protocols like MQTT and HTTP for data‬
‭transmission, crucial for interaction with IoT platforms.‬
‭●‬ ‭Actuator Control: Arduino enables the control of actuators, allowing physical actions based‬
‭on IoT application requirements.‬
‭●‬ ‭IoT Prototyping: Arduino's prototyping capabilities and extensive community support‬
‭accelerate the development of IoT concepts.‬
‭●‬ ‭Edge Computing: Arduino boards can perform basic edge computing tasks, reducing the‬
‭reliance on cloud processing for certain applications.‬
‭●‬ ‭Security Considerations: While Arduino simplifies development, security practices,‬
‭including encryption, are essential for protecting IoT devices and data.‬

‭8. Explain how data is read from sensors and devices .‬


‭●‬ ‭Using ADC :‬
‭○‬ ‭Employing analog-to-digital conversion (ADC) for sensors like temperature and‬
‭humidity in the range of 0 to 100 degrees Celsius.‬
‭○‬ ‭Utilizing a 10-bit ADC on the Arduino Uno board to convert analog sensor outputs‬
‭to digital values.‬
‭○‬ ‭Using a Parallel Input to Serial-Output (PISO) converter to convert the digital output‬
‭of the ADC to a serial format.‬
‭○‬ ‭Connecting the serial output to the Serial Peripheral Interface (SPI) input pin on the‬
‭Arduino Uno board.‬
‭○‬ ‭Extending the application to include Relative Humidity (RH%) sensors with a‬
‭similar setup.‬
‭○‬ ‭Demonstrating flexibility by adapting the approach for measuring RH% instead of‬
‭temperature.‬
‭●‬ ‭Using the Libraries‬
‭○‬ ‭Emphasizing the broad application of these libraries in data communication using‬
‭various serial bus protocols.‬
‭○‬ ‭Mentioning specific protocols such as UART, I2C, USB, and CAN, showcasing the‬
‭versatility of the software serial libraries.‬
‭●‬ ‭Using the timers‬
‭○‬ ‭It has two functions set() and start(). First one sets the timer for interrupt after a‬
‭preset interval and second one to start running the timer.‬
‭●‬ ‭Using software serial library‬
‭○‬ T ‭ he serial interface library manages serial protocol communication by transmitting‬
‭header bits, data bits, and end-bits in a specific sequence.‬
‭○‬ ‭UART protocol, using Tx and Rx signals, operates at a defined baud rate, with a byte‬
‭representing characters, data, or commands.‬
‭○‬ ‭Arduino's pins 0 and 1 are dedicated to UART serial communication, while the‬
‭Software Serial library enables flexibility in choosing digital IO pins.‬
‭○‬ ‭Communication initiation involves RFID IC connecting to Arduino's digital IO pins,‬
‭transmitting a header, and concluding with an end-character.‬
‭○‬ ‭The Software Serial library facilitates efficient reading and writing of serial data,‬
‭crucial for effective communication between Arduino and devices like RFID ICs.‬
‭●‬ ‭Using Threads‬
‭○‬ ‭Thread Representation: Each delay instruction in the program acts as an individual‬
‭thread.‬
‭○‬ ‭Multitasking Utilization: During delays, the operating system executes other threads‬
‭in sequence or with the next priority.‬
‭○‬ ‭Sleep Function: The OS's sleep() or OS_Delay() function is used for blocking a‬
‭thread during the preset delay, ensuring efficient multitasking.‬
‭8. Define Vulnerability and mention top 10 vulnerability defined by OWASP‬
‭●‬ ‭Vulnerability means weakness to defend oneself or can be easily influenced from‬
‭surrounding unwanted things.‬
‭●‬ ‭OWASP has identified top ten vulnerabilities in IoT applications/services as follows:‬
‭● Insecure web interface‬
‭● Insufficient authentication or authorisation‬
‭● Insecure network services‬
‭● Lack of transport encryption/integrity verification‬
‭● Privacy concerns‬
‭● Insecure cloud interface‬
‭● Insecure mobile interface‬
‭● Insufficient security configurability‬
‭● Insecure software or firmware‬
‭● Poor physical security‬

You might also like