Tuesday, September 28, 2010

ITL is hiring!

We're looking to hire one or two full time developers, who will be working on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 open source version of Qubes OS, with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 primary task of advancing it from Alpha to Beta stage, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n finally to a production quality version.

We're looking to hire developers, not necessarily security researchers! Specifically we expect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following from candidates:
  • Many years of experience with Linux/GNU development, including system-level and kernel-level Linux development, documented by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual projects,
  • Familiarity with virtualization technologies, and specifically with Xen hypervisor,
  • Basic understanding of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Qubes architecture and excitement about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project :)
  • Product-oriented approach (polishing, testing, packaging, understanding of user needs),
  • Good communication skills in written English
In return we offer cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following benefits:
  • Decent, full-time salary,
  • Opportunity to be part of a renown security team,
  • Opportunity to work on an exciting product,
  • Work on a GPLed project with all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 benefits it gives to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 developer (visibility, rights to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code)
If you're interested in joining our team, please send a message to joanna at invisiblethingslab.com.

Please do not send typical resumes: don't write about schools you finished, certificates you obtained, driving license, scuba trainings, etc. We are only interested in a short bio (keep it below 100 words please), and links to your past or current projects. Include your geographic location.

While it would be great if you were based in Warsaw (or somewhere in Poland), as it would allow for regular face-to-face meetings, this is not a critical factor. ITL doesn't have a physical office, and everybody work from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir apartments, so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no need to relocate to Warsaw, in case you happened to be based somewhere else.

Monday, September 13, 2010

On Thin Clients Security

I'm constantly being asked about it, and so I thought I would write a handy blog post, so I could just referrer to it in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 future, when yet ancá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r person asks me if I think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 use of Thin Clients is a game-changer to desktop security...

It is not! Thin Clients do not improve your desktop security in any way, and that's because:

  1. You still run a regular full-blown OS, such as Widows and all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 regular applications, such as those buggy PDF readers, Web browsers, etc - it's just you run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m all on some corporate server, racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r on your laptop. The fact that you run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OS on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 corporate server, doesn't make it any less prone to compromises, compared to if you run it locally on your laptop.


  2. A compromise of your laptop, even if it's just a dump terminal, is still fatal! This is because if your laptop's kernel (or MBR, or BIOS, or some PCI device's firmware, or GPU) is compromised, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker can intercept/steal/spoof all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data that you work on remotely, because it is still your laptop that processes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 input (keystrokes, mouse events) and output (pixels). So, an Evil Maid attack on your laptop when you use it as a Thin Client, would be just as devastating, as it is ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise (and don't fool yourselves that crypto tokens can help)

We really need secure end-user systems, even if we just want to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m as dump terminals only! There is really no way we could skip this step (and e.g. focus only on infrastructure, or services security).

Thursday, September 09, 2010

(Un)Trusting your GUI Subsystem

Why do we need secure desktop systems? Why support from hardware is necessary to build secure desktop OSes? Does virtualization make things more, or less complex? Why Dynamic RTM (Intel TXT) is better than Static RTM? Can we have untrusted GUI domain/subsystem?

I tried to cover those questions in my recent keynote at ETISS, and you can grab cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 slides here.

Particularly, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 slide #18 presents cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 idealistic view of an OS that could be achieved through cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 use of hardware virtualization and trusted boot technologies. It might look very similar to many ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r pictures of virtualized systems one can see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se days, but what makes it special is that all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 dark gray boxes represent untrusted domains (so, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir compromise is not security-critical, except for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 potential of a denial-of-service).

No OS currently implements this architecture, even Qubes. We still have Storage and GUI subsystem in Dom0 (so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are both trusted), although we already know (we think) how to implement cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 untrusted storage domain (this is described in detail in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 arch spec), and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 main reason we don't have it now is that TXT market adoption is so poor, that very few people could make use of it.

The GUI subsystem is, however, a much bigger challenge. When we think about, it should really feel impossible to have an untrusted GUI subsystem, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI subsystem really "sees" all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pixmaps that are to be displayed to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user, so also all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 confidential emails, documents, etc. The GUI is different in nature than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 networking subsystem, where we can use encrypted protocols to prevent cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 netvm from sniffing or meaningfully intercepting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 application-generated traffic, or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 storage subsystem, where we can use fs-encryption and trusted boot technologies to keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 storage domain off from reading or modifying cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 files used by apps in a meaningful ways. We cannot really encrypt cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pixmaps (in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 apps, or AppVMs), because for this to work we would need to have graphics cards that would be able to do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 decryption and key exchange (note how this is different from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case of an untrusted storage domain, where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no need for internal hardware encryption!), and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 idea of putting, essentially an HTTPS webserver on your GPU is doubtful at best, because it would essentially move cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 target from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI domain to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GPU, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is really no reason why lots-of-code in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GPU were any harder to attack than lots-of-code in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI domain...

So we came out recently with an idea of a Split I/O model that is also presented in my slides, where we separate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user input (keyboard, mouse), and keep it still in dom0 (trusted domain), from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 output (GUI, audio), which is moved into an untrusted GUI domain. We obviously need to make sure that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI domain cannot "talk" to ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r domains, to make sure it cannot "leak out" cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secrets that it "sees" while processing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 various pixmaps. For this we need to have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hypervisor ensure that all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 inter-domain shared pages mapped into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI domain are read-only for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI domain, and this would imply that we need cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI protocol, exposed by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI domain to ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r AppVMs, to be unidirectional.

There are more challenges though, e.g. how to keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bandwith of timing covert channels, such as those through cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CPU caches, between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI domain and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r AppVMs on a reasonably low level (please note cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 distinction between a covert channel, which require cooperation of two domains, and a side-channel, which requires just one domain to be malicious - cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 latter are much more of a cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365oretical problem, and are of a concern only in some very high security military systems, while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 former are easy to implement in practice usually, and present a practical problem in this very scenario).

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r problem, that was immediately pointed out by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ETISS audience, is that an attacker, who compromised cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI domain, can manipulate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pixmaps that are being processed in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI subsystem to present false picture to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user (remember, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker should have no way to send cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m out anywhere). This includes attacks such as button relabeling ("OK" becomes "Cancel" and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way around), content manipulation ("$1,000,000" instead of "$100", and vice-versa), security labels spoofing ("red"-labeled windows becoming "green"-labeled), and so on. It's an open question how practical cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se attacks are, at least when we consider automated attacks, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y require ability to extract some semantics from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pixmaps (where is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 button, where is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 decoration), as well as understanding cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user's actions, intentions, and behavior (just automatically relabeling my Friefox label to "green" would be a poor attack, as I would immediately realize something is going wrong). Nevercá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365less this is a problem, and I'm not sure how this could be solved with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 current hardware architecture.

But do we really need untrusted GUI domain? That depends. Currently in Qubes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI subsystem is located in dom0, and thus it is fully trusted, and this also means that a potential compromise of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI subsystem is considered fatal. We try to make an attack on GUI as hard as possible, and this is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reason we have designed and implemented special, very simple GUI protocol that is exposed to ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r AppVMs (instead of e.g. using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 X protocol or VNC). But if we wanted to add some more "features", such as 3D hardware acceleration for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 apps (3D acceleration is already available to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Window Manager in Qubes, but not for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 apps), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n we would not be able to keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI protocol so simple anymore, and this might result in introducing exploitable fatal bugs. So, in that case it would be great to have untrusted GUI domain, because we would be able to provide feature-rich GUI protocols, with all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OpenGL-ish like things, without worrying that somebody might exploit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI backend. We would also not need to worry about putting all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 various 3rd party software in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI domain, such as KDE, Xorg, and various 3rd party GPU drivers, like e.g. NVIDIA's closed source ones, and that some of it might be malicious.

So, generally, yes, we would like to have untrusted GUI domain - we can live without it, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n we will not have all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fancy 3D acceleration for games, and also need to carefully choose and verify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI-related software (which is lots of software).

But perhaps in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next 5 years everybody will have a computer with a few dozens of cores, and also cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CPU-to-DRAM bandwidth will be orders of magnitude faster than today, and so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re will be no longer a need to offload graphic intensive work to a specialized GPU, because one of our 64 cores will happily do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 work? Wouldn't that be a nicer architecture, also for many ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r reasons (e.g. better utilization of power/circuit real estate)? In that case nobody will need OpenGL, and so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re will be no need for a richer GUI protocol than what is already implemented in Qubes...

It's quite exciting to see what will happen (and what we will come up for Qubes) :)

BTW, some people might confuse X server de-privileging efforts, i.e. making cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 X server run without root privileges, which is being done in some Linux distros and BSDs, with what had been described in this article, namely making cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 GUI subsystem untrusted. Please note that a de-priviliged X server doesn't really solve any major security problems related to GUI subsystem, as whoever controls ("0wns") cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 X server (depriviliged or not) can steal or manipulate all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data that this X server is processing/displaying. Apparently cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are some reasons why people want to run Xorg as non-root, but in case of typical desktop OSes this provides little security benefit (unless you want to run a few X servers with different user accounts, and on different vt's, which most people would never do anyway).

Thursday, September 02, 2010

Qubes, Qubes Pro, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Future...

The work on Qubes OS has been extremely exciting and also very challenging for us. While most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 work we have been doing so far relates to solving various technical, under-cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365-hood challenges, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 more important goals in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 long-term are related more to mitigating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 so called "human factor", i.e. making cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system not only easy to use, but tolerant to user absentmindedness. This includes e.g. ensuring cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user uses a correct AppVM (e.g. do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 banking in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "banking" AppVM, and not in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "random web browsing" AppVM, and also not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way around: don't do random surfing in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "banking" AppVM), and generally making cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole isolation between AppVMs as seamless as possible, but without sacrificing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same time.

This is becoming very important, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 technical level of security in Qubes is already very high, and so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "human factor" might easily become a low hanging fruit for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacker. (In contrast to ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r OSes)

But for Qubes to become something more than just an interesting OS for Linux geeks and security enthusiasts, it is also critical to have better application support. Right now Qubes lets users run Linux apps, because each AppVM is Linux-based. But, and let's not be afraid to admit this: Linux sucks when it comes to application support! (Take Open Office as an example - it not only looks like MS Office 97, but is also terribly user-unfriendly, especially cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir presentation program, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Impress. Why is it so difficult to make it look and behave more like Apple Keynote?)

There is only one way to provide better application support to Qubes: make it support Windows-based, or Mac-based, AppVMs. Just imagine that: being able to run most of your Windows (or Mac) applications, but at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same time benefit from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Qubes strong isolation and seamless integration on one common desktop...

In order to implement support for Windows-based AppVMs (or alternatively Mac-based AppVM) we would need to engage significant resources (5+ very skilled developers, working full time for 1+ year), and so we're currently looking for an investor that would be able to provide funding for such an endeavor. The idea is to create a dedicated spin-off company that would focus entirely on Qubes and Qubes Pro, and in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 future will make a profit from selling Qubes Pro licenses. Qubes Pro will become a commercial product, still based on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 open source Qubes, but adding support for Windows-based or Mac-based AppVMs. I would be happy to discuss cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 details and business plan via email with interested potential investors.

Speaking about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 future of Qubes: next week I will speak at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 European Trusted Infrastructure Summer School, where I will talk about some general stuff like why we need secure desktop systems and why trusted computing might be a way to go, but will also dive a little bit into some new things we plan for Qubes 2.0, such as storage domain and split I/O graphics model. The conference features some very reputable speakers in system-level security field, such as David Grawrock (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 facá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r of Intel TXT and TPM), and Loic Duflot (our venerable competitor in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 filed of offensive system-level research), so I consider a honour to deliver an opening keynote cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re (Check cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 agenda here).

I will have my Qubes laptop with me, of course, so if anybody is interested to see Qubes OS live (including Disposable VMs!), I would be happy to do a quick demo on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 spot.