Автор Тема: Тролене по Майкрософт  (Прочетена 17284 пъти)

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Тролене по Майкрософт
« -: Feb 06, 2015, 22:09 »
Днес видях с очите си една очарователна простотия, която много ме забавлява, защото мислех че такива рационализации са запазена марка предимно на родните законотворци. Става въпрос за един майкрософтски протокол за автентикация, който в случая конфигуриран в примерен freeradius сървър. Протоколът е правен с идеята паролата да не минава в чист вид, едната или и двете страни не е задължително да имат паролата, може да имат хеш от нея (смисълът от това е спорен, но нека да бъде) и трябва да предотвратява replay атаки. Ето една примерна успешна автентикация изслухтяна и представена нагледно:



Трябва да се отбележи че самия протокол по спецификация не трябва да прави така, но специално в случая в който се ползва с RADIUS очевидно прави така. Човеците от майкрософт очевидно са решили да опростят малко flow-а, да не затормозяват мрежата и така. What could possibly go wrong? :)

Айде да видим кой първи ще се сети за проблема. Както и за разрешението му при това положение (което е безумно, ако примерно freeradius го разработваха майкрософтци обаче, сигурно щяха да прибегнат до него убеден съм). Всъщност, ако родните законотворци разработваха freeradius съм 101% убеден че точно по този начин биха решили проблема.

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


П.П 2 - на второ четене, това решение е дори по-отвратително. Отваря широко вратата за мноооооого лоша DoS атака срещу сървъра. Но пък поне до един момент ще работи...ефективно.
« Последна редакция: Feb 06, 2015, 22:25 от gat3way »
Активен

"Knowledge is power" - France is Bacon

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Тролене по Майкрософт
« Отговор #1 -: Feb 06, 2015, 22:45 »
За този проблем ли става дума?
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Тролене по Майкрософт
« Отговор #2 -: Feb 06, 2015, 22:50 »
Не, този проблем е във версия 2 на протокола, а тук става въпрос за версия 1. И става въпрос за нещо доста по-тривиално, далеч по-малко комплексно, не изискващо никакви познания свързани с криптография. Ако можех да измисля някоя хубава аналгогия по въпроса, вероятно дори кварталните пияници биха схванали кое е зловещо прецакано в цялата работа. Те нещата със секюрити проблемите често се свеждат до разни абстрактни илюстрации на проблеми с доверието между две страни, като понякога това "свеждане" не е много тривиално. Тук обаче е доста лесно, няма завоалирани неща.
Активен

"Knowledge is power" - France is Bacon

programings

  • Напреднали
  • *****
  • Публикации: 221
  • Distribution: Arch Linux, BunsenLabs Linux, FreeBSD
  • Window Manager: XFCE, MATE, Openbox
    • Профил
Re: Тролене по Майкрософт
« Отговор #3 -: Feb 06, 2015, 23:10 »
Липсва state-дефиниращ фактор, който да се проверява с цел защита от replay атаки?
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Тролене по Майкрософт
« Отговор #4 -: Feb 06, 2015, 23:11 »
Не мисля че това има някакво значение, но иначе е топло :)

Всъщност какво се има предвид state? Защото имаше такъв radius атрибут по спомени и се ползва предимно когато се проксират заявки. Ако става въпрос за същото - да, ирелевантно е до голяма степен.
Активен

"Knowledge is power" - France is Bacon

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Тролене по Майкрософт
« Отговор #5 -: Feb 06, 2015, 23:16 »
Оу, чистият текст на заявката заслужава втори опит :)
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Тролене по Майкрософт
« Отговор #6 -: Feb 06, 2015, 23:28 »
Цитат
The  only things attacker need to know are
 packet  authenticator  and  MS-CHAP  attributes  of  any  successfully
 authenticated packet (or _any_ valid user account).

Това според мен е вече издребняване. В моята скромна фантазия трябва просто да се изслухти access request, който води до успешна автентикация и да се засили обратно (вероятно понеже от страна на сървъра, поне freeradius, "връзваме" secret-и към IP адреси, a secret-а е определящ за authenticator-а на съобщението, това вероятно ще включи и spoof-ване на src адреса на UDP пакета, което само по себе си е ОК, няма да счупи authenticator-а и UDP протокола е сгоден за сляпо spoof-ване понеже няма номера на потвърждения които не знаеш).

На практика имаме challenge-response протокол, в който едната страна ти дава и challenge-а и response-а, което е фундаментална тъпотия. Единственият начин да си спасиш гъза от replay атаки е да пазиш всеки challenge някога получен и после да сравняваш дали някой не ти го праща пак (оттам и DoS атаката, възможните challenge стойности са 2^64, успех с пазенето им и сравненията на всеки опит за автентикация ако някой реши да ти цикли милиони заявки с различен challenge). В нормалният случай, сървъра ти праща случайно генериран challenge, клиента отговара с response и ти го одобряваш или не. Когато клиента ти дава и двете...абе трябва много да му вярваш.
« Последна редакция: Feb 06, 2015, 23:30 от gat3way »
Активен

"Knowledge is power" - France is Bacon

programings

  • Напреднали
  • *****
  • Публикации: 221
  • Distribution: Arch Linux, BunsenLabs Linux, FreeBSD
  • Window Manager: XFCE, MATE, Openbox
    • Профил
Re: Тролене по Майкрософт
« Отговор #7 -: Feb 06, 2015, 23:41 »
Добре, каква тогава въобще е ползата от това да съществува challenge-respone?

Трябва да има някаква умисъл в това.
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Тролене по Майкрософт
« Отговор #8 -: Feb 06, 2015, 23:48 »
Смисълът е когато challenge-а го праща различна страна от тази дето праща response-а. Защото тогава ако тръгнеш да връщаш вече изслухтян response, няма да мине проверката, освен ако няма някаква колизия, което математически погледнато е малко вероятно при положение че се ползва *смислен* PRNG за генериране на challenge-а и *смислена* хеш функция за генериране на response-а. Ако някой праща и двете, смисълът от всичко това се губи. Когато протоколът е UDP базиран и позволява лесно spoof-ване, сигурността на всичко това се отива на едно ниво с това да изслухтиш паролата на някой там където няма ограничения върху source IP адреса и да я засилиш после обратно, разлика обективно погледнато няма.
Активен

"Knowledge is power" - France is Bacon

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Re: Тролене по Майкрософт
« Отговор #9 -: Feb 06, 2015, 23:52 »
Добре, но нещо ми е трудно да го видя съвсем като тъпотия (въпреки че идва от "Малък и мек"), а си мисля само за проста несъвместимост с RADIUS (може би защото въобще не е мислен за него, когато е създаван). Не е единственото нещо, което, поставено в по-широки граници, изглежда недовършено или недомислено. Всяко нещо с целите си. Само трябва да се сложи (ако няма) в документацията му един надпис с големи червени букви за тази несъвместимост.
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Тролене по Майкрософт
« Отговор #10 -: Feb 06, 2015, 23:57 »
Тъпотия е защото RADIUS като протокол, не е само "въпрос и отговор", примерно ако видиш как е реализиран PEAP протокола (пак Майкрософтски) върху който се градят доста от WPA-Enterprise мрежите, ще видиш че там flow-а е доста усложнен и хвърчат доста заявки и отговори (отговорът не е задължително да е access-accept или access-reject, може да е access-challenge). Тук ги е домързяло да вмъкнат още една стъпка и резултатът е катастрофален според мен.
Активен

"Knowledge is power" - France is Bacon

4096bits

  • Напреднали
  • *****
  • Публикации: 6152
    • Профил
Re: Тролене по Майкрософт
« Отговор #11 -: Feb 07, 2015, 02:16 »
Не разбирам нищо от тези неща. Но като ви чета, за пореден път се убеждавам, че не трябва да се има вяра на нищо, що иде от там. Тея хора уж имат ресурси, нали? Що не си свършат работата както трябва, ами все ще намерят как да се насерат в колосаните си гащи  :P
Активен

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

Rosen88

  • Напреднали
  • *****
  • Публикации: 178
  • Distribution: Gentoo Base System release 2.7
  • Window Manager: Gnome 41
    • Профил
Re: Тролене по Майкрософт
« Отговор #12 -: Feb 07, 2015, 06:08 »
Не разбирам нищо от тези неща. Но като ви чета, за пореден път се убеждавам, че не трябва да се има вяра на нищо, що иде от там. Тея хора уж имат ресурси, нали? Що не си свършат работата както трябва, ами все ще намерят как да се насерат в колосаните си гащи  :P

Те са некадърници и не ги интересува клиента да е доволен и те да са си свършили работата, единствено ги интересува сухата пара.
Активен

AMD Ryzen 5 3600x (4.3GHz/1.3V) Noctua NH-D14
GB B450 Aorus Elite
32GB DDR4 3200MHz Corsair Vengeance LPX
Samsung 970 Evo Plus M.2 1TB / Samsung QVO 860 1TB
Western Digital Red 1TB
GB RX580 8GB Gaming
Fractal Design Integra M650
DeepCool Macube 310

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8780
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Тролене по Майкрософт
« Отговор #13 -: Feb 07, 2015, 16:31 »
Едно време много тролех по тях. После смених тактиката. Предпочитам да не ги споменавам изобщо.

Това е свързано с една история. Имаше преди един канал Hallmark. Те правеха много приятни фимчета. Едно от тях се казваше „Мерлин“. Разправяше се историята на магесника на краля Артур, Артър по модерно му. Там имаше и една лоша вещица. Тя имаше абсолютна власт. Но падна много бързо. Това бяха последната минутка на филма. Как стана?

Ами всички спряха да вярват в нея. Обърнаха ѝ гръб и тя просто изчезна, лишена от силата си.

Ей затова и предпочитам да не ги споменавам, дори когато става дума за тях и гледам много, много да избягвам темата.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

4096bits

  • Напреднали
  • *****
  • Публикации: 6152
    • Профил
Re: Тролене по Майкрософт
« Отговор #14 -: Feb 07, 2015, 18:51 »
Моргана? Помня го този канал. Правеха хубави филмчета да. Нямаше кой да ги гледа обаче  ;D
Активен

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