SlideShare a Scribd company logo
1 of 22
Software
Development
security
Suraj Singh
This Photo by Unknown Author is licensed under CC BY-SA
Software
development
methods
Waterfall
Iterative
• Computer Aided software
Engineering
• Component Based Development
• Reuse model
• Extreme Programming
Other methods and models
Water Fall
• Methods
• Structured Programming Development
• Most widely used, studied in academics.
• Promotes discipline, allows introspection ,provides controlled flexibility.
• Required defined processes and modular development.
• Each phase is subject to reviews and approvals.
• Allows security to be added in the beginning and formally.
• Spiral Method
• Nested version of water fall model.
• Each phase is carefully designed.
• In each phase there are four sub-stages based on PDCA(Plan Do Check Act)
• Cost is reviewed at each stage.
• Based on results of Risk assessment decision is made either to continue or leave
the project.
Iterative Development
Its flexible model and
allows successive
changes in requirements
, design and coding ,
unlike water fall models
which do not allow that.
Requires change control
management.
Scope of project can
take a toll
Not perfect from
security perspective due
to flexibility of changes
as its difficult to ensure
if security provisions still
hold true after new
changes.
Models
Prototyping
Modified Prototype Model
RAD(Rapid Application
Development)
JAD(Joint Analysis
Development)
Exploratory Model
Protyping
• Four step process
• Initial Concept design, Implement the initial
protype
• Refine the prototype until acceptance
• Complete.
• Release final version.
Modified prototype Model-MPM
IDEAL FOR WEB DEVELOPMENT ALLOWS BASIC FUNCTIONALITY
FASTER.
MAINTENANCE PHASE BEGINS
AFTER DEPLOYMENT.
IT ENSURES THE PROCESS IS
FLEXIBLE TO REFLECT THE CURRENT
STATE AND OPERATIONS OF THE
ORGANIZATION.
Rapid application development - RAD
Rapid prototyping,
requires strict time limits
on each phase.
1
Relies on tools that allow
quick development.
2
Can be hazardous to
security when changes
are made randomly and
at such a pace that
security oversight can
occur.
3
Joint Analysis
Development
- JAD
WAS INVENTED FOR
MAINFRAMES DEVELOPMENT.
ITS TECHNIQUES ARE NOW
USED IN RAD, WEB
DEVELOPMENT AND OTHER
METHODS
ALLOWS DEVELOPERS TO
WORK DIRECTLY WITH USERS
TO DEVELOP THE APPLICATION.
ITS SUCCESS IS BASED ON KEY
PLAYERS COMMUNICATING
WITH EACH OTHER AT CRITICAL
STAGES OF THE PROJECT.
FROM SECURITY PERSPECTIVE
INVOLVEMENT OF MULTIPLE
PARTIES IN FUNCTIONAL BUT
LESS SECURE SOFTWARE, DUE
TO POSSIBLE SECURITY
OVERSIGHTS.
Exploratory Model
Requirements are built
based on what is
currently available.
1
Assumptions are made
about how system
might work.
2
Over the period further
insights and
suggestions are
incorporated to create
a usable system.
3
Due to lack of structure
security may be
overlooked.
4
Other methods
Computer
Aided Software
Engineering
1
Component
Based
Development
2
Reuse Model.
3
Extreme
programing
4
Clean room.
5
Software
Development
Life Cycle
SDLC-Phases
Project initiation and planning
Functional Requirements
System Design specifications
Development and implementation
Documentation and common program controls
Testing and Evaluation control
Transition to production
Extended Phases
• Operation and maintenance support.
• Revision and system replacement.
Project
initiation and
Planning
•Vision
•Objectives
•Scope
•Strategies
Outlines project’s
•Functional requirements
•Proposed technical solutions
Addresses specific business needs
Documentation of the Plan and all its components
Security needs to be considered in this phase.
Functional Requirements Definition
Analysis of current
and possible future
functional
requirements
1
Review
documentation of
previous phase.
2
Security needs to be
formally made part
of requirements
while planning
functionality
3
System design Specification
Design the system or software based on the functional
requirements.
System architecture , system outputs and system
interfaces are designed.
Data input,data flow and output requirements are
established.
Security features are incorporated in this phase based on
overall company security policy.
Development and Implementation
Source code creation.
Testing-test cases are
developed.
Unit and integration
testing is conducted.
Documentation of
activities of this phase.
Care at this stage should
be done to ensure
quality,reliability and
consistency of operation.
Special care should be
taken to ensure code
does not have common
vulnerabilities that may
lead to exploitation later.
Documentation and Common program
controls
Controls used
when editing
data through
program.
1
Type of logging
it should be
doing
2
How program
version should
be stored.
3
Large number of
such controls
may be needed.
4
Acceptance
Independent testing of the code by separate group
to test functionality and security requirements.
Testing at all applicable stages by separate group to
prevent separation of duties.
Goal of security testing is to ensure application
meets security requirements.
Security testing should uncover all the design and
implementation flaws.
Testing should be performed in an environment
that simulates the production environment.
It is the first phase of certification and
accreditation.
Testing and
evaluation
controls.
Preparing test data and cases that
covers scenarios ensuring functionality
and security requirements are met.
Testing done in parallel with production
Certification and Accredetation.
Transition to
production
System is moved into live
production environment.
• Installation
• Data conversation
Users are trained according to
implementation.
Security accreditation.
Operation and maintenance
Monitoring system performance
and ensuring availability.
Detect bugs and vulnerabilities Recovering from system problems
Implementing system changes
Security activities like
• Testing backups and recovery procedures,
• Ensuring proper controls for data and
report handling
• Ensuring effectiveness of security process.
• Periodic Risk assessment and recertification
of sensitive application is required when
significant changes occur.
Revision and System Replacement
HARDWARE AND SOFTWARE BASELINES
SHOULD BE SUBJECTED TO PERIODIC
EVALUATION AND AUDITS.
THERE MAY BE A POINT IN TIME WHEN
ITS NOT THE BUG IN THE APPLICATION
BUT ADDITIONAL FUNCTIONALITY NOT

More Related Content

What's hot

Lecture 20 software testing (2)
Lecture 20   software testing (2)Lecture 20   software testing (2)
Lecture 20 software testing (2)IIUI
 
Software engineering 23 software reliability
Software engineering 23 software reliabilitySoftware engineering 23 software reliability
Software engineering 23 software reliabilityVaibhav Khanna
 
Ppt 2 testing throughout the software life cycle
Ppt 2 testing throughout the software life cyclePpt 2 testing throughout the software life cycle
Ppt 2 testing throughout the software life cyclesanti suryani
 
Intro to Security in SDLC
Intro to Security in SDLCIntro to Security in SDLC
Intro to Security in SDLCTjylen Veselyj
 
Software engineering FAQ
Software engineering FAQSoftware engineering FAQ
Software engineering FAQAshok Mohanty
 
Fundamental software engineering activities
Fundamental software engineering activitiesFundamental software engineering activities
Fundamental software engineering activitiessommerville-videos
 
Agile & Secure SDLC
Agile & Secure SDLCAgile & Secure SDLC
Agile & Secure SDLCPaul Yang
 
Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineeringSweta Kumari Barnwal
 
Introduction to Software Engineering 1
Introduction to Software Engineering 1Introduction to Software Engineering 1
Introduction to Software Engineering 1IIUI
 
Software Engineering Diversity
Software Engineering DiversitySoftware Engineering Diversity
Software Engineering DiversitySayedMokarrom
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 
Systems development cycle
Systems development cycleSystems development cycle
Systems development cycleSamuel Igbanogu
 
Software and Hardware Reliability
Software and Hardware ReliabilitySoftware and Hardware Reliability
Software and Hardware ReliabilitySandeep Patalay
 
Software Deployment Principles & Practices
Software Deployment Principles & PracticesSoftware Deployment Principles & Practices
Software Deployment Principles & PracticesThyagarajan Krishnan
 
Software reliability
Software reliabilitySoftware reliability
Software reliabilityAnand Kumar
 
What is Software Quality and how to measure it?
What is Software Quality and how to measure it?What is Software Quality and how to measure it?
What is Software Quality and how to measure it?Denys Zaiats
 
Software reliability engineering process
Software reliability engineering processSoftware reliability engineering process
Software reliability engineering processHimanshu
 

What's hot (20)

Quality & Reliability in Software Engineering
Quality & Reliability in Software EngineeringQuality & Reliability in Software Engineering
Quality & Reliability in Software Engineering
 
Lecture 20 software testing (2)
Lecture 20   software testing (2)Lecture 20   software testing (2)
Lecture 20 software testing (2)
 
Software engineering 23 software reliability
Software engineering 23 software reliabilitySoftware engineering 23 software reliability
Software engineering 23 software reliability
 
Ppt 2 testing throughout the software life cycle
Ppt 2 testing throughout the software life cyclePpt 2 testing throughout the software life cycle
Ppt 2 testing throughout the software life cycle
 
Intro to Security in SDLC
Intro to Security in SDLCIntro to Security in SDLC
Intro to Security in SDLC
 
Software engineering FAQ
Software engineering FAQSoftware engineering FAQ
Software engineering FAQ
 
Fundamental software engineering activities
Fundamental software engineering activitiesFundamental software engineering activities
Fundamental software engineering activities
 
Agile & Secure SDLC
Agile & Secure SDLCAgile & Secure SDLC
Agile & Secure SDLC
 
Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineering
 
Introduction to Software Engineering 1
Introduction to Software Engineering 1Introduction to Software Engineering 1
Introduction to Software Engineering 1
 
Software Engineering Diversity
Software Engineering DiversitySoftware Engineering Diversity
Software Engineering Diversity
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Systems development cycle
Systems development cycleSystems development cycle
Systems development cycle
 
Software and Hardware Reliability
Software and Hardware ReliabilitySoftware and Hardware Reliability
Software and Hardware Reliability
 
Software Deployment Principles & Practices
Software Deployment Principles & PracticesSoftware Deployment Principles & Practices
Software Deployment Principles & Practices
 
Software reliability
Software reliabilitySoftware reliability
Software reliability
 
Non Functional Test Management
Non Functional Test ManagementNon Functional Test Management
Non Functional Test Management
 
What is Software Quality and how to measure it?
What is Software Quality and how to measure it?What is Software Quality and how to measure it?
What is Software Quality and how to measure it?
 
Ch21
Ch21Ch21
Ch21
 
Software reliability engineering process
Software reliability engineering processSoftware reliability engineering process
Software reliability engineering process
 

Similar to Software devlopment security

Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle modelsWasif Khan
 
Software development process basic
Software development process basicSoftware development process basic
Software development process basicAnurag Tomar
 
7.2-0-D8-October2021 (Software Development Security).pptx
7.2-0-D8-October2021 (Software Development Security).pptx7.2-0-D8-October2021 (Software Development Security).pptx
7.2-0-D8-October2021 (Software Development Security).pptxroongrus
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineeringMadhav Suratkar
 
Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)Vaska Shefteroska
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Best SQA Document.pdf
Best SQA Document.pdfBest SQA Document.pdf
Best SQA Document.pdfAzmatIqbal2
 
Software Engg. process models
Software Engg. process modelsSoftware Engg. process models
Software Engg. process modelsTauseef Ahmad
 
A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...Sehrish Asif
 
CISSP - Software Development Security
CISSP - Software Development SecurityCISSP - Software Development Security
CISSP - Software Development SecurityKarthikeyan Dhayalan
 
SDLC presentation-1.pptx
SDLC presentation-1.pptxSDLC presentation-1.pptx
SDLC presentation-1.pptxEvelynChinnu
 
An integrated security testing framework and tool
An integrated security testing framework  and toolAn integrated security testing framework  and tool
An integrated security testing framework and toolMoutasm Tamimi
 
SDLC models testing
SDLC models testingSDLC models testing
SDLC models testingJadavsejal
 

Similar to Software devlopment security (20)

The process
The processThe process
The process
 
Software engineering the process
Software engineering the processSoftware engineering the process
Software engineering the process
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle models
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
 
SE-Lecture-2.pptx
SE-Lecture-2.pptxSE-Lecture-2.pptx
SE-Lecture-2.pptx
 
Software development process basic
Software development process basicSoftware development process basic
Software development process basic
 
Lecture 10.pptx
Lecture 10.pptxLecture 10.pptx
Lecture 10.pptx
 
7.2-0-D8-October2021 (Software Development Security).pptx
7.2-0-D8-October2021 (Software Development Security).pptx7.2-0-D8-October2021 (Software Development Security).pptx
7.2-0-D8-October2021 (Software Development Security).pptx
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineering
 
Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)Information systems development methodologies (autosaved)
Information systems development methodologies (autosaved)
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Best SQA Document.pdf
Best SQA Document.pdfBest SQA Document.pdf
Best SQA Document.pdf
 
Software Engg. process models
Software Engg. process modelsSoftware Engg. process models
Software Engg. process models
 
A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...
 
CISSP - Software Development Security
CISSP - Software Development SecurityCISSP - Software Development Security
CISSP - Software Development Security
 
SDLC presentation-1.pptx
SDLC presentation-1.pptxSDLC presentation-1.pptx
SDLC presentation-1.pptx
 
16346915.ppt
16346915.ppt16346915.ppt
16346915.ppt
 
An integrated security testing framework and tool
An integrated security testing framework  and toolAn integrated security testing framework  and tool
An integrated security testing framework and tool
 
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
Models of SDLC (Software Development Life Cycle / Program Development Life Cy...
 
SDLC models testing
SDLC models testingSDLC models testing
SDLC models testing
 

Recently uploaded

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 

Recently uploaded (20)

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 

Software devlopment security

  • 1. Software Development security Suraj Singh This Photo by Unknown Author is licensed under CC BY-SA
  • 2. Software development methods Waterfall Iterative • Computer Aided software Engineering • Component Based Development • Reuse model • Extreme Programming Other methods and models
  • 3. Water Fall • Methods • Structured Programming Development • Most widely used, studied in academics. • Promotes discipline, allows introspection ,provides controlled flexibility. • Required defined processes and modular development. • Each phase is subject to reviews and approvals. • Allows security to be added in the beginning and formally. • Spiral Method • Nested version of water fall model. • Each phase is carefully designed. • In each phase there are four sub-stages based on PDCA(Plan Do Check Act) • Cost is reviewed at each stage. • Based on results of Risk assessment decision is made either to continue or leave the project.
  • 4. Iterative Development Its flexible model and allows successive changes in requirements , design and coding , unlike water fall models which do not allow that. Requires change control management. Scope of project can take a toll Not perfect from security perspective due to flexibility of changes as its difficult to ensure if security provisions still hold true after new changes. Models Prototyping Modified Prototype Model RAD(Rapid Application Development) JAD(Joint Analysis Development) Exploratory Model
  • 5. Protyping • Four step process • Initial Concept design, Implement the initial protype • Refine the prototype until acceptance • Complete. • Release final version.
  • 6. Modified prototype Model-MPM IDEAL FOR WEB DEVELOPMENT ALLOWS BASIC FUNCTIONALITY FASTER. MAINTENANCE PHASE BEGINS AFTER DEPLOYMENT. IT ENSURES THE PROCESS IS FLEXIBLE TO REFLECT THE CURRENT STATE AND OPERATIONS OF THE ORGANIZATION.
  • 7. Rapid application development - RAD Rapid prototyping, requires strict time limits on each phase. 1 Relies on tools that allow quick development. 2 Can be hazardous to security when changes are made randomly and at such a pace that security oversight can occur. 3
  • 8. Joint Analysis Development - JAD WAS INVENTED FOR MAINFRAMES DEVELOPMENT. ITS TECHNIQUES ARE NOW USED IN RAD, WEB DEVELOPMENT AND OTHER METHODS ALLOWS DEVELOPERS TO WORK DIRECTLY WITH USERS TO DEVELOP THE APPLICATION. ITS SUCCESS IS BASED ON KEY PLAYERS COMMUNICATING WITH EACH OTHER AT CRITICAL STAGES OF THE PROJECT. FROM SECURITY PERSPECTIVE INVOLVEMENT OF MULTIPLE PARTIES IN FUNCTIONAL BUT LESS SECURE SOFTWARE, DUE TO POSSIBLE SECURITY OVERSIGHTS.
  • 9. Exploratory Model Requirements are built based on what is currently available. 1 Assumptions are made about how system might work. 2 Over the period further insights and suggestions are incorporated to create a usable system. 3 Due to lack of structure security may be overlooked. 4
  • 12. SDLC-Phases Project initiation and planning Functional Requirements System Design specifications Development and implementation Documentation and common program controls Testing and Evaluation control Transition to production Extended Phases • Operation and maintenance support. • Revision and system replacement.
  • 13. Project initiation and Planning •Vision •Objectives •Scope •Strategies Outlines project’s •Functional requirements •Proposed technical solutions Addresses specific business needs Documentation of the Plan and all its components Security needs to be considered in this phase.
  • 14. Functional Requirements Definition Analysis of current and possible future functional requirements 1 Review documentation of previous phase. 2 Security needs to be formally made part of requirements while planning functionality 3
  • 15. System design Specification Design the system or software based on the functional requirements. System architecture , system outputs and system interfaces are designed. Data input,data flow and output requirements are established. Security features are incorporated in this phase based on overall company security policy.
  • 16. Development and Implementation Source code creation. Testing-test cases are developed. Unit and integration testing is conducted. Documentation of activities of this phase. Care at this stage should be done to ensure quality,reliability and consistency of operation. Special care should be taken to ensure code does not have common vulnerabilities that may lead to exploitation later.
  • 17. Documentation and Common program controls Controls used when editing data through program. 1 Type of logging it should be doing 2 How program version should be stored. 3 Large number of such controls may be needed. 4
  • 18. Acceptance Independent testing of the code by separate group to test functionality and security requirements. Testing at all applicable stages by separate group to prevent separation of duties. Goal of security testing is to ensure application meets security requirements. Security testing should uncover all the design and implementation flaws. Testing should be performed in an environment that simulates the production environment. It is the first phase of certification and accreditation.
  • 19. Testing and evaluation controls. Preparing test data and cases that covers scenarios ensuring functionality and security requirements are met. Testing done in parallel with production Certification and Accredetation.
  • 20. Transition to production System is moved into live production environment. • Installation • Data conversation Users are trained according to implementation. Security accreditation.
  • 21. Operation and maintenance Monitoring system performance and ensuring availability. Detect bugs and vulnerabilities Recovering from system problems Implementing system changes Security activities like • Testing backups and recovery procedures, • Ensuring proper controls for data and report handling • Ensuring effectiveness of security process. • Periodic Risk assessment and recertification of sensitive application is required when significant changes occur.
  • 22. Revision and System Replacement HARDWARE AND SOFTWARE BASELINES SHOULD BE SUBJECTED TO PERIODIC EVALUATION AND AUDITS. THERE MAY BE A POINT IN TIME WHEN ITS NOT THE BUG IN THE APPLICATION BUT ADDITIONAL FUNCTIONALITY NOT