Δευτέρα 26 Νοεμβρίου 2018

Protecting your anonymity on the internet

(Original title: How to stay anonymous on the internet)

Introduction

The purpose of this article is to give advice and tips to whomever is interested in protecting their data and identity and stay anonymous on the internet. Or, to be precise, almost anonymous, since -as we will see with several examples- it is always probable that those who want to deprive you from your anonymity, employ more advanced techniques than you.

The present article the term "anonymity" is used in two ways: the first is the typical one -preventing attackers from tracing internet activity back to specific persons or corporations. The second is the prevention of data theft in general, since the data stored in a computer can lead to the identification of an otherwise anonymous user.

Instead of limiting ourselves to general and well-known techniques (use Tor, reject cookies, etc) we will introduce the reader to some more technical and useful details, including some methods used by attackers for identification of users of anonymity networks, the role of the operating system, and the newly developed browser-fingerprinting techniques, along with some prevention methods.

The reader should be aware that the attackers may always use more advanced techniques that someone who wants his anonymity. It should be also noted that the techniques to be described are in use during 2018.


Anonymity, crime, and the "rationalization" of mass-surveillance

"Why should I want to stay anonymous? I have nothing to hide. Anonymity can be useful only for criminals and perverts".

A typical "argument" of those who claim to have no problem with mass surveillance whatsoever -that is, authorities and third parties being aware of everything we do online. But how would something similar for freedom of speech sound?

"Why should I want freedom of speech? I have nothing to say. Freedom of speech can be useful only for insulters and defamers."

Even you have nothing to say, some others happen to have. And what they have to say may be unrelated to vituperations and defamations -it may just be something that your government does not want you to know. Same for anonymity: even if most of us have nothing to hide, some others happen to have. And it may be unrelated to crime and perversion -it may be something against the interests of a government or a corporation.

It does not take a rocket scientist to understand that the data collected from our use of the internet can be used against us. The foremost purpose of mass surveillance is not the "protection of society from criminals and terrorists", but the protection of our governments from dissidents. And in the extreme case of a totalitarian regime gaining power to a country, the collected data will be used to detect people with particular political views, religious beliefs, or even sexual preferences.

History is full of plot-twists, and there is no guarantee that we won't find ourselves under a totalitarian regime some day -no matter where we live. It would be foolish if we had given the regime the right and power to control and access all of our information in advance. The "logic" of "I have nothing to hide -therefore we do not need anonymity" is ridiculous.

Furthermore, we must always take into account the factor called "human nature": even if you have nothing to hide when it comes to what you do in your bed and bathroom, you would not feel OK if someone put a camera and watched you in there. There is no particular reason for that; it is just human nature. Those who would not want a camera recording their most private moments owe no explanation -just like those who do not want to be watched on the internet. They just don't feel well with that.

What is funny here is that those who speak about "the human nature" to justify the avarice of the rich, suddenly remember "logic" and "reason" when it comes to the right to not being surveilled. Wanting always more even if you have enough is justified because it is "human nature" -but if you don't like being watched for the same reason it is "illogical" and "irrational".

Finishing off, we will mention some people who need it without being perverts or terrorists:
  • Independent journalists
  • Atheists of Iran and Saudi Arabia
  • Non-communists of China and North Korea
  • Political dissidents of Turkey, Russia, and other semi-dictatorships
  • People fighting against the drug lords and corrupt governments of South America


Remaining anonymous! 

1. Use Tor or any anonymity network (with caution)

It is well known that an IP address is extremely easy to hide by using a proxy server. In essence, a device connected to the internet obtains a connection to a system with a different IP address, and the subsequent visits to websites seem to have come from the latter. That is the case if the cookies are disabled. Yet even if we have disabled the cookies, it is easy for the authorities to figure out who did what using the proxy server: the connections to it are recorded in logs, and even if the website one visits gets "fooled", that is not the case if there is a search warrant for the authorities. This problem can be solved with the use of the Tor network, which you can access by downloading the Tor browser.

We ought to elaborate how Tor works and its' potential vulnerabilities.


Instead of connecting directly to the requested website, the user connects to a router belonging to the tor network, considered to be the entry node. The user's device now "sees" the entry node instead of the website and carries out all communications through it. The entry node then gets connected to a middle node, with the latter being unaware of the IP or any information related to the user. The middle node receives information and packet requests from the entry node instead of the user, and sends everything to the former. If the middle node is not connected to another node, hence forming a longer "chain", it is connected directly to the exit node, with the latter being connected to the website. That means that the website knows information only for the exit node, and not for the user requesting the information.

The nodes and the user form a tor circuit, within which data is sent and received. The user is provided the capability to change the circuit at will -a function that terminates the connection to the website.

The strength of this system lies in that the nodes keep no log of their connections and it is impossible to find out which node connected to which. The only thing the authorities can find is the IP address of the exit node, without being capable to locate the others. All data is encrypted differently in every node, and even if someone somehow steals them they will be of no use.

The strongest proof of the trustworthiness of the Tor network is the extensive (and unfortunate) use of it by drug lords and terrorists, along with the fact that both the US and the Russian government offer  millions to whomever comes up with a way to hack into the tor network. Yet we ought to be very careful when using it and have some doubt as to whether it is perfectly anonymous for everyone and under all circumstances.


Known methods of deanonymization of tor users

A method of deanonymization of Tor users is based on surveilling the connections from and to the network, and the subsequent comparison of their timing, the size of the data packets, and the transmission patterns of a suspect's communication with the entry node, and of the exit nodes with the websites (traffic analysis). It is even possible to interfere with the data in order to find out to whom they are heading towards, despite the encryption.




The simplified idea is this: if a user receives a file sized 15.4MBytes divided into 513 packets, and at nearly the same time there is a node transmitting 513 packets of the same total size, it is highly probable that the user is connected to that node. Especially in case the transmission pattern is changed -for instance, by transmitting the packets with particular variations of the transmission delays- the certainty is considerably increased. A hacker can obtain control over several nodes in the network and keep track of the data traffic through them. The nodes would then be classified as "bad relays".

Bad relays in the tor network is an existent problem, and even though there have been developed several techniques to locate them, they are often removed later than they should. One defense against traffic analysis attacks is the addition of noise (that is, packets with no real data) in the network, which means that the nodes sent "nonsensical" packets to one another, making it hard for attackers to carry out a traffic analysis. Another defense relies on that, even if an attacker controls several nodes, he certainly does not control all of them, which means that if someone changes his circuit, a bad relay will be capable of surveilling him only for a short timeframe.

Another method was implemented in 2011 during operation torpedo, leading to the arrest of several suspects. In particular, after the authorities managed to take over the control of some tor services, they sent to all visitors a script that pinged a server belonging to the FBI, using the real IP address of the victim. The authorities then proceeded to "visit" all suspects whose IP pinged the server. This attack would not have been performed without adobe flash, yet similar methods may be used with other tools.

In 2013, the widely known website called Freedom Hosting, the servers of which contained child pornography among others, went down along with several other websites of the tor network, when the authorities exploited a vulnerability of firefox, using javascript to make the devices of the visitors to sent their real IP and MAC address to the FBI.

The common denominator of all those attacks was that they were based on flash and javascript, which are de facto disabled if one uses tor with the proper security settings







The Tor browser provides the user the capability to disable everything that can put his anonymity in danger, with the use of high security level -even though that would make browsing harder, since large parts of most websites are based on javascript and flash.

From time to time, various vulnerabilities are discovered -a recent example being Tormoil-, as well as some methods of deanonymization irrelevant to tor network itself -a typical instance being the so called evercookies, which are to be examined later.

Another rather peculiar method of deanonymization is the use of the patterns of one's mouse movement! The way one scrolls down and moves the mouse on the screen differs from person to person. So, it is highly recommended to... use your mouse differently when on tor (or just disable javascript, since it is once again to be blamed).

Despite the possible attacks, tor is still a powerful tool for whomever wants to protect himself on the internet, and the identifications of users on it are rather the exception, even after thorough investigation. The extensive use of tor by criminals is the ultimate proof for that -just like the fact that the so called "whistleblowers", who publish highly classified documents, make an extensive use of the tor network.

In any case, we ought to be very careful with tor. For reasons we have elaborated, it is strongly recommended that you use it with high security level*, which among others means that javascript is disabled by default, along with all plug-ins. Changing your tor circuit periodically is also of great importance. For reasons to be elaborated later, it is also recommended to use it in systems that run Linux, BSD, or Qubes OS, preferably in a Virtual Machine. Generally, it is better use tor after taking all the measures described in this article.

A noteworthy alternative of the tor network is Freenet.



*During the translation of this article, a zero day exploit for the high security level was revealed. So far, the extent to which it was used in the wild is unclear, just like if there have been any arrests because of it, but the fact remains: you have to be very careful with Tor. And always manage to have the most recent version of it.


2. Use a secure Operating System

It is well known that everything is surveilled in the commercial Operating Systems (such as Windows and MacOS). Windows 10, for instance, has the capability of tracking everything you type as if there was a keylogger enabled by default. Of course, the user is provided the right to disable this kind of tracking, and even in case he would not, not all of his data would be sent to microsoft (that would result in an awfully large amount of data, costful to store and difficult to use, with the greatest part of it being literally useless). Yet the fact remains the same: they are capable of watching everything you do.

It is also widely known that the vast majority of viruses -a part of which could serve the purpose of deanonymizing a user of an anonymity network- is designed for windows. It is so, both because the majority of the users run windows, and because it would be more difficult to design a program capable of running on more secure Operating Systems without the consent of the administrator.

There is no guarantee that Windows do not track everything you do on the Tor network (even thought that seems implausible, given how few visitors and owners of illegitimate websites get caught), just like no one can be sure about what kind of information may be sent to microsoft without you being aware of it. The source code of Windows, just like the one of MacOS, besides being a little... hidden, is also highly intricate -which means that even if we gained access to it we would have a very tough time finding all its' parts concerned with stealing the user's data.

Hence, if someone wants to protect his data and anonymity, it would be prudent to abandon commercial OSes and switch to another one -preferably an open source, so that every change in it would be checked by numerous independent developers capable of finding the backdoors. Let's take a look to our main alternatives, focusing on the most paranoid ones in terms of security.


α) Linux (generally)




Linux is based on Unix, and was first released during  the early 90s. There have been innumerable distributions (versions) of it ever since, among others Ubuntu, Debian, Slackware, Fedora, Mint, and Arch, to name some of the most widely used. Its' core characteristic is the capability it provides the user to customize it to his needs -if he is experienced enough with programming-, and that it is Open Source -which means that anyone can access and edit its' code, and any updates are checked not only by numerous experts, but of anyone interested.

Viruses for Linux are barely existent, and the fact that its' code is open source does not allow for deliberate planting of backdoors in it.

β) OpenBSD





Considered to be the safest OS developed so far (even though Qubes OS may be safer). Based on the Unix-like Berkeley Software Distribution, OpenBSD is one of the toughest operating systems you may ever encounter.  The fact that even the GUI must be manually installed is indicative of the toughness. As someone who has some experience with it, I can assure you that it is utterly unsuitable for anyone not infinitely patient with computers.

Nevertheless, it is the best choice for those who seek a near-perfect security, since during the twenty three years OpenBSD is in use only two remote holes have been detected, while the source code is under a constant auditing from well-experienced developers checking it for bugs and backdoors. Even experts who consider BSDs untrustworthy due to the lack of a large number of developers occupied with them, recognize that OpenBSD is a powerful and safe OS.

Yet we ought to be slightly suspicious even when it comes to an OS with such reputation since, as previously mentioned, not many programmers work on it, and if they were more it is highly probable that there would have been found more security holes. Keep in mind that there have been accusations that FBI paid developers working on the OpenBSD to plant backdoors in its cryptographic framework -even thought it was never proved that they were implemented and it has been a decade since it was rumored.

OpenBSD's security is a result of the simplicity of its' code, and extensive experimentation in a VM is recommended before one installs it on his system.

γ) Qubes OS

Another Unix-based OS that, even though not (yet) reputed as the safest out there, since it has been tried only about 1/5 of the time OpenBSD has this reputation, it can certainly be considered to be the most paranoid OS developed so far. Qubes OS implements a radically different approach from the other security-oriented OSes, assuming that the user is already hacked!

With that assumption as a starting point,  the system is divided into cubes (hence the name), fully separated from one another. Those "cubes" are basically Virtual Machines (VMs): each uses its' own part of the RAM, fully separated from the others, along with its' own part of the CPU and cache. The "cube" of the file-system is distinct from the "cube" for the browser or for the programs.

The idea behind is that even if someone successfully hacks into the user's system, he will still be unable to hack into the other "cubes" -so, in case someone hacks the cube of the internet it will be impossible to get access to the files, since the internet's "cube" has no connection to the one of the files. In Qubes OS, even copy-pasting from one cube to another is impossible without special commands. Such a system structure, if properly implemented, makes it technically impossible to steal data or plant evercookies.

Even though from time to time it has been proved that perhaps VMs may not be in all cases so perfectly separated from one another (e.g. Venom vulnerability), generally speaking they actually are separated, and the structure of the Qubes OS leaves not much space for security holes. The only serious disadvantage is that it cannot run on all types of hardware.

δ) whonix

 A Linux distro widely used for security and anonymity, which implements an approach reminiscent of the one of Qubes OS: it uses two distinct VMs, the first of which is connected to the internet (using tor), and the other is an offline "workstation".

Its' creators asseverate that even a malware gaining root privileges would be incapable of leaking the real IP of the user, since the applications itself are unaware of it -something that makes this OS very useful for those who want to stay anonymous.

Strongly recommended for experimentation.


ε) Tails

Tails is a live Linux distro (that is, it can be run from a USB or cd-rom without being installed), characterized by an extensive use of the Tor network, just like by the fact that it does not leave any kind of footprints in the system that its' used, since everything is deleted after the shutdown.

Tails uses exclusively RAM, and does not write anything on any disk unless explicitly requested to do so -but for extra safety one can physically disconnect any HDDs to prevent programs from leaving footprints on the disks, if hackers somehow render it possible.



3. Prevent device fingerprinting

The idea of having all devices recognized from a unique identifier is certainly neither recent nor revolutionary. Ever since the first days of the internet, it was rendered necessary to have an identifier that would distinguish all devices from one another so that it would receive the data packets supposed to reach it: whenever one downloads a file from a website, the website has to know where to sent the data. Ideally, each device has a unique identifier -and on the internet that would, theoretically, be the IP address.

Yet the number of the devices connected to the internet is larger than the possible IP addresses -at least for the time being, since IPv4 is still in extensive use (IPv6 covers an astronomical number of addresses), so we are forced to give the unique address only to particular devices (modems, routers, etc) and connect to the internet through them and not directly (NAT technique). So, an IP address cannot be used as a unique identifier, since hundreds of devices may be connected to the internet through the same IP, assigned to i.e. a router.


An IP Address cannot be the unique identifier of a device.

Even with IPv6, there is no guarantee that this technique will cease to exist, and certainly there is no guarantee that Tor would stop being in use. So, even with an over-adequate number of IP addresses, the authorities would not be able to use them as identifiers.

The impracticality of using the MAC address -which is by definition unique- for other purposes than routing packets in home networks, rendered it necessary to develop other methods to uniquely  identify users on the internet. A typical example are the so called cookies. Yet it soon became clear that every device has plenty of characteristics that, if not unique, they are certainly rare and fixed in each device, and to use several of them at the same time could identify it uniquely

There are numerous devices using Windows, and numerous devices using Google chrome, but how many have both of them installed? Among them, what percentage uses e.g. Greek as a language? From the latter, how many would use a particular set of fonts and how many would have a particular plug-in installed? It is obvious that by minimizing the probability that other devices have the same set of properties, we can identify it uniquely or almost uniquely.

Here come the browser (or device) fingerprinting methods, that use such properties of each device in order to create a uniquely identifiable set of properties -a fingerprint- for them. The user is more reliably tracked with it, and it can be used by advertisers to provide him personalized ads, or by the authorities to have more information for him.

Anyone can see some of the system's characteristics that can be used for fingerprinting on amiunique, where a list with the collectable properties is available. The image below, taken  from this exceptionally interesting research paper by Yinzhi Cao, Song Li, and Erik Wijmans, lists some of the properties that can be used



The entropy of a property in this case, refers to the certainty with which a system can be uniquely identified with its' use. The number of devices possibly characterized by a particular property is 2 powered to the value of the property's entropy -for instance, an entropy 10 allows for 2^10=1024 devices sharing the same fingerprint.

The terms single-browser and cross-browser refer to a single browser of a system and a set of browsers used on it, respectively. It is useful for the particular paper, but not of much use in this article. The term "stability" needs no explanation.

The use of this table is merely to see the wide range properties that may be checked by an attacker in order to deduce the fingerprint of a device. A user seeking to remain anonymous ought to keep in mind that he should regularly change a considerable number of those properties for to achieve this purpose.

Explaining all of those characteristics would far exceed the purposes of this article, so we will examine only some of them -along with methods to prevent their collection.

a) User agent: can be used to identify among others, the Operating System, and the version of the browser you use. You may check what it can reveal about your system by using whatsmyua. An example of a user agent as appears on the browser is as follows:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

indicating that the user has Windows 10 (Windows NT 10.0) installed on his system, along with Chrome/67.

A modification of the user agent would trick the site into believing that the user has a very different system than in reality. So, if someone uses e.g Firefox on OpenBSD he can make the websites he visits, just like any potential attacker, treat his browser as e.g Chrome running on Windows 8. The user agent can, theoretically, be used by someone intending to send a virus or script (recall the attacks against tor users) -in which case he would send the proper virus or script based on the OS and the Browser. Since not all viruses and scripts run on all OSs and browsers, a modification of the user agent can potentially save you from various forms of attacks -theoretically speaking, the attacker would send something that does not work on our system.

The modification of the user agent on firefox is as follows:



After writing about:config in the address bar and hitting enter, search for the useragent. Right click and add a String named general.useragent.override, and use the user agent you want to appear as its' value. For Chrome 60 (most popular browser in 2018) and Windows 10 (most popular OS in 2018), the user agent is as follows:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36

You may find a list of user agents on this webpage.

b) Screen resolution and color depth: the screen resolution and the color depth can be used for the identification of a device. It is obvious that it is not exactly unique in every system, and if we take 7.41 at face value, one out of 170 devices have the same resolution and color depth.

According to this research, zooming in in a browser changes the value of the screen resolution, so what is taken into account is the analogy between width and height that remains stable, along with the availHeight, availWidth, availLeft, availTop, and screenOrientation values. By disabling javascript not a single one of them is returned, thus the determination of screen resolution and color depth is prevented.

c) List of fonts: It is exceptionally rare for two systems to have the same list of fonts, especially in case unusual fonts have been installed on a system. So, it would be prudent if we left the fonts of the system as they were after the installation. An additional and perhaps more effective countermeasure, is disabling flash -since it is flash that returns the list of fonts.

We ought to keep in mind this paper by a compatriot of mine named Nikiforakis, which can also be found  here, that there is a side-channel attack capable of returning the list of fonts in case flash is disabled. In particular, a script creates a string in a particular font and attempts to make it appear using the fonts available on the computer, and then compare their sizes. This can be prevented by disabling javascript.

d) List of plugins: Something we must be very careful with, especially if we use them extensively. The writer uses only three additional plugins, yet the similarity ratio as appearing on amiunique  is just 0.49%, and it is clear that the more plugins on uses, the less probable it is to find another system with the very same list. Disabling javascript should suffice here -along with avoiding installing plugins, perhaps.

e) Device and content language: The language of the OS and the installed writing scripts of a system (e.g. Greek). It would be wise to use exclusively English in your anonymous device. Alternatively, you may trick the attackers into believing that you live in another country by installing writing scripts in e.g. Chinese. Or you may just disable flash and javascript.

Besides the language of the OS and the writing scripts, the attacker can use the content language -that is, the main languages of the content we view. The content language of the writer is as follows:

"el,el-GR;q=0.9,en;q=0.8,sv;q=0.7,de;q=0.6,it;q=0.5"

and shares it with less than 0.1% of all users! It is, therefore, apparent that, at least on the device we use for anonymity, we ought to view our content exclusively in English. The content language is extracted from our HTTP Header, which can be modified with a plug in, but it would be wiser to take security measures on the most fundamental level possible (e.g. VM or even whole system that visits only particular websites with particular languages, along with taking all other measures available).

f) Canvas fingerprinting: Something that puts our anonymity in great danger, since the properties extracted with canvas fingerprinting are almost unique, with more than 99% of the users having their own distinct fingerprint.

Canvas is an HTML5 element allowing a system to create and depict objects using the GPU of our system. The basic idea behind canvas fingerprint is to lure a system into creating an object as requested by the website, and return its' message digest. But since every GPU is slightly different from the others at the circuit level -at the same way with which every weapon is slightly different from the others, thus enabling the authorities identify it using ballistics-, the returned values are in the majority of cases, different in each system.

If other identifiers are taken into account along with canvas fingerprint, it is highly improbable that systems of the same specifications are to be found. Fortunately for our anonymity, there are security measures that we can take. Among them (as you may have already guessed), the use of tor browser, which notifies us if a website uses HTML5 and canvas elements, and returns a blank image to them. Another method would be the use of any Canvas Defender, which modifies the fingerprint. It is recommended that you only use it scarcely, since its' very use can be an identifier.

The collection of the majority of the aforementioned properties can be prevented with three basic measures: disabling javascript, disabling flash, and use of tor with torbutton so that many of the properties will be normalized to the most common values. For even greater safety, the use of a VM with the proper settings can contribute to the prevention of being deanonymized, even if the three measures are somehow bypassed.


4. Beware of the (ever)cookies!


-Do you accept the cookies?

A cookie is nothing but an identification number for the visitor of a website. It is something fully independent from the IP address, and even if changed, the website is still able to identify the users using it. The cookies are saved as files in our computer, used thereafter by the websites and advertisers in order to provide us the most suitable advertisements based on our internet activity.

Theoretically (and most often practically), cookies are deleted from our device upon our request. Even though deleting cookies is no guarantee that the next cookies will not be "connected" to the old ones (e.g. with the use of the e-mail as identifier), the deletion is possible and a matter of seconds.

Yet there is a barely legal form of cookies that resembles a virus -the so called evercookies. Unlike normal cookies, they are not saved only once but multiple times in several parts of the system, rendering it almost impossible to locate and delete them all. And not only they are tough to locate, but they actively "resist" all attempts to get rid of them, as they copy themselves as soon as you delete one of them, thus restoring the deleted copies.

Here is a list of mechanisms utilized to save evercookies, as posted both on Wikipedia and on the personal webpage of their innovator.

     - Standard HTTP Cookies
     - HTTP Strict Transport Security (HSTS) Pinning
     - Local Shared Objects (Flash Cookies)
     - Silverlight Isolated Storage
     - Storing cookies in RGB values of auto-generated, force-cached
        PNGs using HTML5 Canvas tag to read pixels (cookies) back out
     - Storing cookies in Web History
     - Storing cookies in HTTP ETags
     - Storing cookies in Web cache
     - window.name caching
     - Internet Explorer userData storage
     - HTML5 Session Storage
     - HTML5 Local Storage
     - HTML5 Global Storage
     - HTML5 Database Storage via SQLite
     - HTML5 IndexedDB
     - Java JNLP PersistenceService
     - Java CVE-2013-0422 exploit (applet sandbox escaping)

The evercookie is arguably the worst nightmare of whomever wants to cover his internet tracks, since once downloaded to a system, it is to remain within it (at least) until the next HDD format. Even if one thinks he got rid of the cookies, the websites tracking him will still know who he is. Yet that is not the worst part; the latter is that they may be used to deanonymize tor users!


Even if during our everyday computer use we have to (and are often forced to) use cookies, we ought to take paranoid security measures when it comes to anonymity networks, and the existence of the evercookies is among the reasons. The most secure measure I can come up with is to use a VM when surfing with Tor, so in case someone manages to sent us evercookies they will be stored in the VM instead of our own machine. That's why one must never use the same VM he uses with Tor for "eponymous" surfing. We are to elaborate further why in the next chapter.


5. Use Virtual Machines extensively

A Virtual Machine (VM) is, in essence, a computer within a computer. It is very easy to allocate a part of the computational power of our computer to a distinct system -a virtual one-, capable of running even other OSs.

A computer with Mac OS running a VM with Windows 10.
Technically, it is a second computer within the first one.

The main OS of our computer (host OS) runs a program -the virtual machine application- that utilizes some of our system's resources (i.e. RAM memory, CPU cores, etc) in order to have a Virtual Machine use them exclusively, like a distinct computer. As you may recall, it is the logic upon which the Qubes OS was built -thus becoming one of the safest OSs available.

The pros of a VM include that even if it gets affected by a virus or evercookies, they are trapped in the VM: the attacker has no way of knowing that your machine is a virtual one. And even if he somehow finds out (it depends on your VMs specifications, as we will elaborate), there isn't much he can do to affect the Host System. Theoretically at least.

A typical example of a so-called Virual Machine Escape, is what is now known as the venom vulnerability, which might have not affected all VM programs and been patched, but remains an fairly convincing argument that it is always probable that there are parameters we are not aware of.

A VM Escape is possible if the VM has some folder in common with the host OS, as well as through the network adapter, if there is no security on the network level. What can we do to prevent a VM escape? Be very careful with what we download, always use different OS in the VM and the host machine, periodically delete our VMs and create others (with different specifications to prevent fingerprinting), and always be informed about any bugs found. 

Keep in mind that it is highly unlikely that an attacker finds out he is attacking a VM -especially if it is not somehow apparent in the fingerprint (e.g. if one uses 3741 MBs RAM instead of 4096 or any power of 2)-, so we can always count on the VM as an effective security measure, preventing viruses, evercookies and fingerprinting.

As you may have guessed, it is prudent to use a secure OS in the host machine, since we cannot be sure that the commercial OSes don't keep track of what we are doing in any VM running within them. Even with a commercial OS that kind of tracking would be exceptionally impractical -yet still we ought to take all measures available.

The use of TOR within a VM with a secure OS is strongly recommended.



6. Be careful with google, social media, and smartphones!

It is well known -and needless to say-, that google not only surveilles everything, but keeps the data for an arbitrarily long time. You can use search engines and services that boost your anonymity. A typical example is the duckduckgo search engine, which provides results similar to google's without tracking the users. It is highly recommended that you use it for all of your searches that may reveal sensitive data (i.e. medical history, sexual orientation, political views, etc), just like for all searches that can prompt security agencies to keep an eye on you.

It is also needless to say that one ought to be very careful with social media, both when it comes to posts and likes, and messages. It is prudent to avoid any reference to your anonymous activity in chatrooms -and never use them via the VM you use for anonymous surfing. Same for google's services.

Leaving the most paranoid consult for the end, we remind you that it is possible for corporations to record your real-life conversations with your smartphone's microphone, and that you should manage that not a single smartphone must be anywhere around if you have something extreme to hide -e.g. in case a group of journalists discusses about a forthcoming revelation. That is extremely paranoid, yet wise. Whoever has enough money may use a GSMK Cryptophone as well.


Setting up an anonymity machine

Keeping in mind all of the above, let's see some steps towards an anonymity machine

1. The machine has to be based on a high quality laptop. The portability of a laptop means that the user will be able to carry the anonymity machine and connect to any public record -e.g. a cafe. It also means that he won't have a tough time getting rid of it or giving it to a friend if it's possible that the authorities will ring his bell -e.g. in case a journalist obtains top secret data and suspects someone has found out.

2. The machine ought to run a Linux distro. OpenBSD, Qubes OS, and Whonix, previously suggested as the most secure OSes, are very hard to use and have very few programs available, hence they are more suitable for our anonymity VMs. That's not the case for most Linux distros -e.g. Fedora or Debian-, and they can be used as host OSes. It is recommended that you encrypt your HD with a strong password. When it comes to the latter, why not use a normal password combined with the verse of a song to make it extra long?

3. Whichever OS you choose should be used exclusively as the host OS. The rest should be done within VMs to avoid getting viruses, evercookies, and your system fingerprinted. You should not even open a browser within the host OS to exclude such possibility, and add all the files your VM is going to need using a USB stick.

4. Internet connections for general use should be done within a distinct VM than the one(s) you use for the TOR network. The purpose is once again the avoidance of viruses, fingerprinting, and evercookies, all of them turning out to be completely useless for an attacker to track your activity. It is recommended that you do not use a single VM for too long, and replace the deleted ones with others with different characteristics to be safe from fingerprinting.

5. When connecting to anonymity networks, take all the possible security measures previously elaborated .

6. Take all possible measures to avoid browser-fingerprinting even when using distinct VMs. We remind you that every single VM ought to have different specifications, so that they will never be treated as the same machine, even if the attackers find a way to bypass your security measures. We remind you to set your VM up so that the attacker won't be able to figure out that he is attacking a VM -e.g. the available RAM MBs should be a power of two, so that an attacker won't understand he is dealing with a VM because of the 3786 MBs RAM, and won't use VM escape techniques.

7. Always change the MAC address "seen" by the OS of the VM, since attackers may try to uniquely identify you using the MAC instead of the IP, as was the case with FreedomHosting's take-down. Some ways to change it may be found here and here. It is not clear whether it would lure all attackers into believing that you actually have a different MAC address than your actual one, but it might, as the attackers would very likely fetch the MAC that the OS "sees" instead of the real one, depending on their methods.

8. It is recommended that you use public networks as much as possible -without being revealed. That means that even if an attacker obtains the real IP a e.g. researcher used to reveal something he wasn't supposed to, it will lead to... a cafe, or any device that does not allow the attacker to trace the activity back to a specific person. It is apparent that measures irrelevant to computers have to be taken in order for this method to be of any use (i.e. not be seen by a camera)

9. We remind you that all web-browsers developed by large corporations are more probable to keep track of everything you are doing. Tor browser is recommended for anonymous surfing, and any open-source browser for your everyday internet activity.

10. It is imperative that you set the VMs and all of the above, before even connecting your anonymity machine to the internet -something easy to achieve once you set up your system without being connected to any network. If possible, buy your laptop with cash so that your name won't appear in the transaction, thus even if there are system fingerprints we are unaware of, the machine will not be traced back to a particular person. It is also strongly recommended that you periodically shut down your system, to prevent effective cold boot attacks in case of an unexpected visit from the authorities.


Further reading

Tor network and vulnerabilities

Browser fingerprinting

Evercookies 

Virtual machines and virtual machine escapes


-------------------------------------------------

©George Malandrakis
All rights reserved

Κυριακή 12 Αυγούστου 2018

On criminal behavior and the death penalty

Greek version 
(Original title: On criminality and personal responsibility)

Introduction 

I recently had a disagreement with the owner of a quite popular facebook page, because of a post of his, in which he asserted that no one is born being something and that we are all victims of our social environment. That is, even if someone commits a heinous crime, what he needs is help rather than a punishment. That post was the beginning of an exceptionally interesting conversation, as well as of some dismal observations concerning the beliefs of most people nowadays.

One of them is about the percentage of those that seem to embrace this -almost radical- view when it comes to the personal responsibilities of criminals: in the 21st century's western world (at least in Europe), though the advocates of death penalty and even forced chemical castrations for sex offenders are existent, the other extreme, claiming that criminals are victims of society or their genes themselves and deserve de facto humane punishments, is -especially in the juristic circles- more popular.

The other is about the widely held (at least in Europe) belief that all criminals deserve a second (and not only) chance and help, which has resulted in many legal systems not only abolishing the death penalty but setting a limit to how many years one can stay in prison.

The extent to which genes are responsible for criminal behaviors was the beginning of my disagreement with the page's owner, who seems to hold the nowadays-prevailing view in the humanitarian fields, ascribing the responsibility of our social milieu or criminal behaviors to experiences. Though this view has some powerful arguments (which I shall elaborate later), there is evidence that criminal predisposition, especially for violent crimes, can depend on genetic factors.


Criminal behavior: genetically determined or depending on nurture?

Research on twins, as well as on children of convicts that were adopted as infants, indicates that there can be an -often heavy- genetic influence on criminal behavior (an example) -though that does not render it necessary that the genes to blame will be "activated".

There are several mechanisms via which genes can affect behavior and the degree of criminal predisposition. For instance, the way genes can influence testosterone levels in our body and its' effects on the brain can play a significant role. Even though high testosterone levels have been connected to increased aggressiveness, it is not testosterone itself to be blamed: there are countless men with high testosterone levels that are not violent and wouldn't even harm a fly, so the way testosterone can lead to aggressiveness may have to do with other substances interacting with it (there may be genes that somehow require high testosterone levels to be activated, and it may be them that lead to aggressiveness) or the brain structure and how it gets affected by testosterone.

When it comes to the latter, the research indicates that criminals tend to have a thinner pre-frontal cortex -a part of the brain contributing to decision-making, altruism, and empathy. There is also research indicating that psychopaths and violent criminals tend to have a problematic limbic system, which controls emotion and the degree to which they can prevail over reason, as well as research indicating that criminals tend to have a lower intelligence quotient (IQ).

The impact of one's brain structure to one's behavior is undeniable, given that we are basically our brain (rather than an immaterial entity that is going to exist after our physical death), and if this brain is problematic the odds are that so will be the case with us. So is the case with our body chemistry.

Nevertheless, when it comes to criminality, there seem to apply the same rules as in heart disease: just like one can be born with a genetic predisposition for heart disease yet remain healthy until the end of his or her life thanks to a healthy lifestyle, so can one be born with a genetic predisposition for criminal behavior and aggressiveness and yet never commit a crime or harm anyone. Conversely, one may be born with no genetic predilection for a heart disease and yet end up suffering one, thanks to a long-lasting unhealthy lifestyle, just like one may end up being a criminal without being genetically predisposed to, thanks to a long-lasting rough lifestyle and personal problems.

Though there is stark evidence that criminal behavior can be affected by genes, the other view -that whether one will commit a crime or not depends exclusively on the social environment, the nurture and the needs of someone- has some unassailable arguments on its' side: according to the statistics (source: The better angels of our nature by Steven Pinker), during antiquity and the middle ages the probability of someone to murder or be murdered was significantly higher than nowadays. That is also the case with today and several decades ago. Did our genome undergo considerable changes in some decades? Or violent and criminal behavior depends more on the social environment?

The advocates of this view have, thus, a strong argument that made their opinion prevail: the dramatic and impressive reduction of the use of violence during the last decades, indicative of the degree to which our behavior depends on our social environment and way of life rather than genes.

Still, what is certain is that no matter how much are we influenced by our social environment, some people are born with a criminal predisposition. There are countless people living in awful social environments yet the vast majority of them does not commit a single crime during their lifetime -just like there are people who lived a perfectly normal life yet committed heinous crimes. And, bizarrely, they tend to have very particular brain dysfunctions (atrophy of a region and limited blood flow toward it is, technically, a dysfunction) and body chemistry (high testosterone levels, possibly affecting the brain or particular genes)


Free will and personal responsibility

Hundreds of books have been -and are being- written on the influence of our genes and way of living on our behavior. Yet sooner or later arises the question of whether a criminal is to be blamed for being a criminal. No matter if criminals are "victims" of their nurture and social environment or their genes, why should we blame them for their actions if the responsibility lies on an external factor -something they have no control over? That was the main topic of our disagreement, and it was that that led me to dismal and disappointing observations on the prevailing opinions.

Those lovely cultivated humanists that talk about lenient punishments for criminals on the logical grounds that they are not responsible for their actions, commit a gross logical fallacy: they use a reasoning that applies exclusively to philosophical issues to voice an opinion for a social one.

By philosophical/realistic aspect, no one is really  responsible for one's actions, not because one is determined by one's genes or social environment, but merely... because our very existence as entities separate from our environment is just a figment of our fantasy. We are made out of cells, which in turn are made up of molecules, which are made out of atoms, etc, which means that we, just like all of our universe, are a superstructure of interacting quarks arranged in highly intricate structures. There is nothing that separates our quarks from the rest of universe's.

Even where our body ends and "the rest" of the environment begins is unclear: in the quantum level, not a single particle is in a particular position in space. Where do the particles of our bodies (which in fact are constantly interchanged with the ones surrounding us) end, and begin those of the rest of the universe?

The bitter reality is that our behavior arises neither from our instincts nor out of our social environment, but from the laws governing the sub-atomic particles. We are parts of the universe and exist as separate entities, basically, only in our fantasy. Millions of years of evolution resulted to us having a brain, and for the brain to be able to control our body and ensure our survival, it had to have the illussion that the body which it had control over (whatever was controlled by its' nervous system) was an entity distinct from the rest of the environment. Yet that is not the case.

Think, you who had the time and the patience to read until this point: would you consider as sane someone who would ask in earnest for murder's decriminalization with arguments like "no one really dies because his atoms still exist in the universe"? Or someone who would use the vanity of existence and that we are just particles obeying to the laws of physics, as grounds to elaborate his argument that it is not bad to slaughter a family?

Whoever would say in earnest that killing and raping is not really bad because life is an accident, because we "exist" only in our fantasies, and because no one is really responsible for what he does, would end up as a case study for psychiatrists and psychology graduates. For the simple reason that he would have been talking with arguments of the wrong level. To be too much of a rational realist and to mix philosophical and cosmological issues with the social ones, is to end up having strange or even insane opinions.

From a realistic aspect, no one is really responsible for his/her actions, nor has he/she influence to the surrounding world and is just a sort of marionette of it (though there is a pretty convincing counterargument* for the opposite view, of us having a free will). We don't have to talk about instincts, genes, and social determination: everything is interactions of particles. But that is realistically speaking. By a social aspect... there are other logical rules, and we don't take the universal reality into account.

By a social aspect, the only thing we care about is what we are -no matter if it has a free will and individuality or not- to be able to survive and be happy, and that requires a functional society. In order for a society to function, the members that cause problems are to be punished, no matter if they chose to or not. By a social aspect, the philosophical question of whether we have a free will or not is irrelevant. Even if we do not, we can only pretend that we do. Just like a criminal may have had no other choices, we have no other choices either.


*[When it comes to free will, some asseverate that they have found the solution to the problem of its' existence in a deterministic universe. The sub-atomic particle level is chaotic and works with probabilities (Heisenberg's uncertainty principle) -which means that there may be some "space" for free will to exist. Since nothing is predetermined in the particle level, by choosing to do anything, you disturb and unbalance the probabilities of the next situation of the particles around you, which means that they depend, to a certain degree, on you -and not exclusively you on them. That's the counterargument.

I do not intend to elaborate, advocate, or refute this view in the present article, so what we ought to keep in mind for the time being is that we simply cannot care for the subatomic (or molecular, or gene)  interactions when speaking about social issues, and that the quantum chaos may allow to what we call a "free will" to thrive. Let us accept this point and proceed. ]


Confusions and misunderstandings

It is a gross logical fallacy to be led to take into account things that are true only within a philosophical or cosmological context when it comes to how we act and behave in a society. Should we free all serial killers and rapists because "it wasn't them, but the interactions of the electrons"? Well, it is equally illogical to reduce their sentences' length because "it was not them, but their genes/family environment/dysfunctional brains". And beside being logically untenable, given the capabilities and intricacy of our brains, but also devastating to the process of administrating justice.

In the US juries, it is typical for an attorney to blame the dysfunctional brain or the problematic family environment of their clients in order for them to get a lighter sentence. Indeed, in several states, if a convicted rapist and murderer is proved to be mentally retarded can avoid a death sentence and get a plain life sentence instead. Such criminals, technically, do not get the punishment they deserve just because they happened to be born some way. For a choice the didn't make, for a purely statistical mistake, they avoid the death sentence they deserve for a crime they consciously chose to commit.

One could claim that in those states, the ones who get a death sentence, get it because they committed a crime without being retarded. For, as we all know, a retarded criminal is a better person than an intelligent one, and therefore deserves a "lighter" sentence. Where is justice -or even rationality- in this? Especially if we consider the fact that it is not mental retardation that leads someone to crime, and that the vast majority of people with retardation doesn't even harm a fly.

The same applies to the ones that happened to grow up in problematic families. There are hundreds of thousands of them, yet not even one tenth of them ended up robbing, murdering, and selling drugs. Simply put, belonging into that category may increase the odds that you will choose a life of crime. Yet the choice remains yours.

And even if it isn't, as I elaborated, even if behaviorists were right and we are indeed completely predictable automata reacting to stimuli, possessing no free will whatsoever and choosing our deeds as much as a planet chooses being trapped into the gravitational field of a star, what we care about in a society is the survival and well-being of its' members. If some member happens to be problematic and does not allow society to function normally, we have no choice but to make sure that society gets rid of it.

So, regardless of which logical approach we choose -behavioral determinism or not- the conclusion remains the same: a criminal is to be punished. The only question is whether we ought to help some criminals and give them a second chance. The only ones to be helped and given a second chance are those who committed a crime on grounds of a compelling need -a starving homeless stealing something to eat, for instance, or a long-term unemployed who ends up slinging for to have his children fed. When it is society itself that pushes some of its' members to a criminal life, the root of the problems lies on its' structures.

Consider someone whose parents had an accident when he was an infant and ended up in an orphanage. He was most likely never given the proper education and preparation to get a college degree or even finish high school -the state did not take care of him. He ended up doing minimum-wage jobs for a choice he didn't make, and it is well-known that the ones getting the minimum wage are highly more likely to commit a crime than the rest of the population. Take into account cultural factors (i.e. it once was highly respected in mountainous Greece to rob the wealthy), and you may agree that in some cases it is the society that is problematic, and not such criminal members of it. If our hero committed i.e. a theft, he would most likely deserve help rather than plain punishment.

When the reason someone was led to crime is clearly a problematic society or state, or even a serious personal disaster (who would want a harsh sentence for someone who killed the rapist and murderer of his daughter?), then we can discuss second chances and help. Still, that depends on the particular case and no general rule can be applied to the whole category.

Do the same principles apply to people who committed hideous crimes with no apparent reason other than their biology and psychology? A serial killer who carefully planned his murders, committing them merely for joy and pleasure, can ever be considered to deserve a second chance? Why should we take into account their past and even their genetic make-up before deciding whether they are to be executed or not? And if we are to pardon or give a lighter sentence to someone because it was his past or "his genes", why not do so with everyone because, after all, it was the interactions of elementary particles?

And this is the second disheartening observation: not only more and more seem to commit the logical fallacy of confusing the genetic, the psychological, and the social level but, as if that wasn't enough of a fallacy, they typically insist that the lighter the sentence, the more just and humane. Let me show you why this premise is ridiculous.

I want to believe that we do not disagree on that the punishment of a crime ought not be disproportionate to the harm it caused. Stealing a chocolate-bar (an act lasting several seconds with technically no harm and damage for its' owner) ought not be punished by chopping the offender's hand off (which lasts for a lifetime and it is devastating in all aspects of life). That would be unfair, since it would be a disproportionately heavy sentence compared to the offense itself. The most fundamental principle of justice is the analogy of misdeed and punishment -not necessarily literally an eye for an eye, but one should have his life ruined when willingly ruining the life of another.

Once we accept this as a fact, why should we consider more just a "humane" punishment for a murderer?

Let us accept that if you killed only once you may deserve a second chance. Let's say that you were very young when you did it and that you have become another person in the meanwhile, or that you were led to such an act after the victim attacked against you, or that he harmed your family and got what he deserved. A second chance and mild sentence for someone who committed a serious crime only once, may be reasonable and just (even thought that is still debatable and depends on the particular case).

Is it so for someone who committed multiple offenses? Is someone who is behind the murder of six people and the rape of four other getting a second or an eleventh chance after being released from prison after 25 years -the longest time one can be held as prisoner in Greece, where I happen to live? When Norwegians release Brejvik after 21 years in jail, how just and "humane" will it be that the "man" who ruined dozens of families by killing their members is once again in the streets?

The punishments ought to be proportionate to and suitable for the offenses, and in some cases the proportionate and suitable is... the death row. The widely held principle that all strict punishments and death penalties are unjust and unsuitable, has the prerequisite of us abandoning the most fundamental principle of justice, that a punishment should be proportional to the offense -which happens to be simultaneously reasonable and in accordance to our instincts-, and is based upon an arbitrary -almost superstitious- bias against strict sentences. This prejudice treats such punishments as de facto unjust, without providing many reasonable arguments. And it is very dismal that the ones in favor of the death penalty in Europe are, on average, less educated: it is as if we have been brainwashed into connecting in our minds the death penalty with primitives, as if we try to seem "cultivated" by talking about second chances and "understanding" for each and every psychopath.

This belief is logically falacious. "Humane" punishments are not necessarily just, and in some cases the "primitive" ones may be more suitable. There is no real rationale that can support the arbitrary beliefs about second chances even for dangerous criminals, and no such arbitration can stand a rational analysis.


In conclusion

Criminal behavior, as the statistics of the last decades indicate, may depend largely on the social environment, yet the role of the genes and body chemistry is undeniable. As an interlocutor put it, you inherit the probability to become a criminal and whether you will engage in criminal behaviors or not depends on your nurture and social milieu too -genes alone cannot determine it. Nor can nurture. There are countless people living an awful life yet never harmed anyone -just like there are people living perfectly normal lives yet committed hideous crimes. Just like there are countless people with "criminal" genes, yet are well-behaving and law-abiding.

When it comes to determinism -whether it is social or genetic-, it does not diminish the personal responsibility of a criminal. Our brain is intricate enough to pretend that it provides us a free will, and to blame a behavior on a set of genes to get a lighter sentence is equally illogical with blaming it to the interactions of the subatomic particles we consist of and our inability to control them. There is no reason to get to so fundamental levels of nature, as the genetic, the molecular, and the subatomic, to explain the behavior of a human being -let alone justify it.

We can only talk about helping a criminal only if he was led to a criminal act due to a compelling economical need or personal disaster, and his psychological world, genetic make-up, and cognitive abilities are absolutely irrelevant and not to be taken in to account. If he suffered from psychological problems, he could have consulted a psychologist. If he has a problematic gene, to take it into account in order to give him a lighter sentence is equally unjust and irrational to take into account his racial origins for the same purpose -just like it is unjust and irrational to give a harsh sentence to someone who happened to be born with African genes, it is unjust and irrational to give someone a light sentence because he happened to be born with "criminal" genes. When it comes to cognitive abilities, it is outrageously idiotic to take them into account since mental retardation does not increase the odds of becoming a criminal, nor is a mentally retarded offender de facto a better person than an intelligent one who committed the same crime.

The punishments ought to be lenient for otherwise law-abiding people that were led to crime clearly due to a need, yet strict and harsh for the ones who committed a crime with no reason other than their psychopathy or problematic genes. In extreme cases -such as serial murderers, rapists, and arsonists-, the "primitive" punishment of the death penalty may be more appropriate. A "primitive" punishment is not necessarily unjust; it is a logical fallacy and an arbitrariness to consider harsh punishments as de facto unjust and humane punishments as de facto fair.

One of the typical "arguments" of those who want to abolish the death penalty is that executing a murderer does not bring the victim back. Well, not executing him does not bring the victim back either. But at least the offender gets a punishment proportionate to his deed -as is justice supposed to be-, and society gets rid of a problematic member.


------------------------------------------------

©George Malandrakis
All rights reserved

Τετάρτη 27 Ιουνίου 2018

Πώς να παραμείνεις ανώνυμος στο διαδίκτυο





(Update/Disclaimer 2022):
Ακόμα και ένα open source software μπορεί κάλλιστα να κατεβάσει modules που στέλνουν τακτικά ραπόρτο για το ποια sites επισκέφθηκες, τι έκανες, ή πληροφορίες ακόμα και για τα serial numbers των πυρήνων του επεξεργαστή σου για να προσδιοριστείς μοναδικά. Η πιθανότητα είναι απελπιστικά μικρή, αλλά ό,τι μέτρο ασφαλείας και να λάβεις, θα επινοηθούν τρόποι να παρακαμφθεί.

Αν πρέπει οπωσδήποτε να κάνετε κάτι ανώνυμα στο internet, εξακολουθούν να ισχύουν  σε κάποιο βαθμό οι παρακάτω "τεχνικές", αλλά δεν αποτελούν εγγύηση, και δη στη περίπτωση που κάνετε πράγματα ανώνυμοι ρουτινιάρικα. 

Το παρακάτω είναι για δημοσιογράφους που θέλουν να κάνουν μια μεγάλη αποκάλυψη ανώνυμα, και θέλουν να τη κάνουν μια και έξω. 

Δεν είναι για παιδάκια που θέλουν να μπαίνουν κάθε μέρα darknet.

 Και σίγουρα δεν είναι για άτομα που θέλουν να πουλήσουν/αγοράσουν ναρκωτικά/παιδική πορνογραφία/όπλα σε αυτό. Αυτα θα εντοπιστούν αργά ή γρήγορα από το bitcoin transaction (ευτυχώς για όλους).

Δεν θα έμπαινα στο κόπο να το τονίσω τόσο ξεκάθαρα, αλλά δεδομένης της επισκεψιμότητας που έχει το θεώρησα πρέπον.


Εισαγωγή

Σκοπός του παρόντος είναι να δώσει στους αναγνώστες μια ιδέα του πώς μπορούν, αν θελήσουν, να προστατεύσουν τα δεδομένα τους και να παραμείνουν ανώνυμοι στο διαδίκτυο. Ή, κάλλιο, σχεδόν ανώνυμοι -γιατί, όπως θα δείξουμε και με συγκεκριμένα παραδείγματα, μπορεί εκείνοι που θέλουν να προσδιορίσουν ποιος κάνει τι, να είναι ένα βήμα πιο μπροστά.

Το παρόν άρθρο χρησιμοποιεί τον όρο "ανωνυμία" με δυο τρόπους: ο πρώτος είναι η συμβατική έννοια -δηλαδή η αποτροπή αντιστοίχισης διαδικτυακών κινήσεων σε συγκεκριμένα άτομα ή οργανισμούς. Ο δεύτερος είναι γενικά η αποτροπή υποκλοπής δεδομένων από κάποιον, μιας και τα δεδομένα ενός υπολογιστή μπορούν να οδηγήσουν στη ταυτοποίηση ενός κατά τ'άλλα ανώνυμου χρήστη.

Αντί να περιοριστούμε σε αόριστες γενικολογίες ("χρήση tor", "απόρριψη cookies" κ.α.) θα υπεισέλθουμε σε ελαφρώς πιο "τεχνικά" ζητήματα, μεταξύ άλλων στο τι να προσέχουμε σε δίκτυα ανωνυμίας, στο ρόλο του λειτουργικού συστήματος, και τις προσφάτως αναπτυχθείσες τεχνικές browser-fingerprinting με τις μεθόδους αποτροπής αυτού.

Προειδοποιούμε εκ των προτέρων τον αναγνώστη ότι υπάρχει το ενδεχόμενο οι επιτιθέμενοι να είναι ένα βήμα πιο μπροστά από εκείνον που θέλει να παραμείνει ανώνυμος. Σημειώνουμε επίσης ότι το παρόν άρθρο περιγράφει τις τεχνικές όπως έχουν τον Ιούνιο του 2018.

Η ανωνυμία, οι εγκληματίες, και ο "ορθολογισμός"

"Γιατί να θέλω να παραμείνω ανώνυμος στο διαδίκτυο; Δεν έχω τίποτα να κρύψω. Μόνο σε εγκληματίες και ανώμαλους μπορεί να χρησιμεύσει η ανωνυμία"

Να κάτι που ακούμε συχνά-πυκνά από εκείνους που τάσσονται υπέρ της μαζικής παρακολούθησης κάθε μας κίνησης στο διαδίκτυο. Πώς θα έφτανε στα αυτιά σας όμως η αντίστοιχη φράση για την ελευθερία του λόγου;

"Γιατί να θέλω την ελευθερία του λόγου; Δεν έχω τίποτα να πω. Μόνο σε υβριστές και συκοφάντες μπορεί να χρησιμεύσει η ελευθερία αυτή"

Ακόμα και αν ορισμένοι δεν έχουν τίποτα να πουν, υπάρχουν άλλοι που έχουν. Και ίσως αυτά να μην είναι ούτε ύβρεις, ούτε συκοφαντίες -μπορεί απλώς να είναι πράγματα που δεν αρέσουν στους εκάστοτε "από πάνω". Αντίστοιχα για την ανωνυμία: ακόμα και αν ορισμένοι δεν έχουν τίποτα να κρύψουν, υπάρχουν άλλοι που έχουν. Και ίσως αυτά να είναι άσχετα με το έγκλημα και την ανωμαλία -μπορεί απλώς να είναι πράγματα που δεν θα άρεσαν στους εκάστοτε "από πάνω".

Δεν χρειάζεται πολλή φαντασία για να σκεφτεί κάποιος ότι ενδέχεται τα δεδομένα που συλλέγονται από τις διαδικτυακές μας κινήσεις μπορεί να χρησιμοποιηθούν εναντίον μας. Ο πρώτιστος σκοπός της μαζικής παρακολούθησης δεν είναι η "προστασία του κοινωνικού συνόλου από τους εγκληματίες", παρά η προστασία των κυβερνήσεων από τυχόν αντικαθεστωτικούς. Και ειδικά στη περίπτωση που επικρατεί κάποιου ακραία ή δικτατορική κυβέρνηση, τα συλλεχθέντα δεδομένα μπορεί να τη βοηθήσουν στον εντοπισμό ατόμων με βάση πολιτικές πεποιθήσεις, θρησκευτικές αντιλήψεις, ή και σεξουαλικό προσανατολισμό.

Η ιστορία είναι γεμάτη σκαμπανεβάσματα, και κανένας δεν μας εγγυάται πως αύριο δεν θα υπάρχει απολυταρχική κυβέρνηση στη χώρα μας -όποια και αν είναι αυτή. Αλίμονο αν της έχουμε δώσει εκ των προτέρων τη δυνατότητα να γνωρίζει τα πάντα για εμάς και να παρακολουθεί κάθε μας κίνηση. Ο "ορθολογισμός" του "δεν έχω τίποτα να κρύψω -άρα να μην υπάρχει ανωνυμία" είναι μια γελοιότητα.

Συν τοις άλλοις, πρέπει πάντα να λαμβάνουμε υπόψιν τον παράγοντα που ονομάζεται "ανθρώπινη φύση": ακόμα και δεν έχεις τίποτα να κρύψεις στο κρεβάτι ή στη τουαλέτα σου, δεν θα ένιωθες ωραία αν κάποιος σε παρακολουθούσε σε αυτά. Δεν υπάρχει αποχρών λόγος για αυτό· είναι απλά η ανθρώπινη φύση. Εκείνοι που δεν θέλουν μια κάμερα να τους τραβάει βίντεο στις πιο ιδιωτικές τους στιγμές, καθώς και εκείνοι που δεν θέλουν να παρακολουθούνται διαρκώς στο διαδίκτυο, δεν οφείλουν καμία εξήγηση. Απλά δεν αισθάνονται καλά με κάτι τέτοιο.

Το αστείο είναι πως τα άτομα που επικαλούνται την ανθρώπινη φύση για να δικαιολογήσουν την απληστία των πλουσίων, όταν πρόκειται για την ανωνυμία στο διαδίκτυο αίφνης θυμούνται τον... ορθολογισμό. Το να θες πάντα περισσότερα από όσα έχεις ακόμα και αν αυτά είναι υπερ-αρκετά είναι δικαιολογημένο γιατί είναι "ανθρώπινη φύση" -το να μην σου αρέσει να παρακολουθείσαι όμως γιατί δεν νιώθεις καλά είναι "παράλογο" και "ύποπτο".

Τελειώνοντας με τα περί ανωνυμίας, θα αναφέρουμε ονομαστικά ορισμένες κατηγορίες που τη χρειάζονται, χωρίς να πρόκειται περί παιδεραστών ή εμπόρων ναρκωτικών:
  • Ανεξάρτητοι δημοσιογράφοι
  • Άθεοι του Ιράν και της Σαουδικής Αραβίας
  • Μη-κομμουνιστές Κίνας και Βόρειας Κορέας
  • Αντικαθεστωτικοί σε Τουρκία, Ρωσία, και άλλες ημιδικτατορικές χώρες 
  • Άτομα που μάχονται ενάντια στα καρτελ ναρκωτικών στη Λατινική Αμερική

Παραμένοντας ανώνυμος!

1. Χρήση Tor ή συναφούς δικτύου (με μεγάλη προσοχή)

Είναι παγκοίνως γνωστό ότι μια IP διεύθυνση είναι πολύ εύκολο να "κρυφτεί" με τη χρήση ενός proxy server. Στην ουσία, μια συσκευή συνδεδεμένη στο internet συνδέεται σε ένα σύστημα με διαφορετική IP, και οι κατοπινές επισκέψεις σε ιστοσελίδες φαίνεται να έγιναν από το δεύτερο σύστημα. Να σημειωθεί πως αυτό δεν ισχύει αν ενεργοποιηθούν cookies στη δική μας συσκευή.

Ωστόσο, ακόμα και στη περίπτωση που έχουμε πλήρως απενεργοποιημένα τα cookies (ή που φροντίζει κάπως ο proxy για τη μη-ενεργοποίησή τους), είναι πολύ εύκολο για τις αρχές να βρουν ποιος έκανε τι μέσω του εκάστοτε proxy server: οι συνδέσεις σε proxy καταγράφονται σε logs, και ακόμα και αν η εκάστοτε ιστοσελίδα "ξεγελαστεί", δεν ισχύει το ίδιο με τις αρχές εφόσον βγει ένταλμα έρευνας. Το εν λόγω πρόβλημα λύνεται με τη χρήση του δικτύου Tor, στο οποίο μπορείτε να συνδεθείτε κατεβάζοντας τον ομώνυμο browser από τη σχετική ιστοσελίδα.

Οφείλουμε να γράψουμε κάποια βασικά πράγματα για τη λειτουργία του, καθώς και για τα πιθανά κενά ασφαλείας που μπορεί να έχει.


Αντί ο χρήστης να συνδέεται άμεσα με την εκάστοτε ιστοσελίδα, συνδέεται πρώτα σε έναν κόμβο του δικτύου tor που θεωρείται ως κόμβος εισόδου (entry node). Το σύστημα του χρήστη έτσι "βλέπει" τον κόμβο εισόδου αντί του καθ'αυτού site. Ο κόμβος εισόδου έπειτα συνδέεται σε έναν ενδιάμεσο κόμβο του δικτύου, και ο προαναφερθείς αγνοεί τη διεύθυνση ή οποιαδήποτε πληροφορία για τον χρήστη. Θεωρεί ότι λαμβάνει αιτήσεις για δεδομένα από τον κόμβο εισόδου αντί του χρήστη, και τα αποστέλλει όλα στον πρώτο. Έπειτα, αν ο ενδιάμεσος κόμβος δεν συνδέεται σε άλλον ενδιάμεσο κόμβο δημιουργώντας έτσι μεγαλύτερη "αλυσίδα", συνδέεται στον κόμβο εξόδου (exit node), και ο τελευταίος συνδέεται στην ιστοσελίδα. Έτσι, η ιστοσελίδα "βλέπει" μόνο το exit node και όχι το χρήστη που συνδέθηκε σε αυτή.

Οι κόμβοι και ο χρήστης αποτελούν ένα "κύκλωμα" (tor circuit), μέσω του οποίου αποστέλλονται δεδομένα. Παρέχεται η δυνατότητα στο χρήστη να αλλάζει κύκλωμα κατά βούληση -μια λειτουργία που τερματίζει τις συνδέσεις στην όποια ιστοσελίδα.

Η ιδιαιτερότητα αυτού του δικτού έγκειται στο ότι τα nodes δεν διατηρούν ιστορικό και είναι αδύνατον να εντοπιστεί ποιος κόμβος συνδέθηκε σε ποιον και τελικά σε ποια ιστοσελίδα. Οι αρχές έτσι θα έβρισκαν μέσω των logs την IP του exit node, χωρίς να μπορούν να βρουν τα ενδιάμεσα και το αρχικό. Συν τοις άλλοις, τα δεδομένα κρυπτογραφούνται εκ νέου σε κάθε κόμβο, και ακόμα και αν κάποιος μπορέσει να τα υποκλέψει είναι αδύνατον να τα διαβάσει και να δει σε ποιον προορίζονταν.

Τη πλέον τρανταχτή απόδειξη περί της ασφάλειας του δικτύου tor, τη παρέχει το "παρτυ" παιδεραστίας και εμπορίου ναρκωτικών που λαμβάνει χώρα μέσω αυτού, καθώς και το ότι η Αμερικανική και η Ρωσική κυβέρνηση προσφέρουν εκατομμύρια σε όποιον βρει τρόπο να το "χακάρει".Είναι, ωστόσο, εύλογο να διατηρούμε ορισμένες επιφυλάξεις για το κατά πόσον είναι απόλυτα ανώνυμο για όλους και σε όλες τις περιπτώσεις.


Γνωστές μέθοδοι εντοπισμού χρηστών στο Tor

Μια μέθοδος εντοπισμού χρηστών στο tor είναι η παρακολούθηση των συνδέσεων προς αυτό και σύγκριση της ώρας σύνδεσης, του όγκου δεδομένων, και των patterns μετάδοσής τους κατά την επικοινωνία ενός υπόπτου στο δίκτυο tor με το entry node, και τα αντίστοιχα του exit node με την ιστοσελίδα (traffic analysis). Υπάρχει μάλιστα η δυνατότητα τα δεδομένα να "πειράζονται" ώστε να εντοπίζεται σε ποιον αντιστοιχούν παρά τη κρυπτογράφηση.


Η γενική ιδέα είναι απλουστευμένα η εξής: αν ένας χρήστης λαμβάνει ένα αρχείο μεγέθους 15.4Mbytes χωρισμένο σε 513 πακέτα, και την ίδια περίπου ώρα υπάρχει κόμβος που μεταδίδει ένα τέτοιο αρχείο, υπάρχει μεγάλη βεβαιότητα πως ο χρήστης είναι συνδεδεμένος με τον συγκεκριμένο κόμβο. Ειδικά στη περίπτωση που εισαχθεί ένα "pattern" -φερ'ειπείν, τα πακέτα να μεταδίδονται το ένα μετά το άλλο με συγκεκριμένες μεταβολές στο ρυθμό μετάδοσης-, η βεβαιότητα είναι ακόμα μεγαλύτερη. Ένας επίδοξος χακερ μπορεί να έχει τον έλεγχο αρκετών κόμβων στο δίκτυο και να παρακολουθεί στοχευμένα τη κίνηση. Οι κόμβοι εν προκειμένω θα θεωρούντο "bad relays".

Το πρόβλημα των bad relays είναι υπαρκτό, και παρόλο που έχουν αναπτυχθεί στρατηγικές εντοπισμού τους, είναι κάτι το μάλλον συχνό να εντοπίζονται με καθυστέρηση. Μια από τις άμυνες του δικτύου tor στις επιθέσεις traffic analysis, είναι η προσθήκη θορύβου (βλ. πακέτα άνευ πραγματικών δεδομένων) στο δίκτυο, οπότε καθώς οι κόμβοι στέλνουν "άσχετα" πακέτα ο ένας στον άλλον είναι πιο δύσκολο να γίνει traffic analysis με αποτελέσματα. Μια άμυνα των χρηστών ποντάρει στο ότι ακόμα και αν ένας επιτιθέμενος ελέγχει μερικά nodes, δεν ελέγχει το σύνολο του δικτύου, και αν αλλάζει τακτικά το κύκλωμα τα τυχόν bad relays θα παρακολουθούν τις κινήσεις του μόνο προσωρινά.

Μια άλλη μέθοδος των αρχών χρησιμοποιήθηκε το 2011 στην επιχείριση torpedo, οδηγώντας στη σύλληψη αρκετών ατόμων. Συγκεκριμένα, αφότου οι αρχές απέκτησαν τον έλεγχο κάποιων ιστοσελίδων, φρόντισαν να "κατεβαίνει" στους επισκέπτες ένα script που έκανε ping σε κάποιον server του FBI με χρήση της κανονικής IP. Οι αρχές "επισκέφθηκαν" κάθε σπίτι με IP που εντοπίστηκε. Εν προκειμένω, η επίθεση έγινε μέσω του adobe flash, αλλά η ίδια μέθοδος μπορεί να χρησιμοποιηθεί μέσω άλλων εργαλείων.

Το 2013 το πασίγνωστο site Freedom Hosting, που φιλοξενούσε μεταξύ άλλων και πορνογραφία ανηλίκων, έκλεισε μαζί με πολλές άλλες ιστοσελίδες του δικτύου tor, όταν οι αρχές αξιοποίησαν ένα κενό ασφαλείας στον firefox κάνοντας μέσω javascript τους υπολογιστές πολλών χρηστών του tor, να αποστέλλουν την IP και τη MAC διεύθυνσή τους στους servers του FBI.

Ο κοινός παρονομαστής αυτών των επιθέσεων ήταν ότι στηρίχθηκαν στο flash και στο javascript, τα οποία είναι εξ'ορισμού απενεργοποιημένα αν το tor χρησιμοποιείται με τις κατάλληλες ρυθμίσεις ασφαλείας.


Ο tor browser παρέχει τη δυνατότητα απενεργοποίησης όλων όσων μπορούν να θέσουν σε κίνδυνο την ανωνυμία του χρήστη, με τη χρήση του high security level -έστω και αν κάτι τέτοιο δυσχεραίνει το σερφάρισμα, μιας και μεγάλα κομμάτια πολλών ιστοσελίδων στηρίζονται στο javascript και στο flash.

Κατά καιρούς έχουν αποκαλυφθεί διάφορα κενά ασφαλείας στο tor -με πρόσφατο παράδειγμα το Tormoil-, αλλά και μέθοδοι εντοπισμού χρηστών τελείως άσχετες με το καθ'αυτό tor -με αποκορύφωμα τα evercookies, για τα οποία θα μιλήσουμε παρακάτω.

Μια άλλη... "κουφή" μέθοδος ταυτοποίησης χρηστών γίνεται μέσω των patterns της χρήσης του ποντικιού από μέρους τους! Συγκεκριμένα, ο τρόπος με τον οποίο κάνουμε scroll down και μετακινούμε το βελάκι στην οθόνη είναι ιδιαίτερος και διαφέρει από άνθρωπο σε άνθρωπο. Συνιστάται λοιπόν και να χρησιμοποιείτε... διαφορετικά το ποντίκι σας όταν είστε στο Tor (εφόσον δεν απενεργοποιείτε το javascript)!

Παρόλα αυτά το tor παραμένει ένα ισχυρό εργαλείο για όποιον θέλει να καλύψει τα διαδικτυακά του ίχνη, και οι ταυτοποιήσεις χρηστών παραμένουν μάλλον οι εξαιρέσεις, ακόμα και μετά από ενδελεχέστατες έρευνες. Το "παρτυ" ανεξέλεγκτης παρανομίας στο δίκτυο tor αποτελεί τη πλέον τρανταχτή απόδειξη περί αυτού. Είναι επίσης χαρακτηριστικό ότι οι επονομαζόμενοι "whistleblowers", που δημοσιεύουν απόρρητα έγγραφα μυστικών υπηρεσιών, κάνουν εκτενή χρήση του Tor.

Σε κάθε περίπτωση όμως, πρέπει να είμαστε ιδιαίτερα προσεκτικοί με αυτό. Για τους λόγους που αναφέρθηκαν παραπάνω, συνιστάται η χρήση του με high security level, που σημαίνει  μεταξύ άλλων και απενεργοποιημένο το javascript όπως και κάθε είδους plug-in. Στο tor είναι πολύ σημαντική και η τακτική αλλαγή του κυκλώματος. Για λόγους που θα αναλυθούν παρακάτω επίσης, συνιστάται να τρέχει σε σύστημα με linux (συγκεκριμένες διανομές), BSD, ή qubes OS, και κατά προτίμηση μέσω εικονικής μηχανής. Γενικά, για μεγαλύτερη ασφάλεια συνιστάται η χρήση tor παράλληλα με τα άλλα μέτρα που αναφέρονται στη παρούσα ανάρτηση.

Ως εναλλακτική του δικτύου Tor αναφέρεται ενδεικτικά το Freenet.


2. Χρήση ασφαλούς λειτουργικού συστήματος 

Είναι γνωστό ότι στα "εμπορικά" λειτουργικά συστήματα (ήτοι, Windows και MacOS) παρακολουθούνται τα πάντα. Είναι χαρακτηριστικό ότι στα Windows 10 δυνητικά καταγράφονται ακόμα και αυτά που πληκτρολογείς, σαν να υπάρχει ενσωματωμένος keylogger. Βέβαια, ακόμα και στη περίπτωση που δεν αποστέλλεται το σύνολο των δεδομένων αυτών στη microsoft (αυτό εξάλλου θα δημιουργούσε έναν τεράστιο φόρτο δεδομένων προς επεξεργασία το μεγαλύτερο μέρος του οποίου θα ήταν εντελώς άχρηστο), και ακόμα και στη περίπτωση που κάποιος τροποποιεί τις σχετικές ρυθμίσεις, το γεγονός δεν αλλάζει: υπάρχει η τεχνική δυνατότητα να δουν δεδομένα σου.

Είναι επίσης πολύ γνωστό ότι η μεγάλη πλειοψηφία των ιών -μέρος των οποίων θα μπορούσε, όπως είδαμε, να αποσκοπεί στην αποκάλυψη της ταυτότητας χρηστών σε δίκτυα ανωνυμίας- είναι σχεδιασμένη για windows. Αυτό αφενός επειδή η μεγάλη πλειοψηφία του κόσμου χρησιμοποιεί windows, και αφετέρου γιατί σε άλλα λειτουργικά είναι πιο δύσκολο να "τρέξει" ένα πρόγραμμα χωρίς τη συγκατάθεση του χρήστη.

Κανένας δεν σου μπορεί να σου εγγυηθεί ότι τα Windows δεν "λογοδοτούν" για το αν χρησιμοποιείς Tor ή άλλα δίκτυα ανωνυμίας, όπως κανένας δεν μπορεί να σου εγγυηθεί για το τι πληροφορίες μπορεί να αποστέλλουν στη microsoft χωρίς να το ξέρεις. Ο κώδικας των Windows, καθώς και του MacOS, πέρα από... ελαφρά μυστικός είναι και πολύ σύνθετος -που σημαίνει ότι ακόμα και αν τον βλέπαμε θα ήταν υπερβολικά δύσκολο να βρούμε τυχόν σημεία του που αφορούν στην υποκλοπή δεδομένων.

Ως εκ τούτου, κάποιος που θέλει να διασφαλίσει τα δεδομένα και την ανωνυμία του, είναι πιο συνετό να χρησιμοποιεί κάποιο άλλο λειτουργικό -κατά προτίμηση open source, οπότε και κάθε αλλαγή σε αυτό ελέγχεται από πάμπολλους ανεξάρτητους προγραμματιστές που μπορούν να εντοπίσουν  "τρωτά" σημεία. Θα ρίξουμε μια συνοπτική ματιά στις εναλλακτικές μας, δίνοντας βάρος στις πιο παρανοϊκές.

α) Linux (γενικά)



Το linux είναι βασισμένο στο ΛΣ unix, και άρχισε να αναπτύσσεται στις αρχές της δεκαετίας του 1990. Έκτοτε έχουν βγει πάμπολλες εκδοχές του, με γνωστότερες τις Ubuntu, Debian, Slackware, Fedora, Mint, και Arch. Βασικό χαρακτηρισικό του, η δυνατότητα προσαρμογής του στις ανάγκες του χρήστη -εφόσον έχει τις γνώσεις-, καθώς και ότι είναι open source -που σημαίνει ότι κάθε αλλαγή στο κώδικά του ελέγχεται από πολλούς ειδικούς, καθώς και από κάθε ενδιαφερόμενο με τις κατάλληλες γνώσεις.

Οι ιοι για linux είναι πρακτικά ανύπαρκτοι, και το ότι ο κώδικάς τους ειναι προσβάσιμος σε όλους δεν αφήνει μεγάλα περιθώρια για σκόπιμη ενσωμάτωση backdoors και τρωτών σημείων σε αυτόν.


β) OpenBSD

Θεωρείται ως το ασφαλέστερο λειτουργικό σύστημα που έχει υπάρξει μέχρι στιγμής (αν και, όπως θα δούμε παρακάτω, ίσως το Qubes OS να διεκδικεί τη πρώτη θέση). Βασισμένο στο unix-based Berkeley Software Distribution, το OpenBSD είναι ένα από τα πιο δύστροπα λειτουργικά συστήματα που μπορεί να χρησιμοποιήσει κάποιος. Είναι χαρακτηριστικό ότι ακόμα και το GUI του πρέπει να εγκατασταθεί χειροκίνητα. Έχοντας χρησιμοποιήσει το OpenBSD, μπορώ να πω ότι είναι παντελώς ακατάλληλο για άτομα που δεν χαρακτηρίζονται από τεράστια υπομονή με τους υπολογιστές.

Είναι πάραυτα η καλύτερη επιλογή που έχει κάποιος αν θέλει βέβαιη ασφάλεια, καθώς στα εικοσιτρία χρόνια που μετράει στον κόσμο της πληροφορικής, έχουν εντοπιστεί συνολικά δυο backdoors που έχουν προ πολλού διορθωθεί, ενώ ο κώδικάς του είναι υπό διαρκές auditing από πεπειραμένες ομάδες προγραμματιστών που αναζητούν κενά στην ασφάλειά του. Ακόμα και ειδικοί που θεωρούν τα BSD αναξιόπιστα ελλείψει μεγάλου αριθμού προγραμματιστών που ασχολούνται με αυτά, αναγνωρίζουν πως το OpenBSD είναι ένα δυνατό και ασφαλές ΛΣ.

Καλό είναι να διατηρούμε κάποια επιφύλαξη ακόμα και για το OpenBSD, καθώς, ως ανεφέρθη, είναι σχετικά λίγοι εκείνοι που ασχολούνται εκτενώς με αυτό, και αν δουλευαν περισσότεροι είναι πολύ πιθανό ότι θα είχαν βρεθεί και άλλα κενά ασφαλείας. Αξιοσημείωτες και οι κατηγορίες ότι το FBI πλήρωσε άτομα που δούλευαν σε αυτό για να δημιουργήσουν σκόπιμα backdoors στο cryptographic framework του -αν και δεν αποδείχθηκε ποτέ πως έγινε κάτι τέτοιο και πλησιάζει δεκαετία από τότε που διατυπώθηκαν.

Η ασφάλεια όπως και η δυσκολία του είναι απόρροιες της απλότητας του κώδικά του, και συνιστάται εκτενής πειραματισμός σε VM πριν τη τυχόν εγκατάσταση.


γ) Qubes OS
(Update/Disclaimer 2022):
Αν και μέχρι στιγμής δεν έχει αποκαλυφθεί κάτι, ίσως να είναι σοφό να μείνετε μακριά από τέτοια λειτουργικά, αφού αυτά είναι που προσπαθεί μετά μανίας να "χακάρει" η NSA και υπάρχει πάντα η πιθανότητα κάποιο από αυτά να αποδειχθεί honeypot. 

Ένα ακόμα unix-based ΛΣ, που, αν και δεν θεωρείται (ακόμα) ως το ασφαλέστερο επειδή έχει δοκιμαστεί μόλις το 1/5 των χρόνων που το OpenBSD κρατάει αυτή τη θέση, διεκδικεί σίγουρα τον τίτλο του πιο παρανοϊκού ΛΣ που έχει αναπτυχθεί μέχρι στιγμής. Το Qubes OS χρησιμοποιεί μια τελείως διαφορετική προσέγγιση από τα άλλα ΛΣ που στοχεύουν στην ασφάλεια, θεωρώντας πως ο χρήστης είναι ήδη... θύμα hacking!

Με αυτή τη παραδοχή ως σημείο εκκίνησης, είναι χτισμένο ούτως ώστε να "σώζει τα άσωτα" σε περίπτωση που αυτή ισχύει, χωρίζοντας το σύστημα σε "κύβους" (εξού και το όνομα) πλήρως διαχωρισμένους ο ένας από τον άλλον. Οι "κύβοι" αυτοί είναι στην ουσία εικονικές μηχανές (virtual machines ή απλά VMs): έκαστο χρησιμοποιεί δικό της χώρο στη RAM, πλήρως διαχωρισμένο από τους άλλους, καθώς και συγκεκριμένο κομμάτι της CPU και της cache. Άλλος "κύβος" είναι τα αρχεία του χρήστη, άλλος "κύβος" ο browser (εξ'ορισμού tor), άλλος "κύβος" τα προγράμματα, κ.ο.κ.

Το σκεπτικό είναι πως ακόμα και αν κάποιος χακάρει ένα τμήμα του συστήματος θα του είναι παντελώς αδύνατον να εισχωρήσει και στα υπόλοιπα -έτσι, στη περίπτωση που κάποιος "χακάρει" το τμήμα που συνδέεται στο internet, του είναι αδύνατον να αποκτήσει πρόσβαση στα αρχεία, γιατί ο "κύβος" του internet δεν συνδέεται με κανένα τρόπο σε εκείνον των αρχείων. Στο εν λόγω ΛΣ είναι ανέφικτο ακόμα και το copy paste από τον έναν κύβο στον άλλον χωρίς ειδικές εντολές. Σε τέτοια δομή συστήματος, η υποκλοπή δεδομένων και τα evercookies είναι μάλλον αδύνατα.

Αν και κατά καιρούς έχει αποδειχθεί ότι τα VMs ίσως να μην είναι σε όλες τις περιπτώσεις τόσο διαχωρισμένα το ένα από το άλλο (βλ. Venom vulnerability), γενικά μιλώντας είναι όντως διαχωρισμένα, και η δομή του Qubes OS δεν φαίνεται να αφήνει πολλά περιθώρια για backdoors. Μόνο μεγάλο μειονέκτημα, ότι δεν τρέχει σε όλα τα συστήματα λόγω συγκεκριμένων απαιτήσεων στο hardware.

δ) whonix
(Update/Disclaimer 2022):
Αν και μέχρι στιγμής δεν έχει αποκαλυφθεί κάτι, ίσως να είναι σοφό να μείνετε μακριά από τέτοια λειτουργικά, αφού αυτά είναι που προσπαθεί μετά μανίας να "χακάρει" η NSA και υπάρχει πάντα η πιθανότητα κάποιο από αυτά να αποδειχθεί honeypot. 

Μια διανομή του linux που χρησιμοποιείται για ασφάλεια και ανωνυμία, και η οποία χρησιμοποιεί μια προσέγγιση που θυμίζει το Qubes OS: χρησιμοποιεί δυο VMs, το ένα εκ των οποίων συνδέεται (μέσω tor) στο διαδίκτυο και το άλλο θεωρείται ως "workstation" -το τμήμα του συστήματος στο οποίο δουλεύει ο χρήστης offline.

Οι δημιουργοί του διατείνονται πως ακόμα και ένα malware με root privilages είναι αδύνατον να αποκαλύψει τη πραγματική IP του χρήστη, καθώς οι ίδιες οι εφαρμογές το αγνοούν -κάτι που καθιστά το εν λόγω ΛΣ ιδιαίτερα ελκυστικό σε όσους θέλουν να διατηρήσουν την ανωνυμία τους.

ε) Tails
(Update/Disclaimer 2022):
Αν και μέχρι στιγμής δεν έχει αποκαλυφθεί κάτι, ίσως να είναι σοφό να μείνετε μακριά από τέτοια λειτουργικά, αφού αυτά είναι που προσπαθεί μετά μανίας να "χακάρει" η NSA και υπάρχει πάντα η πιθανότητα κάποιο από αυτά να αποδειχθεί honeypot. 

Το Tails είναι μια live (δηλ. τρέχει από usb ή cd-rom άνευ εγκατάστασης) διανομή του linux, χαρακτηριζόμενη από την εκτενή χρήση του Tor, καθώς και από το ότι δεν αφήνει ίχνη στο σύστημα στο οποίο χρησιμοποιείται. Έτσι, μετά το shutdown όλα τα σχετικά δεδομένα χάνονται.



3. Αποτροπή browser fingerprinting 

Η ιδέα του να χαρακτηρίζεται κάθε συσκευή από ένα μοναδικό αναγνωριστικό κάθε άλλο παρά πρόσφατη και πρωτότυπη είναι. Ήδη από τις απαρχές του διαδικτύου, κατέστη απαραίτητο κάθε συσκευή να ξεχωρίζει από τις άλλες ούτως ώστε να μπορεί να λάβει τα δεδομένα που απευθύνονται σε αυτή: όταν κατεβάζουμε ένα αρχείο από κάποιο site, το site πρέπει να ξέρει πού θα στείλει τα σχετικά δεδομένα. Ιδανικά, κάθε συσκευή έχει ένα μοναδικό αναγνωριστικό -και αυτό στο διαδίκτυο θα ήταν, θεωρητικά, η IP διεύθυνση.

Ο αριθμός των συσκευών, ωστόσο, είναι ήδη πολύ μεγαλύτερος από τις δυνατές IP -τουλάχιστον προς το παρόν που χρησιμοποιείται ακόμα κυρίως το IPv4 (το IPv6 καλύπτει έναν αστρονομικό αριθμό διευθύνσεων)-, οπότε και έχουμε καταφύγει προ πολλού στο να δίνουμε μοναδική IP διεύθυνση σε συγκεκριμένες συσκευές (modems, routers, κ.α.), και να συνδεόμαστε στο διαδίκτυο μέσω αυτών (τεχνική NAT). Άρα, μια IP διεύθυνση δεν μπορεί να χρησιμοποιηθεί ως μοναδικό αναγνωριστικό, αφού μπορεί μέσω αυτής να συνδέονται εκατοντάδες συσκευές στο διαδίκτυο.

Η IP διεύθυνση δεν είναι μοναδικό αναγνωριστικό μιας συσκευής.

Ακόμα και με το IPv6 όμως, ουδείς εγγυάται ότι αυτή η τεχνική θα εκλείψει, όπως δεν εγγυάται κάποιος ότι δεν θα χρησιμοποιείται το Tor. Έτσι, ακόμα και με επαρκή αριθμό διαθέσιμων IP, οι αρχές δεν θα τις αντιμετώπιζαν ως αξιόπιστα αναγνωριστικά.

Η μη-πρακτικότητα της χρήσης της MAC διεύθυνσης -που και σήμερα είναι εξ'ορισμού μοναδική- για άλλους λόγους πέρα από δρομολόγηση πακέτων σε εσωτερικά δίκτυα, κατέστησε απαραίτητη την ανάπτυξη άλλων μεθόδων για μοναδική αναγνώριση συσκευών σε δίκτυα. Σε πρώτη μοίρα η χρήση των cookies. Στη πορεία όμως διαπιστώθηκε ότι υπάρχει μεγάλη πληθώρα στοιχείων που μπορεί να είναι, αν όχι μοναδικά, σίγουρα πολύ ιδιαίτερα σε κάθε συσκευή, και η ταυτόχρονη αξιοποίησή τους θα μπορούσε να τη προσδιορίσει μοναδικά.

Υπάρχουν πολλές συσκευές με Windows, και πολλές συσκευές με Google chrome, αλλά πόσες που να έχουν και τα δυο; Από αυτές, πόσες θα χρησιμοποιούν ως γλώσσα τα Ελληνικά; Από τις τελευταίες, πόσες άραγε θα χρησιμοποιούν ένα συγκεκριμένο σετ φόντων και πόσες θα έχουν ένα συγκεκριμένο plug-in στον browser; Είναι ξεκάθαρο ότι ελαχιστοποιώντας τη πιθανότητα να χαρακτηρίζεται μια συσκευή από ένα σύνολο ιδιοτήτων, μπορούμε να τη προσδιορίζουμε από αυτά σχεδόν μοναδικά ή μοναδικά.

Εδώ υπεισέρχονται οι μέθοδοι browser (ή device γενικώς) fingerprinting, που χρησιμοποιούν τέτοιου είδους στοιχεία για κάθε συσκευή ώστε να δημιουργούν ένα μοναδικό αναγνωριστικό -ένα "δαχτυλικό αποτύπωμα"- για καθεμια ώστε να είναι ξεκάθαρο ποιος είναι πίσω από κάθε διαδικτυακή κίνηση. Ο χρήστης έτσι παρακολουθείται στενότερα για να του εμφανίζονται οι κατάλληλες εξατομικευμένες διαφημίσεις, ή και για να συλλέξουν οι αρχές στοιχεία γύρω από εκείνον.

Ο χρήστης μπορεί να δει ορισμένα από τα στοιχεία που μπορούν να χρησιμοποιηθούν για fingerprinting στη συσκευή του στο amiunique, όπου διατίθεται λίστα με τα συλλεχθέντα δεδομένα για αυτό το  σκοπό. Παραθέτουμε αυτούσιο το πίνακα (μερικών εκ) των στοιχείων που μπορούν να συλλεχθούν, όπως υπάρχει στην εξαιρετική αυτή έρευνα των Yinzhi Cao, Song Li, και Erik Wijmans.

Η εντροπία μιας ιδιότητας εν προκειμένω αφορά στη βεβαιότητα με την οποία μπορεί να προσδιοριστεί μοναδικά ένα σύστημα μέσω αυτής. Ο αριθμός των συσκευών που μπορεί να χαρακτηρίζονται από ένα συγκεκριμένο χαρακτηριστικό είναι το δυο υψωμένο στη τιμή της εντροπίας του χαρακτηριστικού -φερ'ειπείν, για εντροπία 10 οι πιθανές συσκευές που μπορεί να έχουν ίδιο χαρακτηριστικό είναι μια στις 2^10=1024. Αν λάβουμε υπόψιν ένα μεγάλο (ή έστω σεβαστό) σύνολο τέτοιων χαρακτηριστικών μπορούμε να καταστήσουμε εξαιρετικά απίθανο να υπάρχουν έστω και δυο συστήματα με ίδιο fingerprint.

Οι έννοιες single-browser και cross-browser αφορούν σε έναν μεμονωμένο browser ενός συστήματος και ένα σύνολο browsers ενός συστήματος αντίστοιχα. Είναι κάτι σχετικό με τη συγκεκριμένη έρευνα, που λίγο μας απασχολεί εδώ. Ο όρος "stability" (σταθερότητα) δεν χρήζει επεξηγήσεως.

Ο σκοπός της παράθεσης αυτού του πίνακα δεν είναι παρά να δούμε πόσα πράγματα μπορούν να ελεγχθούν για να συναχθεί ένα "αποτύπωμα" μιας συσκευής. Ο αναγνώστης που θέλει να παραμείνει ανώνυμος, πρέπει να έχει πάντα υπόψιν του ότι πρέπει να αλλάζει τακτικά έναν σημαντικό αριθμό αυτών των χαρακτηριστικών για να επιτύχει το σκοπό του. Η επεξήγηση του συνόλου των χαρακτηριστικών αυτών θα υπερέβαινε κατά πολύ τους σκοπούς της παρούσας ανάρτησης, οπότε θα επικεντρωθούμε σε κάποια βασικά χαρακτηριστικά από τα αναφερόμενα -καθώς και στις βασικές μεθόδους αποτροπής συλλογής τους.

α) User agent: προσδιορίζει μεταξύ άλλων το λειτουργικό σύστημα και την εκδοχή του browser που χρησιμοποιούμε. Μπορείτε να δείτε ενδεικτικά τι εντοπίζεται με τη χρήση του whatsmyua.Ένα παράδειγμα user agent όπως φαίνεται στον browser είναι το εξής:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36

από το οποίο φαίνεται ότι ο χρήστης έχει Windows 10 (Windows NT 10.0) των 64bits, καθώς και ότι χρησιμοποιεί Chrome/67.


Μια τροποποίηση του user-agent θα έκανε την ιστοσελίδα να θεωρεί ότι έχει να κάνει με ένα τελείως διαφορετικό σύστημα και browser. Έτσι, αν κάποιος χρησιμοποιεί π.χ. Firefox σε openBSD μπορεί να "ξεγελάσει" τις ιστοσελίδες στις οποίες μπαίνει, αλλά και τυχόν χακερς, ότι χρησιμοποιεί π.χ. Chrome σε Windows 8. Το user-agent μπορεί, θεωρητικά, να χρησιμοποιηθεί από κάποιον που θέλει να αποστείλει κακόβουλο λογισμικό ή και script (βλ. επιθέσεις κατά χρηστών tor) ώστε να ελέγχει τις διαδικτυακές κινήσεις τρίτου -θα μεριμνούσε τοιουτοτρόπως για την αποστολή του κατάλληλου ιου ή script με βάση το ΛΣ και τον browser. Επειδή δεν τρέχουν όλα τα λογισμικά και scripts σε όλα τα ΛΣ και τους browsers, μια τροποποίηση του user-agent θα απέτρεπε διαφόρων ειδών επιθέσεις στην ανωνυμία -τουλάχιστον τις πιο "ερασιτεχνικές" (θεωρητικά πάντα, ο επίδοξος χακερ θα απέστελλε κάτι που δεν λειτουργεί στο δικό μας σύστημα).

Η τροποποίηση του user agent στον firefox γίνεται ως εξής:


Στη μπάρα διευθύνσεων γράφουμε about:config και αφότου το ανοίξουμε, ψάχνουμε τα σχετικά με useragent. Με δεξί κλικ προσθέτουμε ένα String που ονομάζουμε general.useragent.override, και η τιμή του είναι το επιθυμητό user agent. Για Chrome 60 (δημοφιλέστερος browser το 2018) σε Windows 10 (δημοφιλέστερο ΛΣ υπολογιστών το 2018), το user agent έχει ως εξής:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36

Μεγάλη πληθώρα user agents μπορεί να βρεθεί σε αυτή την ιστοσελίδα.

β) Screen resolution and color depth: όπως φαίνεται και από το όνομα, η ανάλυση της οθόνης και το βάθος του χρώματος μπορεί να χρησιμοποιηθεί στη ταυτοποίηση μιας συσκευής. Εξυπακούεται ότι σε κάθε σύστημα είναι κάθε άλλο παρα μοναδική, και αν λάβουμε υπόψιν τοις μετρητοίς την εντροπία 7.41 τότε μια στις 170 συσκευές έχει ακριβώς ίδια ανάλυση και βάθος χρωμάτων.

Σύμφωνα με την έρευνα, το zoom σε έναν browser αλλάζει την τιμή της ανάλυσης της οθόνης, οπότε μπορεί να ληφθεί υπόψιν η αναλογία πλάτους και ύψους που μένει σταθερή, όπως και οι τιμές availHeight, availWidth, availLeft, availTop, and screenOrientation. Με απενεργοποίηση του javascript δεν επιστρέφεται καμία από αυτές, και έτσι ο προσδιορισμός της πληροφορίας αυτής αποτρέπεται.

γ)List of fonts: Είναι εξαιρετικά σπάνιο, αν έχουν εγκατασταθεί εξεζητημένα φόντα σε ένα σύστημα, να υπάρχουν πολλά άλλα με ακριβώς ίδια λίστα φόντων. Ως εκ τούτου, είναι συνετό να αφήνουμε τα φόντα ενός συστήματος ως έχουν κατά την εγκατάσταση. Επιπρόσθετα, μπορούμε να... απενεργοποιήσουμε το flash -μιας και μέσω αυτού επιστρέφεται η λίστα των φόντων.

Να σημειωθεί πως σε paper κάποιου συμπατριώτη μας με όνομα Νικηφοράκης, που μπορείτε να βρείτε και εδώ,  αναφέρεται ένα side-channel attack για το προσδιορισμό της λίστας των φόντων σε περίπτωση που το flash είναι απενεργοποιημένο -συγκεκριμένα με ένα script που δημιουργεί ένα string σε συγκεκριμένο φόντο και αποπειράται να το εμφανίσει με χρήση των αντίστοιχων του υπολογιστή, για να συγκρίνει κατόπιν τα μεγέθη τους. Παρακάμπτεται με μια απενεργοποίηση του javascript.

δ)List of plugins: Κάτι με το οποίο οφείλουμε να είμαστε ιδιαίτερα προσεκτικοί, και δη αν χρησιμοποιούμε τέτοια εκτενώς. Ο γράφων χρησιμοποιεί μονάχα τρία επιπρόσθετα plugins, και όμως το similarity ratio όπως εμφανίζεται στο amiunique είναι μόλις 0.49%, και είναι απολύτως αυτονόητο πως όσο περισσότερα χρησιμοποιεί κάποιος, τόσο πιο απίθανο να βρεθεί άλλος χρήστης με ακριβώς ίδια λίστα. Και εδώ αρκεί μια απενεργοποίηση του javascript.

ε) Γλώσσες συστήματος και περιεχομένου:  Η γλώσσα του ΛΣ, και τα εγκατεστημένα writing scripts ενός συστήματος (π.χ. Ελληνικά). Καλό είναι να χρησιμοποιούμε μόνο Αγγλικά. Εναλλακτικά, μπορούμε να ακολουθήσουμε τη τακτική του μεγάλου θρυλικού χάκερ, και να εγκαταστήσουμε... Καμποτζιανά! (έτσι θα ψάχνουν να μας βρουν στη Καμπότζη ;) ). Μπορούμε επίσης να έχουμε καλού-κακού απενεργοποιημένο το flash και το javascript.

Πέραν αυτών όμως, είναι και οι γλώσσες του περιεχομένου που εμφανίζουμε με σειρά από τη περισσότερο στη λιγότερο χρησιμοποιούμενη. Το content language του γράφοντος έχει ως εξής:

"el,el-GR;q=0.9,en;q=0.8,sv;q=0.7,de;q=0.6,it;q=0.5"

που μοιράζεται με λιγότερο από το 0.1% των χρηστών! Οπότε και καθίσταται εμφανές ότι, τουλάχιστον στο σύστημα που χρησιμοποιούμε για ανωνυμία, πρέπει να βλέπουμε μόνο σελίδες στα Αγγλικά (και τα... Καμποτζιανά). Εδώ μας προδίδει ο HTTP Header, τον οποίο θεωρητικά έχουμε τη δυνατότητα να τροποποιήσουμε με plug-in, αλλά είναι πιο συνετό να λάβουμε υπόψιν μέτρα σε επίπεδο συστήματος (βλ. VM από το οποίο μπαίνουμε μόνο σε συγκεκριμένες ιστοσελίδες με συγκεκριμένες γλώσσες). 
.

στ) Canvas fingerprinting: Κάτι που θέτει σε μεγάλο κίνδυνο την ανωνυμία μας, μιας και τα στοιχεία που συνάγονται μέσω αυτού είναι σχεδόν μοναδικά (βλ. ποσοστό πάνω από το 99% των χρηστών έχει μοναδικό canvas fingerprint).

Το Canvas είναι ένα στοιχείο του HTML5 που επιτρέπει τη δημιουργία και την αναπαράσταση αντικειμένων στη κάρτα γραφικών του συστήματος. Η βασική ιδέα πίσω από το canvas fingerprint είναι να προτρέπεται το σύστημα να δημιουργεί κάποιο αντικείμενο όπως ζητείται από το site, και να επιστρέφεται το message digest του. Επειδή όμως κάθε κάρτα γραφικών είναι ελαφρώς διαφορετική από τις άλλες σε επίπεδο κυκλώματος -με τον ίδιο τρόπο που κάθε όπλο είναι ελαφρώς διαφορετικό από τα άλλα ώστε να μπορεί να ταυτοποιηθεί μοναδικά μετά τη χρήση του-, οι τιμές που επιστρέφονται είναι στη συντριπτική πλειοψηφία των φορών διαφορετικές σε κάθε σύστημα.

Αν εκτός από το canvas fingerprint ληφθούν υπόψιν και τα άλλα στοιχεία ταυτοποίησης ενός συστήματος, είναι εξαιρετικά απίθανο να υπάρχουν άλλα με ίδιες προδιαγραφές. Ευτυχώς για την ανωνυμία μας, υπάρχουν μέτρα ασφαλείας που μπορούμε να λάβουμε. Μεταξύ αυτών (σωστά μαντέψατε), η χρήση tor browser, όστις μας προειδοποιεί αν μια ιστοσελίδα χρησιμοποιεί HTML5 και canvas elements και επιστρέφει μια κενή εικόνα. Μια άλλη μέθοδος, η χρήση κάποιου Canvas Defender, που τροποποιεί το fingerprint. Συνιστάται να χρησιμοποιείται μόνο περιστασιακά, γιατί η χρήση του και μόνο μπορεί να αποτελέσει στοιχείο ταυτοποίησης.


Η πλειοψηφία της συλλογής των προαναφερθέντων προλαμβάνεται με τρια βασικά μέτρα:
απενεργοποίηση flash, απενεργοποίηση javascript, χρήση Tor browser με torbutton, οπότε και "εξομαλύνονται" πολλά από αυτά στο μέσο όρο των χρηστών.

Για ακόμα μεγαλύτερη προστασία, χρησιμοποιούμε VM για ανώνυμα surfαρίσματα με τις κατάλληλες ρυθμίσεις ώστε να αποτραπεί η ορθή αντιστοίχηση ημών και των διαδικτυακών μας κινήσεων ακόμα και αν τα τρία προαναφερθέντα παρακαμφθούν.


4. Προσοχή στα (ever)cookies!

-Αποδέχεστε τα cookies;

Το cookie δεν είναι παρά ο αναγνωριστικός αριθμός κάθε επισκέπτη μιας ιστοσελίδας. Είναι κάτι το πλήρως ανεξάρτητο από την IP διεύθυνση, και ακόμα και αν αυτή αλλάξει, η ιστοσελίδα εξακολουθεί να ταυτοποιεί τους χρήστες από τον αριθμό αυτό. Τα cookies αποθηκεύονται ως αρχεία στον υπολογιστή μας, και χρησιμοποιούνται από τις ιστοσελίδες μεταξύ άλλων και για να προβάλλονται σε εμάς οι κατάλληλες διαφημίσεις με βάση τη διαδικτυακή μας δραστηριότητα.

Θεωρητικά (και συνήθως και πρακτικά), τα cookies διαγράφονται από τη συσκευή μας όποτε το θελήσουμε. Αν και η διαγραφή τους δεν εγγυάται ότι δεν θα υπάρξει συσχέτιση του νέου cookie με τα προηγούμενα (π.χ. με τη χρήση ενός e-mail ως αναγνωριστικού), είναι πάραυτα εφικτή και γίνεται σε δευτερόλεπτα.

Υπάρχει, ωστόσο, μια παραλλαγή του cookie που κινείται στα όρια της νομιμότητας -τα επονομαζόμενα evercookies. Σε αντιδιαστολή με τα τυπικά cookies, τα evercookies δεν αποθηκεύονται σε ένα, αλλά σε πολλά σημεία του συστήματος ώστε να καταστεί σχεδόν αδύνατος ο άμεσος εντοπισμός όλων. Και όχι μόνο δεν διαγράφονται αλλά "αντιστέκονται" σε κάθε απόπειρα διαγραφής τους δημιουργώντας εκ νέου τα τυχόν διαγραφέντα, αν όχι και ακόμα περισσότερα σε άλλα σημεία.

Ακολουθεί μια λίστα μηχανισμών που αξιοποιούνται για την αποθήκευση των evercookies, όπως υπάρχει τόσο στη βικιπαίδεια όσο και στη προσωπική ιστοσελίδα του ίδιου του δημιουργού τους:

     - Standard HTTP Cookies
     - HTTP Strict Transport Security (HSTS) Pinning
     - Local Shared Objects (Flash Cookies)
     - Silverlight Isolated Storage
     - Storing cookies in RGB values of auto-generated, force-cached
        PNGs using HTML5 Canvas tag to read pixels (cookies) back out
     - Storing cookies in Web History
     - Storing cookies in HTTP ETags
     - Storing cookies in Web cache
     - window.name caching
     - Internet Explorer userData storage
     - HTML5 Session Storage
     - HTML5 Local Storage
     - HTML5 Global Storage
     - HTML5 Database Storage via SQLite
     - HTML5 IndexedDB
     - Java JNLP PersistenceService
     - Java CVE-2013-0422 exploit (applet sandbox escaping)

Το evercookie είναι ο εφιάλτης κάθε χρήστη που θέλει να διατηρήσει την ανωνυμία του, καθώς άπαξ και κατέβει στο σύστημά του θα παραμείνει σε αυτό (τουλάχιστον) μέχρι το επόμενο φορματ. Έτσι, ακόμα και αν ο χρήστης νομίζει ότι το διέγραψε, οι ιστοσελίδες θα εξακολουθούν να ξέρουν ποιος είναι. Το χειρότερο όμως, είναι ότι μπορούν να χρησιμοποιηθούν και για εντοπισμό χρηστών μέσω του tor!


Αν και στη καθημερινή χρήση του υπολογιστή μας μπορούμε (και συχνά πρέπει) να χρησιμοποιούμε cookies, πρέπει να λαμβάνουμε αυξημένα μέτρα ασφαλείας στα δίκτυα ανωνυμίας για να αποκλείσουμε το ενδεχόμενο των τυχόν evercookies και της αναγνώρισής μας μέσω αυτών. Ο πιο σίγουρος τρόπος γι'αυτό είναι η χρήση VM όταν σερφάρουμε με tor, ώστε ακόμα και αν με κάποιο τρόπο μας εμφυτεύσουν evercookies να μείνουν παγιδευμένα σε αυτό, ενώ αν τα evercookies προέρχονται από το κυρίως διαδίκτυο να αφήνουν το VM ανεπηρέαστο. Το VM που θα χρησιμοποιούμε με tor, εν προκειμένω, σε καμία περίπτωση δεν θα χρησιμοποιείται για κανονικό σερφαρισμα. Η παραπάνω ιδέα θα αναπτυχθεί καλύτερα σε επόμενο υποκεφάλαιο.


5. Εκτενής χρήση εικονικών μηχανών

Η εικονική μηχανή (Virtual Machine ή απλώς VM) είναι στην ουσία ένας υπολογιστής μέσα σε υπολογιστή. Είναι κάτι το απίστευτα εύκολο να αναθέσουμε ένα κομμάτι της υπολογιστικής μας ισχύος σε έναν εικονικό υπολογιστή, που μπορεί να τρέχει και τελείως διαφορετικό ΛΣ.


Ένας υπολογιστής με MacOS τρέχει έναν εικονικό υπολογιστή με Windows 10.
Πρακτικά, είναι ένας δεύτερος υπολογιστής μέσα στον πρώτο

Το κυρίως λειτουργικό σύστημα του μηχανήματός μας (host OS) τρέχει ένα πρόγραμμα (virtual machine) μέσω του οποίου αποδεσμεύονται κάποιοι πόροι του συστήματος (π.χ. ram, πυρήνες του επεξεργαστή, κ.α.) και χρησιμοποιούνται σαν ένας δεύτερος, ξεχωριστός υπολογιστής. Είναι η λογική πάνω στην οποία χτίστηκε το Qubes OS, που θεωρείται ως ένα από τα ασφαλέστερα λειτουργικά συστήματα.

Το πλεονέκτημα των VMs είναι ότι αν ο εικονικός υπολογιστής κολλήσει ιο ή αποκτήσει evercookies, αυτά περιορίζονται στο εικονικό μηχάνημα: ο ιος (ή το evercookie) δεν έχει κανένα τρόπο να ξέρει πως η μηχανή που κόλλησε είναι εικονική. Ακόμα και στη περίπτωση που έχει εκ των προτέρων αυτή τη γνώση, δεν υπάρχει τίποτα που να μπορεί να κάνει για να επηρεάσει το κυρίως σύστημα. Θεωρητικά τουλάχιστον.

Ένα χαρακτηριστικό "παραθυράκι" για το δεύτερο σκέλος της προηγούμενης παραγράφου, το venom vulnerability, το οποίο ναι μεν δεν επηρέαζε όλα τα σχετικά προγράμματα και έχει προ πολλού διορθωθεί -αλλά είναι χαρακτηριστικό παράδειγμα για το τι είδους προβλήματα μπορεί να προκύψουν.

Υπάρχει επίσης η πιθανότητα Virtual Machine Escape αν το VM έχει κάποιο κοινό φάκελο με το host OS, καθώς και μέσω της κάρτας δικτύου αν δεν υπάρχει ασφάλεια σε επίπεδο δικτύου.  Τι μπορούμε να κάνουμε για να αποτρέψουμε κάτι τέτοιο; Να είμαστε πολύ προσεκτικοί με το τι κατεβάζουμε, να χρησιμοποιούμε διαφορετικό host OS από εκείνο του VM, να διαγράφουμε τα VMs μας και να δημιουργούμε άλλα (με διαφορετικές προδιαγραφές για αποφυγή fingerprinting), και να είμαστε ενήμεροι για τυχόν νέα bugs.

Υπόψιν ότι είναι εξαιρετικά απίθανο ο επιτιθέμενος να καταλαβαίνει ότι έχει να κάνει με VM -εφόσον δεν προκύπτει κάτι τέτοιο από τα στοιχεία του browser-fingerprint τουλάχιστον-, οπότε μπορούμε να ποντάρουμε στο ότι η εκτενής χρήση VMs είναι ένα αρκετά καλό μέτρο προστασίας από ιους, evercookies, και fingerprinting.

Όπως πιθανότατα μαντεύετε, είναι πιο σοφό το host OS να είναι κάποιο από τα ασφαλή λειτουργικά συστήματα, μιας και ουδείς μας εγγυάται ότι τα άλλα δεν παρακολουθούν τι κάνουμε σε τυχόν VMs . Ακόμα και με μη-ασφαλή λειτουργικά συστήματα όμως, τέτοιου είδους παρακολούθηση θα ήταν μάλλον μη-πρακτική -χωρίς αυτό να σημαίνει ότι πρέπει να τρέχουμε το VM από το οποίο θέλουμε να είμαστε ανώνυμοι σε τέτοιο.

Συνιστάται η χρήση tor μέσω VM με ασφαλές ΛΣ, με τρέχει μέσω ασφαλούς host OS.


6. Προσοχή με τη google, τα social media, και τα smartphones! 

Θεωρείται κοινός τόπος ότι η google όχι μόνο καταγράφει τα πάντα, αλλά κρατάει και τα εκάστοτε δεδομένα επ'αόριστον. Στο βαθμό του εφικτού, μπορείτε να χρησιμοποιείτε μηχανές αναζήτησης και υπηρεσίες που μεριμνούν για την ανωνυμία. Ένα χαρακτηριστικό παράδειγμα, η μηχανή αναζήτησης duckduckgo, που επιστρέφει τα ίδια αποτελέσματα με το google χωρίς όμως να κρατάει τα στοιχεία των χρηστών. Συνιστάται να γίνονται μέσω αυτής όλες οι έρευνες που μπορούν να προδώσουν ευαίσθητα προσωπικά δεδομένα (π.χ. ιατρικές παθήσεις, σεξουαλικό προσανατολισμό, κ.α.), καθώς και κάθε έρευνα που μπορεί να μας βάλει "στο μάτι" των αρχών.

Περιττεύει να αναφερθεί ότι πρέπει να είμαστε ιδιαίτερα προσεκτικοί με τα social media, τόσο σε αυτά που ποστάρουμε και στα likes που κάνουμε, όσο και στα μηνύματα. Είναι συνετό να αποφεύγουμε κάθε αναφορά σε οτιδήποτε κάναμε ανώνυμα στο διαδίκτυο στα chats των μέσων κοινωνικής δικτύωσης -και επ'ουδενί δεν τα χρησιμοποιούμε από το VM μέσω του οποίου μπαίνουμε tor (εφόσον επιλέγουμε τέτοιο μέτρο ασφαλείας). Αντίστοιχα για τις υπηρεσίες της google.

Αφήνοντας τη πιο παρανοϊκή συμβουλή για το τέλος, αναφέρουμε πως επειδή υπάρχει η τεχνική δυνατότητα παρακολούθησης συνομιλιών μέσω των smartphones, φροντίζουμε να μην υπάρχει κανένα τέτοιο τριγύρω αν έχουμε ουσιώδη πράγματα να κρύψουμε -π.χ. στη περίπτωση δημοσιογράφων που πρόκειται να αποκαλύψουν ανωνύμως κάτι μεγάλο. Κάτι τέτοιο είναι ακραιφνώς παρανοϊκό, αλλά και σοφό. Όσοι έχουν την οικονομική δυνατότητα, να προτιμήσουν ένα GSMK Cryptophone.


Χτίζοντας μια μηχανή ανωνυμίας

Λαμβάνοντας υπόψιν όλα τα παραπάνω, ιδού μερικά πιθανά βήματα προς μια μηχανή ανωνυμίας.

1. Φροντίζουμε να βασιστούμε σε κάποιο υψηλών προδιαγραφών laptop. Η φορητότητα συνεπάγεται ότι θα μπορούμε να συνδεθούμε σε τυχόν δημόσια δίκτυα -φερ'ειπείν, στο wifi μιας καφετέριας-, λαμβάνοντας βέβαια τα μέτρα ασφαλείας που αυτό θα συνεπαγόταν. Συνεπάγεται επίσης ότι μπορούμε να το ξεφορτωθούμε ή να το αφήσουμε σε χώρο τρίτου με μεγαλύτερη ευκολία αν έχουμε βάσιμες υποψίες ότι θα γίνει έρευνα -π.χ., στη περίπτωση που ένας δημοσιογράφος αποκαλύπτει περισσότερα από όσα του επιτρέπεται ή έχει απόρρητα αρχεία.

2. Το όποιο μηχάνημα είναι συνετότερο να τρέχει κάποια διανομή του linux. Το OpenBSD και το Qubes OS που ανεφέρθησαν ως ασφαλέστερα λειτουργικά συστήματα, είναι ιδιαίτερα δύστροπα και με περιορισμένη γκάμα διαθέσιμων εφαρμογών, και είναι καταλληλότερα για τα VMs. Αυτό δεν ισχύει για τις διανομές του linux -π.χ. Fedora ή Debian. Η χρήση δύσκολων κωδικών και η κρυπτογράφηση του σκληρού δίσκου εξυπακούονται. Όσον αφορά στους πρώτους, συνιστάται ο συνδυασμός ενός συμβατικού κωδικού με... στίχο από κάποιο τραγούδι (και όμως!) για (σημαντικά) μεγαλύτερο μήκος.

3. Το εκάστοτε ΛΣ πρέπει να χρησιμοποιείται μονάχα ως host OS. Με βάση τα όσα ήδη αναλύθηκαν, η σύνδεση στο διαδίκτυο πρέπει να γίνεται μονάχα από VMs για τον αποκλεισμό ιών και evercookies. Το host OS είναι καλό να μη συνδέεται ποτέ στο διαδίκτυο μέσω browser (για αποκλεισμό ιών, fingerprinting, και evercookies), και αν θέλουμε να κατεβάσουμε τυχόν αρχεία να προστίθενται μέσω (ελεγμένου) usb.

4. Η απλή σύνδεση στο internet να γίνεται μέσω διαφορετικού VM από εκείνο που χρησιμοποιούμε για σύνδεση στο tor. Σκοπός αυτού είναι για άλλη μια φορά ο αποκλεισμός ιών, fingerprinting, και evercookies, άτινα καθίστανται τοιουτοτρόπως παντελώς άχρηστα για ταυτοποίηση χρήστη σε δίκτυο ανωνυμίας. Είναι, επίσης, συνετό να διαγράφουμε τακτικά τα VMs και να χρησιμοποιούμε άλλα στη θέση τους, με άλλες ρυθμίσεις και προδιαγραφές για αποφυγή fingerprinting. Όλα τους να χρησιμοποιούν ασφαλή ΛΣ.

5. Η σύνδεση και το σερφάρισμα στο tor να γίνεται με όλα τα απαραίτητα μέτρα ασφαλείας, όπως αναλύθηκαν στο άρθρο. Απενεργοποιημένα τα πάντα εφόσον δεν καθίσταται απολύτως απαραίτητη η χρήση τους.

6. Λαμβάνουμε όλα τα δυνατά μέτρα αποτροπής browser-fingerprint όπως αναλύθηκαν στο άρθρο. Συνιστάται κάθε VM να έχει διαφορετικές προδιαγραφές, ώστε ακόμα και αν τα τυχόν μέτρα παρακαμφθούν να μην καταλήξουν να αντιμετωπίζονται ως μια μηχανή. Επιβάλλεται επίσης να μην μπορεί ευύκολα να καταστεί εμφανές ότι πρόκειται περί VM, ακόμα και αν δεν λαμβάνονται μέσα ασφαλείας -έτσι π.χ. φροντίζουμε η μνήμη να είναι κάποια ακέραια δύναμη του δυο, ούτως ώστε αν κάποιος επιτιθέμενος δει τέτοια στοιχεία για το σύστημά μας να μη μπει σε υποψίες από τα 3786 MBs μνήμης RAM ώστε να εφαρμόσει τεχνικές VM escape.

7. Συνιστάται η αλλαγή της MAC που βλέπει το ΛΣ του εκάστοτε VM, γιατί οι επιθέσεις σε δίκτυα ανωνυμίας ενίοτε αποσκοπούν στην αποκάλυψη και της MAC εκτός από την IP, όπως έγινε και με το FreedomHosting. Η διαδικασία αλλαγής υπάρχει εδώ και εδώ. Δεν είναι ξεκάθαρο κατά πόσο θα ξεγελούσε όλους τους επιτιθέμενους, αλλά κάθε μέτρο χρησιμεύει.

8. Συνιστάται, στο βαθμό του εφικτού, η χρήση δημοσίων δικτύων -με τρόπο που να μη φαινόμαστε. Έτσι, αν ο επιτιθέμενος βρει την IP από την οποία συνδέθηκε π.χ. ένας ερευνητής που αποκαλύπτει κάτι που δεν πρέπει, θα πέσει σε κάποια... καφετέρια. Εξυπακούεται ότι σε αυτές τις περιπτώσεις πρέπει να λαμβάνονται και μέτρα ασφαλείας άσχετα με τους υπολογιστές.

9. Υπενθυμίζεται ότι οι web browsers που αναπτύχθηκαν από μεγάλες εταιρείες ενδέχεται να καταγράφουν περισσότερα από άλλους. Συνιστάται Tor browser για το ανώνυμο σερφάρισμα, και οποιοσδήποτε που δεν αναπτύχθηκε από μεγάλη εταιρεία για το κανονικό -το οποίο όμως είναι καλό να αποφεύγουμε στο συγκεκριμένο σύστημα..

10. Είναι επιτακτική η ανάγκη του να γίνονται αυτές οι ρυθμίσεις πριν τη πρώτη σύνδεση της συσκευής στο διαδίκτυο -κάτι που επιτυγχάνεται πολύ εύκολα αν όταν γίνονται οι ρυθμίσεις το μηχάνημα δεν συνδέεται πουθενά. Η αγορά του μηχανήματος είναι συνετότερο να γίνει με μετρητά και χωρίς να εμφανίζεται κάπου το όνομα του αγοραστή, ώστε αν υπάρχουν system fingerprints που αγνοούμε να μην μπορούν να αντιστοιχιστούν σε συγκεκριμένο πρόσωπο. Συνιστάται επίσης να γίνονται τακτικά restarts σε περίπτωση πολύωρης χρήσης ώστε να αποτραπεί τυχόν cold boot attack από απρόσμενη επίσκεψη των αρχών.


Σύνδεσμοι

Tor network and vulnerabilities
[1]https://www.torproject.org/
[2]https://en.wikipedia.org/wiki/Tor_(anonymity_network)
[3]https://thehackernews.com/2017/11/tor-browser-real-ip.html
[4]https://motherboard.vice.com/en_us/article/kb7kza/the-fbi-used-a-non-public-vulnerability-to-hack-suspects-on-tor
[5]https://www.theguardian.com/world/2013/oct/04/tor-attacks-nsa-users-online-anonymity
[6]https://en.wikipedia.org/wiki/Operation_Torpedo
[7]https://wccftech.com/research-discovers-rogue-tor-nodes/
[8]https://threatpost.com/tor-browser-users-urged-to-patch-critical-tormoil-vulnerability/128769/
[9]https://news.softpedia.com/news/tor-users-can-be-tracked-based-on-their-mouse-movements-501602.shtml

Browser fingerprinting
[1]http://yinzhicao.org/TrackingFree/crossbrowsertracking_NDSS17.pdf
[2]https://panopticlick.eff.org/static/browser-uniqueness.pdf
[3]https://amiunique.org/fp
[4]https://panopticlick.eff.org/
[5]https://www.eff.org/deeplinks/2010/01/primer-information-theory-and-privacy
[6]https://www.w3.org/wiki/images/7/7d/Is_preventing_browser_fingerprinting_a_lost_cause.pdf
[7]https://wiki.mozilla.org/Fingerprinting
[8]https://allegro.tech/2015/03/browser-fingerprints.html
[9]http://consideredharmful.info/papers/Paper%20-%20Hot%20Topics%20in%20Computer%20Security%20-%20Cookieless%20Monster.pdf

Evercookies 

Virtual machines and virtual machine escapes
[1]https://en.wikipedia.org/wiki/Virtual_machine
[2]https://en.wikipedia.org/wiki/Virtual_machine_escape
[3]https://www.techrepublic.com/article/10-new-vm-escape-vulnerabilities-discovered-in-virtualbox/
[4]https://www.reddit.com/r/techsupport/comments/5hzgh9/can_viruses_escape_virtual_machines/
[5]https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2015/ms15-068
[6]https://www.reddit.com/r/techsupport/comments/80i735/can_my_virtualbox_os_spread_viruses_to_my_host_os/
[7]https://securingtomorrow.mcafee.com/mcafee-labs/analyzing-patch-of-a-virtual-machine-escape-on-vmware/
[8]https://www.techopedia.com/definition/13706/virtual-machine-escape


-------------------------------------------------


©George Malandrakis
All rights reserved