WEBVTT

1
00:00:14.439 --> 00:00:18.679
Hey, what's going on? Y'all? Welcome to another episode of Adventures in

2
00:00:19.039 --> 00:00:25.280
dev Ops and joining me in the
studio today my new routine co host,

3
00:00:25.640 --> 00:00:28.839
Warren Parade. What's going on?
Warren? Hey? Thanks? Well,

4
00:00:28.879 --> 00:00:31.320
you know, at some point that's
going to get old and I'll be the

5
00:00:31.359 --> 00:00:35.039
old co host and we'll have to
come up with a new tagline for me.

6
00:00:35.799 --> 00:00:38.840
I know, I was just thinking
that and I was like, damn,

7
00:00:38.840 --> 00:00:41.039
I didn't come up with anything new
to say, so I had to

8
00:00:41.079 --> 00:00:45.200
go with the old, stale one. I'll work on. I'll work on

9
00:00:45.240 --> 00:00:49.479
that before next week's episode. I
promise you didn't have enough homework to do.

10
00:00:49.719 --> 00:00:53.159
You've got one more thing now,
right, right, It's good to

11
00:00:53.240 --> 00:00:59.520
keep busy. But also joining us
today we have the co founder and CTO

12
00:01:00.159 --> 00:01:06.359
A Hero, Jonathan Elder. Welcome
Jonathan, thanks for having me. Hey,

13
00:01:06.400 --> 00:01:08.760
I'm excited to have you here,
and I'm looking forward to this episode

14
00:01:10.239 --> 00:01:15.280
because I've got two security experts here
in the studio with me, and I

15
00:01:17.040 --> 00:01:23.760
think security is one of those really
really, it's a really odd specialty to

16
00:01:23.920 --> 00:01:32.040
have because it's one that I feel
like from a business perspective, like businesses,

17
00:01:32.239 --> 00:01:37.319
let's just be honest. Here,
businesses tend to prioritize customer facing features

18
00:01:38.280 --> 00:01:46.480
and cheer about those much more than
they do security work. But the end

19
00:01:46.560 --> 00:01:52.040
customers themselves, I don't think they
ask for Like the end users of my

20
00:01:52.159 --> 00:01:57.079
applications don't ask for security related stuff. They just assume that I'm doing it.

21
00:01:57.760 --> 00:02:00.719
And so from a developer's perspective,
it's really hard to feel like security

22
00:02:00.760 --> 00:02:07.560
gets the prioritization that it needs because
everyone, I think everyone just assumes that

23
00:02:07.639 --> 00:02:13.719
you're doing that, because that's what
you do as a good steward of your

24
00:02:13.800 --> 00:02:20.840
code. And so I'm interested to
talk about that and how y'all view that

25
00:02:21.159 --> 00:02:28.439
and get some actionable tips that help
us all bring security up and like make

26
00:02:28.439 --> 00:02:32.280
it the first class citizen that it
should be. So, with that rambling

27
00:02:32.400 --> 00:02:38.319
intro out of the way, Jonathan, how did you get to this point

28
00:02:38.360 --> 00:02:44.039
where you're the co founder and CTO
of a bureau? That's a long road,

29
00:02:47.120 --> 00:02:53.639
Like professionally it's been twenty years starting
in the idea in Israel, but

30
00:02:54.120 --> 00:02:59.400
even before that, like there are
many developers who are you know, tinkers

31
00:03:00.240 --> 00:03:05.840
to like pick apart things, figure
out how it works, trying to reverse

32
00:03:05.879 --> 00:03:14.520
engineer stuff, whether it's you know, toasters or applications or back in the

33
00:03:14.599 --> 00:03:16.919
day like I don't know, Prince
of Persia or whatever, trying to figure

34
00:03:16.919 --> 00:03:22.280
out how stuff works. So I
think this was the start for me.

35
00:03:23.360 --> 00:03:30.199
I've been working on many startups since
then, quite a few, and it

36
00:03:30.199 --> 00:03:34.439
took me twenty years to or maybe
twenty minus five years since we started a

37
00:03:34.560 --> 00:03:40.639
bureau to start as a founder with
the down plotting my partner who's the CEO.

38
00:03:42.639 --> 00:03:46.759
After we work together on a totally
different thing, which is also security,

39
00:03:47.520 --> 00:03:53.520
but in a different field altogether,
because security is really really broad,

40
00:03:53.800 --> 00:04:00.680
you know. Yeah, for sure, I think it's one of those that

41
00:04:00.560 --> 00:04:09.759
it's easy to to get specialized in
a specialized specialty. When you talk about

42
00:04:09.800 --> 00:04:17.639
security. Yeah, there's there's a
lot of niche like niches in in security

43
00:04:17.879 --> 00:04:24.079
now now people are saying cybers like. There are a lot of terms.

44
00:04:24.959 --> 00:04:29.839
There are people who are you know, working on ed R, people who

45
00:04:29.839 --> 00:04:34.279
are working like in pentests, people
who are working on AppSec for thirty years.

46
00:04:34.319 --> 00:04:40.600
People. There are various fields that
are everything is related, but there

47
00:04:40.600 --> 00:04:48.160
are many specialties in the industry.
So there are communalities like the cat and

48
00:04:48.199 --> 00:04:56.079
mouse game with like good people versus
bad people. It happens a lot,

49
00:04:56.279 --> 00:05:00.759
and it's it's like it takes different
shapes in the net work security domain where

50
00:05:01.160 --> 00:05:05.800
it done. And myself we worked
back in the day in Microsoft and UH

51
00:05:06.000 --> 00:05:11.879
and in in other places, but
also in apsec, and also in in

52
00:05:12.079 --> 00:05:20.680
IoT and in very like diverse like
sub cyber terms right on. And so

53
00:05:21.879 --> 00:05:31.319
with a hero, you're working to
to provide visibility and and actionable context to

54
00:05:31.839 --> 00:05:35.959
the consumers of your platform. What
does that what does that actually mean?

55
00:05:36.000 --> 00:05:41.759
What kind of things do you help
help someone do or accomplish? Uh,

56
00:05:42.439 --> 00:05:47.279
there's a there's an evolution in AppSec, in application security. UH. It

57
00:05:47.439 --> 00:05:56.480
started with like very like technology related
products. There was at first there was

58
00:05:56.879 --> 00:06:01.000
you know, SASS finding vulnerabilities in
your code and it and it evolved,

59
00:06:02.040 --> 00:06:09.720
and there there came os S security, s c A finding vulnerabilities in open

60
00:06:09.759 --> 00:06:15.000
source, and then software supply chain
security that finding stuff like this is more

61
00:06:15.079 --> 00:06:21.199
develops proper right if the GitHub configuration
allows you to do such and such as

62
00:06:21.240 --> 00:06:27.920
an example and various other fields,
right, secret detection, et cetera.

63
00:06:28.040 --> 00:06:34.920
So it all evolved and now it's
like got a proper abbreviation, a SPM

64
00:06:35.040 --> 00:06:44.920
Application Security pasture management, which like
takes everything into one single like UI or

65
00:06:45.079 --> 00:06:49.519
one single source of truth where you
can see what goes on in your applications

66
00:06:49.839 --> 00:06:55.319
and it Uh, we've come a
long way uh for Gartner to coin that

67
00:06:55.439 --> 00:07:03.360
term and for companies to understand that
having seven different like specialized tools is not

68
00:07:03.480 --> 00:07:08.639
a good way to understand what goes
on. There's a lot of reasons,

69
00:07:08.639 --> 00:07:13.360
but I think that the main one
is you don't have context. Right.

70
00:07:13.399 --> 00:07:19.399
You have thirty thousand alerts, twenty
thousand came from that SAS tool, five

71
00:07:19.439 --> 00:07:25.560
thousand came from that OSS tool.
And now what I have three people in

72
00:07:25.560 --> 00:07:34.399
my A team covering thirteen thousand developers, We have twelve hundred poor requests a

73
00:07:34.480 --> 00:07:42.600
day. What do I do so
to answer your question like this is the

74
00:07:42.639 --> 00:07:47.600
context maybe to answer your question like
we look at it in like three layers.

75
00:07:48.040 --> 00:07:51.839
First is visibility, knowing what you
have. I always say, you'll

76
00:07:51.879 --> 00:08:00.639
be amazed how developers, CTOs,
CEO, CIOs, AppSec people they don't

77
00:08:00.680 --> 00:08:05.279
have a clue what they have.
As long as you have more than maybe

78
00:08:05.439 --> 00:08:11.240
ten fifteen twenty developers, not to
mention one thousand or thirty thousand, you

79
00:08:11.279 --> 00:08:13.800
don't know. I don't know which
database is, what technology is, how

80
00:08:13.879 --> 00:08:20.279
many platforms for oh off you are
using? How many languages are all this

81
00:08:20.720 --> 00:08:28.079
you can't fathom too much. So
you can go from there to what APIs?

82
00:08:28.079 --> 00:08:30.759
Do I have? Do I have
graph quel even? I don't know?

83
00:08:31.639 --> 00:08:37.720
Does it go through some engeniques?
What's the technology that says don't go,

84
00:08:39.159 --> 00:08:43.000
go, no go? I don't
know? So first visibility, like

85
00:08:43.440 --> 00:08:48.360
what do I have? We call
it an inventory? Right. The second

86
00:08:48.399 --> 00:08:54.039
phase is, as I said,
you have thirty thousand alerts, findings,

87
00:08:54.039 --> 00:08:58.639
whatever. So prioritize. Tell me
what should I focus on right now?

88
00:08:58.919 --> 00:09:03.159
What will bring most value to my
company? What will stop and attack,

89
00:09:03.759 --> 00:09:07.000
what will be worth my time,
what will save us the most money,

90
00:09:07.759 --> 00:09:15.279
et cetera. So prioritization is the
second thing after that remediation. And after

91
00:09:15.360 --> 00:09:20.799
remediation, like help me find who's
the right person to talk to because I

92
00:09:20.840 --> 00:09:24.600
have again thirteen how much did I
say, thirteen thousand developers? Who's the

93
00:09:24.679 --> 00:09:31.320
right person who can say this API
should actually go to the internet and download

94
00:09:31.399 --> 00:09:37.480
such and such other Who I can
say should I go and ask? So

95
00:09:37.279 --> 00:09:43.440
this is remediation, and after that, like the advanced customers of a PIRO

96
00:09:43.960 --> 00:09:52.519
do more of managing and prevention for
such things, so they employ workflows that

97
00:09:52.600 --> 00:10:01.480
automatically whenever a certain risk goes above
a certain threshold, then they will start

98
00:10:01.840 --> 00:10:07.919
a certain trigger, maybe appentest,
maybe a code review. So this is

99
00:10:07.919 --> 00:10:13.399
how we help people, like three
people versus thirteen thousand people maybe try to

100
00:10:13.440 --> 00:10:18.879
get a hold of application security right
on. Yeah, So a big part

101
00:10:18.919 --> 00:10:24.039
of that is just, well,
like you said, just set in context,

102
00:10:24.039 --> 00:10:28.480
like taking all of this information and
figuring out what parts of it's relevant,

103
00:10:28.559 --> 00:10:33.759
which parts are urgent, and just
trying to turn it into something actionable

104
00:10:33.799 --> 00:10:41.120
so you don't feel like you're overwhelmed
and destined to never succeed. Yeah,

105
00:10:41.480 --> 00:10:48.679
it's really like I think personally,
one of the most frustrating things that I

106
00:10:48.840 --> 00:10:54.279
faced in that context is people saying
shift left, shift left, which is

107
00:10:54.720 --> 00:11:00.000
like, it's a nice term,
I get it, but if it says

108
00:11:00.240 --> 00:11:05.480
all the burden on me, the
developer or the develops engineer, then someone

109
00:11:05.480 --> 00:11:09.840
else do the job, Well,
why should I be the one to handle

110
00:11:09.879 --> 00:11:16.080
everything? Right? So shift left
is really important, but you have to

111
00:11:16.080 --> 00:11:22.399
do it right. If you have
six thousand findings from your automat like automated

112
00:11:22.879 --> 00:11:31.399
certain process of static analysis, and
you're shifting it left. You have to

113
00:11:31.440 --> 00:11:37.519
really chew it up and spit out
only the three, the five, whatever

114
00:11:39.440 --> 00:11:46.399
actionable findings that I can handle.
If you'll give me one hundred, it

115
00:11:46.440 --> 00:11:50.000
will be deprioritized in my I have
features to develop. But if you'll say

116
00:11:50.879 --> 00:11:58.159
these certain vulnerabilities, it might have
false positives, it's fine. But if

117
00:11:58.159 --> 00:12:01.840
it's two out of three, I'm
fine with it because I see the value.

118
00:12:01.879 --> 00:12:05.679
I can see I'm helping my company
be more productive. But if these

119
00:12:05.799 --> 00:12:11.960
three a let's say vulnerabilities are in
APIs that I know that are not in

120
00:12:11.039 --> 00:12:16.519
test code. They are in some
application that is facing the internet, right,

121
00:12:18.039 --> 00:12:22.519
so it's exploitable. Perhaps maybe not, but it has a certain like

122
00:12:24.000 --> 00:12:28.480
it might be exploitable, and I
know the code right, it's like people

123
00:12:28.519 --> 00:12:33.399
from my team has written the code. And more than that, I'm a

124
00:12:33.480 --> 00:12:37.759
security champion, right because my team
has one hundred developers. But the apps

125
00:12:39.080 --> 00:12:43.639
gave that task to me because they
know that I'm like well versed in security

126
00:12:43.679 --> 00:12:48.039
stuff. Right. In that case, go on shift left. I will

127
00:12:48.039 --> 00:12:52.559
make it right. If you have
a false positive, I'll help you be

128
00:12:52.679 --> 00:12:58.159
better. But I will fix it
and I will accept the the two out

129
00:12:58.200 --> 00:13:05.000
of three false positives. I got
a hypothetical for you here, So like,

130
00:13:05.480 --> 00:13:09.799
I know that there are these other
platforms out there that are compliance driven

131
00:13:09.000 --> 00:13:15.720
checklist aggregators right there for SoC two
or ISO, and they collect a lot

132
00:13:15.720 --> 00:13:20.240
of things from individual sources within your
your company, your engineering organization to help

133
00:13:20.279 --> 00:13:26.919
you achieve passing some sort of certification
or regulation. But it feels like your

134
00:13:26.960 --> 00:13:31.080
company, uh actually focuses on the
value of security there right like actually,

135
00:13:33.000 --> 00:13:37.799
rather than some sort of checkbox approach. It really is these things are important

136
00:13:37.840 --> 00:13:46.000
to solve and not just to achieve
a particular In my that's a great question.

137
00:13:46.480 --> 00:13:52.039
As my head is a CTO.
I have to go through sock to

138
00:13:52.360 --> 00:13:58.799
type two. Of course I have
to do that, and it's important too

139
00:13:58.840 --> 00:14:03.559
write right like show our customers that
we take it seriously, even if some

140
00:14:03.679 --> 00:14:13.159
questions in those compliance frameworks are kind
of mundane and seem like that they didn't

141
00:14:13.159 --> 00:14:20.600
adapt to twenty twenty four maybe,
but these two are important. So in

142
00:14:20.639 --> 00:14:24.879
general, we do have like a
module for questionnaires. There are a lot

143
00:14:26.360 --> 00:14:31.279
by the way, for I'm not
sure from the audience here, what's the

144
00:14:31.320 --> 00:14:37.120
average size of a company that they
work for, from independent contractors to one

145
00:14:37.120 --> 00:14:43.200
of thirteen thousand developers maybe or thirty
thousand. But for the larger companies,

146
00:14:43.519 --> 00:14:48.720
they do have a lot of compliance
going on, sock to type, sock

147
00:14:48.799 --> 00:14:58.480
to ISO, and also like they
have all sorts of controls for you don't

148
00:14:58.960 --> 00:15:07.000
you can't change a certain area of
the code base without answering like two hundred

149
00:15:07.080 --> 00:15:13.840
questions. So this is an area
that we also help our customers and do

150
00:15:13.879 --> 00:15:18.039
it smart. Like if we can
automatically answer, as you said, or

151
00:15:18.519 --> 00:15:26.879
thirty seventy sixty percent of the questions
because they are code related or developer related,

152
00:15:28.000 --> 00:15:33.360
we can easily answer that. But
for the rest of the forty percent

153
00:15:33.399 --> 00:15:37.840
of the questions you can go and
answer. Then you can automate the process.

154
00:15:39.039 --> 00:15:41.519
I say, I mean, and
I'm just really intrigued here, Like

155
00:15:41.639 --> 00:15:48.440
it sounds like you could almost utilize
a pro to replace whatever automation platform you

156
00:15:48.480 --> 00:15:54.360
have for soalk two findings and utilize
that to actually achieve it is that accurate

157
00:15:56.519 --> 00:16:03.720
well talk to like let's say it
might require you to present that you have

158
00:16:04.120 --> 00:16:11.519
some sort of like a rule set
of how you do back up and restore,

159
00:16:12.039 --> 00:16:15.679
so this is an area that we
won't help you with that. You'll

160
00:16:15.720 --> 00:16:19.960
still you still also have to go
through I don't know, some sort of

161
00:16:21.320 --> 00:16:26.159
an audit vendor that will the stamp
you have to do that. I won't

162
00:16:26.159 --> 00:16:30.440
tell. I won't save you from
that one. But for the real answers

163
00:16:30.480 --> 00:16:37.200
like that are expensive in terms of
time and money to together, right uh

164
00:16:37.600 --> 00:16:47.159
uh. They will ask you show
me evidence that developers, maybe statistical evidence,

165
00:16:47.200 --> 00:16:53.200
but that developers are going through such
and such process in order to to

166
00:16:53.240 --> 00:17:00.840
trigger some uh some other let's say
paintest or whatever. Okay, and all

167
00:17:00.960 --> 00:17:06.319
of these things, like many of
these things we can derive from what we

168
00:17:06.359 --> 00:17:12.480
analyze. Because we analyze every commit
in your guitar, bit bucket, git

169
00:17:12.559 --> 00:17:18.319
lab, whatever you use. Perforce. We analyze every commit, every ProQuest,

170
00:17:18.519 --> 00:17:22.319
every Gerra ticket, as a DevOps
ticket, whatever. There's a lot

171
00:17:22.359 --> 00:17:27.839
of data there. And the last
thing I want like our customers to do

172
00:17:29.400 --> 00:17:37.720
is go through tedious like uh like
exports of things and go with their eyes

173
00:17:37.799 --> 00:17:42.880
over a thousands of rows and figure
out stuff by themselves. We want to

174
00:17:42.920 --> 00:17:47.279
help as much as we can,
hope I answer the question, yeah,

175
00:17:47.319 --> 00:17:48.480
No, I mean you said something
really interesting to me, and I think

176
00:17:48.480 --> 00:17:52.319
maybe interesting for the listeners as well
as like where do you hook into the

177
00:17:52.359 --> 00:17:56.440
process? And I got this idea, maybe there's an integration that happens if

178
00:17:56.440 --> 00:18:02.000
I change some database through terror form
that I'm already a learned that this could

179
00:18:02.079 --> 00:18:08.440
have security applications. That is that
accurate? Yes? Yeah, so so

180
00:18:08.640 --> 00:18:15.200
if you if you go let's say
let's say that you're an advanced shop,

181
00:18:15.480 --> 00:18:18.240
right and you have everything via their
form. Okay, so this is a

182
00:18:18.240 --> 00:18:25.240
good case. Uh we uh at
at least hook up into your source control

183
00:18:25.279 --> 00:18:29.519
manager. Okay. If you're more
advanced, we will hook into your gra

184
00:18:30.400 --> 00:18:37.079
maybe your Kubernetes environment in a w
S or Google or asure. If you're

185
00:18:37.079 --> 00:18:41.720
more advanced than that, then to
your API gateway, a PI security tool,

186
00:18:42.480 --> 00:18:47.759
and and and maybe your security scanner. Maybe you have sneak, maybe

187
00:18:47.799 --> 00:18:52.839
you have menned, maybe you have
like dozens of others. Right. Uh,

188
00:18:52.880 --> 00:18:56.319
And we take all that data and
crunch it up together. But at

189
00:18:56.759 --> 00:19:00.799
the very minimum, we analyze your
code. You can opt out, you

190
00:19:00.839 --> 00:19:04.880
can choose what code to analyze and
whatnot of it. But assuming that you

191
00:19:04.960 --> 00:19:11.400
have terror form, then yes we
will alert if let's say a certain application

192
00:19:11.640 --> 00:19:15.720
shouldn't be connected to the internet,
and maybe you hook it up into an

193
00:19:15.960 --> 00:19:22.759
ingress in GK whatever that is connected
to the internet, then you can automate

194
00:19:22.799 --> 00:19:27.119
that process and put a guardrail.
Right. So I should have mentioned maybe

195
00:19:27.200 --> 00:19:33.559
before that we have like a concept
that we called governance, which by default

196
00:19:33.599 --> 00:19:38.759
it comes with a certain rule set, but you're free to change, to

197
00:19:38.839 --> 00:19:44.680
delete rules, to add rules,
to tailor it to your specific needs.

198
00:19:45.400 --> 00:19:52.359
But you can say, you can
define what's to you, what's a material

199
00:19:52.480 --> 00:19:56.480
change, as we say, right, if someone added an API, it

200
00:19:56.640 --> 00:20:00.319
might not be material to you.
But if someone add then API that is

201
00:20:02.119 --> 00:20:07.160
connected to the internet and it is
exposing a certain type of data, then

202
00:20:07.200 --> 00:20:11.799
maybe this is dangerous because whatever in
your realm, this is what happens,

203
00:20:11.200 --> 00:20:15.680
right, And then you can say, let's define a workflow. If such

204
00:20:15.680 --> 00:20:22.079
and such happens, then open a
ticket block. The PR don't allow a

205
00:20:22.160 --> 00:20:27.720
developer to change the terraform module X, y or z in such a way,

206
00:20:29.240 --> 00:20:32.960
right, and so you can control
that. Usually people start with understanding

207
00:20:32.960 --> 00:20:37.240
what they have and then they evolve, like their process evolves into putting more

208
00:20:37.240 --> 00:20:44.200
and more prevention guardrails like that one. I think automated feedback to the engineering

209
00:20:44.200 --> 00:20:48.200
teams when they're performing something that matches
one of these governmance rules. I feel

210
00:20:48.200 --> 00:20:52.039
like there's going to be a bunch
of platform develops related people out there that

211
00:20:52.079 --> 00:20:59.519
are jumping for joy over this functionality. Honestly, yeah, this is as

212
00:20:59.519 --> 00:21:06.359
a developed like I have to people
enjoy it, like people usually say,

213
00:21:06.440 --> 00:21:08.680
eat your own dog food. Right, Yeah, it's an important concept.

214
00:21:10.640 --> 00:21:15.279
So for us, it's like in
the extreme, right, because our platform

215
00:21:15.359 --> 00:21:23.039
is for APSEC teams and developers.
Developers are are a bunch of people who

216
00:21:23.039 --> 00:21:26.519
are really hard to please. Okay, let let's put it that way.

217
00:21:27.920 --> 00:21:34.759
And that again, like developers are
used to tools like compilers or IDs where

218
00:21:34.799 --> 00:21:38.359
they get I don't know, five
nines of accuracy. Right, the compiler

219
00:21:38.400 --> 00:21:45.359
doesn't make mistakes. Usually it happens, but it's really rare. That's good

220
00:21:45.359 --> 00:21:48.759
point. Actually, usually it's your
fault as a developer if you see an

221
00:21:48.839 --> 00:21:53.359
error, it's not the compiler.
So again, going back to the example

222
00:21:53.400 --> 00:22:00.759
from before, like going through six
thousand alerts from a certain security platform is

223
00:22:00.880 --> 00:22:08.720
not acceptable for a developer, So
we we really make an effort to cater

224
00:22:08.880 --> 00:22:14.640
the needs of developers where they get
when we get to the developer like the

225
00:22:14.720 --> 00:22:18.000
develops as you said, the develops
engineer who or who is jumping out of

226
00:22:18.079 --> 00:22:23.839
joy. We really we are working
with our customers to make sure that the

227
00:22:23.960 --> 00:22:30.799
process we will start with visibility.
They understand, we understand what goes on.

228
00:22:30.839 --> 00:22:41.119
And then when they let's say,
automate jolting with electricity, the developer

229
00:22:41.200 --> 00:22:45.599
who did such a bad thing,
do it only when you're sure, right,

230
00:22:45.519 --> 00:22:51.000
or let's say more realistically, like
opening a ticket for a certain team

231
00:22:51.680 --> 00:22:56.599
when such a thing happens, is
only when they are certain right. There's

232
00:22:56.680 --> 00:23:06.079
always mistakes, It's fine, but
we really advise customers to evolve into it.

233
00:23:06.160 --> 00:23:11.640
And if you see that, you
can not ask your develop steam to

234
00:23:11.799 --> 00:23:18.839
be always they will be alert.
But don't go every day at five pm

235
00:23:18.079 --> 00:23:22.000
go through all pull requests and make
sure there is no such and such right,

236
00:23:22.480 --> 00:23:26.799
don't do that. Automate that right. This is an easy thing,

237
00:23:26.079 --> 00:23:32.640
let's say so yeah, with care, but as much automation as we can

238
00:23:33.400 --> 00:23:37.839
is really the ROI is really clear
for the customer. Yeah, definitely,

239
00:23:40.960 --> 00:23:45.319
Yeah, And I think that's really
a great approach as well, because by

240
00:23:45.519 --> 00:23:52.759
making sure that you're relaying the information
to only the people who can actually do

241
00:23:52.839 --> 00:23:57.000
something about it. You're going to
minimize the tendency that we have to just

242
00:23:57.319 --> 00:24:03.759
turn off things that we we determined
to be background noise, you know,

243
00:24:03.839 --> 00:24:06.839
like you like you mentioned you know, if you get ten thousand security alerts,

244
00:24:07.440 --> 00:24:10.480
we're going to turn it off as
background noise, even though they might

245
00:24:10.519 --> 00:24:18.680
not be. But if you provide
specific information and and remediation steps for it,

246
00:24:18.880 --> 00:24:22.400
and it's like, oh, that's
that's something I can do, And

247
00:24:22.599 --> 00:24:29.119
I think that actually lends a lot
of long term stability to your overall security

248
00:24:29.119 --> 00:24:37.400
process for sure. Also, there's
a I think something that that is people

249
00:24:37.480 --> 00:24:45.559
tend to consolidate certain tasks. Let's
say there's a there's an app SEC team.

250
00:24:45.599 --> 00:24:51.240
Let's say I get a report every
day every week with a list of

251
00:24:51.319 --> 00:24:57.680
vulnerabilities. I might say, hey, John, you're the you're the remediation

252
00:24:57.839 --> 00:25:03.440
guy. H here's the list.
Go every day again and again, go

253
00:25:03.519 --> 00:25:07.920
through it, make sure it's fine. You might stick some boxes. You'll

254
00:25:07.960 --> 00:25:14.400
say to the ISO person from the
auditor, You'll say, I have a

255
00:25:14.480 --> 00:25:21.640
process. Here's John, here's my
vulnerability person. I'm good, and you'll

256
00:25:21.640 --> 00:25:26.599
get You'll get the v there but
like, at least in some cases,

257
00:25:26.640 --> 00:25:30.839
not all the time, but this
in some cases, the shift left here

258
00:25:30.880 --> 00:25:37.319
is really substantial. Right out of
the six thousand developed developers. Sorry vulnerabilities,

259
00:25:37.440 --> 00:25:41.440
you might say, these four thousand
are irrelevant because they are in tesco,

260
00:25:41.799 --> 00:25:47.720
they are in old repositories that are
not deployed anywhere. Forget about it.

261
00:25:48.160 --> 00:25:52.079
Yeah and so and so, And
you narrow it down and you get

262
00:25:52.079 --> 00:25:59.279
to the twenty seven actionable vulnerabilities that
like tending to will bring impact to the

263
00:25:59.319 --> 00:26:03.839
company. And then you'll say,
for each one of the twenty seven,

264
00:26:03.160 --> 00:26:07.720
who's the right person? And here
comes the concept that I like the most

265
00:26:07.720 --> 00:26:14.079
here, which is code ownership.
In appare we have a collective code ownership,

266
00:26:14.599 --> 00:26:19.440
but when a certain problem arises,
there's always the one person that knows

267
00:26:19.480 --> 00:26:25.279
about this thing the most. And
it's not, you know, naively,

268
00:26:26.240 --> 00:26:32.279
the last person who touched that piece
of code. It's more usually reality is

269
00:26:32.359 --> 00:26:41.680
more complicated than that. So we
make huge efforts in analyzing the behavior of

270
00:26:41.720 --> 00:26:47.799
every developer, what code they are
touching in which way do they like.

271
00:26:47.880 --> 00:26:55.119
There's a difference between like the CEO
doesn't know well enough and he does refractoring

272
00:26:55.200 --> 00:27:00.319
and he makes the code cleaner because
he wants to the difference between that guy

273
00:27:00.640 --> 00:27:11.000
and someone else who went and replaced
the authentication mechanism from user password to octa

274
00:27:11.119 --> 00:27:15.599
integration datata. Right, there's a
huge different difference between those two. I'm

275
00:27:15.640 --> 00:27:22.799
not saying the latter is better,
but that person is way more capable in

276
00:27:23.039 --> 00:27:27.000
saying, hey, this vulnerability is
real, it's actionable. This is the

277
00:27:27.000 --> 00:27:30.799
way to solve it. Maybe some
other person will solve it, but this

278
00:27:30.880 --> 00:27:34.960
is the way, and this is
how we can, you know, get

279
00:27:36.000 --> 00:27:41.240
to do remediation much much faster and
cheaper. That's super cool. So you're

280
00:27:41.279 --> 00:27:48.119
actually building like a a historical audit
of the actions of the people on the

281
00:27:48.200 --> 00:27:53.119
platform, so you can identify what
their expertise is and figure out who the

282
00:27:53.200 --> 00:27:59.119
right person is without asking, without
doing like an ad channel and a SLAT

283
00:27:59.160 --> 00:28:03.559
group with thirteen thousand people in it. Mm hmmm, yeah exactly. And

284
00:28:04.559 --> 00:28:12.119
we have a thing where we I
feel more like, let's say it's maybe

285
00:28:12.160 --> 00:28:18.480
a bad word, like more privileged
than my previous self. When we did

286
00:28:18.640 --> 00:28:25.240
in previous company, we did network
security. We analyzed network traffic, so

287
00:28:25.279 --> 00:28:30.920
we connected to switch in the server
farm and we tapped to the traffic and

288
00:28:30.960 --> 00:28:37.079
we analyzed it. But it started
tequal zero. It started when we connected.

289
00:28:37.240 --> 00:28:42.240
Right now we are privileged is an
app sec company where we connect like

290
00:28:42.359 --> 00:28:48.920
via API to let's say guitub and
then we can analyze the entire history of

291
00:28:48.920 --> 00:28:53.079
a Git repository from ten years ago. Right. So in that sense,

292
00:28:53.200 --> 00:28:57.839
we have from when we start as
we start to have a lot of information

293
00:28:57.960 --> 00:29:04.440
about the code behavior, who's doing
what, and we analyze the behavior ever

294
00:29:04.599 --> 00:29:12.279
developer and we say this subset is
what we call a security champion, right.

295
00:29:14.079 --> 00:29:19.720
So some of our customers have actually
using that. They have built like

296
00:29:19.759 --> 00:29:26.160
a security champion program. So they
have let's say three app sec people on

297
00:29:26.200 --> 00:29:30.799
the team, like who's in charge
of the entire company, and they have

298
00:29:30.079 --> 00:29:37.319
one hundred and fifty development teams and
they chose one or two people from every

299
00:29:37.400 --> 00:29:45.559
division will be like their ambassadors into
security. So when there's an issue with

300
00:29:45.240 --> 00:29:52.200
product X, they can say,
hey, team, we've talked before,

301
00:29:52.400 --> 00:29:57.640
we've taught you about our processes,
there's such and such problem, please advice,

302
00:29:59.200 --> 00:30:03.519
right, And he's one out of
seventy people, so they don't need

303
00:30:03.559 --> 00:30:07.880
to go through proper channels with the
management and and do like a like a

304
00:30:07.920 --> 00:30:14.160
heavy thing. They have people they
can talk to and it's not bureaucratic.

305
00:30:14.200 --> 00:30:18.799
It's data driven, which is really
like it proves helpful in many cases,

306
00:30:22.119 --> 00:30:25.880
right, and that's super cool.
One of the things you talked touched on

307
00:30:26.200 --> 00:30:33.920
a little bit earlier was talking about
the context and the visibility of it,

308
00:30:34.720 --> 00:30:40.319
and you kind of mentioned that,
you know, fixing these vulnerabilities gives you

309
00:30:40.359 --> 00:30:45.400
the ability to say, hey,
we prevented or we blocked this before it

310
00:30:45.519 --> 00:30:52.200
was exploited. How much value do
you think there is in that by by

311
00:30:52.279 --> 00:30:57.400
showing the things the ability that you
had to stop something before it happened and

312
00:30:57.480 --> 00:31:03.440
kind of elevate secure already work to
that of like future requests because everyone gets

313
00:31:03.440 --> 00:31:08.640
excited over the new future requests.
Do you think that showing the security vulnerabilities

314
00:31:08.640 --> 00:31:18.119
you've re mediated helps bring bring some
awareness to that? For sure? So

315
00:31:18.599 --> 00:31:22.000
I think coming back to something I
think you said maybe before we started recording,

316
00:31:23.680 --> 00:31:30.759
security is a thing like everybody wants
it to not exist until something hits

317
00:31:30.799 --> 00:31:36.400
a fan somewhere, right, and
then oh my god, we had to

318
00:31:36.440 --> 00:31:42.000
do such and such before. I
wish three months ago when we designed the

319
00:31:42.039 --> 00:31:48.640
feature we would have thought about it. I wish we drink testing. We

320
00:31:48.720 --> 00:31:55.960
would go through the list of things
that could go wrong and find out about

321
00:31:56.000 --> 00:32:02.240
it. So, but the reverse
of it is everyone, everybody wants to

322
00:32:02.319 --> 00:32:08.480
celebrate new features and sell it to
customers. So uh, it's a hard

323
00:32:08.519 --> 00:32:15.480
bargain sometimes to for security teams to
prove their their worth to the organization because

324
00:32:15.880 --> 00:32:23.440
nobody pays attention to quiet. Like
the CSO can can come to a board

325
00:32:23.519 --> 00:32:30.720
meeting, or the APPSC engineer can
come to a certain meeting all hands for

326
00:32:30.799 --> 00:32:36.920
the company and say, hey,
for seven months no incident, everything is

327
00:32:37.000 --> 00:32:40.039
quiet on my front. They might
say, okay, let's reduce the team

328
00:32:40.480 --> 00:32:45.319
right exactly. Yeah, life,
life of security is really hard that way.

329
00:32:46.440 --> 00:32:52.839
But I think I think that it's
a game of numbers proving. Let's

330
00:32:52.880 --> 00:32:58.920
say again, when people are used
to false positives, and it's true both

331
00:32:59.000 --> 00:33:07.319
for networks, security, intrusion alerts, whatever, DLP viruses, for everything

332
00:33:07.359 --> 00:33:14.440
including appsect. When people are used
to false positives, they're they're they're not

333
00:33:14.480 --> 00:33:19.279
paying attention, like everything is noise. We have a we have a concept

334
00:33:19.359 --> 00:33:29.799
of funnel where we are showing you
have starting with thirty thousand alerts, and

335
00:33:30.240 --> 00:33:35.279
via various steps you go to a
lower and lower and lower number until you

336
00:33:35.319 --> 00:33:39.319
get to a manageable amount of things
that you can actually work on. And

337
00:33:39.359 --> 00:33:43.920
if this is the focus, and
in each team, it's a little bit

338
00:33:43.920 --> 00:33:49.400
different. For some is like the
is it connected to the is it exposed

339
00:33:49.440 --> 00:33:52.000
to the internet? Just no,
it really reduces. For some everything is

340
00:33:52.039 --> 00:33:55.839
exposed to the internet, So there
are differences. But as long as the

341
00:33:55.920 --> 00:34:04.039
number goes down and and is it
becomes manageable and real, then the teams

342
00:34:04.279 --> 00:34:08.000
pay more attention. When you come
as an absect to the dev team,

343
00:34:09.039 --> 00:34:16.480
you're not wasting their time. They
feel once they do like there's a I

344
00:34:16.519 --> 00:34:24.679
think there's people underestimate developers or develops
engineers in the industry where some say that

345
00:34:24.719 --> 00:34:29.960
they don't care about security because it's
someone else's concern. I don't think it's

346
00:34:29.960 --> 00:34:35.920
true. Maybe that's just my opinion, but I don't think it's true.

347
00:34:36.119 --> 00:34:43.599
And and if if like apseck came
to developers with a small number of real

348
00:34:43.719 --> 00:34:50.760
things, then the developers will be
excited to deliver on it and they will

349
00:34:50.800 --> 00:34:53.880
feel that they're building a stronger product. By the way, the same thing

350
00:34:54.639 --> 00:35:01.639
is true also with performance and other
things that are not like purely like features.

351
00:35:02.280 --> 00:35:06.400
Performances a feature. Security is a
future. I really believe in it.

352
00:35:06.480 --> 00:35:13.599
So I think as long as the
numbers are are manageable, I think

353
00:35:13.679 --> 00:35:19.599
people will treat it the same way
as features, and they can even celebrate

354
00:35:19.639 --> 00:35:27.199
it. Yeah, for sure.
I think especially like if you are just

355
00:35:28.159 --> 00:35:30.360
trying to say, Okay, we
got to get we got to get a

356
00:35:30.400 --> 00:35:36.119
grip on our security, and you're
working with a code base that's been around,

357
00:35:36.360 --> 00:35:37.920
you know, for a year or
more. The first time you run

358
00:35:37.920 --> 00:35:44.360
that security scan, it's going to
be overwhelming and that your first at least

359
00:35:44.360 --> 00:35:46.840
for me, my first instinct is
to look at the findings and go,

360
00:35:47.039 --> 00:35:52.840
yeah, that's a problem for next
sprint and then move on and next year

361
00:35:52.840 --> 00:35:55.880
I'll have the same conversation with myself. So I think there's really a lot

362
00:35:55.920 --> 00:36:01.239
of value in saying, Okay,
let's just put this in context and here

363
00:36:01.239 --> 00:36:06.360
are the key things that you can
focus on this brand that'll actually make a

364
00:36:06.400 --> 00:36:08.119
difference. Yeah. I mean,
you're really talking about curation there, and

365
00:36:08.159 --> 00:36:10.920
I think that's one of the things
that a lot of tools in the Devil

366
00:36:10.960 --> 00:36:15.440
of Space overall get wrong. They
think it's like a lack of information.

367
00:36:15.559 --> 00:36:19.360
They're all about exposing as many things
as possible as if that's where the value

368
00:36:19.440 --> 00:36:22.920
is. And I think the tool
we haven't said but kept talking about here

369
00:36:22.000 --> 00:36:27.400
is sort of like depend upon on
GitHub, which you know spams every single

370
00:36:27.440 --> 00:36:30.840
thing, and it's very difficult to
know whether or not there's value in any

371
00:36:30.880 --> 00:36:32.800
one of those alerts. So realistically, you want it to be curated.

372
00:36:32.800 --> 00:36:37.320
That's where the value is, right, having not only information, but relevant

373
00:36:37.360 --> 00:36:44.039
and useful and correct information, Right, that's prioritized. Yeah, exactly,

374
00:36:45.159 --> 00:36:49.199
like this is our this is our
claim to fame actually, because we're saying

375
00:36:49.199 --> 00:36:54.719
like ESPM is the is the abbreviation, and we say deep SPM because we

376
00:36:54.880 --> 00:37:02.400
really believe that just aggregating alerts,
putting putting them, displaying them in a

377
00:37:02.480 --> 00:37:08.079
nice table which streams nicely, uh, and putting nice graphs on top.

378
00:37:08.519 --> 00:37:13.880
It's like, I don't want to
sound disrespectful, but as you said,

379
00:37:14.000 --> 00:37:21.440
right now, we're putting context uh
into into that data is really crucial,

380
00:37:21.840 --> 00:37:28.280
uh, in order to allow prioritization
and remediation. So we when we say

381
00:37:28.360 --> 00:37:35.119
deep I'll give you an example,
when we say deep uh we uh we

382
00:37:35.159 --> 00:37:38.840
analyze the code right, We analyze
the gerry tickets, We read all the

383
00:37:38.880 --> 00:37:45.360
fields. We analyze. We know
what's an API. We know what's a

384
00:37:45.480 --> 00:37:51.840
data model, and if it's safe
to the database, if it's exposed via

385
00:37:52.400 --> 00:37:58.039
that a PR or that I p
I we know UH if a certain UH

386
00:37:58.480 --> 00:38:02.880
like code element is in a certain
module, which might be a part of

387
00:38:02.920 --> 00:38:07.639
a repository. There might be a
mono repo, might be a certain application

388
00:38:07.840 --> 00:38:15.840
that has seventeen different modules from six
different repositories, some in guitub and some

389
00:38:15.960 --> 00:38:22.159
in bit bucket, and some I
don't know from somewhere else. So when

390
00:38:22.239 --> 00:38:28.440
we see a vulnerability, it might
be a secret that we detected secret in

391
00:38:28.480 --> 00:38:34.599
code. It might be a vulnerability
that came from check marks or sneak or

392
00:38:34.639 --> 00:38:39.360
someone else. We know a lot
of context around it. Okay, So

393
00:38:39.800 --> 00:38:44.920
if it's part of an API,
we know a lot about that API.

394
00:38:45.480 --> 00:38:52.239
If you connected to a COMI,
then we can say, okay, that

395
00:38:52.360 --> 00:38:58.719
API is exposed in that cluster and
is getting bombarded right now in production.

396
00:38:59.800 --> 00:39:05.400
So we try as as more and
more things get connected, we add more

397
00:39:05.440 --> 00:39:10.760
context into it. So it's really
really important to inject that context into those

398
00:39:10.840 --> 00:39:19.639
lists of vulnerabilities or material changes,
because asking the developer to do the work

399
00:39:19.719 --> 00:39:24.440
is not realistic. Right. We
see we have customers with I think the

400
00:39:24.440 --> 00:39:34.400
most has a forty something thousand repositories. Oh wow, that's that's a that's

401
00:39:34.400 --> 00:39:39.480
a number that I don't think a
person, a human being can fathom in

402
00:39:39.599 --> 00:39:46.000
terms of like there's no intuition around
it. So you have you have to

403
00:39:46.079 --> 00:39:52.039
have that knowledge modeled somewhere. I
mean I do, I do have some

404
00:39:52.119 --> 00:39:55.360
intuition there that micro services went wrong
somewhere, But you know from that,

405
00:39:58.400 --> 00:40:02.880
I mean you bring abouts an interesting
aspects here, which is information about the

406
00:40:04.039 --> 00:40:07.159
likelihood of these vulnerabilities actually being a
problem. And I think this is a

407
00:40:07.280 --> 00:40:10.440
difficult area to answer. You can
look at some code, even with the

408
00:40:10.480 --> 00:40:15.400
context, and know that there is
a security problem there. Maybe it's open

409
00:40:15.440 --> 00:40:21.360
to ssr F, you know,
service I Request forgeries or something on the

410
00:40:21.440 --> 00:40:25.480
UI side that's open to cross site
scripting, but it's you know, I've

411
00:40:25.480 --> 00:40:30.519
been doing research and I just cannot
find actual numbers on the number of say

412
00:40:30.639 --> 00:40:36.480
data breaches there are, because the
actually detecting that it's happened and knowing that

413
00:40:36.559 --> 00:40:40.840
a change that you've made is going
to has actually stopped. One is really

414
00:40:42.039 --> 00:40:45.519
a challenge, and I assume that
it's not even something that you would be

415
00:40:45.559 --> 00:40:51.599
able to know about. Right.
We do have some statistics for interesting,

416
00:40:52.239 --> 00:41:04.320
but I can say easily that a
state in terms of like level of hacking

417
00:41:04.960 --> 00:41:14.199
might might uh utilize or take advantage
of some some sort of nobility that could

418
00:41:14.239 --> 00:41:19.880
be found in code and might help
you to find your way through after four

419
00:41:19.920 --> 00:41:24.960
months of an attack, like doing
various things in order to get to a

420
00:41:25.000 --> 00:41:32.000
certain crown jewel type of information.
It happens, but many more times,

421
00:41:32.440 --> 00:41:40.400
ah, some some person has connected
the wrong wires and and and opened the

422
00:41:40.400 --> 00:41:45.559
the I don't know, the some
proxy server connected to the wrong the wrong

423
00:41:45.639 --> 00:41:52.599
network and like maybe it's via terraform
or click ups or uh, maybe a

424
00:41:52.639 --> 00:42:01.000
certain a p I that is supposed
to be under authorization is actually without because

425
00:42:01.199 --> 00:42:07.199
like a bug in the code,
these type of things are not immune to

426
00:42:07.239 --> 00:42:12.760
bugs in code. And you might
have like a huge wall, a firewall

427
00:42:13.039 --> 00:42:21.079
and octa and whatever in front of
your application that prevents the most brilliant hacker

428
00:42:21.159 --> 00:42:27.519
to pass through. But your API
doesn't require authorization. You can just approach

429
00:42:27.559 --> 00:42:32.400
it and inject things into a database
or pulled data from the database. So

430
00:42:36.159 --> 00:42:46.480
I think what we see in various
companies is evolving from the notion that we

431
00:42:46.559 --> 00:42:54.719
have X vulnerability is let's solve every
vulnerability right, and evolving into let's do

432
00:42:55.280 --> 00:43:02.440
a threat model, analyze what I
have in the most important applications or the

433
00:43:02.559 --> 00:43:08.159
most sensitive applications, which is another
area that we help with. But let's

434
00:43:08.199 --> 00:43:13.960
focus on those, and in those, let's understand what's the attack vector,

435
00:43:14.440 --> 00:43:20.320
and there we will say what types
of actions we think we need to do.

436
00:43:21.039 --> 00:43:24.719
Maybe make sure there are no exposed
secrets. Maybe make sure that the

437
00:43:27.000 --> 00:43:32.480
APIs don't do things that they shouldn't
do. Maybe it's super duper critical.

438
00:43:34.000 --> 00:43:37.960
Let's make sure we have zero verun
abilities and do everything we can, but

439
00:43:38.239 --> 00:43:43.920
not for everything. So this is
really important in terms of time and effort

440
00:43:44.440 --> 00:43:49.199
that the people put into it.
Does that mean that you're actually also able

441
00:43:49.239 --> 00:43:55.000
to investigate the sort of transitive dependencies
of source code pack venders that are being

442
00:43:55.079 --> 00:44:02.039
utilized? Yeah, actually yeah we
do so, uh open sources. I'm

443
00:44:02.079 --> 00:44:06.639
assuming you're in open source, but
not necessarily but yeah, I mean right,

444
00:44:06.760 --> 00:44:10.039
I mean they could be internal packages
that another team has published or you

445
00:44:10.079 --> 00:44:14.719
know, obviously code that comes from
outside for sure. Yeah, okay,

446
00:44:14.960 --> 00:44:17.960
so uh yeah, we do.
We have a distinction between external and internal

447
00:44:19.000 --> 00:44:24.800
packages, whether you publish it via
an internal Nougat or Maven or something else

448
00:44:25.239 --> 00:44:30.760
inside your organization, or even if
you have a package that you copy and

449
00:44:30.840 --> 00:44:36.639
paste it into some other area.
I think, for me, the most

450
00:44:37.159 --> 00:44:43.039
the more interesting thing in terms of
like developing a product is that you have

451
00:44:43.920 --> 00:44:52.440
a certain module that is shared between
various applications. Right So you have the

452
00:44:52.519 --> 00:44:59.039
classic example is an infrastructure package that
has I don't know, utilities or ways

453
00:44:59.079 --> 00:45:06.079
to connect to you or central user
service or something like that, and it's

454
00:45:06.800 --> 00:45:13.599
being used in like three different versions
of that are being used in seventeen different

455
00:45:13.639 --> 00:45:21.519
applications. So what's the impact of
Warren going and changing a certain threshold of

456
00:45:22.159 --> 00:45:28.159
I don't know password, the strength
in that package. What's the impact If

457
00:45:28.159 --> 00:45:32.679
it's on seventeen applications, it might
be more substantial, right so, and

458
00:45:32.800 --> 00:45:39.320
it could go through more than one
hop of analysis. So we're doing really

459
00:45:39.320 --> 00:45:45.559
interesting things in that area. And
it's hard that computationally if you think about

460
00:45:45.559 --> 00:45:52.079
it. Yeah, for sure.
So Warren, you're the CTO of a

461
00:45:52.360 --> 00:46:00.079
security off company. How do you
like obviously security is like front of your

462
00:46:00.079 --> 00:46:07.760
company. How do you approach this
whenever you're building and deploying your product?

463
00:46:07.199 --> 00:46:13.320
Oh, definitely don't ask me that
question. Sorry, Should we have the

464
00:46:13.440 --> 00:46:16.280
editor cut this part out? No, I mean it's totally fine. I

465
00:46:16.280 --> 00:46:20.280
mean realistically, we are definitely looking
for products that, like you know,

466
00:46:20.440 --> 00:46:22.480
ton Scott here to review. I
think a lot of the problem is that

467
00:46:22.639 --> 00:46:28.840
many products in the space fall into
this sort of uncanny value where they're either

468
00:46:29.199 --> 00:46:34.480
unnecessary alerts that don't really tell us
anything. We've definitely gone through the snakes,

469
00:46:34.719 --> 00:46:38.400
sneaks and dependent bots code QLs of
the world, and as well as

470
00:46:38.440 --> 00:46:43.039
look at the ones that review stuff
for a Soalk two and ISO, but

471
00:46:43.159 --> 00:46:47.960
they're mostly checkbox driven security and don't
really focus on actually finding real problems.

472
00:46:49.480 --> 00:46:55.000
So I think realistically it's on us
to do this investigation most of the time

473
00:46:55.119 --> 00:46:59.760
manually, I mean obviously using the
tools that are available to make these decisions.

474
00:47:00.119 --> 00:47:02.960
Now, I think we have a
lot of benefit over some other companies

475
00:47:04.280 --> 00:47:07.480
given the size that we are at
much smaller, so it's not like we

476
00:47:07.559 --> 00:47:12.639
have forty seven thousand repositories that we've
got I think the number is under a

477
00:47:12.679 --> 00:47:15.559
thousand, and most of them are
not services. Yeah, well, I

478
00:47:15.599 --> 00:47:22.199
mean there's just an amount of overhead
as far as cognitive overload that teams will

479
00:47:22.239 --> 00:47:27.000
have to deal through. So more
repositories can only be managed by more people,

480
00:47:27.159 --> 00:47:30.960
and that breaks down as size increases. So I mean, realistically,

481
00:47:31.360 --> 00:47:35.000
there are things that you just don't
want to have to deal with. Now

482
00:47:35.960 --> 00:47:39.320
in my position, what I've really
focused on is what are the platforms or

483
00:47:39.360 --> 00:47:44.559
tools that are out there that help
eliminate a whole class of problems. So

484
00:47:44.840 --> 00:47:47.559
classes of problems can be eliminated by
I mean me personally, you know,

485
00:47:47.599 --> 00:47:52.519
i'd say get away from Kubernetes,
but really virtual machines in general. While

486
00:47:52.559 --> 00:47:57.119
it may seem like it's easy to
spin them up, the number of security

487
00:47:57.119 --> 00:48:02.280
concerns from my standpoint is just massive. There just patch schedules, et cetera.

488
00:48:02.840 --> 00:48:06.440
Even for things that are zero day, right, it's so much easier

489
00:48:06.440 --> 00:48:09.119
to delegate that to a potential cloud
provider. How to get around those.

490
00:48:09.760 --> 00:48:13.840
Another thing that we're leading with I'm
not sure when this is going to be

491
00:48:13.880 --> 00:48:17.639
available in production, is allowing our
customers to sign the data that they're sending

492
00:48:17.639 --> 00:48:22.119
to us. That means that we
have a fidelity over you know, whether

493
00:48:22.199 --> 00:48:24.719
or not that data has actually been
changed, not necessarily access, but specifically

494
00:48:25.239 --> 00:48:28.639
since we are in the AWE space, we do care about when it's been

495
00:48:28.719 --> 00:48:31.440
changed, and so there are things
like this that we consider novel, but

496
00:48:31.480 --> 00:48:36.800
realistically, it's about finding those tools
that help us elevate what we're utilizing to

497
00:48:36.840 --> 00:48:43.679
another level. Yeah, and I
think that's like a unique problem because you

498
00:48:43.719 --> 00:48:49.719
do have like a limited number of
people on your team, but literally an

499
00:48:49.920 --> 00:48:59.199
unlimited number of security problems. You
know, Yeah, for sure, you

500
00:48:59.239 --> 00:49:01.480
know that that's always going to be
a trouble. I think I think this

501
00:49:01.559 --> 00:49:07.280
goes for everything. Focus on your
core competency, whatever that is, and

502
00:49:07.800 --> 00:49:12.360
find a way to eliminate or at
least delegate those concerns elsewhere. So every

503
00:49:12.360 --> 00:49:15.440
time one of those comes up,
find a company that helps you eliminate the

504
00:49:15.480 --> 00:49:19.400
broadest class of them, or you
know, transition to a different stack or

505
00:49:19.400 --> 00:49:22.679
something like that where you don't have
those issues, because you will never solve

506
00:49:22.679 --> 00:49:25.000
every problem. And I think often
you may hear things like, well,

507
00:49:25.000 --> 00:49:30.519
we can't depend on another company offering
a critical component for us, because what

508
00:49:30.599 --> 00:49:32.239
happens if it's down, what happens
if there's an issue there? I mean,

509
00:49:32.280 --> 00:49:37.519
like you should trust the security experts
to get that right more so than

510
00:49:37.719 --> 00:49:39.679
I mean, there's no different between
the set of engineers that they're hiring and

511
00:49:39.719 --> 00:49:43.840
the ones that you can hire.
And they're probably focused on this, right.

512
00:49:43.880 --> 00:49:46.039
You know, we're focused on hiring
people that do care about that security

513
00:49:46.039 --> 00:49:50.639
aspect, just as you know Tom's
focused on this as as well. I'm

514
00:49:50.639 --> 00:49:52.360
sure, right, you know,
you hire people that understand this part of

515
00:49:52.440 --> 00:49:57.079
platform management and security to go forward, and you're not going to be able

516
00:49:57.079 --> 00:50:01.679
to do it as effectively unfortunately.
Time and resources, Yeah, for sure,

517
00:50:05.360 --> 00:50:12.719
we at Apparel, we do have
an infinite amount of time and resources

518
00:50:12.480 --> 00:50:15.639
that that's their usp there right right
there. You know you heard it there

519
00:50:15.719 --> 00:50:22.760
first, right, So a lot
of times with sort of continuing on what

520
00:50:22.920 --> 00:50:25.920
you were saying there, Warren,
you know, there's like a there's three

521
00:50:27.599 --> 00:50:36.159
models of solving a problem. There's
do it yourself, there's tell get someone

522
00:50:36.239 --> 00:50:38.840
to tell you what to do,
or there's just hire someone to do it

523
00:50:38.920 --> 00:50:45.199
for you. And so, Jonathan, what are the what's the like entry

524
00:50:45.280 --> 00:50:52.920
level do it yourself version of handling
this like obviously your apiro is like the

525
00:50:53.840 --> 00:50:59.039
Hey, we're gonna collect all the
data and and put it in context and

526
00:50:59.159 --> 00:51:02.719
prioritize it for you. But like, what's the entry level version of that

527
00:51:02.719 --> 00:51:07.960
that probably most of us are actually
trying to do but unsuccessfully. That would

528
00:51:08.000 --> 00:51:15.840
tell us, man, there's got
to be a better way. You mean,

529
00:51:15.880 --> 00:51:20.280
you mean, how how the company, like a software shop would do

530
00:51:20.559 --> 00:51:29.119
what we do manually like without yeah, uh so so like people more people

531
00:51:29.599 --> 00:51:36.519
essentially? Uh yeah, so so
we see that, uh and I understand

532
00:51:36.559 --> 00:51:43.559
the like like when when you're facing
a certain amount of work, then you

533
00:51:43.599 --> 00:51:50.199
can either uh focus the team on
it and do it like one person for

534
00:51:50.280 --> 00:51:53.880
a small shop or one team for
a larger shop that handles like the load

535
00:51:53.960 --> 00:52:01.079
for everyone. And there's the companies
that uh distribute to work with the load

536
00:52:01.199 --> 00:52:09.280
on the developers. I think the
most important thing to understand to maybe a

537
00:52:09.320 --> 00:52:17.679
marker that might tell you that this
thing got out of hand is if like

538
00:52:17.719 --> 00:52:24.800
hopefully you're asking your developers like how
they are doing and if they they feel

539
00:52:24.840 --> 00:52:32.719
that their job is going well.
So if they say twenty percent, thirty

540
00:52:32.760 --> 00:52:38.519
percent, seventy percent of my time
is going after things that I don't see

541
00:52:38.719 --> 00:52:45.320
any value coming out of this is
a good marker that you might want to

542
00:52:45.519 --> 00:52:51.320
change the process. Either either use
it like a platform, like a peer,

543
00:52:51.480 --> 00:52:55.000
or maybe something else. Either either
that or don't do it. Like

544
00:52:55.159 --> 00:53:02.440
sometimes it's better to take take the
lead and not go through a certain process

545
00:53:04.119 --> 00:53:12.760
save like ten percent of your one
hundred developers time, that's ten ten developers.

546
00:53:13.639 --> 00:53:16.599
Ten developers can bridge the gap and
bring more either more value, more

547
00:53:16.639 --> 00:53:22.960
features, or more security. So
either use the right tool for the job,

548
00:53:22.360 --> 00:53:27.239
or maybe do less of it of
the of the noise. Sometimes it's

549
00:53:27.280 --> 00:53:32.480
better then, like bringing everything to
a halt. That's probably a really great

550
00:53:32.480 --> 00:53:36.000
point there, actually using the right
tool for the job. And I don't

551
00:53:36.000 --> 00:53:37.800
think that could be said enough because
you know, to answer a little bit

552
00:53:37.840 --> 00:53:42.000
more of your question, Well,
i've seen the let's build our own sort

553
00:53:42.039 --> 00:53:47.119
of internal strategy for automatically updating versions
of packages for instance, right, And

554
00:53:47.280 --> 00:53:51.000
it's like, well, you're building
this yourself, Like why are you building

555
00:53:51.039 --> 00:53:54.000
the tool versus using something that's way
more intelligent at actually finding where the security

556
00:53:54.039 --> 00:53:59.280
vulnerabilities are and focus on that one. And I think there's the other one

557
00:53:59.280 --> 00:54:01.840
I've seen, which I also am
not a fan of is the replicate all

558
00:54:01.840 --> 00:54:08.159
the external packages in the world locally
in your own package repository, because unless

559
00:54:08.199 --> 00:54:12.800
you have a team that is expert
in reviewing that or a tool that's actually

560
00:54:12.840 --> 00:54:15.960
going to do it, you're not
really doing anything other than having out of

561
00:54:15.039 --> 00:54:21.079
date versions that are available. So
you're actually almost hurting yourself more than you're

562
00:54:21.119 --> 00:54:24.559
helping by using one of these because
it's not solving a problem of security,

563
00:54:24.559 --> 00:54:30.039
it's solving a problem of anything reliability
or where the single point of failure is.

564
00:54:30.119 --> 00:54:32.519
Right. It's not a highly reliable
package manager out in the world that

565
00:54:32.599 --> 00:54:37.519
has security teams dedicated to finding vulnerabilities. It's some tool off the shelf that

566
00:54:37.559 --> 00:54:42.639
you're deployed in your own infrastructure which
is out of date. Yeah. I

567
00:54:42.679 --> 00:54:47.719
think also this is a great example
of sometimes not understanding the trade off usually

568
00:54:49.679 --> 00:54:54.280
most things, maybe in life,
but in our field, there's a trade

569
00:54:54.280 --> 00:55:00.960
off. Like if you're saying,
don't like I have a certain certain version

570
00:55:01.039 --> 00:55:07.559
of package X that is not vulnerable, then let's freeze it in time and

571
00:55:07.719 --> 00:55:12.880
not never ever upgrade it because there
might be a vulnerability. There's a trade

572
00:55:12.920 --> 00:55:17.599
of there, right, both functionally
and maybe maybe it does have a vulnerability,

573
00:55:17.599 --> 00:55:23.000
but it's unknown. Now I'm not
saying like for everything, newer is

574
00:55:23.039 --> 00:55:29.039
better, but there's always a trade
off. So yeah, I think that

575
00:55:29.079 --> 00:55:32.440
they like what what you said is
really really true. If you're doing it

576
00:55:32.519 --> 00:55:39.039
yourself and like inventing things that are
not your core business, then be really

577
00:55:39.079 --> 00:55:45.679
careful because you're probably not the best
of breeding usually. No, I mean

578
00:55:45.840 --> 00:55:47.800
no, no, it's for true. I mean I think there's another problem

579
00:55:47.800 --> 00:55:51.920
there, which is you don't know
whether or not you're doing it right.

580
00:55:52.039 --> 00:55:54.480
So you're going through the motions of
things right, you know, you're even

581
00:55:54.480 --> 00:55:58.559
if maybe maybe updating the versions is
the right thing, but it could just

582
00:55:58.599 --> 00:56:00.559
as easily be the case where it's
not, and you're actually having a negative

583
00:56:00.599 --> 00:56:07.039
impact overall. So you're not doing
the research to understand what the best practice

584
00:56:07.079 --> 00:56:10.679
trends are, and you're using your
own sort of heuristics from your own experiences,

585
00:56:10.880 --> 00:56:15.480
which they're still valid, right,
but just in a small niche compared

586
00:56:15.519 --> 00:56:20.119
to what the collective wisdom says,
and going about that, you know,

587
00:56:20.199 --> 00:56:22.199
in that way, which may lead
you to, oh, yeah, we

588
00:56:22.199 --> 00:56:24.880
need to automatically roll all versions of
all packages all the time, or we

589
00:56:24.920 --> 00:56:29.239
need to freeze all of them,
and I think both of them are equally

590
00:56:29.280 --> 00:56:34.960
problematic in some way. Yeah.
One of the other things you know,

591
00:56:35.000 --> 00:56:39.280
you mentioned higher or use the people
who are best at that. I think

592
00:56:39.320 --> 00:56:45.840
one of the things that I see
common with that is whenever you go to

593
00:56:46.320 --> 00:56:51.599
like you say, Okay, I
shouldn't be writing on authentication package myself.

594
00:56:51.639 --> 00:56:55.079
That's a solved problem that's been solved
by people way smarter than me. So

595
00:56:55.159 --> 00:57:00.079
you go out and you start looking
at available packages. Like part of that

596
00:57:00.159 --> 00:57:06.000
research is understanding who the expert really
is and digging in, like dig into

597
00:57:06.039 --> 00:57:10.480
their GitHub repo. Is it being
updated frequently? How many committers are working

598
00:57:10.480 --> 00:57:15.400
on this? Because if you find
an authentication package that was updated three years

599
00:57:15.400 --> 00:57:22.039
ago by one person and hasn't been
touched since, that may not be an

600
00:57:22.039 --> 00:57:29.159
improvement over your current authentication layer.
Yeah. Sure, I mean i'd be

601
00:57:29.159 --> 00:57:31.320
curious what you know, Tom,
actually if it has any information about this,

602
00:57:31.480 --> 00:57:37.079
Like are there heuristics about update frequency
or the type of packages that lend

603
00:57:37.119 --> 00:57:40.920
themselves, especially in the open source
world, to being more vulnerable or more

604
00:57:40.920 --> 00:57:47.719
secure? Yeah? So really interesting, especially right now, so in Apiro

605
00:57:47.960 --> 00:57:54.960
you can see a lot of like
interesting properties about open source packages. Okay,

606
00:57:55.039 --> 00:58:00.559
so I think will you mentioned some
of the most important ones, like

607
00:58:00.760 --> 00:58:07.599
if it's maintained or not maintained.
There are other things as well, but

608
00:58:07.800 --> 00:58:12.239
right now, we just published,
like I think a week ago, like

609
00:58:12.639 --> 00:58:19.320
our research team found a lot of
malicious code in many guitab repositories and some

610
00:58:19.400 --> 00:58:22.239
of the guitub repositories. Like it
made a lot of waves I heard about

611
00:58:22.360 --> 00:58:28.679
some of some of the guitub repositories
are really things that you would like at

612
00:58:28.679 --> 00:58:34.639
first glance. You you wouldn't say
there's something fishy here, right, A

613
00:58:34.639 --> 00:58:44.079
lot of maintainers, it's being maintained
really st regularly. So I think not

614
00:58:44.199 --> 00:58:52.480
to be too cynical, but I
don't think you can trust anything right pully

615
00:58:52.599 --> 00:58:54.599
with you. Actually, I was
just thinking about this, like whatever a

616
00:58:54.599 --> 00:58:59.119
metric you're going to use, just
think about how it's going to be potentially

617
00:58:59.119 --> 00:59:01.360
abused, right, you know,
it's maintainers or updates or issues. You

618
00:59:01.400 --> 00:59:06.880
could easily clone an existing package out
there on GitHub, have the same number

619
00:59:06.920 --> 00:59:09.559
of issues, copy everything one to
one and then make just a small little

620
00:59:09.639 --> 00:59:15.360
malicious change in the package somewhere,
you know, post install, or just

621
00:59:15.519 --> 00:59:19.679
for a production run time and also
publish it to a new get MPM,

622
00:59:19.880 --> 00:59:22.159
you know, wherever, and you
would never tell the difference unless someone actually

623
00:59:22.239 --> 00:59:25.480
investigated that source code. So those
sorts of heuristics and may not even be

624
00:59:25.559 --> 00:59:31.360
valuable. Yeah, yeah for sure. But you know, the same way

625
00:59:31.519 --> 00:59:38.320
is it's hard to get like a
good grasp over forty thousand repositories in your

626
00:59:38.400 --> 00:59:44.920
organization. Yeah, which there's not
a lot of eyes going through that code

627
00:59:44.960 --> 00:59:50.559
base, but in like let's say
React, JS and Internet there's a lot

628
00:59:50.559 --> 00:59:57.280
of people like going through. But
even that repository is really large, and

629
00:59:57.599 --> 01:00:05.440
there are dark places within that repository
that people like for years didn't pay attention

630
01:00:05.559 --> 01:00:13.239
to. So when you get big
data, it's really like it's easier to

631
01:00:12.599 --> 01:00:20.440
to to hide in plain sight sometimes
then if there's a two file repository and

632
01:00:20.679 --> 01:00:24.880
to take hold of that, so
you really need the tools the machines to

633
01:00:25.760 --> 01:00:30.000
do the work for you. No, I mean that that actually gives me

634
01:00:30.039 --> 01:00:32.239
some flashbacks to I think it was
a few years ago there was a bunch

635
01:00:32.280 --> 01:00:40.519
of academic centers that were intentionally making
malicious changes to like Linux Foundation source code

636
01:00:40.719 --> 01:00:45.119
for the kernel as well as other
things just to prove that you could get

637
01:00:45.199 --> 01:00:52.440
malicious code into an open source project
under all pretenses and so like that's pretty

638
01:00:52.519 --> 01:00:57.519
ridiculous. Yeah, yeah, I
remember that. That was kind of wild.

639
01:00:58.079 --> 01:01:01.159
Yeah, So nothing not things off
the table when it comes to where

640
01:01:01.159 --> 01:01:04.440
problems could be. And you know, if you look at the lots of

641
01:01:04.559 --> 01:01:07.800
issues that show up in public repositories, like they're not necessarily people that know,

642
01:01:08.159 --> 01:01:12.440
you know, fundamentally every single aspect
that's going on there, Uh,

643
01:01:12.679 --> 01:01:15.519
poll requests that get opened are you
know you don't. No one has full

644
01:01:15.679 --> 01:01:20.159
understanding of how all the packages interact
with each other, so you know,

645
01:01:20.239 --> 01:01:22.199
who is even able to validate that? I think at this point you pretty

646
01:01:22.239 --> 01:01:25.360
much need to rely on some sort
of tool to do this for you.

647
01:01:30.039 --> 01:01:32.760
Right on. Cool, So I
want to ask both of you this question,

648
01:01:32.840 --> 01:01:39.840
because you both have strong security backgrounds. For someone who's just starting to

649
01:01:39.880 --> 01:01:50.119
put focus on their security footprint,
what's your best piece of advice on where

650
01:01:50.159 --> 01:01:58.159
to start start with? We'll start
with Jonathan. Okay, So, without

651
01:01:58.440 --> 01:02:02.280
qualifying if it's a small company or
a large company or like one developer,

652
01:02:02.679 --> 01:02:08.400
I think the most important thing to
get a grasp on is like inventory,

653
01:02:08.480 --> 01:02:15.760
what I have. I think this
is the fundamental part here. By the

654
01:02:15.760 --> 01:02:19.840
way, as a developer, you
might want to reduce it as much as

655
01:02:19.880 --> 01:02:25.519
you can get rid of what you
don't really need, and in large scales

656
01:02:25.559 --> 01:02:30.960
it's even more important. But knowing
what you have, I think this is

657
01:02:30.000 --> 01:02:36.960
the most fundamental thing to really really
understand before I do anything advanced. Know

658
01:02:37.079 --> 01:02:40.559
what you have and plot twist.
Apiro can help you with that, right,

659
01:02:43.320 --> 01:02:49.920
I wouldn't I wouldn't imagine saying anything
that won't lead you to say that.

660
01:02:52.280 --> 01:02:55.760
All right, Warren, what's your
thoughts? Yeah? I mean I

661
01:02:55.800 --> 01:03:00.760
think actually Anton mentioned this earlier and
I know I've become a broken record for

662
01:03:00.800 --> 01:03:06.000
this, but it's start with your
threat model. If you build or approach

663
01:03:06.039 --> 01:03:09.079
any problem without first thinking about why
you're doing it, not only can you

664
01:03:09.320 --> 01:03:13.719
what you're doing isn't going to nessly
be useful or relevant. It can even

665
01:03:13.719 --> 01:03:17.239
be harmful as far as your overall
approach goes. So you know concretely what

666
01:03:17.280 --> 01:03:20.679
like, what do we need to
do, why are we doing it?

667
01:03:20.920 --> 01:03:23.880
And then start looking at okay,
what are our options for implementing solutions?

668
01:03:23.920 --> 01:03:28.719
Because otherwise, I mean, you'll
end up with the six thousand dependent on

669
01:03:29.119 --> 01:03:32.000
alerts and not knowing what to do, and the result may be developing your

670
01:03:32.039 --> 01:03:37.920
own platform that automatically increments, you
know, package versions, versus knowing that,

671
01:03:37.960 --> 01:03:42.519
hey, we're getting lots of spam
on our endpoints in the form of

672
01:03:42.719 --> 01:03:46.400
WP dash admin and we're not running
any PHP stuff. You know, it's

673
01:03:46.400 --> 01:03:52.719
not a DUS attack, but it's
someone's looking for an exposed WordPress instance or

674
01:03:52.079 --> 01:03:57.719
Mango dB or elastic search, and
if you've got that exposed, then you're

675
01:03:57.719 --> 01:04:00.840
going to have a problem. So, as Youzon said, the the inventory

676
01:04:00.880 --> 01:04:03.599
of what your services are and how
they're exposed to the Internet is equally valuable

677
01:04:03.639 --> 01:04:15.039
for sure, right on excellent.
Any any other closing or parting thoughts on

678
01:04:15.119 --> 01:04:23.559
security before we move on to picks, I'd say, alluding to a previous

679
01:04:23.559 --> 01:04:28.519
point that you made before, that
security is a feature and and uh,

680
01:04:28.800 --> 01:04:32.639
if if you do the right thing, then then people will appreciate it.

681
01:04:33.039 --> 01:04:36.360
If it's sometimes even more than doing
the features. No, I mean,

682
01:04:36.400 --> 01:04:40.960
I love that approach actually, because
often people see it as the like a

683
01:04:40.960 --> 01:04:45.039
cost center to prevent something and the
best case scenario is that you nothing happens,

684
01:04:45.559 --> 01:04:47.079
and so the ROI you know,
is a hard justifier, But I

685
01:04:47.119 --> 01:04:53.320
think the missing part there is that
actually the way you've implemented security has a

686
01:04:53.360 --> 01:04:58.239
lot of value that for your product, for your end users, potentially a

687
01:04:58.440 --> 01:05:02.400
better experience with s oh and log
in is it is it defining factor for

688
01:05:02.800 --> 01:05:09.039
companies, especially enterprises, who want
to be secure likewise goes having the latest

689
01:05:09.079 --> 01:05:14.119
functions and features from your dependencies,
being able to utilize them and not be

690
01:05:14.119 --> 01:05:17.320
stuck on legacy versions for fear of
a security issue that just on my gets

691
01:05:17.320 --> 01:05:20.920
pulled in. Like using a platform
like a bureau you know, helps you

692
01:05:20.960 --> 01:05:26.440
get that, helps you achieve that
without getting stuck in in fear land or

693
01:05:26.719 --> 01:05:31.159
dedicating your resources in an area that's
not your core competency. Yeah. I

694
01:05:31.159 --> 01:05:40.400
think that's like one of the common
things that I see with teams or departments

695
01:05:40.400 --> 01:05:46.159
that are traditionally seen as cost centers
is changing that perspective that you're not a

696
01:05:46.199 --> 01:05:50.280
cost center, you're just bad at
marketing, you know, because there's like

697
01:05:50.280 --> 01:05:55.599
it there is like it's everything comes
down to politics at some form or another,

698
01:05:56.159 --> 01:06:00.119
and so part of getting your team
to not be is a cost center

699
01:06:00.440 --> 01:06:06.840
is by marketing your team and showing
hey, this is these are the security

700
01:06:06.920 --> 01:06:11.679
vulnerabilities that we closed down that we
were exposed to? Or from a DevOps

701
01:06:11.719 --> 01:06:16.039
perspective, hey, here's how implementing
this platform allowed the engineering teams to go

702
01:06:16.119 --> 01:06:23.760
from fifteen deployments today per day to
fifty deployments per day in a safe and

703
01:06:23.800 --> 01:06:29.960
secure manner. So I think really
learning to market your team helps give you

704
01:06:30.360 --> 01:06:34.559
mind share across the leaders of the
company and brings additional focus. And with

705
01:06:34.639 --> 01:06:39.119
additional focus, you get additional resources. I mean, last time we talked

706
01:06:39.159 --> 01:06:43.639
about product management, and I think
this is closely connected to it. Like,

707
01:06:43.920 --> 01:06:45.119
you know, you can even start
before that, right, Like,

708
01:06:45.320 --> 01:06:48.559
if you're going to be rolling out
features or functionality or a platform to your

709
01:06:48.639 --> 01:06:53.599
organization, what do the other engineering
teams actually think about? You know,

710
01:06:53.679 --> 01:06:57.039
do they care about even being secure? Because if they're not already on that,

711
01:06:57.079 --> 01:07:02.159
then it's the same challenge as marketing
to external customers. You what problems

712
01:07:02.199 --> 01:07:04.679
are they trying to solve? And
if security is not part of it,

713
01:07:04.760 --> 01:07:08.760
then you're really starting with an education
approach, right Like, here are the

714
01:07:08.800 --> 01:07:12.760
sorts of things that could happen because
of how you set up your services and

715
01:07:12.920 --> 01:07:16.480
if the organization hasn't aligned incentives actually
encourage them to be secure. Then it's

716
01:07:16.480 --> 01:07:20.079
going to be an uphill battle wait
for them to get hacked and then go

717
01:07:20.239 --> 01:07:24.840
oh oh okay, so now y'all
are concerned about security. Oh. I

718
01:07:24.840 --> 01:07:29.280
mean there were definitely there were definitely
some suspicious companies out there that were offering

719
01:07:29.320 --> 01:07:32.159
like DEDOS protection and as part of
their actual operation, I mean they were

720
01:07:32.239 --> 01:07:35.320
they were hugely malicious to start out
with, but uh, as part of

721
01:07:35.360 --> 01:07:39.599
their operations they would go out and
actually just dds customers and be like,

722
01:07:39.639 --> 01:07:42.320
hey, you know you got d
dos Because you don't, you're not using

723
01:07:42.320 --> 01:07:45.639
our product. And I mean it's
a little bit suspicious if after our security

724
01:07:45.679 --> 01:07:48.960
incident you immediately get someone showing up
your door saying, you know, hey,

725
01:07:49.000 --> 01:07:55.159
we could help you solve that problem. Though, it's like the mafia

726
01:07:55.280 --> 01:08:00.840
style approach they send and then go
so, hey, it looks like you

727
01:08:00.920 --> 01:08:06.840
need some protection. Right on.
So let's do some picks as we round

728
01:08:06.880 --> 01:08:11.800
this episode out, Warren, I've
been picking on you, so I won't

729
01:08:11.840 --> 01:08:15.760
pick on you this episode. I'll
actually start it off, and much to

730
01:08:15.960 --> 01:08:19.520
everyone who's a frequent listener, surprise, my pick this week is going to

731
01:08:19.600 --> 01:08:26.800
be platform con coming up this June
the five day virtual conference on Platform Engineering,

732
01:08:27.399 --> 01:08:31.640
where they will have some folks talking
about security topics too as they relate

733
01:08:31.680 --> 01:08:36.000
to platform engineering. And then my
favorite part of the conference is at the

734
01:08:36.199 --> 01:08:41.680
end, I am going to be
interviewing some of the speakers in a live

735
01:08:41.800 --> 01:08:46.760
Q and a session to close out
the conference. And as I mentioned last

736
01:08:46.800 --> 01:08:49.920
week, if they're specific people you
want me to talk to, or specific

737
01:08:50.000 --> 01:08:54.159
questions you want me to ask,
be sure and hit me up on Twitter

738
01:08:54.840 --> 01:09:00.840
or send me a DM or any
other contact method and I will filter and

739
01:09:00.920 --> 01:09:04.000
aggregate those and get those questions to
ask for you. So platform con dot

740
01:09:04.039 --> 01:09:09.199
com if you want to check that
out, and that's my pick. So

741
01:09:09.960 --> 01:09:12.880
Warren, what have you got?
Yeah, Actually, this is timely.

742
01:09:13.279 --> 01:09:15.720
It's going to be security related.
I just got back from a conference in

743
01:09:15.760 --> 01:09:20.199
Germany last week where I was actually
talking about the security journey we took at

744
01:09:20.239 --> 01:09:24.800
authors and I got asked, you
know, well, how do I get

745
01:09:24.840 --> 01:09:28.880
into security? How do I become
an expert? Is it just the do

746
01:09:28.920 --> 01:09:30.960
I am? I either completely don't
know anything or do I have to know

747
01:09:31.039 --> 01:09:33.960
everything? And the truth is,
you know, you just learn things over

748
01:09:34.039 --> 01:09:38.640
time from different sources and eventually,
one day you get to stand up on

749
01:09:38.680 --> 01:09:42.600
stage and start giving a presentation about
security, even though you believe you don't

750
01:09:42.720 --> 01:09:45.319
really know anything. But I will
say that there are a couple of great

751
01:09:45.359 --> 01:09:50.159
newsletters out there that I read myself. They may be too technical for some

752
01:09:50.319 --> 01:09:56.479
others may be way beneath them,
but I highly recommend the TLDR newsletters.

753
01:09:56.479 --> 01:10:00.720
Specifically, they have one Security and
there's also another one called the cloud Secklist,

754
01:10:00.760 --> 01:10:04.720
which is oriented towards cloud security infrastructure, and they've been great. They

755
01:10:04.800 --> 01:10:09.800
talking touching on a lot of different
topics, and you can go deep with

756
01:10:09.880 --> 01:10:12.439
the links that are in there,
and I can take you a long way,

757
01:10:12.600 --> 01:10:16.239
especially at the beginning of your security
journey. Right on Awesome, how

758
01:10:16.239 --> 01:10:18.520
did you talk? Go by the
way? Well, you know, like

759
01:10:18.640 --> 01:10:21.880
usual, I'm sure I did terrible, but then everyone tells me how great

760
01:10:21.960 --> 01:10:26.239
it went, so I have to
I'll have to watch the video once it

761
01:10:26.279 --> 01:10:30.720
comes out online, which will probably
be posted on the author's blog somewhere Right

762
01:10:30.760 --> 01:10:36.000
on awesome. All right, Johnathan, what you got for us for picks?

763
01:10:36.680 --> 01:10:43.399
Okay? So I had something else, But Warren, I think I

764
01:10:43.439 --> 01:10:48.720
can maybe connect to what you what
you said because something that I feared for

765
01:10:48.760 --> 01:10:55.439
a long time happened at my family
yesterday, where my son was a twelve

766
01:10:55.520 --> 01:11:01.199
year old came to me and said, Dad, I managed to hack the

767
01:11:01.600 --> 01:11:10.520
Google Dinosaur game and and made it
such that I can never lose. It's

768
01:11:10.520 --> 01:11:15.720
not that advanced. It's I think
it came to him through YouTube or Instagram

769
01:11:15.800 --> 01:11:20.039
or something like that where you just
override the game over function or something like

770
01:11:20.119 --> 01:11:26.319
that. She's really nice. Uh
so, so it came to me as

771
01:11:26.359 --> 01:11:32.079
a shock, but uh it got
me thinking and and I like alluding to

772
01:11:32.560 --> 01:11:36.800
when you said how to start in
the security business. Maybe uh so.

773
01:11:38.359 --> 01:11:43.680
I think my piak is is when
it comes to kids, maybe uh start,

774
01:11:43.800 --> 01:11:47.640
start from the fundamentals, not not. It might be cool to show

775
01:11:47.680 --> 01:11:55.199
your friends in class that you can
hack a game, but I I since

776
01:11:55.239 --> 01:12:00.920
then, I since I tried to
show him the fundamentals. What goes on

777
01:12:00.960 --> 01:12:05.239
there? What does it mean a
function? What does it mean to change

778
01:12:05.279 --> 01:12:10.720
it in run time? Like,
uh, maybe you should prevent that maybe

779
01:12:10.760 --> 01:12:15.399
not like like really have him understand
what goes on there. I think it's

780
01:12:15.560 --> 01:12:24.960
really important for kids that can see
YouTube or whatever TikTok, they're they're seeing

781
01:12:25.000 --> 01:12:29.479
really advanced things in life, not
only in security or coding, but they're

782
01:12:29.640 --> 01:12:33.880
really pushed to go fast and like
having them understand the fundamentals, understand for

783
01:12:33.880 --> 01:12:40.439
for a non native English speaker,
understand English, understand math, understand the

784
01:12:40.640 --> 01:12:45.640
like the concept, and then go
and hack the Pentagon or No, we're

785
01:12:45.680 --> 01:12:51.319
not recommending that anyone does anything.
I do not condone that sort of no.

786
01:12:51.399 --> 01:12:55.840
But that's a really great point actually, because there's security is so vague

787
01:12:55.880 --> 01:13:00.960
as an individual idea that really defining
for yourself what it even means to go

788
01:13:00.039 --> 01:13:04.199
into security, right, Like are
you interested in hacking things or even depending

789
01:13:04.239 --> 01:13:06.600
against attacks, which I think,
you know, we talked a lot about

790
01:13:06.600 --> 01:13:11.800
here, but or our products that
help you build up tools and whatnot.

791
01:13:11.880 --> 01:13:14.760
You know, these are all different, fundamentally different areas for sure. Yeah,

792
01:13:14.840 --> 01:13:18.239
And I think there's like just going
beyond that. I think there's huge

793
01:13:19.079 --> 01:13:26.000
understated value in just having a basic
understanding of how code works in a modern

794
01:13:26.039 --> 01:13:30.920
technology life that we live in now, because once you understand what's going on

795
01:13:31.359 --> 01:13:36.520
under the hood, I think you
get a lot of perspective in how you

796
01:13:36.600 --> 01:13:41.800
interact with different companies, you know, whether it's through their website or their

797
01:13:41.800 --> 01:13:45.399
application or their call center or whatever. Like. If you have that basic

798
01:13:45.479 --> 01:13:49.640
fundamental understanding, I think you start
to approach problems differently, even if you're

799
01:13:49.640 --> 01:13:55.199
not in a technical role. I
think when you're talking to a sales rep

800
01:13:55.239 --> 01:13:59.239
of a customer support agent of a
company and you get an error on your

801
01:13:59.239 --> 01:14:01.720
screen, that's as like you know, on unhandled exception, and you're trying

802
01:14:01.720 --> 01:14:11.199
to explain to them how their website
is broken, right exactly, all right?

803
01:14:11.359 --> 01:14:13.880
Cool, Jonathan, Thank you so
much for being on the show.

804
01:14:13.920 --> 01:14:17.079
This has been incredibly insightful, so
I really appreciate you taking the time to

805
01:14:17.159 --> 01:14:21.760
join us. Yeah, thank you
so much for inviting me. Yeah.

806
01:14:21.840 --> 01:14:25.359
Yeah. Happy to have you back
on at any point, so let us

807
01:14:25.359 --> 01:14:29.560
know if that's of interest to you. Qaarren, thank you again for joining

808
01:14:29.560 --> 01:14:33.479
me here and co host to miss
with me, and to all the listeners,

809
01:14:33.560 --> 01:14:36.640
thank y'all for listening. Love having
y'all out there, and we will

810
01:14:36.680 --> 01:14:38.680
see y'all next week.

