Databases and security continued CMSC 461 Michael Wilson.

Slides:



Advertisements
Similar presentations
1 Identification Who are you? How do I know you are who you say you are?
Advertisements

SEC835 OWASP Top Ten Project.
Networks. User access and levels Most network security involves users having different levels of user access to the network. The network manager will.
Understand Database Security Concepts
CMSC 414 Computer and Network Security Lecture 12 Jonathan Katz.
1 June 1, 2015 Secure access to project budget information for OAR Principal Investigators Eugene F Burger Sylvia Scott Tracey Nakamura John L Forbes PMEL.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.
MITP 458 Application Layer Security By Techjocks.
CMSC 414 Computer and Network Security Lecture 21 Jonathan Katz.
Information Networking Security and Assurance Lab National Chung Cheng University The Ten Most Critical Web Application Security Vulnerabilities Ryan J.W.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
Lesson 9-Securing a Network. Overview Identifying threats to the network security. Planning a secure network.
Security in SQL Jon Holmes CIS 407 Fall Outline Surface Area Connection Strings Authenticating Permissions Data Storage Injections.
COEN 252: Computer Forensics Router Investigation.
Designing Security In Web Applications Andrew Tomkowiak 10/8/2013 UW-Platteville Software Engineering Department
Instant Messaging Security Flaws By: Shadow404 Southern Poly University.
OWASP Mobile Top 10 Why They Matter and What We Can Do
Security and Risk Management. Who Am I Matthew Strahan from Content Security Principal Security Consultant I look young, but I’ve been doing this for.
MS systems use one of the following: LanManager Hash (LM) LanManager Hash (LM) NT LanManager (NTLM) NT LanManager (NTLM) Cached passwords Cached passwords.
Lecture 7 Page 1 CS 236 Online Password Management Limit login attempts Encrypt your passwords Protecting the password file Forgotten passwords Generating.
Jim McLeod MyDBA  SQL Server Performance Tuning Consultant with MyDBA  Microsoft Certified Trainer with SQLskills Australia 
VPN AND SECURITY FLAWS Rajesh Perumal Clemson University.
Introduction to SQL Server 2000 Security Dave Watts CTO, Fig Leaf Software
Dan Johnson. What is a hashing function? Fingerprint for a given piece of data Typically generated by a mathematical algorithm Produces a fixed length.
SECURITY ENGINEERING 2 April 2013 William W. McMillan.
1 Chapter 11: Authentication Basics Passwords. 2 Establishing Identity Authentication: binding of identity to subject One or more of the following –What.
All Input is Evil (Part 1) Introduction Will not cover everything Healthy level of paranoia Use my DVD Swap Shop application (week 2)
Securing Your ASP.NET Application Presented by: Rob Bagby Developer Evangelist Microsoft ( )
SEC835 Runtime authentication Secure session management Secure use of cryptomaterials.
Password authentication Basic idea –User has a secret password –System checks password to authenticate user Issues –How is password stored? –How does system.
6fb52297e004844aa81be d50cc3545bc Hashing!. Hashing  Group Activity 1:  Take the message you were given, and create your own version of hashing.  You.
Operating Systems Security 1. The Boot Sequence The action of loading an operating system into memory from a powered-off state is known as booting or.
Privacy versus Authentication Confidentiality (Privacy) –Interceptors cannot read messages Authentication: proving the sender’s identity –The Problem of.
Cody Brookshear Andy Borman
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 9 1COMP9321, 15s2, Week.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
BY: CHRIS GROVES Privacy in the Voting Booth. Reason for Privacy Voters worry that their vote may be held against them in the future  People shouldn’t.
Mr. Justin “JET” Turner CSCI 3000 – Fall 2015 CRN Section A – TR 9:30-10:45 CRN – Section B – TR 5:30-6:45.
CIT 380: Securing Computer SystemsSlide #1 CIT 380: Securing Computer Systems Web Security.
Secure Authentication. SQL Injection Many web developers are unaware of how SQL queries can be tampered with SQL queries are able to circumvent access.
CSCI 530 Lab Passwords. Overview Authentication Passwords Hashing Breaking Passwords Dictionary Hybrid Brute-Force Rainbow Tables Detection.
Operating Systems Security 1. The Boot Sequence The action of loading an operating system into memory from a powered-off state is known as booting or.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
 Encryption provides confidentiality  Information is unreadable to anyone without knowledge of the key  Hashing provides integrity  Verify the integrity.
ASP.NET 2.0 Security Alex Mackman CM Group Ltd
Computer Security Sample security policy Dr Alexei Vernitski.
Over 18 yrs experience with SQL Server
Information Systems Design and Development Security Precautions Computing Science.
The Payment Card Industry Data Security Standard (PCI DSS) is a proprietary information security standard for organizations that handle branded credit.
How to Make Yourself More Secure Using Public Computers and Free Public Wi-Fi.
Lecture 19 Page 1 CS 236 Online 6. Application Software Security Why it’s important: –Security flaws in applications are increasingly the attacker’s entry.
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Common Methods Used to Commit Computer Crimes
Secure Software Confidentiality Integrity Data Security Authentication
Authentication CSE 465 – Information Assurance Fall 2017 Adam Doupé
SQL INJECTION ATTACKS.
Introduction to SQL Server 2000 Security
Security.
Web Systems Development (CSC-215)
Defense in Depth Web Server Custom HTTP Handler Input Validation
Kiran Subramanyam Password Cracking 1.
Authentication CSE 365 – Information Assurance Fall 2018 Adam Doupé
Security.
Exercise: Hashing, Password security, And File Integrity
Designing IIS Security (IIS – Internet Information Service)
6. Application Software Security
Authentication CSE 365 – Information Assurance Fall 2019 Adam Doupé
Presentation transcript:

Databases and security continued CMSC 461 Michael Wilson

Connecting to databases  There are a few pretty common ways to authenticate credentials on a database  Username/password  Pretty common way  Subject to insecurity (easy to guess user/password combo, social engineering, etc.)  System user  Have to be authenticated and logged in as a system user to even connect

System user security  When installing any server, you can configure it to run as a particular user  A good idea  Restrict the permissions that this user has  Typically done via careful crafting of initialization scripts  Oftentimes supplied with the operating system

DBMS bugs and system user security  Everything has bugs  The worst bugs allow for the execution of arbitrary code (buffer overrun)  By locking down to a specific user, you can mitigate damage to your system  Same thing for databases

Points of entry  System architecture  Topological concerns with database placement  Firewalls, exposed ports  Where should your database go?

Dependent on your application  Your database should almost NEVER be exposed to the internet at large  Classroom development aside  Behind a firewall, only a few select nodes have access to it  All about damage mitigation  Alternative applications

Mitigation  Mitigation of risk is a huge factor here  Having your database exposed to the internet at large is not a good idea  Restricting access to your database topologically helps mitigate risk  Databases typically house large amounts of customer data  Gaining access to this is oftentimes diastrous

Mitigation – data storage  That being said, people gain access to databases  Are the users of your application out of luck?  No, there are a number of precautions that we must take  Many of these options are not only good ideas, but have side effects that are beneficial to us

Password encryption and salting  Passwords should never be stored in plaintext in a database  EVER  They should be hashed and salted  Hashing – a function that is applied to the encryption that generates a hash value  Salt – random data that is concatenated to a string prior to hashing  Stored with the hashed password

Hash functions  Old hash functions ( do not use )  MD5  Still used (file verification)  Broken  SHA-1  Also broken  Newer functions: SHA-2, SHA-3  Have different levels of security  Are still viable for password hashing

Why salt?  Prevents attackers from using rainbow tables to crack user passwords en masse  Rainbow tables – precomputed tables using for reversing hash functions  Salt ensures that the hash function generated by user passwords will be unique  Even if two users have the same password, the hash will be different  Even if the salt is known, it will prevent the use of rainbow tables

A note about databases and passwords  When validating a password in the database, you hash and salt the provided password the same way and compare the stored value versus the input  Side effects:  Unlimited length passwords  Administrator does not have easy access to user passwords  Attackers do not have easy access to user passwords

Another note about passwords in databases  If you are able to click “forgot password” on a site and they can send you your plaintext password  They are storing your password in plaintext  They are insecure, and are just asking for disaster

Storing credit card info  You should be conforming to the PCI DSS security standard  ity_standards/index.php ity_standards/index.php

The gist of this  Even in the event of compromise, it should not be completely disastrous  There are many good methods in place to prevent the easy extraction of information from data stored in databases  Still a good idea to change passwords, reissue credit cards, etc.  But don’t store sensitive data without some level of security!