LINUX.ORG.RU

В программах RSA Security обнаружен очередной бэкдор АНБ

 extended random, ,


1

1

По данным агенства Рейтер, АНБ оставило свои закладки не в одном, как было известно ранее, а сразу в двух программах, принадлежащих пионеру в области безопасности - компании RSA Security.

В декабре прошлого года уже появлялись доказательства того, что АНБ заплатило компании около 10 миллионов долларов за возможность поучаствовать в разработке генератора случайных чисел, основанного на механизме двойных эллиптических кривых (Dual EC DRBG). Внесённые изменения позволяли любому, кто был осведомлен о них, без особых трудностей предсказывать поведение генератора, а «случайные» числа становились вовсе не «случайными». Проблема усугублялась тем, что этот метод шифрования был задействован по умолчанию в самом популярном продукте RSA - программном комплексе BSAFE.

Профессоры различных американских университетов выступили с заявлением о том, что им удалось найти еще один бэкдор в BSAFE. Он размещён в расширении Extended Random (применяемом для повышения безопасности веб-сайтов), которое изначально должно было увеличивать количество источников энтропии, увеличивая надежность шифрования. Однако, включение данного расширения не только не способствует усилению криптостойкости, но позволяет в сотни и тысячи раз ускорить дешифровку данных, зашифрованных с помощью пресловутых двойных эллиптических кривых путём облегчения предсказания следующих случайных чисел. Примечательно, что в 2008 году Пентагон рекомендовал использовать это расширение в качестве средства повышения энтропии.

RSA Security отрицает, что данный код был добавлен по просьбе АНБ, но в качестве оправдания упирает лишь на то, что это расширение не обрело популярность, а его разработка и поддержка были прекращены полгода назад. «Нам стоило более скептически отнестись к намерениям АНБ,» - сказал главный инженер RSA Сэм Кэрри. «Мы доверяли им, лишь потому, что они обеспечивают безопасность правительства США и критической инфраструктуры США.»

По словам Томаса Райсенпарта из университета Висконсина, исследовавшего код, Extended Random не даёт вообще никаких преимуществ в плане безопасности.

Мэтью Грин, профессор университета Джонса Хопкинса, высказался более образно. Учитывая тот факт, что указанное расширение появилось аккурат после принятия двойных эллиптических кривых в качестве стандарта, объяснения RSA выглядят крайне неубедительно. «Использовать Dual EC DRBG - все равно, что играть со спичками. Но включение Extended Random можно сравнить разве что с добровольным обливанием себя бензином», - говорит Грин.

Роль АНБ в происхождении Dual EC DRBG довольно значительна. Авторами документа, описывавшего эту технологию, являются Маргарет Солтер, технический директор подразделения АНБ, ответственного за обеспечение безопасности, и сторонний эксперт Эрик Рескорла, выступавший за шифрования всего веб-трафика в Интернете. В настоящее время, он работает в Mozilla Foundation и отказывается от комментариев по вопросу об эллиптических кривых. Ответа от Маргарет Солтер получено не было. Агентство Национальной Безопасности США также отказалось комментировать ситуацию.

Несколько лет назад Инженерный совет Интернета (IETF) рассматривал вопрос о принятии Extended Random в качестве отраслевого стандарта. К счастью, этот протокол тогда принят не был.

Исследователям понадобился всего лишь час времени, чтобы вскрыть шифрование BSAFE, а стоимость задействованного для этого оборудования не превышает 40 тысяч долларов. Задействование Extended Random ускоряет этот процесс в 65 000 раз, сводя время атаки к нескольким секундам. Эта простота позволяет легко применять такую атаку при массовом наблюдении за трафиком.

>>> Подробности

anonymous

Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 2)

WOW WOW WOW

Хорошо, что это всё-таки вскрылось, как и прошлый случай, подобные расследования внушают оптимизм. Бесконечная благодарность всем развивающим криптографию.

supreme
()

Явно спалились же

Авторами документа, описывавшего эту технологию, являются Маргарет Солтер, технический директор подразделения АНБ

Действующий текцщий официальный техдир АНБ пишет механизм генерации случайных чисел — не удивительно что «расширение не обрело популярность». Они бы ещё текст приказа о вбросе туда мелким шрифтом добавили.

Ну и несколько профессоров, конечно, «случайно» всем скопом «проговорились». А уж никак не потому, что очередная серия отвлекающих манёвров удалась, а нужные хардварные бэкдоры успешно внедрены в элементную базу китайских заводов.

anonymous
()

а что за программы то ?

где это есть?

rogerw
()

В настоящее время, он работает в Mozilla Foundation

Мои подозрения об истинном назначении дыр, которые регулярно появляются в свежевыпущенных обновлениях Firefox, и автообновления по умолчанию, получают новое подтверждение.

Надо переходить на IceWeasel и отключать обновления?

allter149
()

Вертел я АНБшников, их семьи, их жен и детей на Х#Е!

Молюсь на таких ребят, которые раскрывают финты АНБшников. Молодцы!

anonymous
()

Ну вы издеваетесь? Как можно было подтвердить новость с очевидно лишней запятой в заголовке?

meequz ★★
()

Кастую корректора в тред.

Заголовок прочитал так:
«В программах RSA Security [тут афтар сделал паузу, чтобы глотнуть пефка] обнаружен очередной бэкдор АНБ.»

Когда уже вы прекратите ставить запятые на пустом месте?

Саму новость нечетал.

akk ★★★★★
()
Ответ на: комментарий от meequz

Так пора уже знать:

Проверено: Shaman007 (04.04.2014 10:03:07)

amazpyel ★★★
()

Помните комикс xkcd про 4096 bit RSA? По ходу, там даже пятидолларовый гаечный ключ не понадобится.

Очень хреновые новости. Такие бэкдоры обнаружить невозможно, будь исходный код хоть 100 000 раз открытым. Есть две условно рандомные константы в стандарте, ты даже за миллион лет не обнаружишь, что одна намеренно является n-й степенью другой, и этот n кому-то известен. Так что спасибо и низкий поклон Сноудену.

prischeyadro ★★★☆☆
()

А в купсе - локал рут эксплойт :(

xtraeft ★★☆☆
()

сторонний эксперт Эрик Рескорла, выступавший за шифрования всего веб-трафика в Интернете. В настоящее время, он работает в Mozilla Foundation ------------------------------------------------

Мозилко опасносте !!!

anonymous
()
Ответ на: комментарий от Shaman007

ГОСТ - алгоритм, продукты RSA - реализация, смерть - неизбежна, ГОСТ - не нужен.

Shaman007 - человек, водка - яд, реализация - преступление, геноцид - неизбежен, Shaman007 - не нужен!

anonymous
()
Ответ на: комментарий от prischeyadro

Почему невозможно? При наличии исходников все реально. И мне не нужно ждать миллион лет чтобы понять что это за константы и как они работают.

A-234 ★★★★★
()
Ответ на: комментарий от A-234

Нет. Задача вычисления модульного логарифма относится к разряду NP-полных. Поэтому вычислить два 500-значных, к примеру, числа a и b, таких, что a = b^n mod p можно легко, а найти после этого n, зная a и b, на современных компьютерах за разумное время нельзя. Зато тот, кто знает n, может предсказывать числа, сгенерированные генератором ПСЧ, использующим эти a и b. Всё, что ему для этого надо - утвердить a и b в качестве стандарта для какого-либо шифра.

Это как пример - на этом примере я видел очень хорошее объяснение сути бэкдора от АНБ. Вместо возведения в степень в качестве необратимой операции на самом деле используется математика на эллиптических кривых, но механизм точно такой же.

prischeyadro ★★★☆☆
()
Последнее исправление: prischeyadro (всего исправлений: 3)

Исследователям понадобился всего лишь час времени, чтобы вскрыть шифрование BSAFE

Решето

anonymous
()

А сколько закладок от спецслужб мира еще не найдено в СПО... В Windows хотя бы только закладки АНБ. И США далеко. А в СПО кто не попадя может делать бэкдоры. Тут не до смеха, когда не знаешь, кому уйдут твои данные.

anonymous
()
Ответ на: комментарий от anonymous

В ЗПО могут быть закладки от кого угодно. точнее кто больше заплатит, случай со скайпом открытым для ФСБ напомнить?, но искать их гораздо труднее. а если найдешь, что будешь делать, проконтролировать сможешь?

anonymous
()
Ответ на: комментарий от prischeyadro

Это называется не бэкдор а уязвимость алгоритма. Если вы пихаете в реализацию алгоритмы уязвимости которых до конца не изучены то таких бэкдоров можно одидать не только от АНБ но и от китайских школьников. Если у меня есть генератор ПСЧ то его добротность и зависимость от начальных данных должна быть проверена. Математически, естественно. Вы ведь корни квадратного уравнения тоже не перебором ищете.

В случае с закрытыми исходниками даже обсуждать нечего. Там один сплошной бэкдор.

A-234 ★★★★★
()

shaman007, все тебя тут ругают, а я счетаю, что ты отличный модератор.

anonymous
()

программном комплексе BSAFE

ну и кто тут у нас на ЛОРе его использует?

emulek
()
Ответ на: комментарий от prischeyadro

утвердить a и b в качестве стандарта для какого-либо шифра.

таких констант ОЧЕНЬ мало. Их можно и поменять.

И да, никто не запрещает тебе прогнать ненадёжный рандом сквозь свой фильтр. Так обычно и делается, энтропия собирается из нескольких источников, потому даже если враг может предсказать один из них, то это ему ничего не даст.

Ну естественно есть продукты, в которых этого НЕ делается(или делается так, как оно удобно для АНБ), ну и что? Никто не заставляет использовать эти продукты.

emulek
()
Ответ на: комментарий от A-234

Если у меня есть генератор ПСЧ то его добротность и зависимость от начальных данных должна быть проверена. Математически, естественно.

ВНЕЗАПНО: эта проверка принципиально невозможна. Пруфы найдёшь у Д.Кнута.

emulek
()
Ответ на: комментарий от emulek

Из разных источнков энтропию берут обычно для сида генератора, а ПСЧ потом генерируются каким-то одним алгоритмом. Фильтровать можно (например, брать только LSB, остальное выкидывать), но в стандарте на этот счёт есть пункт «использовать только часть значений крайне не рекомендуется по соображениям производительности». Тоже от АНБ, уверен.

prischeyadro ★★★☆☆
()
Ответ на: комментарий от emulek

таких констант ОЧЕНЬ мало. Их можно и поменять.

Стандарт называется стандартом не просто так, чтобы менять там всё направо и налево. И стандарт — это не всегда плохо. Есть нефиговая вероятность, что если ты не понимаешь досконально, до самых мельчайших подробностей, как работает алгоритм, то возможно бэкдорную величину ты заменишь просто на ненадёжную (с которой начнёт работать линейный криптоаналализ, например).

prischeyadro ★★★☆☆
()
Ответ на: комментарий от prischeyadro

Из разных источнков энтропию берут обычно для сида генератора

я о том и говорю. Бери seed из разных источников, и складывай всё.

а ПСЧ потом генерируются

а зачем тебе ПСЧ?

emulek
()
Ответ на: комментарий от prischeyadro

Стандарт называется стандартом не просто так, чтобы менять там всё направо и налево. И стандарт — это не всегда плохо.

всегда, если там жёстко прописаны какие-то магические константы, непонятно из чего полученные.

возможно бэкдорную величину ты заменишь просто на ненадёжную (с которой начнёт работать линейный криптоаналализ, например).

значит должны быть стандартизированы безопасные способы получения этих констант.

emulek
()
Ответ на: комментарий от emulek

а зачем тебе ПСЧ?

Тебе это неясно? Ну сравни cat /dev/random и cat /dev/urandom

всегда, если там жёстко прописаны какие-то магические константы, непонятно из чего полученные.

Ты далёк от реалий криптографии. Не в курсе про s-boxes, про протокол Диффи-Хеллмана? В стандарте должны быть константы, чтобы протокол работал.

prischeyadro ★★★☆☆
()
Ответ на: комментарий от prischeyadro

а зачем тебе ПСЧ?

Тебе это неясно?

учись читать: я не спрашивал «чем отличается», я спрашивал «зачем тебе ПСЧ?»

Ты далёк от реалий криптографии.

очень знакомый аргумент. Совсем недавно тут уже был иксперт, тоже самое говорил.

Не в курсе про s-boxes, про протокол Диффи-Хеллмана?

в курсе.

В стандарте должны быть константы, чтобы протокол работал.

я и не говорил «не должно». Но их должно быть мало, и должно быть предельно ясно, КАК они делаются. Иначе — да, будет возможна атака через эти константы. Вот только не ты эту атаку придумал, она и до тебя была известна.

emulek
()
Ответ на: комментарий от emulek

и должно быть предельно ясно, КАК они делаются

Ну вот тебе говорят: a получено при помощи квантового генератора случайных чисел. b получено при помощи квантового генератора случайных чисел. И?

я спрашивал «зачем тебе ПСЧ?»

Генерировать непредсказуемые IV для очень большого количества шифруемых данных.

prischeyadro ★★★☆☆
()
Ответ на: комментарий от prischeyadro

Ну вот тебе говорят: a получено при помощи квантового генератора случайных чисел. b получено при помощи квантового генератора случайных чисел. И?

ты же сам выше писал, что если взять _любое_ число, то возможно нам не повезёт, и алгоритм можно будет очень просто взломать. Не? Или «квантовый генератор» _любое_ число дать не может, даёт только _хорошие_?

Генерировать непредсказуемые IV для очень большого количества шифруемых данных.

что мешает тебе использовать криптостойкий хеш с солью для этой цели? Как ты сможешь из одной sha512, сделать предыдущую, если в соли 1024 бита, и тебе эта соль неизвестна?

Так и делаются твои IV. И нужно для этого всего два случайных числа, seed и соль.

emulek
()
Ответ на: комментарий от emulek

ты же сам выше писал, что если взять _любое_ число, то возможно нам не повезёт, и алгоритм можно будет очень просто взломать. Не? Или «квантовый генератор» _любое_ число дать не может, даёт только _хорошие_?

Тогда тебе говорят так: мы получили два числа, a и b, на квантовом генераторе случайных чисел, и досконально проверили, что генератор на их основе не будет предсказуемым, так что это ещё один очень хороший повод использовать именно эти a и b. И?

Так и делаются твои IV

Ну так ты и сделал из хэш-функции ГПСЧ. Это и есть ответ на вопрос «зачем нужен ГПСЧ».

prischeyadro ★★★☆☆
()
Ответ на: комментарий от prischeyadro

Тогда тебе говорят так: мы получили два числа, a и b, на квантовом генераторе случайных чисел, и досконально проверили, что генератор на их основе не будет предсказуемым, так что это ещё один очень хороший повод использовать именно эти a и b. И?

что значит «проверили, что не будет предсказуемым»? Если я правильно понял, это значит, что они не смогли предсказать. Они не смогли, а враг?

Ну так ты и сделал из хэш-функции ГПСЧ.

да. А при чём тут какие-то уязвимости в чьих-то алгоритмах?

Я использую уязвимый алгоритм всего лишь как дополнительный источник энтропии, для получения seed и соли. С ним лучше, чем без него. С ним предсказать может только АНБ(и то, в теории), без него — любой дурак.

emulek
()
Ответ на: комментарий от A-234

подумай: можно-ли доказать невозможность предсказания числа?

Очевидно — нет, нельзя. Даже идеальная монетка в сферическом вакууме _может_ быть предсказана. С вероятностью ½ предсказана верно. Можешь-ли ты _доказать_, что числа действительно случайные? Или хотя-бы то, что их никто, кроме тебя не в состоянии предсказать, даже зная алгоритм?

Кнут вывел ЕМНИП 6(шесть) критериев случайности, и даже если все дают true, то это ещё ничего не доказывает.

Можно доказать, что какой-то ГПСЧ предсказуем (и в первом посте про это написано), но невозможно в принципе доказать, что ГПСЧ непредсказуем. Увы.

emulek
()
Ответ на: комментарий от emulek

что значит «проверили, что не будет предсказуемым»? Если я правильно понял, это значит, что они не смогли предсказать. Они не смогли, а враг?

Ты с формальным определением атак на шифры знаком? Они используют понятие идеализированного противника — http://en.wikipedia.org/wiki/Adversary_(cryptography) Они не смогли, а враг смог — ну печалька. Но стопроцентные гарантии в криптографии даются только на шифр Вернама.

да. А при чём тут какие-то уязвимости в чьих-то алгоритмах?

Какие уязвимости? Ты спрашивал «а зачем тебе ПСЧ?» Ответ тебя устраивает?

Я использую уязвимый алгоритм всего лишь как дополнительный источник энтропии, для получения seed и соли.

Алгоритм источником энтропии быть не может поскольку детерминирован, ты о чём вообще?

prischeyadro ★★★☆☆
()
Ответ на: комментарий от prischeyadro

Ты с формальным определением атак на шифры знаком?

речь про другое немножечко. Речь про сами псевдослучайные числа. Проблема в том, что принципиально недоказуемо то, что они  — случайные. Последовательность 0,0,0,0,0,0... тоже _может_ быть случайной. А может быть и нет.

Они не смогли, а враг смог — ну печалька. Но стопроцентные гарантии в криптографии даются только на шифр Вернама.

тут всё дело в том, что если ты будешь использовать в качестве ПСЧ просто 1,2,3,4,5... и какую-то соль неизвестную врагу, то можно дать достаточно сильные гарантии, что враг не сможет предсказать даже эту последовательность 1,2,3,4,5..., в случае, если её обернуть в криптостойкий хеш. Т.е. это у нас будет УЖЕ криптосильный ГПСЧ. И его сила будет такая же, как у хеша(т.е. на сегодня достаточная, даже если брать md5). Но это конечно при условии, что соль непредсказуема. IRL используют более сильные последовательности, и более лучшие алгоритмы, т.ч. если всё делается правильно, то проблемы не будет, даже с кривым ГПСЧ. Эти IV нужны довольно редко, т.ч. проблемы в производительности у нас нет.

Единственная проблема — использование уязвимого ГПСЧ напрямую. Но это чистой воды вредительство.

Алгоритм источником энтропии быть не может поскольку детерминирован, ты о чём вообще?

алгоритм может быть источником энтропии, если какие-то входные данные не известны врагу(а сам алгоритм конечно известен).

emulek
()
Ответ на: комментарий от emulek

Проблема в том, что принципиально недоказуемо то, что они — случайные.

«Непредсказуемым» в криптографии является ГПСЧ, выход которого невозможно отличить от истинно случайной величины за полиномиальное время (то есть не применяя такие методы, как перебор всех значений сидов). http://ru.wikipedia.org/wiki/Тест_на_следующий_бит Вот это и доказали. ОК? Давай вернёмся к тому, что я написал:

Тогда тебе говорят так: мы получили два числа, a и b, на квантовом генераторе случайных чисел, и досконально проверили, что генератор на их основе не будет предсказуемым, так что это ещё один очень хороший повод использовать именно эти a и b. И?

Что делать людям, которые хотят проверить этот стандарт шифрования?

Т.е. это у нас будет УЖЕ криптосильный ГПСЧ.

Т.е. ты предложил вместо одного ГПСЧ использовать другой. Это не способ обнаружения закладки. Ты проблему таким образом не решаешь. Вот нам стало известно, что в стандартизированном сертифицированном PRNG есть закладка. Не благодаря открытости кода, стандарта и прочего, а только благодаря тому, что Сноуден про это знал и сказал. А если в следующий раз Сноудена не будет? Как без него проверить, что в той же хэш-функции, которую ты хочешь использовать, нет закладки? История с PRNG показывает, что в криптосистемы закладки можно вставлять так, что выявить их наличие, просматривая код, невозможно.

prischeyadro ★★★☆☆
()
Ответ на: комментарий от A-234

Сорри, просмотрел этот пост.

Если у меня есть генератор ПСЧ то его добротность и зависимость от начальных данных должна быть проверена. Математически, естественно.

Генератор безопасен, если числа выбраны случайно. Проверить, что они были выбраны случайно, невозможно, потому что требует запредельной вычислительной мощности. Закладка работает на кольце вычетов по модулю и на эллиптических кривых. Других основ для криптографии у нас нет. Криптография нужна уже сейчас. Что делать?

prischeyadro ★★★☆☆
()
Последнее исправление: prischeyadro (всего исправлений: 1)
Ответ на: комментарий от prischeyadro

«Непредсказуемым» в криптографии является ГПСЧ, выход которого невозможно отличить от истинно случайной величины

ещё раз: нет определения «истинно случайная величина». С чем ты сравнивать будешь? И как? Если ГПСЧ выдал 1,2,3,4,5 это как? Случайно? А почему нет?

http://ru.wikipedia.org/wiki/Тест_на_следующий_бит Вот это и доказали. ОК?

да в том-то и дело, что для прохождения этого теста надо потратить БЕСКОНЕЧНОЕ время. Ну или хотя-бы ОЧЕНЬ БОЛЬШОЕ. На практике даже для конгруэнтного ГПСЧ нужно его ВЕСЬ обойти. Хочу тебе заметить, что это самое «предсказание» на практике реализовано, называется «сжатие». Оно именно так и работает: предсказывается бит, и если угадала, его не записывают (IRL пишут часть бита, скажем если писать ½ бита, то файл сжимается в 2 раза). Проблема в том, что даже для 32х битного ГПСЧ надо сжать 4Гб. Если получится 4Гб, то всё хорошо, а если <4Гб, то данный предсказатель предсказывает лучше, чем ½. Сам понимаешь, что уже для 40 бит этот подход невыполним на сегодня. В принципе.

Что делать людям, которые хотят проверить этот стандарт шифрования?

выкинуть этот стандарт на помойку. И использовать свои a и b, а не специально подобранные добрым дядей(с КК в рукаве).

Т.е. это у нас будет УЖЕ криптосильный ГПСЧ.

Т.е. ты предложил вместо одного ГПСЧ использовать другой.

ну да. Который уже давно и используется. И который никто не взломал пока(во всяком случае, данные не опубликованы).

История с PRNG показывает, что в криптосистемы закладки можно вставлять так, что выявить их наличие, просматривая код, невозможно.

вполне можно найти то место, где закладка _может_ быть. В общепринятых алгоритмах таких мест практически нет. Те константы, которые там есть, они не могут фатально влиять на криптостойкость. Как например число раундов. Мало того, при желании их можно и поменять(стандартом это предусмотрено).

emulek
()
Ответ на: комментарий от prischeyadro

Генератор безопасен, если числа выбраны случайно. Проверить, что они были выбраны случайно, невозможно, потому что требует запредельной вычислительной мощности.

нет. Проверить действительно невозможно, но можно ВЫБРАТЬ.

Закладка работает на кольце вычетов по модулю и на эллиптических кривых. Других основ для криптографии у нас нет. Криптография нужна уже сейчас. Что делать?

про кривые я не знаю. Там с математикой плохо(она ещё не готова). Что до вычетов, то всё не настолько плохо. Мы давно знаем, что есть «хорошие» константы, и «плохие» константы. А ещё мы знаем, что нарваться на «плохую» константу практически невозможно(если бит достаточно много). Константа является почти на 100% «хорошей», если

1. проходит простые и известные тесты

2. если взята СЛУЧАЙНО, и НАМИ (а не дядей. Вот дядя может сделать «плохую» константу специально, и она будет проходить п1)

emulek
()
Ответ на: комментарий от emulek

ещё раз: нет определения «истинно случайная величина». С чем ты сравнивать будешь? И как? Если ГПСЧ выдал 1,2,3,4,5 это как? Случайно? А почему нет?

Константа является почти на 100% «хорошей», если
1. проходит простые и известные тесты

Ты знаешь, что с чем сравнивается в практических тестах на криптостойкость, поэтому писать тебе это не буду. Мозги вопросами типа «что значит «проверили, что не будет предсказуемым»?» кому-нибудь другому сношай.

выкинуть этот стандарт на помойку. И использовать свои a и b, а не специально подобранные добрым дядей(с КК в рукаве).

Подходит только в случае, когда каждый пишет криптософт исключительно для себя. Если это не так, проблема поиска закладок снова встаёт в полный рост.

prischeyadro ★★★☆☆
()
Ответ на: Явно спалились же от anonymous

Ну это было бы вполне в духе спецслужб, в дополнение к незакрытым дырам в софте. Хотя при целевом воздействии уже сейчас не много шансов сохранить информацию, в крайнем случае применят терморектальный криптоанализ, и никто им слова не скажет на это. Взять тот же скайп, или офис.

wakuwaku ★★★★
()
Ответ на: комментарий от anonymous

В открытых проектах все значительные изменения кода изучаются и обсуждаются с другими участниками и просто так левый код туда никто не пропустит, в отличие от проприетарщины..

Indexator ★★★
()

Репутация в такой области очень дорогая вещь, которую очень легко потерять и почти невозможно восстановить.. Думаю, RSA Security после такого пора начинать искать другое занятие..

Indexator ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.