SlideShare a Scribd company logo
1 of 14
Application
security controls
and techniques.
Page 2
Instructor, PACE-IT Program – Edmonds Community College
Areas of expertise Industry Certifications
 PC Hardware
 Network Administration
 IT Project Management
 Network Design
 User Training
 IT Troubleshooting
Qualifications Summary
Education
 M.B.A., IT Management, Western Governor’s University
 B.S., IT Security, Western Governor’s University
Entrepreneur, executive leader, and proven manger
with 10+ years of experience turning complex issues
into efficient and effective solutions.
Strengths include developing and mentoring diverse
workforces, improving processes, analyzing
business needs and creating the solutions
required— with a focus on technology.
Page 3
PACE-IT.
– Secure coding concepts.
– Other security controls, techniques, and
concepts.
Page 4
Application security controls and techniques.
Page 5
Hackers will often focus on
applications (software)
when they are attempting to
breach network security.
Because of this, application developers need to focus
on security controls right from the beginning of
developing the application. This is the idea of using
secure coding concepts.
An application designed with security in mind is much
easier to defend than an application that doesn’t use
such methods. Two of the main concepts of secure
coding are: error and exception handling and input
validation.
Application security controls and techniques.
Page 6
Application security controls and techniques.
– Error handling.
» Thoroughly testing applications will catch most errors, with the
possible exception of some runtime errors.
• Runtime errors are problems that occur during the operation
of an application.
• Many things can cause a runtime error. They include poor
programming, conflicts with other software (including
malicious applications), and conflicts with hardware.
» The developer should put processes in place that trap all
runtime errors before such an error crashes the application.
• Trapping a runtime error requires that the developer intercept
the error and display a warning message before the error
causes the application to crash.
– Exception handling.
» A more advanced method of error handling.
• An exception is a different term for a runtime error.
» Exception handling code will use a try/catch block—try this
code and catch any errors that occur.
• Usually will provide a means of looping the program until the
error condition subsides.
Page 7
A major cause of runtime
errors and other security
issues in applications is
users inputting invalid data
into the application.
Secure coding requires that input validation be done before that
data is actually placed into the application. Input validation is
when the user supplied data is examined against a set of rules
that outline what type of data the application is expecting.
One method of testing input validation rules is to use fuzzing.
During the testing phase of the application, the developer will
input invalid or random data into the input fields in order to test
the input validation rules.
Application security controls and techniques.
Page 8
Application security controls and techniques.
Page 9
Application security controls and techniques.
– Client-side and server-side validation.
» Initial input validation should occur on the client (requesting
machine) before it is sent to the application on the server.
• This can help to prevent a runtime error or exploit on the
server and reduces the amount of traffic that is crossing a
network.
» Additional input validation should occur at the server (receiving
machine) before the input is passed on to the application—
further reducing the chances of a runtime error or an exploit
occurring.
– Cross-site scripting (XSS) prevention.
» XSS occurs when a hacker inserts script code into a form on a
website so that when other users access the form, the script is
executed.
• Proper input validation of data is usually an effective means of
preventing XSS from occurring.
Page 10
Application security controls and techniques.
– Cross-site request forgery (XSRF)
prevention.
» XSRF is when a user is automatically directed to a linked Web
page and logged in using data supplied by a cookie from the
original page—when this was not the Web developer’s intent.
• Web developers can help to prevent XSRF from occurring by
setting a short expiration time for cookies.
• User can help prevent XSRF by choosing not to have a
website automatically log them in when they visit the site.
– Application configuration baseline.
» The initial setting up of an application (the baseline) should be
done with security in mind.
• The baseline should be as secure as possible.
– Application hardening.
» Disabling all features and functions that users should not be
allowed to use (e.g., disabling an application’s ability to use
FTP).
• Should initially be done during the configuration process.
Page 11
Application security controls and techniques.
– Application patch management.
» New exploits and threats against applications are created all
the time, requiring that applications be updated on a regular
basis.
• Patches are used to fix problems (e.g., security issues) that
were unknown at the time the application was developed.
» Caution: just as with operating system patches, application
patches must be tested before being deployed into a production
setting.
– SQL vs. NoSQL databases.
» SQL databases are the most common relational database
management system used today.
• They are optimized for the inserting and updating of records in
a database.
» NoSQL databases are designed to store and retrieve large
amounts of data—big data.
• They must be optimized for the retrieval of big data, and
require different methods of input validation than a SQL
database.
Page 12
Application security controls and techniques.
Application security controls need to begin with the application’s developer
using secure coding methods. The two main concepts used in secure
coding are: error and exception handling and input validation. Error and
exception handling are how an application will deal with a runtime error.
Input validation is a method used to prevent users from inputting invalid
data into an application, which may cause a security issue or runtime error.
Topic
Secure coding concepts.
Summary
Client-side and server-side validation should both be used to prevent
application problems. Input validation can be used to prevent XSS from
occurring. XSRF prevention requires actions from both the user and the
Web developer. An application’s configuration baselines should be set to
the highest level of security and include application hardening techniques.
All applications should be patched as required to maintain security. SQL
databases and NoSQL databases are used to perform different functions
and require different methods of application security controls.
Other security controls,
techniques, and concepts.
Page 13
THANK YOU!
This workforce solution was 100 percent funded by a $3 million grant awarded by the
U.S. Department of Labor's Employment and Training Administration. The solution was
created by the grantee and does not necessarily reflect the official position of the U.S.
Department of Labor. The Department of Labor makes no guarantees, warranties, or
assurances of any kind, express or implied, with respect to such information, including
any information on linked sites and including, but not limited to, accuracy of the
information or its completeness, timeliness, usefulness, adequacy, continued availability
or ownership. Funded by the Department of Labor, Employment and Training
Administration, Grant #TC-23745-12-60-A-53.
PACE-IT is an equal opportunity employer/program and auxiliary aids and services are
available upon request to individuals with disabilities. For those that are hearing
impaired, a video phone is available at the Services for Students with Disabilities (SSD)
office in Mountlake Terrace Hall 159. Check www.edcc.edu/ssd for office hours. Call
425.354.3113 on a video phone for more information about the PACE-IT program. For
any additional special accommodations needed, call the SSD office at 425.640.1814.
Edmonds Community College does not discriminate on the basis of race; color; religion;
national origin; sex; disability; sexual orientation; age; citizenship, marital, or veteran
status; or genetic information in its programs and activities.

More Related Content

What's hot

What's hot (20)

PACE-IT, Security+3.5: Types of Application Attacks (part 1)
PACE-IT, Security+3.5: Types of Application Attacks (part 1)PACE-IT, Security+3.5: Types of Application Attacks (part 1)
PACE-IT, Security+3.5: Types of Application Attacks (part 1)
 
PACE-IT, Security+3.6: Security Enhancement Techniques
PACE-IT, Security+3.6: Security Enhancement TechniquesPACE-IT, Security+3.6: Security Enhancement Techniques
PACE-IT, Security+3.6: Security Enhancement Techniques
 
PACE-IT, Security + 5.1: Summary of Authentication Services
PACE-IT, Security + 5.1: Summary of Authentication ServicesPACE-IT, Security + 5.1: Summary of Authentication Services
PACE-IT, Security + 5.1: Summary of Authentication Services
 
PACE-IT, Security + 5.2: Authentication and Authorization Basics (part 2)
PACE-IT, Security + 5.2: Authentication and Authorization Basics (part 2)PACE-IT, Security + 5.2: Authentication and Authorization Basics (part 2)
PACE-IT, Security + 5.2: Authentication and Authorization Basics (part 2)
 
PACE-IT, Security+3.2: Summary of Types of Attacks (part 1)
PACE-IT, Security+3.2: Summary of Types of Attacks (part 1)PACE-IT, Security+3.2: Summary of Types of Attacks (part 1)
PACE-IT, Security+3.2: Summary of Types of Attacks (part 1)
 
PACE-IT, Security+ 4.3: Solutions to Establish Host Security
PACE-IT, Security+ 4.3: Solutions to Establish Host SecurityPACE-IT, Security+ 4.3: Solutions to Establish Host Security
PACE-IT, Security+ 4.3: Solutions to Establish Host Security
 
PACE-IT, Security+3.5: Types of Application Attacks (part 2)
PACE-IT, Security+3.5: Types of Application Attacks (part 2)PACE-IT, Security+3.5: Types of Application Attacks (part 2)
PACE-IT, Security+3.5: Types of Application Attacks (part 2)
 
PACE-IT, Security+ 6.1: Introduction to Cryptography (part 2)
PACE-IT, Security+ 6.1: Introduction to Cryptography (part 2)PACE-IT, Security+ 6.1: Introduction to Cryptography (part 2)
PACE-IT, Security+ 6.1: Introduction to Cryptography (part 2)
 
PACE-IT, Security+ 6.3: Introduction to Public Key Infrastructure (part 1)
PACE-IT, Security+ 6.3: Introduction to Public Key Infrastructure (part 1)PACE-IT, Security+ 6.3: Introduction to Public Key Infrastructure (part 1)
PACE-IT, Security+ 6.3: Introduction to Public Key Infrastructure (part 1)
 
PACE-IT, Security+ 6.1: Introduction to Cryptography (part 1)
PACE-IT, Security+ 6.1: Introduction to Cryptography (part 1)PACE-IT, Security+ 6.1: Introduction to Cryptography (part 1)
PACE-IT, Security+ 6.1: Introduction to Cryptography (part 1)
 
PACE-IT, Security+3.4: Summary of Wireless Attacks
PACE-IT, Security+3.4: Summary of Wireless AttacksPACE-IT, Security+3.4: Summary of Wireless Attacks
PACE-IT, Security+3.4: Summary of Wireless Attacks
 
PACE-IT, Security+1.2: Secure Network Administration Concepts
PACE-IT, Security+1.2: Secure Network Administration ConceptsPACE-IT, Security+1.2: Secure Network Administration Concepts
PACE-IT, Security+1.2: Secure Network Administration Concepts
 
PACE-IT, Security+3.2: Summary of Types of Attacks (part 2)
PACE-IT, Security+3.2: Summary of Types of Attacks (part 2)PACE-IT, Security+3.2: Summary of Types of Attacks (part 2)
PACE-IT, Security+3.2: Summary of Types of Attacks (part 2)
 
PACE-IT, Security+1.1: Introduction to Network Devices (part 2)
PACE-IT, Security+1.1: Introduction to Network Devices (part 2)PACE-IT, Security+1.1: Introduction to Network Devices (part 2)
PACE-IT, Security+1.1: Introduction to Network Devices (part 2)
 
PACE-IT: Physical Network Security Control
PACE-IT: Physical Network Security ControlPACE-IT: Physical Network Security Control
PACE-IT: Physical Network Security Control
 
PACE-IT: Risk and Security Related Concepts
PACE-IT: Risk and Security Related ConceptsPACE-IT: Risk and Security Related Concepts
PACE-IT: Risk and Security Related Concepts
 
PACE-IT: Network Hardening Techniques (part 3)
PACE-IT: Network Hardening Techniques (part 3)PACE-IT: Network Hardening Techniques (part 3)
PACE-IT: Network Hardening Techniques (part 3)
 
PACE-IT: Common Network Vulnerabilities
PACE-IT: Common Network VulnerabilitiesPACE-IT: Common Network Vulnerabilities
PACE-IT: Common Network Vulnerabilities
 
Security and information assurance
Security and information assuranceSecurity and information assurance
Security and information assurance
 
PACE-IT: Network Hardening Techniques (part 1)
PACE-IT: Network Hardening Techniques (part 1)PACE-IT: Network Hardening Techniques (part 1)
PACE-IT: Network Hardening Techniques (part 1)
 

Viewers also liked

Viewers also liked (7)

PACE-IT, Security+ 4.4: Controls to Ensure Data Security
PACE-IT, Security+ 4.4: Controls to Ensure Data SecurityPACE-IT, Security+ 4.4: Controls to Ensure Data Security
PACE-IT, Security+ 4.4: Controls to Ensure Data Security
 
PACE-IT, Security+3.3: Summary of Social Engineering Attacks
PACE-IT, Security+3.3: Summary of Social Engineering AttacksPACE-IT, Security+3.3: Summary of Social Engineering Attacks
PACE-IT, Security+3.3: Summary of Social Engineering Attacks
 
PACE-IT, Security + 5.2: Authentication and Authorization Basics (part 1)
PACE-IT, Security + 5.2: Authentication and Authorization Basics (part 1)PACE-IT, Security + 5.2: Authentication and Authorization Basics (part 1)
PACE-IT, Security + 5.2: Authentication and Authorization Basics (part 1)
 
PACE-IT, Security+3.8: Vulnerability Scanning vs Pen Testing
PACE-IT, Security+3.8: Vulnerability Scanning vs Pen TestingPACE-IT, Security+3.8: Vulnerability Scanning vs Pen Testing
PACE-IT, Security+3.8: Vulnerability Scanning vs Pen Testing
 
PACE-IT, Security+3.1: Types of Malware
PACE-IT, Security+3.1: Types of MalwarePACE-IT, Security+3.1: Types of Malware
PACE-IT, Security+3.1: Types of Malware
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
PACE-IT, Security+2.9: Goals of Security Controls
PACE-IT, Security+2.9: Goals of Security ControlsPACE-IT, Security+2.9: Goals of Security Controls
PACE-IT, Security+2.9: Goals of Security Controls
 

Similar to PACE-IT, Security+ 4.1: Application Security Controls and Techniques

Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...
Michael Hidalgo
 
Software Assurance CSS321Security Static Ana.docx
Software Assurance CSS321Security Static Ana.docxSoftware Assurance CSS321Security Static Ana.docx
Software Assurance CSS321Security Static Ana.docx
whitneyleman54422
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended Cut
Mike Spaulding
 

Similar to PACE-IT, Security+ 4.1: Application Security Controls and Techniques (20)

Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...Application Security Testing for Software Engineers: An approach to build sof...
Application Security Testing for Software Engineers: An approach to build sof...
 
How to develop an AppSec culture in your project
How to develop an AppSec culture in your project How to develop an AppSec culture in your project
How to develop an AppSec culture in your project
 
Building an AppSec Culture
Building an AppSec Culture Building an AppSec Culture
Building an AppSec Culture
 
Application security Best Practices Framework
Application security   Best Practices FrameworkApplication security   Best Practices Framework
Application security Best Practices Framework
 
Security Design Principles.ppt
 Security Design Principles.ppt Security Design Principles.ppt
Security Design Principles.ppt
 
Thick Client Penetration Testing Modern Approaches and Techniques.pdf
Thick Client Penetration Testing Modern Approaches and Techniques.pdfThick Client Penetration Testing Modern Approaches and Techniques.pdf
Thick Client Penetration Testing Modern Approaches and Techniques.pdf
 
Essentials of Web Application Security: what it is, why it matters and how to...
Essentials of Web Application Security: what it is, why it matters and how to...Essentials of Web Application Security: what it is, why it matters and how to...
Essentials of Web Application Security: what it is, why it matters and how to...
 
Web Application Security Testing
Web Application Security TestingWeb Application Security Testing
Web Application Security Testing
 
Web application security - Emstell Technology Consulting
Web application security - Emstell Technology ConsultingWeb application security - Emstell Technology Consulting
Web application security - Emstell Technology Consulting
 
Security Testing Approach for Web Application Testing.pdf
Security Testing Approach for Web Application Testing.pdfSecurity Testing Approach for Web Application Testing.pdf
Security Testing Approach for Web Application Testing.pdf
 
Software Assurance CSS321Security Static Ana.docx
Software Assurance CSS321Security Static Ana.docxSoftware Assurance CSS321Security Static Ana.docx
Software Assurance CSS321Security Static Ana.docx
 
The 5 Layers of Security Testing by Alan Koch
The 5 Layers of Security Testing by Alan KochThe 5 Layers of Security Testing by Alan Koch
The 5 Layers of Security Testing by Alan Koch
 
The 5 Layers of Security Testing by Alan Koch
The 5 Layers of Security Testing by Alan KochThe 5 Layers of Security Testing by Alan Koch
The 5 Layers of Security Testing by Alan Koch
 
Building an AppSec Team Extended Cut
Building an AppSec Team Extended CutBuilding an AppSec Team Extended Cut
Building an AppSec Team Extended Cut
 
Mike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security ProgramMike Spaulding - Building an Application Security Program
Mike Spaulding - Building an Application Security Program
 
C01461422
C01461422C01461422
C01461422
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
Manoj Purandare - Application Security - Secure Code Assessment Program - Pre...
 
HOW TO SECURE WEB AND APP DEVELOPMENT USER DATA SECURITY.pdf
HOW TO SECURE WEB AND APP DEVELOPMENT USER DATA SECURITY.pdfHOW TO SECURE WEB AND APP DEVELOPMENT USER DATA SECURITY.pdf
HOW TO SECURE WEB AND APP DEVELOPMENT USER DATA SECURITY.pdf
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 

PACE-IT, Security+ 4.1: Application Security Controls and Techniques

  • 2. Page 2 Instructor, PACE-IT Program – Edmonds Community College Areas of expertise Industry Certifications  PC Hardware  Network Administration  IT Project Management  Network Design  User Training  IT Troubleshooting Qualifications Summary Education  M.B.A., IT Management, Western Governor’s University  B.S., IT Security, Western Governor’s University Entrepreneur, executive leader, and proven manger with 10+ years of experience turning complex issues into efficient and effective solutions. Strengths include developing and mentoring diverse workforces, improving processes, analyzing business needs and creating the solutions required— with a focus on technology.
  • 3. Page 3 PACE-IT. – Secure coding concepts. – Other security controls, techniques, and concepts.
  • 4. Page 4 Application security controls and techniques.
  • 5. Page 5 Hackers will often focus on applications (software) when they are attempting to breach network security. Because of this, application developers need to focus on security controls right from the beginning of developing the application. This is the idea of using secure coding concepts. An application designed with security in mind is much easier to defend than an application that doesn’t use such methods. Two of the main concepts of secure coding are: error and exception handling and input validation. Application security controls and techniques.
  • 6. Page 6 Application security controls and techniques. – Error handling. » Thoroughly testing applications will catch most errors, with the possible exception of some runtime errors. • Runtime errors are problems that occur during the operation of an application. • Many things can cause a runtime error. They include poor programming, conflicts with other software (including malicious applications), and conflicts with hardware. » The developer should put processes in place that trap all runtime errors before such an error crashes the application. • Trapping a runtime error requires that the developer intercept the error and display a warning message before the error causes the application to crash. – Exception handling. » A more advanced method of error handling. • An exception is a different term for a runtime error. » Exception handling code will use a try/catch block—try this code and catch any errors that occur. • Usually will provide a means of looping the program until the error condition subsides.
  • 7. Page 7 A major cause of runtime errors and other security issues in applications is users inputting invalid data into the application. Secure coding requires that input validation be done before that data is actually placed into the application. Input validation is when the user supplied data is examined against a set of rules that outline what type of data the application is expecting. One method of testing input validation rules is to use fuzzing. During the testing phase of the application, the developer will input invalid or random data into the input fields in order to test the input validation rules. Application security controls and techniques.
  • 8. Page 8 Application security controls and techniques.
  • 9. Page 9 Application security controls and techniques. – Client-side and server-side validation. » Initial input validation should occur on the client (requesting machine) before it is sent to the application on the server. • This can help to prevent a runtime error or exploit on the server and reduces the amount of traffic that is crossing a network. » Additional input validation should occur at the server (receiving machine) before the input is passed on to the application— further reducing the chances of a runtime error or an exploit occurring. – Cross-site scripting (XSS) prevention. » XSS occurs when a hacker inserts script code into a form on a website so that when other users access the form, the script is executed. • Proper input validation of data is usually an effective means of preventing XSS from occurring.
  • 10. Page 10 Application security controls and techniques. – Cross-site request forgery (XSRF) prevention. » XSRF is when a user is automatically directed to a linked Web page and logged in using data supplied by a cookie from the original page—when this was not the Web developer’s intent. • Web developers can help to prevent XSRF from occurring by setting a short expiration time for cookies. • User can help prevent XSRF by choosing not to have a website automatically log them in when they visit the site. – Application configuration baseline. » The initial setting up of an application (the baseline) should be done with security in mind. • The baseline should be as secure as possible. – Application hardening. » Disabling all features and functions that users should not be allowed to use (e.g., disabling an application’s ability to use FTP). • Should initially be done during the configuration process.
  • 11. Page 11 Application security controls and techniques. – Application patch management. » New exploits and threats against applications are created all the time, requiring that applications be updated on a regular basis. • Patches are used to fix problems (e.g., security issues) that were unknown at the time the application was developed. » Caution: just as with operating system patches, application patches must be tested before being deployed into a production setting. – SQL vs. NoSQL databases. » SQL databases are the most common relational database management system used today. • They are optimized for the inserting and updating of records in a database. » NoSQL databases are designed to store and retrieve large amounts of data—big data. • They must be optimized for the retrieval of big data, and require different methods of input validation than a SQL database.
  • 12. Page 12 Application security controls and techniques. Application security controls need to begin with the application’s developer using secure coding methods. The two main concepts used in secure coding are: error and exception handling and input validation. Error and exception handling are how an application will deal with a runtime error. Input validation is a method used to prevent users from inputting invalid data into an application, which may cause a security issue or runtime error. Topic Secure coding concepts. Summary Client-side and server-side validation should both be used to prevent application problems. Input validation can be used to prevent XSS from occurring. XSRF prevention requires actions from both the user and the Web developer. An application’s configuration baselines should be set to the highest level of security and include application hardening techniques. All applications should be patched as required to maintain security. SQL databases and NoSQL databases are used to perform different functions and require different methods of application security controls. Other security controls, techniques, and concepts.
  • 14. This workforce solution was 100 percent funded by a $3 million grant awarded by the U.S. Department of Labor's Employment and Training Administration. The solution was created by the grantee and does not necessarily reflect the official position of the U.S. Department of Labor. The Department of Labor makes no guarantees, warranties, or assurances of any kind, express or implied, with respect to such information, including any information on linked sites and including, but not limited to, accuracy of the information or its completeness, timeliness, usefulness, adequacy, continued availability or ownership. Funded by the Department of Labor, Employment and Training Administration, Grant #TC-23745-12-60-A-53. PACE-IT is an equal opportunity employer/program and auxiliary aids and services are available upon request to individuals with disabilities. For those that are hearing impaired, a video phone is available at the Services for Students with Disabilities (SSD) office in Mountlake Terrace Hall 159. Check www.edcc.edu/ssd for office hours. Call 425.354.3113 on a video phone for more information about the PACE-IT program. For any additional special accommodations needed, call the SSD office at 425.640.1814. Edmonds Community College does not discriminate on the basis of race; color; religion; national origin; sex; disability; sexual orientation; age; citizenship, marital, or veteran status; or genetic information in its programs and activities.