Non-Obvious Bugs by Example
|
|
|
- Dennis Baker
- 10 years ago
- Views:
Transcription
1 Gregor Kopf CONFidence 2011
2 What and why? Non-obvious (crypto) bugs As an example: two well-known CMS Easy to make, hard to spot Interesting to exploit Fun ;)
3 How? The process from discovery to exploitation will be shown The code part that raised suspicion Observations and initial thoughts about the code Further analysis (technical background of the bug) Exploitation
4 Let s get started: Typo3
5 What Are We Looking at? Typo3 will allow us to view (almost) arbitrary files Just use a URL like jusecure=1&juhash=31337f0023 You need to supply a hash value juhash, which typo3 verifies before file access is granted Let s look at the code!
6 The Code 1 $harr = array ( 2 $this >jumpurl, 3 t 3 l i b d i v : : GP( locationdata ), 4 t 3 l i b d i v : : GP( mimetype ), 5 $this >TYPO3 CONF VARS[ SYS ] [ encryptionkey ] 6 ) ; 7 $calcjuhash=t 3 l i b d i v : : shortmd5 ( s e r i a l i z e ( $harr ) ) ; 8 $juhash = t 3 l i b d i v : : GP( juhash ) ; 9 i f ( $juhash == $calcjuhash ) { 10 i f ( $this >locdatacheck ( $locationdata )) { 11 $this >jumpurl = rawurldecode ( $this >jumpurl ) ; 12 i f ( t 3 l i b d i v : : verifyfilenameagainstdenypattern ( $this >jumpurl ) 13 && basename( dirname ( $this >jumpurl ))!== typo3conf ) { 14 i f i s f i l e ( $this >jumpurl )) { 15 [... ] 16 r e a d f i l e ( $this >jumpurl ) ; 17 exit ; 18 }
7 Observations 1 $harr = array ( 2 $this >jumpurl, 3 t 3 l i b d i v : : GP( locationdata ), 4 t 3 l i b d i v : : GP( mimetype ), 5 $this >TYPO3 CONF VARS[ SYS ] [ encryptionkey ] 6 ) ; 7 $calcjuhash=t 3 l i b d i v : : shortmd5 ( s e r i a l i z e ( $harr ) ) ; To calculate juhash, a variable named encryptionkey is used encryptionkey is unknown to us, so we cannot supply the correct hash value. Or can we? Side note: jusecure is basically a MAC of jumpurl. It s built improperly, as encryptionkey is just appended at the end of the data.
8 shortmd5 What does shortmd5() do? 1 public s t a t i c function shortmd5 ( $input, $len =10) { 2 return substr (md5( $input ),0, $len ) ; 3 } shortmd5() returns the first 5 bytes (10 hex chars) of the MD5 hash of its input Shortening hash values is generally OK, but 5 bytes is not quite much...
9 The Equals Operator in PHP The supplied hash is compared with the computed hash using the PHP operator == That looks reasonable. However, the == operator has some issues In PHP, == is not typesafe PHP might perform nasty typecasting before the actual comparison is performed!
10 More on == From the PHP manual: 1 var dump (0 == a ) ; // 0 == 0 > true 2 var dump ( 1 == 01 ) ; // 1 == 1 > true 3 var dump ( 10 == 1e1 ) ; // 10 == 10 > true 4 var dump (100 == 1e2 ) ; // 100 == 100 > true Uh, WTF? In PHP, 100 is equal to 1e2 when using the == operator.. Nice to know ;) Side node: scientific notation 1.234e2 = = 123.4
11 The Idea What if the computed hash looks like 0e ? The comparison operator will treat it as equal to 0 (0e = = 0). If we could influence the computed hash to take the desired form, then we d know it would be equal to 0, which we could easily submit as our juhash value
12 Thoughts on the Feasibility The computed hash can be easily influenced, as jumpurl does not need to be canonical (e.g. we can just append./ to the file name) But what s the probability of hitting one of the hash values we want? Let s assume the first byte has to be 0x0e. The following nibbles would then need to be numerical (i.e. only from 0 to 9) Let s further assume MD5 generates a random distribution. There are 16 values for each nibble (0 - f). Ten of them (0-9) are OK for us. We therefore have a chance of = 5 8 that a nibble is numeric.
13 Thoughts on the Feasibility As all the nibbles are (assumed to be) independent, the ( ) overall chance for a good hash is }{{} } {{ } first byte 8 left nibbles That is about %. In other words, in average we need 5498 tries before we hit a good hash value That s not terribly much.. Actually we need even less tries, as hashes like 000e are also OK.
14 The Attack It s straight forward. Submit multiple requests for the same file For each request, prepend a./ to the filename Always submit 0 as juhash value Get some beerˆw coffee and wait for your file
15 For your Amusement The code should actually check that you don t download localconf.php, which contains encryptionkey In fact, if MAGICQUOTES GPC is disabled, it doesn t Just use a file name like typo3conf/localconf.php%00/foobar/aa Once you got the encryption key, you can calculate the correct juhash value for any file you like
16 Demo!
17 Even more fun: Joomla
18 The Code Looking through the code, one stubles upon the function genrandompassword(). Interesting :) 1 function genrandompassword ( $length = 8) { 2 $ s a l t = abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz ; 3 $len = s t r l e n ( $ s a l t ) ; 4 $makepass = ; 5 6 $stat ( FILE ) ; 7 i f (empty( $stat )! i s a r r a y ( $stat )) $stat = array (php uname ( ) ) ; 8 9 mt srand ( crc32 ( microtime (). implode (, $stat ) ) ) ; for ( $i = 0; $i < $length ; $i ++) { 12 $makepass.= $ s a l t [ mt rand (0, $len 1)]; 13 } return $makepass ; 16 }
19 Observations The used PRNG is the Mersenne Twister (seeded with 32 bit values) For each length, there are at most 2 32 passwords Reseeding the PRNG for every password is not exactly smart The seed is obtained using CRC32 CRC input values are the system time and the output of stat() The only things that change in the CRC input are the time fields CRC32 is not a cryptographic hash! Maybe the seed is predictable?
20 Impact? Even if we could predict the seed: what would it be good for? The affected function is used for generating password reset tokens: 1 // Generate a new token 2 $token = J U t i l i t y : : gethash ( JUserHelper : : genrandompassword ( ) ) ; 3 $ s a l t = JUserHelper : : getsalt ( crypt md5 ) ; 4 $hashedtoken = md5( $token. $ s a l t ). :. $ s a l t ; 5 6 $query = UPDATE # u s e r s 7. SET a c t i v a t i o n =. $db >Quote ( $hashedtoken ) 8. WHERE id =. ( i n t ) $id 9. AND block = 0 ; $db >setquery ( $query ) ; Password reset admin account fun/profit
21 gethash To generate a password reset token, the function gethash() is used: 1 function gethash ( $seed ) 2 { 3 $conf =& JFactory : : getconfig ( ) ; 4 return md5( $conf >getvalue ( config. s e c r e t ). $seed ) ; 5 } config.secret is a random string generated during the installation process genrandompassword() is used to generate config.secret 1 $vars [ s i t e U r l ] = JURI : : root ( ) ; 2 $vars [ s e c r e t ] = JUserHelper : : genrandompassword (16); 3 4 $vars [ o f f l i n e ] = JText : : ( STDOFFLINEMSG ) ;
22 Short Summary The password reset function generates a reset token and sends it out via Uses a randomly generated string Also uses an installation-specific secret key :( We need to find a way to predict the randomly generated string We also need to know the secret key Looks challenging. Let s go!
23 How to Obtain config.secret config.secret is used in a number of places Whenever you click,,remember my password, a cookie will be set. The cookie s name is determinded by the following code: 1 $crypt = new JSimpleCrypt ( $key ) ; 2 $rcookie = $crypt >encrypt ( s e r i a l i z e ( $ c r e d e n t i a l s ) ) ; 3 $ l i f e t i m e = time () ; 4 setcookie ( J U t i l i t y : : gethash ( JLOGIN REMEMBER ), $rcookie, 5 $lifetime, / ) ; gethash() is used here again, so cookie = md5(config.secret + JLOGIN REMEMBER)
24 How to Obtain config.secret config.secret is generated during the installation process using the password generation function we have already seen There are only 2 32 possible passwords, so we could build a table to look up the used seed based on the observed authentication cookie name That costs us 2 32 memory and 2 32 time Could be optimized using rainbow tables It s a great stress test and benchmark for your hardware ;)
25 Next Steps Alright, we can get config.secret. What now? We would like to predict the seed is was used to initialize the PRNG when we reset some password CRC is used to generate that seed. Let s have a closer look at CRC Cyclic Redundancy Check Based on polynomials over F 2
26 More CRC Message m is interpreted as a polynomial over F 2, taking the bits as coefficients (MSB x 0 ) CRC(m) := x N poly(m)modg for some fixed polynomal g (one can say that CRC operates on a polynomal ring) The multiplication by x N is for technical reasons. For CRC32: N = 32 Example: b 1 x x x x x 4 The message polynomal is divided by a fixed generator polynomial (polynomial division, you might remember it from school) The remainder is the CRC value
27 So? An interesting property: CRC is additive! CRC(m) + CRC(n) = CRC(m + n) Addition is of course in F 2 I.e. poly(m) + poly(n) = poly(m xor n)
28 So? To put it in other words Assume we have some message m but we only know its CRC value c We can now generate CRC values CRC(m xor n), where n is another message That means: we can selectively change bits in the message and (without even knowing the message!) obtain according CRC values Once we know one CRC value used for PRNG initialization, we could try to use it to predict future CRC values
29 The Idea Reset our own password and obtain a token Use the token to obtain the CRC value that was used to initialize the PRNG Again, there are only 2 32 possibilities The CRC value can be guessed or a (site specific, as token depends on config.secret) table can be build Use the obtained CRC value to calculate future CRC values Reset the password of the admin account and guess the token
30 Flipping the Bits The input to the CRC function was 1 crc32 ( microtime (). implode (, $stat )) Between two calls, only the first few bits in the CRC argument change More precisely, as microtime() is used in a string context, only the lower nibbles of the first few bytes can change (e.g. from 0x30 to 0x33 or so)
31 Flipping the Bits Sample output of microtime(): } {{ } fraction of seconds } {{ } system time The last two bytes of the first part are often zero If we manage to issue two password reset requests within the same 10ms, then the potentially flipped bits are represented by the following mask: 0x } {{ } 0.XX not changed 0f 0f 0f 0f } {{ } } {{ } potentially flipped low nibbles last part not changed So let s just compute the CRC of those flipped bits and add it to the CRC we already know from our token! Erm, wait. How many zeroes are there at the end? We also need to know the length of the CRC input string Unfortunately, that depends on the output of stat(), which we cannot predict
32 Finding the Original Input Length We can generate two reset tokens for our own account We know that the input to the CRC function only differs in a few bits XORing the two CRC values results in the CRC value d of the bit difference of both original inputs Both CRC inputs have an unknown length l The bit difference must have the form } {{..} } {{..}. k bits that make the difference l k zero bits
33 Finding the Original Input Length Now it gets interesting ;) Say we have the CRC d of the bit difference m and we want to find the original input length l We know the bit difference has the form m X l, i.e. only the first few bits may have changed The equation we want to solve looks like this: X 32 m X l g d Keep in mind: X, m and d are polynomials, x g y is shorthand for x = y mod g
34 Finding the Original Input Length Lucky us, in case of CRC32 g is irreducible, i.e. X 32+l is invertible We can use the extended version of euclids algorithm to compute (X 32+l ) 1, where (X 32+l ) 1 X 32+l = 1 That gives us m g d (X 32+l ) 1 If we assume m < g, then obviously m mod g = m. In that case we can therefore simply write m = d (X 32+l ) 1 Although we neither know m nor l, we can still enumerate different values for l and see if one of the resulting m will match our constraints regarding the flipped bits (only the lower nibbles are flipped) That will typically give us one or two candidates for l. Iterate the process to determine l
35 The Full Attack Log in on the target site and click,,remember my password Use the obtained cookie name to look up the value config.secret Reset your own password a couple of times Reset the password of the admin account Use the obtained tokens to get the CRC32 values that were used to initialize the PRNG Use a pre-calculated (application specific!) table Or perform a live brute force search
36 The Full Attack Use the obtained CRC32 values to calculate the length l of the input to the CRC32 function Now enumerate all possible bit differences (e.g. 0x } f 0f {{ 0f 0f }. ), and compute their CRCs l bytes Add the computed CRCs to the CRC that was used to initialize the PRNG for your own token Use the obtained CRCs to initialize the PRNG and to build tokens based on config.secret and a randomly generated string Get some beerˆw vodka and wait until you hit the right token
37 Demo!
38 Conclusions (Typo3) What went wrong? Shortening a MAC value without proper reasons We have enough bandwidth to submit full hash values ;) Using a not-typesafe comparison operator Further: forgetting about null bytes
39 Conclusions (Joomla) Using a weak PRNG 32 bit seed No entropy accumulator Frequently reseeding the PRNG Using CRC32 for cryptographic purposes
40 Contact me: mail: twitter: teh gerg
41 Sploit demo: Typo3 ~/research/typo3]$ python sploit.py /../../../../../etc/passwd [.] Done 100 tries. [+] Success after 142 tries! [+] Download link: &locationdata=1::3541&jusecure=1&juhash=0 # $FreeBSD: src/etc/master.passwd,v /06/14 02:09:06 kensmith Exp $ # root:*:0:0:charlie &:/root:/bin/csh toor:*:0:0:bourne-again Superuser:/root: daemon:*:1:1:owner of many system processes:/root:/usr/sbin/nologin operator:*:2:5:system &:/:/usr/sbin/nologin [...]
42 Sploit demo: Joomla ~/research/joomla]$ python feierandforget.py /joomla [+] Getting cookie.. [+] Cookie = 0adafef00f88ef16c63573cbc80ec425= ade f5c36186bfa4489d57c6 [+] Got remember cookie: 8dfa83e4cf5cae043b797a3c2a9fdee4 [+] Looking it up in the tables:... [+] CRC value 0xD5E47F7E was used to generate config.secret [+] config.secret = OYHDHQbgoYMSETeT [+] Precomputed tables found! Going on. [+] Establishing new session.. [+] Reset requests sent. Check your mail! [.] Please enter token 1: c13308a6e411f270ce39b4a80d4ca591 [.] Please enter token 2: 241a bae9bfa8cc28ba2a425f3 [+] Thanks. Now looking up token1 in the specific tables:... [+] Found token1. CRC = 0x129FACBB [+] Now for token2:... [+] Found token2. CRC = 0x24083D4E [+] CRC pre-image length: 176 [+] Please, only one more token: 0daacacae08c aeb94d5d
43 Sploit demo: Joomla (contd.) [X] Time to try: python brutetoken.py OYHDHQbgoYMSETeT 0x f0f0f0f\ /joomla admin ~/research/joomla]$ python brutetoken.py\ OYHDHQbgoYMSETeT 0x \ f0f0f0f \ /joomla admin [+] Getting cookie.. [+] Cookie = 0adafef00f88ef16c63573cbc80ec425= 4f891a91a889f e50fbe [+] Got hidden field: 51e2a6f3a5e0d ae97bb98b3... Your username / token: admin / b3b729db e12da1c32e URL &view=reset&layout=confirm
Using Foundstone CookieDigger to Analyze Web Session Management
Using Foundstone CookieDigger to Analyze Web Session Management Foundstone Professional Services May 2005 Web Session Management Managing web sessions has become a critical component of secure coding techniques.
Network Security. Security of Wireless Local Area Networks. Chapter 15. Network Security (WS 2002): 15 Wireless LAN Security 1 Dr.-Ing G.
Network Security Chapter 15 Security of Wireless Local Area Networks Network Security WS 2002: 15 Wireless LAN Security 1 IEEE 802.11 IEEE 802.11 standardizes medium access control MAC and physical characteristics
Client Server Registration Protocol
Client Server Registration Protocol The Client-Server protocol involves these following steps: 1. Login 2. Discovery phase User (Alice or Bob) has K s Server (S) has hash[pw A ].The passwords hashes are
Cracking Salted Hashes
Overview: Cracking Salted Hashes Web Application Security: - The Do s and Don ts of Salt Cryptography Data Base security has become more critical as Databases have become more open. And Encryption which
The Misuse of RC4 in Microsoft Word and Excel
The Misuse of RC4 in Microsoft Word and Excel Hongjun Wu Institute for Infocomm Research, Singapore [email protected] Abstract. In this report, we point out a serious security flaw in Microsoft
Practice Questions. CS161 Computer Security, Fall 2008
Practice Questions CS161 Computer Security, Fall 2008 Name Email address Score % / 100 % Please do not forget to fill up your name, email in the box in the midterm exam you can skip this here. These practice
Computer Networks. Network Security and Ethics. Week 14. College of Information Science and Engineering Ritsumeikan University
Computer Networks Network Security and Ethics Week 14 College of Information Science and Engineering Ritsumeikan University Security Intro for Admins l Network administrators can break security into two
What is Web Security? Motivation
[email protected] http://www.brucker.ch/ Information Security ETH Zürich Zürich, Switzerland Information Security Fundamentals March 23, 2004 The End Users View The Server Providers View What is Web
Identifying and Exploiting Padding Oracles. Brian Holyfield Gotham Digital Science
Identifying and Exploiting Padding Oracles Brian Holyfield Gotham Digital Science Session ID: ASEC-403 Session Classification: Intermediate What is a Padding Oracle? We re a SQL Server Shop, we don t use
Capture Resilient ElGamal Signature Protocols
Capture Resilient ElGamal Signature Protocols Hüseyin Acan 1, Kamer Kaya 2,, and Ali Aydın Selçuk 2 1 Bilkent University, Department of Mathematics [email protected] 2 Bilkent University, Department
best practices for encryption in android
best practices for encryption in android SUBHEADER VALUE PROPOSTION STATEMENT GOES HERE developer.motorola.com/enterprise WHITE PAPER BEST PRACTICES FOR ENCRYPTION IN ANDROID 2 introduction Android has
Lecture 9 - Message Authentication Codes
Lecture 9 - Message Authentication Codes Boaz Barak March 1, 2010 Reading: Boneh-Shoup chapter 6, Sections 9.1 9.3. Data integrity Until now we ve only been interested in protecting secrecy of data. However,
1. Building Testing Environment
The Practice of Web Application Penetration Testing 1. Building Testing Environment Intrusion of websites is illegal in many countries, so you cannot take other s web sites as your testing target. First,
PHP Magic Tricks: Type Juggling. PHP Magic Tricks: Type Juggling
Who Am I Chris Smith (@chrismsnz) Previously: Polyglot Developer - Python, PHP, Go + more Linux Sysadmin Currently: Pentester, Consultant at Insomnia Security Little bit of research Insomnia Security Group
Password Manager with 3-Step Authentication System
Password Manager with 3-Step Authentication System Zhelyazko Petrov, Razvan Ragazan University of Westminster, London [email protected], [email protected] Abstract: A big
Midterm 2 exam solutions. Please do not read or discuss these solutions in the exam room while others are still taking the exam.
CS 161 Computer Security Spring 2010 Paxson/Wagner MT2 Solns Midterm 2 exam solutions Please do not read or discuss these solutions in the exam room while others are still taking the exam. CS 161, Spring
CSC 474 -- Network Security. User Authentication Basics. Authentication and Identity. What is identity? Authentication: verify a user s identity
CSC 474 -- Network Security Topic 6.2 User Authentication CSC 474 Dr. Peng Ning 1 User Authentication Basics CSC 474 Dr. Peng Ning 2 Authentication and Identity What is identity? which characteristics
Windows passwords security
IT Advisory Windows passwords security ADVISORY WHOAMI 2 Agenda The typical windows environment Local passwords Secure storage mechanims: Syskey & SAM File Password hashing & Cracking: LM & NTLM Into the
Check list for web developers
Check list for web developers Requirement Yes No Remarks 1. Input Validation 1.1) Have you done input validation for all the user inputs using white listing and/or sanitization? 1.2) Does the input validation
Lecture 10: CPA Encryption, MACs, Hash Functions. 2 Recap of last lecture - PRGs for one time pads
CS 7880 Graduate Cryptography October 15, 2015 Lecture 10: CPA Encryption, MACs, Hash Functions Lecturer: Daniel Wichs Scribe: Matthew Dippel 1 Topic Covered Chosen plaintext attack model of security MACs
Louis <[email protected]> Luke <[email protected]>
Louis Luke SELECT user FROM mysql.user LIMIT 2 Security consultants working for Securus Global in Melbourne Have done/are doing a lot a web pentesting
Randomized Hashing for Digital Signatures
NIST Special Publication 800-106 Randomized Hashing for Digital Signatures Quynh Dang Computer Security Division Information Technology Laboratory C O M P U T E R S E C U R I T Y February 2009 U.S. Department
PHP Authentication Schemes
7 PHP Authentication Schemes IN THIS CHAPTER Overview Generating Passwords Authenticating User Against Text Files Authenticating Users by IP Address Authenticating Users Using HTTP Authentication Authenticating
Data Breaches and Web Servers: The Giant Sucking Sound
Data Breaches and Web Servers: The Giant Sucking Sound Guy Helmer CTO, Palisade Systems, Inc. Lecturer, Iowa State University @ghelmer Session ID: DAS-204 Session Classification: Intermediate The Giant
Project 2: Web Security Pitfalls
EECS 388 September 19, 2014 Intro to Computer Security Project 2: Web Security Pitfalls Project 2: Web Security Pitfalls This project is due on Thursday, October 9 at 6 p.m. and counts for 8% of your course
RFG Secure FTP. Web Interface
RFG Secure FTP Web Interface Step 1: Getting to the Secure FTP Web Interface: Open your preferred web browser and type the following address: http://ftp.raddon.com After you hit enter, you will be taken
Attacking MongoDB. Firstov Mihail
Attacking MongoDB Firstov Mihail What is it? MongoDB is an open source document-oriented database system. Features : 1. Ad hoc queries. 2. Indexing 3. Replication 4. Load balancing 5. File storage 6. Aggregation
Auditing a Web Application. Brad Ruppert. SANS Technology Institute GWAS Presentation 1
Auditing a Web Application Brad Ruppert SANS Technology Institute GWAS Presentation 1 Objectives Define why application vulnerabilities exist Address Auditing Approach Discuss Information Interfaces Walk
CUNSHENG DING HKUST, Hong Kong. Computer Security. Computer Security. Cunsheng DING, HKUST COMP4631
Cunsheng DING, HKUST Lecture 08: Key Management for One-key Ciphers Topics of this Lecture 1. The generation and distribution of secret keys. 2. A key distribution protocol with a key distribution center.
Authentication requirement Authentication function MAC Hash function Security of
UNIT 3 AUTHENTICATION Authentication requirement Authentication function MAC Hash function Security of hash function and MAC SHA HMAC CMAC Digital signature and authentication protocols DSS Slides Courtesy
Bypassing Local Windows Authentication to Defeat Full Disk Encryption. Ian Haken
Bypassing Local Windows Authentication to Defeat Full Disk Encryption Ian Haken Who Am I? Currently a security researcher at Synopsys, working on application security tools and Coverity s static analysis
Applying Cryptography as a Service to Mobile Applications
Applying Cryptography as a Service to Mobile Applications SESSION ID: CSV-F02 Peter Robinson Senior Engineering Manager RSA, The Security Division of EMC Introduction This presentation proposes a Cryptography
Princeton University Computer Science COS 432: Information Security (Fall 2013)
Princeton University Computer Science COS 432: Information Security (Fall 2013) This test has 13 questions worth a total of 50 points. That s a lot of questions. Work through the ones you re comfortable
Advanced PostgreSQL SQL Injection and Filter Bypass Techniques
Advanced PostgreSQL SQL Injection and Filter Bypass Techniques INFIGO-TD TD-200 2009-04 2009-06 06-17 Leon Juranić [email protected] INFIGO IS. All rights reserved. This document contains information
Top 10 Web Application Security Vulnerabilities - with focus on PHP
Top 10 Web Application Security Vulnerabilities - with focus on PHP Louise Berthilson Alberto Escudero Pascual 1 Resources The Top 10 Project by OWASP www.owasp.org/index.php/owasp_top_ten_project
Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography (Revised)
NIST Special Publication 800-56A Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography (Revised) Elaine Barker, Don Johnson, and Miles Smid C O M P U T E R S E C
Recon and Mapping Tools and Exploitation Tools in SamuraiWTF Report section Nick Robbins
Recon and Mapping Tools and Exploitation Tools in SamuraiWTF Report section Nick Robbins During initial stages of penetration testing it is essential to build a strong information foundation before you
Web Application Guidelines
Web Application Guidelines Web applications have become one of the most important topics in the security field. This is for several reasons: It can be simple for anyone to create working code without security
Keywords Cloud Computing, CRC, RC4, RSA, Windows Microsoft Azure
Volume 3, Issue 11, November 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Cloud Computing
Connected from everywhere. Cryptelo completely protects your data. Data transmitted to the server. Data sharing (both files and directory structure)
Cryptelo Drive Cryptelo Drive is a virtual drive, where your most sensitive data can be stored. Protect documents, contracts, business know-how, or photographs - in short, anything that must be kept safe.
OPENID AUTHENTICATION SECURITY
OPENID AUTHENTICATION SECURITY Erik Lagercrantz and Patrik Sternudd Uppsala, May 17 2009 1 ABSTRACT This documents gives an introduction to OpenID, which is a system for centralised online authentication.
Fundamentals of Computer Security
Fundamentals of Computer Security Spring 2015 Radu Sion Intro Encryption Hash Functions A Message From Our Sponsors Fundamentals System/Network Security, crypto How do things work Why How to design secure
Session Management in Web Applications
Session Management in Web Applications Author: EUROSEC GmbH Chiffriertechnik & Sicherheit Tel: 06173 / 60850, www.eurosec.com EUROSEC GmbH Chiffriertechnik & Sicherheit, 2005 What is Web-based Session
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
Introduction to Computer Security
Introduction to Computer Security Authentication and Access Control Pavel Laskov Wilhelm Schickard Institute for Computer Science Resource access: a big picture 1. Identification Which object O requests
Web application security
Web application security Sebastian Lopienski CERN Computer Security Team openlab and summer lectures 2010 (non-web question) Is this OK? int set_non_root_uid(int uid) { // making sure that uid is not 0
Thick Client Application Security
Thick Client Application Security Arindam Mandal ([email protected]) (http://www.paladion.net) January 2005 This paper discusses the critical vulnerabilities and corresponding risks in a two
Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu
UT DALLAS Erik Jonsson School of Engineering & Computer Science Overview of Cryptographic Tools for Data Security Murat Kantarcioglu Pag. 1 Purdue University Cryptographic Primitives We will discuss the
Criteria for web application security check. Version 2015.1
Criteria for web application security check Version 2015.1 i Content Introduction... iii ISC- P- 001 ISC- P- 001.1 ISC- P- 001.2 ISC- P- 001.3 ISC- P- 001.4 ISC- P- 001.5 ISC- P- 001.6 ISC- P- 001.7 ISC-
Network Security. Security of Wireless Local Area Networks. Chapter 15. Network Security (WS 2003): 15 Wireless LAN Security 1. Dr.-Ing G.
Network Security Chapter 15 Security of Wireless Local Area Networks Network Security (WS 2003: 15 Wireless LAN Security 1 IEEE 802.11 IEEE 802.11 standardizes medium access control (MAC and physical characteristics
SECURING SELF-SERVICE PASSWORD RESET
SECURING SELF-SERVICE PASSWORD RESET FUNCTIONALITY IN WEB APPLICATIONS David A. Shpritz July, 2010 INTRODUCTION Many web applications requiring user authentication also provide self-service password reset
Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering
Network Security Gaurav Naik Gus Anderson, Philadelphia, PA Lectures on Network Security Feb 12 (Today!): Public Key Crypto, Hash Functions, Digital Signatures, and the Public Key Infrastructure Feb 14:
INTRUSION PROTECTION AGAINST SQL INJECTION ATTACKS USING REVERSE PROXY
INTRUSION PROTECTION AGAINST SQL INJECTION ATTACKS USING REVERSE PROXY Asst.Prof. S.N.Wandre Computer Engg. Dept. SIT,Lonavala University of Pune, [email protected] Gitanjali Dabhade Monika Ghodake Gayatri
CS 758: Cryptography / Network Security
CS 758: Cryptography / Network Security offered in the Fall Semester, 2003, by Doug Stinson my office: DC 3122 my email address: [email protected] my web page: http://cacr.math.uwaterloo.ca/~dstinson/index.html
Cryptography and Network Security. Prof. D. Mukhopadhyay. Department of Computer Science and Engineering. Indian Institute of Technology, Kharagpur
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Module No. # 01 Lecture No. # 12 Block Cipher Standards
CSCI110 Exercise 4: Database - MySQL
CSCI110 Exercise 4: Database - MySQL The exercise This exercise is to be completed in the laboratory and your completed work is to be shown to the laboratory tutor. The work should be done in week-8 but
802.11 Security (WEP, WPA\WPA2) 19/05/2009. Giulio Rossetti Unipi [email protected]
802.11 Security (WEP, WPA\WPA2) 19/05/2009 Giulio Rossetti Unipi [email protected] 802.11 Security Standard: WEP Wired Equivalent Privacy The packets are encrypted, before sent, with a Secret Key
Network Security: Cryptography CS/SS G513 S.K. Sahay
Network Security: Cryptography CS/SS G513 S.K. Sahay BITS-Pilani, K.K. Birla Goa Campus, Goa S.K. Sahay Network Security: Cryptography 1 Introduction Network security: measure to protect data/information
Authenticating Humans
29 Oct 2015 CSCD27 Computer and Network Security Authenticating Humans CSCD27 Computer and Network Security 1 Authenticating Computers and Programs Computers and programs need to authenticate one another:
MarshallSoft AES. (Advanced Encryption Standard) Reference Manual
MarshallSoft AES (Advanced Encryption Standard) Reference Manual (AES_REF) Version 3.0 May 6, 2015 This software is provided as-is. There are no warranties, expressed or implied. Copyright (C) 2015 All
3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management
What is an? s Ten Most Critical Web Application Security Vulnerabilities Anthony LAI, CISSP, CISA Chapter Leader (Hong Kong) [email protected] Open Web Application Security Project http://www.owasp.org
Understanding the Windows SMB NTLM Authentication Weak Nonce Vulnerability
Understanding the Windows SMB NTLM Authentication Weak Nonce Vulnerability Hernan Ochoa [email protected] Agustin Azubel [email protected] September, 2010 Presentation goals: Describe
The finite field with 2 elements The simplest finite field is
The finite field with 2 elements The simplest finite field is GF (2) = F 2 = {0, 1} = Z/2 It has addition and multiplication + and defined to be 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 0 0 = 0 0 1 = 0
Hash Functions. Integrity checks
Hash Functions EJ Jung slide 1 Integrity checks Integrity vs. Confidentiality! Integrity: attacker cannot tamper with message! Encryption may not guarantee integrity! Intuition: attacker may able to modify
Hash Function JH and the NIST SHA3 Hash Competition
Hash Function JH and the NIST SHA3 Hash Competition Hongjun Wu Nanyang Technological University Presented at ACNS 2012 1 Introduction to Hash Function Hash Function Design Basics Hash function JH Design
Message authentication and. digital signatures
Message authentication and " Message authentication digital signatures verify that the message is from the right sender, and not modified (incl message sequence) " Digital signatures in addition, non!repudiation
Ch.9 Cryptography. The Graduate Center, CUNY.! CSc 75010 Theoretical Computer Science Konstantinos Vamvourellis
Ch.9 Cryptography The Graduate Center, CUNY! CSc 75010 Theoretical Computer Science Konstantinos Vamvourellis Why is Modern Cryptography part of a Complexity course? Short answer:! Because Modern Cryptography
One Time Password Generation for Multifactor Authentication using Graphical Password
One Time Password Generation for Multifactor Authentication using Graphical Password Nilesh B. Khankari 1, Prof. G.V. Kale 2 1,2 Department of Computer Engineering, Pune Institute of Computer Technology,
Securing Host Operations with a Dedicated Cryptographic IC - CryptoCompanion
Securing Host Operations with a Dedicated Cryptographic IC - CryptoCompanion By Kerry Maletsky, Business Unit Director Crypto Products Summary There is a growing need for strong hardware security devices
CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives
CIS 6930 Emerging Topics in Network Security Topic 2. Network Security Primitives 1 Outline Absolute basics Encryption/Decryption; Digital signatures; D-H key exchange; Hash functions; Application of hash
1 Step 1: Select... Files to Encrypt 2 Step 2: Confirm... Name of Archive 3 Step 3: Define... Pass Phrase
Contents I Table of Contents Foreword 0 Part I Introduction 2 1 What is?... 2 Part II Encrypting Files 1,2,3 2 1 Step 1: Select... Files to Encrypt 2 2 Step 2: Confirm... Name of Archive 3 3 Step 3: Define...
Symmetric and Public-key Crypto Due April 14 2015, 11:59PM
CMSC 414 (Spring 2015) 1 Symmetric and Public-key Crypto Due April 14 2015, 11:59PM Updated April 11: see Piazza for a list of errata. Sections 1 4 are Copyright c 2006-2011 Wenliang Du, Syracuse University.
PHP/MySQL SQL Injections: Understanding MySQL Union Poisoining. Jason A. Medeiros :: CEO :: Presented for DC619 All Content Grayscale Research 2008
PHP/MySQL SQL Injections: Understanding MySQL Union Poisoining Jason A. Medeiros :: CEO :: Presented for DC619 All Content Grayscale Research 2008 Typical MySQL Deployment Most MySQL deployments sit on
9243054 Issue 1. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation
9243054 Issue 1 Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation VPN Client User s Guide 9243054 Issue 1 Reproduction, transfer, distribution or storage of part or all of
A NEW HASH ALGORITHM: Khichidi-1
A NEW HASH ALGORITHM: Khichidi-1 Abstract This is a technical document describing a new hash algorithm called Khichidi-1 and has been written in response to a Hash competition (SHA-3) called by National
1.2 Using the GPG Gen key Command
Creating Your Personal Key Pair GPG uses public key cryptography for encrypting and signing messages. Public key cryptography involves your public key which is distributed to the public and is used to
Lecture 11 Web Application Security (part 1)
Lecture 11 Web Application Security (part 1) Computer and Network Security 4th of January 2016 Computer Science and Engineering Department CSE Dep, ACS, UPB Lecture 11, Web Application Security (part 1)
Eyes on IZON: Surveilling IP Camera Security
Eyes on IZON: Surveilling IP Camera Security SESSION ID: HTA-F03A Mark Stanislav Security Evangelist Duo Security @markstanislav What is an IZON? IP enabled web camera that is fully managed from your ios-based
CSOS Certificate Support Guide. Version: 1.1 Published: October 1, 2006 Publisher: CSOS Certification Authority
Version: 1.1 Published: October 1, 2006 Publisher: CSOS Certification Authority Document Revision History Version # Revision Sections Summary of Changes Initials Date Affected 1.0 4/27/2006 All Version
NetBrain Discovery Appliance Manual
NetBrain Discovery Appliance Manual NetBrain Technologies, Inc. 2009-07-20-1 - Table of Contents 1. Overview... 4 2. Installation... 5 2.1 Installation Software... 5 2.1.1 Install ActivePerl... 5 2.1.2
CIS433/533 - Computer and Network Security Cryptography
CIS433/533 - Computer and Network Security Cryptography Professor Kevin Butler Winter 2011 Computer and Information Science A historical moment Mary Queen of Scots is being held by Queen Elizabeth and
Introduction...3 Terms in this Document...3 Conditions for Secure Operation...3 Requirements...3 Key Generation Requirements...
Hush Encryption Engine White Paper Introduction...3 Terms in this Document...3 Conditions for Secure Operation...3 Requirements...3 Key Generation Requirements...4 Passphrase Requirements...4 Data Requirements...4
CS 161 Computer Security Spring 2010 Paxson/Wagner MT2
CS 161 Computer Security Spring 2010 Paxson/Wagner MT2 PRINT your name:, (last) SIGN your name: (first) PRINT your class account login: cs161- Your T s name: Your section time: Name of the person sitting
iscsi Security (Insecure SCSI) Presenter: Himanshu Dwivedi
iscsi Security (Insecure SCSI) Presenter: Himanshu Dwivedi Agenda Introduction iscsi Attacks Enumeration Authorization Authentication iscsi Defenses Information Security Partners (isec) isec Partners Independent
Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security
Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security Presented 2009-05-29 by David Strauss Thinking Securely Security is a process, not
Still Aren't Doing. Frank Kim
Ten Things Web Developers Still Aren't Doing Frank Kim Think Security Consulting Background Frank Kim Consultant, Think Security Consulting Security in the SDLC SANS Author & Instructor DEV541 Secure Coding
Key Hopping A Security Enhancement Scheme for IEEE 802.11 WEP Standards
White Paper Key Hopping A Security Enhancement Scheme for IEEE 802.11 WEP Standards By Dr. Wen-Ping Ying, Director of Software Development, February 2002 Introduction Wireless LAN networking allows the
Internet Banking Two-Factor Authentication using Smartphones
Internet Banking Two-Factor Authentication using Smartphones Costin Andrei SOARE IT&C Security Master Department of Economic Informatics and Cybernetics Bucharest University of Economic Studies, Romania
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory
System Security Fundamentals
System Security Fundamentals Alessandro Barenghi Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano alessandro.barenghi - at - polimi.it April 28, 2015 Lesson contents Overview
Format string exploitation on windows Using Immunity Debugger / Python. By Abysssec Inc WwW.Abysssec.Com
Format string exploitation on windows Using Immunity Debugger / Python By Abysssec Inc WwW.Abysssec.Com For real beneficiary this post you should have few assembly knowledge and you should know about classic
HireDesk API V1.0 Developer s Guide
HireDesk API V1.0 Developer s Guide Revision 1.4 Talent Technology Corporation Page 1 Audience This document is intended for anyone who wants to understand, and use the Hiredesk API. If you just want to
SQL Injection Attack Lab Using Collabtive
Laboratory for Computer Security Education 1 SQL Injection Attack Lab Using Collabtive (Web Application: Collabtive) Copyright c 2006-2011 Wenliang Du, Syracuse University. The development of this document
Security in Android apps
Security in Android apps Falco Peijnenburg (3749002) August 16, 2013 Abstract Apps can be released on the Google Play store through the Google Developer Console. The Google Play store only allows apps
Evaluation of Digital Signature Process
Evaluation of Digital Signature Process Emil SIMION, Ph. D. email: [email protected] Agenda Evaluation of digital signatures schemes: evaluation criteria; security evaluation; security of hash functions;
