Project Salmon: How to Effectively Counter Internet Censorship with Trust Levels Proxies

Project Salmon: How to Effectively Counter Internet Censorship with Trust Levels Proxies

Many governments restrict access to information and services online in one way or another. Combating such censorship is an important and challenging task. Typically, simple solutions lack high reliability or long-term effectiveness. More complex methods for bypassing blocks have disadvantages in terms of usability, low performance, or fail to maintain an adequate quality of internet usage.

A group of American researchers from the University of Illinois developed present a new method for overcoming blocks, which is based on using proxy technology, as well as segmenting users by trust level for effectively identifying agents working for censors. Here are the main points of this study.

Description of the approach

The researchers developed the Salmon tool – a system of proxy servers managed by volunteers from countries without restrictions on internet use. To protect these servers from being blocked by censors, the system employs a special algorithm for assigning users a trust level.

The method involves exposing potential censor agents who pose as regular users to learn the IP address of the proxy server and block it. Additionally, countermeasures against Sybil attacks are implemented by requiring users to provide a link to an active social media account when registering in the system or to obtain a recommendation from a highly trusted user.

How it works

It is assumed that the censor is a government-controlled entity capable of taking control of any router within the country. Also, it is assumed that the censor's task is to block access to certain resources rather than to identify users for subsequent arrests. The system cannot prevent such developments – the government has numerous means of learning what services citizens use. One of them is the use of honeypot servers to intercept communications.

It is also assumed that the state possesses significant resources, including human ones. The censor can address tasks that require hundreds and thousands of full-time employees.

A few more basic theses:

  • The system's task is to enable bypassing of restrictions (i.e., to provide the IP address of a proxy server) for all users living in regions with online censorship.
  • Agents/employees of censoring internet authorities may attempt to connect to the system posing as ordinary users.
  • The censor can block any proxy server whose address becomes known to them.
  • In such cases, the organizers of the Salmon system understand that the censor has somehow learned the server's address.

All of this leads us to describe three key components of the bypassing system.

  1. The system calculates the probability that a user is an agent of censoring organizations. Users identified as such agents with a high probability are banned.
  2. Each user has a trust level that needs to be earned. The highest-performing proxy servers are allocated to users with the maximum trust levels. Moreover, this allows for the distinction between reliable, time-tested users and newcomers, as it is among the latter that agents of the censors are most likely to be found.
  3. Users with a high trust level can invite new users into the system. This results in a social graph of reliable users.

It makes sense: the censor usually needs to block a proxy server here and now; they will not wait long to try to 'boost' the accounts of their agents in the system. Additionally, it is clear that new users can initially receive different trust levels – for example, friends and relatives of the project's creators are less likely to cooperate with censoring states.

Trust Levels: Implementation Details

Trust levels exist not only for users but also for proxy servers. The system assigns a user to a server with the same trust level. At the same time, the trust level of users can both increase and decrease, while for servers it only grows.

Every time censors block a server that a particular user has accessed, their trust level decreases. Trust increases if the server remains unblocked for an extended period — with each new level, the required time doubles: to move from level n to n+1, 2n+1 days of uninterrupted proxy server operation is needed. The journey to the maximum, sixth trust level takes more than two months.

Project Salmon: How to Effectively Counter Internet Censorship with Trust Levels Proxies

The necessity of waiting so long to identify the addresses of the highest quality proxy servers is an extremely effective countermeasure against censors.

The trust level of a server is the minimum trust level assigned to it by users. For instance, if a new server in the system is assigned to users with a minimum rating of 2, the proxy will receive the same rating. If a person with a rating of 3 later uses the server, but there are still users with a rating of 2, the server's rating will remain 2. However, if all users of the server upgrade their level, the server's rating improves as well. Importantly, a server cannot lose its trust level; conversely, if it gets blocked, the users are penalized.

Users with a high trust level receive rewards of two types. First, not all servers are the same. There are minimum bandwidth requirements (100 Kbps), but a volunteer server owner can offer more — there is no upper limit. The Salmon system selects the most efficient servers for users with the highest ratings.

Moreover, users with high trust levels are better isolated from censorship attacks, as censors must wait for months to discover the proxy's address. Consequently, the likelihood of servers being blocked for high-risk individuals is significantly lower than for those with low trust.

To connect deserving users to the best proxies, the creators of Salmon developed a referral system. Users with a high rating (L) can invite their friends to join the platform. Invited people receive a rating of L-1.

The recommendation system works in waves. The first wave of invited users can only invite their friends after approximately four months. Users from the second and subsequent waves must wait 2 months.

System Modules

The system consists of three components:

  • the Salmon client for Windows;
  • a server daemon program that volunteers install (versions for Windows and Linux);
  • A central directory server that stores a database of all proxy servers and manages the distribution of IP addresses among users.

Project Salmon: How to Effectively Counter Internet Censorship with Trust Levels Proxies

The interface of the client application in the system

To use the system, a person must create an account using a Facebook account.

Conclusion

Currently, the Salmon method has not gained widespread use, with only a few small pilot projects for users in Iran and China known. Although it is an interesting project, it does not fully ensure anonymity or protect volunteers, and the creators themselves acknowledge that it is susceptible to attacks using honeypot services. Nevertheless, the implementation of a system with levels of trust appears to be an interesting experiment that may continue.

That's all for today, thank you for your attention!

Useful links and resources from Infatica:

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster