Essentials of Application Security
Essentials of Application Security
Security
Name
Job Title
Company
What We Will Cover
Level 200
Agenda
Organizational
Attacks Attackers
Automated
Restricted Attacks
Data
DoS
Accidental
Connection Fails
Breaches
In Security Denial of
Viruses, Service
Trojan (DoS)
Horses,
and
Examples of Security Intrusions
CodeRed
ILoveYou
Nimda
Virus
Attacker
Consequences of Poor Security
Do I
Developers and management think that security
need
securi
does not add any business value
ty…
Addressing vulnerabilities just before a product is
ecurity As an Afterthoughtreleased is very expensive
The Developer Role in Application
Security
Developers must:
Work with solution architects and systems
administrators to ensure application
security
Contribute to security by:
Adopting good application security development
practices
Knowing where security vulnerabilities occur
and how to avoid them
Using secure programming techniques
Agenda
SD3
Secure architecture and code
Secure Threat analysis
by Design Vulnerability reduction
Buffer overruns
SQL injection
Cross-site scripting
User A User B
Data Hash
Algorith
Hash Value
m
If hash
values
Hash Algorithm match, data
is valid
Data
Data
Hash Value
Hash Value
User A sends data
and hash value to
User B
Digital Signatures
User A User B
Hash
Algorithm
Data
Data
Hash
Algorithm
User
A
Publ
ic Hash Value
Key
Hash Value
If hash values
User match, data
A came from the
Priv owner of the
ate Hash Value
private key and
key
is valid
How Digital Certificates Work
Privat
User e KeyPrivate/Public
Key Pair
Computer
Publi
c
Key
Service
Application
Certificati
on
Authority
Certified
Administr
ator
Secure Communication
Technologies
Technologies include:
IPSec
SSL
TLS
RPC encryption
SSL/TLS IPSec
RPC Encryption
Secure Communication
How IPSec Works
IPSec IPSec
Policy Policy
Security
Association
Negotiation
TCP TCP
Layer Layer
IPSec IPSec
Driver Driver
Encrypted IP
Packets
Secure Communication
How SSL Works
2 Web Server Message
Root Certificate
Secure Secure
Brows Web 3
er 4 Server
HTTPS
1
The user browses to a secure Web server by
using HTTPS
1
The browser creates a unique session key
and encrypts it by using the Web server’s
2 public key, which is generated from the root
certificate
3 The Web server receives the session key and
decrypts it by using the server’s private key
4 After the connection is established, all
communication between the browser and
Demonstration 2
SSL Server Certificates
Viewing a Web Site on a Non-Secure Server
Generating a Certificate Request
Requesting a Trial Certificate
Installing the SSL Certificate
Testing the SSL Certificate
Authentication
Purpose of Authentication
Verifies the identity of a principal by:
Accepting credentials
Validating those credentials
Secures communications by ensuring
your application knows who the caller is
6
1 Request
Challenge
X$!87ghy5
2
4
Client Password
X$!87ghy5
3
Digest Algorithm
Authentication
Client Digital Certificates
Used in Web applications
Server secures communications using SSL/TLS with
a X.509 server certificate
Server authenticates clients using data in client
X.509 certificate, if required
Certificate authority issues a certificate for which
the server holds a root certificate
Used in distributed applications
Application uses SSL/TLS communication channel
Client and server applications authenticate using
certificates
Can be deployed on smartcards
Authentication
When to Use Integrated Authentication
Firewall
No Cannot
Intranet? use
Integrate
Client d
Yes Authentic
ation
Windows 2000 No NTLM
Or later? Server
Authentica
tion
Windows Yes
Integrated
No
Active Directory
Domain?
Kerberos
Yes Client and
Server
Authentication
How to Use Kerberos Version 5
Initial Logon Service Request
KDC KDC
2
2
ST
TGT Target
TGT
1 Server
3
1
ST
3 4
TGT
Client cached Client Session
locally established
Ticket-Granting Ticket ST
TGT Service Ticket
Demonstration 3
IIS Authentication Techniques
Web or Database or
Application other resource
Server server
A A
B B
C C
Authorization
Trusted Subsystem Model
Web or Database or
Application other resource
Server server
A Role 1
1
B
Role
C 2 2
Demonstration 4
Trusted Subsystem Model
Authorization Techniques
Reviewing the Application
Setting Authentication on the Web Server
Creating Service Accounts on the Web Server
Setting Authorization on the Database Server
Firewalls
Security
Description
update