cover photo

COURSE

CL-CY-001

4 Levels · 6 Months

Introduction to Cloud Computing and Cyber Security

CL-CY-001

Jump to:


Level 1


Generic Tasks

TASK 1: 3D Printing

Understand the working of a 3D printer, check out the online resources. Understand what's an STL file, and then learn to slice it (using ultimaker or creality slicer).Go through the SOP'S regarding the 3d printer. Learn about bed temperature, infill density and other printer settings. Finally get an STL file from the internet, and slice it and put it for print.

Resources:

Introduction to 3d printer

PLA settings

Types of 3D printing

(Note this task is to be done under coordinator supervision.) 3dprinter

TASK 2: API

What is an API? Learn the working of an API and its applications. Using any api of your choice, build an user interface(web app, mobile app, etc), where you can make calls and then display the necessary information. An example weather app is given below, using the open weather api.

Example

TASK 3: Working with Github

Familiarize yourself with GitHub integrated workflows (GitHub actions), Issues, and pull requests with this task. Given below is a git repository, go check it out and then perform the necessary tasks stated in the readme file.

Check this link for more info: https://github.com/UVCE-Marvel/git-task

TASK 4: Get familiar with the command line on ubuntu and do the following subtasks:

● Create a folder named test.

● cd into that folder.

● Create a blank file without using any text editor.

● list the files in that folder

● create 2600 folders in this folder where each folder is named like . For example, M90 or B56.

● concatenate two text files containing any random text and display them on the terminal.

https://ubuntu.com/tutorials/command-line-for-beginners#1-overview

TASK 5: Kaggle contest

Make a kaggle account, visit the website and complete the competition

Participate in the Titanic ML competition – the best, first challenge for you to dive into ML competitions and familiarize yourself with how the Kaggle platform works.The competition is simple: use machine learning to create a model that predicts which passengers survived the Titanic shipwreck.

Resources: Titanic regression model - https://www.kaggle.com/c/titanic

Video reference - https://youtu.be/I3FBJdiExcg

TASK 6: Working with Pandas and Matplotlib:

Using pandas and matplotlib, and a dataset of your choice, plot a line graph, bar graph, and scatter plot.

Reference: https://realpython.com/pandas-plot-python/

TASK 7: Create a Portfolio Webpage

Create a website to showcase your portfolio - about yourself, interests, projects, social media profiles and more. It has to be responsive and also pushed to the git repository. CSS can be of your choice and any framework can be used.

TASK 8: Writing Resource Article using Markdown

Markdown is an easy-to-use markup language that is used with plain text to add formatting elements (headings, bulleted lists, URLs) to plain text without the use of a formal text editor or the use of HTML tags. Markdown is device agnostic and displays the writing format consistently across device type. Write a technical resource article on a topic of your choice and post it on the MARVEL website. Refer to the linked article for further details

Link

TASK 9: Tinkercad

Create a tinkercad account, get familiar with the application, understand the example circuits given and simulate a simple circuit using an ultrasonic sensor to estimate the distance between an obstacle and the sensor. Display the results on the serial monitor.

Create a radar system utilising an ultrasonic sensor and servo motor to detect objects within a certain range. The ultrasonic sensor emits sound waves and measures the time taken for them to bounce back, while the servo motor rotates the sensor to cover a wider area, providing a simple yet effective detection mechanism. RESOURCE: https://youtu.be/NwmcNCvUcDc?si=x2LAYMFiqs1SzLfI TASK OUTCOME: introduction to- · TINKERCAD · Working of ultrasonic sensor and servo motor · Radar technology PRECAUTIONS/SAFETY MEASURES- NOT ANY

TASK 10: Speed Control of DC Motor

Explore basic techniques for controlling DC motors, understand the control DC motors using the L298N motor driver and the Arduino board. Using an UNO and H-Bridge L298N motor driver, control the speed of a 5V BO motor, try simulating this on tinkercad and then perform it on the hardware, Record videos of you doing the same.

Reference

TASK 11: LED Toggle Using ESP32

Learn the working of an ESP32 and create a standalone web server with an ESP32 that controls the LED connected with ESP32 GPIOs. Use the arduino IDE to code and upload the program to the ESP32. Learn to configure the IDE to upload code to an ESP32.

Reference

TASK 12: Soldering Prerequisites

(Soldering is to be done in presence of a coordinator)

Learn about the soldering equipment present in our lab, the solder, the soldering iron, soldering wick, flux, etc. Learn to use them and perform basic soldering on a perf board, for example a LED circuit in the presence of a coordinator and document the same.

Reference

TASK 13:

Design a 555 astable multivibrator with duty cycle 60%, rig up the circuit on a breadboard and by using the probes observe the output of your circuit on the DSO. Resources:

Circuit

TASK 14: Karnaugh Maps and Deriving the logic circuit

Description: For 4 cases, based on door lock/open and key pressed/not pressed. Determine the karnaugh map and make a burglar alarm using simple logic circuits. The buzzer or led blinks when certain conditions are met, you can use push buttons for the door and key.

(Tip: use logic gates, use k-maps to figure out the working conditions.)

TASK 15: Active Participation:

Take part in any technical event, inter or intra college and submit the issued certificate of participation.

Enroll for a MOOC and complete the course.

TASK 16: Datasheets report writing:

Topics: 1)MQ135 Gas sensor 2)L293D motor driver Task Description: Study the datasheet of any one of the above and write a report on it. Specify about the ICs used in L293D, PWM, H-bridge etc. In case of MQ 135, specify the calibrations for different gases and the Freundlich Absorption Theorem Graph.

Task 17: Introduction to VR

Familiarise yourself with what Virtual Reality is. Make a detailed study about what's the difference between VR and AR. Mention about the trends in the space and technology stack being developed. Make about Indian companies in this space. Make the report with detail. Using generative AI to generate this study can lead to disqualification.

vrlol

TASK 18: Sad servers - "Like LeetCode for Linux"

Sadservers is an excellent ground to test your Linux troubleshooting skills. Here is a troubleshooting scenario: Command Line Murders. Troubleshoot and Make Sad Servers Happy!

Command line murder
Linux commands
Linux commands

Task 19: Make a Web app

Using express create a resource library website where you can browse the resource articles, books etc which are available and also manage your account
Reference


Level 2


TASK 1: Working of a Version Control

Start by reading and understanding the theory behind version control. Focus on the core concepts such as commits, branches, merges, and the role of repositories in version control.
Install Git on your machine and initialize a simple repository.

Task Outcome: Practice using Git commands, such as git branch, git merge, git revert and git cherry-pick, in a hands-on way. Try working on both local and remote repositories (such as GitHub or GitLab) to see how they interact.

Resource Links:
Git docs - videos
Recommended Part 3 of this resource link

TASK 2: Database task - DynamoDB

DynamoDB is a fully managed NoSQL database service provided by AWS. It is highly scalable, durable, and ideal for low-latency data storage. Below is a comprehensive guide covering key aspects of using DynamoDB, including table creation, security, monitoring, access control, and common mistakes to avoid.

Task Outcome: Create a Simple User Login System that stores and validates user credentials for login. Add user credentials. Validate login using username and password using DynamoDB Also learn about MySQL and NoSQL, and how they are different from each other.

Resource Links:
SQL vs MySQL vs NoSQL
DynamoDB Course

TASK 3: Create an application on EC2 instance

The objective of this task is to guide you through the process of creating, configuring, and managing an EC2 instance on Amazon Web Services (AWS). By the end of this task, you will have a strong understanding of how to launch and configure EC2 instances, connect to them, and manage their security and performance.

Task Outcome: Build and run virtually any dynamic application.

Resource Links:
EC2 Instance creation Tutorial

TASK 4: AWS CloudFront - Serve content from multiple S3 buckets

Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds, all within a developer-friendly environment. Whereas Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance.

Task Outcome: Complete the below Amazon CloudFront Tutorials: Setting up a Dynamic Content Distribution for Amazon S3.

Resource Links:
AWS CloudFront Tutorials

TASK 5: Kali Linux

The goal of this task is to introduce you to Kali Linux, a powerful Linux distribution used for penetration testing and security auditing. By the end of this task, you should understand how Kali Linux works. This task will introduce students to penetration testing concepts and tools.

Task Outcome: Perform a basic penetration test on a virtual machine using Kali Linux tools such as Nmap.

Resource Links:
Cybersecurity Labs: Kali Linux 2023 Guide for Beginners | Pentesting | VirtualBox
Kali Linux Documentation and Installation

TASK 6: Socket.IO

Socket.IO allows bi-directional communication between client and server. Bi-directional communications are enabled when a client has Socket.IO in the browser, and a server has also integrated the Socket.IO package. While data can be sent in a number of forms, JSON is the simplest.

Task Outcome: Set up a basic chat application using Node.js and Socket.IO on a Linux system. The application should allow multiple users to connect and exchange messages in real-time.

Resource Links:
Socket.IO Documentation
Building a Chat App - Intro to WebSockets
How to Build a Real-time Chat App with React, Node, Socket.IO, and HarperDB

TASK 7: OSI

The Open Systems Interconnection (OSI) model describes seven layers that computer systems use to communicate over a network.

Task Outcome:

  • Research and create a simple visual representation or diagram of the OSI model using a cloud-based diagramming tool like Draw.io.
  • Learn about the OSI architecture along with the protocols, switching, routing, handshakes, and IP addressing.
  • Write a brief explanation of each layer of the OSI model and how it relates to cloud computing!

Resource Links:
OSI Model Complete Info
What is OSI Model?
Draw.io - To picturize the various layers

TASK 8: IaaS, PaaS and SaaS

IaaS, PaaS, and SaaS are three primary cloud computing service models, each catering to different business needs and responsibilities in managing IT infrastructure and applications.

Task Outcome: Learn about the types of cloud computing and write a brief explanation of each.

Resource Links:
AWS: Types of Cloud Computing

TASK 9: Encryption Techniques - Secure Messaging App

Learn and implement basic encryption and decryption programs using Python with the PyCrypto library. Learn about Ciphers, Caesar, Vigenère, and substitution cipher. Why is this different from encryption techniques like SHA256? Learn about symmetric and asymmetric keys (Public and Private keys). How are prime numbers used in RSA?

Task Outcome: A simple chat application where messages are encrypted before being sent and decrypted upon receipt.

Resource Links:
Data Encryption Methods

TASK 10: IP Addressing and Web Scraping - Job Listings Scraper

Use Python and libraries like BeautifulSoup to scrape IP address data from a website and analyze it. This task will reinforce understanding of IP addressing and protocols such as TCP/IP.

Task Outcome: Extract job postings from platforms like Indeed or Glassdoor.

Resource Links:
Web Scraping with Python - BeautifulSoup Crash Course


Level 3


TASK 1: AWS Lambda

AWS Lambda is an event-driven, serverless Function as a Service (FaaS) provided by Amazon as a part of Amazon Web Services. It is designed to enable developers to run code without provisioning or managing servers. It executes code in response to events and automatically manages the computing resources required by that code. From this task, you will learn the basics of running code on AWS Lambda without provisioning or managing servers.

Task Outcome: Deploy the chat app using AWS Lambda.
Resource Links:
Run Serverless Code - AWS

TASK 2: CI/CD (Continuous Integration & Continuous Delivery) - Intro to Jenkins

In this task, you will explore the concept of Continuous Integration and Continuous Delivery (CI/CD) and gain an introduction to Jenkins, a popular open-source tool for automating CI/CD pipelines.

Task Outcome:

  • Create a Jenkinsfile which contains the scripts for your pipeline.
  • Define the stages in your pipeline. A stage is a group of tasks that are executed together.
  • Define the tasks within each stage. A task is a specific action that is performed in your pipeline, such as building code or running tests.
  • Explore various stages of a CI/CD pipeline (checkout, build, test, deploy).
  • Save the Jenkinsfile to your repository.

Resource Links:
Jenkins Full Course | Jenkins Tutorial For Beginners | Jenkins Tutorial | Simplilearn Jenkins User Documentation

TASK 3: SSH

Secure Shell (SSH) is a network communication protocol that enables two computers to communicate.

Task Outcome: Write a script to SSH into a server, search the entire server for public/private keys, and upload them to another server.

Resource Links:
SSH Copy ID
How to Configure SSH Key-based Authentication on Linux
Retrieve the Public Key from a Private Key
Shell Script for Logging into SSH Server

TASK 4: Terraform

Terraform creates and manages resources on cloud platforms and other services through their application programming interfaces (APIs). Providers enable Terraform to work with virtually any platform or service with an accessible API.

Task Outcome: Build, change, and destroy AWS infrastructure using Terraform. Complete the step-by-step, command-line tutorials linked below which will walk you through the Terraform basics.
AWS Get Started

Resource Links:
Terraform Introduction

TASK 5: Wireshark

Wireshark is a free and open-source packet analyzer. It is used for network troubleshooting, analysis, software and communications protocol development, and education. Learn about network trafficking, fundamentals of Wireshark Analysis, and identify potential security threats.

Task Outcome:

  • Diagnose problems like latency, packet loss, or retransmissions.
  • Look for packets marked with issues (e.g., retransmissions or duplicate acknowledgments).
  • Use tools like the "Statistics" menu to view summaries and graphs.

Resource Links:
Wireshark User Guide
Wireshark Tutorial
Using Wireshark to Diagnose Network Problems

TASK 6: Docker

Docker can package an application and its dependencies in a virtual container that can run on any Linux, Windows, or macOS computer. This enables the application to run in a variety of locations, such as on-premises, in public (see decentralized computing, distributed computing, and cloud computing) or private cloud.

Task Outcome: Learn about Docker containers, images, and Dockerfiles. Complete the below Docker getting started course.

Resource Links:
Docker Get Started
What is Docker?
Docker Containers Overview

TASK 7: Docker File Spyware

While a Dockerfile itself isn't spyware, it can be used to build Docker images that contain malicious code.

Task Outcome: Write a Dockerfile spyware that constantly monitors a folder and sends all images posted into that folder to another server.

Resource Links:
Dockerfile Best Practices
What is Spyware?
Building a Hacking Tool with Python
Car Hacking with Python

TASK 8: Web Scraping and Automation - Flight Ticket Price Analysis

While planning a vacation, we all desire to spend the minimum on flight tickets, but it is not always possible. Occasionally, the prices go significantly down at odd timings. If you could understand them, it would mean you will get the chance of booking your tickets near your travel date.

Task Outcome: For this task, pick a website like Expedia or Kayak, fill in your details using an automated fashion, and then crawl the website to extract the price information.

Recommended Web Scraping Tool: Python’s Selenium is suitable for performing web scraping in this project. Additionally, you can use Python’s smtplib package to send an email containing the information that you extracted from the website to yourself.

Resource Links:
Scraping Air Travel Websites
Scraping Flight Prices with Selenium

TASK 9: Hashing

Hashing is the practice of transforming a given key or string of characters into another value for the purpose of security. Unlike standard encryption, hashing is always used for one-way encryption, and hashed values are very difficult to decode.

Task Outcome:

  • Create a simple program to store and verify user passwords securely.
  • Use a library like hashlib to hash passwords.
  • Store the hashed passwords in a dictionary or file.
  • Allow users to input their passwords for authentication.

Resource Links:
Store Password in Database

TASK 10: NMap

Nmap (Network Mapper) is a powerful and widely used open-source tool for network discovery and security auditing.

Task Outcome:

  • Learn how NMap works.
  • Scan the ports, Host, and OS and output these details in a file.
  • Analyze the results and report what you have found.

Resource Links:
NMap Manual
Zenmap Results


Level 4


Task 1 - Encryption

What are ciphers? Learn about caesar, Vigenere and substitution cipher, Why is this different from encryption techniques like SHA256? Learn about symmetric and asymmetric keys(Public and Private keys) (Optional : How is prime numbers used in RSA)

Task 2 - Hashing

Learn about Hashing ex:SHA256 algorithm ,Salting, Hash Tables (optional: Learn about MD5)

Task 3 - SSH

Write a script to SSH: Secure shell(SSH) is a network communication protocol that enables two computers to communicate . Write a script to SSH into a server and search the whole server for public keys/private keys and upload them to another server.

Task 4 - NMap

Learn how NMap works and Scan the ports, Host and OS and output these details in a file (optional: Analyze the results and report what you have found)

Task 5 - NMap Continued

Find out the use cases Wireshark and its working, Capture and Analyze Data Packs, Work with the various filters and statistics and report what you have found Reference: https://nmap.org/book/man.html https://www.wireshark.org/docs/

UVCE,
K. R Circle,
Bengaluru 01