1
00:00:00,000 --> 00:00:05,300
Поэтому мы не можем противимо.

2
00:00:07,600 --> 00:00:15,220
Всем привет. Будет ли про опенсорсы, не совсем про опенсорсы, про хоккеные и про не совсем хоккеные.

3
00:00:15,920 --> 00:00:17,060
Ну, в общем, сейчас все увидите.

4
00:00:17,520 --> 00:00:20,620
Название доклада на экране. Спасибо, что остались.

5
00:00:21,220 --> 00:00:25,600
И если меня слушаете, то я такой.

6
00:00:25,600 --> 00:00:30,220
Нет времени объяснять, я не очень хорошо умею рассказывать про себя.

7
00:00:31,040 --> 00:00:33,140
Я предпочитаю, чтобы за меня говорили мои дела.

8
00:00:33,580 --> 00:00:39,100
В контексте данного мероприятия, хотел бы сказать, что я обожаю железо,

9
00:00:39,160 --> 00:00:43,800
хотя не электронщик, люблю прошивки, софт, системный софт,

10
00:00:44,000 --> 00:00:48,320
все, что запускается между железом и тем, что видит пользователь.

11
00:00:48,860 --> 00:00:55,320
И обожаю сообщество, идеологию свободного ПО и подобного рода мероприятия.

12
00:00:55,600 --> 00:01:06,460
Вот у меня есть план моего сегодняшнего выступления, я постараюсь его придерживаться, но там как пойдет, потому что у меня на самом деле очень много тезисов, которые хотелось бы озвучить.

13
00:01:06,460 --> 00:01:24,080
И в начале по традиции дисплеймеры. Здесь не будет ноликов, здесь не будет единичек и также здесь не будет лалаймок. Один из предыдущих докладчиков говорил, что он не копилит. Вот я не лалаймлю вообще, хотя судя по панельной дискуссии, наверное, уже давно пора.

14
00:01:24,080 --> 00:01:29,900
Потому что я из тех людей, для которых крита это в первую очередь критография

15
00:01:29,900 --> 00:01:36,020
А токен это не то, что современные CTF разжигают жерлова тасков

16
00:01:36,020 --> 00:01:38,240
Чтобы достать какой-то очередной флаг

17
00:01:38,240 --> 00:01:41,480
Потому что по-другому уже просто в современных CTF не получается

18
00:01:41,480 --> 00:01:46,980
А в контексте данного доклада токен это физическое отдельное устройство

19
00:01:46,980 --> 00:01:49,240
Для двухфакторной аутентификации

20
00:01:49,240 --> 00:01:51,220
Из чего состоит такое устройство?

21
00:01:51,220 --> 00:01:55,220
Ну, очевидно, из CardWare, и из Software.

22
00:01:55,220 --> 00:01:58,220
Но почему?

23
00:01:58,220 --> 00:02:01,220
А именно, зачем нам нужно еще одно устройство?

24
00:02:01,220 --> 00:02:03,220
Иван, вот смотри, мы и так обвешаны умными устройствами.

25
00:02:03,220 --> 00:02:08,220
У нас есть смартфоны, у нас есть умные браслеты,

26
00:02:08,220 --> 00:02:10,220
у нас чего только нету.

27
00:02:10,220 --> 00:02:13,220
Нафига мне еще одно устройство, тем более для футфакторки,

28
00:02:13,220 --> 00:02:18,220
если у нас есть такие замечательные средства, как SMS и отдельные приложения.

29
00:02:18,220 --> 00:02:23,440
Отдельные приложения для ОТП, кстати, тоже есть и консорсные. Я вот, например, рекомендую Aedes.

30
00:02:23,440 --> 00:02:28,960
Он и консорсный и достаточно богатый кофича, но это не реклама. Так вот, у нас есть смс.

31
00:02:28,960 --> 00:02:37,780
В чем проблема? Есть связь, есть смс, есть ОТП. Нету связи, нет смс, нет ОТП. Нету ОТП, нету ОТП.

32
00:02:37,780 --> 00:02:44,620
То же самое с приложением на смартфоне. Смартфон может разрядиться, смартфон может не включиться по каким-то причинам,

33
00:02:44,620 --> 00:02:48,060
и авторизация говорит «до свидания».

34
00:02:48,060 --> 00:02:50,120
Как работают токены?

35
00:02:51,100 --> 00:02:54,200
Ну, если архитектурно, то примерно как-то так.

36
00:02:54,440 --> 00:02:56,320
Тут сейчас, наверное, проснулись сетевики,

37
00:02:56,440 --> 00:02:59,120
ну, потому что что-то новое и принципиально придумать сложно.

38
00:02:59,880 --> 00:03:02,140
Слоеный пирог, он везде плюс-минус один,

39
00:03:02,240 --> 00:03:06,140
потому как байтики ходят по проводам и обратно.

40
00:03:07,100 --> 00:03:08,440
Но все же как?

41
00:03:08,620 --> 00:03:10,500
Я люблю себе задавать вопросы,

42
00:03:10,500 --> 00:03:13,020
как, почему, зачем, как вы могли уже понять.

43
00:03:13,020 --> 00:03:34,180
Если совсем упрощенно. Вот пользователь, наслушавший, что ToFi с отдельными токенами это круто, пошел себе купил. Что он должен сначала сделать? Сначала он должен, естественно, на ресурсе, на который он хочет ходить при помощи токена, зарегистрировать этот токен, чтобы ресурс знал, что по такому токену теперь на него можно ходить.

44
00:03:34,180 --> 00:03:46,140
Дальше очень-очень упрощенно. Знакомые криптографы и хардкорные железячники меня за такое упрощение просто сожрут заживо, но это очень упрощенно.

45
00:03:46,140 --> 00:04:05,280
При посещении ресурса ресурс отправляет на токен челлендж. На токене получается челлендж, считается респонс и отправляется обратно на ресурс, где ресурс делает вериф.

46
00:04:05,280 --> 00:04:08,880
Что здесь очень важно подчеркнуть красным?

47
00:04:09,000 --> 00:04:13,280
То, что ключ физически не покидает устройство

48
00:04:13,280 --> 00:04:17,040
В этом, собственно, вся задумка токена, в этом вся идея

49
00:04:17,040 --> 00:04:21,980
Но, если ресурс не знает о ключе, как же он тогда делает вериф?

50
00:04:21,980 --> 00:04:29,720
Ну, тут на помощь приходит матешная клипта, которая позволяет нам при помощи кэш-функции

51
00:04:29,720 --> 00:04:34,020
Однозначно идентифицировать, не зная ключа, что это именно тот токен

52
00:04:34,020 --> 00:04:38,840
Ну и вот нет верифа fail, есть вериф ауф.

53
00:04:39,140 --> 00:04:43,560
Ну в смысле ауф это не призыв волка сменов, это аутентификация сокращенно.

54
00:04:44,300 --> 00:04:46,660
Что по конкретным производителям?

55
00:04:47,120 --> 00:04:49,960
Ну тут смотря какой вендор, смотря какие моделсы.

56
00:04:50,060 --> 00:04:54,340
Тут у нас секундная рекламная пауза и супер игра.

57
00:04:55,120 --> 00:04:57,880
Какой самый популярный вендор?

58
00:04:58,220 --> 00:05:01,120
Будете угадывать по буквам или назовете все слово целиком?

59
00:05:01,120 --> 00:05:02,920
Ну это конечно же юбик.

60
00:05:02,920 --> 00:05:04,420
Кстати, а у кого они есть?

61
00:05:04,520 --> 00:05:05,560
Поднимите руку, пожалуйста.

62
00:05:05,680 --> 00:05:07,540
Давайте интерактива добавим, не стесняйтесь.

63
00:05:08,180 --> 00:05:10,080
Ага, ага, понял.

64
00:05:10,440 --> 00:05:15,340
Ну, только две руки, но здесь аудитория не очень.

65
00:05:16,140 --> 00:05:18,080
Большая, в смысле, в смысле большая.

66
00:05:18,160 --> 00:05:19,340
Извините, я очень нервничаю.

67
00:05:20,000 --> 00:05:21,620
Вот, спасибо, что слушаете.

68
00:05:23,760 --> 00:05:28,600
Я когда трактору еще не такие коры могу выдавать.

69
00:05:30,140 --> 00:05:32,340
Да, юбики, они на рынке давно.

70
00:05:32,920 --> 00:05:48,300
В них реализовано, чего только в них не реализовано, но, естественно, срок не маленький. Есть практически все современные стандарты аутентификации и авторизации. Но, да, вот за авторизацию меня тоже сожру, потом после доклада коллеги.

71
00:05:48,300 --> 00:05:53,380
Они полностью проприетарны

72
00:05:53,380 --> 00:05:55,340
Как аппаратно, так и железно

73
00:05:55,340 --> 00:06:00,000
Но в чем здесь

74
00:06:00,000 --> 00:06:01,700
Опять же особенность

75
00:06:01,700 --> 00:06:04,160
В том, что несмотря на то, что они проприетарны

76
00:06:04,160 --> 00:06:05,300
Под них

77
00:06:05,300 --> 00:06:08,140
Как при помощи сторонних разработчиков

78
00:06:08,140 --> 00:06:09,060
Так и самой компании

79
00:06:09,060 --> 00:06:10,580
Написана куча всякого софта

80
00:06:10,580 --> 00:06:13,240
И некоторый этот софт может работать

81
00:06:13,240 --> 00:06:15,220
Даже с теми ключами, которые не юбики

82
00:06:15,220 --> 00:06:16,860
Почему? Потому что возвращаемся

83
00:06:16,860 --> 00:06:21,920
к моделям различных протоколов на различных уровнях.

84
00:06:22,300 --> 00:06:26,220
За счет того, что большинство протоколов, спецификаций

85
00:06:26,220 --> 00:06:30,560
у нас сегодня открыто, мы можем делать, скажем так,

86
00:06:30,640 --> 00:06:34,100
допен-реплесмент. Нам не нужно разрабатывать с нуля

87
00:06:34,100 --> 00:06:37,580
всю инфраструктуру под токен, если мы будем делать токен

88
00:06:37,580 --> 00:06:39,800
согласно уже существующим спецификациям.

89
00:06:39,800 --> 00:06:44,560
И, собственно, FIDO – это акроним альянса, в который

90
00:06:44,560 --> 00:06:50,040
входят различные компании, которые курируют открытые стандарты, документацию, API.

91
00:06:50,040 --> 00:06:55,540
И если вы хотите реализовать свой токинг, вы это относительно легко можете сделать.

92
00:06:55,860 --> 00:07:02,040
И тут мы переходим к теме open-source и важности открытости не только в протоколах, но и в софте.

93
00:07:03,040 --> 00:07:05,760
Что такое свободный софт? Идеологический.

94
00:07:05,920 --> 00:07:09,820
Это софт, который удовлетворяет четырем свободам.

95
00:07:09,820 --> 00:07:12,440
запускать программу, изучать ее,

96
00:07:12,580 --> 00:07:14,740
модифицировать, распространять измененное.

97
00:07:15,040 --> 00:07:16,400
Именно в исходных кодах.

98
00:07:17,000 --> 00:07:18,640
А если перекладывать эти принципы

99
00:07:18,640 --> 00:07:20,660
на железо, то как это

100
00:07:20,660 --> 00:07:21,500
может выглядеть?

101
00:07:22,380 --> 00:07:24,580
Когда у нас есть какое-то устройство,

102
00:07:24,580 --> 00:07:26,220
есть открытый дизайн,

103
00:07:26,420 --> 00:07:28,080
есть доступные схемы,

104
00:07:28,500 --> 00:07:30,580
и даже несмотря на то, что отдельные

105
00:07:30,580 --> 00:07:32,340
узлы могут быть проприятарными,

106
00:07:32,460 --> 00:07:33,860
например, какие-то компоненты,

107
00:07:34,540 --> 00:07:36,580
микроконтроллеры, микропроцессоры,

108
00:07:37,680 --> 00:07:38,580
сама схема,

109
00:07:38,580 --> 00:07:46,580
Сам принцип он открыт, он поддерживается такое устройство, такая девайсина, открытым софтом.

110
00:07:46,740 --> 00:07:49,700
И вот один из моих любимых примеров это...

111
00:07:49,700 --> 00:07:50,960
А, да, здесь этого нету.

112
00:07:51,300 --> 00:07:55,720
В общем, есть такая компания InversePuff, они сделали USB Armory.

113
00:07:55,880 --> 00:07:57,720
Это по сути USB...

114
00:07:57,720 --> 00:08:01,920
Это по сути Raspberry Pi в формате USB флешки,

115
00:08:02,560 --> 00:08:06,540
но она полностью поддерживается всем тем, что есть в Апстриме.

116
00:08:06,540 --> 00:08:09,000
То есть вам даже не нужно возиться с патчами.

117
00:08:10,260 --> 00:08:12,140
Но какие есть альтернативы?

118
00:08:12,220 --> 00:08:15,680
Доклад-то вроде как про токены и про open source.

119
00:08:16,080 --> 00:08:19,140
Но сначала то, о чем я говорить не буду.

120
00:08:19,340 --> 00:08:21,100
И тут такие бакхантеры опять.

121
00:08:21,260 --> 00:08:22,400
Ой, не здесь, а вот тут скоро.

122
00:08:22,560 --> 00:08:23,660
Да емае, сколько уж можно.

123
00:08:24,620 --> 00:08:26,960
Librand Key – это, по сути, ребренд.

124
00:08:28,440 --> 00:08:30,160
Не траке, про нетраке будет дальше.

125
00:08:30,700 --> 00:08:35,200
Он ли кей, скажем так, как проект закончился уже после того,

126
00:08:35,200 --> 00:08:36,560
как я вообще о нем услышал.

127
00:08:37,320 --> 00:08:38,320
Причем здесь

128
00:08:38,320 --> 00:08:39,680
Trezor и Ledger. Это

129
00:08:39,680 --> 00:08:42,720
отдельные аппаратные холодные

130
00:08:42,720 --> 00:08:44,580
криптокошельки, если кто не знает.

131
00:08:45,320 --> 00:08:46,900
При том, что некоторые

132
00:08:46,900 --> 00:08:48,620
производители в качестве

133
00:08:48,620 --> 00:08:50,400
дополнительной фичи на

134
00:08:50,400 --> 00:08:52,700
свои криптокошельки добавляют

135
00:08:52,700 --> 00:08:54,360
возможность ОТП. Но поскольку

136
00:08:54,360 --> 00:08:56,500
это все-таки out of scope

137
00:08:56,500 --> 00:08:58,500
и сами устройства изначально

138
00:08:58,500 --> 00:09:00,260
разработаны для другого,

139
00:09:00,820 --> 00:09:02,980
я про это говорить не буду.

140
00:09:03,420 --> 00:09:04,920
Но, что здесь

141
00:09:04,920 --> 00:09:08,740
еще тоже важно упомянуть, особенно тем, кто интересуется

142
00:09:08,740 --> 00:09:12,100
платформенной программно-аппаратной безопасностью,

143
00:09:13,420 --> 00:09:15,280
очень настоятельно рекомендую

144
00:09:15,280 --> 00:09:18,920
ознакомиться с этим исследованием. Здесь ребята

145
00:09:18,920 --> 00:09:22,000
поломали и Трезер, и Ledger, и что-то еще. И тут вот

146
00:09:22,000 --> 00:09:24,400
обратите внимание, надо Ledger вычеркнуть, потому что

147
00:09:24,400 --> 00:09:27,420
он прокредитает. Но несмотря на то, что Трезер открытый,

148
00:09:27,460 --> 00:09:29,840
они пытаются быть как максимально открытым

149
00:09:29,840 --> 00:09:33,180
криптокошелком, а Ledger закрытый. И там, и там нашли

150
00:09:33,180 --> 00:09:35,420
уязвимости. Это я немножко забегаю вперед,

151
00:09:35,500 --> 00:09:37,260
но еще потом поговорим, если время будет,

152
00:09:37,820 --> 00:09:38,240
о

153
00:09:38,240 --> 00:09:41,320
категории о том, безопасен ли

154
00:09:41,320 --> 00:09:42,660
open source пропитали.

155
00:09:43,520 --> 00:09:45,100
Но, собственно, какие

156
00:09:45,100 --> 00:09:46,620
альтернативы я говорить буду.

157
00:09:47,200 --> 00:09:48,020
Вот эти ребята,

158
00:09:49,000 --> 00:09:51,340
но началось все с вот этого

159
00:09:51,340 --> 00:09:52,700
проекта, когда

160
00:09:52,700 --> 00:09:56,540
в январе 2016 года

161
00:09:56,540 --> 00:09:57,500
Конор Патрик

162
00:09:57,500 --> 00:09:59,220
выложил свой гитхаб,

163
00:09:59,400 --> 00:10:01,980
схемы и инструкции

164
00:10:01,980 --> 00:10:05,280
по тому, как собрать вот такой Fido токен.

165
00:10:05,320 --> 00:10:09,040
Ну да, конечно, по сравнению с видом корпоративных юбиков не очень,

166
00:10:09,120 --> 00:10:10,380
но это было только начало.

167
00:10:11,660 --> 00:10:14,700
Он выложил это на гидкар, как я сказал.

168
00:10:14,940 --> 00:10:20,520
Вот тут вот примерно рассыпуха, что нужно было накупить, чтобы это собрать,

169
00:10:20,900 --> 00:10:24,700
и вся плата выходила в 3 доллара.

170
00:10:24,700 --> 00:10:29,600
То есть на 300 бакс можно было собрать примерно штук 100.

171
00:10:29,600 --> 00:10:31,520
позже

172
00:10:31,520 --> 00:10:33,360
Конок вместе

173
00:10:33,360 --> 00:10:36,300
со своими друзьями, коллегами,

174
00:10:36,400 --> 00:10:38,480
товарищами собрал группу,

175
00:10:38,960 --> 00:10:40,260
они основали компанию,

176
00:10:40,420 --> 00:10:40,860
провели

177
00:10:40,860 --> 00:10:44,600
краудфандинг, собрали денег

178
00:10:44,600 --> 00:10:46,200
и где-то году

179
00:10:46,200 --> 00:10:47,740
2008 выпустили,

180
00:10:48,680 --> 00:10:50,600
как они заявляют, но насколько мне известно,

181
00:10:50,720 --> 00:10:52,520
это так, первые в мире

182
00:10:52,520 --> 00:10:54,160
опенсорс-фитрод токены.

183
00:10:54,160 --> 00:10:56,460
И тут вот то, про что я говорил,

184
00:10:56,560 --> 00:10:57,660
несмотря на то, что

185
00:10:57,660 --> 00:11:00,060
в качестве основного

186
00:11:00,060 --> 00:11:01,660
микроконтроллера

187
00:11:01,660 --> 00:11:04,280
используется пропоретарный STM32.

188
00:11:05,780 --> 00:11:06,560
Да, на него есть

189
00:11:06,560 --> 00:11:07,820
каташиты, но

190
00:11:07,820 --> 00:11:09,800
сама

191
00:11:09,800 --> 00:11:12,700
концепция этого микроконтроллера

192
00:11:12,700 --> 00:11:14,680
закрыта. Все, что нужно,

193
00:11:14,820 --> 00:11:15,900
они открыли.

194
00:11:16,740 --> 00:11:18,580
По сафарному

195
00:11:18,580 --> 00:11:20,180
стеку прошитка была

196
00:11:20,180 --> 00:11:22,220
написана на СИАХ,

197
00:11:22,220 --> 00:11:24,680
и там был очень прикольный

198
00:11:24,680 --> 00:11:26,100
питон туллинг. Потом несколько

199
00:11:26,100 --> 00:11:30,280
время будет, и интересно, я объясню, в чем там прикол.

200
00:11:31,280 --> 00:11:35,180
Они успешно это зарелизили, начали отправлять пользователям,

201
00:11:35,280 --> 00:11:39,140
потом такие посмотрели и подумали, ну, конечно, все

202
00:11:39,140 --> 00:11:40,520
хорошо, но надо переделать.

203
00:11:40,840 --> 00:11:44,100
И пришли со второй ревизии в 2021 году.

204
00:11:44,100 --> 00:11:48,140
Под вторую ревизию они тоже начали делать сборы

205
00:11:48,140 --> 00:11:54,200
по краудфаундингу, но тут, как еще, может быть, кто-то

206
00:11:54,200 --> 00:11:59,180
Как помнят, пришла в конце года ковидло, и это им подловило планы.

207
00:11:59,180 --> 00:12:05,980
То есть не столько ковидло, сколько нарушение цепочек поставок, потом последовавший за этим чепагидон.

208
00:12:06,440 --> 00:12:12,980
И это была одна из причин, по которым они, к сожалению, на данный момент скорее вертвы, чем живы.

209
00:12:13,460 --> 00:12:20,680
Но в чем особенность? Как вы знаете, птица Феликс, восставшая из пепла, это дало толчок другому проекту.

210
00:12:20,740 --> 00:12:22,660
Я про него позже упомянул.

211
00:12:22,660 --> 00:12:30,660
И под вторую ревизию они решили выкинуть весь саппарный стек, который был написан до этого.

212
00:12:30,660 --> 00:12:36,660
Взяли Rast, он тогда как раз становился ломным, особенно по причине своих security фичей.

213
00:12:36,660 --> 00:12:45,660
И на базе Rasta они запилили свою собственную как бы прото-тость, назвали ее трасса.

214
00:12:45,660 --> 00:12:52,660
И весь пулинг у них, если я правильно помню, на росте также не написан.

215
00:12:52,660 --> 00:12:56,660
Но эту историю мы пока отложим в сторону.

216
00:12:56,660 --> 00:13:01,660
Параллельно был основан такой проект как OpenSK.

217
00:13:01,660 --> 00:13:08,660
OpenSK был от Google, и здесь ребята пошли немножко другим путем.

218
00:13:08,660 --> 00:13:21,780
Потому что что делали SoloKiss? Они дизайнили железо с использованием известных компонентов, отправляли это на заводы, заводы их делали, отправляли им обратно, они их прошивали.

219
00:13:22,640 --> 00:13:34,880
Google пошел другим путем, они подумали, вот смотрите, у нас сейчас чипогидон разгарит, а давайте мы вместо того, чтобы что-то кастомное дизайнить, мы просто сам софт напишем на то железо, которое общедоступно.

220
00:13:34,880 --> 00:13:44,780
Они взяли NRF52 840, это широко известный в русских кругах, чип от Нортика, и посмотрели, что.

221
00:13:44,960 --> 00:13:46,600
А смотрите, у них есть дев-киты.

222
00:13:47,000 --> 00:13:52,060
Ну, конечно, такую дев-борду использовать для токена как-то не ок,

223
00:13:52,600 --> 00:13:59,460
но примерно та же дев-борда, просто немножко более стойная, есть в формате USB-флешки.

224
00:13:59,460 --> 00:14:04,540
И они подумали, давайте, давайте, мы будем беречь вот именно под конкретную модель.

225
00:14:04,880 --> 00:14:21,220
И в процессе даже сделали громкий анон в своем блоге, выкатили это у себя на гитхабе, но как вот они добавили сразу, так эта плашка и висит, что ну как бы и гугл, но не гугл.

226
00:14:21,220 --> 00:14:27,700
То есть это все R&D, если там что-то не так, то сами виноваты.

227
00:14:28,740 --> 00:14:43,560
И мягкой на этом торте будет то, что NRF внутри себя, вот именно этот чип, реализует криптосо-процессор, который считает крипто-матешу очень-очень быстро.

228
00:14:44,300 --> 00:14:48,620
Но они до сих пор всю крипту реализовали софт-квардно.

229
00:14:48,620 --> 00:14:53,040
Вот почему? Ну, пока до сих пор не добили этот никак.

230
00:14:53,500 --> 00:15:02,440
И вот вышли в релиз в 2020 на USB девайсе от Nordic,

231
00:15:02,440 --> 00:15:05,360
но при этом еще до релиза OpenSK.

232
00:15:06,580 --> 00:15:09,940
Была такая компания MakerDire из Шенженя,

233
00:15:10,240 --> 00:15:17,780
и они делали тоже на базе NRF похожие платы для отладки для умного дома

234
00:15:17,780 --> 00:15:21,280
и прочего. Ну и поскольку чип тот же, тот же,

235
00:15:21,280 --> 00:15:24,320
пленевка практически та же, та же, OpenSK был достаточно

236
00:15:24,320 --> 00:15:28,920
быстро портирован и на их устройство тоже.

237
00:15:29,220 --> 00:15:32,340
В качестве софтварного стека используется Tocos,

238
00:15:32,460 --> 00:15:36,600
это другая фриртось, написанная на RASTE,

239
00:15:37,220 --> 00:15:40,220
тоже вот примерно под такое приложение,

240
00:15:40,340 --> 00:15:44,800
под опплитейшн в подобных целях.

241
00:15:44,800 --> 00:15:51,980
Так, и по поводу Google, не знаю, стоит ли на этом останавливаться, но тут просто вот что хотел бы.

242
00:15:51,980 --> 00:15:52,860
Ладно, совсем быстро.

243
00:15:53,420 --> 00:15:58,040
Google, как и Ubiki, решили выйти на рынок ключиков.

244
00:15:58,660 --> 00:16:04,240
И зарелизили аж уже две релизии своих ключей, которые назвали Titan Security Key.

245
00:16:04,240 --> 00:16:08,520
Если вы знаете, у Google есть своя линейка пикселей.

246
00:16:08,520 --> 00:16:18,140
В последних пикселях есть ARM процессор, который называется Titan, и у этого процессора есть криптографический со-процессор, который у них называется Titan M.

247
00:16:18,920 --> 00:16:26,560
Так вот, Titan в пикселе, Titan Security со-процессор и вот этот Titan ключ – это три разных Титана.

248
00:16:26,680 --> 00:16:31,880
Я не знаю, что там происходит в гугле с неймингом, видимо, они очень любят мифы Древней Греции.

249
00:16:31,880 --> 00:16:38,160
Ну вот, зачем вам эта информация, я не знаю, но вот я хотел с вами ей поделиться.

250
00:16:38,520 --> 00:16:42,520
И тут мы подходим, так сказать, к хедлайнеру моего рассказа.

251
00:16:42,640 --> 00:16:46,580
Это компания Neetroki, которая начиналась еще в 2009 году.

252
00:16:47,140 --> 00:16:50,680
Естественно, когда никаких фидо-альянсов даже в проекте не было,

253
00:16:50,780 --> 00:16:55,360
но они начинали как раз с того, что тогда было модно и востребовано в бизнесе,

254
00:16:55,440 --> 00:16:57,440
а именно различные смарт-карты.

255
00:16:57,520 --> 00:17:00,680
Они начинали именно с этого, поэтому у них очень богатый опыт.

256
00:17:00,680 --> 00:17:07,040
И когда они увидели, что делают ребята из Sookie со второй ревизии,

257
00:17:07,040 --> 00:17:09,020
они к ним активно подключились.

258
00:17:09,640 --> 00:17:16,440
И у них шел очень уникальный в мире свободного железа симбиоз,

259
00:17:16,580 --> 00:17:19,600
когда, казалось бы, конкуренты делают один и тот же продукт.

260
00:17:19,700 --> 00:17:22,720
Вроде как коммерческие, должны грызть друг другу глотки.

261
00:17:23,160 --> 00:17:26,960
Но в лучших традициях научно-промышленного сотрудничества

262
00:17:26,960 --> 00:17:30,020
они не просто мешали или не помогали друг другу,

263
00:17:30,120 --> 00:17:32,480
они активно друг с другом сотрудничали.

264
00:17:32,480 --> 00:17:37,440
И вот, например, дательные зрители могли заметить, что а Хорбат это та же самая.

265
00:17:37,780 --> 00:17:44,560
Почему? Потому что когда выходил второй соло-кейс, в проекте уже был не тракий.

266
00:17:44,680 --> 00:17:54,600
И они, глядя на то, что делает соло-кейс, попытались в не тракии избежать всех тех ошибок, которые, к сожалению, оказались фатальными для соло-кейс.

267
00:17:54,900 --> 00:17:57,580
И даже трассы – это их совместная разработка.

268
00:17:59,080 --> 00:18:01,400
Так, что здесь еще можно добавить?

269
00:18:01,400 --> 00:18:04,200
Дальше. А, да.

270
00:18:04,980 --> 00:18:07,660
Нитроки это, можно так сказать, как лайнер,

271
00:18:08,120 --> 00:18:10,360
а гнук это такой андердог.

272
00:18:10,820 --> 00:18:14,040
Сейчас вы поймете, почему я его сюда добавил.

273
00:18:14,720 --> 00:18:18,580
Это не фидо, это смарт-карта.

274
00:18:18,780 --> 00:18:23,740
Если кто помнит, вот в корпоративном секторе были очень популярны финпады,

275
00:18:23,800 --> 00:18:26,060
у финпадов был отдельный слот под смарт-карты.

276
00:18:26,060 --> 00:18:29,360
Вот смарт-карта на финпаде это не то, что делает гнук,

277
00:18:29,940 --> 00:18:31,080
вот совсем не то.

278
00:18:31,400 --> 00:18:35,260
Но принцип примерно тот же. Что позволял делать Гнук?

279
00:18:35,260 --> 00:18:45,160
Гнук позволял вам в дешевое устройство запихать ГПГ-ключи, чтобы потом подписывать имя и электронную почту,

280
00:18:45,540 --> 00:18:50,320
и с Сашки ключи, чтобы потом ходить на сервера.

281
00:18:51,320 --> 00:18:56,320
Но все, наверное, знают эту картинку.

282
00:18:56,840 --> 00:18:58,400
Почему я ее сюда добавил?

283
00:18:58,400 --> 00:19:00,580
Но смотрите, на чем запускается гнут?

284
00:19:01,180 --> 00:19:02,940
Возвращаемся к микроконтроллерам.

285
00:19:03,000 --> 00:19:06,420
Вот есть микроконтроллер от STM.

286
00:19:06,500 --> 00:19:08,200
Его я уже упоминал не раз.

287
00:19:09,820 --> 00:19:14,760
Чтобы отлаживать железо, софтварных способов отладки иногда недостаточно.

288
00:19:14,880 --> 00:19:19,160
Для этого нужен другой аппаратный отладчик, программатор.

289
00:19:19,700 --> 00:19:22,780
Чтобы удобно, комфортно отлаживать STM,

290
00:19:22,880 --> 00:19:26,380
нужен пропитальный закрытый дорогой Seeger от J-Link.

291
00:19:26,380 --> 00:19:35,380
Восточные товарищи, естественно, быстро подсуетились и выпустили клон. Так вот, внимание, наберите воздух как грудь.

292
00:19:35,380 --> 00:19:53,380
GNUK – это проект, который запускается на клоне программатора для STM. Тут можно подумать, ну, а какая разница, на чем его запускать, если мы берем устройство схожее с тем же микроконтроллером, ну, все же будет хорошо.

293
00:19:53,380 --> 00:20:02,000
Но во многих инструкциях фигурирует гнук именно в контексте запуска на программателе, на таком дешевом.

294
00:20:02,000 --> 00:20:06,320
Почему? Ну, потому что, во-первых, это уже дешево, это уже готовое,

295
00:20:06,320 --> 00:20:11,900
и, в-третьих, возвращаемся в историю с OpenSK.

296
00:20:11,900 --> 00:20:18,560
Зачем дизайне своего железа, если ты можешь просто софт задизайнику железа, который уже есть.

297
00:20:18,560 --> 00:20:24,960
И бежит это все на таком стеке написанном на сяк.

298
00:20:24,960 --> 00:20:30,380
Polar SSL — это одна из библиотек альтернативы OpenSSL.

299
00:20:35,260 --> 00:20:38,020
И тут, возможно, возникает вопрос.

300
00:20:38,020 --> 00:20:40,020
Иван, а что ты вообще такое несешь?

301
00:20:40,020 --> 00:20:43,460
Ну блин, мы там какой-то хардкор пришли послушать.

302
00:20:43,460 --> 00:20:49,060
Можно что-то посекурнее, по безопасней, по железячней.

303
00:20:49,060 --> 00:20:59,820
Но вот смотрите, входим в дебри программно-аппаратной безопасности.

304
00:20:59,940 --> 00:21:13,300
Есть такие термины, и уже относительно давно отчасти это применяется на больших наших обычных генерических компьютерах.

305
00:21:13,300 --> 00:21:18,600
например, в виде Secure BOOTA, в виде гадов различных,

306
00:21:18,600 --> 00:21:25,840
то есть для обезопасивания процесса загрузки, фирмвайли, целостности и прочее.

307
00:21:25,840 --> 00:21:30,960
А как это можно применить к токенам, и причем здесь open source и безопасность?

308
00:21:31,060 --> 00:21:35,740
Ну вот, смотрите, берем юбики, как я говорил, они полностью пропагентарные, полностью закрытые.

309
00:21:36,280 --> 00:21:41,860
И вот та информация, которую я сюда добавил, потому что они запущены на Infineon чипах,

310
00:21:41,860 --> 00:22:05,920
Эта информация получена не благодаря компании, а вопреки, благодаря усилиям независимых реверс-инженеров, которые что только с этими юбиками не делали. И тут возникает ситуация классического принципа безопасности через неясность, который любой вам начинающий криптограф скажет, он просто не работает. Он просто не работает.

311
00:22:05,920 --> 00:22:10,020
Да, вы тут мне более нецентробно подсказывают, но я не буду.

312
00:22:10,960 --> 00:22:17,780
К тому же, изначально с первых моделей Юбиков прошивка не обновляет юмая.

313
00:22:17,960 --> 00:22:26,660
С одной стороны, ну вроде бы хорошо, тогда мы защищены от этих ужасных соплачей на такс, которые сейчас везде бахают.

314
00:22:27,380 --> 00:22:34,340
Но в чем тут проблема? В том, что оно не обновляемое, оно не считываемое, оно не записываемое.

315
00:22:34,340 --> 00:22:41,920
И тот юбик, который к вам приедет, вы даже не сможете сами лично удостовериться, а что там за прошивка зашита.

316
00:22:42,460 --> 00:22:56,580
И при этом вы, если обнаружится какая-то серьезная уязвимость в программной части, все, что вы можете сделать, это выкинуть старый юбик и пойти купить новый.

317
00:22:56,580 --> 00:22:59,480
Хотя, я не знаю, может быть, это часть бизнес-модели.

318
00:22:59,580 --> 00:23:03,580
Ну, тут действует без опции невиновности.

319
00:23:04,340 --> 00:23:13,900
И, исходя из предыдущих пунктов, такие ключи, проприетарные, совершенно не подлежат аудиту.

320
00:23:16,600 --> 00:23:26,200
Либо, только как я уже сказал, мы их аудитируем по методу черного ящика, пытаемся что-то оттуда как-то достать.

321
00:23:27,100 --> 00:23:29,240
А, да, кстати, по поводу достать.

322
00:23:29,580 --> 00:23:31,980
Помните, я говорил про то, что ключ неизвлекаем.

323
00:23:31,980 --> 00:23:37,100
Ну, так вот, можете забыть, ну как, не совсем, но, в общем, сейчас объясню.

324
00:23:37,560 --> 00:23:42,020
Вот, ну хорошо, Иван, вот смотри, ты говоришь, ну секурно же, секурно, да,

325
00:23:43,300 --> 00:23:49,840
должно же быть никаких уязвимостей, они же, наверное, все предусмотрели, ну так же, ну нет уже целыеешек, да.

326
00:23:51,740 --> 00:23:58,040
Больше на слайд не влезло, да, спасибо, спасибо, я старался, вот, больше на слайд не влезло,

327
00:23:58,040 --> 00:24:01,560
Естественно, здесь не все криты и не все нолики.

328
00:24:02,980 --> 00:24:06,460
По каждому из них, да, больше, чем доклады я люблю, методоклады,

329
00:24:06,980 --> 00:24:12,320
по некоторым из них можно читать полутора-двухчасовые доклады.

330
00:24:12,420 --> 00:24:15,740
Потому что, например, что такое ROC Factorization Attack?

331
00:24:16,100 --> 00:24:20,000
Это атака, которая позволяет вам вытащить с любви кей,

332
00:24:20,660 --> 00:24:27,340
рса, приватную часть рса ключа для нового в АК, 2048 лет.

333
00:24:27,340 --> 00:24:36,420
Вам для этого потребуется, конечно, несколько денежек, ну где-то там порядок 50-100 тысяч долларов, но я считаю, что это неплохо.

334
00:24:36,420 --> 00:24:56,480
По уязвимости Euclid был выпущен почти 100 страничный доклад от компании Ninja Lab, который читается как просто компьютер-сайенс на грани научной фантастики.

335
00:24:56,480 --> 00:25:13,400
Потому что ребята что сделали, если совсем вкратце? Декабрный чип полностью его сняли, настроили кучу электромагнитных датчиков и потихоньку считывали оттуда. Да, естественно, это лабораторные условия, естественно, это дорогое оборудование, ну где-то по 10-15 тысяч долларов.

336
00:25:13,400 --> 00:25:17,660
Но смотрите, цена постепенно, атака на железо, она со временем снижается.

337
00:25:17,800 --> 00:25:20,780
Потому что почему? Про это тоже хотелось поговорить.

338
00:25:21,060 --> 00:25:21,780
Раньше как было?

339
00:25:22,220 --> 00:25:28,260
Ну вот, делаем переполнение буфера, никаких защит нет, все отлично.

340
00:25:28,660 --> 00:25:30,980
Потом что появилось? Потом появился SLR.

341
00:25:31,080 --> 00:25:33,960
SLR появился, придумали рог-цепочки.

342
00:25:34,080 --> 00:25:38,280
И так оно до тех пор, пока софт не стал относительно безопасным.

343
00:25:38,580 --> 00:25:43,000
Когда закончились низковисящие фрукты в софте, что пошло дальше?

344
00:25:43,000 --> 00:25:48,680
Ну, ребята начали ломать железо, а там оказался весь тот же процесс в миниатюре.

345
00:25:48,800 --> 00:25:55,260
То есть если какую-то железку еще не взломали, это не потому, что там нет уязвимости.

346
00:25:55,420 --> 00:26:01,900
Просто, возможно, по этой железке исследователи нашли какие-то более низко вещащие фрукты.

347
00:26:03,000 --> 00:26:05,740
Но как от этого защищаться?

348
00:26:05,860 --> 00:26:10,200
И тут на помощь приходят опен-соль и свободные прошивки.

349
00:26:10,800 --> 00:26:12,020
Как это помогает?

350
00:26:12,020 --> 00:26:41,880
Ну вот смотрите, если мы собираем прошивку из зарядом известных верифицированных исходников, то мы можем верифицировать как прошивку, так и бинар. У нас есть прозрачный контроль за цепочкой поставок того, что кладется в прошивку, потому что некоторые из этих уязвимостей, они случились по той причине, что не юбики накосячили и даже не производитель чипа, а накосячил подрядчик,

351
00:26:41,880 --> 00:26:49,520
для чипов, который писал отдельную библиотеку. В итоге, это в одной из этих узелок, в итоге они эту библиотеку у Юбики просто выкинули нафиг.

352
00:26:49,520 --> 00:27:01,580
То есть в случае с… Но, опять же, мы возвращаемся к проблеме того, что даже если сделан фикс, вы не сможете на непрошиваемый токен прошить прошивку с фиксом.

353
00:27:02,780 --> 00:27:10,420
И тут вот то, про что я говорил вначале, о безопасности проприетарии и безопасности опенсорса.

354
00:27:10,420 --> 00:27:15,600
На мой скромный взгляд, нет, это миф, что опенсорс безопасней.

355
00:27:16,020 --> 00:27:19,620
Но тут важно понимать практическую ценность опенсорса.

356
00:27:19,760 --> 00:27:23,640
То есть, что происходит при vulnerability management,

357
00:27:23,880 --> 00:27:27,480
когда вы обнаружили какую-то критическую багу.

358
00:27:27,540 --> 00:27:31,260
Точнее даже не вы, а производитель или исследователь у производителя.

359
00:27:31,560 --> 00:27:36,000
У вас только один выход ждать, когда сам производитель починит,

360
00:27:36,000 --> 00:27:37,960
сделает фикс, выкатит

361
00:27:37,960 --> 00:27:39,800
апдейт и вы его

362
00:27:39,800 --> 00:27:41,760
установите. В случае с

363
00:27:41,760 --> 00:27:43,460
опенсорсом

364
00:27:43,460 --> 00:27:45,340
менеджмент

365
00:27:45,340 --> 00:27:47,440
существенно

366
00:27:47,440 --> 00:27:49,560
сокращается и упрощается.

367
00:27:49,960 --> 00:27:51,560
Вы, не дожидаясь производителя,

368
00:27:51,660 --> 00:27:52,980
если у вас вся цепочка

369
00:27:52,980 --> 00:27:55,540
поставок софта и

370
00:27:55,540 --> 00:27:57,320
прошивок под вашим контролем,

371
00:27:57,640 --> 00:27:59,800
просто берете этот фикс, накатываете

372
00:27:59,800 --> 00:28:01,720
и ваши

373
00:28:01,720 --> 00:28:03,240
волосы мягкие шелковистые.

374
00:28:03,240 --> 00:28:04,420
Ну и тут вот

375
00:28:04,420 --> 00:28:07,420
может быть немножко романтизма,

376
00:28:07,420 --> 00:28:07,700
но

377
00:28:07,700 --> 00:28:10,820
я люблю

378
00:28:10,820 --> 00:28:12,980
свободное ПО за то, что

379
00:28:12,980 --> 00:28:15,400
без него меня бы здесь не было.

380
00:28:15,580 --> 00:28:17,020
Потому что это

381
00:28:17,020 --> 00:28:18,800
наследие, это

382
00:28:18,800 --> 00:28:21,200
образование и это даже

383
00:28:21,200 --> 00:28:23,540
бизнес-возможности, как мы видим

384
00:28:23,540 --> 00:28:25,420
по таким проектам SoloKey и NitroKey.

385
00:28:25,520 --> 00:28:27,700
Почему? Ну вот смотрите, что касается

386
00:28:27,700 --> 00:28:28,940
наследия.

387
00:28:29,580 --> 00:28:31,320
Если бы SoloKey были закрытыми

388
00:28:31,320 --> 00:28:34,600
проприетарными, то нейтрокия бы, возможно, даже не случилась.

389
00:28:34,980 --> 00:28:38,180
Если завтра по каким-то причинам, вот Юбикс, сама

390
00:28:38,180 --> 00:28:44,220
контора, все разработчики просто, ну, уйдут в отпуск,

391
00:28:44,360 --> 00:28:47,360
уйдут в леса, сделают данншифтинг, как это сейчас

392
00:28:47,360 --> 00:28:51,780
удобно, вы останетесь один на один со своими необновляемыми

393
00:28:51,780 --> 00:28:53,240
и непропатченными профинами.

394
00:28:53,780 --> 00:28:56,740
В случае с орган-сорсом, как это, опять же, показывает

395
00:28:56,740 --> 00:29:00,000
пример соло-кис или нейтрокись, даже если одна компания

396
00:29:00,000 --> 00:29:02,120
загибается, если проект действительно

397
00:29:02,120 --> 00:29:03,680
нужный, важный и

398
00:29:03,680 --> 00:29:06,260
другие пользователи готовы

399
00:29:06,260 --> 00:29:08,020
в это даже вкладываться финансово,

400
00:29:08,100 --> 00:29:09,920
то рано или поздно такой проект

401
00:29:09,920 --> 00:29:12,260
будет подхвачен и продолжен.

402
00:29:12,560 --> 00:29:14,080
Ну и с точки зрения образования

403
00:29:14,080 --> 00:29:16,020
я вот здесь вижу много молодых

404
00:29:16,020 --> 00:29:17,920
лиц, опять же, я

405
00:29:17,920 --> 00:29:20,320
вот как сам будучи студентом

406
00:29:20,320 --> 00:29:22,060
я просто не понимаю, как можно

407
00:29:22,060 --> 00:29:24,160
системной инженерии учиться

408
00:29:24,160 --> 00:29:26,040
на проприетарии. Да, у меня

409
00:29:26,040 --> 00:29:28,240
у самого есть знакомый, которым

410
00:29:28,240 --> 00:29:32,480
Хекс и Ассен читать проще, чем исходники.

411
00:29:32,600 --> 00:29:34,080
Я не шучу, это не анекдот.

412
00:29:34,360 --> 00:29:36,800
Они могут ковыряться целый час в ходе,

413
00:29:36,860 --> 00:29:40,260
потом его скомпилить и за минуту найти то, что им нужно.

414
00:29:40,760 --> 00:29:43,420
Но все равно открытость исходников,

415
00:29:43,420 --> 00:29:47,540
открытость стандартов, открытость каких-то проектов

416
00:29:47,540 --> 00:29:50,240
нас бы здесь сегодня не собрала.

417
00:29:50,820 --> 00:29:51,940
Я так считаю.

418
00:29:52,320 --> 00:29:54,420
А если говорить о том, как это применимо

419
00:29:54,420 --> 00:29:57,820
к безопасности программно-аппаратным,

420
00:29:58,240 --> 00:30:19,060
То, вот уже закрупляясь совсем, да? Ну хорошо, Иван, а вот если бы тебе дали неограниченное количество денег и неограниченное количество времени, чем бы ты занялся? Ну вот, одна из задач, из идей, как бы я строил процесс запашивания современных программно-аппаратных комплексов, да?

421
00:30:19,060 --> 00:30:28,340
Во-первых, когда вы покупаете устройство, вот я так думаю, это лично мое мнение, а что если оно к вам вообще будет приходить чистым?

422
00:30:28,340 --> 00:30:33,840
Что даже если там есть какой-то флеш, какой-то сторож, там будут нули, которые вы их можете верифицировать.

423
00:30:34,180 --> 00:30:42,000
После чего вы берете верифицированную прошивку, ее исходники, все это собираете.

424
00:30:42,000 --> 00:30:50,000
Если мы упариваемся по полной, то нужно не забыть про то, что еще и весь toolchain и toolset тоже должен быть верифицируем.

425
00:30:50,000 --> 00:31:02,000
Генерируем свои ключи, подписываем прошивку, проживаем, и при этом еще, опять же, периодически, возвращаясь к пункту 0,

426
00:31:02,000 --> 00:31:06,000
смотрим, что та прошивка, которую мы зашили, не поменялась.

427
00:31:06,000 --> 00:31:14,080
что да, там не будет нулей, там будет бинар, но что этот бинар не мьютабился с момента нашего последнего использования.

428
00:31:14,400 --> 00:31:20,160
И что самое-то интересное, частично это уже так или иначе сделано. Где-то меньше, где-то больше.

429
00:31:20,640 --> 00:31:29,880
Это есть, повторюсь, в Trust-Boot решениях, в Secure-Boot решениях, в Attestation-Boot и прочих бутах.

430
00:31:29,880 --> 00:31:37,880
Ну вот до покенов это пока не добралось, но я считаю, что это возможно на следующий логичный шаг.

431
00:31:37,880 --> 00:31:44,880
Ну а как это все именно делать на практике, это уже совсем другая история.

432
00:31:44,880 --> 00:31:50,880
Ну вот как-то так, если что-то... А у меня есть еще время? Как я вообще вложился?

433
00:31:50,880 --> 00:31:55,880
Спасибо, что выслушали.

434
00:31:55,880 --> 00:32:14,120
сейчас еще что самое важное опять же по поводу важности открытости с этих компонентов вот смотрите

435
00:32:14,120 --> 00:32:28,180
Ну ладно, я тогда перемотаю сюда.

436
00:32:28,180 --> 00:32:32,240
Вот смотрите, проаудит обладает то, что нельзя проаудировать.

437
00:32:32,540 --> 00:32:36,260
Опять же, в случае с проприентарью я не могу взять какое-то устройство,

438
00:32:36,500 --> 00:32:41,280
с которого даже флеш не сдампить, отнести его независимую венду,

439
00:32:41,280 --> 00:32:43,260
не сказать. Дорогой мой друг, про аудируй,

440
00:32:43,320 --> 00:32:45,360
пожалуйста. Он полгода

441
00:32:45,360 --> 00:32:47,100
только лабу за 10 тысяч долларов

442
00:32:47,100 --> 00:32:49,120
будет собирать, просто чтобы узнать, а что там

443
00:32:49,120 --> 00:32:51,080
вообще за чин, чтобы растворить это все

444
00:32:51,080 --> 00:32:53,360
правильно в кислоте, чтобы маркировка, допустим,

445
00:32:53,680 --> 00:32:55,540
не потерялась, если она там еще осталась.

446
00:32:56,100 --> 00:32:57,180
Вот. А в случае

447
00:32:57,180 --> 00:32:59,540
с открытыми, свободными

448
00:32:59,540 --> 00:33:01,300
решениями, которые публично

449
00:33:01,300 --> 00:33:03,160
доступны, даже если

450
00:33:03,160 --> 00:33:05,420
у нас есть аудит

451
00:33:05,420 --> 00:33:07,080
от самого производителя,

452
00:33:07,140 --> 00:33:08,780
ну, производитель, как лендер говорит, да,

453
00:33:09,100 --> 00:33:10,960
вот смотрите, вот наш продукт,

454
00:33:10,960 --> 00:33:18,320
Мы его показали таким-то ребятам, только полный репорт мы вам не покажем, но они там нашли такие-то цвешки.

455
00:33:18,720 --> 00:33:20,780
В случае с опенсорсом это все прозрачно.

456
00:33:20,880 --> 00:33:34,160
Даже если вы не доверяете одному аудитору, вы всегда можете взять схемы, даташиты, исходники и отнести его другому вендору, и он вам это все проаудирует.

457
00:33:34,160 --> 00:33:39,900
И собственно соло, кис и нитро кис занимались и занимаются именно этим.

458
00:33:39,900 --> 00:33:46,920
они периодически в полностью открытом режиме показывают исходники компаниям,

459
00:33:47,000 --> 00:33:50,740
платят другим компаниям, чтобы они у них посмотрели, что у них все секурно.

460
00:33:51,200 --> 00:33:54,260
И если там что-то не секурно, они моментально это фиксят,

461
00:33:54,760 --> 00:34:00,360
патчат, заливают фиксы в прошивку и публикуют публичные отчеты.

462
00:34:04,800 --> 00:34:07,520
Спасибо, спасибо. Надеюсь, не утомим.

463
00:34:09,900 --> 00:34:39,760
Спасибо за доклад.

464
00:34:39,900 --> 00:34:41,900
Два неудобных вопроса.

465
00:34:41,900 --> 00:34:43,900
Вопрос первый.

466
00:34:43,900 --> 00:34:47,900
То есть собрать заклады.

467
00:34:47,900 --> 00:34:51,900
Вы предлагаете использовать чипы без защиты,

468
00:34:51,900 --> 00:34:58,900
в пользу чипов, которые не обеспечивают никакой защиты от вытаскивания ключей.

469
00:34:58,900 --> 00:35:01,900
Я правильно понял, что это заклады?

470
00:35:01,900 --> 00:35:02,900
Нет, не совсем.

471
00:35:02,900 --> 00:35:09,860
Вот смотрите, в чем опять же прикол, то что одно не противоречит другому, как бы это парадоксально не звучало.

472
00:35:10,960 --> 00:35:13,180
Ключи-то пусть будут приватные.

473
00:35:13,180 --> 00:35:16,020
А, ой, блин, у меня столько историй.

474
00:35:16,500 --> 00:35:18,180
Сейчас сначала на вопрос отвечу.

475
00:35:18,540 --> 00:35:20,460
В общем, одно не противоречит другому.

476
00:35:20,600 --> 00:35:29,960
Почему? Потому что вот у юбиков, у них помимо варианта для, так сказать, рядовых пользователей,

477
00:35:29,960 --> 00:35:44,640
Есть FIPS сертифицированные ключи. Это отдельная линейка. Что такое FIPS? Это североамериканский стандарт, что если ты хочешь вот эту всю PKI и токенную инфраструктуру поднимать в ГАЗУХе, то ты должен пройти FIPS.

478
00:35:44,640 --> 00:35:46,380
Юбики этот фипс прошли.

479
00:35:46,760 --> 00:35:55,320
Но даже в фипсе нет обязательного требования на несчитываемость или неперезаписываемость прошивки.

480
00:35:55,620 --> 00:35:55,760
Во как.

481
00:35:55,880 --> 00:36:00,660
То есть даже в фипсе понимают, что, казалось бы, газуха, принято ругать.

482
00:36:01,080 --> 00:36:04,500
Но в фипсе понимают, что security true, abscurity – это не выход.

483
00:36:04,980 --> 00:36:09,860
Секретом, это вот уже даже возвращаясь к бюсу нашему Шнайру, да,

484
00:36:10,420 --> 00:36:12,360
секретом должен быть только ключ.

485
00:36:12,360 --> 00:36:18,420
Как этот ключ зашивается в секьюри-элемент или не в секьюри-элемент, это уже вопрос архитектуры.

486
00:36:18,820 --> 00:36:26,360
То есть прошивка может быть, в принципе, считываемой и обновляемой, но при этом ключ в теории может быть неизвыкаемым.

487
00:36:27,040 --> 00:36:30,400
Вот такие системы нужно строить. Я надеюсь, я на ваш вопрос ответил.

488
00:36:30,680 --> 00:36:33,480
Да, отлично. Как раз второй вопрос будет еще более неудобный.

489
00:36:33,480 --> 00:36:43,020
как простому обывателю без лаборатории за 10 50 тысяч долларов проверить обеспечение того что

490
00:36:43,020 --> 00:36:50,800
прошивка которого записывал на устройство записывает действительно прошивка окажется что я имею ввиду как

491
00:36:50,800 --> 00:36:59,240
мы доказываем себе или используя наши это ключ и неважно что что на оборудовании обеспечения не

492
00:36:59,240 --> 00:37:03,640
осталось программного хода, который позволит в дальнейшем

493
00:37:03,640 --> 00:37:06,120
модифицировать возвращаемые данные или просто у нас

494
00:37:06,120 --> 00:37:07,120
какие-то прошивки.

495
00:37:07,120 --> 00:37:12,360
То есть суть не перезаписываемой прошивки в том, что если

496
00:37:12,360 --> 00:37:15,800
устройство скомпрометировано, то лучше его уничтожить.

497
00:37:15,800 --> 00:37:18,920
Ну да, то есть это опять же вопрос программы с площадь

498
00:37:18,920 --> 00:37:22,480
поставок, это если отвечаем на хостик вашего комментария,

499
00:37:22,480 --> 00:37:26,320
а если на начало отвечать, то ну да, это вот Trust

500
00:37:26,320 --> 00:37:29,380
и шутся и Zero Trust никому нельзя верить мне можно.

501
00:37:29,500 --> 00:37:32,140
Тут я с вами полностью согласен, у меня ответа нету.

502
00:37:32,200 --> 00:37:32,860
Понимаете, в чем дело?

503
00:37:32,940 --> 00:37:38,480
Я люблю такие доклады, когда в конце зрители не уходят с ответами,

504
00:37:38,980 --> 00:37:41,340
а уходят с еще большим количеством вопросов.

505
00:37:41,400 --> 00:37:43,020
Я считаю, что это на самом деле офигенно.

506
00:37:43,580 --> 00:37:47,720
И тут можно только полуарно так думать, пообсуждать,

507
00:37:48,260 --> 00:37:51,620
как верифицировать полностью, полностью открыто.

508
00:37:51,620 --> 00:37:54,100
А, вот еще что забыл сказать.

509
00:37:54,100 --> 00:38:14,740
Есть такой широко известный в узких кругах Банни Хуанг. У него была какая-то идея? Прекурсор. Это такой проект смартфона, который вы покупаете, он к вам приходит, и вы можете в домашних условиях вплоть до железа верифицировать, что там железо именно то, что декларируется.

510
00:38:14,740 --> 00:38:19,020
Я смотрю, вы шарите, вы, наверное, знаете про этот проект, да?

511
00:38:19,760 --> 00:38:20,080
Вот.

512
00:38:20,720 --> 00:38:22,360
Ну вот человек головой кивает, да.

513
00:38:22,520 --> 00:38:27,860
То есть как бы вопрос в ресурсах, вопрос в цене, вопрос в грамотной архитектуре.

514
00:38:28,260 --> 00:38:30,200
То есть то, что ну вот все плохо, все пропало.

515
00:38:30,280 --> 00:38:34,960
Я вообще сам критик по жизни и саркастичный, и очень токсичный.

516
00:38:35,040 --> 00:38:39,500
Но вот я люблю думать конструктивно, и поэтому я даже не столько реберсер.

517
00:38:39,500 --> 00:38:45,360
Я если что-то ломаю, то ломаю с той целью, чтобы понять, а как от этого потом защититься

518
00:38:45,360 --> 00:38:47,140
Вот это самое hard to defense

519
00:38:47,140 --> 00:38:51,080
Я с удовольствием сочу так

520
00:38:51,080 --> 00:38:52,780
И там еще человек руки держит

521
00:38:52,780 --> 00:38:58,520
Спасибо организаторам за время и за такой клевый метап

522
00:38:58,520 --> 00:39:02,820
Извините, что я тут как с ноги в Олеся ДТМЛ со своим тут железом

523
00:39:02,820 --> 00:39:04,520
Но в одном мероприятии сказано было

524
00:39:04,520 --> 00:39:08,680
Приол, прискол, ботом, пайка, канифоль, схемы, прошивки

525
00:39:08,680 --> 00:39:10,680
да пожалуйста

526
00:39:10,680 --> 00:39:11,680
это тоже

527
00:39:11,680 --> 00:39:12,680
обсудим вопрос

528
00:39:12,680 --> 00:39:14,680
да только чуть позже пожалуйста

529
00:39:14,680 --> 00:39:16,680
скорее всего это тоже обсудим вопрос

530
00:39:16,680 --> 00:39:18,680
если приходится или яйцо

531
00:39:18,680 --> 00:39:20,680
что-то в этом появится раньше

532
00:39:20,680 --> 00:39:22,680
либо устройство с которым мы можем доверять

533
00:39:22,680 --> 00:39:24,680
а в прошлом как с ним пойти

534
00:39:24,680 --> 00:39:26,680
как проверить и репетировать всю цепочку

535
00:39:26,680 --> 00:39:28,680
поставки оборудования

536
00:39:28,680 --> 00:39:30,680
начиная от самого чипа

537
00:39:30,680 --> 00:39:32,680
и заканчивая простите оборудованием

538
00:39:32,680 --> 00:39:34,680
на котором это чуть дефицируется

539
00:39:34,680 --> 00:39:36,680
танкиляторы и так далее

540
00:39:36,680 --> 00:39:46,120
Опять же, это очень хороший вопрос. У меня на него нет ответа.

541
00:39:46,120 --> 00:39:51,920
Он частично перекликается с тем, что мы обсуждали в рамках ответа на предыдущие вопросы.

542
00:39:51,920 --> 00:40:02,700
Ну, Zero Trust во все поля. Как-то надо строить, надо думать, надо собираться.

543
00:40:02,700 --> 00:40:08,580
вот опять же повторю здесь много молодых людей вот может быть кто-то из них в будущем что-то такое

544
00:40:08,580 --> 00:40:16,800
на креативе у меня нет ответа но вы понимаете да что это фундаментальный вопрос компьютер саймс и

545
00:40:16,800 --> 00:40:27,060
информационной безопасности фундаментальный а а а если вы не спросите вопрос есть небольшой

546
00:40:27,060 --> 00:40:39,060
В принципе, в пульсосе сейчас обсуждается такой вызов, что сейчас, в силу того, что модельки и стали на критике очень большое количество грузиней веществ и ПО, то использовать ПО в бизнесе стало сложнее.

547
00:40:39,060 --> 00:40:50,060
Почему? Потому что у тебя крутая версия ПО, скорее всего, будет запатчена разработчикам довольно оперативно, а в пульсосе, скорее всего, будет патчиться очень нерегулярно.

548
00:40:50,060 --> 00:40:53,500
Ну, со мной от примера, Джикс или Губерна, да?

549
00:40:53,500 --> 00:40:56,060
Как вы думаете, такой иск есть, нет?

550
00:40:56,060 --> 00:40:58,060
А как с ними бороться?

551
00:40:58,060 --> 00:41:00,060
Люди, которые делают open source, которые локали,

552
00:41:00,060 --> 00:41:03,060
вот такое причинение двигает.

553
00:41:03,060 --> 00:41:07,060
Нет, а вот смотрите, я же просто говорил, наверное, очень быстро.

554
00:41:07,060 --> 00:41:13,060
Вот как раз таки, даже если самые тенеры open source не чешутся

555
00:41:13,060 --> 00:41:15,060
при исправлении какой-то вязвимости,

556
00:41:15,060 --> 00:41:26,980
И что не мешает вам самому, либо самому, либо найти кого-то, кто это сделает быстрее, чем официальный манитене, протащить такой фикс в индуструктуру и залатать дырки.

557
00:41:27,280 --> 00:41:30,700
В случае с проприетарью вы просто будете ждать лендора, когда он почешется.

558
00:41:30,780 --> 00:41:34,680
Тут управляем то, что вам возможно делать это каждую неделю, как соберем индукции.

559
00:41:34,680 --> 00:41:40,940
То есть вы будете каждую неделю поднимать для того, чтобы убить текстом и фикс. Вот такой риск.

560
00:41:40,940 --> 00:41:46,940
Ну это детей менеджменты. Я тут просто не вижу разницы с проприетарием.

561
00:41:46,940 --> 00:41:48,940
Может быть я вопрос, я не понимаю.

562
00:41:48,940 --> 00:41:56,940
То есть проприетари может себе позволить вычлено разработчику, который будет пачать каждую неделю по дню продукты.

563
00:41:56,940 --> 00:41:58,940
Упенсорские.

564
00:41:58,940 --> 00:42:03,940
Нет, ну есть. У него сонаркет. Ну тут у нас уже такой немножко поливор начинается.

565
00:42:03,940 --> 00:42:05,940
Да, это обсуждение.

566
00:42:05,940 --> 00:42:08,940
Были же случаи, когда…

567
00:42:10,140 --> 00:42:11,800
Ой, как там было дело-то?

568
00:42:11,900 --> 00:42:14,060
Ну вот есть, например, Google Project Zero.

569
00:42:14,260 --> 00:42:17,200
Кто знает, это такая секьюрити-команда внутри Google.

570
00:42:17,480 --> 00:42:19,560
Она расковаривает нулики.

571
00:42:19,560 --> 00:42:27,780
И как минимум два раза они нарушили 90-дневный эмбарго,

572
00:42:27,900 --> 00:42:31,880
зарелизировав информацию о баге, который еще не был починен Microsoft,

573
00:42:31,880 --> 00:42:37,880
потому что у них не было на это времени и средств.

574
00:42:37,880 --> 00:42:43,880
И вот Google решил, что в целях того, чтобы поторопить микрослоп,

575
00:42:43,880 --> 00:42:46,880
вот мы это релизим.

576
00:42:46,880 --> 00:42:52,880
А вы мне говорите, что вот у проприетарии есть возможность каждый день выпускать кофиксы.

577
00:42:52,880 --> 00:42:55,880
Ну, это же немножко противоречит одно другому.

578
00:42:55,880 --> 00:42:57,880
А у меня обратный вопрос.

579
00:42:57,880 --> 00:43:05,880
вопрос вот что у вас например почтовый сервер

580
00:43:05,880 --> 00:43:17,500
и программное обеспечение электронного документа оборота из реестра отечественного

581
00:43:17,500 --> 00:43:19,740
программного обеспечения

582
00:43:19,740 --> 00:43:21,740
Честный ответ, пожалуйста.

583
00:43:21,740 --> 00:43:25,740
Зависит от задачи.

584
00:43:25,740 --> 00:43:27,740
Просто для патка.

585
00:43:27,740 --> 00:43:29,740
Патчить кто быстрее?

586
00:43:29,740 --> 00:43:31,740
В зависимости от вендора.

587
00:43:31,740 --> 00:43:37,740
Адекватный вендор может быть, который будет садиться с тех, кто комитится к виду.

588
00:43:37,740 --> 00:43:39,740
Я тоже люблю фейк.

589
00:43:39,740 --> 00:43:45,740
Ну просто есть факт, когда люди из Tails взяли выпилили чертям в этот патрибёрк.

590
00:43:45,740 --> 00:43:49,400
Когда появился Hales, вот это джердный ход есть.

591
00:43:52,400 --> 00:43:54,920
Ну, еще есть агенты, они тоже умеют почву.

592
00:43:56,500 --> 00:43:56,940
Думаете?

593
00:43:57,360 --> 00:43:58,560
Берем, берем агенты.

594
00:44:00,240 --> 00:44:01,680
Спасибо огромное.

595
00:44:01,720 --> 00:44:02,740
Спасибо, спасибо.

