LINUX.ORG.RU

Amazon представил свою собственную реализацию TLS

 , s2n,


3

5

Amazon анонсировал выход своей собственной реализации TLS — библиотеки s2n. Основная причина разработки своей библиотеки — гиганский объем кода OpenSSL и сложность его аудита, а также целая серия уязвимостей, найденных в ней за последние два года.

Библиотека представляет свою собственную реализацию TLS поверх низкоуровневой криптографии из OpenSSL. Исходные тексты (на языке Си) в настоящий момент состоят из 6000 строк кода, тогда как в OpenSSL около 70000 строк так или иначе связаны с поддержкой TLS. Лицензия новой библиотеки — Apache, исходные тексты доступны в репозитории на github.

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

★★★★★

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

Во-первых, big-endian издохли,

Вас наеобманули :) Даже у вас в Росии - нынче тренд.

во-вторых, не могу понять что не так с этим кодом.

Попроси программиста объяснить на пальцах.

Reset

POWER OFF

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

У всех свои причины, уверен, что и у разрабов сабжа они были.

Не вижу комментария с объяснением надобности велосипеда. Значит их не было. Говнокод.

anonymous
()

Судя по всему, разработчики из Amazon уверены, что они ошибок не допустят. :)

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

Странно, что некоторые анонимусы не знают о наличии оптимизирующих компиляторов, которые ловят такое без каких-либо усилий.

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

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

Harald ★★★★★
()

видимо все Ъ и не обосрали самое главное

https://github.com/awslabs/s2n/blob/master/docs/USAGE-GUIDE.md

At this time s2n does not perform certificate validation and client mode is disabled as a precaution. To enable client mode for testing and development, set the S2N_ENABLE_CLIENT_MODE environment variable.

At this time, s2n does not function as a client and only S2N_SERVER should be used.

Harald ★★★★★
()

Исходные тексты (на языке Си) в настоящий момент состоят из 6000 строк кода

MacBook-Pro-Roman:s2n roman$ cloc .
     134 text files.
     130 unique files.                                          
      10 files ignored.

http://cloc.sourceforge.net v 1.62  T=0.47 s (256.9 files/s, 35488.8 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                               85           2820           2278           9689
C/C++ Header                    29            275            546            866
make                             7             39            100            101
-------------------------------------------------------------------------------
SUM:                           121           3134           2924          10656
-------------------------------------------------------------------------------

Edit: Ошибочка...

MacBook-Pro-Roman:s2n roman$ cloc --exclude-dir=tests .
      97 text files.
      93 unique files.                              
      10 files ignored.

http://cloc.sourceforge.net v 1.62  T=0.35 s (237.3 files/s, 29150.7 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C                               53           1645           1234           5720
C/C++ Header                    27            257            512            806
make                             4             22             56             65
-------------------------------------------------------------------------------
SUM:                            84           1924           1802           6591
-------------------------------------------------------------------------------

А вообще интересная вещь, надо заценить.

Deleted
()
Последнее исправление: romeo250501 (всего исправлений: 2)
Ответ на: комментарий от zenden

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

P.S.: Кстати, раз «кому надо всё равно взломает» - почему до сих пор никто не смог взломать blockchain bitcoin? Неуязвимые алгоритмы вполне себе существуют, уязвимы лишь конкретные ошибочные реализации. Против математики не попрёшь.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 3)
Ответ на: комментарий от Harald

Неоптимизированный код не является некорректным. Указанный выше код соответствует стандартам и не использует UB и потому нормально скомпилируется любым компилятором, который им следует. Насколько оптимально - под вопросом, однако работать будет.

Гораздо хуже, когда из-за преждевременной оптимизации получается UB и код ломается, если компилятор таки умеет оптимизировать.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)

казалось бы что тут сложного: установка сессии, обмен зашифрованными пакетами ...

и вообще амазона чего так беспокоит это? срочный госзаказ?

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

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

При чём тут корректность? Этот код всегда корректен, просто где-то он скомпилируется в три сдвига и побитовых логических сложения, а где-то — в одну bswap.

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

анонимус говорил про

Странно что некоторые эксперты не знают про о проблемах с unaligned memory access.

компилятор может и выровнять доступ к памяти, а может скомпилировать как есть, и в результате на каком-нибудь ARM-е программа упадёт с SIGBUS

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

Узбагойся, сдвиги в си одинаково работают на любом endianess и ничего не сломается.

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

NIH-синдромом же

Гы. Гугло-синдром (язык Go) оказывается имеет своё имя...

Которое старше не только Go, но и гугла, ага.

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

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

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

Кому надо, всё равно взломает и прочтет что нужно.

шифрование существует для того, чтобы «кому НЕ надо» не читали, а не то, что ты думаешь :)

anonymous
()

Я удивлен. Велосипедисты повсюду. Каждый считает, что его реализация TLS самая правильная, надежная и не содержит ошибок. Про необходимость поддержки они, видимо, тоже хорошо подумали. И про кроссплатформенность, конечно, не забыли. Такими темпами скоро в каждом резюме будут требовать строчку: «Я написал свою реализацию TLS и выложил на github».

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

шифрование существует для того, чтобы «кому НЕ надо» не читали, а не то, что ты думаешь :)

Боюсь, вы с zenden говорите о разных точках зрения на этот вопрос. Давайте разберемся с относительностью здесь.

Ниже представлена таблица, показывающая как хакер и владелец данных интерпретируют понятия «кому надо» и «кому не надо» со своей point of view.

╔════════════════╦══════════════╦══════════════════════════════════════╗
║                ║    Хакер     ║           Владелец данных            ║
╠════════════════╬══════════════╬══════════════════════════════════════╣
║ «Кому надо»    ║ Сам хакер(1) ║ Сам владелец, доверенный круг лиц(2) ║
║ «Кому не надо» ║ Остальные(3) ║ Хакер, остальные(4)                  ║
╚════════════════╩══════════════╩══════════════════════════════════════╝

Посмотрим. zenden в своём сообщении говорит о (1). Вы же, уважаемый анонимус, говорите о (4). Таким образом возникает путаница, из-за того, что вы говорите об одном и том же лице, однако интерпретация этих понятий вами производится из разных столбцов таблицы, то есть, разных точек зрения.

Вами были использованы разные выражения, кажется, что вы привели аргумент. Но (как мы сейчас выяснили) это не так.

anonymous
()

Исходные тексты (на языке Си)

Можно было не заморачиваться

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

боюсь, в теме безопасности никакой код не написан достаточно просто и понятно xD Уже в хэлловорлде можно найти баги, а уж в семи (или семидесяти) строчках кода,..

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

на каких-то есть, а на каких-то и нет...

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