SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
WHITE PAPER
TEL USA:	253-872-7788
TOLL FREE:	 +1 800-915-7700
TEL UK:	 +44 (0)870 120 3148
The PowerTech Group, Inc.
www.powertech.com • info@powertech.com
Copyright 2014. PowerTech is a Division of HelpSystems, LLC. All product and company
names are trademarks of their respective holders.
13 Tips to Write Secure Applications
and Boost IBM i Security
By Robin Tatam
Security. It surrounds every aspect of life in the
new millennium, and it’s never going away. Human
nature is such that any time we’re told there’s some-
thing we shouldn’t do or somewhere we shouldn’t go,
someone is always going to do exactly that and go
precisely there. This is especially true when there’s
something to gain by violating the rules.
The proof? Barely a day passes without new headlines
reporting another cyber attack, policy violation, or data
breach. Secretly, we breathe a sigh of relief that it hap-
pened to someone else, but most of us know that we’ll
all eventually feel the impact in some capacity. Maybe
it’ll manifest itself through increased bank fees, higher
retail prices, or more hoops to jump through when
we log in to our corporate firewall. And eventually it
could—nay, it will—be us that it happens to.
So who’s responsible for the security of an IBM i server
and DB2 database? IBM builds the hardware and de-
velops the operating system, application vendors and
internal programmers write the business applications,
and users maintain the corporate data. Who shoulders
the responsibility for its integrity and its protection?
After more than a decade of working as a security
specialist, my answer is a resounding “EVERYONE!”
IBM has done their part. Power Systems servers running
IBM i™ have garnered an envious reputation for being
some of the most securable servers on the planet, with
numerous world-class integrity features. Notice I said
securable instead of secure. The annual IBM i Security
Study reports alarming statistics showing that most of
these servers are operating with default—and largely
open—security configurations. You would never assume
a server running Windows is secure, and you should
never assume it with one running IBM i.
System users, such as programmers and administra-
tors, should be managed by a combination of profile
settings and good auditing controls. Application users
should be managed by the applications. Ultimately,
however, users will do whatever applications allow, not
necessarily only what they’re designed to do. And it’s
programmers who build those applications, so we have
to talk about how to build a more secure application.
The goal of this article is to identify important devel-
opment considerations that will empower program-
mers to enhance the security of our data rather than
undermine it.
Reprinted with permission of MC Press, LLC. All rights reserved. www.mcpressonline.com
13 Tips to Write Secure Applications and Boost IBM i SecurityThe PowerTech Group, Inc.
www.powertech.com • info@powertech.com
1. Docu-what?
Personal experience has taught me that documentation
is a dirty word to many in the programming community.
It hampers our simple desire to code. But documentation
is also the map that guides future travelers. Without
it, every enhancement and bug fix begins with a time-
consuming discovery task and increases the likelihood
that the application could be broken by the change.
Before a single line of code is written, planning docu-
ments should identify operational requirements such
as these:
	 •	 Application libraries
	 •	 Profile ownership
	 •	 Authorization lists
	 •	 Authority schemes—public and private
	 •	 Runtime attributes
Documentation should also be embedded in the
application programs. Comments should be clear,
concise, and in plain English (or your language of
choice). In other words, do not simply repeat what
any programmer can read from looking at the code.
2. Segregate Libraries
When building an application, many programmers
lump all of the objects into a single library as it seems
simpler on the surface. However, programs and files
typically have different security requirements, and
having them cohabit can make securing them more
complicated. Segregating non-data objects and data
objects into different libraries permits library-level
security to control access.
3. “Softcode” Library Lists
I was taught that hard-coding a library name into a
program was a cardinal sin, but we’ve learned that
search path manipulation is an easy way to wreak
havoc and even circumvent security. An acceptable
balance may be found by storing library names in data
objects, such as data areas, so that they cannot be
altered by users but can be changed without requiring
modifications to the application code.
4. Own Your Objects
Every object has an owner, and if you’ve ever had to
delete a user’s profile, then you understand why
ownership shouldn’t be retained by the programmer.
Objects should never be owned by a group profile,
especially one that consolidates the application users;
each member would indirectly own the objects, giving
them excess privileges. Instead, create a profile that
has only one purpose in life: to own the application
objects. Just remember, if new objects are created
during the execution of the application, the program
should also establish the correct ownership and
authorities. Try to avoid assigning ownership to IBM-
supplied profiles because if anyone—including IBM—
makes a change to the profile, it might have an
unpredictable impact on the application.
5. Design the Database
Take time to classify the data in order to identify how
stringent the access control should be. For a simple
scheme, consider public, semi-public, and private. The
database should be normalized to prevent information
redundancy, and I recommend encrypting fields that
are classified as private. Strong encryption functions
are inherent within IBM i, and third-party providers can
assist if code modification isn’t possible. Journaling is a
popular technique that originated with application
recovery and now has uses for replication and for
auditing. Consider collecting before and after images
of data changes in critical files and archiving that
journal data according to corporate policy and
compliance mandates.
6. Read the Menu
Application menus were a solid approach to security
back when terminal displays were the only way to
access data. However, they fall flat on their face now
that other interfaces exist that can facilitate direct
access to the database. There’s nothing wrong with
using menus to improve the user experience and to
restrict user movement, but don’t rely on them to
police data access. When a user steps outside the
constraints of a menu, other controls such as
command line restrictions, object-level security,
and exit programs become even more critical.
13 Tips to Write Secure Applications and Boost IBM i SecurityThe PowerTech Group, Inc.
www.powertech.com • info@powertech.com
7. Good Code
While it seems obvious, write good code! My devel-
opment career exposed me to some of the most
horrendous applications I could imagine. Unwieldy
programs with unmanageable top-down design,
missing—or worse, inaccurate—comments, and
redundant functions. Programs that are modular,
concisely coded, and well-documented are easier to
maintain and easier to review for unauthorized code
modifications. ILE constructs make this easy. You
should be taking advantage of them.
8. Public and Private Authority
IBM i contains a unique concept known as *PUBLIC.
This is the default level of access granted to a user
who hasn’t been assigned a more specific access level.
Many open configurations on servers running IBM i can
be traced to the fact that IBM ships the default
*PUBLIC authority level as *CHANGE, which is
sufficient to read, change, and delete data in a file.
Public authority is determined when the object is
created from a parameter on the associated create
command. By default, the command defers to a library
attribute and that, in turn, defers to the QCRTAUT
system value. I recommend setting the appropriate
explicit value on the library as it allows different
defaults to be used for each application library. The
popular “deny by default” data access model calls for
the public to be excluded, and the application users—
or better yet, user groups—with a demonstrable need
are granted private authority.
9. Authorization Lists
Granting authority to hundreds or even thousands
of individual objects can be an overwhelming admin-
istrative chore. Authorization lists allow many objects
to be addressed as a single entity and are a useful
mechanism. A significant benefit of using lists is that
authorities can be maintained while the associated
objects are in use. This can be very beneficial in a 24/7
shop where obtaining object locks can be a monu-
mental task. Just remember that *PUBLIC authority
will come from the individual object unless you specify
otherwise.
10. Adopted Authority and Profile Swapping
Two techniques are available to allow a program to run
with different authority than the user who invoked it.
Instead of granting authority to individuals or even
groups, authority can be elevated temporarily while
the program is running, alleviating the requirement to
grant authority to the users themselves. In the case of
adoption, a runtime attribute on the program object
controls the inheritance. Both special and private
authority is culled from the owner of the program,
which is beneficial if following the recommendation of
using a unique profile for ownership.
Profile swapping allows a user to assume the identity
of another and is accomplished via calls to several
easy-to-use IBM-supplied APIs. Both approaches have
pros and cons, and more detailed information can be
found using your search engine of choice. Overall, these
are two of the most useful functions in a security-
conscious programmer’s toolbox.
11. Cover Your Exits
IBM i contains a registry of exit points, which are
almost like subroutines in the OS’s functions. When
a function is invoked, the OS can pass control temp-
orarily to the assigned exit program—if one exists—
to perform any ancillary task before the OS resumes
control and processes the request.
There are dozens of exit points in several different
categories, but about 30 of them pertain to network
access and should be considered critical. While object-
level security remains effective during these requests,
the OS can only enforce one setting across all inter-
faces, so a user who can change data on a green
screen can also change data through an FTP or ODBC
connection. While these exit programs can be written
in-house, regulatory compliance typically frowns upon
self-policing, so I strongly recommend evaluating a
commercial solution to selectively process and audit
user requests. Preventing data leaks is a requirement
shared between exit programs and object-level
security.
The PowerTech Group, Inc.
www.powertech.com • info@powertech.com
13 Tips to Write Secure Applications and Boost IBM i Security
C011SA4
12. Plan for High Availability
System availability is often a requirement of regulatory
compliance. Keeping systems running in the face of a
technological disaster is a popular business initiative and
one that continues to grow in popularity. When designing
a new application, consider the expectation that the
application may need to be replicated. A side-benefit
of journaling for HA purposes is the audit and recovery
trail that can be built into the application.
13. Query and Other Tools
When designing a security infrastructure, consider how
the application data will be accessed. Programs can use
adoption to temporarily access secured files, but other
tools may not have that luxury. Placing the invocation
command for a native tool (e.g., WRKQRY) inside a CL
“wrapper” can allow it to take advantage of the same
technique. Consider authorizing some generic profiles to
the authorization list to allow users to access data in a
limited capacity. For example, grant *USE access to a
profile named READONLY and then swap to that profile
if a user needs to use ODBC or Query to view the data.
If data is encrypted, native reports may have to be
authored if plain text viewing or reporting is required.
Summary
In my capacity as an auditor, I discover vulnerabilities
on hundreds of servers every year. In the vast
majority of cases, these servers are poorly configured
and are running applications that rely heavily on
legacy security mechanisms or have no security
considerations at all. Ironically, many of those same
organizations blame IBM for allowing users to extract
data, instead of taking responsibility and investing in
the design of a secure application.
Programmers are the linchpin when establishing
secure applications. Regardless of whether they’re
developing internal solutions or commercial products,
acknowledge the risk posed by not having their
cooperation, train them in security functions, and work
to obtain their buy-in regarding the fact that securing
an app is one of the most critical aspects of securing
data and maintaining compliance.

Mais conteúdo relacionado

Mais procurados

IBM AppScan Source - The SAST solution
IBM AppScan Source - The SAST solutionIBM AppScan Source - The SAST solution
IBM AppScan Source - The SAST solutionhearme limited company
 
Start Up Austin 2017: Security Crash Course and Best Pratices
Start Up Austin 2017: Security Crash Course and Best PraticesStart Up Austin 2017: Security Crash Course and Best Pratices
Start Up Austin 2017: Security Crash Course and Best PraticesAmazon Web Services
 
IBM AppScan Enterprise - The total software security solution
IBM AppScan Enterprise - The total software security solutionIBM AppScan Enterprise - The total software security solution
IBM AppScan Enterprise - The total software security solutionhearme limited company
 
Start Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
Start Up Austin 2017: Production Preview - How to Stop Bad Things From HappeningStart Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
Start Up Austin 2017: Production Preview - How to Stop Bad Things From HappeningAmazon Web Services
 
Windows 7 Application Compatibility
Windows 7 Application CompatibilityWindows 7 Application Compatibility
Windows 7 Application Compatibilitymicham
 
Developing Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common AttacksDeveloping Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common AttacksPayPalX Developer Network
 
Axoss Web Application Penetration Testing Services
Axoss Web Application Penetration Testing ServicesAxoss Web Application Penetration Testing Services
Axoss Web Application Penetration Testing ServicesBulent Buyukkahraman
 
Get Ready for Web Application Security Testing
Get Ready for Web Application Security TestingGet Ready for Web Application Security Testing
Get Ready for Web Application Security TestingAlan Kan
 
Windows 7 AppLocker: Understanding its Capabilities and Limitations
Windows 7 AppLocker: Understanding its Capabilities and LimitationsWindows 7 AppLocker: Understanding its Capabilities and Limitations
Windows 7 AppLocker: Understanding its Capabilities and LimitationsLumension
 
Technical Architecture of RASP Technology
Technical Architecture of RASP TechnologyTechnical Architecture of RASP Technology
Technical Architecture of RASP TechnologyPriyanka Aash
 
The Complete Web Application Security Testing Checklist
The Complete Web Application Security Testing ChecklistThe Complete Web Application Security Testing Checklist
The Complete Web Application Security Testing ChecklistCigital
 
Security Testing
Security TestingSecurity Testing
Security TestingKiran Kumar
 
Closing Mainframe Integrity Gaps
Closing Mainframe Integrity GapsClosing Mainframe Integrity Gaps
Closing Mainframe Integrity GapsRay Overby
 
Be Storm - Automated Application/Software Vulnerability Testing
Be Storm - Automated Application/Software  Vulnerability TestingBe Storm - Automated Application/Software  Vulnerability Testing
Be Storm - Automated Application/Software Vulnerability TestingAmit Shirolkar
 
110006_perils_of_aging_emul_wp
110006_perils_of_aging_emul_wp110006_perils_of_aging_emul_wp
110006_perils_of_aging_emul_wpJessica Hirst
 
Application Explosion How to Manage Productivity vs Security
Application Explosion How to Manage Productivity vs SecurityApplication Explosion How to Manage Productivity vs Security
Application Explosion How to Manage Productivity vs SecurityLumension
 
Security 101: Limiting Powerful User Profiles
Security 101: Limiting Powerful User ProfilesSecurity 101: Limiting Powerful User Profiles
Security 101: Limiting Powerful User ProfilesPrecisely
 

Mais procurados (20)

IBM AppScan Source - The SAST solution
IBM AppScan Source - The SAST solutionIBM AppScan Source - The SAST solution
IBM AppScan Source - The SAST solution
 
Start Up Austin 2017: Security Crash Course and Best Pratices
Start Up Austin 2017: Security Crash Course and Best PraticesStart Up Austin 2017: Security Crash Course and Best Pratices
Start Up Austin 2017: Security Crash Course and Best Pratices
 
IBM AppScan Enterprise - The total software security solution
IBM AppScan Enterprise - The total software security solutionIBM AppScan Enterprise - The total software security solution
IBM AppScan Enterprise - The total software security solution
 
Start Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
Start Up Austin 2017: Production Preview - How to Stop Bad Things From HappeningStart Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
Start Up Austin 2017: Production Preview - How to Stop Bad Things From Happening
 
Windows 7 Application Compatibility
Windows 7 Application CompatibilityWindows 7 Application Compatibility
Windows 7 Application Compatibility
 
Developing Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common AttacksDeveloping Secure Applications and Defending Against Common Attacks
Developing Secure Applications and Defending Against Common Attacks
 
Axoss Web Application Penetration Testing Services
Axoss Web Application Penetration Testing ServicesAxoss Web Application Penetration Testing Services
Axoss Web Application Penetration Testing Services
 
Null Meet Ppt
Null Meet PptNull Meet Ppt
Null Meet Ppt
 
Get Ready for Web Application Security Testing
Get Ready for Web Application Security TestingGet Ready for Web Application Security Testing
Get Ready for Web Application Security Testing
 
Windows 7 AppLocker: Understanding its Capabilities and Limitations
Windows 7 AppLocker: Understanding its Capabilities and LimitationsWindows 7 AppLocker: Understanding its Capabilities and Limitations
Windows 7 AppLocker: Understanding its Capabilities and Limitations
 
Technical Architecture of RASP Technology
Technical Architecture of RASP TechnologyTechnical Architecture of RASP Technology
Technical Architecture of RASP Technology
 
The Complete Web Application Security Testing Checklist
The Complete Web Application Security Testing ChecklistThe Complete Web Application Security Testing Checklist
The Complete Web Application Security Testing Checklist
 
Cyber ark training
Cyber ark trainingCyber ark training
Cyber ark training
 
Security Testing
Security TestingSecurity Testing
Security Testing
 
Closing Mainframe Integrity Gaps
Closing Mainframe Integrity GapsClosing Mainframe Integrity Gaps
Closing Mainframe Integrity Gaps
 
Be Storm - Automated Application/Software Vulnerability Testing
Be Storm - Automated Application/Software  Vulnerability TestingBe Storm - Automated Application/Software  Vulnerability Testing
Be Storm - Automated Application/Software Vulnerability Testing
 
Hack through Injections
Hack through InjectionsHack through Injections
Hack through Injections
 
110006_perils_of_aging_emul_wp
110006_perils_of_aging_emul_wp110006_perils_of_aging_emul_wp
110006_perils_of_aging_emul_wp
 
Application Explosion How to Manage Productivity vs Security
Application Explosion How to Manage Productivity vs SecurityApplication Explosion How to Manage Productivity vs Security
Application Explosion How to Manage Productivity vs Security
 
Security 101: Limiting Powerful User Profiles
Security 101: Limiting Powerful User ProfilesSecurity 101: Limiting Powerful User Profiles
Security 101: Limiting Powerful User Profiles
 

Destaque

Time to Remove the Paper from Your Desk and Become More Efficient
Time to Remove the Paper from Your Desk and Become More EfficientTime to Remove the Paper from Your Desk and Become More Efficient
Time to Remove the Paper from Your Desk and Become More EfficientHelpSystems
 
Getting Started with IBM i Security: Integrated File System (IFS)
Getting Started with IBM i Security: Integrated File System (IFS)Getting Started with IBM i Security: Integrated File System (IFS)
Getting Started with IBM i Security: Integrated File System (IFS)HelpSystems
 
Aging RPG Programmers in Charge of Your IBM i?
Aging RPG Programmers in Charge of Your IBM i?Aging RPG Programmers in Charge of Your IBM i?
Aging RPG Programmers in Charge of Your IBM i?HelpSystems
 
Database 101 on IBM i
Database 101 on IBM iDatabase 101 on IBM i
Database 101 on IBM iHelpSystems
 
Vorschau 1 / 2010 V&R unipress
Vorschau 1 / 2010 V&R unipress Vorschau 1 / 2010 V&R unipress
Vorschau 1 / 2010 V&R unipress Ich
 
Getting Started with IBM i Security: Event Auditing
Getting Started with IBM i Security: Event AuditingGetting Started with IBM i Security: Event Auditing
Getting Started with IBM i Security: Event AuditingHelpSystems
 
StandGuard Anti-Virus Tech Pack
StandGuard Anti-Virus Tech PackStandGuard Anti-Virus Tech Pack
StandGuard Anti-Virus Tech PackHelpSystems
 
Renovaciones y reservas Biblioteca Álvaro Cunqueiro Instituto Cervantes de Da...
Renovaciones y reservas Biblioteca Álvaro Cunqueiro Instituto Cervantes de Da...Renovaciones y reservas Biblioteca Álvaro Cunqueiro Instituto Cervantes de Da...
Renovaciones y reservas Biblioteca Álvaro Cunqueiro Instituto Cervantes de Da...Red de Bibliotecas del Instituto Cervantes
 
Range Magazine (2011: Issue 2)
Range Magazine (2011: Issue 2)Range Magazine (2011: Issue 2)
Range Magazine (2011: Issue 2)alastairmcmillan
 
HERRAMIENTAS DEL INTERNET
HERRAMIENTAS DEL INTERNETHERRAMIENTAS DEL INTERNET
HERRAMIENTAS DEL INTERNETbachiita
 
Building your Brand Center with Athento -Smart Document Management-
Building your Brand Center with Athento -Smart Document Management- Building your Brand Center with Athento -Smart Document Management-
Building your Brand Center with Athento -Smart Document Management- Athento
 
Guia De Estudio Digestivo
Guia De Estudio DigestivoGuia De Estudio Digestivo
Guia De Estudio DigestivoLuciana Yohai
 
Control charts tool
Control charts toolControl charts tool
Control charts toolMohit Singla
 
Curso IBM Redes SAN y Almacenamiento con Tivoli
Curso IBM Redes SAN y Almacenamiento con TivoliCurso IBM Redes SAN y Almacenamiento con Tivoli
Curso IBM Redes SAN y Almacenamiento con Tivolicamforma
 
Darktrace_WhitePaper_Needle_final
Darktrace_WhitePaper_Needle_finalDarktrace_WhitePaper_Needle_final
Darktrace_WhitePaper_Needle_finalJerome Chapolard
 
Self Help Legal Software and Unauthorized Practice of Law
Self Help Legal Software and Unauthorized Practice of LawSelf Help Legal Software and Unauthorized Practice of Law
Self Help Legal Software and Unauthorized Practice of LawRichard S. Granat
 
Pssst... It's Time to get Rid of Pre-Printed Forms
Pssst... It's Time to get Rid of Pre-Printed FormsPssst... It's Time to get Rid of Pre-Printed Forms
Pssst... It's Time to get Rid of Pre-Printed FormsHelpSystems
 
Cinthya barzallo c-administracion-a
Cinthya barzallo c-administracion-aCinthya barzallo c-administracion-a
Cinthya barzallo c-administracion-aCinthya Barzallo
 

Destaque (20)

Time to Remove the Paper from Your Desk and Become More Efficient
Time to Remove the Paper from Your Desk and Become More EfficientTime to Remove the Paper from Your Desk and Become More Efficient
Time to Remove the Paper from Your Desk and Become More Efficient
 
Getting Started with IBM i Security: Integrated File System (IFS)
Getting Started with IBM i Security: Integrated File System (IFS)Getting Started with IBM i Security: Integrated File System (IFS)
Getting Started with IBM i Security: Integrated File System (IFS)
 
Aging RPG Programmers in Charge of Your IBM i?
Aging RPG Programmers in Charge of Your IBM i?Aging RPG Programmers in Charge of Your IBM i?
Aging RPG Programmers in Charge of Your IBM i?
 
Database 101 on IBM i
Database 101 on IBM iDatabase 101 on IBM i
Database 101 on IBM i
 
Vorschau 1 / 2010 V&R unipress
Vorschau 1 / 2010 V&R unipress Vorschau 1 / 2010 V&R unipress
Vorschau 1 / 2010 V&R unipress
 
Getting Started with IBM i Security: Event Auditing
Getting Started with IBM i Security: Event AuditingGetting Started with IBM i Security: Event Auditing
Getting Started with IBM i Security: Event Auditing
 
12 ssi bonprix
12 ssi   bonprix12 ssi   bonprix
12 ssi bonprix
 
StandGuard Anti-Virus Tech Pack
StandGuard Anti-Virus Tech PackStandGuard Anti-Virus Tech Pack
StandGuard Anti-Virus Tech Pack
 
Renovaciones y reservas Biblioteca Álvaro Cunqueiro Instituto Cervantes de Da...
Renovaciones y reservas Biblioteca Álvaro Cunqueiro Instituto Cervantes de Da...Renovaciones y reservas Biblioteca Álvaro Cunqueiro Instituto Cervantes de Da...
Renovaciones y reservas Biblioteca Álvaro Cunqueiro Instituto Cervantes de Da...
 
Ahli United Bank
Ahli United BankAhli United Bank
Ahli United Bank
 
Range Magazine (2011: Issue 2)
Range Magazine (2011: Issue 2)Range Magazine (2011: Issue 2)
Range Magazine (2011: Issue 2)
 
HERRAMIENTAS DEL INTERNET
HERRAMIENTAS DEL INTERNETHERRAMIENTAS DEL INTERNET
HERRAMIENTAS DEL INTERNET
 
Building your Brand Center with Athento -Smart Document Management-
Building your Brand Center with Athento -Smart Document Management- Building your Brand Center with Athento -Smart Document Management-
Building your Brand Center with Athento -Smart Document Management-
 
Guia De Estudio Digestivo
Guia De Estudio DigestivoGuia De Estudio Digestivo
Guia De Estudio Digestivo
 
Control charts tool
Control charts toolControl charts tool
Control charts tool
 
Curso IBM Redes SAN y Almacenamiento con Tivoli
Curso IBM Redes SAN y Almacenamiento con TivoliCurso IBM Redes SAN y Almacenamiento con Tivoli
Curso IBM Redes SAN y Almacenamiento con Tivoli
 
Darktrace_WhitePaper_Needle_final
Darktrace_WhitePaper_Needle_finalDarktrace_WhitePaper_Needle_final
Darktrace_WhitePaper_Needle_final
 
Self Help Legal Software and Unauthorized Practice of Law
Self Help Legal Software and Unauthorized Practice of LawSelf Help Legal Software and Unauthorized Practice of Law
Self Help Legal Software and Unauthorized Practice of Law
 
Pssst... It's Time to get Rid of Pre-Printed Forms
Pssst... It's Time to get Rid of Pre-Printed FormsPssst... It's Time to get Rid of Pre-Printed Forms
Pssst... It's Time to get Rid of Pre-Printed Forms
 
Cinthya barzallo c-administracion-a
Cinthya barzallo c-administracion-aCinthya barzallo c-administracion-a
Cinthya barzallo c-administracion-a
 

Semelhante a 13 Tips to Write Secure Applications

Security misconfiguration
Security misconfigurationSecurity misconfiguration
Security misconfigurationMicho Hayek
 
How Organizations can Secure Their Database From External Attacks
How Organizations can Secure Their Database From External AttacksHow Organizations can Secure Their Database From External Attacks
How Organizations can Secure Their Database From External AttacksEmmanuel Oshogwe Akpeokhai
 
Securing Oracle Database 12c
Securing Oracle Database 12cSecuring Oracle Database 12c
Securing Oracle Database 12cInprise Group
 
Security Policy Checklist
Security Policy ChecklistSecurity Policy Checklist
Security Policy Checklistbackdoor
 
Achieving Secure, sclable and finegrained Cloud computing report
Achieving Secure, sclable and finegrained Cloud computing reportAchieving Secure, sclable and finegrained Cloud computing report
Achieving Secure, sclable and finegrained Cloud computing reportKiran Girase
 
OpenWhisk Introduction
OpenWhisk IntroductionOpenWhisk Introduction
OpenWhisk IntroductionIoana Baldini
 
En msft-scrty-cntnt-e book-protectyourdata
En msft-scrty-cntnt-e book-protectyourdataEn msft-scrty-cntnt-e book-protectyourdata
En msft-scrty-cntnt-e book-protectyourdataOnline Business
 
5 Security Questions To Ask A Cloud Service Provider
5 Security Questions To Ask A Cloud Service Provider5 Security Questions To Ask A Cloud Service Provider
5 Security Questions To Ask A Cloud Service ProviderTyrone Systems
 
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdf
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdfCisco_eBook_ShiftLeftSecurity_2022_06_07a.pdf
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdfNathanDjami
 
Fragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your AppFragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your AppAppsecco
 
Smarter Commerce Summit - IBM MobileFirst Services
Smarter Commerce Summit - IBM MobileFirst ServicesSmarter Commerce Summit - IBM MobileFirst Services
Smarter Commerce Summit - IBM MobileFirst ServicesChris Pepin
 
JavaOne2013: Secure Engineering Practices for Java
JavaOne2013: Secure Engineering Practices for JavaJavaOne2013: Secure Engineering Practices for Java
JavaOne2013: Secure Engineering Practices for JavaChris Bailey
 
We4IT lcty 2013 - captain mobility - mobile domino applications offline capab...
We4IT lcty 2013 - captain mobility - mobile domino applications offline capab...We4IT lcty 2013 - captain mobility - mobile domino applications offline capab...
We4IT lcty 2013 - captain mobility - mobile domino applications offline capab...We4IT Group
 
The impact of consumerization
The impact of consumerizationThe impact of consumerization
The impact of consumerizationMichel de Goede
 
Building intelligent APIs - Andy Thurai, IBM
Building intelligent APIs - Andy Thurai, IBMBuilding intelligent APIs - Andy Thurai, IBM
Building intelligent APIs - Andy Thurai, IBMPAPIs.io
 
Tempo - Mobile access with Governance
Tempo - Mobile access with GovernanceTempo - Mobile access with Governance
Tempo - Mobile access with GovernanceGabe Faraone
 

Semelhante a 13 Tips to Write Secure Applications (20)

Wp security-data-safe
Wp security-data-safeWp security-data-safe
Wp security-data-safe
 
Security misconfiguration
Security misconfigurationSecurity misconfiguration
Security misconfiguration
 
Data base Access Control a look at Fine grain Access method
Data base Access Control a look at Fine grain Access methodData base Access Control a look at Fine grain Access method
Data base Access Control a look at Fine grain Access method
 
Security Design Principles.ppt
 Security Design Principles.ppt Security Design Principles.ppt
Security Design Principles.ppt
 
How Organizations can Secure Their Database From External Attacks
How Organizations can Secure Their Database From External AttacksHow Organizations can Secure Their Database From External Attacks
How Organizations can Secure Their Database From External Attacks
 
Securing Oracle Database 12c
Securing Oracle Database 12cSecuring Oracle Database 12c
Securing Oracle Database 12c
 
Security Policy Checklist
Security Policy ChecklistSecurity Policy Checklist
Security Policy Checklist
 
Achieving Secure, sclable and finegrained Cloud computing report
Achieving Secure, sclable and finegrained Cloud computing reportAchieving Secure, sclable and finegrained Cloud computing report
Achieving Secure, sclable and finegrained Cloud computing report
 
OpenWhisk Introduction
OpenWhisk IntroductionOpenWhisk Introduction
OpenWhisk Introduction
 
En msft-scrty-cntnt-e book-protectyourdata
En msft-scrty-cntnt-e book-protectyourdataEn msft-scrty-cntnt-e book-protectyourdata
En msft-scrty-cntnt-e book-protectyourdata
 
5 Security Questions To Ask A Cloud Service Provider
5 Security Questions To Ask A Cloud Service Provider5 Security Questions To Ask A Cloud Service Provider
5 Security Questions To Ask A Cloud Service Provider
 
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdf
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdfCisco_eBook_ShiftLeftSecurity_2022_06_07a.pdf
Cisco_eBook_ShiftLeftSecurity_2022_06_07a.pdf
 
Fragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your AppFragments-Plug the vulnerabilities in your App
Fragments-Plug the vulnerabilities in your App
 
Smarter Commerce Summit - IBM MobileFirst Services
Smarter Commerce Summit - IBM MobileFirst ServicesSmarter Commerce Summit - IBM MobileFirst Services
Smarter Commerce Summit - IBM MobileFirst Services
 
JavaOne2013: Secure Engineering Practices for Java
JavaOne2013: Secure Engineering Practices for JavaJavaOne2013: Secure Engineering Practices for Java
JavaOne2013: Secure Engineering Practices for Java
 
We4IT lcty 2013 - captain mobility - mobile domino applications offline capab...
We4IT lcty 2013 - captain mobility - mobile domino applications offline capab...We4IT lcty 2013 - captain mobility - mobile domino applications offline capab...
We4IT lcty 2013 - captain mobility - mobile domino applications offline capab...
 
The impact of consumerization
The impact of consumerizationThe impact of consumerization
The impact of consumerization
 
Building intelligent APIs - Andy Thurai, IBM
Building intelligent APIs - Andy Thurai, IBMBuilding intelligent APIs - Andy Thurai, IBM
Building intelligent APIs - Andy Thurai, IBM
 
Tempo - Mobile access with Governance
Tempo - Mobile access with GovernanceTempo - Mobile access with Governance
Tempo - Mobile access with Governance
 
How to Overcome the Challenges of Cloud Application
How to Overcome the Challenges of Cloud ApplicationHow to Overcome the Challenges of Cloud Application
How to Overcome the Challenges of Cloud Application
 

Mais de HelpSystems

El Estado de la Seguridad de IBM i en 2020
El Estado de la Seguridad de IBM i en 2020El Estado de la Seguridad de IBM i en 2020
El Estado de la Seguridad de IBM i en 2020HelpSystems
 
Ciberseguridad Cómo identificar con certeza dispositivos comprometidos en la...
Ciberseguridad  Cómo identificar con certeza dispositivos comprometidos en la...Ciberseguridad  Cómo identificar con certeza dispositivos comprometidos en la...
Ciberseguridad Cómo identificar con certeza dispositivos comprometidos en la...HelpSystems
 
Rbt jdbc odbc webinar
Rbt jdbc odbc webinar Rbt jdbc odbc webinar
Rbt jdbc odbc webinar HelpSystems
 
RPA en 45 minutos
RPA en 45 minutos RPA en 45 minutos
RPA en 45 minutos HelpSystems
 
Webinar go anywhere_mft_scripts
Webinar go anywhere_mft_scriptsWebinar go anywhere_mft_scripts
Webinar go anywhere_mft_scriptsHelpSystems
 
Automatización de Procesos de IT
Automatización de Procesos de ITAutomatización de Procesos de IT
Automatización de Procesos de ITHelpSystems
 
Hs 2020-ibmi-marketplace-spanish v3
Hs 2020-ibmi-marketplace-spanish v3Hs 2020-ibmi-marketplace-spanish v3
Hs 2020-ibmi-marketplace-spanish v3HelpSystems
 
Caso de éxito Zurich automatiza sus procesos críticos de Negocio con RPA
Caso de éxito  Zurich automatiza sus procesos críticos de Negocio con RPACaso de éxito  Zurich automatiza sus procesos críticos de Negocio con RPA
Caso de éxito Zurich automatiza sus procesos críticos de Negocio con RPAHelpSystems
 
Centro de Excelencia en Automatización 3
Centro de Excelencia en Automatización 3Centro de Excelencia en Automatización 3
Centro de Excelencia en Automatización 3HelpSystems
 
Cómo crear un Centro de Excelencia de Automatización 2
Cómo crear un Centro de Excelencia de Automatización 2Cómo crear un Centro de Excelencia de Automatización 2
Cómo crear un Centro de Excelencia de Automatización 2HelpSystems
 
Construyendo un Centro de Excelencia de Automatización PARTE 1
Construyendo un Centro de Excelencia de Automatización PARTE 1Construyendo un Centro de Excelencia de Automatización PARTE 1
Construyendo un Centro de Excelencia de Automatización PARTE 1HelpSystems
 
Webinar Vityl IT & Business Monitoring
Webinar Vityl IT & Business MonitoringWebinar Vityl IT & Business Monitoring
Webinar Vityl IT & Business MonitoringHelpSystems
 
1 año de RGPD: 3 formas en las que HelpSystems puede ayudar
1 año de RGPD:  3 formas en las que HelpSystems puede ayudar1 año de RGPD:  3 formas en las que HelpSystems puede ayudar
1 año de RGPD: 3 formas en las que HelpSystems puede ayudarHelpSystems
 
Automate feature tour
Automate feature tourAutomate feature tour
Automate feature tourHelpSystems
 
WEBINAR GRABADO Automatización de procesos de IT: tecnologías más usadas, cas...
WEBINAR GRABADO Automatización de procesos de IT: tecnologías más usadas, cas...WEBINAR GRABADO Automatización de procesos de IT: tecnologías más usadas, cas...
WEBINAR GRABADO Automatización de procesos de IT: tecnologías más usadas, cas...HelpSystems
 
5 problemas del intercambio de archivos mediante scripts
5 problemas del intercambio de archivos mediante scripts5 problemas del intercambio de archivos mediante scripts
5 problemas del intercambio de archivos mediante scriptsHelpSystems
 
CASO DE ÉXITO: Grupo Banco San Juan
CASO DE ÉXITO: Grupo Banco San JuanCASO DE ÉXITO: Grupo Banco San Juan
CASO DE ÉXITO: Grupo Banco San JuanHelpSystems
 
Webinar Security Scan
Webinar Security ScanWebinar Security Scan
Webinar Security ScanHelpSystems
 

Mais de HelpSystems (20)

El Estado de la Seguridad de IBM i en 2020
El Estado de la Seguridad de IBM i en 2020El Estado de la Seguridad de IBM i en 2020
El Estado de la Seguridad de IBM i en 2020
 
Ciberseguridad Cómo identificar con certeza dispositivos comprometidos en la...
Ciberseguridad  Cómo identificar con certeza dispositivos comprometidos en la...Ciberseguridad  Cómo identificar con certeza dispositivos comprometidos en la...
Ciberseguridad Cómo identificar con certeza dispositivos comprometidos en la...
 
Rbt jdbc odbc webinar
Rbt jdbc odbc webinar Rbt jdbc odbc webinar
Rbt jdbc odbc webinar
 
RPA en 45 minutos
RPA en 45 minutos RPA en 45 minutos
RPA en 45 minutos
 
Webinar go anywhere_mft_scripts
Webinar go anywhere_mft_scriptsWebinar go anywhere_mft_scripts
Webinar go anywhere_mft_scripts
 
Automatización de Procesos de IT
Automatización de Procesos de ITAutomatización de Procesos de IT
Automatización de Procesos de IT
 
Hs 2020-ibmi-marketplace-spanish v3
Hs 2020-ibmi-marketplace-spanish v3Hs 2020-ibmi-marketplace-spanish v3
Hs 2020-ibmi-marketplace-spanish v3
 
Mft 45 minutos
Mft 45 minutosMft 45 minutos
Mft 45 minutos
 
Caso de éxito Zurich automatiza sus procesos críticos de Negocio con RPA
Caso de éxito  Zurich automatiza sus procesos críticos de Negocio con RPACaso de éxito  Zurich automatiza sus procesos críticos de Negocio con RPA
Caso de éxito Zurich automatiza sus procesos críticos de Negocio con RPA
 
Centro de Excelencia en Automatización 3
Centro de Excelencia en Automatización 3Centro de Excelencia en Automatización 3
Centro de Excelencia en Automatización 3
 
Cómo crear un Centro de Excelencia de Automatización 2
Cómo crear un Centro de Excelencia de Automatización 2Cómo crear un Centro de Excelencia de Automatización 2
Cómo crear un Centro de Excelencia de Automatización 2
 
Construyendo un Centro de Excelencia de Automatización PARTE 1
Construyendo un Centro de Excelencia de Automatización PARTE 1Construyendo un Centro de Excelencia de Automatización PARTE 1
Construyendo un Centro de Excelencia de Automatización PARTE 1
 
Webinar Vityl IT & Business Monitoring
Webinar Vityl IT & Business MonitoringWebinar Vityl IT & Business Monitoring
Webinar Vityl IT & Business Monitoring
 
1 año de RGPD: 3 formas en las que HelpSystems puede ayudar
1 año de RGPD:  3 formas en las que HelpSystems puede ayudar1 año de RGPD:  3 formas en las que HelpSystems puede ayudar
1 año de RGPD: 3 formas en las que HelpSystems puede ayudar
 
Mft 45 minutos
Mft 45 minutosMft 45 minutos
Mft 45 minutos
 
Automate feature tour
Automate feature tourAutomate feature tour
Automate feature tour
 
WEBINAR GRABADO Automatización de procesos de IT: tecnologías más usadas, cas...
WEBINAR GRABADO Automatización de procesos de IT: tecnologías más usadas, cas...WEBINAR GRABADO Automatización de procesos de IT: tecnologías más usadas, cas...
WEBINAR GRABADO Automatización de procesos de IT: tecnologías más usadas, cas...
 
5 problemas del intercambio de archivos mediante scripts
5 problemas del intercambio de archivos mediante scripts5 problemas del intercambio de archivos mediante scripts
5 problemas del intercambio de archivos mediante scripts
 
CASO DE ÉXITO: Grupo Banco San Juan
CASO DE ÉXITO: Grupo Banco San JuanCASO DE ÉXITO: Grupo Banco San Juan
CASO DE ÉXITO: Grupo Banco San Juan
 
Webinar Security Scan
Webinar Security ScanWebinar Security Scan
Webinar Security Scan
 

Último

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 

Último (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 

13 Tips to Write Secure Applications

  • 1. WHITE PAPER TEL USA: 253-872-7788 TOLL FREE: +1 800-915-7700 TEL UK: +44 (0)870 120 3148 The PowerTech Group, Inc. www.powertech.com • info@powertech.com Copyright 2014. PowerTech is a Division of HelpSystems, LLC. All product and company names are trademarks of their respective holders. 13 Tips to Write Secure Applications and Boost IBM i Security By Robin Tatam Security. It surrounds every aspect of life in the new millennium, and it’s never going away. Human nature is such that any time we’re told there’s some- thing we shouldn’t do or somewhere we shouldn’t go, someone is always going to do exactly that and go precisely there. This is especially true when there’s something to gain by violating the rules. The proof? Barely a day passes without new headlines reporting another cyber attack, policy violation, or data breach. Secretly, we breathe a sigh of relief that it hap- pened to someone else, but most of us know that we’ll all eventually feel the impact in some capacity. Maybe it’ll manifest itself through increased bank fees, higher retail prices, or more hoops to jump through when we log in to our corporate firewall. And eventually it could—nay, it will—be us that it happens to. So who’s responsible for the security of an IBM i server and DB2 database? IBM builds the hardware and de- velops the operating system, application vendors and internal programmers write the business applications, and users maintain the corporate data. Who shoulders the responsibility for its integrity and its protection? After more than a decade of working as a security specialist, my answer is a resounding “EVERYONE!” IBM has done their part. Power Systems servers running IBM i™ have garnered an envious reputation for being some of the most securable servers on the planet, with numerous world-class integrity features. Notice I said securable instead of secure. The annual IBM i Security Study reports alarming statistics showing that most of these servers are operating with default—and largely open—security configurations. You would never assume a server running Windows is secure, and you should never assume it with one running IBM i. System users, such as programmers and administra- tors, should be managed by a combination of profile settings and good auditing controls. Application users should be managed by the applications. Ultimately, however, users will do whatever applications allow, not necessarily only what they’re designed to do. And it’s programmers who build those applications, so we have to talk about how to build a more secure application. The goal of this article is to identify important devel- opment considerations that will empower program- mers to enhance the security of our data rather than undermine it. Reprinted with permission of MC Press, LLC. All rights reserved. www.mcpressonline.com
  • 2. 13 Tips to Write Secure Applications and Boost IBM i SecurityThe PowerTech Group, Inc. www.powertech.com • info@powertech.com 1. Docu-what? Personal experience has taught me that documentation is a dirty word to many in the programming community. It hampers our simple desire to code. But documentation is also the map that guides future travelers. Without it, every enhancement and bug fix begins with a time- consuming discovery task and increases the likelihood that the application could be broken by the change. Before a single line of code is written, planning docu- ments should identify operational requirements such as these: • Application libraries • Profile ownership • Authorization lists • Authority schemes—public and private • Runtime attributes Documentation should also be embedded in the application programs. Comments should be clear, concise, and in plain English (or your language of choice). In other words, do not simply repeat what any programmer can read from looking at the code. 2. Segregate Libraries When building an application, many programmers lump all of the objects into a single library as it seems simpler on the surface. However, programs and files typically have different security requirements, and having them cohabit can make securing them more complicated. Segregating non-data objects and data objects into different libraries permits library-level security to control access. 3. “Softcode” Library Lists I was taught that hard-coding a library name into a program was a cardinal sin, but we’ve learned that search path manipulation is an easy way to wreak havoc and even circumvent security. An acceptable balance may be found by storing library names in data objects, such as data areas, so that they cannot be altered by users but can be changed without requiring modifications to the application code. 4. Own Your Objects Every object has an owner, and if you’ve ever had to delete a user’s profile, then you understand why ownership shouldn’t be retained by the programmer. Objects should never be owned by a group profile, especially one that consolidates the application users; each member would indirectly own the objects, giving them excess privileges. Instead, create a profile that has only one purpose in life: to own the application objects. Just remember, if new objects are created during the execution of the application, the program should also establish the correct ownership and authorities. Try to avoid assigning ownership to IBM- supplied profiles because if anyone—including IBM— makes a change to the profile, it might have an unpredictable impact on the application. 5. Design the Database Take time to classify the data in order to identify how stringent the access control should be. For a simple scheme, consider public, semi-public, and private. The database should be normalized to prevent information redundancy, and I recommend encrypting fields that are classified as private. Strong encryption functions are inherent within IBM i, and third-party providers can assist if code modification isn’t possible. Journaling is a popular technique that originated with application recovery and now has uses for replication and for auditing. Consider collecting before and after images of data changes in critical files and archiving that journal data according to corporate policy and compliance mandates. 6. Read the Menu Application menus were a solid approach to security back when terminal displays were the only way to access data. However, they fall flat on their face now that other interfaces exist that can facilitate direct access to the database. There’s nothing wrong with using menus to improve the user experience and to restrict user movement, but don’t rely on them to police data access. When a user steps outside the constraints of a menu, other controls such as command line restrictions, object-level security, and exit programs become even more critical.
  • 3. 13 Tips to Write Secure Applications and Boost IBM i SecurityThe PowerTech Group, Inc. www.powertech.com • info@powertech.com 7. Good Code While it seems obvious, write good code! My devel- opment career exposed me to some of the most horrendous applications I could imagine. Unwieldy programs with unmanageable top-down design, missing—or worse, inaccurate—comments, and redundant functions. Programs that are modular, concisely coded, and well-documented are easier to maintain and easier to review for unauthorized code modifications. ILE constructs make this easy. You should be taking advantage of them. 8. Public and Private Authority IBM i contains a unique concept known as *PUBLIC. This is the default level of access granted to a user who hasn’t been assigned a more specific access level. Many open configurations on servers running IBM i can be traced to the fact that IBM ships the default *PUBLIC authority level as *CHANGE, which is sufficient to read, change, and delete data in a file. Public authority is determined when the object is created from a parameter on the associated create command. By default, the command defers to a library attribute and that, in turn, defers to the QCRTAUT system value. I recommend setting the appropriate explicit value on the library as it allows different defaults to be used for each application library. The popular “deny by default” data access model calls for the public to be excluded, and the application users— or better yet, user groups—with a demonstrable need are granted private authority. 9. Authorization Lists Granting authority to hundreds or even thousands of individual objects can be an overwhelming admin- istrative chore. Authorization lists allow many objects to be addressed as a single entity and are a useful mechanism. A significant benefit of using lists is that authorities can be maintained while the associated objects are in use. This can be very beneficial in a 24/7 shop where obtaining object locks can be a monu- mental task. Just remember that *PUBLIC authority will come from the individual object unless you specify otherwise. 10. Adopted Authority and Profile Swapping Two techniques are available to allow a program to run with different authority than the user who invoked it. Instead of granting authority to individuals or even groups, authority can be elevated temporarily while the program is running, alleviating the requirement to grant authority to the users themselves. In the case of adoption, a runtime attribute on the program object controls the inheritance. Both special and private authority is culled from the owner of the program, which is beneficial if following the recommendation of using a unique profile for ownership. Profile swapping allows a user to assume the identity of another and is accomplished via calls to several easy-to-use IBM-supplied APIs. Both approaches have pros and cons, and more detailed information can be found using your search engine of choice. Overall, these are two of the most useful functions in a security- conscious programmer’s toolbox. 11. Cover Your Exits IBM i contains a registry of exit points, which are almost like subroutines in the OS’s functions. When a function is invoked, the OS can pass control temp- orarily to the assigned exit program—if one exists— to perform any ancillary task before the OS resumes control and processes the request. There are dozens of exit points in several different categories, but about 30 of them pertain to network access and should be considered critical. While object- level security remains effective during these requests, the OS can only enforce one setting across all inter- faces, so a user who can change data on a green screen can also change data through an FTP or ODBC connection. While these exit programs can be written in-house, regulatory compliance typically frowns upon self-policing, so I strongly recommend evaluating a commercial solution to selectively process and audit user requests. Preventing data leaks is a requirement shared between exit programs and object-level security.
  • 4. The PowerTech Group, Inc. www.powertech.com • info@powertech.com 13 Tips to Write Secure Applications and Boost IBM i Security C011SA4 12. Plan for High Availability System availability is often a requirement of regulatory compliance. Keeping systems running in the face of a technological disaster is a popular business initiative and one that continues to grow in popularity. When designing a new application, consider the expectation that the application may need to be replicated. A side-benefit of journaling for HA purposes is the audit and recovery trail that can be built into the application. 13. Query and Other Tools When designing a security infrastructure, consider how the application data will be accessed. Programs can use adoption to temporarily access secured files, but other tools may not have that luxury. Placing the invocation command for a native tool (e.g., WRKQRY) inside a CL “wrapper” can allow it to take advantage of the same technique. Consider authorizing some generic profiles to the authorization list to allow users to access data in a limited capacity. For example, grant *USE access to a profile named READONLY and then swap to that profile if a user needs to use ODBC or Query to view the data. If data is encrypted, native reports may have to be authored if plain text viewing or reporting is required. Summary In my capacity as an auditor, I discover vulnerabilities on hundreds of servers every year. In the vast majority of cases, these servers are poorly configured and are running applications that rely heavily on legacy security mechanisms or have no security considerations at all. Ironically, many of those same organizations blame IBM for allowing users to extract data, instead of taking responsibility and investing in the design of a secure application. Programmers are the linchpin when establishing secure applications. Regardless of whether they’re developing internal solutions or commercial products, acknowledge the risk posed by not having their cooperation, train them in security functions, and work to obtain their buy-in regarding the fact that securing an app is one of the most critical aspects of securing data and maintaining compliance.