Tag Info

New answers tagged

0

In addition to Falcon's excellent answer: [colin@localhost ~]$ time dd if=/dev/random of=/dev/null iflag=fullblock count=10 bs=32 10+0 records in 10+0 records out 320 bytes (320 B) copied, 32.0067 s, 0.0 kB/s 0.00user 0.00system 0:32.00elapsed 0%CPU (0avgtext+0avgdata 3104maxresident)k 0inputs+0outputs (0major+249minor)pagefaults 0swaps [colin@localhost ...


4

The behaviour of OpenSSL, as a library, is documented in the man page for SSL_CTX_set_tmp_dh_callback(). Basically, the library itself contains no pre-generated DH parameters and will refuse to do any "DHE" handshake until such parameters have been provided. The caller (the application which uses OpenSSL for running an SSL server) may provide DH parameters ...


0

Php can determine what is browsers is running and other system detail by running a bit of code. Try to identify the MAC address of each computer by php, so only known computers can gain access.


0

There's a very interesting use case in this other answer, using client-side certificates: Why would the BBC web site always ask for a personal certificate, and how do I avoid giving it away? Another quick-and-dirty option might be implementing a VPN and shifting the domain of the problem from PHP to system administration. This might prove useful if, in the ...


0

thats long story, can't comment so leave as link here Using SSL Client Certificates with PHP also you may take look at apache SSLRequire Directive may a bit sorter story also PHP OpenSSL module php.net/openssl plenty of stuff around that question


0

You could setup SSL and create your own certificate. I believe there is an option to create something like client approved certificates. That means that you need to install the client part of the certificate on the client (the browser). If the client doesn't have this installed, it won't work. To be honest - this is something that I read about last week, ...


2

You have not found a bug in OpenSSL, not a real one. You may have found a gap in your understanding, though. Namely, encryption works on bytes and produces bytes. What you see with your eyes are characters. In order to accommodate character-oriented devices (e.g. your eyes), OpenSSL applies an extra encoding on the encryption output: it takes the bytes and ...


0

Limiting access for the web browser (user-agent) is something that is very easy to manipulate using a tool like Tamper data. You can change the header to make it look like the request is coming from any browser you want. If you want to make sure they can only access the website from the office (if this is one location) you could restrict access based on IP ...


0

If you are using PHP web application, you can use this function to check client browser.


0

The trailing == is the Base64 indicator for the end of the encoded data. There's a technical difference between ending with = and ==, involving how many bytes are in the last block (24 bits), but your bytes may line up such that it doesn't matter. You're causing OpenSSL to interpret your Base64 string as 3/mEwtZdIuIV5wwsQAcnAw= with some trailing garbage. ...


0

On the server, it's easy to check the headers of each HTTP request (the User-Agent header, in your case) and redirect to a landing page that explains why the browser can't be used, and which browsers are supported. You'll need to install a form of authentication to validate requests originating from unauthorized clients. Installing an X.509 certificate on ...


1

OpenSSL-0.9.8 is old (from 2005) and support for elliptic curves was not completely added at that point, especially for the command-line tools. OpenSSL is primarily a library; the command-line tools are provided for testing, but are often lagging in functionality. The "normal" way to use OpenSSL is programmatically, by writing C code which calls the library. ...


0

The server has to decrypt the information. Once it is decrypted, it is in the server's process memory in plaintext. Then it would be leaked by heartbleed. Furthermore, the server must have the decryption key. So it would likely be stored in the process memory and would be recoverable via heartbleed attacks.


0

The openssl in ubuntu does not support TLSv1.2, They have disabled it. It is documented in bug 1256576


0

I believe the attacker could theoretically retrieve the public keys for the servers SSL/TLS, MITM the session, and then compromise the JS library you send to the client. However, that's a pretty elaborate hack and (given the near 100% effectiveness of SSLStrip) probably wouldn't be worth the effort. So yes, it would help mitigate the issue, just not 100%. ...


1

The key generation code is the same in all three cases anyway. This is just a matter of command-line interface. For most usages, I recommend generating the private key with req because then that's only one command line to generate the key and the certificate request. All other things being equal, less complexity makes for more security.


0

The ECDHE-RSA-AES128-SHA cipher suite means that the key exchange will use a dynamically generate ECDH key pair, that the server will sign with its own RSA private key. The server's certificate will thus contain a RSA public key, regardless of how that certificate was signed by its CA. I suppose that the certificate you use contains an EC key pair, thus not ...


0

If I resume correctly your situation in the below drawing (sorry for ugliness) : Then, you are not at risk, as the data between your customers -> the provider -> your servers goes unencrypted and then does not go through the OpenSSL process memory. The vulnerable server can still be exploited to dump private keys / customer data for other users and other ...


0

There was an answer here that has since been deleted that was really interesting, at least in the comments it provoked. Essentially, the answererer was (not very clearly) trying to say that each new allocation of buffer to read the heartbeat from changes the start address, and because you are able to run the attack many times, you are able to randomly pull ...


-1

You are using ECC with ecdsa-cert.crt, so you should specify command option -cipher ECDHE-ECDSA-AES128-SHA.


3

All of the answers to this question helped me. What confused me was that the library name of OpenSSL isn't actually the real version number. OpenVPN has its own statically linked OpenSSL library and the name of the library was libssl.so.1.0.0. It turns out this library executable isn't actually version 1.0.0, is vulnerable, and needed to be upgraded. See: ...


1

If you browse the Crypto.js source, it does not implement TLS (or SSL), and as such can't implement the TLS extension Heartbeats. By not implementing TLS or Heartbeats, it can't have the Heartbeat vulnerability exploited by Heartbleed (trusting the payload length in a HB request even if its longer than the original message and echoing back that much data). ...


1

Let's assume, for an instant, that you really need to "re-key your Web servers" because of the heartbleed bug (if there is such a need, then you quite logically also need to do it for every other similar vulnerability which shows up, hence several times per year, and you must also do it for vulnerabilities which will show up, so, by that reasoning, your ...


1

You assume incorrectly: a cert does not have to be revoked when re-issued. It is typically a different process altogether. This means that you should add a last step to your plan: revoke the old certificate once you are done with installing the new one. Clients will not cache your certificate. In fact, they cannot keep a cached copy since it is your server ...


2

In C, when you are finished using memory on the heap, you free() it which makes it available for use elsewhere. free() doesn't clear/wipe the memory to all zeros, so the next caller who asks for that memory will get the memory with its sensitive contents still intact unless you explicitly zero it before calling free(). Programs also often implement their own ...


5

Crypto.js does not use OpenSSL, it is interoperable with some of the same algorithms, and is not vulnerable to Heartbleed. All the more so because usually you use crypto.js on the client, not on the OpenSSLified server.


2

The SSL library in OpenVPN is vulnerable the following 2 files in /usr/local/openvpn_as/lib/ eg: libssl.so.1.0.0 and libcrypto.so.1.0.0 download one of the following versions for your distro at https://openvpn.net/index.php/access-server/download-openvpn-as-sw.html that should solve your problem. Remember to backup you config files.


0

It's like this. You're walking along the street and, passing the entrance to a bank, you encounter an autistic savant on his way out. He seems like a nice guy, but you're not, and you know you can use him for nefarious purposes, because you've watched enough movies to have learnt that savants can retain and repeat amazing amounts of data and are generally ...


2

To be exact, the RFC recommends legit heartbeats be done after handshake completes; it doesn't recommend exploits ever. (Compliant with http://tools.ietf.org/html/rfc3514 which sadly never made it to BCP.) Yes, Heartbeat is a distinct record type (24 or 0x18). Any response longer than the request by more than reasonable padding is proof of exploit. Any ...


24

For TLS with the purpose of liveliness (keep-alive) checks, there's no reason to: Encode a payload size field in the heartbeat request/response header (the length of the payload comes from the record layer rrec.length in OpenSSL code -- you just have to subtract off the fixed HB header size from this), Allow HBs to be variable size -- a small HB size (in ...


34

I am not aware of any definitive, "official" answer on this subject, but this seems to be part of an attempt at genericity and coherence. In the SSL/TLS standard, all messages follow regular encoding rules, using a specific presentation language. No part of the protocol "infers" length from the record length. One enlightening detail is the ClientKeyExchange ...


14

If you look into RFC6520 (heartbeat extension) there is a padding after the payload. So the length is required to know where the payload ends and the padding starts. Apart from that I find the design overengineered: the both reasons for this extension seem to be to make PMTU possible (by using messages of different size) and by having heartbeat to know if ...


0

History has shown that Theo de Raadt is somewhat of an asshole. I wouldn't read too much into what he has to say. If you're concerned, check the version of OpenSSH on FreeBSD and the OpenSSH on OpenBSD, diff the two, and analyze the differences.


0

The data they can recover will be data that has passed through openssls encryption/decryption and is therefore stored within the memory of openssl


1

the answer is: your dont need to; you can obtain the valid cert with the following way: openssl s_client -connect HOST:PORT -showcerts and use them. kudos for this answer goes to @CodesInChaos


13

This example dialog - perhaps you are both characters, or you get them to ask the questions of you: Q1: What's your favourite colour (1 word) A1: Blue Q2: Where did you last go on holiday (2 words) A2: To France Q3: What car do you drive (1000 words) A3: Vauxhall Astra. Cheeseburger. Tomorrow I'm driving to London. I like cake. Ohhh a squirrel. My ...


3

Web sites hand out the public certificate, that's the way TLS authentication (identity) works (excepting aNULL ciphers). If, for example, you were able to use Heartbleed to steal a site's key, the required certificate would already have been given out by the server during the handshake (for every correctly set up TLS connection). No creation of a ...


1

You are correct in your assumption that it would be difficult to obtain a new cert. This doesn't stop an attacker from decrypting traffic with the private key though. You can read more about decrypting SSL traffic with WireShark with just the private key here.


0

There is no problem with CSR's generated with a vulnerable version of OpenSSL. This doesn't mean your keys were not compromised via an actively running server, but it sounds like you understand that.


3

The Heartbleed bug indeed allows other parties to read memory outside the intended space, but it does not allow you to read memory from other processes. The start address cannot be modified either by the attacker, it really depends on the memory allocation algorithm which memory ends up to be returned. Most likely this is memory of a recent HTTP request (for ...


1

Besides the fact that this topic is not security related, but related to Ubuntu administration, you should really use a package manager, like apt-get or aptitude.


2

Your question is actually: How can I be sure of the authenticity of the downloaded file? Let's start with the details you mentioned. The checksum (MD5, SHA1, whatever) is a fingerprint of the file which allows you to check the integrity of the file. That is, whether the data has changed since the fingerprint was taken. If you get the checksum from a ...


0

The two scenarios you have posted both require an attacker to be in a position to record the raw data. Since you have posed the question with the assumption that your local network is not compromised, then the attack would need to take place outside of your network. This poses a problem for the average attacker, as it is likely that they do not have the ...


2

Your Webserver (heartbleed.py tests https on port 443) seem to be affected, but it doesn't tells you weather OpenVPN is affected or not. (as Anti-weakpasswords already stated, you could have multiple OpenSSL libraries or static linked libraries on your system). To test your OpenVPN, I wrote a similar Python script which explicitly talks to OpenVPN to test ...


0

From what I've found so far it's not possible unless the certificate is replaced with a completely new one and has a new creation date. The only differences between the old and the new certificates are the lines that come after Serial Number: Modulus: Signature Algorithm: and the ---BEGIN CERTIFICATE--- ... --- END CERTIFICATE ---- part.


264

How about this one from XKCD? The most "non-technical" explanation I found.


0

I believe tomcat is not vulnerable to heartbleed out of the box. Yes, the APR library is linked and SSLEngine is on. <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> But if you look at the server.xml config file of a default tomcat deployment, it's SSL connector uses JSSE not the APR library. <!-- Define a ...


0

Qualsys SSL Labs is currently testing for garbage return to detect HeartBleed and several other vulnerabilities found on web servers. It also tracks down some configurations that can cause serious problems with SSL/TLS security. https://www.ssllabs.com/ssltest/


3

I was able to download this tool and put it on one of my systems so that I could test my hosts without an external checker: heartbleeder The results were consistent with what I expected (dirty to clean after patching, and the one time it didn't clean up after patching, further investigation showed the tool was right and I hadn't patched every copy of the ...


1

Synology is affected but is prepping an update for DSM 5 and DSM 4.3 tomorrow. A patch for DSM 4.2 will be delivered in one week. From a release I got from Synology (I'm a journalist): Synology® DSM 5.0 Secured Against OpenSSL Heartbleed Vulnerability Taipei, Taiwan—April 11st, 2014—Synology® Inc. today releases the latest DSM 5.0-4458 Update 2 to ...



Top 50 recent answers are included