개발보안 및 DevSecOps
제로코딩
·2022. 7. 8. 10:32
✋ 개발보안 및 DevSecOps
DevSecOps는 개발, 보안, 운영을 나타내는 말로서, 전체 IT 라이프사이클에 걸쳐 보안을 공동의 가치로 통합하는 자동화 및 플랫폼 설계에 대한 접근 방식
즉, DevSecOps란 소프트웨어 보안을 전체 소프트웨어 전달 프로세스의 핵심 부분으로 만드는 방식
⚡️ 개발자가 알아야 할 보안 영역
📌 시큐어 코딩
- 보안 취약점 (vulnerability)
SW 버그중 하나로, 이로 인해 보안 시점에서 약점이 생겼고 해커가 악용(Exploit)을 할 경우 위험(Risk)가 발생하는 것
많은 해킹 사고들이 OSI 7Layer에서 Application계층에서 많이 발생하지만 Low Level(인프라)에 더 보안투자가 되고 있는 실상황입니다.
Application(75% 해킹 발생) - Buffer overflows, Error handling, Command injection, Unnecessary code, Malicious code, Broken threads, Invalidated parameters, Cross-site scripting, Caching
- SW 개발보안이란
안전한 SW개발을 위해 소스 코드 등에 존재하는 잠재적 보안취약점을 제거하고, 보안을 고려해 기능을 설계하고 구현하는 SW개발 과정에서의 일련의 보안활동입니다.
요구사항분석 → 설계 → 구현 → 테스트
구현 과정에서는 표준코딩 정의서 및 SW 개발보안 가이드를 준수하여 개발하고 소스코드 보안약점 진단을 정적 분석 도구(Sonar 등)를 활용하여 진단해야 합니다.
테스트 과정에서는 실행코드를 동적 분석 도구, 모의 해킹 테스트 등을 통해 보안 취약점을 진단해야 합니다.
*현재는 SW 개발과정 중 주로 소스코드 구현단계 중심으로 개발보안 적용중
-보안취약점 (Vulnerability): 해킹 등 실제 보안사고에 이용되는 SW 보안약점
-보안약점 (Weakness): 보안취약점의 근본 원인이 되는 SW 허점, 결점, 오류 등
📌 소프트웨어 보안약점
설계단계 보안설계 기준에는 4개의 대분류가 존재합니다.
1) 입력데이터 검증 및 표현
DBMS, XML 질의문의 유효성 검증 방법 설계 및 유효하지 않은 값에 대해 처리
웹 서비스 요청(스크립트 게시)와 응답결과 유효성 체크, 비밀번호 변경, 사용자 결제 등 사용자 권한 확인 필요한 중요기능 유효성 검증
업로드, 다운로드 파일의 무결성, 실행권한의 검증 및 부적합한 파일에 대한 처리방법 설계 등등이 존재합니다
2)보안 기능
인증 대상 및 방식, 인증 수행 제한, 비밀번호 관리, 중요자원 접근 통제, 암호키 생성 및 관리, 중요정보(개인정보, 비번, 쿠키 등)을 전송 및 보관, 저장하는 방법을 안전하게 하는 설계가 필요
3)에러처리
오류메시지에 중요정보 노출 않도록 설계 필요, 적절한 오류메시지 노출이 필요
4)세션통제
다른 세션 간 데이터 공유금지, 세션ID 노출금지, (재)로그인시 세션 ID변경 필요, 세션 종료 처리
'정보 보안' 카테고리의 다른 글
정보 보호 이론 (암호화) (1) | 2022.07.08 |
---|