178 votes
Accepted

Good analogy needed: Sec issues due to different coders implementing the same features in different ways for the same app

Here's an idea for an analogy that I think is fairly accurate while generally understandable: A bank requires two forms of ID to get a loan: a driver's license and a birth certificate. Bank ...
Tavian Barnes's user avatar
116 votes
Accepted

Is it common to allow local desktop and/or active directory admin access and rights for developers in organizations?

Here's one data point from a software company that has an interest in security. I know this is common in similar organisations. There is a number of networks. They are physically separated and ...
Joe's user avatar
  • 1,284
71 votes

Is it common to allow local desktop and/or active directory admin access and rights for developers in organizations?

In my experience, it is common for developers to have admin access on their own machines. It is also common for them not to have admin access on their own machines. However, in the latter situation ...
Joel Coehoorn's user avatar
49 votes

Is it common to allow local desktop and/or active directory admin access and rights for developers in organizations?

I work for a fairly large investment management firm (~6000 employees) and developers are one of the groups that we approve for local admin access. We tell them not to install any software, as that is ...
Justin's user avatar
  • 722
39 votes
Accepted

Teaching "Secure by Design"

The canonical resource for the concept of secure-by-design is "The Protection of Information in Computer Systems" by Saltzer and Schroeder. The essence is distilled into their 8 principles of secure ...
bonsaiviking's user avatar
  • 11.6k
38 votes

Good analogy needed: Sec issues due to different coders implementing the same features in different ways for the same app

The situation is: people working independently without coordination, to design functionality meant to be useful locally, but when combined, created a disaster. The first historical references that ...
schroeder's user avatar
  • 129k
38 votes

Good analogy needed: Sec issues due to different coders implementing the same features in different ways for the same app

Here's a perfect example: the loss of the Mars Climate Orbiter. https://www.wired.com/2010/11/1110mars-climate-observer-report/ To quote: A NASA review board found that the problem was in the ...
Joe McMahon's user avatar
36 votes

Is it common to allow local desktop and/or active directory admin access and rights for developers in organizations?

In my experience allowing and disallowing local admin access is common, just as common as dirty workarounds for the latter. - So you should ask yourself: Which threat to your network is made worse by ...
Falco's user avatar
  • 1,502
31 votes

Is it common to allow local desktop and/or active directory admin access and rights for developers in organizations?

In my career, with rather small companies (less than 100 people), we always had local admin rights. We either have real desktop machines which are maintained by IT, but got the rights, or we were ...
Marcel's user avatar
  • 4,086
29 votes

Good analogy needed: Sec issues due to different coders implementing the same features in different ways for the same app

This brings to mind the Hyatt Regency walkway collapse in 1981. TL;DR the architect stipulated one design, a manufacturer on contract substituted their own design, mechanical failure (and fatality) ...
jayce's user avatar
  • 391
29 votes

Is it common to allow local desktop and/or active directory admin access and rights for developers in organizations?

In a rather small department of a larger organization (~100 in department, ~3500 in full organization) we chose an in the middle solution: sysadmins had 2 accounts, one (non administrator even for ...
Serge Ballesta's user avatar
28 votes

Good analogy needed: Sec issues due to different coders implementing the same features in different ways for the same app

I think what op is describing best corresponds to Swiss Cheese security: https://en.wikipedia.org/wiki/Swiss_cheese_model The Swiss cheese model of accident causation illustrates that, although ...
holmesmalone's user avatar
22 votes

Any hints for programming my own password manager?

Don't. You show a lack of understanding of the topic. I don't really trust them since I can't know what their code is doing to my passwords (like maybe it's storing them on a central server?... NO!)...
vidarlo's user avatar
  • 16k
21 votes

Teaching "Secure by Design"

It will be hard to teach design principles in 30 minutes. I agree with others who say that you have to get them excited in some fashion. I developed the "Elevation of Privilege" card game to get ...
Adam Shostack's user avatar
18 votes

Any hints for programming my own password manager?

Disclosure: I am the Chief Defender Against the Dark arts at 1Password. I am going to discourage you from trying at this point. As others have pointed out, your basic failure to understand key ...
Jeffrey Goldberg's user avatar
13 votes

Which security measures does PyPI and similar third-party software repositories take?

There are two threat models here: Malicious developer uploading malicious packages Malicious attacker uploading malicious packages that belongs to legitimate developers PyPI does not make any ...
Lie Ryan's user avatar
  • 31.4k
13 votes

Is it common to allow local desktop and/or active directory admin access and rights for developers in organizations?

In my experience working for larger organizations, it is absolutely not common for developers to have full rights to anything other than development specific resources. It seems like your organization ...
John-M's user avatar
  • 251
12 votes

Good analogy needed: Sec issues due to different coders implementing the same features in different ways for the same app

One thing you should note in your talk is that catastrophic events rarely have a sole cause. Instead, they're most often a string of failures that came together to produce disaster. One such software-...
Machavity's user avatar
  • 3,818
12 votes

What are some ways to ensure that a cryptography library is reliable in an ecosystem that is new to me?

... ensure that a cryptography library is reliable I don't think this is specific to cryptography. This kind of question can be asked about any kind of software dependency, because any of these might ...
Steffen Ullrich's user avatar
11 votes

Good analogy needed: Sec issues due to different coders implementing the same features in different ways for the same app

It sounds like what you're describing is "synergism". Three different agents who have minor effects alone, but when combined are more than the sum of their parts. https://en.wikipedia.org/wiki/...
Steve Sether's user avatar
  • 21.6k
11 votes

Is it common to allow local desktop and/or active directory admin access and rights for developers in organizations?

First of all you need to learn that it does not matter what "is common" or "typical" because: typically such situations are handled horribly. You are making the best case for this statement. If ...
Tom K.'s user avatar
  • 7,975
9 votes

How, if at all, are some programming languages inherently less safe?

Safe programming is a subset of correct programming -- every exploitable vulnerability is, basically, a bug such that the consequences of exercising the bug are advantageous to an ill-intentioned ...
Tom Leek's user avatar
  • 172k
9 votes

Is it common to allow local desktop and/or active directory admin access and rights for developers in organizations?

This fundamentally depends on context, and in particular on your threat model. In some organisations, it's common to give developers complete control over their development workstation, to the point ...
James_pic's user avatar
  • 2,580
9 votes

Is it common to allow local desktop and/or active directory admin access and rights for developers in organizations?

The problem you actually have is competent IT are attempting to enforce a boneheaded rule. You really only have one choice, give developers effective admin access. I keep seeing the same advice being ...
Joshua's user avatar
  • 1,147
9 votes

Write a Python or C program to guess the key

I agree with multithr3at3d that this question smells like a homework problem. But, it's a fun exercise - and more importantly, it highlights the reason that strong random number generators are so ...
mti2935's user avatar
  • 23.1k
8 votes

Teaching "Secure by Design"

Rather than focus on rules and "follow these 5 rules, and you're secure", I'd focus on teaching developers about attackers, and how they think. You can't really cover 5 different things, each of ...
Steve Sether's user avatar
  • 21.6k
8 votes
Accepted

Do high-level programming languages have more vulnerabilities or security risks than low-level languages?

Major Caveat upfront: It is possible to be insecure in any language, any time, and only developer attentiveness/awareness can fix this. SQL injection is still a thing. Higher-level languages ...
Jared Smith's user avatar
  • 1,988
8 votes

Is it common to allow local desktop and/or active directory admin access and rights for developers in organizations?

I've seen two approaches that work. Give developers admin access to their machines. This is the easiest and most common approach. It is usually the best choice Create a team in the organisation whose ...
UEFI's user avatar
  • 222
8 votes

Any hints for programming my own password manager?

What is the "best" way to encode a text so it can be stored somewhat securely in a text file and later be de-coded so the text can be read (preferably only by the owner) This is literally exactly ...
CBHacking's user avatar
  • 47.5k

Only top scored, non community-wiki answers of a minimum length are eligible