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

gat3way

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



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

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

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


П.П 2 - на второ четене, това решение е дори по-отвратително. Отваря широко вратата за мноооооого лоша DoS атака срещу сървъра. Но пък поне до един момент ще работи...ефективно.
« Последна редакция: Фев 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 -: Фев 06, 2015, 22:45 »
За този проблем ли става дума?
Активен

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

gat3way

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

"Knowledge is power" - France is Bacon

programings

  • Участник
  • *****
  • Публикации: 168
  • Distribution: Debian Stable, FreeBSD
  • Window Manager: Trinity, XFCE
    • Профил
Re: Тролене по Майкрософт
« Отговор #3 -: Фев 06, 2015, 23:10 »
Липсва state-дефиниращ фактор, който да се проверява с цел защита от replay атаки?
Активен

gat3way

  • Участник
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Тролене по Майкрософт
« Отговор #4 -: Фев 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 -: Фев 06, 2015, 23:16 »
Оу, чистият текст на заявката заслужава втори опит :)
Активен

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

gat3way

  • Участник
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Тролене по Майкрософт
« Отговор #6 -: Фев 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 и ти го одобряваш или не. Когато клиента ти дава и двете...абе трябва много да му вярваш.
« Последна редакция: Фев 06, 2015, 23:30 от gat3way »
Активен

"Knowledge is power" - France is Bacon

programings

  • Участник
  • *****
  • Публикации: 168
  • Distribution: Debian Stable, FreeBSD
  • Window Manager: Trinity, XFCE
    • Профил
Re: Тролене по Майкрософт
« Отговор #7 -: Фев 06, 2015, 23:41 »
Добре, каква тогава въобще е ползата от това да съществува challenge-respone?

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

gat3way

  • Участник
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Re: Тролене по Майкрософт
« Отговор #8 -: Фев 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 -: Фев 06, 2015, 23:52 »
Добре, но нещо ми е трудно да го видя съвсем като тъпотия (въпреки че идва от "Малък и мек"), а си мисля само за проста несъвместимост с RADIUS (може би защото въобще не е мислен за него, когато е създаван). Не е единственото нещо, което, поставено в по-широки граници, изглежда недовършено или недомислено. Всяко нещо с целите си. Само трябва да се сложи (ако няма) в документацията му един надпис с големи червени букви за тази несъвместимост.
Активен

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

gat3way

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

"Knowledge is power" - France is Bacon

4096bits

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

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

Rosen88

  • Участник
  • *****
  • Публикации: 167
  • Distribution: Calculate Linux Desktop 15.17
  • Window Manager: Mate 1.15
    • Профил
Re: Тролене по Майкрософт
« Отговор #12 -: Фев 07, 2015, 06:08 »
Не разбирам нищо от тези неща. Но като ви чета, за пореден път се убеждавам, че не трябва да се има вяра на нищо, що иде от там. Тея хора уж имат ресурси, нали? Що не си свършат работата както трябва, ами все ще намерят как да се насерат в колосаните си гащи  :P

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

Процесор: AMD Vishera FX8320 4600MHz Noctua NH-D14
Дънна Платка: Gigabyte GA-990-FXA UD3 Rev 4.0
Памет: 16GB DDR3 1600MHz Adata
SSD: AMD Radeon R7 SSD 120GB
HDD: Western Digital Red 1TB
Видео: Powercolor hd7870 ghz edition 2gb gddr5 (v2)
Захранване: Fractal Design Integra M650

go_fire

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

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

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

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

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

***

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

***

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

4096bits

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

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