개발/네트워크 보안

The Security Development Lifecycle

개복치 개발자 2019. 12. 10. 19:55

안전하게 개발 하는 방법입니다. 뭐 듣고보면 다 뻔한 이야기들인데

 

Economy of mechanism

Fail-safe defaults

Complete mediation

Open design

Separation of privilege

Least privilege

Least common mechanism

Psychological acceptability

 

코드 안전하게짜고 권한 관리 잘 하라는 말입니다.

 

ASR(Attack Surface Reduction) - Reducing, Restricting 권한 줄이고 제한

 

단순한게 말하면

 

"이 기능은 사용자의 80 % 이상이 필요합니까?"의 대답이 '아니요'인 경우 기본적으로 기능을 끄거나 설치하지 않거나 비활성화해야 합니다.

 

또한, 꼭 관리자 권한을 줄 필요 없는 경우에, 관리자권한을 줘서 이 부분이 탈취될 경우에는 치명적인 피해가 올 수 있으니, 필요한 권한만 분리해서 주는 것이 필요합니다.

 

다 당연한 이야기입니다.

 

코드 어떤 부분에 취약점이 발생할 수 있으니, 어떻게 디자인을 하고, 어떤 부분에서 권한을 이렇게 부여하는 것이 맞는지에 대한 검토를 하는 방법입니다.

 

아래와 같은 순서로 위협을 체크할 수 있습니다.

 

▪ 1. Define use scenarios.
▪ 2. Gather a list of external dependencies.
▪ 3. Define security assumptions.
▪ 4. Create external security notes.
▪ 5. Create one or more DFDs of the application being modeled. ▪ 6. Determine threat types.
▪ 7. Identify the threats to the system.
▪ 8. Determine risk.
▪ 9. Plan mitigations.

 

 

 

 

 

'개발 > 네트워크 보안' 카테고리의 다른 글

SQL injection  (0) 2019.12.13
리눅스 간단 명령어  (0) 2019.12.13
Denial of Service  (0) 2019.12.10
Malware  (0) 2019.12.10
Web Security  (0) 2019.12.10