sec835

22
SEC835 Practical aspects of security implementation Part 1

Upload: jamar

Post on 06-Jan-2016

41 views

Category:

Documents


2 download

DESCRIPTION

SEC835. Practical aspects of security implementation Part 1. Apply security services. Databases security Email security. STRIDE. Spoofing Any person or technology (Actor) component can be spoofed Tampering Data, or source code, or configuration parameters can be tampered Repudiation - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SEC835

SEC835

Practical aspects of security implementation

Part 1

Page 2: SEC835

Apply security services

Databases security

Email security

Page 3: SEC835

STRIDESpoofing

Any person or technology (Actor) component can be spoofedTampering

Data, or source code, or configuration parameters can be tamperedRepudiation

A user’s actions can be repudiatedInformation disclosure

Data, or any other information including system architectural design, are vulnerable to information disclosure

Denial of ServiceAny technology resource is vulnerable to DoS

Elevation of PrivilegesAny user or technology related level of privileges is vulnerable to elevation of privileges

Page 4: SEC835

DatabasesSpoofing:

DBAODBC driver

TamperingData Configuration parameters

Information disclosureDataDB structureODBC credentials

Denial of serviceRDB as the technology resource

Elevation of privilegesDBARPC

Page 5: SEC835

DB security

Strong access controlDatabase

Tables

Columns

In most cases RBAC has been implemented

SQL language allow runtime granting of access privileges to users or roles

Page 6: SEC835

DB securityThe GRANT command:

GRANT {privileges/role}[ON table]TO {user/role/public}[IDENTIFIED BY password][WITH GRANT OPTION]

The command allows granting of privileges and/or roles to another user or to another role thus providing a lot of flexibility in runtime privileges management

Page 7: SEC835

DB security

What to GRANT?Select – grantee is allowed to read entire DB, table, or columns

Insert – grantee may insert rows in a table, or insert rows with values for specific columns in a table

Update – similar to insert

Delete – delete rows from a table

References – grantee is allowed to define foreign keys in another table that refer to the specified columns

Page 8: SEC835

DB security

REVOKE {privileges/ role}

[ON table]

FROM {user/role/public}

Page 9: SEC835

DB security

Cascading authorizationAllow a user granting access to another user, and so on

Revoke assumes cascading revoking of access

Be aware about security issues:May be exploited to elevate privileges

Complicated grant schema may confuse revoking, leaving a user with the access granted

Page 10: SEC835

DB security

Tampering and Information DisclosureDiscrete storing

• Store sensitive data only when it is really necessary

Encryption• Symmetric encryption for confidentiality

• Hash for integrity

Strong encryption

Secure key management

Page 11: SEC835

DB encryptionEncryption may apply to

The whole tableThe attribute (column)The field (just a single cell)

Encryption makes a negative impact on the DB searching when encrypted values must be used as searching criteriaTo help, the table partitioning may apply, where each partition has the unique index used to identify the range of records

Page 12: SEC835

DB encryptionTable partitioning exampleEmployee salary is a searching criteria but must be encryptedThe table partitioning is supported by the index that is mapped to the range of rows, e.g.:

1 – values from 35K to 75K2 – values from 76 K to 95 K3 – values from 96 and up

The table rows contain encrypted values and indices that replace real values

Page 13: SEC835

DB encryption (cont.)To decrypt the table that was encrypted and partitioned the map of indices and the ranges is required in addition to encryption keysThis map must be stored on the client, not on the serverDecryption and converting data into its original value also has been performed on the clientMake sure that encryption key on client side is safe

Page 14: SEC835

DBMS technology components

Must be protected from DoS attack

Strong access control for all type of interfaces:Users

Admins

API

Bulk data loading

Strong data input validation

Protect against SQL injection attacks

Page 15: SEC835

DB backups

DB must be regularly backups

Media – tapes, or mirror servers, or both

Backups must be stored at different (remote) location

Page 16: SEC835

DB backups

Mode of backups:Full backup

Incremental – backup files changed after last backup

Differential – backup any file that are changed since the last full backup

Page 17: SEC835

Records retention

Policy exists to specify the period of keepng data available

Secure destructionShredding

Magnetic destruction

Page 18: SEC835

DB SecurityInference problem

A possibility to derive additional information from small pieces or fraction of dataFractions or pieces can be not confidential but derived data isOften may be completed by combining queries

Protection:Splitting tables and assigning fine-grained access controlSeparation of dutiesPerturbation of data

Page 19: SEC835

DB security

Privacy issueFor some databases, in particular for healthcare and financial data, personal identifiers must not be present in the records

Achieved by applying data sanitization service

That is about applying the algorithms of “masking” data in store, or in a user’s view

That is in addition to cryptography

Page 20: SEC835

Secure Email

Major threatsUnauthorized access (confidentiality, integrity)

Viruses sent with attachments

Spam

Spoofing email addresses

Page 21: SEC835

Protection

EncryptionPGP – encryption technology used to protect confidentiality, integrity and authenticate a sender. This is a hybrid technology. The following is in use:

• Public/private key (RSA)

• Secret key for symmetric encryption (AES, 3DES)

• Digital signature (MD5, SHA-1)

Page 22: SEC835

Protection

ANTI-virus protectionInstall and keep up-to-date

SpamAnti-spam software