Returning to Zero continues the story of the Zed.Kicker botnet, and the efforts of white hat hacker Mick O’Malley and his friends to contain and destroy it.
A lot has changed in those six years, especially in internet security and privacy.
Six years ago, not to many people outside certain internet security areas had ever heard of a ‘botnet’, a robot network of compromised computers. Botnets back then had tens of thousands of computers, which was why my fictional Zed.Kicker botnet with millions of devices was so powerful. Today, there are many botnets with millions.
Six years ago, few also understood how dangerous a large botnet can be, with their distributed denial of service DDOS) attacks. Botnets routinely launch attacks today.
Six years ago, only a paranoid few thought about pervasive surveillance, and the notion that without taking measures, all our activities online were being tracked and recorded by governments, our own and others. In this post-Snowden era (three years ago, believe it or not), we know the extent and the invasiveness of the surveillance. (Just for fun, here is a photo of me asking Edward Snowden a question via a WebRTC video link after a screening of CITIZEN FOUR at IETF-93).
Six years ago, cybercrime was a rarity, including ransomware and other threats. Today is is unfortunately common.
Six years ago, many of us were concerned about our communication security: how to encrypt and authenticate or messaging and calls. The ‘Security and Other Lies’ blog entries in Counting from Zero reflect this emphasis. Today, privacy is a bigger concern, and how to minimize the meta-data about our communication and messaging is discussed in the ‘Privacy and Other Mirages’ blog entries in Returning to Zero.
One thing that hasn’t changed in six years is the excitement and nervous energy involved in launching a new book. I can’t wait for Returning to Zero to be available and to get feedback and comments!
And looking forward another six years? Who knows…
Returning to Zero, the sequel to Counting from Zero, and the second book in the Mick O’Malley series will be available on Amazon as Kindle and Paperback editions on February 25, 2017.
I think it is going to be a great conference. Of course, I’m slightly biased as I helped organize it again this year as a co-chair of the WebRTC and Cloud Communications Track. I’m also an adjunct professor at IIT – I remote teach a WebRTC class there, using WebRTC, of course!
Here are some of the highlights for me:
- “The Future of Open Source Software in Telecom” panel, moderated by Andy Abramson on the first day of the conference, Tuesday October 6, 2015 at 1pm.
- “What’s Next for WebRTC” panel, moderated by Chad Hart of webrtcHacks on October 6, 2015 at 4:30pm.
- “Simple secure federated identity for WebRTC (your new phone number)”, a presentation by the always interesting Tim Panton on Wednesday October 7, 2015 at 9am.
- WebRTC and Federated Identity Tutorials on the day before the conference, Monday October 5, 2015 from 9am – 5pm. Dan Burnett and I will give the WebRTC tutorial in the morning, and Matthew Hodgson from matrix.org will give the identity tutorial in the afternoon.
- TADHack Mini Hackathon, the weekend before the conference, October 3 – 4, 2015. These are so much fun, and I can’t wait to see what people come up with, especially some of my students… Who will win the $8k in prizes? Kudos to Alan Quayle for organizing these incredibly creative events.
Besides these highlights, I always find interesting things in the other tracks, including:
- IPTComm (the latest from researchers in this area),
- Mobile Networks, Platforms and Applications
- Next Generation Emergency Communications Services, and
- Internet of Things (IoT)
And don’t forget a keynote by Henning Schulzrinne, of SIP and FCC fame, on “5G: What can we learn from the previous four generations?” on Thursday, October 8, 2015 at 11am.
Will I see you there?
After my first look, I’m back exploring the other apps on my Blackphone. See my Full Disclosure of my friendship with the Silent Circle guys and my work on the ZRTP security protocol used in the Blackphone. Today I’m trying out the interestingly named Disconnect Secure Wireless application, basically a VPN (Virtual Private Network) service. Given that this app is all about making connections, having it called “Disconnect” is a little odd. The name probably makes more sense with their ad and malware blocking services. According to their FAQ: “Secure Wireless uses AES-256 to encrypt data to or from your device. Secure Wireless also enforces Diffie-Hellman for key agreement/exchange which provides perfect forward secrecy (PFS).” which is all good. Out of the box, the Disconnect Secure Wireless application takes you through a short tour of the service. Essentially, it is a VPN service that can be easily enabled/disabled and also automatically enabled/disabled based on a preference for a given network. It seems this application is only available on Android, as the iOS version seems to not be a VPN but be an add blocker of some type. Disconnect Secure Wireless starts off with a free service of 512MB per month which you would blow through very quickly if you used it for everything. By putting the Blackphone activation code into the Account screen, you get 2GB per month, which seems reasonable if you use it sparingly, such as WiFi hotspots or when traveling.
Using it is easy – tapping the middle of the screen starts the VPN. When turning it on, you get two warnings:
The first reminds you that, since this is a VPN service, all the device network packets will be routed through it. Essentially, this app is a Man-in-the-Middle (MitM), although hopefully a trusted MitM. You must tap the “I trust this application.” in order to proceed.
The next warning tells you that once turned on, the VPN will always run for this network, until you turn it off. This is a good warning from a usage perspective.
Next you get a Connecting message and the middle of the screen turns green and indicates bandwidth usage for the month to date. One interesting thing – while I did notice the bandwidth usage rise with normal web browsing, I did not notice it go up during lengthy Silent Circle voice calls. In general, for a VoIP call such as silent circle, you can use up to 1MB per minute, depending on the codec. Perhaps the packets from Silent Circle aren’t tallied by Disconnect against the VPN quota. Or maybe I just got lucky…
The VPN speed seemed reasonable, although a speed test during a Saturday afternoon isn’t exactly scientific. Compared to just my WiFi over Cable Modem, it was slower, of course. The VPN has a location configuration for North America, Europe, or Asia. I’ll need to try it other times of the day to see how well it works.
The default search is also provided by Disconnect, although this can be changed. A DNS failure in the browser automatically brings up a https://search.disconnect.me search window for the failed string. It does show the Google “G” symbol, however, indicating that it is not an actual search engine. Instead, as described here, Disconnect Search forwards you request to the engine of your choice (Google, Bing, Yahoo, DuckDuckGo, or Blekko) and anonymizes it. You can also use it in any browser at https://search.disconnect.me/ So, Disconnect Secure Wireless does what it promises to on the Blackphone.
Your suggestions, comments and questions are most welcome!
Full disclosure: I am good friends with Phil Zimmermann, co-founder of Silent Circle. He and I worked together for many years to publish his ZRTP media security protocol as an RFC in the IETF standards body. I also helped him with his Zfone Project. I’m also friends with Jon Callas, Travis Cross, and others at Silent Circle, who collaborated with Geeksphone to produce the Blackphone.
After the Blackphone was announced back in February in Barcelona, I ordered one as soon as they started taking orders, and have pretty much just been killing time ever since then. I even had a false alarm delivery the other week when I was at the IETF conference inToronto. Another package with an address that had “Black” in it arrived, and I jumped to the conclusion that it was my Blackphone. Instead, my Blackphone arrived the day I was in Chicago at ClueCon, on a Security Round Table panel with Phil and Travis.
My first impressions are quite positive: the packaging is good, the phone is nice to hold in the hand. If anything, it feels lighter than I expected. And it is black. Included accessories are USB cable, charger with US and European plugs, and a headset.
I’ve been using Silent Circle for a while now on my iPhone, so I recognized the Silent Phone and Silent Text apps. Silent Contacts was new to me, as were the other pre-installed security apps.
It took me a little while to get Silent Phone and Text working. I had forgotten that I had to look up the Product Keys to get the Silent Circle Ronin code to activate the service and create my account. The Silent Circle apps are similar to those on my iPhone although the user interface is inscrutable. Why does it show one grey dot when I’m calling then switch to three green dots when I’m connected and ZRTP has been authenticated? What does “Secure to server” mean? Hopefully this is an easy fix to the UI to make it understandable.
Next, I need to try out SpiderOak and Disconnect.Me. Also, I haven’t put a SIM in yet. My friend James Body has given me a fantastic Truphone travel SIM that I really could have used last month during all my travels…
Look for a future post on these topics. As always, questions & comments most welcome.
I am very proud of the Third Edition of the WebRTC Book that came out just a few weeks ago. My co-author Dan and I have been working on it for months, and it is always exciting to launch a new edition!
We worked feverishly during the IETF-89 meeting in London to get all the updates finished – all the APIs, protocols, and standards referenced should be up to date as of then (first week in March). We also had a lot of fun testing and doing screen captures of the new Demo Application, which now utilizes the WebRTC data channel for Real-Time Text (RTT) between the two browsers. I’ll write another day about RTT and how much fun it is compared to normal texting or instant messaging in another post. For us, to make use of the data channel APIs and protocols and show the interoperability between Chrome and Firefox browsers was a lot of fun as well.
The Demo Application also can now utilize a TURN server for enhanced NAT traversal. In some circumstances, NATs or firewalls will prevent a direct peer-to-peer Peer Connection from being established between two browsers, and a relay in the cloud is needed. If the Demo Application fails for you, try reloading the page adding a ?turnuri=1 to the URL and see if it works for you!
Also new for this edition is a description of how to analyze WebRTC protocols on your computer using the excellent open source packet capture and analysis tool Wireshark. Between Wireshark and various browser tools (try Tools/Developer Tools in Chrome and Tools/Web Developer in Firefox, or chrome://webrtc-internals in Chrome for lots of useful WebRTC info), you can learn a lot just by playing with WebRTC. If your application is not working, these tools allow you to debug and analyze what is happening.
Finally, Dan’s introduction to the WebRTC API has been greatly expanded with step-by-step introductions to the various functional parts of the client and server code. As always, you can download all of our Demo Application code from our book website, and also see it running as well.
We have received so much excellent feedback in the one and a half years since we published the first edition. We can’t wait to hear from you on what you think of the Third Edition. We enjoy hearing from you on Twitter, Facebook, or Google+.
Today, I published a new Internet-Draft on how to securely communicate over the Internet using a new web technology known as WebRTC and the ZRTP protocol. Using this technique, Internet users can determine if the National Security Agency, or anyone else, is listening in to their calls placed using a web browser. There are already a number of commercial and open source products utilizing ZRTP, including Silent Circle, Jitsi, and others, but this new technique opens it up for all web users.
With WebRTC, all media flows are encrypted and authenticated using Secure RTP or SRTP. Unfortunately, the keying method chosen for WebRTC is DTLS-SRTP or Datagram Transport Layer Security for Secure Real-time Transport Protocol. DTLS-SRTP on its own does not provide protection against Man-in-the-Middle (MitM) attacks, also known as eavesdropping attacks. Today, the news is full of reasons why Internet users need such protection. We now know the surveillance of Internet users is widespread.
The ZRTP security protocol, published as RFC 6189 back in 2011, was invented by Phil Zimmermann to allow Internet users to communicate securely and privately over the Internet. ZRTP was not selected as the default keying method for WebRTC, despite it being the ideal candidate.
How does this work? You’ll have to read the ZRTP specification to find out exactly how, but in simple technical terms, it is because ZRTP uses a technique known as a Diffie-Hellman key exchange augmented with a hash commitment. This allows the SAS, which can be two words or four hex digits, to prove that a media session has no eavesdroppers present.
Everyone needs privacy in their communication, and WebRTC with ZRTP finaly provides a real solution to all Internet users.
I’ve been fortunate to be involved in WebRTC right from the beginning in the standards, and with my friend Dan Burnett wrote the first book on WebRTC. Perhaps you have read it? Although it has been less than a year since we first published it, we recently published the second edition to track the increasing pace of development and innovation in WebRTC.
Now, we are pleased to announce online and in-person training and certification for WebRTC, in partnership with the WebRTC School. We have put together two training classes:
Certified WebRTC Integrator – this is a course for architects, system integrators, and VoIP and telephony developers who want to integrate WebRTC communications from browsers into their existing VoIP and video conferencing infrastructure. It details all the protocols needed and the principles behind architecting and designing gateways. This course is online right now at the WebRTC School!
We are very excited to be launching these training classes. But what is the certification part? Following its highly successful SIP School Certified Associate (SSCA) program, WebRTC School is offering certification via online testing for Certified WebRTC Integrator (CWI) and Certified WebRTC Developer (CWD) programs.
I hope these classes will help spread the word on WebRTC! If you take either of these classes, I’d love to hear from you what you think and what you have learned.
On Saturday, I gave a presentation and demo of ZRTP at Hackfest 2013, organized by the Washington University in St. Louis chapter of ACM (Association of Computing Machinery) .
A group of about 60 undergrads had gathered in Urbauer 211 to learn about hacking and try it out. I gave a short presentation about ZRTP, the media path keying protocol for SRTP invented by Phil Zimmermann.
I was fortunate to serve as the editor of the ZRTP specification, which was published as RFC 6189 two years ago. I showed how ZRTP allows users to detect the presence of a MitM (Man in the Middle) attacker by checking the Short Authentication String.
Here is a PDF of my presentation.
Then I used the Jitsi open source voice, video, & chat application to demo ZRTP. Emil Ivov, founder and chief developer at Jitsi answered my ZRTP call, and we checked the SAS. The sequence of steps used to secure the voice & video session is shown in this animated GIF.
Afterwards, I gave away a copy of Counting from Zero, my technothriller that incorporates elements of ZRTP, hacking, exploits, and zero-day attacks.
We then spent the rest of the afternoon playing with Metasploit on an isolated network of virtual Windows machines. It was an interesting day. Just like at IETF meetings, the biggest excitement of the afternoon was when the cookies arrived!
Perhaps at next year’s session, we can try out VoIP hacking tools such as SIPvicious!
The giveaway is hosted by goodreads, the social reading site. If you love to read but haven’t found Goodreads, you should check it out!
From now until November 9, you can sign up to win a paperback copy. Winners notified on November 10.
WebRTC, Web Real-Time Communications, is a fast moving topic these days! Here are a few of my suggestions for how to keep up.
First a note about terminology. Although Google named their open source project webrtc, WebRTC is not just a Google project, it is a major industry initiative involving open Internet standards being developed by many participants. Don’t confuse these two!
Google and Mozilla are the browsers most actively implementing WebRTC today. WebRTC is available in Google Chrome Beta browser. Download and give it a try for the latest WebRTC extensions. Some future WebRTC capabilities may be in Google’s Chrome Canary which is the developers preview version of the browser. To experiment with Mozilla Firefox, you will need to use their nightly build. Microsoft Internet Explorer and Apple Safari don’t yet have anything available, but you can track their future announcements here and here.
WebRTC is not just about browser deployments, it is about standard APIs and standard protocols. To really follow what is going on in WebRTC, you need to track the standards being developed in the W3C and IETF. This can be a bit tricky, but if you start with the W3C WEBRTC Working Group and the IETF RTCWEB Working Group, that is a good start.
If you have an eReader, try this out. Here is a link to download the entire set of RTCWEB IETF Internet-Drafts in EPUB format and here is the set in MOBI format. Various other sets of IETF documents and RFCs is also available at http://tools.ietf.org/ebook/. The conversion is done using a script written by Tero Kivinen – nice job! The formatting of the ASCII art is not 100%, but this is a difficult problem. The MOBI format worked better for me than the EPUB version, but YMMV. Perhaps one day the IETF will adopt a friendlier format for Internet-Drafts and RFCs, but I’m not holding my breath!
3. Try WebRTC sites and applications
There are a number of sites and applications already taking advantage of WebRTC features. One of my favorites is FrisB, a cool new way to think about browser to PSTN communication. You can find plenty of others by searching the web. Also, many developers announce and discuss their WebRTC projects on Twitter, so searching with the #webrtc hashtag can find lots of cool things.
There are some interesting blogs out there on WebRTC, including a blog by Tsahi Levent-Levi.
For background on WebRTC, there are some decent resources. You might enjoy this video presentation by one of the editors of the W3C WebRTC specification, Cullen Jennings. If you like books, you might like “WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web” written by myself and Dan Burnett, also a co-author of the main WebRTC spec and also the Media Capture and Streams specification.
Best of luck in following WebRTC! Feel free to share your own favorite ways and links to follow this work.