Updating Risk Assessment in the CERT Secure Coding StandardUpdating Risk Assessment in the CERT Secure Coding Standard

Updating Risk Assessment in the CERT Secure Coding StandardUpdating Risk Assessment in the CERT Secure Coding Standard

Released Thursday, 17th April 2025
Good episode? Give it some love!
Updating Risk Assessment in the CERT Secure Coding StandardUpdating Risk Assessment in the CERT Secure Coding Standard

Updating Risk Assessment in the CERT Secure Coding StandardUpdating Risk Assessment in the CERT Secure Coding Standard

Updating Risk Assessment in the CERT Secure Coding StandardUpdating Risk Assessment in the CERT Secure Coding Standard

Updating Risk Assessment in the CERT Secure Coding StandardUpdating Risk Assessment in the CERT Secure Coding Standard

Thursday, 17th April 2025
Good episode? Give it some love!
Rate Episode

Episode Transcript

Transcripts are displayed as originally observed. Some content, including advertisements may have changed.

Use Ctrl + F to search

0:00

Welcome to the SEI podcast series. My

0:02

name is Tim Chick. I'm the

0:04

Applied Systems Group Technical Manager here

0:06

at the SEI. Today,

0:08

I'm pleased to bring you Aaron Ruffett

0:10

and Brent Fry, two of my

0:12

colleagues. We're here to talk about the platform independent

0:14

model and how it's evolved in the

0:16

way in which we do assessments and

0:18

evaluate programs to really help

0:20

put people on the improvement

0:23

path to success with DevSecOps. We

0:26

start every podcast by asking our

0:28

guest, what brought them to

0:31

the SEI and why are you here? Brent,

0:33

you want to go first? Sure.

0:35

So my

0:37

DevSecOps journey started about 30 years

0:39

ago before DevSecOps or DevOps was

0:41

even a term. I

0:44

was a systems administrator, database

0:46

administrator, and programmer.

0:51

I moved into

0:53

doing creating

0:55

programs that would

0:58

process security alerts and

1:00

try and weed out false

1:02

positives from their move to

1:04

another group that was doing

1:06

research and big data

1:09

analytics. And

1:12

then some of

1:14

my previous co -workers had said, hey,

1:16

we've got some interesting things going on

1:18

at CERT. So I came here and

1:20

started working on a... big data

1:22

analysis system for collecting

1:24

malware and processing and

1:27

analyzing it. And

1:29

now I'm taking all

1:31

those things that I've

1:33

learned over the years

1:36

and helping government sponsors

1:38

to improve their systems.

1:40

Aaron, how about you? I've

1:43

been at the SCI now for almost 15

1:45

years. Prior to that, I came from a traditional

1:47

software development background. I worked for small defense

1:49

contractors in my first job out of school. I

1:52

had to learn how to do that entire job, start

1:54

to finish. And

1:57

even at that time, it wasn't called DevOps, but

2:00

we started to try to dabble with

2:02

automation and tooling to support our

2:04

own development practices and try to implement

2:07

things like that in a small

2:09

shop from scratch with people who didn't

2:11

necessarily know. what they were

2:13

doing. So it was the opportunity

2:15

for me to learn a lot

2:17

and I'm glad I was able

2:19

to take that experience, come into

2:21

cert, work on larger systems in

2:23

an environment that has allowed me

2:25

to foster more of a collaborative working

2:31

relationship with my sponsors and larger

2:33

teams and just learn and grow. I've

2:36

kind of transitioned more away from

2:38

standard software development now into supporting programs

2:40

to write better software. Right.

2:42

Right. And I think the years that you've

2:44

also been here many years like Aaron has

2:46

really been able to keep up with the

2:49

modern technology that constantly evolve. We're not really

2:51

stuck in that, you know, this the way

2:53

we've always done things, right? This is one

2:55

the benefits of being in FFRDC. And

2:57

so that's obviously built into your

2:59

experience with DevSecOps, which is relatively

3:01

new -ish compared to more traditional

3:03

development. worlds, right? So

3:06

what is DevSecOps, Erin, in

3:08

your mind, and why do organizations,

3:10

especially government organizations, really

3:12

struggle in adopting and evaluating and

3:14

just embracing it? That's

3:17

a good question. DevSecOps

3:19

oftentimes gets conflated with

3:21

agile, and

3:23

it's not

3:25

surprising that you usually go

3:28

hand in hand. But particularly

3:30

within the government space, oftentimes

3:32

we're dealing with large

3:34

programs, individuals who come from

3:36

more traditional programs, maybe not

3:38

software -centric programs, who are

3:41

just learning what is DevOps,

3:43

what is Agile, what is

3:45

cloud, what are containers, what

3:47

are all of these pieces and how do they fit

3:49

together. And oftentimes one

3:51

challenge is just getting all of that

3:53

sorted out. for our mission partners and

3:55

really laying out what DevOps

3:57

is. So to answer your

3:59

questions, a long way of answering your question, it's

4:02

really about automating delivery of

4:04

value. So DevOps is about automation. You

4:07

don't necessarily need to be

4:09

doing an agile development methodology, which

4:11

is working closely with your

4:13

users, doing quick turn, iterative software

4:15

development and delivery. You can

4:18

be doing more traditional type development

4:20

with longer cycles. But

4:22

what you need to be doing is having

4:24

developers work closely with operators. That's really

4:26

what DevOps is, is marrying those two together.

4:28

And it works best in organizations where

4:30

that is actually the case. One

4:33

challenge I've seen is programs

4:35

trying to shoehorn it into

4:37

projects where it necessarily fit. Maybe

4:40

Agile or some of the building blocks

4:42

will work for them, but try to take

4:44

DevOps and apply it to... Programs that

4:46

it's not a good fit is one challenge

4:48

area. It's like near their

4:50

stove pipe. They haven't broke down some

4:52

of the social technical aspect. It's not

4:54

just automation, right? It's it's automating things

4:56

that you might have done manually or through

4:58

discussions, but you want to automate

5:00

it to take out the human error perspective.

5:02

But that that implies that we've

5:05

worked out the process. We know how it

5:07

works so we can automate it. That's

5:09

definitely a prerequisite for automation is, first

5:11

of all, actually doing what you want to

5:13

do and found that it is effective. That

5:16

starts with building an organization except

5:19

breaking down stovepipes. DevOps and Agile

5:21

are about breaking down stovepipes and

5:23

getting the people who need to

5:25

collaborate together actually collaborating. A

5:27

big component of that is leadership buy -in.

5:30

Leadership needs to understand exactly what they're

5:32

getting. And

5:34

they're the ones

5:36

who could affect things like organizational.

5:38

Lay out and bring the right people

5:40

in and other areas skills Having

5:42

the right people the right experience and

5:44

the right skills to actually be

5:46

able to succeed And then having a

5:48

risk taking culture as opposed to

5:51

a risk averse culture DevOps is a

5:53

new way of working a lot

5:55

of organizations particularly in the government are

5:57

familiar with waterfall and are comfortable

5:59

with it DevOps is unfamiliar and

6:01

you when married with agile

6:03

you're working in uncertain quick

6:06

turn situations. There's a lot of risk involved in

6:08

that and not everyone is prepared to take that.

6:11

Brad, what do you think is challenging people from

6:13

the adoption? Well, to add on to what Aaron

6:15

was saying, getting

6:17

the feedback quickly

6:20

is often a

6:22

challenge, whether it's

6:24

within the various

6:27

teams, the development

6:29

and the operations

6:32

teams, or back

6:34

to uh, the

6:36

customer and the customer in,

6:38

especially in government scenarios, the

6:40

customer is not always the,

6:42

um, the user of

6:44

the system. And so what

6:47

the customer who is specifying

6:49

what, uh, they think is

6:51

needed might not actually match

6:53

what the user needs and

6:55

making sure that value proposition,

6:57

right? Uh, you know,

6:59

that both values of the

7:01

customer and the users are

7:04

taken into account. In

7:06

this case, the customer being the

7:08

government is that the program office,

7:10

the funding of the work to

7:12

be done versus the Department of

7:14

Defense, it's the warfighters, usually the

7:17

end user. They have to

7:19

coordinate at the very beginning in terms of

7:21

a needed capability. The program office creates a capability

7:23

that the warfighter uses, but

7:25

if something's wrong, that coordination, we

7:27

deliver something that the warfighter can't

7:29

use or it's not optimal. That's

7:31

what we're trying to avoid. So

7:36

You mentioned Aaron a little

7:38

bit like cloud and you know

7:40

more modern knowledge. Is that

7:42

required to do just like ops?

7:44

So I have to be

7:47

doing cloud and containers and Docker

7:49

to be able to to

7:51

embrace DevSecOps? No, and that's that's

7:53

oftentimes a people assume that

7:55

Particularly the DoD. There is the

7:57

DevSecOps DoD enterprise DevSecOps initiative,

7:59

which is very cloud

8:01

and container focused. And

8:03

so that's the lens that the DoD

8:06

right now tends to be looking at DevSecOps

8:08

through. But you can do DevSecOps

8:10

in situations where, like I said earlier, you

8:12

have developers and operators who need to talk

8:14

to each other and work and collaborate with

8:16

each other. That's really

8:18

the prerequisite. And then the next piece is

8:20

automation. Once you have

8:22

processes that are effective, automating

8:24

them in order to shorten

8:26

delivery cycles, improve quality and

8:28

improve value. delivered

8:30

ultimately to the warfighter. That's

8:32

what you need. You

8:34

could do DevSecOps in situations

8:37

where you're not necessarily

8:39

doing containers. You can do

8:41

traditional metal. And

8:43

I'm delivering software directly to

8:45

pair metal, for instance. No containers,

8:47

no Kubernetes, no VMs

8:49

or anything like that. But the key

8:51

is, as I have developers who

8:53

are pushing code, goes through a pipeline,

8:56

ends up on a system that

8:58

then the same team or a team

9:00

that Virtually or physically sits next

9:02

to them is operating is giving them

9:04

feedback on those are the critical

9:06

elements as to what you need in

9:08

order to do this. Okay, so

9:10

the other question is super and ask

9:12

you like the whole part of

9:14

the podcast we're talking about assessments, right?

9:17

Why do people ask for assessments? Why

9:19

do people want to evaluate their pipelines? Well,

9:22

there's lots of different reasons. Most

9:24

often they're trying to do

9:26

a baseline to figure out

9:29

where their system is at

9:31

the moment so that they

9:33

know how to make it

9:35

better, how to

9:37

make it more mature,

9:40

add capabilities, find

9:42

out what's missing. Another

9:45

reason is they're looking

9:47

for us to find problem

9:49

points. One thing

9:51

we've done with one of

9:53

our sponsors was we actually

9:55

went through their development pipeline

9:57

as if we were a

10:00

developer team and tried to

10:02

find out what What the

10:04

pain points were in there

10:06

that weren't necessarily technical, right?

10:09

They were okay. I'm

10:11

gonna be a developer give me a

10:13

count I'm gonna build this thing like you

10:15

know an example are of using your

10:17

system, but I'm gonna use your technology your

10:19

pipeline from start to end, and

10:21

we're going to tell you what the experience

10:23

is from a developer. Right. So

10:25

they think it should take a week

10:27

or two weeks to do this, and we

10:29

find out, well, no. We

10:32

ran into this problem, and so that took

10:34

three weeks, and then something else happened. So

10:37

we have a day

10:39

in the life of a

10:42

developer, a time in

10:44

the life of the developer

10:46

to figure out what where

10:49

the problems are in there. And

10:52

we would not necessarily know that just

10:54

by saying, okay, what tools do you

10:56

use for this? What framework are you

10:58

using here? And

11:00

so that's something that

11:02

while they might be getting

11:05

feedback from those groups,

11:07

we're an independent group. And

11:09

so we don't have

11:11

a stake in... in that

11:13

we're not trying to

11:15

hype things up. We're just

11:17

laying it out like

11:19

it is. Right. Which I

11:21

think is important because

11:23

like that independence, you

11:25

know, I'm not trying to sell you anything, you

11:27

know, but I'm also not being distracted by the

11:29

next shiny thing. Right. If I a lot of

11:31

organizations, they're like, well, I want to try this

11:33

new technology. I want to try this new tool

11:35

because they've sold, they've, they've bought into the commercial

11:37

or whatever they saw some podcast or they saw

11:39

some webinar of someone talking about this great tool

11:41

and how, you know, it saved world hunger for

11:44

them. Right. And so I want to try

11:46

that here. Well, you could try

11:48

that here, but that might not be

11:50

your biggest pain point, right? That might

11:52

not be the place where it's costing,

11:54

you know, your throughput of your pipeline, right?

11:56

And you have limited resources to

11:58

have that evaluation, someone coming, okay, yes,

12:01

I agree that that would be helpful,

12:03

but this is really what's costing you,

12:05

you know, a fortune, right?

12:07

This other thing over here. The other thing would

12:09

be bonus. It would benefit you, but not as

12:11

much as this other thing over here, right? And

12:13

it's not always the most shiny coin. It could

12:15

be like the dullest, most boring thing in the

12:17

world, but really has an impact, right?

12:21

Right, so we can provide a

12:23

set of requirements to get to

12:25

a certain level of capability and

12:27

maturity for what they have, and

12:30

maybe that shiny thing is on

12:32

that path, and maybe it's not.

12:34

We can help. guide the decisions

12:36

that way if that's something that

12:38

they're interested in. So what is

12:41

capability maturity? So

12:43

when you're starting

12:46

out creating your

12:48

pipeline from start

12:50

to finish for

12:52

how to create

12:54

your software, At

13:01

the low levels of maturity,

13:03

you're probably going to have

13:05

a lot of manual processes

13:07

or scripts that you're creating

13:09

and doing things bit by

13:11

bit. And

13:14

as your

13:16

capability improves and

13:18

matures, you're

13:20

automating more of those things. You

13:23

might be bringing in

13:25

additional tools to improve

13:27

the security state. you

13:31

might have multiple

13:33

tools that are

13:35

checking source code

13:38

and for static

13:40

issues or dynamic

13:42

issues. And

13:45

so you're adding tools to

13:48

the mix to improve the

13:50

quality of your final code.

13:53

And as you do that, That's how

13:55

we're saying that the capability is maturing. We've

13:58

taken the process and we've actually

14:00

defined that. We've developed the DevSecOps platform

14:02

independent model, which has over 200

14:04

requirements in it. It's broken down into

14:06

10 different capabilities. We

14:08

really broke out that level one through four.

14:12

When I started building

14:14

that, we really didn't want to

14:16

do that level one through four. We just

14:18

wanted to model DevSecOps. The

14:20

problem with that is, If

14:23

I build this model, it's

14:25

overwhelming. If you're standing up

14:27

a pipeline from scratch, where do you begin? Do

14:30

I just study this shiny object or

14:33

this cool tool or really what's the

14:35

holistic basic stuff I have to do?

14:38

And so if you aren't overwhelmed by the

14:40

200 plus requirements, you have the level one. It's

14:43

just good core software engineering. If

14:46

you're not doing these things, something's going to

14:48

bite you because these are just best practices.

14:50

I don't give you to do it manually.

14:52

Right. And you don't have to start with

14:54

do all the level one things before you

14:57

start on the level two things. You're going

14:59

to have various capability maturity levels for different

15:01

things. But but

15:03

you can get a good

15:05

idea for how mature

15:07

your system is by how

15:09

many of those the

15:11

level one things you've done.

15:14

And then once you get most of

15:16

the way there. You can focus

15:18

on level two, level three. But really,

15:20

it's a matter of we're not

15:22

telling you what you should do next.

15:25

But we're pointing out these are the types

15:27

of things that you can do to help

15:29

mature your model, mature your

15:31

system and help you decide

15:33

on where you might want

15:35

to focus to improve next. So

15:38

what are your thoughts, Aaron? I've

15:42

seen, in my experience, two types of

15:44

organizations who would benefit from something like

15:46

our platform independent model. The first type

15:48

of organization, someone who's new, building a

15:50

new program. They just want to know

15:52

what to do. The platform independent

15:54

model is good at laying out,

15:56

here are the capability areas

15:58

that you need to focus on.

16:00

I mentioned earlier that mature

16:02

DevOps is about automation, but that's

16:04

the last step along a

16:06

path. you're not going to start

16:09

off by automating anything until

16:11

you know that that's what you

16:13

want to automate. And

16:15

so enacting manual steps in

16:17

a journey towards DevOps maturity

16:19

is very important because an

16:21

organization wants to at least

16:24

start to do everything broadly

16:26

correctly and get set out

16:28

on the right path and

16:30

then use something like the

16:32

platform independent model to help

16:34

mature their actual

16:37

practices, adopting more

16:39

tools, optimizing their techniques

16:41

and processes. Right, because if

16:43

I start with tools too early, I

16:45

end up in the wrong process. Is

16:47

it the right tool? Is it the

16:49

right process? By the wrong tool. Those

16:51

questions are really important and it's some

16:53

trial and error that an organization needs

16:55

to go through in order to find

16:57

the right answer. I think almost every

16:59

developer I've ever met has felt the

17:02

experience of being forced to use the

17:04

wrong tool in their development environment. They

17:06

go, well, management bought this tool that

17:08

you have to use, which doesn't actually

17:10

support their process and support their approach.

17:12

Worst case scenario, you support the tech stack

17:14

that you're doing the development on. Know

17:17

what you want to do before you

17:20

go buy the product. Know what you want

17:22

to do before you... These tools are

17:24

very flexible. And it's better to start small.

17:28

Start with the minimum set of things

17:30

that you need to do to

17:32

get your job done on the first

17:34

day. especially programs that are starting

17:36

out, rarely is there

17:38

a big bang approach to

17:40

everything where they're going to start

17:42

off and implementing a humongous

17:44

system and all the pieces and

17:46

all at once. That's

17:48

a path to failure. You're

17:51

going to start small and figure

17:53

out what works for you. You can

17:55

have multiple small teams trying to

17:57

figure things out, but then kind of

17:59

coalesce around what is working for

18:01

you and then look to mature. So

18:04

you can use the PIM to start with and

18:06

figure out these are the things we need to

18:08

do at a high level. And then

18:10

you can come back to it later, and this

18:12

is the second type of organization, are those that

18:14

are looking to improve. We have practices in place,

18:16

but maybe we have some challenges. Maybe we have

18:18

some bottlenecks. I'm not quite sure where they're at.

18:21

Help us try to figure out, in a

18:23

neutral and biased way, as Brent mentioned, help

18:25

us figure out what the problems are, identify

18:28

them, and solve them. And then we can

18:30

help them mature, get to those level two,

18:32

three, and four. That is

18:34

what is exhibited of very mature

18:36

practices. To some it's like treating

18:38

your pipeline, you treat your product,

18:40

right? Start with a minimal viable

18:42

product, and then you expand the

18:44

capability to improve your throughput and

18:46

improve your efficiencies, just like you

18:48

would try to improve your product.

18:50

Precisely, and in DevOps, your capability

18:52

and your capability is part of

18:54

your capability. It is all part

18:56

of the same thing. Your

18:58

development pipeline, your tool stack that goes

19:00

into delivering what ends up in

19:02

the hands of the warfighter, it has to

19:04

be part of the same singular whole. It's

19:06

not two separate things or multiple separate things.

19:08

It has to be treated as all of

19:10

one thing. And we keep using developers and

19:12

operators, but there is that sec part, that

19:14

security piece, right? And dev sec ops. Yeah,

19:16

we are certain we shouldn't do more of

19:19

those. And so, right. So the part is

19:21

holistically, you need to think about security, right?

19:23

You got to secure both your pipeline and

19:25

your product. a traditional engineering perspective, you

19:27

just worry about, know, you build

19:29

your product and build a mode around

19:31

it, right? And that doesn't work

19:33

with this ecosystem of your tools, really

19:35

connecting your development environment and your

19:38

production environment, right? And they're intertwining, right?

19:41

How does the SEC work into some of those

19:43

things? I'm sure the DevSec

19:45

has. How's that perspective always included as

19:47

well? Any thoughts? So,

19:53

It needs to be

19:55

holistic and baked in.

19:57

So DevOps, developers and

19:59

operators working closely together. Security

20:02

has to be something that is thought

20:04

about at every step along the way.

20:06

You mentioned that we need to secure

20:08

the pipeline against attacks. We learned in

20:10

SolarWinds that if you attack the pipeline,

20:12

you can attack the end system in

20:14

very insidious and hard to detect ways.

20:18

So security needs to start at that

20:20

very beginning. And

20:23

not trusting... I don't want to

20:25

kind of throw zero trust in

20:27

there because it's not a zero

20:29

trust conversation, but not trusting any

20:31

parts of your process implicitly. Assume

20:33

that you're being attacked. I think

20:35

about how an attacker would attack

20:37

your system at all levels at

20:39

injecting code into the code into

20:41

your source code repository or supply

20:43

chain or attacking a tool. I

20:45

attack a compiler and well now

20:47

I can now inject binary code

20:50

in that's not detected in static

20:52

code analysis for instance. There's a

20:54

lot of different attack vectors that

20:56

you need to think about and

20:58

you need to look at each

21:00

one individually and see how am

21:02

I going to attack this part

21:04

of my process. Well,

21:06

mitigate that issue. And then mitigate that. Right. Yes.

21:09

So I think you've probably done the most

21:11

assessments out of the three of us

21:13

here. You've done it both before we had

21:15

this PIM as an evaluation as well

21:17

as after using it. What's the

21:19

difference? Well,

21:22

the nice thing about the

21:24

PIM, you mentioned it's got like

21:26

230 or so requirements. And

21:30

before the

21:32

PIM, we started

21:34

off with a list

21:36

of hundreds of questions

21:39

Like almost a hundred

21:41

pages worth of questions

21:43

for questionnaires and trying

21:45

to do that We

21:47

wanted to try and

21:49

get our assessments down

21:51

so we could do

21:53

them within a day

21:55

and a half And

21:57

you know asking 300

21:59

questions or more and

22:01

so Part

22:03

of that was distilling

22:05

it down into a

22:07

couple dozen core topics

22:10

of interest. Which would

22:12

be made of our

22:14

10 capabilities became that,

22:16

right? Right, so

22:18

the 10 capabilities each

22:20

make up three

22:22

to eight of these

22:24

topics. we

22:33

try and make it more of a

22:35

conversation. And

22:37

so when we're talking,

22:39

we're not necessarily

22:42

limiting ourselves to just

22:44

like the one

22:46

question at hand. If

22:48

they happen to mention something and we

22:50

know, oh, it's on that list of topics

22:52

of interest, then we can make a

22:54

note of that. And it's a whole lot

22:57

easier to do that when you've got

22:59

a smaller number of things rather than flipping

23:01

through hundred pages of

23:03

questions and saying, oh,

23:05

we'll get to that on

23:07

page 42 and do

23:09

things. But

23:12

one thing that the

23:14

PIM provides us, once

23:16

we do have all

23:18

those questions answered, is

23:21

we have a

23:23

better feel for where

23:25

they are at

23:27

the maturity level that we talked about. So

23:29

we didn't have any type of concept of

23:31

maturity or where you are on this path

23:33

to perfection, right? Right. As a subject matter

23:35

expert, I could have a feel for how

23:37

good they were, but how

23:40

to translate that into

23:42

an objective assessment was more

23:44

difficult. We could say

23:46

now, oh, you're not doing

23:48

these maturity level three

23:51

or four things. You're

23:53

focused on the maturity level one and

23:55

two things. And

23:57

so or just like well why why you focus

23:59

this level four thing when you haven't figured

24:01

out this level one thing, right? Yeah,

24:03

don't worry what right? So about you just

24:05

have that rational conversation with this I

24:07

like I call it's an authoritative source where

24:09

before it was just a bunch of

24:11

subject matter experts giving you their opinion We're

24:13

here. It's like no really like I

24:15

can tell you what requirement you're not meeting

24:17

now if you think I'm wrong in

24:19

my assessment Well, then show me the evidence

24:22

prove me that you are doing this requirement. You

24:25

can't have that definitive of a conversation when

24:27

you present the findings when it was just, oh,

24:29

I just asked you a bunch of questions

24:31

and you gave me your answers. All

24:34

that we do more than just ask questions.

24:36

We look at documentation, we say, show us

24:38

if we can, we do a day in the

24:40

life. So we try to be more holistic

24:42

than just interviews. So part

24:44

of the assessment, we'll send out

24:46

a pre -visit questionnaire. which is

24:48

going to focus on the what,

24:50

the where, the how many kinds

24:52

of questions, things that

24:54

more than likely the development

24:57

and operations folks already have. And

24:59

hopefully the security folks also have

25:01

it so they know where all

25:03

the pieces are. What tools are

25:06

you are? What type of, are

25:08

a Linux based infrastructure, your Windows

25:10

based shop, like really basic stuff?

25:12

Right. Finding out what tools

25:14

you're using, which If we were to ask,

25:16

that's going to take a lot of time.

25:19

We want to reduce that

25:21

because we don't need a

25:23

dozen experts in the system

25:25

that we're evaluating standing around

25:27

saying, oh yes, we use

25:29

Linux. We're using Docker. We're

25:31

using whatever other technology they

25:33

happen to be using when

25:35

we could just get these.

25:37

ahead of time, and then

25:39

we know that we can

25:41

integrate that into our questions.

25:43

Really ask more informed questions,

25:45

stuff that would be hard

25:47

to to glean out of

25:49

a document or, you know,

25:51

a questionnaire. Right. Right. And

25:53

so once we have those, that pre

25:55

-visit questionnaire, those responses, then we can

25:57

go back to the customer and say, okay,

26:00

this is what we see. Are

26:03

there anything, we

26:05

notice that you don't have answers

26:07

to this, are those

26:10

topics that you're that are interesting

26:12

to you at all because it's

26:14

quite possible that some of the

26:16

things that are in the PIM

26:18

are things that are not of

26:20

interest or value to the customer.

26:22

We've had folks who are not

26:25

at all interested in model -based

26:27

systems engineering. That's something that we have

26:29

in our PIM. It's not

26:33

necessarily required to do any of the work, but

26:35

it has its uses. But

26:37

if the customer is not interested in

26:39

them, then we can just cut out

26:41

those questions. We can tailor those requirements

26:44

out of the assessment. To me, I

26:46

think my favorite part is the not

26:48

applicable category. Because

26:50

we're not saying you need to do all 230 requirements.

26:52

We're saying do the ones that make sense, but

26:54

consciously do the ones that you don't want to do.

26:57

Don't not do it because you didn't think of

26:59

it. Don't do it because it doesn't make any

27:01

business sense for you. Consciously evaluate

27:03

that requirement go, that

27:05

just doesn't apply to us. And

27:07

we're totally okay with that. As long as you

27:09

explain why it doesn't apply to you. It's

27:13

the ones that do apply to you that you're

27:15

not doing that you should pause and go, well, why

27:17

am I not doing that requirement? If

27:19

you haven't gotten to it yet, that's

27:21

fine. You

27:23

can put that on your path to

27:25

do it. Sharon,

27:31

you've done both types of assessments, pre and

27:33

post, having the PIM. What are your thoughts?

27:37

The latest assessment I did last

27:39

year was greatly benefited from the

27:41

PIM. Which I think was the

27:43

first time you used it, was

27:46

it? It was the first time

27:48

I used it. It was good

27:50

to have at hand that set

27:52

of 200 plus requirements broken down

27:54

within capability areas. Because

27:56

what it allowed me, as Brent mentioned, we

27:58

can start to hone in on things during

28:00

an assessment. Yes, they've said a lot of

28:02

things about these things, but haven't said a

28:04

lot of things about these things. And it

28:06

allows us to discover the things that aren't

28:09

being said. Because when you ask a person,

28:11

what are you doing? or what are your

28:13

processes, you're focusing them, or you're

28:15

biasing their answers, and you're going to get

28:17

the things that they are familiar with. But

28:19

if you don't directly ask for the things

28:21

that nobody is there talking about, then you

28:23

might have a blind spot in your assessment.

28:26

You might, you may miss it. So as

28:28

an assessor, it allows me to make sure

28:30

that I focus on everything, at least get

28:32

an answer. Like I said, non -netbookable is

28:34

an answer, and it's valid. We

28:36

will validate whether their answer is

28:38

good or not. as

28:41

we look through the lens of

28:43

what their mission is, because that's

28:45

one key thing is DevSecOps works

28:47

for the intended purpose and the

28:49

intended environment. And so we

28:51

don't just want to take someone's answer for

28:53

it, saying, well, we don't think that's important.

28:55

We can look at it and say, well,

28:57

your mission, because of your types of mission

28:59

and our experience in similar types of missions,

29:01

we actually think it should be important for

29:03

you. Allow us to have a conversation around

29:05

those topics as well. But

29:07

the previous assessments that I've done

29:09

go back many years, at

29:12

least 10 years. And in that

29:14

time, it was very much with the wild west. It

29:17

would just bring in subject matter experts, throw

29:19

them into an environment and say, what

29:21

do you see? What don't you see?

29:24

And it comes down to the skill

29:26

of that assessment team. So

29:28

it's not repeatable. It's not repeatable at

29:30

all. We really would just go in with

29:33

a set of questions, maybe a concept, and then

29:35

we just go. And we

29:37

find what we find. And

29:39

so the quality of the assessment

29:41

couldn't be high, but with a

29:43

lot higher effort. As

29:46

Brent said, we want to be able to get

29:48

assessments down to a much smaller time box and still

29:50

cover the same material. And with the pin, we

29:52

can do that because we're able to get more methodical

29:54

approach to things. So

29:56

we're very focused on assessments and

29:58

DevSecOps in general. really

30:02

the modern term for just good

30:04

software engineering, practices, tools, and techniques. So

30:07

what are you two working on next

30:10

three, four months that we can bring

30:12

you back out here and talk some

30:14

more about your research and your work?

30:17

Erin, like to go first. So one challenge

30:19

area that I'm seeing with my

30:21

mission partners is there's now a lot

30:23

of guidance. There's the software acquisition

30:25

pathway, which is in the news right

30:27

now in DoD. the

30:30

new administration is really pushing its use

30:32

for software centric systems. But it's only

30:34

been around for a few years. DevSecOps

30:37

has been in government for maybe

30:39

a decade, a decade and a half.

30:41

Agile has been around for about

30:43

30 years. It's marrying all

30:45

three of these things together. And

30:47

how, putting myself into

30:50

the shoes of a

30:52

program manager, how do they

30:54

take all of these things together and operationalize

30:56

them? Where is that template of I

30:58

have to pull all of these things together

31:00

and execute a program? How

31:03

do I do that? What is

31:05

a good configuration, quote unquote, for

31:07

a combination of these tools and

31:09

techniques that work for me? There's

31:11

no one size fits all. It's

31:13

not one size fits all. And

31:15

it really needs to be tailored

31:17

to the mission that the system

31:19

is going to work in. And

31:22

because there's no one size fits

31:24

all, there's no No template that

31:26

that will instruct a program manager.

31:28

Hey, I just go down through

31:30

this checklist and I will do

31:32

good DevSecOps and I'll have good

31:34

outcomes. That doesn't exist. So I

31:36

really want to work towards, can

31:38

we put actionable guidance based on

31:41

our experience supporting these programs that

31:43

is broken down along the lines

31:45

of maybe there's not one template,

31:47

but maybe there's a good set

31:49

of questions or Recommendations

31:51

typically comes out of the come out

31:53

of assessments. Okay, we found these things. What's

31:55

your path to good? Thinking

31:58

about that before a program needs to come

32:00

to us. Typically they come to us when

32:02

they're having challenges. Let's help them before they

32:04

have those challenges and get them set off

32:06

on their right foot. So one area I'm

32:08

looking in is like a template for a

32:10

good software development plan that comes from guidance,

32:12

these high level guidance. down to

32:14

actual actionable steps that says here's a

32:16

strategy and a plan that maybe a

32:18

program could use as part of an

32:20

RFP package when they're looking for someone

32:23

like a system coordinator or system integrator

32:25

or that first contracting with an organization

32:27

who's going to build their capability and

32:29

say this is the plan that we

32:31

are going to work towards as a

32:33

program. We the government are going to

32:35

own this. This is how

32:37

we want to work and this is how we

32:39

expect you to work for us. And that sets

32:41

you up for things like metrics and measurement and

32:44

value assessment and things down the road. Which

32:46

is what actually was one of the,

32:48

we talked about just doing assessments to

32:50

the DevSecOps platform independent model. But the

32:52

other part is these requirements can be

32:54

used to define what DevSecOps is. Right

32:57

from from a contractual from a program

32:59

office perspective, right? Correct. Program offices don't

33:01

normally build anything, right? They acquire capabilities

33:03

either organically by, you know, getting an

33:05

engineer in group together or they have

33:07

a contractor. You contract it all out

33:09

and they just deliver a capability back

33:12

to the government, right? Um,

33:14

and so the question is, but what is

33:16

DevSecOps, right? Because I think way down

33:18

the path of building the model wasn't just

33:20

for assessments. It was. I want

33:22

to do threat analysis. I want to

33:24

do cybersecurity type of stuff. And you

33:26

helped me do that back in the

33:28

day. And the problem was I could

33:30

do a web search for DevSecOps. And

33:32

I got one of two things. I

33:35

got the really high

33:37

level theoretical stuff. Or

33:39

I got a platform specific

33:41

solution. Use this tool

33:43

and I'll solve world hunger. There's

33:46

nothing in between. There was

33:48

no good formal definition of what

33:50

DevSecOps should be. And so

33:52

the PIM kind of helps. It doesn't go as

33:54

far as what you're saying, too. But it does

33:56

at least give you the requirements that one could

33:58

say, you know, contractor A, build

34:00

me a development pipeline for my capability.

34:03

And I have a way to say, did you actually

34:05

deliver what I contracted you to do? So there

34:07

is some acquisition things you could use with the PIM

34:10

as well. So Brent, how

34:12

about you? What do you think you could bring you

34:14

back here and have another conversation about? So

34:16

one thing I'm working on now

34:18

is related to reliability engineering. So

34:21

we get, you know, with

34:23

hardware, you know that there's,

34:26

you know, meantime between failures

34:28

and how likely something is

34:30

to stay up. With

34:33

a lot of

34:35

the containerization and

34:37

virtualization cloud stuff,

34:40

the focus is, you

34:43

know, we know that things are going to

34:45

fail. So the

34:47

goal is to make

34:49

sure that they

34:51

recover quickly and seamlessly

34:53

so that the

34:55

customer does not notice

34:57

any downtime or

34:59

minimal downtime. But

35:01

getting back to one of the early

35:03

questions about, does it

35:05

have to be on using containers

35:07

or cloud? If

35:09

you have bare

35:12

metal systems and

35:14

you can't do

35:16

the replication of

35:18

services, How can you

35:20

ensure reliability? And so

35:22

that's one thing that I'm working on and

35:24

investigating that. Awesome. So, Aaron, Brent,

35:26

thank you for your time. I appreciate it. For

35:29

the audience, we'll include

35:31

the links to the transcript, the resources

35:33

minted during the podcast. Finally,

35:36

a reminder to our audience

35:38

that our podcasts are available

35:40

on SoundCloud, Spotify, and Apple

35:42

Podcast, and the SEI's YouTube channel. If

35:45

you like what you see, And here today,

35:47

please give us a thumbs up and thank

35:49

you for joining us.

Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features