반응형

IT/Secure Coding 19

CERT (Computer Emergent Response Team)

프로그래밍 언어별 Secure Coding Standard 제공. 각 언어의 사용자 및 학습자가 수월하게 사용할 수 있도록 제공. http://www.cert.org https://www.securecoding.cert.org/confluence/display/c/CERT+C+Coding+Standard (안전한 C 코딩 표준 개발 가이드) https://www.securecoding.cert.org/confluence/display/java/CERT+Oracle+Coding+Standard+for+Java (안전한 자바 코딩 표준 개발 가이드) JAVA Secure Coding 표준 가이드. 별첨6) JAVA Secure Coding Standard Guide 참고

IT/Secure Coding 2015.04.22

SANS(SysAdmin, Audit, Network, Security)

1989년 설립된 산학 협동 연구소. CWE/SANS TOP 25 Most Dangerous Software Errors 가장 위험한 25가지의 소프트웨어의 오류를 정리한 목록 취약점을 줄이거나 완화할 수 있는 주요 완화방법 제시. http://sans.org SANS TOP 25 구성요소간 안전하지 않은 상호작용 (6 Errors) - 별도의 구성요소, 모듈, 프로그램, 프로세스, 스레드, 시스템간의 데이터가 안전하게 전송/수신되지 않는 것에 관련된 취약점 정의 위험한 자원 관리 (8 Errors) - 소프트웨어가 중요한 시스템 리소스에 대해 생성, 사용, 전송, 파괴 관리를 하지 않아 발생되는 취약점. 방어 미비 (11Errors) - 종종 오용, 남용 또는 방어기술 우회와 관련된 취약점들을 정의.

IT/Secure Coding 2015.04.22

소프트웨어 보안 개발 가이드

소프트웨어 개발 프로세스별 보안 활동(국내 안행부에서 만든 것) 시작 단계 보안 프로세스 개발되는 애플리케이션의 개발목적을 정의. 업무현황 파악과 애플리케이션 개발과정에 적용되어야 하는 보안정책 검토. 위험 분석 및 조직 전체에 적용되는 보안 계획 등 작성. 1) 업무현황 파악 보안 요소별 보안 등급 구분 예 2) 보안정책 검토 보안정책 검토 형식 예 3) 보안 계획 수립 보안계획서 양식 예 4) 보안계획 검토 보안계획 검토 결과서 양식 예 5) 시작 단계 보안활동에 대한 점검 보안활동 점검표 분석 단계 보안 프로세스 1) 보안 요구사항 정의 시작단계의 “보안계획 검토결과서”를 토대로 보안 요구사항과 보안 계획간의 일치성을 확인한다. 기술적 측면, 관리적 측면으로 분류해 보안 요구사항을 정의. 기술적 측..

IT/Secure Coding 2015.04.22

별첨 3) 위협모델링 방법

Microsoft SDL 설계 단계 위협모델링 방법 Step 1 위협 모델링을 수행하기 위해 보안팀 구성. 보안팀의 리더는 해킹 / 침해사고 분석 및 대응 전문가가 적합 Step 2 애플리케이션 분해 작업 수행. 위협 모델링을 수행해야 하는 애플리케이션에 대해 기능과 데이터 흐름을 기준으로 애플리케이션을 분해함. Step 3 위협 추출 -> STRIDE 위협 유형 기준으로 분류 Step 4 도출된 위협에 대한 위험도 계산 -> DREAD 위험도 분류 이용, 가장 위협적인 요소들이 먼저 제거될 수 있도록 한다. Step 5 대응 기법 선택 -> 위협모델링을 통해 해당 위협이 발생했을 때 대응 방법에 대한 정의도 함께 요구됨. 일반적으로 침해 사고가 발생한 경우 대응 방법은 아래의 대응기법 중 하나가 될 수..

IT/Secure Coding 2015.04.22

Microsoft SDL(제일 중요)

Microsoft SDL (Security Development Lifecycle - 실제 실무에서 많이 사용) SDL을 통한 소프트웨어 개발 프로세스 개선 (수행 후 에러 및 해킹률이 50% 이하로 떨어짐) 스마트 퍼징(smart fuzzing) : 가이드대로 입력 값을 넣어주는 방식 덤브 퍼징(dumb fuzzing) : 아무 값이나 넣어보고 오류를 진단하는 방식 1. 교육 단계 프로젝트 진행 전, 참가인원을 대상으로 소프트웨어 개발 보안 교육 실시. 2. 계획/분석, 설계 단계 소프트웨어의 전체적인 요건과 구조를 제시. 보안 구조 및 설계 지침 정의 소프트웨어 전체 구로를 보안 관점에서 결정. 시스템 보안이 필수적인 소프트웨어의 부분 확인 소프트웨어 공격 외형 요소 기록 사용자의 범위에 따라 노출범..

IT/Secure Coding 2015.04.22

OWASP CLASP

OWASP CLASP (Comprehensive, Lightweight Application Security Process : 오와스프 클라스프) 소프트웨어 개발 생명주기의 초기 단계의 보안을 강화하기 위한 정형 프로세스 프로젝트 관리자(PM), 보안감사 책임자, 개발자, 설계자, 테스트 책임자 등 프로젝트 참여자에 대한 보안에 관한 지침 제공 프로그램 설계나 코딩 오류를 찾아내어 개선하기 위해 개발팀에 취약점 목록을 제공. 취약점 목록의 취약점들을 점검하기 위한 자동화된 정적 분석 툴 이용. CLASP 의 검증 상호작용 CLASP 프로세스는 View – Activity – Process Component 로 구성된 계층 구조. 5개의 검증을 제공. - 개념검증 (Concept View) - 역할 기반 ..

IT/Secure Coding 2015.04.22

보안 개발 방법론

소프트웨어 개발 단계별 보안 활동 요구사항 분석 - 설계 - 구현 - 테스트 요구사항 분석 1. 요구사항 중 보안항목 2. 요구사항 식별 설계 1. 보안 요구 사항과 위협에 대한 보안통제를 고려 2. 위협원 도출 3. 외부인터페이스 식별 4. 보안통제 수립 구현 1. 표준코딩 정의 및 SW 개발보안 가이드를 준비하여 개발 2. 소스코드 보안약점 진단(도구 활용) 테스트 1. 실행코드 보안 취약점 진단(동적분석 : 스캐닝, 모의해킹 테스트 등) 위 활동에 기반한 보안 개발 방법론 Microsoft – SDL (Security Development Lifecycle) Oracle – SSAP (Software Security Assurance Process) Secure Software – CLASP (Co..

IT/Secure Coding 2015.04.22
반응형