This document provides an overview of secure software engineering and the role of security testers. It discusses how security should be considered a core feature rather than an afterthought in the development process. The document outlines Microsoft's Security Development Lifecycle (SDL) as a comprehensive software process model that embeds security activities throughout requirements, design, implementation, verification and evolution. It describes how threat modeling can be used to identify potential threats and vulnerabilities. Finally, it discusses the security tester's role in building test plans from threat models, testing component interfaces using data mutation techniques, and adopting a "hacker's mindset" to find security issues.
Dmitriy Desyatkov "Secure SDLC or Security Culture to be or not to be"WrikeTechClub
Рано или поздно любая компания задумывается как о безопасности своего продукта, так и внутренней безопасности, и это неизбежно ведет к выстраиванию security-процессов, стандартов, требований и политик. Этот процесс довольно сложный и трудоемкий, требующий определенной зрелости компании и слаженной работы всех сотрудников. Мы хотели бы рассказать о своем опыте создания security-культуры компании Wrike, в том числе с помощью продукта, который мы делаем. Также мы поделимся опытом решения реальных проблем безопасности, с которыми сталкиваемся сами или наши клиенты.
Dmitriy Desyatkov "Secure SDLC or Security Culture to be or not to be"WrikeTechClub
Рано или поздно любая компания задумывается как о безопасности своего продукта, так и внутренней безопасности, и это неизбежно ведет к выстраиванию security-процессов, стандартов, требований и политик. Этот процесс довольно сложный и трудоемкий, требующий определенной зрелости компании и слаженной работы всех сотрудников. Мы хотели бы рассказать о своем опыте создания security-культуры компании Wrike, в том числе с помощью продукта, который мы делаем. Также мы поделимся опытом решения реальных проблем безопасности, с которыми сталкиваемся сами или наши клиенты.
Integrating security into the development of an application or software is necessary to decrease its risk of susceptibility to attacks and exploits. Traditional methods of security testing were performed on a finished product. However, with the rise in the intensity and the number of attack vectors, it has become necessary for organizations to include it as a part of every phase of an SDLC.
See the major new features and improvements in Innoslate 4.3. The latest version of Innoslate has two brand new diagrams Interface Control Diagram (ICD) and a Risk Burndown Chart. You asked and we delivered; a ReqIF Import and Export. We've also added that Cross Project Entities will be visual noticeable in all views with a new purple symbol indicator, dashed purple lines, or purple background color. Now search has been redesigned for a more flexible user experience. All entity’s attributes can now be searched as well as searching by entity id, relationship name, and attribute name. Dr. Dam will demonstrate best practices for using all the new diagrams, features, and even some of the improvements. Stay for the question and answer session to ask any or all your questions. We look forward to having you there!
Software security, secure software development in the age of IoT, smart thing...LabSharegroup
How to design secure software products for IoT, embedded application, smart metering, smart lighting, medical application with the help of Common Criteria
Learn about threat modeling from our CTO and co-creator of the DREAD threat modeling classification, Jason Taylor. Understand more about what threat modeling is, dive into real life examples, and use techniques you can leverage at every phase of the SDLC.
Software engineering, Secure software engineering trainingBryan Len
Software security is the approach of engineering software to let it continues to function perfectly under infectious attack.
This is essential to stop:
Damage & loss of data
Premature leaks of data
Preventing resources downtime
Why do you need secure software engineering ?
Software fault can always lead to security vulnerabilities, which are costing businesses millions of dollars every year.
That is why, software must be trusted, reliable and secure; able to generate trustable and reproducible scientific results. The main objective of the secure software engineer is to integrate security all through the software development process.
Business perspectives for software engineering :
From a business view, well-structured security software may require an immense initial outlay of capitol,
But in the long run it saves organization money by preventing incredibly costly breeches as well as costly patches and security-related updates every time a new malware or vulnerability is discovered.
Secure Software Engineering Training :
Tonex presents Introduction To Secure Software Engineering Training,
This is a 2-day course that benefits all the participants to understand a wide range of software engineering agendas such as software engineering steps and metrics, real time, distribution, structural and object focusing software.
Other Relevant courses include:
—Software Security Training:
A 2-day course that presents a variety of topics in software security such as secure programming techniques, web security, risk management techniques.
—Software Testing Training:
A 2-day course that focuses on powerful tools and techniques to reduce software defects, improve the quality.
All the courses are recommended for :
Software developers,
Software engineers,
System engineers,
Test engineers,
Project managers,
Testing, verification project managers
Validation and configuration project managers.
Request more information. Visit tonex.com for software engineering courses and workshop detail.
Software engineering, Secure software engineering training
https://www.tonex.com/secure-software-engineering-training/
Systems Engineering is a very broad , overarching, and generally applicable engineering discipline. Many types of systems are developed using SE. These include biomedical systems, space vehicle systems, weapon systems, transportation systems, and so on.
Systems Engineering involves the coordination of work performed by engineers from all other engineering disciplines (electrical, mechanical, computer, software, etc.) as required to complete the engineering work on the project/program.
Endpoint threats have entered a new era, and the security industry has been rushing to catch up. The result is a highly fragmented and confusing market that has doubled in size to over 70 vendors in the last four years. We're in the midst of the second great endpoint security consolidation and will discuss precisely what that means. We'll discuss six progressive stages endpoint security will work through as this market continues to mature over the next five years or so.
In the tradition of James Whittaker’s book series How to Break … Software, Jon Hagar applies the testing “attack” concept to the domain of embedded software systems. Jon defines the sub-domain of embedded software and examines the issues of product failure caused by defects in that software. Next, Jon shares a set of attacks against embedded software based on common modes of failure that testers can direct against their own software. For specific attacks, Jon explains when and how to conduct the attack, as well as why the attack works to find bugs. In addition to learning these testing skills, practice the attacks on a device—a robot that Jon will bring to the tutorial—containing embedded software. Specific attack methods considered include data issues, computation and control structures, hardware-software interfaces, and communications.
<meta>Vibrant Technologies is headquarted in Mumbai,India.We are the best Android training provider in Navi Mumbai who provides Live Projects to students.We provide Corporate Training also.We are Best Android classes in Mumbai according to our students and corporator
contact us on : vibranttechnologies.co.in
This is a perfect webinar for professors and students of systems engineering seeking to improve their academic research and professional expertise.
SPEC Innovations is dedicated to advancing the systems engineering academic community. Our engineers designed Innoslate to improve academic research and help professors expand model-based systems engineering to a new generation of students. See what benefits you have using Innoslate for Aacademia with this webinar.
Talk about application security in an agile world. How can security be integrated into agile and how can DevSecOps be leveraged to achieve security at scale at speed.
Integrating security into the development of an application or software is necessary to decrease its risk of susceptibility to attacks and exploits. Traditional methods of security testing were performed on a finished product. However, with the rise in the intensity and the number of attack vectors, it has become necessary for organizations to include it as a part of every phase of an SDLC.
See the major new features and improvements in Innoslate 4.3. The latest version of Innoslate has two brand new diagrams Interface Control Diagram (ICD) and a Risk Burndown Chart. You asked and we delivered; a ReqIF Import and Export. We've also added that Cross Project Entities will be visual noticeable in all views with a new purple symbol indicator, dashed purple lines, or purple background color. Now search has been redesigned for a more flexible user experience. All entity’s attributes can now be searched as well as searching by entity id, relationship name, and attribute name. Dr. Dam will demonstrate best practices for using all the new diagrams, features, and even some of the improvements. Stay for the question and answer session to ask any or all your questions. We look forward to having you there!
Software security, secure software development in the age of IoT, smart thing...LabSharegroup
How to design secure software products for IoT, embedded application, smart metering, smart lighting, medical application with the help of Common Criteria
Learn about threat modeling from our CTO and co-creator of the DREAD threat modeling classification, Jason Taylor. Understand more about what threat modeling is, dive into real life examples, and use techniques you can leverage at every phase of the SDLC.
Software engineering, Secure software engineering trainingBryan Len
Software security is the approach of engineering software to let it continues to function perfectly under infectious attack.
This is essential to stop:
Damage & loss of data
Premature leaks of data
Preventing resources downtime
Why do you need secure software engineering ?
Software fault can always lead to security vulnerabilities, which are costing businesses millions of dollars every year.
That is why, software must be trusted, reliable and secure; able to generate trustable and reproducible scientific results. The main objective of the secure software engineer is to integrate security all through the software development process.
Business perspectives for software engineering :
From a business view, well-structured security software may require an immense initial outlay of capitol,
But in the long run it saves organization money by preventing incredibly costly breeches as well as costly patches and security-related updates every time a new malware or vulnerability is discovered.
Secure Software Engineering Training :
Tonex presents Introduction To Secure Software Engineering Training,
This is a 2-day course that benefits all the participants to understand a wide range of software engineering agendas such as software engineering steps and metrics, real time, distribution, structural and object focusing software.
Other Relevant courses include:
—Software Security Training:
A 2-day course that presents a variety of topics in software security such as secure programming techniques, web security, risk management techniques.
—Software Testing Training:
A 2-day course that focuses on powerful tools and techniques to reduce software defects, improve the quality.
All the courses are recommended for :
Software developers,
Software engineers,
System engineers,
Test engineers,
Project managers,
Testing, verification project managers
Validation and configuration project managers.
Request more information. Visit tonex.com for software engineering courses and workshop detail.
Software engineering, Secure software engineering training
https://www.tonex.com/secure-software-engineering-training/
Systems Engineering is a very broad , overarching, and generally applicable engineering discipline. Many types of systems are developed using SE. These include biomedical systems, space vehicle systems, weapon systems, transportation systems, and so on.
Systems Engineering involves the coordination of work performed by engineers from all other engineering disciplines (electrical, mechanical, computer, software, etc.) as required to complete the engineering work on the project/program.
Endpoint threats have entered a new era, and the security industry has been rushing to catch up. The result is a highly fragmented and confusing market that has doubled in size to over 70 vendors in the last four years. We're in the midst of the second great endpoint security consolidation and will discuss precisely what that means. We'll discuss six progressive stages endpoint security will work through as this market continues to mature over the next five years or so.
In the tradition of James Whittaker’s book series How to Break … Software, Jon Hagar applies the testing “attack” concept to the domain of embedded software systems. Jon defines the sub-domain of embedded software and examines the issues of product failure caused by defects in that software. Next, Jon shares a set of attacks against embedded software based on common modes of failure that testers can direct against their own software. For specific attacks, Jon explains when and how to conduct the attack, as well as why the attack works to find bugs. In addition to learning these testing skills, practice the attacks on a device—a robot that Jon will bring to the tutorial—containing embedded software. Specific attack methods considered include data issues, computation and control structures, hardware-software interfaces, and communications.
<meta>Vibrant Technologies is headquarted in Mumbai,India.We are the best Android training provider in Navi Mumbai who provides Live Projects to students.We provide Corporate Training also.We are Best Android classes in Mumbai according to our students and corporator
contact us on : vibranttechnologies.co.in
This is a perfect webinar for professors and students of systems engineering seeking to improve their academic research and professional expertise.
SPEC Innovations is dedicated to advancing the systems engineering academic community. Our engineers designed Innoslate to improve academic research and help professors expand model-based systems engineering to a new generation of students. See what benefits you have using Innoslate for Aacademia with this webinar.
Talk about application security in an agile world. How can security be integrated into agile and how can DevSecOps be leveraged to achieve security at scale at speed.
A short introduction to security patterns. It describes why patterns are useful, what they consists of, and gives an example of a published security pattern.
Enumerating software security design flaws throughout the SSDLCJohn M. Willis
A tool and methodology to enumerate security functional requirements arising in the solution space is described. A proof of concept tool for use by security architects and security engineers is described. The tool facilitates use of community-developed security requirements packages, security functional requirements, threat model taxonomy including mitigations. A risk-based decision making process is facilitated. Tool outputs used for change checklist, new test requirements, system security plan, risk decision documentation, deferred controls, and inherited controls.
Enumerating software security design flaws throughout the ssdlc cosac - 201...John M. Willis
A tool and methodology to enumerate security functional requirements arising in the solution space is described. A proof of concept tool for use by security architects and security engineers is described. The tool facilitates use of community-developed security requirements packages, security functional requirements, threat model taxonomy including mitigations. A risk-based decision making process is facilitated. Tool outputs used for change checklist, new test requirements, system security plan, risk decision documentation, deferred controls, and inherited controls.
Information systems in the digital age are complex and expansive, with attack vectors coming in from every angle. This makes analyzing risk challenging, but more critical than ever.
There is a need to better understand the dynamics of modern IT systems, security controls that protect them, and best practices for adherence to today’s GRC requirements.
These slides are from our webinar covering topics like:
· Threats, vulnerabilities, weaknesses – why their difference matters
· How vulnerability scanning can help (and hinder) your efforts
· Security engineering and the system development lifecycle
· High impact activities - application risk rating and threat modeling
How to develop an AppSec culture in your project 99X Technology
Cyber attack is the greatest threat to every profession, every industry and every company in the world. Here are slides which will help you learn the challenges, prevent, detect and respond to Cyber threats and help safeguard the organization from every increasing security breaches.
This slide set describes developing an AppSec culture in your projects. This includes how to implement security risk assessment program, threat modeling and security designs and tools for security Automation.
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
How to Create Map Views in the Odoo 17 ERPCeline George
The map views are useful for providing a geographical representation of data. They allow users to visualize and analyze the data in a more intuitive manner.
The Indian economy is classified into different sectors to simplify the analysis and understanding of economic activities. For Class 10, it's essential to grasp the sectors of the Indian economy, understand their characteristics, and recognize their importance. This guide will provide detailed notes on the Sectors of the Indian Economy Class 10, using specific long-tail keywords to enhance comprehension.
For more information, visit-www.vavaclasses.com
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Instructions for Submissions thorugh G- Classroom.pptxJheel Barad
This presentation provides a briefing on how to upload submissions and documents in Google Classroom. It was prepared as part of an orientation for new Sainik School in-service teacher trainees. As a training officer, my goal is to ensure that you are comfortable and proficient with this essential tool for managing assignments and fostering student engagement.
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
How libraries can support authors with open access requirements for UKRI fund...
Beyond security testing
1. Beyond Security Testing
A Seminar
C.D. Nguyen, PhD
SE-Group / FBK
http://selab.fbk.eu/dnguyen/
Trento, April 2013
1
2. Before we start
• About the presenter:
• A security-enthusiastic SE researcher:
• work to improve software quality
• promote to build secure softwares, because security is a
feature, not an afterthought
• About this seminar
• Open, don’t hesitate to interrupt
• Love to discuss & learn your “white-hat” hacking experience
• Last but not least good news: No exam related to this
seminar
5. The need of secure
systems
• The “good old days, 1990s”, PCs are isolated,
with little (or no) connectivity
• Security is not a problem, as long as Apps
work
• No security concern in most of the
engineering books!!!
• However, old practices still influence
today’s software development
5
6. The need of secure
systems
• In the Internet era:
• All devices are connected, virtually
• This gives a huge opportunity to attackers
• have assess to target devices
• systems are not designed with security
• The Internet was not designed with security
in mind (CERT)
9. Security is a product
feature
• Security is a feature, just like other feature in the product
• Ensure availability
• Secure customer information
• Help gain users’ trust
• Do not treat security as an afterthought
• People often add security as a wrapping layer around other
features
• and consider security only when it needs to:
• when having resource
• or after being attacked
This is wrong!!!
10. Security is a product
feature
Adding security as an afterthought is wrong, why?
• Late addition of any feature, including security, is expensive
• Might impact & change other features, expensive too
• Break the current interfaces
It’s better to consider security right from start:
• Security is a feature, it needs resource too, but it’s
planned, no surprise
• Require more resource at the beginning, but overall
cheaper
•The released product is more secure!!!
13. What is software?
• Computer programs and associated documentation such as
requirements, design models and user manuals.
• Software products may be developed for a particular customer or
may be developed for a general market.
• Software products may be
• Generic - developed to be sold to a range of different
customers e.g. PC software such as Excel or Word.
• Tailored - developed for a single customer according to their
specification.
• New software can be created by developing new programs,
configuring generic software systems or reusing existing software.
Slide credit: Ian Sommerville - Software Engineering, 7th Edition
14. What is software
engineering?
• Software engineering is an engineering
discipline that is concerned with all aspects
of software production.
• Software engineers should adopt a systematic
and organised approach to their work and
use appropriate tools and techniques
depending on the problem to be solved, the
development constraints and the resources
available.
Slide credit: Ian Sommerville - Software Engineering, 7th Edition
15. What is a software
process?
• A set of activities whose goal is the development or evolution
of software.
• Generic activities in all software processes are:
• Specification - what the system should do and its
development constraints
• Development - production of the software system
• Validation - checking that the software is what the
customer wants
• Evolution - changing the software in response to changing
demands
Slide credit: Ian Sommerville - Software Engineering, 7th Edition
16. Software process
models?
• Are software process seen from specific
perspective, e.g. workflow, role/action
• Many process models exist, no “one side fit
all)
Example:
Iterative
developme
nt
!
17. SE for secure systems
Development Activities
Security Feature
Requirement Specification
Analysts
Design
Designers
Implementation
Dev.
Testing &Validation
Test engineers
It’s everyone’s
concerns!
18. SE for secure systems
• Team training
• Security knowledge is essential: secure design,
secure coding, and more thorough testing
• Often team members are not security-equipped,
pre-training is needed
• Security experts can take part in security reviews
• Software process model with security by default
• Embody security engineering aspects in every
activity
19. Microsoft® Security Development
Lifecycle (SDL)
More info: http://www.microsoft.com/security/sdl/default.aspx
The most comprehensive & systematic
process model publicly available.
20. Microsoft® Security Development
Lifecycle (SDL)
• Requirements:
• Security and privacy analysis involves security experts,
define security criteria
• Defines the severity thresholds of security vulnerabilities —
for example, no known vulnerabilities in the application
with a “critical” or “important” rating at time of release
• Security risk assessments (SRAs) and privacy risk
assessments (PRAs) identify functional aspects of the
software that require closer review
21. Microsoft® Security Development
Lifecycle (SDL)
• Design:
• Create security and privacy design
specifications, specification review
• Analyze attack surface
• Threat modeling: understand security threats
to a system, determine risks from those threats,
and establish appropriate mitigations.
23. Thread modeling
• Formally specify:
• Potential enemies attackers
• Security threats
• Risks from those threats
• Mitigation solutions
• Done at design phase, used in
all sub-sequence phases,
including testing
24. Thread modeling
• How to determine threats:
• Using known categories of threats
(STRIDE: Spoofing identity,Tampering with
data ….)
• Tools:
• SDL Threat Modeling Tool 3.1.8 (Microsoft)
• SecureTropos
• Misuse case
25. Examples of threat
models
A Model Transformation from Misuse Cases to
Secure Tropos
Naved Ahmed1
, Raimundas Matuleviˇcius1
, and Haralambos Mouratidis2
1
Institute of Computer Science, University of Tartu, Estonia
{naved,rma}@ut.ee
2
School of Computing and Technology, University of East London, UK
h.mouratidis@uel.ac.uk
Fig. 2. Misuse Case Diagram
A resource (e.g., Account) is an entity required by actors. In Secure Tropos, se-
curity constraint (e.g., Only by bank customer and Only by bank officer)
Threat modeled as Use Cases
& Misuse Cases
26. Examples of threat
models
A Model Transformation from Misuse Cases to
Secure Tropos
Naved Ahmed1
, Raimundas Matuleviˇcius1
, and Haralambos Mouratidis2
1
Institute of Computer Science, University of Tartu, Estonia
{naved,rma}@ut.ee
2
School of Computing and Technology, University of East London, UK
h.mouratidis@uel.ac.uk
A resource (e.g., Account) is an entity required by actors. In Secure Tropos, se-
curity constraint (e.g., Only by bank customer and Only by bank officer)
is a constraint that the system must possess. A threat (e.g., Money stolen) rep-
resents an event that endangers the security features of system. Additionally,
vulnerability point is represented by a black circle in Fig.3 (adapted from [5]).
Fig. 3. Secure Tropos Diagram
Secure Tropos uses relationships to connect constructs. Dependency link
shows that one actor (depender) depends on another actor (dependee) to attain
Threat modeled with Secure
Tropos
27. A successful story:
Windows 7
• Memo from Bill Gates Jan. 15, 2002
... designed from the ground up to deliver Trustworthy
Computing. What I mean by this is that customers will always
be able to rely on these systems to be available and to
secure their information. Trustworthy Computing is computing
that is as available, reliable and secure as electricity, water
services and telephony.
!
...
In the past, we’ve made our software and services more
compelling for users by adding new features and functionality,
and by making our platform richly extensible. We’ve done a
terrific job at that, but all those great features won’t matter
unless customers trust our software. So now, when we face
a choice between adding features and resolving security
issues, we need to choose security. Our products should
emphasize security right out of the box, and we must constantly
refine and improve that security as threats evolve.
28. A successful story:
Windows 7
• Microsoft has changed radically its engineering process
to include security
• Resulting: Windows 7 is much more secure than
previous versions, more security features
• Address Space Layout Randomization (ASLR)
• PatchGuard, to prevent unauthorized programs from
modifying the operating system kernel
• User Account Control (UAC), least privilege principle
• Protected Mode Internet Explorer (PMIE)
Source: http://www.biztechmagazine.com/, http://www.techradar.com
30. Security testing
• Security testing is an important part of the overall process
• If you don’t perform security testing for your application,
someone else NOT working for your company will
• But, it’s different from normal testing
• Security testing is to demonstrate that threat mitigation
techniques work
• Buy showing that user’s identify cannot be spoofed, data
cannot be tampered….
• (Security) testers:
• keep everyone honest
• have the final STAMP as to whether your application ships
• Security testers should adopt a hacker’s mindset
30
31. Security tester role
• Building Security Test Plans from a Threat Model
1.Decompose the application into its fundamental
components.
2.Identify the component interfaces.
3.Rank the interfaces by potential vulnerability.
4.Ascertain the data structures used by each
interface.
5.Find security problems by injecting mutated data.
• Testing (with security templates) & Finding bugs
32. Examples of
component interfaces
• TCP and UDP sockets s Wireless data
• NetBIOS
• Mailslots
• Dynamic Data Exchange (DDE)
• Named Pipes
• Shared memory
• Other named objects—Named Pipes and shared
memory are named objects—such as
semaphores and mutexes
• The Clipboard
• Local procedure call (LPC) and remote
procedure call (RPC) interfaces
• COM methods, properties, and events
• Parameters to ActiveX Controls and Applets
(usually <OBJECT> tag arguments)
• EXE and DLL functions
• System traps and input/output controls (IOCTLs) for kernel-mode
components s The registry
• HTTP requests and responses
• Simple Object Access Protocol (SOAP) requests
• Remote API (RAPI), used by Pocket PCs
• Console input
• Command line arguments
• Dialog boxes
• Database access technologies, including OLE DB and ODBC
• Database stored procedures
• Store-and-forward interfaces, such as e-mail using SMTP, POP, or MAPI,
or queuing technologies such as MSMQ
• Environment (environment variables)
• Files
• Microphone
• LDAP sources, such as Active Directory
• Hardware devices, such as infrared using Infrared Data Association
(IrDA), universal serial bus (USB), COM ports, FireWire (IEEE 1394),
Bluetooth and so on
33. Data mutation (Fuzz
testing)
Important The application has suffered a DoS attack if you can
make a networked service fail with an access violation or some other
exception. The development team should take these threats seriously,
because they will have to fix the bug after the product ships if the
defect is discovered.
Figure 19-1 shows techniques for perturbing an application’s environment.
F19GO01
Figure 19-1 Techniques to perturb applications to reveal security vul-
nerabilities and reliability bugs.
Does not exist (Od)
Exists (Oe)Restricted access (Or)
No access (Oa)
Data
Long (Ll)
Short (Ls)
Zero length (Lz)
Zero (Cz)
Null (Cn)
Valid + Invalid (Cv)
Random (Cr)
Wrong type (Ct)
Replay
(Nr)
Out-of-sync
(No)
High volume
(Nh)
Contents
Applies to
on-the-wire data
Size
Link (Ol)
Name (On)Container
Security
data mutation
techniques
Wrong sign (Cs) Out of bounds (Co)
Special characters
Slashes (Cps)
Quotes (Cpq)
HTML (Cph)
Escaped (Cpe)
Script (Cps)
Meta (Cpm)
34. Hackers' mindset
• See things from different perspectives, with
genius and curiosity
• Breaking things is a nature
• Earn respect by solving interesting
problems.
Hacker's Manifesto: http://www.phrack.org/
issues.html?issue=7&id=3&mode=txt
35. Summary
• Security problems are on the news’
headlines every day
• Unfortunately, there is no security in the
“old-but-still-used” software practices
• We need to build security in software from
ground up
• It is a product feature, not a wrapping
layer
36. Summary
• Software process lifecycle with security does
exist
• Microsoft® SDL is a systematic and
comprehensive one
• Security testing is different from normal testing
• It’s hard but we have to, otherwise your
enemies will do
• Ethical hacker’s mindset helps
37. To read more
Writing Secure Code,
Second Edition
Michael Howard and
David LeBlanc