szukaj

03.06.2018 | 18:44

avatar

redakcja

Deanonimizacja głosu na przykładzie zeznań świadków w komisji ds. Amber Gold

Jako krótkofalowiec czasem zajmuję się analizą dźwięków. Zwykle jest to na potrzeby łączności radiowej, ale wyrabia to swoistą czujność na zagadnienia związane z dźwiękiem, która przydaje się w niecodziennych okolicznościach.

Od wielu miesięcy mają miejsce dwa spektakle polityczne: komisja badająca aferę reprywatyzacyjną i komisja badająca aferę Amber Gold. Ta ostatnia komisja jest ciekawa, ponieważ prowadzi przesłuchania niejawnych agentów ABW. Przesłuchania te są anonimizowane, urządzenie anonimizujące obsługiwane jest przez techników ABW.

O autorze
Jacek Lipkowski: Z wykształcenia mgr inż. chemik, ale od zawsze byłem związany z informatyką. Bezpieczeństwo informatyczne stało się moim hobby od momentu pierwszego dostępu do systemów sieciowych (w latach 90). Z czasem i jedno, i drugie hobby przerodziło się w pracę. Czas wolny wypełniam innym hobby – krótkofalarstwem (znak wywoławczy SQ5BPF).

Rzadko trafia się okazja, aby przyjrzeć się technice używanej przez służby. Dodatkowo materiały z komisji są z założenia dostępne publicznie, więc możemy je swobodnie analizować i publikować wyniki.

Na cechy charakterystyczne głosu składa się nie tylko jego wysokość, ale też sposób akcentowania, używanie charakterystycznych zwrotów itp. Anonimizację robi się albo w sposób uproszczony, przetwarzając głos przez jakiś algorytm go modyfikujący (w najprostszym wypadku przez obniżenie lub podwyższenie tonu głosu). Można również użyć wokodera, czyli systemu do analizy dźwięku, głównie mowy, zwykle dającego informację o częstotliwościach i amplitudach harmonicznych w głosie oraz umożliwiającego syntezę dźwięku z takich informacji (dla celów anonimizacji po odpowiednim przetworzeniu, jest to też jedna z metod stratnej kompresji mowy). Sposób bardziej zaawansowany, mający na celu usunięcie elementów mowy umożliwiających identyfikację, może polegać na czytaniu przez lektora lub syntezator mowy transkryptu wypowiedzi, która została pozbawiona zwrotów charakterystycznych dla rozmówcy.

Analizy zostały wykonane za pomocą następujących narzędzi:

  • Spectrum Lab  – głównie do podglądu widma w czasie rzeczywistym (oprogramowanie pod Windows, ale działa pod w miarę nowym wine),
  • SoX (dostępny też w każdej dystrybucji Linuksa) – do łatwego przetwarzania dźwięku,
  • Audacity (dostępny też w każdej dystrybucji Linuksa) – do wycinania i sklejania kawałków sampli (można też użyć do przetwarzania dźwięku, ale nie jest skryptowalny w sposób tak łatwy jak sox),
  • najlepszego urządzenia do przetwarzania sygnałów (własnego mózgu).

Celowo użyto jak najprostszych narzędzi.

Posiedzenie komisji z dnia 21 marca 2018

Głos można anonimizować na różne sposoby, najprościej jest po prostu obniżyć/podwyższyć wysokość dźwięku o jakiś współczynnik. Na potrzeby artykułu przyjmijmy roboczą (naiwną) hipotezę iż zastosowano tę metodę. Aby odnaleźć ten współczynnik, wystarczy posiadać przykład dźwięków (np. mowy) przed i po zastosowaniu anonimizacji. Z pomocą przychodzi nam przerwane z przyczyn technicznych przesłuchanie z 21 marca 2018 roku (które proponuję obejrzeć w całości):

https://www.youtube.com/watch?v=Oe-4Qig6Ft4

Przesłuchanie zostało przerwane, ponieważ słychać było głos agentki ABW (świadek nr 9), a zaraz potem jego „zanonimizowaną” wersję. Najprawdopodobniej obok mikrofonu agentki znalazł się drugi bez podłączonego urządzenia anonimizującego. W okolicy 14:50 tego nagrania słychać, jak technik mówi „próba, próba”, a zaraz po tym wersję zanonimizowaną.

Potnijmy to na dwa nagrania za pomocą audacity:

  • kom1.wav – wersja oryginalna „próba, próba”
  • kom2.wav – wersja „zanonimizowana”

Przygotujmy sobie sklejone wersje tych dwóch komunikatów, rozdzielone ciszą:

#trochę pogłośnijmy bo jest za cicho
sox kom1.wav kom1x.wav gain +16

#zróbmy sobie wav-y z ciszą
sox -n -r 44100 cisza1.wav trim 0.0 1
sox -n -r 44100 cisza2.wav trim 0.0 0.1

#sklejmy to razem
sox cisza1.wav kom1x.wav cisza2.wav kom2.wav out.wav

Warto zobaczyć spektrogram pliku out.wav, na przykład za pomocą programu Spectrum Lab. Pliki z ciszą służą do oddzielenia wypowiedzi na spektrogramie i jako „rozbiegówka” dla Spectrum Lab. Oś czasu jest od dołu (najstarsze) do góry (najnowsze). Od razu widać różnicę wysokości dźwięku wersji oryginalnej (oznaczonej jako A) i wersji zanonimizowanej (oznaczonej jako B). Ciekawostką jest również symetryczny względem 3900Hz „wzór” w wersji zanonimizowanej, jest to najprawdopodobniej aliasowanie przetwornika C/A w aparaturze przetwarzającej dźwięk.

Aby ustalić naukowo, o ile zmieniono częstotliwość, można porównać częstotliwości na spektrogramie (co jest mało dokładne) albo użyć korelatora (np. z pakietu gnuradio) i określić, dla jakiej zmiany wysokości dźwięku mamy największą korelację. Podejście hobbystyczno-inżynierskie jest dużo prostsze. Jako krótkofalowiec wiem, że bardzo dobry sprzęt do analizy dźwięku mam zainstalowany pomiędzy uszami. Spróbujmy odtworzyć wersję oryginalną i wersję zanonimizowaną, podnosząc jej wysokość o różne wartości, i zobaczyć, dla jakiej wartości brzmią one najbardziej podobnie. Użyjemy do tego funkcji pitch soxa.

Piszemy prosty skrypt:

#!/bin/bash

for i in `seq 100 25 1000`
do
echo "wartosc pitch: $i"; echo
(
play kom1x.wav; play kom2.wav pitch $i
play kom1x.wav; play kom2.wav pitch $i
) >/dev/null 2>&1
echo -n "wcisnij enter"; read a
done

Po jego uruchomieniu wychodzi na to, że najlepszą zgodność uzyskuje się dla wartości pitch 775 (na moje ucho oczywiście). Wartość pitch to ilość „centów” (definicja centów). Na potrzeby artykułu przygotujmy plik

sox kom2.wav kom2_poprawione.wav pitch 775
  • poprawiony kom2_poprawione.wav
  • proszę porównać z kom1x.wav

Potwierdźmy to na innym fragmencie z tego samego nagrania w okolicach 4:57 (przed pracami wykonanymi przez technika ABW), tym razem jest to głos agentki, a nie technika:

  • kom3.wav – oryginał
sox kom3.wav kom3x.wav gain +16 #najpierw pogłośnijmy
  • kom4.wav – zanonimizowane

Sprawdzając, tak jak poprzednio, jaka wartość pitch powoduje że nagrania są najbardziej podobne do siebie, otrzymujemy wartość około 300. Wniosek z tego, iż albo technik zmienił ustawienie anonimizacji, albo użyto wokodera, którego działanie nie polega tylko na stałym przesunięciu wysokości dźwięku (dla uproszczenia naiwnie załóżmy to pierwsze).

Sprawdźmy to jeszcze na nagraniu głosu agentki po zmianie ustawień przez technika w okolicach 15:31.

  • kom5.wav – oryginał
  • kom6.wav – zanonimizowane
play kom5.wav gain +16 ; play kom6.wav pitch 775

Faktycznie przy podniesieniu nagrania zanonimizowanego o pitch 775 otrzymujemy bardzo podobne brzmienie do oryginału (a przy 300 głos jest za niski). Wniosek: podczas swoich prac technik zmienił ustawienie z odpowiednika efektu pitch 300 na 775.

Sprawdźmy, jak to brzmi przy dłuższym tekście – wyciąłem i posklejałem tekst przysięgi po anonimizacji i umieściłem go w pliku przysiega.wav

sox przysiega.wav przysiega_poprawione.wav pitch 300

Plik przysiega_poprawione.wav brzmi dosyć podobnie do ujawnionego głosu agentki.

Posiedzenie komisji 9 kwietnia 2018

Posiedzenie komisji szybko zostało zawieszone z powodów technicznych i zwołano kolejne posiedzenie 9 kwietnia 2018 roku, nagranie dostępne jest tu:

https://www.youtube.com/watch?v=4Ez2qjtP0DQ

Jest to przesłuchanie „świadka nr 10”, ale z mediów możemy się dowiedzieć, iż jest to ta sama osoba co przesłuchiwana 21 marca. Przy okazji w 0:31 dowiadujemy się, iż „nie doszło do wycieku danych umożliwiających identyfikację funkcjonariusza”. Ponieważ najprawdopodobniej jest to ten sam świadek, spróbujemy zastosować pierwsze wykryte ustawienie urządzenia anonimizującego głos i porównamy, czy głos po podniesieniu częstotliwości jest podobny do tego, co znamy z nagrania z 21 marca 2018.

W pliku wypowiedz_20180409.wav mamy zanonimizowany głos funkcjonariuszki.

sox wypowiedz_20180409.wav wypowiedz_20180409_poprawione.wav pitch 300

Głos z pliku wypowiedz_20180409_poprawione.wav faktycznie brzmi podobnie do tego z przerwanego posiedzenia 21 marca 2018.

Podsumowanie

Czy faktycznie udało się nam zdeanonimizować wypowiedzi agentki? Tego nie wiadomo (ale na pewno nie ujawniliśmy jej głosu, ponieważ on był już ujawniony i posłużył nam jako punkt odniesienia).

Czy urządzenie używane jest tylko z dwoma ustawieniami, odpowiadającymi parametrowi soxa pitch 300 i pitch 775, czy też są inne ustawienia albo jest to parametr płynnie regulowany? I czy technik ma pozwolenie, aby go dowolnie ustawiać, czy na rozkaz ustawia konkretne wartości? Tego nie wiadomo.

Czy urządzenie faktycznie zmienia tylko wysokość dźwięku, czy coś jeszcze? Tego nie wiadomo.

Ten artykuł można ciągnąć w nieskończoność. Istnieje wiele nagrań z pracy komisji, a na nich elementy, które mogłyby potencjalnie być punktem odniesienia do próby poznania, jak działa urządzenie anonimizujące używane przez ABW.

Na możliwość rozpoznania wpływa nie tylko tembr głosu, ale również sposób wypowiedzi. Ponieważ nie zdecydowano się na pełną anonimizację, gdzie musiałby być przekazywany nie głos a tekst (być może później czytany przez lektora lub syntezator), można wysnuć wniosek, że oceniono, iż potencjalna deanonimizacja nie będzie prowadzić do negatywnych skutków. Być może jednym z jej celów jest zwiększenie dramaturgii przesłuchań.

Przykładowym nagraniem, na którym można własnoręcznie potrenować, jest nagranie świadka nr 6 z 26 lutego 2018. W tym przypadku punkt odniesienia znajduje się w ostatnich 2 minutach filmu, ostatnie słowo „prokuratura” jest najprawdopodobniej przekazane po wyłączeniu urządzenia anonimizującego.

Zachęcam do wypróbowania soxa na innych nagraniach z posiedzeń komisji i wysnucia własnych wniosków. Wiedząc, o jaki współczynnik należy zmienić częstotliwość, można użyć również efektu „Change pitch” z audacity, dzieląc wartość pitch przez 100 (przykładowo używając wartości 3.0 Semitones, aby osiągnąć to, co efekt pitch 300 z sox). Niezależnie od tego, czy uda się nam poznać głos agentów, czy nie, jest to ciekawa zabawa :)

Komplet plików WAV do pobrania.

VY 73 de SQ5BPF

Odtwarzacz dźwięku może nie działać jeśli ktoś np. wyłączył JavaScript lub używa blokerów reklam.

Powrót

Komentarze

  • avatar
    2018.06.03 20:40 Jurek

    A teraz przyjdzie ABW i was zamknie.

    Wszystkich.

    Odpowiedz
    • avatar
      2018.06.03 20:58 gosc

      Po takiej wpadce, to raczej balbym sie prawcowac nawet w ABW.

      Odpowiedz
  • avatar
    2018.06.03 20:55 gosc

    Szok, taka wpadka miedzynarodowa …
    Nastepnym razem radze zadawac pytania pisemnie, albo testowac mikrofon przed uzyciem i modulowac glos w czasie, aby nawet nie mozna bylo stwierdzic plci.

    Odpowiedz
  • avatar
    2018.06.03 22:23 Bronisław

    Oj, grubo pojechaliście dzisiaj. Mam nadzieję, że publikacja została uzgodniona wcześniej z odpowiednimi służbami. Inaczej następny Wasz artykuł przyjdzie nam czytać za parę lat…

    Odpowiedz
    • avatar
      2018.06.04 10:24 Marek

      Chyba sobie żartujesz. Ten artykuł pokazuje tylko, że akurat w tym wypadku służby olewają sobie swoją pracę, z czego natychmiast można wysnuć wniosek, że wszystkie te przesłuchania to show dla gawiedzi i tak naprawdę nikogo tam nie obchodzi czy świadkowie zostaną rozpoznani czy nie.
      Nie wierzę, że technicy ABW są tak niekompetentni. Dlatego strasznie jest to wszystko smutne, ponieważ pokazuje, że kolejna afera zostanie zamieciona pod dywan, a „motłochowi” przed telewizorem rzuci się igrzyska żeby nie drążyli co tak naprawdę się stało :(

      Odpowiedz
      • avatar
        2018.06.04 13:05 Czapa

        Nie wierzysz ze funkcjonariusze ABW sa tak niekompetentni?
        Zyjesz w kraju w ktorym najpierw rozbito sprawny helikopter z premierem. Potem rozbito sprawna CASE z cala kadra. Potem rozbito sprawny samolot z glowa panstwa.
        Jak spece pierwszy raz zgrywali skrzynke Tupolewa to zgrali ja z czestotliwoscia probkowania 11kHz. Jestem zupelnym ignorantem z zakresu audio, ale zgrywalem kiedys MP3 z plyty i wiem ze 11kHz to 'no bueno’.
        Nie kolego. Za 4k na reke nie ma specjalistow…

        Odpowiedz
        • avatar
          2018.06.05 08:10 kaper

          Doceniam samoocenę w zakresie audio. Sam również nie pracuję z dźwiękiem, tym niemniej mogę zwrócić uwagę na szczgóliki:
          – częstotliwość próbkowania 11 kHz to dużo czy mało? Dla jakości CD-DA (pasmo przenoszenia 20 Hz – 20 kHz) to zdecydowanie „no bueno” i można to twardo wykazać matematycznie. Ale jeśli zgrywany materiał wcześniej został zakodowany algorytmem mp3, to „no bueno” staje się bardziej względne; dociekliwi niech sami sprawdzą, jaka jest fundamentalna różnica między CD-DA (PCM) a MP3.
          – czy 11 kHz to mało dla nagrania na czarnej skrzynce? Nie wiem, bo nie znam parametrów, z jakimi to urządzenie nagrywa sygnał. Ale wiem, że np. dla rozmowy telefonicznej (pasmo 300 Hz – 3 kHz), próbkowanie 11 kHz będzie aż nadto wystarczające.
          – czy Kolega postrzega tych, którzy zgrywali zawartość czarnej skrzynki, przez pryzmat ekspertów podkomisji Macierewicza? Czy Kolega sądzi, że ci zgrywający, pracujący dla Komisji Badania Wypadków Lotniczych, robili to pierwszy raz? Że Komisja nigdy wcześniej nie dokonywała analizy nagrań z analogowych rejestratorów? Że nie dysponuje dokumentacją dla badanego typu rejestratorów, że nie ma określonych procedur oraz dobrych praktyk? Że raporty tworzone przez Komisję nie były przez nikogo czytane i nie były komentowane / oceniane przez innych specjalistów z branży? Bo ja, z perspektywy laika, byłbym ostrożny w formułowaniu kategorycznych osądów, bazujących na doświadczeniu ze zgrywania płyty mp3…

          Odpowiedz
          • avatar
            2018.06.05 20:51 Czapa

            Strasznie kolego filozofywujesz…
            Fakty sa takie ze specjalisci MAK, Instytutu Sehna i CLKP pracowali na kopiach zgranych z czestotliwoscia 11kHz. I nie mogli wszystkiego odczytac („o dziwo”). Cale szczescie w jakims momencie sledztwa Lasek zwrocil sie o pomoc do prof. Grażyny Demenko z UAM w Poznaniu, ktora zgrala czarne skrzynki z częstotliwością 96kHz. I wszystko dalo sie zrozumiec. Serio! Czary!
            Wiekszosc ludzi tak jak Ty odrzuca mozliwosc ze cala masa „specjalistow” nadaje sie tylko do przerzucania g… widłami. Jednak licza sie fakty a nie wierzenia.

          • avatar
            2018.06.06 13:55 BIMS

            nice ;)

      • avatar
        2018.06.04 15:24 Krzysiek

        Nie, to tylko oznacza że tak naprawdę nie ma żadnej „afery” i cała ta szopka jest biciem piany dla bicia piany, a przy okazji może coś wypłynie i będzie jakiś mini haczyk na kogoś (chociaż uważam, że gdyby był, zostałby już dawno wyciągnięty). Nawet jak nic nie wypłynie to w świadomości społeczeństwa zostanie „AFERA” – bo to niemożliwe żeby tyle ludzi wpłaciło kasę do piramidy finansowej nie będącej bankiem, przed którą ostrzegał KNF. Tak, to musi być AFERA….

        Odpowiedz
  • avatar
    2018.06.04 10:08 Timy

    Świetny artykuł, gratulacje Panie Jacku, gratulacje Z3S.

    Odpowiedz
  • avatar
    2018.06.04 10:33 lplpl

    Te paski które miały być z dźwiękiem nie działają. Najlepiej wrzucać wszystko na jeden serwis, proponuję YT.

    Odpowiedz
    • avatar
      2018.06.04 12:55 Technik ABW

      Dziwne, u mnie działa

      Odpowiedz
    • avatar
      2018.06.05 16:09 dfgg

      sprawdż adblocka, u mnie działa ;)

      a wrzucanie na serwis nad którym się nie ma kontroli (przekazując licencję na robienie z treścią czego sobie serwis zażyczy) jest pozbawione sensu.

      Odpowiedz
  • avatar
    2018.06.04 12:14 HAM

    Ach ci krótkofalowcy, tylko kłopot z nimi. Do czego to podobne, żeby od razu ktoś dostawał świadectwo operatora „A” tylko po pozytywnym zaliczeniu egzaminu w UKE, no szok po prostu! A gdzie pozytywna opinia AW, ABW, SKW, albo przynajmniej dzielnicowego? Wszędzie wkładają te swoje słuchawki…
    https://youtu.be/V1hnsbAJSkc

    Odpowiedz
  • avatar
    2018.06.04 14:37 A

    Ci w ABW w ogóle są nie poważni. Takie anonimizowanie nadaje się najwyżej do błahych spraw poruszanych w programach „interwencyjnych”, żeby sąsiadka czy ciotka się nie zorientowała…

    Odpowiedz
    • avatar
      2018.06.04 18:38 klaun za monety

      Naoglądaliście się filmów i wyobrażacie sobie Bóg wie co. Ta „anonimizacja” jest właśnie dla sąsiadki czy znajomego przesłuchiwanego oficera (a nie jak tu błędnie niektórzy piszą- agenta). Część z nich to w rzeczywistości zwykli urzędnicy tylko z szybszą emeryturą i pracą z „tajną” wiedzą. Ale nawet oficer operacyjny z ABW to człowiek, który działa na terenie kraju i do zakonspirowania go wystarcza wysłanie do innego miasta i środowiska. To nie filmy o 007 i żaden figurant nie dysponuje komputerkiem z dostępem do danych biometrycznych, z którego dostanie wydruk, że rozmówca to osoba niebezpieczna i z licencją na zabijanie.

      Odpowiedz
  • avatar
    2018.06.04 17:22 n

    Ten sajt próbuje mnie hakować albo coś?
    Naciskam page down – przewiń stronę i słyszę „próba próba”.
    Dziękuję, nie. Choć próba być mże udana.

    Odpowiedz
  • avatar
    2018.06.04 21:34 To

    Świetny, świetny artykuł!

    Odpowiedz
  • avatar
    2018.06.04 22:12 MatM

    Bardzo dobrze się czyta. Świetnie napisany i merytoryczny artykuł, ktòry pokazuje jak bardzo zmieniło się itsec przez lata i że jest jeszcze świat poza samymi komputerami.

    Odpowiedz
  • avatar
    2018.06.06 11:55 X.

    Jak jeszcze można znaleźć nawet bez niezanonimizowanej wersji odpowiednią prędkość – i dlaczego nie należy stosować tej metody (obniżanie, podwyższanie głosu):

    – w słowie próba – mamy sylabę otwartą – szukamy w tym kawałku tzw. formantów i o tyle podwyższamy / obniżamy by formant drugi był w okolicach 1200 dla mężczyzn lub 1500 dla kobiet.

    – Można też szukać sylab otwartych z „i” – tam szukamy formantu w okolicy 2200 dla faceta – a dokładniej próbujemy go zwalniainem, przyspieszaniem tam ustawić. Efekt: głos mamy zdeanonimizowany. Należało by więc tu mówić o pseudonimizacji.

    – prędkość mówienia – mamy zazwyczaj podobną (poza wyjątkami) – po tym też łatwo znaleźć właściwą prędkość.

    – też jest coś takiego jak formant trzeci – ten dla większości mężczyzn i oddzielnie większości kobiet wypada w tym samym miejscy spektrum. Stąd łatwo też określić o ile przyspieszono lub spowolniono nagranie.

    – tam gdzie podniesiono z 300 na 775 to nie jest „pitch” – może tak nazwano to w programie, ale w charakterystyce głosu Pitch to całkiem inny parametr. Zła terminologia.

    Do sądu nawet gdy Was zapewniają, że będzie zanonimizowane – proponuję nauczyć się zmieniać swój głos – da się nawet zmieniać głos z męskiego na damski – dodatkowa trudność – i nie tylko w zakresie częstotliwości podstawowej (pitch), ale wiele więcej. No i jak wskazano – nauczyć używać się innych słów nawet kosztem zacinania się podczas mówienia (po tym ostatnim to można dochodzić nawet kto pisał wnioski do sądu – nie trzeba słyszeć człowieka.

    BTW. Fajnie, że ktoś raczył napisać jaką manianę odstawia się przy tej „anonimizacji” głosu w sądach.

    Odpowiedz
  • avatar
    2018.06.09 20:36 Rudy

    Specjaliści w służbach mundurowych, to jest oksymoron.

    Odpowiedz

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Deanonimizacja głosu na przykładzie zeznań świadków w komisji ds. Amber Gold

Komentarze