
Този материал в блога ми е провокиран. Провокиран от наивността и незнанието на хората, от липсата на каквато и да е съобразителност и находчивост. Именно поради избороените в предишното изречение неща, хората биват манипулирани, управлявани и често превръщани в слепи изпълнители на действия, които те не могат да осъзнаят, но които са им натрапени поради ниското ниво на интелект или откровен мързел за осмислянето на заобикалящата ги действителност.
Европейската комисия и нейните правосъдни министри със сигурност ще се опитат да прокарат законова основа за събиране на лични данни и информация по електронен път. Дали те ще успеят или не е друг въпрос. Този път те имат оправдание - тероризма. Доколко това оправдание е наистина реално и действията оправдавани чрез него целесъобразни, ще се опитам да изясня по-долу.
Системата за събиране на електронна информация засягаща активността на потребителите е насочена (най-общо) към следните електронни услуги:
1. Интернет и предлаганите в тази среда услуги - особено протоколи като HTTP (предлагащ достъп до сайтове) и SMTP/POP3/IMAP (предлагащ услугата "електронна поща").
2. Телефонията (стационарна и мобилна).
3. Електронни разплащания.
Каква информация може да се събере по линия на услугите предлагани по
точка 1?
Ако се записват всички заявки по протокол HTTP за даден IP адрес, може да се направи статистика какви интернет страници са били посещавани от този IP адрес. Тук не е необходимо системата за събиране на електронна информация да описва цялото съдържание на HTTP сесиите, доколкото в рамките на тази система доставчиците на услугата "hosting" могат да бъдат задължени да съхраняват съдържанието й за определен срок от време, а също така и направените от собственика на информацията промени, дори да се следи динамично променяемо съдържание като форуми, блогове и др. подобни. Системата може да описва всички заявки GET и POST в рамките на HTTP сесията за да се проследи целият диалог на клиента със сървъра (обменяни пароли и потребителски имена, които после да могат да служат за идентификация). Слабите места на подобна система за събиране на данни се състоят в следните проблеми с идентификацията на клиента и проверката дали той не е маскиран от някаква услуга:
** не може да се отчете налитието на NAT. Единственият изход би бил NAT да бъде забранен поне до някакво по-високо ниво в мрежовата йерархия, в което таблиците с контракциите (ако се извършва statefull NAT) от NAT шлюзовете да се описват в база данни, която да се пази и съпоставя с описаните HTTP сесии от системата за събиране на потребителски данни. Това ограничение обаче няма как да се случи технически. NAT филтрите базирани на TTL полето в пакетите, с които може да се избегне до някъде реализирането на NAT от страна на клиентите на един доставчик,
могат да бъдат измамени. Ако пък при филтрация се разчита на разпознаването на преминали през NAT връзки на базата на това, че се иницират от "висок" порт на публичния IP адрес на клиента, то този вид филтрация много лесно се заобикаля като NAT шлюза може да бъде настроен да използва по-ниски портове за целта. Изходът сякаш е законово да се забрани NAT и да се инкриминира неговата употреба, което просто няма как да се случи, защото това би предизвикало сериозно протести, а и системата не може да контролира всеки компютър в Интернет дали извършва или не NAT. От своя страна това би убило бизнеса на много малки компании за интернет услуги. Но със сигурност няма да спре NAT.
** трудно може да се направи анализ дали дадена HTTP сесия не е преминала през proxy софтуер (примерно
Squid). За да може да има изобщо някаква схема на контрол, трябва само някои оторизирани от операторите на системата за събиране на данни организации и лица, да имат право да използват proxy софтуер и след това да предават за анализ и съхранение журналните файлове или целия натрупан от клиентите кеш (при това те трябва да опишат колко копия от този суфтуер и върху какви сървъри е стартиран и трябва да бъдат наистина честни и добросъвестни при това деклариране). Това обаче няма как да се случи, защото първо няма техническата възможност за подобно следене и второ трябва proxy софтуера да бъде поставен под забрана за използване, за да не може неоторизирани организации и лица (възпирани от страх от законово преследване), да го свалят, компилират и инсталират върху своите системи. Дори и да има забрана, дори да бъдат спряни файловите съвъри, от които proxy софтуера може да го изтегли, има достатъчно други начини, по които той може да бъде разпространяван. Proxy софтуерът позволява доста по-лесно да се маскира клиентска HTTP сесия, в сравнение с NAT, доколкото той позволява използване по TCP/IP. Може би съществува някакъв вариант, при който да се следят връзките към proxy порта на конкретна машина и да се прави извод кой се маскира зад него. Това обаче изисква синхроно (и най-вече подробно и добросъестно) описание в журнала на proxy сървъра и последваща съпоставка между регистрираните сесии към proxy порта и маскираните от proxy софтуера HTTP сесии. Картината може много да се усложни, ако има периодично сканиране на портовете на proxy сървъра (тогава трябва да се отсяват истинските сесии от сканиранията). Възможно е също така портовете на proxy сървъра да са достъпни само за някои хостове (използване на филтрация на TCP пакетите по източник). Възможно е и порта за proxy да не е очаквания (примерно стандартизирания от IANA номер) и да бъде отворен след уникално за всяка сесия към него сканиране на вече затворени портове. Така сканиращият софтуер не може да открие порта. Или може да го открие, но това е използваемо само, ако proxy сървъра пази журнал с описания кой клиент каква HTTP сесия е извършвал.
** HTTPS сесиите допълнително усложняват следенето на потока като го правят на практика невъзможно, защото транспорта е криптиран. Съществуват два вида HTTPS сесии: пасивни и активни. При пасивната клиентът проверява валидността на сървърския сертификат и не използва свой, клиентски сертификат. При активната схема клиентът освен, че удостоверява сървърския сертификат, използва и свой сертификат за удостоверяване пред сървъра. В основата на всички HTTPS сесии е обмяната на сесиен ключ. С този ключ (по симетричен криптоалгоритъм) се криптира цялта сесия между клиента и сървъра. За да бъде прочетена сесията трябва да се познава частния ключ на сървъра, доколкото с него може да се декриптира договорения с клиента сесиен ключ. Това означава, че всеки притежател на X.509 сертификат (независимо дали е издаден за сървърска или клиентска употреба), би трябвало да предаде частния си ключ за съхранение в база данни, достъпна за операторите на системата за събиране на данни, с цел те да могат да декриптират сесията (в реално време или записана на носител), декриптирайки сесийния ключ и оттам криптираното с него сесийно съдържание. Също така, всеки притежател на HTTPS сървър, трябва да предава на системата за събиране на данни, т.нар. "скрито" съдържание, което може да се достъпи през HTTPS или след въвеждането на потребителско име и парола, или след представяне на валиден X.509 сертификат (т.е. това съдържание, което няма как да бъде узнато от системата за събиране на данни). От друга страна няма как системата да знае къде и върху кой хост има пуснат HTTPS базиран HTTP сървър. Той може да е достъпен само от страна на някои хостове в Интернет или след комбинация от сканиране на определени портове, уникално за дадена сесия. Няма как да се получи и пълна представа за броят използвани и налични в момента у клиентите X.509 сертификати. Може да се добие представа за издадените от официалните удостоверители сертификати. Но никой не може да следи неофициалните удостоверители - вътрешноорганизационни, фирмени и др, които не носят официален характер и не са регистрирани. Не се знае и броят самоподписани X.509 сертификати, които се използват. Не може да бъде и оценен.
Едно голямо предимство на HTTPS е, че първо се установява SSL сесия и едва след това клиента и сървъра започват да си говорят по HTTP протокол. Ако сървърът действа в пасивен режим, тогава може да се твърди, че на отвореният от него порт може би слуша HTTP сървър, защото всеки клиент (по принцип) може да премине през SSL слоя и да стигне до HTTP слоя и така да идентифицира услугата. Това не би било така, ако се използва активната схема и на сървъра бъде забранено да разрешава влизане през SSL слоя, ако не бъде представен валиден сертификат. Тогава, при съответни настройки, всички проверяващи от вън ще виждат, че на този порт има SSL услуга, но няма да знаят каква друга услуга стои под нея.
** използването на протоколи като SOCKS5 също затруднява идентификацията на клиента. Има огромно разнообразие на SOCKS базиран софтуер (особено за операционната система Windows). Те прекрасно могат да маскират източника на HTTP сесии. При това, използването на SOCKS е далеч по-лесно от използването на NAT (NAT може да се реализира само върху маршрутизатор, поне по отношение на преминаващите през него пакети). SOCKS портът може да бъде скрит зад SSL приложение с удостоверяване на клиента чрез сертификат, както е посочено по-горе при
обяснението за HTTPS. Така сканиращият този порт (или подслушващият комуникацията от и към него) не може да види каква услуга има под него.
Що се касае до протокола SMTP и предлаганата чрез него и в комбинация с протоколите POP3 и IMAP, услуга "електронна поща", то нещата не стоят по-розово от гледна точка на събиращите данни в сравнение с положението при HTTP. Трябва да се въведе регистър на пощенските сървъри и техните администратори да бъдат задължени да събират и записват целият пощенки поток, адресите от които се праща или изтегля поща, сървърите от които пощата бива получавана, до които бива препредавана и т.н. Трябва да има система за разграничаване на сканиранията от "редовните" заявки и т.н.
SMTP, POP3 или IMAP, могат да бъдат скрити зад SSL приложение с удостоверяване на клиента по сертификат (по подобие на
описанието направено при HTTPS), което да пречи да се установи каква точно услуга работи под SSL слоя от всеки, който иследва съответния отворен от SSL приложението порт.
При услугата "електронна поща" освен това може да се използва криптиране на самото писмо. Това става чрез една от двете основни криптографски системи : PEM и OpenPGP (заменила почти напълно PGP). И при двете системи нещата са построени така, че само подателя и получателя да могат да четат информацията. Тази система прави защитата на електронното писмо независима от преносната среда и носителя, върху който то ще се съхранява.
В края на разясненията по
тази точка повечето четящи ще възкликнат "да, ама всичкото това скриване и маскиране изисква организация и познание и не работи за всеки". Да, точно така. Но ако някой прави престъпен заговор, той ще намери и средствата и хората с познания, които да реализират посочените по-горе техники за укриване на съдържанието. При това са достъпни както софтуера, така и хардуер за реализирането на технологиите за скриване на информацията. Пита се тогава, чия информация ще е по-лесната за залавяне и анализ - вашата, на тези, които се пазят от терора или информацията на тези, от които уж се пазим?
Има и един друг много голям проблем при следенето на комуникациите в Интернет. Той се състои в това, че самата IP среда е недостоверна по дефиниция и един IP адрес не може да бъде надежден идентификатор на източник на информация или на потребител на информация.
Що са касае до
точка 2, тя включва тотално следене на телефонните разговори по мобилните и стационарните телефони. Доколкото гласовата комуникация е теснолентова, то трафикът, който се създава по преносната среда на телефонията като услуга, е малък и има пълна техническа възможност да бъде записан на 100%. При съвремената цена на носителите, това е дори евтино начинание (Сава Чанков даже беше смятал някъде колко излиза цената на пространството върху носителя за 1 разговор). Винаги се записват и номерата, които се набират и продължителността на разговорите.
Възможно е да бъдат следени и местоположенията на всички мобилни апарати, доколкото те са в рамките на клетъчна система и положението може да бъде засичано с точност до обхвата на една клетка. Тук все пак съществува известна доза неопределеност при засичане на положението на клетъчния апарат, доколкото радиовълни с такава висока честота (малка дължина на вълната), които се използват в мобилните апарати, лесно изпитват отражение. Освен това при самите клетки на практика не е реална възможността да се извършва триангулация, която базирана на косинусовата теорема, може да даде точното положение на апарата. Една от причините е, че в една клетка няма как да се следи параметъра "ъгъл под който сигнала идва към клетката" точно.
Анализът на гласа е доста трудна задача дори при съвременните възможности на софтуера за анализ. Да не говорим, че процедурата е времеемка и не може да бъде приложена спрямо всички записани разговори. Единственият реалистичен вариант е разговорите да бъдат пресявани по електронен път за дадени кодови думи (предварително зададени като честотен профил). Това обаче изисква речта на този, който ще каже кодовата дума, да е "спокойна" и податлива на анализ. Диалтектните форми на изказ се анализиран трудно. Фъфленето и заекването усложнява допълнително анализа. Да не говорим, че ако някой се съмнява, че разговора ще бъде "пресят", то той ще произнесе думите по такъв начин, че да избегне детектирането им при пресяване. Разбира се, ако се знае кой точно разговор трябва да бъде анализиран, той може да бъде прослушан от оператор, но в общия случай няма как това да се знае (разбира се, освен ако не се следят точно определени номера).
Всички хора, които някога са преминавали курс по диверсионна подготовка (например в казармата), знаят как се говори по телефон в случай на извършване на операция под прикритие. Знаят и как се използват кодови фрази, които е много трудно да бъдат определени като такива, защото се извършват по разговор с предварително ясен сценарий, в който не се говори привидно нищо важно, но самата тема изпълнява ролята на кодова книга. Хората, които ще извършват терористични операции, прибягвайки до телефонен разговор винаги предполагат, че са подслушвани. За това само някой супер наивен човек може да очаква, че от там ще изпадне някаква важна информация. Колкото по-подготвени са хората за извършването на една операция (без значение дали ще е разузнавателна или терористична), толкова по-близка до нула е вероятността те да допуснат грешката да споделят важна информация по телефона.
Освен това системата за стационарна телефония е незащитена среда, в която може да има проникване (като например прикачване на "външен" апарат към кабелната система и отклоняване на разговори и т.н). Средствата, по които това може да се направи, са с гарантирано разнообразие на използването си.
Точка 3 касае електронните разплащания. Например, ако се разплащате с електронна карта, може да бъде проследено къде се намирате в момента. При това подобно предоставяне на информация от страна на банките на властите в много голяма степен компрометира банките. Причината е, че допускането на външна система (примерно тази на полицията), да получава информация от подобно естество, може да направи така, че да изтече при преноса поверителна информация, която може да се използва от недобросъвестна трета страна за неразрешен трансфер на суми.
Следенето на банкови сметки и по-точно състоянието им и трансферите от и към тях, се прави (или поне така се декларира) с цел да се следи потокът пари и при големи суми да се проследява подателя и получателя. Този похват отдавна не върви. Причината е, че една сума може да бъде разхвърляна по много банкови сметки на различни лица. Ето ви един сценарий. Вие искате да финансирате някаква организация (без значение е дали е терористична или такава, която укрива доходи). Как да прикриете финансирането, ако трансферирате сума от порядъка на 1 милион евро? В този случай трябва да използвате фиктивни пътници или туристи. Схемата е проста. Страна A гранични със страна B. Организацията е в страна A. Фиктивните туристи са в страна B. Те имат отворени банкови смеки в международна банка, която има клонове в A и B. Туристите отварят в страна B своя сметка, на която вие прехвърляте малка сума пари (част от тези 1 милион евро). След това туристите поемат от страна B към страна A. На митницата не декларират големи суми, а само джобни пари. След това в страната A изтеглят малката сума пари и я дават на куриер на организацията, която искате да финансирате. Така куриера събира от туристите парите ви. Туристите може да не знаят за кого работят. Те може да са част от престъпни групировки, които са свикнали така да пренасят парите на групировките.
Тук е мястото да обясним споменатият по-нагоре термин "кодова книга". Той е приложим без оглед на транспортната среда, но обикновено се използва при предаване на информация по телефона. Кодовата книга има два варианта: пълна кодова книга или кодова книга за къси съобщения.
Кодовата книга може да е обикновена книга, която се продава масово на пазара. Целта е да е именно масова, за да могат кореспондентите да я намират. Особено се ценят книги с много текст и малко картинки. Целта на използването на обикновени книги е, те да могат да бъдат намирани лесно от кореспондентите и да не могата да бъдат изгубени или да породят съмнение. Кодиращият съобщението и декодиращия съобщението трябва да имат напълно едни и същи копия от книгата (издание).
Пълната кодова книга реализира предаване на кодирана информация на следния принцип - избираме книга от пазара. Излъчващия информацията използва следният подход. Всеки символ от съобщението се предава като номер на страница, номер на ред и номер на позиция. Примерно, ако искаме да предадем буквата "a", я намираме в кодовата книга, примерно "a" има на страница 12, ред 6 (от горе налолу) и на позиция 5 (от ляво на дясно) в реда. Следователно предаваме 12 6 5. Тази триада числа указва на получателя къде да търси символа. След като тази позиция е била използвана, тя никога повече не се използва за да се предотврати статистически анализ при подпслушване на съобщението.
Кодовата книга за къси съобщения е по-особена. Тя служи за предаване на цели инструкции с помощта на код за интрукцията. Примерно код "AMFD" може да значи - операция в H:M часа, като часът ще бъде получен по съобщение кодирано с пълната кодова книга. Кодовете може да са и по-специфични. Възможно е обясненията към кодовете в книгата за кратки съобщения да са кодирани с друга пълна кодова книга и т.н.
Подобен похват на кодиране се ползва от векове. Той е напълно достъпен за всеки човек, който може да чете и пише и не е с някакво особено тежко заболяване, като олигофрения. Интересно ми е защо службите на страните, които така искат събиране на информация, се правят, че не знаят за наличието на такива абстрактни системи за кодиране на информация.
Най-оригиналният подход за скриване на информация обаче си остава нейното скриване в поток друга информация, използване на анаграми, специално съчинена за целта поезия и т.н. Този подход е цяла наука, известна като "стеганография". Ако се използват рализации на стеганографски продукти, те най-често засягат файлови формати, в които можете да допускате "грешки", които до определено количество не се отразяват на качеството на информацията. Например файловите формати за пренос на изображения като JPEG, PNG и др - особено предпочитани са тези, при които се прилага компресия със загуба на информация. Не знам дали сте се замисляли за следното. Колко информация можете да пренесете така с един филм, като филма е съхранен на MPEG форматен файл? Представете си също и как информацията е скрита в картинки, оформящи външния вид на някоя интернет страница.
Има и друг подход при стеганографията. Скриване на информация в телевизионни и радио предавания. Например в самият образ се поставят "дефекти", които записани на видео след това и анализирани, показват кодирано съобщение. Също така вмъквания в честотна лента на звука на радиопредавания може да се използват за предаване на кодирана информация.
НО може би най-важното. Представете си цялата система за събиране на данни функционираща. Кой мислите, че ще е най-доволен от нейното наличие? Ето ви един списък:
1) рекламните агенции - ще знаят без усилия какъв е масовият вкус към един или друг продукт;
2) SPAM излъчвателите (също рекламни агенции) - няма проблеми да събират феноменални количества реално работещи пощенски адреси;
3) престъпните групировки - ще знаят какво имате в банковите си сметки, къде живеете, какъв е вашия телефонен номер и къде сте в момента - идеално за тях и действията им;
4) конкурентни фирми - чудесен подарък за агресивни конкуренти. Само с едно влизане в базата - пълен фирмен профил, банкови транзакции и т.н.
5) терористите - и те ще успеят да се вредят да използват тази база. Ще знаят интересни неща като например кой може да бъде изнуден за да им даде възможност да постигнат целите си и т.н.
Ние като българи най-добре знаем как срещу пари всичко може да се получи. А тази база ще е такъв източник за спечелване на пари, че никакво правителство и никаква честност няма да могат да я опазят, най-малкото измислени европейски ценности, които всеки ден виждаме колко струват.
Но най-накрая парите за това безумие ще ги плащаме ние - данъкоплатците, за да вредим сами на себе си.