Security, privacy and anonimity in Firefox

In this post gathered some information about several attacks that can be used to track, identity or deanonymize web-browser users in many ways. I will show you here how to protect yourself from those attacks. Information given here should be useful for many communities, for people who hate ads online, who don’t want to be tracked online and also, for Tor users. I should warn you now that the points listed below are used by me and the list was compiled to improve privacy and anonymity without braking most of web2.0 features.

 

1. Let’s start with the most basic privacy settings in Firefox. Firtst, go to Privacy settings (you can do it on many ways, on Linux, go Edit -> Preferences, or universal way just type “about:preferences” in address bar and select “Privacy”). There was much talk about the new Firefox option to disable third party cookies and a lot of people don’t like that feature because they can’t now earn money tracking you. So, tell sites, that you don’t want to be tracked and never accept third-party cookies. Other options are optional for now.

firefox privacy settings Continue reading

Tworzenie ukrytego serwera w Tor na Linux

Tor_logo1Stawianie serwera w Tor jest bardzo proste, jednak niewiele osób wie jak to zrobić, wiele osób myśli, że używanie Tora jest jednoznaczne z byciem przestępcą lub handlem narkotykami. No cóż… jest w tym sporo racji, takie możliwości ukrywania swojej tożsamości daje sieć Tor.

W tym poradniku użyję serwera `nginx` i paczki `tor` dostępnej chyba w każdej dystrybucji Linuxa, więc nie powinno być problemu z ich instalacją. Domeny serwerów Tor charakteryzują się końcówką .onion, przykładem dobrej i znanej strony jest serwis noreason, zbierający wszelkiego typu dokumenty/książki, których rząd nie chce żebyś znał.

W tym poradniku pokażę, jak publikować prostą stronę HTLM w Torze. Jeśli potrzebujesz czegoś z PHP/Ruby/Python, odpowiednia konfiguracja serwera i nginxa należy do Ciebie.

Continue reading

Póki nie opadł kurz po OSM – nawigacja OsmAnd~

Ostatnio wzrosło zainteresowanie otwartymi mapami, więc warto, albo trzeba, powiedzieć o aplikacji (głównie) do nawigacji na system Android.

OsmAnd jest niesamowicie rozbudowana i trudno mi z pamięci wymienić wszystkie jej funkcje, ale do najważniejszych należą:

  • nawigacja z podziałem na samochód, rower, spacer (ostrzeżenia o fotoradarach, przekroczeniu prędkości)
  • nagrywanie śladu GPS (+ jego analiza)
  • zaznaczanie na mapie ulubionych miejsc (z podziałem na kategorie)
  • zapisywanie map offline
  • wyszukiwanie punktu po adresie lub nazwie
  • edycja OSM i zgłaszanie błędów w trybie offline
  • bardzo rozbudowane funkcje nawigacyjne, mam tu na myśli… jest ich tyle, że po ponad roku użytkowania nadal odkrywam nowe

OsmAnd jest aplikacją w 100% otwartoźródłową na licencji GPLv3, ale jak to bywa w projektach OS (opensource) musi przynosić jakieś zyski, dlatego autor w Google Play wystawił ją nie raz a kilka razy. Wersja darmowa w GP jest uboga, posiada limit pobranych map, kategorii, mniej funkcjonalności z poziomu UI, i nawet limit na aktualizacje map. Druga wersja to płatna OsmAnd+, ale jest też trzecia opcja, żeby bez kombinowania zdobyć wersję plus za darmo.

Po pierwsze, należy pobrać F-Droid (alternatywa dla Google Play), którą trzeba pobrać ręcznie i zainstalować plik .apk.

F-Droid działa jak linuxowe repozytorium paczek, developerzy aktualizują za nas paczki, serwer je buduje i są gotowe do instalacji/aktualizacji. Wystarczy otworzyć F-Droida, który jest bardzo prosty w obsłudze i można wybierać w aplikacjach do pobrania. Wszystkie aplikacje są darmowe do pobrania i użytkowania. Co więcej, wszystkie są otwartoźródłowe, a to ważne, jeśli troszczysz się o swoje bezpieczeństwo i prywatność.

ekran menuekran fdroid

Continue reading

[Java] regular expression to match emails and domains works with gTLD

Recently we got many new top-level domains like .international, .berlin etc, so older regular expressions are no longer valid.
Below you can see a list of valid domains; an address may contain . (dot), – (minus) and .subdomain (domain may contain many sub-domains). A domain must end with a letter, it cannot be . (dot) or a number.

  • site.international
  • site.international.com
  • site.ac.uk
  • site.org
  • site.babia-gora.pl
  • site.pl

Email address may contain a delimiter like – or + and . (dot), it might contain numbers and for sure contain letters. Below is a list of valid email addresses:

  • info9@agilob.net
  • in-fo@site.international
  • in.fo@site.ac.uk
  • in+fo@site.babia-gora.pl
  • 1in-+fo2@site.babia-gora.pl

A regular expression to match gTLD domains can look like this:

^[A-Za-z0-9][A-Za-z0-9/.-]*\.*[A-Za-z]$

and regular expression to match emails in domains above like this:

[A-Za-z0-9-+/.]*@^[A-Za-z0-9][A-Za-z0-9/.-]*\.*[A-Za-z]$

Code to test those regexpes:

package regexp;
 
import java.util.ArrayList;
 
public class RegExpMatcher {
 
    public static void main(String[] args) {
        ArrayList domains = new ArrayList<>();
        domains.add("site.international");
        domains.add("site.international.com");
        domains.add("site.ac.uk");
        domains.add("site.org");
        domains.add("site.babia-gora.pl");
        domains.add("site.pl");
 
        boolean matches;
        System.out.println("Matching domains: ");
 
        for (int i = 0; i < domains.size(); i++) {
            matches = domains.get(i).matches("^[A-Za-z0-9][A-Za-z0-9.-]*\.*[A-Za-z]$");
            if (matches == true) {
                System.out.println(domains.get(i) + " matches");
            } else {
                System.err.println(domains.get(i) + " doesn't match");
            }
        }
 
        System.out.println("nnMatching email addresses: ");
 
        ArrayList emails = new ArrayList&lt;&gt;();
        emails.add("info9@agilob.net");
        emails.add("in-fo@site.international");
        emails.add("in.fo@site.ac.uk");
        emails.add("in+fo@site.babia-gora.pl");
        emails.add("1in-+fo2@site.babia-gora.pl");
 
        for (int i = 0; i < emails.size(); i++) {
            matches = emails.get(i).matches("[A-Za-z0-9-+.]*@[A-Za-z0-9][A-Za-z0-9.-]*\.*[A-Za-z]$");
            if (matches == true) {
                System.out.println(emails.get(i) + " matches");
            } else {
                System.err.println(emails.get(i) + " doesn't match");
            }
        }
    }
}

Output:

Matching domains: 
site.international matches
site.international.com matches
site.ac.uk matches
site.org matches
site.babia-gora.pl matches
site.pl matches


Matching email addresses: 
info9@agilob.net matches
in-fo@site.international matches
in.fo@site.ac.uk matches
in+fo@site.babia-gora.pl matches
1in-+fo2@site.babia-gora.pl matches

Bitcoin nie jest wirtualną walutą

Wirtualne środki finansowe, to takie, które nie są poparte matematyką, ani surowcem ani pracą. Do wirtualnych środków finansowych zaliczamy np. kupony rabatowe, waluty istniejące w grach komputerowych.

Cyfrowa waluta, to taka, która jest poparta matematyką, surowcem lub pracą. Do tego typu zaliczymy np. PLN, GPB, BTC, LTC.

Nadal jednak wolę gdy LTC, BTC nazywamy kryptowalutami.

Bitcoin – anonimowość czy prywatność?

Anonimowość – nie wiem kim jesteś, ale wiem lub domyślam się co robisz.
Prywatność – wiem lub domyślam się kim jesteś, ale nie wiem co robisz.

Które lepiej pasuje do kryptowalut?

Mój publiczny adres BTC to: 1AgiLoBAo9FbwtRactcNSnAcZ8GzYHCHQB, więc przelewy do/z tego adresu nie są anonimowe (przynajmniej dla mnie). Ale jakie i ile mam innych adresów? Ile na nich trzymam i na co wydaję?
Jeśli któryś z tych adresów zostanie użyty na giełdach, które wymagają ode mnie skanu dowodu, to tracę prywatność, gdy kupię za BTC na overstock.com, również tracę prywatność, bo overtsock.com ma mój adres domowy, imię i nazwisko.

Tworzenie bezpiecznego portfela do przechowywania kryptowalut

Witamy w 2014 roku.
Obecnie bardziej prawdopodobne jest, że ktoś wyciągnie Ci pieniądze z komputera niż z kieszeni. Bitcoiny giną na potęgę, co chwilę jakaś giełda zostaje okradziona, padają dyski, przypadkowo usuwają się dane, czy po prostu ktoś nie przewidział w rm -rf /$ZMIENNA pustej zmiennej. Cold wallet może Cię uchronić przez stratą BTC, jeśli go tylko dobrze przygotujesz.

Cold wallet jest zapisem danych cyfrowych w postaci fizycznej, jak np. papierowej, plastikowej, drewnianej czy metalowej, umożliwiającym ich odczytanie przez właściciela i każdego znającego hasło do odszyfrowania danych.
Continue reading

Rodzaje portfeli kryptowalut

Wiele osób myśli, że portfele walut cyfrowych to jedynie program, który uruchamia się na komputerze, telefonie czy tablecie. Jest to jedna z możliwości, jednak nie jest to metoda przechowywania kryptowalut. Te portfele służą do wydawania, a nie do bezpiecznego przechowywania. Chociaż portfele jak np. Bitcoin-Qt czy Litecoin-Qt można / trzeba zaszyfrować, nadal nie jest to bezpieczna metoda przechowywania oszczędności w kryptowalucie.

Continue reading

Compile Bitcoin-Qt from sources

Building Bitcoin client from sources is a good way to protect yourself from visiting and downloading malicious binary file from the official website. Imagine a group of hackes attacks DNS server so bitcoin.org redirects you to their website, it looks the same, it acts the same, but it contains backdoored Bitcoin-Qt wallet.

You can be smarter and download and compile the client from sources. To do so, just follow some simple steps:
Continue reading