Wednesday, 21 September 2022

What is Spiral Model

 The spiral model, initially proposed by Boehm, is an evolutionary software process model that couples the iterative feature of prototyping with the controlled and systematic aspects of the linear sequential model. It implements the potential for rapid development of new versions of the software. Using the spiral model, the software is developed in a series of incremental releases. During the early iterations, the additional release may be a paper model or prototype. During later iterations, more and more complete versions of the engineered system are produced.



Each cycle in the spiral is divided into four parts:

Objective setting: Each cycle in the spiral starts with the identification of purpose for that cycle, the various alternatives that are possible for achieving the targets, and the constraints that exists.

Risk Assessment and reduction: The next phase in the cycle is to calculate these various alternatives based on the goals and constraints. The focus of evaluation in this stage is located on the risk perception for the project.

Development and validation: The next phase is to develop strategies that resolve uncertainties and risks. This process may include activities such as benchmarking, simulation, and prototyping.

Planning: Finally, the next step is planned. The project is reviewed, and a choice made whether to continue with a further period of the spiral. If it is determined to keep, plans are drawn up for the next step of the project.

The development phase depends on the remaining risks. For example, if performance or user-interface risks are treated more essential than the program development risks, the next phase may be an evolutionary development that includes developing a more detailed prototype for solving the risks.

The risk-driven feature of the spiral model allows it to accommodate any mixture of a specification-oriented, prototype-oriented, simulation-oriented, or another type of approach. An essential element of the model is that each period of the spiral is completed by a review that includes all the products developed during that cycle, including plans for the next cycle. The spiral model works for development as well as enhancement projects.

Sunday, 11 September 2022

What Is Waterfall model

 Winston Royce introduced the Waterfall Model in 1970.This model has five phases: Requirements analysis and specification, design, implementation, and unit testing, integration and system testing, and operation and maintenance. The steps always follow in this order and do not overlap. The developer must complete every phase before the next phase begins. This model is named "Waterfall Model", because its diagrammatic representation resembles a cascade of waterfalls.

1. Requirements analysis and specification phase: The aim of this phase is to understand the exact requirements of the customer and to document them properly. Both the customer and the software developer work together so as to document all the functions, performance, and interfacing requirement of the software. It describes the "what" of the system to be produced and not "how."In this phase, a large document called Software Requirement Specification (SRS) document is created which contained a detailed description of what the system will do in the common language.

2. Design Phase: This phase aims to transform the requirements gathered in the SRS into a suitable form which permits further coding in a programming language. It defines the overall software architecture together with high level and detailed design. All this work is documented as a Software Design Document (SDD).

3. Implementation and unit testing: During this phase, design is implemented. If the SDD is complete, the implementation or coding phase proceeds smoothly, because all the information needed by software developers is contained in the SDD.

4. Integration and System Testing: This phase is highly crucial as the quality of the end product is determined by the effectiveness of the testing carried out. The better output will lead to satisfied customers, lower maintenance costs, and accurate results. Unit testing determines the efficiency of individual modules. However, in this phase, the modules are tested for their interactions with each other and with the system.

5. Operation and maintenance phase: Maintenance is the task performed by every user once the software has been delivered to the customer, installed, and operational.

Saturday, 6 August 2022

What is Operating System? Explain Types of OS, Features and Examples

 

What is an Operating System?

An Operating System (OS) is a software that acts as an interface between computer hardware components and the user. Every computer system must have at least one operating system to run other programs. Applications like Browsers, MS Office, Notepad Games, etc., need some environment to run and perform its tasks.

The OS helps you to communicate with the computer without knowing how to speak the computer’s language. It is not possible for the user to use any computer or mobile device without having an operating system.




History Of OS

  • Operating systems were first developed in the late 1950s to manage tape storage
  • The General Motors Research Lab implemented the first OS in the early 1950s for their IBM 701
  • In the mid-1960s, operating systems started to use disks
  • In the late 1960s, the first version of the Unix OS was developed
  • The first OS built by Microsoft was DOS. It was built in 1981 by purchasing the 86-DOS software from a Seattle company
  • The present-day popular OS Windows first came to existence in 1985 when a GUI was created and paired with MS-DOS.

Following are the Operating System examples with the latest Market Share

OS NameShare
Windows40.34
Android37.95
iOS15.44
Mac OS4.34
Linux0.95
Chrome OS0.14

Types of Operating System (OS)

Following are the popular types of OS (Operating System):

  • Batch Operating System
  • Multitasking/Time Sharing OS
  • Multiprocessing OS
  • Real Time OS
  • Distributed OS
  • Network OS
  • Mobile OS


Batch Operating System

Some computer processes are very lengthy and time-consuming. To speed the same process, a job with a similar type of needs are batched together and run as a group.

The user of a batch operating system never directly interacts with the computer. In this type of OS, every user prepares his or her job on an offline device like a punch card and submit it to the computer operator.

Multi-Tasking/Time-sharing Operating systems

Time-sharing operating system enables people located at a different terminal(shell) to use a single computer system at the same time. The processor time (CPU) which is shared among multiple users is termed as time sharing.

Real time OS

A real time operating system time interval to process and respond to inputs is very small. Examples: Military Software Systems, Space Software Systems are the Real time OS example.

Distributed Operating System

Distributed systems use many processors located in different machines to provide very fast computation to its users.

Network Operating System

Network Operating System runs on a server. It provides the capability to serve to manage data, user, groups, security, application, and other networking functions.

Mobile OS

Mobile operating systems are those OS which is especially that are designed to power smartphones, tablets, and wearables devices.















Networking Basics

 

Basic of Network

A network is a group of two or more devices that are connected to each other to share the data or share the resource. A network contains a number of different computer system that is connected by a physical or wireless connection like server or router. This router has direct access to the internet. The device can only connect to the internet through the router or access point.

For example: Suppose the client or device connected to the network through Wi-Fi or Ethernet. If the client opens the browser and types google.com, then your computer will send a request to the router for asking google.com. The router will go to the internet and request google.com. The router will receive google.com and forward that response to the computer. Now the client can see google.com on the browser as a result.

In networking, devices on the same network communicate with each other using packets. If you send a video, login a website, sending chat messages, sending email, all the data is send as packets. In networking, devices ensure that these packets go in the right direction using the mac address. Each packet has the source mac and destination mac, and it flows from the source mac to destination mac.




Pre-connection Attack

Pre-connection attack is the first part of the network penetration testing. To perform this attack, we will look at the fundamentals like how to show all the networks around us, how to find the details of all the connected devices to a particular network. Once we know about the network and connected devices to it, we can disconnect any device without knowing the password of that device.

Following are the basic steps we will be going through to perform Pre-connection attack:

  1. Wireless Interface in Monitor mode: In this step, we will change the mode of wireless device as Monitor mode.
  2. About airodump-ng: In this step, we will use airodump-ng to list all the network around us and display useful information about them.
  3. Run airodump-ng: In this step, we will see all the devices that are connected to a particular network and collect more information about it.
  4. Deauthenticate the Wireless client: In this step, we can disconnect any device which is shown in the previous step using the aireplay-ng.


Tuesday, 12 July 2022

Famous Hackers Of All Time

 

Jonathan James

Jonathan James was an American hacker. He is the first Juvenile who send to prison for cybercrime in the United States. He committed suicide on 18 May 2008, of a self-inflicted gunshot wound.

In 1999, at the age of 16, he gained access to several computers by breaking the password of a NASA server and stole the source code of International Space Station, including control of the temperature and humidity within the living space.

Kevin Mitnick

He is a computer security consultant, author, and hacker. He infiltrates his client's companies to expose their security strengths, weaknesses, and potential loopholes. In the history of the United state, he was formerly the most wanted computer criminal.

From the 1970s up until his last arrest in 1995, he skillfully bypassed corporate security safeguards and found his way into some of the most well-guarded systems like Sun Microsystems, Nokia, Motorola, Netcom, Digital Equipment Corporation.

Mark Abene

Mark Abene is an American Infosec expert and Entrepreneur. He is known around the world by his pseudonym Phiber Optik. Once, he was a member of the hacker groups Legion of Doom and Master of Deception. He was a high profile hacker in the 1980s and early 1990s.

He openly debated and defended the positive merits of ethical hacking as a beneficial tool for the industry. He is also expert in penetration studies, security policy review and generation, on-site security assessments, systems administration, and network management, among many others.

Robert Morris

Robert Morris was the creator of the Morris Worm. He was the first computer worm to be unleashed on the Internet. The Morris Worm had the capability to slow down computers and make them no longer usable. Due to this, he was sentenced to three years probation, 400 hours of community service and also had to pay a penalty amount of $10,500.

Gary McKinnon

Gary McKinnon is a Scottish systems administrator and Hacker. In 2002, he was accused of the "biggest military computer hack of all time". He has successfully hacked the network of Navy, Army, Air Force, NASA system of the United States Government.

In his statement to the media, he has often mentioned that his motivation was only to find evidence of UFOs and the suppression of "free energy" that could potentially be useful to the public.

Linus Torvalds

Linus Torvalds is a Finnish-American software engineer and one of the best hackers of all the time. He is the developer of the very popular Unix-based operating system called as Linux. Linux operating system is open source, and thousands of developers have contributed to its kernel. However, he remains the ultimate authority on what new code is incorporated into the standard Linux kernel.

Torvalds just aspire to be simple and have fun by making the world's best operating system. Linus Torvalds has received honorary doctorates from University of Helsinki and Stockholm University.



Wednesday, 6 July 2022

What Is Ethical Hacking

Hacking

Gaining access to a system that you are not supposed to have access is considered as hacking. For example: login into an email account that is not supposed to have access, gaining access to a remote computer that you are not supposed to have access, reading information that you are not supposed to able to read is considered as hacking. There are a large number of ways to hack a system.
In 1960, the first known event of hacking had taken place at MIT and at the same time, the term Hacker was organized.



Ethical hacking

Ethical hacking is also known as White hat Hacking or Penetration Testing. Ethical hacking involves an authorized attempt to gain unauthorized access to a computer system or data. Ethical hacking is used to improve the security of the systems and networks by fixing the vulnerability found while testing.
Ethical hackers improve the security posture of an organization. Ethical hackers use the same tools, tricks, and techniques that malicious hackers used, but with the permission of the authorized person. The purpose of ethical hacking is to improve the security and to defend the systems from attacks by malicious users.


Types of Hacking

We can define hacking into different categories, based on what is being hacked. These are as follows:

  1. Network Hacking
  2. Website Hacking
  3. Computer Hacking
  4. Password Hacking
  5. Email Hacking
  1. Network Hacking: Network hacking means gathering information about a network with the intent to harm the network system and hamper its operations using the various tools like Telnet, NS lookup, Ping, Tracert, etc.
  2. Website hacking: Website hacking means taking unauthorized access over a web server, database and make a change in the information.
  3. Computer hacking: Computer hacking means unauthorized access to the Computer and steals the information from PC like Computer ID and password by applying hacking methods.
  4. Password hacking: Password hacking is the process of recovering secret passwords from data that has been already stored in the computer system.
  5. Email hacking: Email hacking means unauthorized access on an Email account and using it without the owner's permission.

Advantages of Hacking

There are various advantages of hacking:

  1. It is used to recover the lost of information, especially when you lost your password.
  2. It is used to perform penetration testing to increase the security of the computer and network.
  3. It is used to test how good security is on your network.

Disadvantages of Hacking

There are various disadvantages of hacking:

  1. It can harm the privacy of someone.
  2. Hacking is illegal.
  3. Criminal can use hacking to their advantage.
  4. Hampering system operations.

What Is Software Testing

 

Software Testing

Software testing is a process of identifying the correctness of software by considering its all attributes (Reliability, Scalability, Portability, Re-usability, Usability) and evaluating the execution of software components to find the software bugs or errors or defects.

Software testing is the process of evaluating a system with the intent of finding bugs. It is performed to check if the system satisfies its specified requirements.




Why is testing required?

Software Testing as a separate activity in SDLC is required because-

  • Testing provides an assurance to the stakeholders that the product works as intended.
  • Avoidable defects leaked to the end-user/customer without proper testing adds a bad reputation to the development company.
  • The separate testing phase adds a confidence factor to the stakeholders regarding the quality of the software developed.
  • Defects detected in the earlier phase of SDLC results in lesser cost and resource utilization for defect resolution.
  • The testing team adds another dimension to the software development by providing a different viewpoint to the product development process.
  • An untested software not only makes software error-prone, but it also costs the customer business failure too like in case of Microsoft’s MP3 player – Zune’s crash.

Who does Testing?

Testing is/can be done by all technical and non-technical people associated with the software. Testing in its various phases is done by-

  • Developer – Developer does the unit testing of the software and ensures that the individual methods work correctly.
  • Tester – Testers are the face of software testing. A tester verifies the functionality of the application as a functional tester, checks the performance of the application as a Performance tester, automates the functional test cases and creates test scripts as an automation tester.
  • Test Managers/Lead/Architects – Develop and define the test strategy and test plan documents.
  • End users – A group of end-users do the User Acceptance Testing (UAT) of the application to make sure the software can work in the real world.