Автор Тема: GSM == ЗЛО!  (Прочетена 39744 пъти)

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
GSM == ЗЛО!
« -: Sep 21, 2013, 01:13 »
Няма никакъв смисъл от това, ама все пак да си кажа.

В последните няколко месеца си играя с изследване на сигурността на GSM. Всичко, което научавам в процеса така брутално ме отвращава от цялата идея, че съвсем сериозно мисля (макар да го ползвам само да си говоря с близките ми, най-вече жена ми, при това рядко и по важни поводи), да отеба това, поне за известно време.

Почти навсякъде където нещо може да бъде осрано, то вече е осрано. Ще започна с криптографията, която ми е любимата тема, обаче проблемите с GSM далеч не се изчерпват с криптографията, всъщност това е малък проблем на фона на останалите.

Значи GSM позволява грубо казано 3 варианта за криптиране на комуникацията: A5/1, А5/2 и A5/0 (последното е просто неизползване на криптография, с други думи всичко минава в чист вид).

A5/2 е нещо, което в днешно време (освен вероятно в Сирия, Северна Корея и Иран) не се ползва. Това е нарочно отслабен поточен шифър, създаден с идеята да се продава в ембаргови държави. Ключът ефективно е толкова къс, че може да се разбие относително бързо на десктоп машина и това не е интересно. Никой не ползва A5/2. Където и да се е ползвало в нормалния свят, вече не се ползва.

А5/1 е по-забавна история. Това е отново поточен шифър, толкова жестоко малоумен, колкото само французин може да измисли. Няма нужда да изпадам в детайли, детайлите ги има в уикипедия, ползваме 3 LFSR регистъра, някаква схема за clock-ване спрямо състоянието им, която да осигури нелинейност.И ключа, и състоянието са 64 битови, това означава че е измислен да е точно толкова дълъг, колкото бай хуй преди 20 години да не може да си играе да го троши и трибуквения бай не-хуй да може. Проблемът е че идеята е тъпа, clocking и tapping битовете са подбрани тъпо, няма достатъчно нелинейни операции в цялата работа, резултатът е че съществуват варианти където комплексността на атаката в сравнение с тривиалната брутфорс такава е нещо от сорта на 2^47 срещу 2^64, с други думи близо 1 милион пъти улесняване на цялата драма. Всичко това дава възможност за пасивни атаки с трошене на криптографията.

Аз това и направих - Karsten Nohl преди 2-3 години като пионер е избрал варианта с rainbow таблици, които пичовете са смятали в продължение на месеци. Аз си харесах друга атака, разработена от (ирония) французин преди 13 години, подобрих я и сега просто предлагам алтернатива, вместо да ползваш 2TB rainbow таблици, можеш да строшиш ключа за няколко часа върху high-end видеокарта.

Това не е толкова интересно, интересен е крайният резултат - при пасивно слухтене на GSM трафика, на нас ни трябват или няколко терабайта дисково пространство или няколко часа изчислително време за да строшим ключа и да декриптираме който и да било разговор или SMS в мрежата, който сме прихванали.

Прихващането е елементарно и става със софтуерно радио. Под софтуерно радио може да се разбира и определен USB DVB-T адаптер с определен чипсет, който се продава навсякъде и струва около 30-40 лева. Софтуерът е написан вече. Няма нужда от специализирана USRP железария за над 3000 лева. Има и малко по-забавен вариант със стар Motorola телефон и custom firmware, който спестява доста занимавки, но дори и DVB-T джаджата върши работа.

Това е най-потресаващото в цялата работа, с десктоп машина за общо около 2000 лева на практика пасивно можеш да изслухтиш и декриптираш произволна комуникация в GSM мрежата. Единствените пречки са две: ползването на frequency hopping (за което има решение) и ползването на plaintext randomization (което никой оператор не прави щото му се свидят CPU ресурси).

Пасивните атаки са подли и коварни, защото жертвата няма никакъв шанс да се усети какво става. Операторът тоже. Полицията и тя. На практика, в момента, при добро желание, мога да слухтя GSM комуникациите, протичащи в квартала и никой не може да разбере че го правя. Че ми трябва (доста) дисково пространство за да пазя прихванатия трафик ОК и че ми трябва изчислително време за да го правя също е ОК. Сега ако бях престъпен елемент, сигурно щях да се възползвам от това за да изнудвам хора, за да прихващам пароли за електронно банкиране, пратени по SMS и т.н.

Обаче още по-забавни са активните атаки и тук нещата стават забавни, защото не се налага да се троши криптография и наистина всеки бай хуй (или Цветан Цветанов) може да прави големи поразии. Причината се корени в следното: абонатът никога не автентицира мрежата, единствено мрежата автентицира абоната. Това става по следния начин: при установяването на комуникация, базовата станция праща една случайно генерирана стойност и абонатът при наличие на master ключ, пазен върху сим картата (и HLR-а на оператора хаха) връща резултат, вид challenge-response механизъм. Оттам следва груб и прост handshake на криптографските алгоритми, подобно на това което става при SSL.

Откъдето идват следните проблеми: теоретично операторът може да каже "не подържам нищо освен A5/0", демек липса на криптография. Операторът няма да го каже, но някой, който подкара фалшива клетка, имитираща истинската, но с по-силен сигнал, ще го направи. Оттам му трябва просто някак да рутира разговора (дори върху VoIP) и да слухти. Те това е което правят IMSI catcher-ите и цецомобилите.

Другият проблем (по-големия според мен) е в липсата на forward perfect secrecy. Съвсем теоретично ако някой се сдобие с ключа от HLR-а на оператора, може да разбие която и да е изслухтяна комуникация преди и след това. На практика единствено законите и морала на операторите защитават от това и в България това нищо не означава. Това на практика означава че веднъж вземеш ли ключа, можеш колкото си искаш пъти да слухтиш нещо и няма как да се отчиташ (чисто технологично). Дали това се прави, не знам, надявам се операторите да отказват такива мераци, но чисто технологично това си стои като възможност.

В случай че не стане обаче, IMSI catcher-ите са относително лесни за откриване при добро желание. Тук идва следващият проблем, всичко което GSMА прави е това "лесно" да не е толкова лесно. Примерно телефоните по принцип трябва да предупреждават когато не използват криптирана комуникация. Забавно, това го правят само стари телефони произведени отпреди 7-8 години. А защо да го правят след като по стандарт, ciphering индикатора е активен само когато определен бит върху СИМ картата е вдигнат. И да, познайте - на практика няма оператор който да раздава СИМ карти с този бит вдигнат.

Тук трябва да се вметне цялата простотия с проследяването на абонати, как по стандарт съществуват "скрити" SMS-и, как можеш да page-неш абонат и да не му заделиш TCH канал само и само за да го знаеш в обхвата на коя клетка е и т.н.

Наскоро излезе и другата забава, всъщност, СИМ картите въобще не са малоумни устройства и могат да изпълняват силно орязан Java код Така градските легенди за СМС-а от оператора, който карал телефона да приема "тихо" разговори и така да се слухти какво става наоколо, въобще не са научна фантастика. Макар това да е силно зависимо от хардуера.


А, да, понеже някъде някой беше казал че ако ползваме само 3G, проблемите са ни решени, това донякъде е така, ама само донякъде. Проследяването на абонати работи перфектно в UMTS мрежа, единствено MItM атаката с IMSI catcher-ите не. Макар че ако лошите имат Ki ключа от HLR-а на оператора, заеби. Също заеби ако някога, ама само веднъж, минеш обратно на GSM. Също така ако (с позволението на оператора) почнат да правят мизерии на A интерфейса, не на Um.  UMTS не е решение, защото единствено прецаква бай хуй, лошите не биват прецакани. Но в крайна сметка не е толкова лоша идея.

В крайна сметка, ебем ти мобилната революция. С кеф ще се изсера в устата на всички, които ми я навират в лицето.
Активен

"Knowledge is power" - France is Bacon

User13

  • Напреднали
  • *****
  • Публикации: 274
  • Distribution: Manjaro
  • Window Manager: Xfce
    • Профил
Re: GSM == ЗЛО!
« Отговор #1 -: Sep 21, 2013, 07:21 »
То това ясно, ама какво да кажем за така нашумелите в последните години смартфони. Там вече освен, че могат да те подслушват те работят и на по-високо ниво.
Май преди време пак ти беше публикувал свое изследване за някакъв смартфон. На кратко стана ясно, че системата записва всевъзможна информация за потребителя без неговото знание. И със сигурност има кой кога и как когато се наложи да се възползва от тази информация.
Отделно за потребителите със смартфони вече става още по-лесно да се определи местоположението им.
Активен

Златко

  • Напреднали
  • *****
  • Публикации: 2147
    • Профил
Re: GSM == ЗЛО!
« Отговор #2 -: Sep 21, 2013, 11:27 »
Много си прав, gat3way, ама много.  [_]3 [_]3

GSM-a е перфектното подслушващо и проследяващо, GPS-like устройство.
Аз затова моя го държа в коридора, а като ходя на разни местенца, направо го изключвам. С'я остава да ми кажеш и че при изключен телефон могат да го правят тоя номер?

Поздравления за темата!  [_]3
Активен

Без правила няма игра

4096bits

  • Напреднали
  • *****
  • Публикации: 3631
    • Профил
Re: GSM == ЗЛО!
« Отговор #3 -: Sep 21, 2013, 11:38 »
Батерията нали е вътре в телефона. Има ли енергия, чиповете мога да правят каквото са им казали, без изобщо да си наясно, какво се случва.
Изобщо не се учудвам. Тенденцията винаги е всяка технология за масова употреба, да се превърне в инструмент за следене на хората. Подслушвали са се телефони, после интернета, сега мобилните технологии. Смахнатото е, че нещата вървят към свързаност на всичко с всичко. Хладилник с интернет? Телевизори? Будилник с интернет? Домашно порно?  ;D Ами телевизорите вече са с HD камери, а са свързани и с домашната мрежа, която е свързана с интернет разбира се. Можеше мисля в линукс, да се пайпне микрофона в нета към нечии слушалки с една проста команда. Няма да се очудя, ако и с камерата може да се направи същото. Дори ще проверя това. Връзките дори на БТК са достатъчно бързи за тази работа. Купете си такъв телевизор за спалнята.  :D
Умна къща, а?
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

Златко

  • Напреднали
  • *****
  • Публикации: 2147
    • Профил
Re: GSM == ЗЛО!
« Отговор #4 -: Sep 21, 2013, 11:56 »
Батерията нали е вътре в телефона. Има ли енергия, чиповете мога да правят каквото са им казали, без изобщо да си наясно, какво се случва.

Помня една статия от 90-те, там се разказваше как едни хора като се събират да си говорят важни работи си изключват телефона и си вадят батериите. Явно не ще да е било художествена измислица.  :(

Да, подслушва се, а обикновените хора си нямат и понятие ако някой "сноудън" като нашия gat3way не ги светне.  [_]3 Вижте само тая година колко скандала гръмнаха с подслушване, най-вече американците...  >:D

« Последна редакция: Sep 21, 2013, 11:59 от Златко »
Активен

Без правила няма игра

backinblack

  • Напреднали
  • *****
  • Публикации: 3201
    • Профил
Re: GSM == ЗЛО!
« Отговор #5 -: Sep 21, 2013, 19:34 »
Абе, хората се подготвят да ни имплантират чип който да ни бъде лична карта, безкасово разплащане и още куп неща, естествено и с ГПС свързан, вие сте тръгнали за някви ГСМ-и да се притеснявате :D
Активен

clovenhoof

  • Напреднали
  • *****
  • Публикации: 534
  • Distribution: Mac OSX 10.9.2
    • Профил
Re: GSM == ЗЛО!
« Отговор #6 -: Sep 21, 2013, 20:06 »
... и .... освен заглавието нищо друго не разбрах. :)

А, как да се предпазя?
Може би ако продължавам да живея по същия начин както/откакто имам GSM, защото досега нищо лошо не ми се е случило в тази посока или да не ползвам GSM, или да ползвам уоки-токи. ???
Активен

We are just a moment in time
A blink of an eye
A dream for the blind
Visions from a dying brain

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: GSM == ЗЛО!
« Отговор #7 -: Sep 21, 2013, 22:42 »
Определено нямам идея да истеризирам, просто се възмущавам от крайния резултат на всичкото това старание.

Примерно това е вероятно най-масово deploy-натата и използвана криптосистема, далеч повече примерно в сравнение с SSL. Колко бяха там - няколко милиарда потребители. Ако изслухтиш някоя SSL връзка, освен ако двете страни не са договорили някой ужасно слаб експортен шифър (което е почти невероятно), няма да разбереш изобщо какво е минало оттам.

GSM обаче е сигурна система. Толкова сигурна, че и аз мога да слухтя сигурните криптирани разговори, хаха. Значи щом аз мога с подръчни средства, следователно някой по-умен от мен и с повече пари за подръчни материали, може да го прави далеч по-добре. Това е напълно по възможностите не на голяма, не на средна, ами на обикновена гаражна фирма, така че какво да говорим за мутри, монополи, корпорации и незнамколкобуквени агенции. Криптоалгоритъмът в GSM се нарича A5/1 и е на възраст по-голяма сигурно от тази на половината потребители в този форум. При всичкия research и пробиви в продължение на години (сигурно първите атаки срещу него са описани преди поне 10-15 години), никой не иска да го изхвърли. Ясно че това ще струва  пари, ясно че UMTS така или иначе променя нещата, но дай междувременно да говорим глупости и да замазваме нещата.

Това обаче не дразни чак толкова, дразни цялата затвореност. 802.11g е далеч по-скорошен феномен, но мога да отида в магазина и да си купя адаптер, който може да вкарам в monitor mode и да видя всичко, което минава. Всички L1/L2 детайли, формати на фреймове, криптоалгоритми и т.н са отворени стандарти и може да прочетеш за това навсякъде.

С GSM нещата обаче е забавно - можеш да си купуваш телефони, GSM модули, USB GSM адаптери и т.н. и никой от тях не можеш да вкараш в нещо като monitor mode за да видиш какво се случва около теб така да се каже out of the box. Не мога да отрека че документация има, но е далеч не е толкова изобилна. Аз допреди няколко месеца нямах идея какво точно трябва да минава по Um интерфейса. Като видях първите дъмпове в Wireshark, гледах като теле в железница. Като тръгнах да чета по въпроса, установих че далеч по-полезна и синтезирана информация има по разни ентусиастки сайтове, в сравнение с по-официалните източници. Определено нищо страшно не следва от това. Просто това е нагледно доказателство как когато нещо се прави не особено прозрачно, дори и да е било с най-добро желание, накрая излиза сбъркано.
Активен

"Knowledge is power" - France is Bacon

n00b

  • Напреднали
  • *****
  • Публикации: 1248
  • Distribution: OSX
  • Window Manager: 10.6, 10.8, 10.9
  • Live to hack, hack to live.
    • Профил
Re: GSM == ЗЛО!
« Отговор #8 -: Sep 22, 2013, 03:20 »
Просто това е нагледно доказателство как когато нещо се прави не особено прозрачно, дори и да е било с най-добро желание, накрая излиза сбъркано.

Все пак не забравяй че говорим за протоколи и шифри изобретени около края на 80те когато Cray имаха малцина, а PDP11 беше сравнително по-разпространен. В днешно време имаш подобна процесорна мощ на телефона или таблета си. ОБАЧЕ A5/1 не се променя, което и мен много ме озадачава защо.

Навярно отговора е, че в днешно време има зилиони устройства които разчитат на него и промяната би ги направила с антикварна стойност и отделно операторите ще трябва да се охарчат сериозно със нови станции, нов софтуер, нов хардуер и изритване на доста стари скелети от гардеробите.

Обаче сме 2013-та в момента и първо трябва да се мине през ITU, разни стандартционни комитети, патентни войни, лицензни такси и т.н. В крайна сметка ще стане политически проблем и ще си говорим за пари. Явно в момента на всички им е по-изгодно статутквото да си остане. Включително и на държавните организации с няколко буквени акроними.
Активен

mobilio - професионални мобилни приложения

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: GSM == ЗЛО!
« Отговор #9 -: Sep 22, 2013, 11:38 »
Значи това е измислено през 1986 и държано в тайна в продължение на години (докато някакви пичове не го хващат и reverse-ват в края на 90-те). Нормалното в случая е да се публикува и да мине peer review - след като в крайна сметка е за общо ползване. Ако това се беше случило, сигурно нещата щяха да са различни днес.

Дори за това време, и алгоритмите и протоколите са криви. Например автентикацията само в една посока и възможността за неизползване на криптиране е нещото, което позволява активните атаки с downgrade-ване на шифъра и това със сигурност е било ясно тогава. Дори само 64-битовия ключ и състояние трябва да е било притеснителен момент тогава. Резултатът обаче не е да се съберат предложения и да се мине през нормална стандартизация, ами по-скоро нещата да се затворят. И това е нарочно май. Според някакво гуру в sci.crypt, когато са го дизайнвали (студената война) имало караници между немците които имали граница със СССР и искали силна криптография и останалите, които искали точно обратното и в крайна сметка вторите били надделяли. И тъй като все пак трябва да се печелят пари, рекламираме това решение като сигурно, затваряме всякакви технически детайли в продължение на години, за да не стават разправии и печелим пари. Когато все пак нещата стават ясни и почнат да излизат разни неща, онези излизат и почват да обясняват "ааа да, ама това е само теоретично, нещата не са толкова прости". Накрая преди няколко години онзи пич Nohl отива и им го демонстрира, заедно с няколко препоръки (примерно елементарното е да вкараш случайни стойности вместо известен padding, за да прецакаш атакуващият да не се сдобие с достатъчно known plaintext). Резултатът е че нищо не се променя - а plaintext randomization не се ползва примерно и от 3-те ни оператора в момента.

Макар че в момента стават неща със същият краен резултат. Наскоро бях чел в един мейлинг лист покрай глупостите на NSA, единият от разработчиците на OpenVPN, който е участвал в стандартизирането на IPSEC беше споделил какво е ставало, беше забавно. Постоянно се появявали разни хора, индиректно свързани с NSA, които давали предложения нещо да се отслаби (примерно тук да се включи опционално ползването на слаб алгоритъм, там някоя друга пакост). От време на време NSA правели циркове (от сорта на "не можем да дискутираме открито въпроси свързани с националната сигурност, чужденците да напуснат залата", това на среща на ITU, което е международна организация, хаха).
« Последна редакция: Sep 22, 2013, 11:52 от gat3way »
Активен

"Knowledge is power" - France is Bacon

lunarvalley

  • Напреднали
  • *****
  • Публикации: 1397
  • Distribution: Slackware
  • Window Manager: Xfce
    • Профил
Re: GSM == ЗЛО!
« Отговор #10 -: Sep 22, 2013, 13:21 »
фърляйте жисиемитье у кофата ;)
Активен

а съвсем друго е Next Next Finish.

cybercop

  • Напреднали
  • *****
  • Публикации: 5580
  • Distribution: Ubuntu LTS, CENTOS 6.x
  • Window Manager: Xfce, Gnome 2
    • Профил
Re: GSM == ЗЛО!
« Отговор #11 -: Sep 22, 2013, 13:27 »
Като са зло - не ги ползвайте. Както и скайп и фейсбук. От толкова общуване онлайн тая държава съвсем ще остане без хора. Някои са забравили изобщо, че секс се прави и с други инструменти, освен с мишка и клавиатура.
« Последна редакция: Sep 22, 2013, 14:15 от cybercop »
Активен

Ползването на Linux води до пристрастяване. Факт.
http://s19.postimg.cc/4oajwoq5v/xenial2.png

backinblack

  • Напреднали
  • *****
  • Публикации: 3201
    • Профил
Re: GSM == ЗЛО!
« Отговор #12 -: Sep 22, 2013, 14:05 »
Цитат
Нянкой са забравили изобщо, че секс се прави и с други инструменти, освен с мишка и клавиатура.

И май точно това им е най-големия проблем който води след себе си други странични :D :D :D  [_]3
Активен

zeridon

  • Killmode enabled
  • Administrator
  • Напреднали
  • *****
  • Публикации: 1398
  • Distribution: Debian/Ubuntu
  • Window Manager: console/Gnome
  • BOfH
    • Профил
    • WWW
Re: GSM == ЗЛО!
« Отговор #13 -: Sep 22, 2013, 14:23 »
Преди години работих за една компания която продаваше таканаречените VAS (Value Added Services) системи, та от там имам и лек вътрешен поглед.

Като цяло гсм-то е ... не хубава работа. Целия дизайн на системата е осран тотално от гледна точка на сигурност.

1. Телефона винаги, винаги, ВИНАГИ вярва на мрежата. Няма вариант телефона да не повярва на това което мрежата му каже.
2. Ki е ключа към всичко и реално се пази в AUC а не в HLR. Имаш ли ki имаш всичко безусловно
3. IMSI и наистина уникално и принципно не трябва да се ползва то ами TMSI но за него трябва цпу да се генерира от мрежата и съответно ... сети се. TMSI-тата доста често са почти перманентни и не се ротират както трябва.
4. За да си имаш оператор трябва да си изпълнил купчина условия едно от които е да имаш така наречения Lawful Interface. Мда много е законен. Специално в българия е станал леко разграден двор, по други места може и да е в час.
5 Криптиранията всъщност са A5/0, A5/1, A5/2 и A5/3. 0 - няма криптиране, 1 - счупен, 2 - безумие за масите, 3 - много лесно се сваля до 1 следователно счупен.
6. UMTS, 4G, LTE и други подобни бози са неспасяеми също. Реално запазват привилегированото положение на мрежата спрямо терминала, така че просто е въпрос на време и желание да се разкъртят както старите.
7. Най-голямата бариера поне по мое мнение е количеството документация. ГСМ стандартите са над 1Г пдф-и (и то добре написани, сиреч с бая текст). После естествено идват имплементациите на силикон които получаваш само и единствено след доста неприятен NDA документ.

Така че ... давайте да минаваме на PMR, или тъпи воип пишки през VPN. Не че те са много стока но реално имаш доста повече контрол.
Активен

Внмимавай имам клещи за кабел
http://www.netsecad.com/
http://theregister.co.uk/odds/bofh/

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
Re: GSM == ЗЛО!
« Отговор #14 -: Sep 22, 2013, 17:31 »
Е една идея по-добре е работата в сръвнение с мобифоните, които се слушаха със стандартен телевизор :)

Инак все някой споменава нуждата от промяна на алгоритмите, но все и нищо не се прави... Дали от изгода, дали от мързел, дали от инвестиции не знам ама скоро няма да има промяна в това направление.

Пийте  [_]3 и не му мислете много много....
Активен