시큐어코딩 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''시큐어코딩'''(secure coding)이란 '''소프트웨어 개발 보안'''이라고도 부르며 설계 및 구현(개발) 단계에서 해킹 등의 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고, 외부 공격으로부터 안전한 소프트웨어를 개발하는 기법이다. 보안 취약점을 줄이기 위해서 소프트웨어 개발 초기 단계에 수정하는 것이 가장 손쉽고 비용 효율성 측면에서 가장 좋기 때문에 이 시큐어 코딩 기법을 적용한다. <ref> Wisedog, 〈[http://story.wisedog.net/%EC%8B%9C%ED%81%90%EC%96%B4-%EC%BD%94%EB%94%A9%EC%9D%B4%EB%9E%80/ 시큐어 코딩이란?]〉, 《wisedog》, 2013-12-09</ref>
+
'''시큐어코딩'''(Secure Coding)이란 '''소프트웨어 개발 보안'''이라고도 부르며 설계 및 구현(개발) 단계에서 해킹 등의 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고, 외부 공격으로부터 안전한 소프트웨어를 개발하는 기법이다. 보안 취약점을 줄이기 위해서 소프트웨어 개발 초기 단계에 수정하는 것이 가장 손쉽고 비용 효율성 측면에서 가장 좋기 때문에 이 시큐어 코딩 기법을 적용하고자 한다. <ref> Wisedog, 〈[http://story.wisedog.net/%EC%8B%9C%ED%81%90%EC%96%B4-%EC%BD%94%EB%94%A9%EC%9D%B4%EB%9E%80/ 시큐어 코딩이란?]〉, 《wisedog》, 2013-12-09</ref>
  
 
== 개요 ==
 
== 개요 ==
58번째 줄: 58번째 줄:
 
* 구조설계 단계 : 공격 저항 분석(Attack Resistance Analysis), 모호성 분석, 허점 분석 등을 통해 위험 요소를 분석한다.  
 
* 구조설계 단계 : 공격 저항 분석(Attack Resistance Analysis), 모호성 분석, 허점 분석 등을 통해 위험 요소를 분석한다.  
 
* 테스트 계획 단계 : 공격 패턴, 위험 분석 결과, 악용 사례를 기반으로 위험기반 보안 테스트를 수행한다.  
 
* 테스트 계획 단계 : 공격 패턴, 위험 분석 결과, 악용 사례를 기반으로 위험기반 보안 테스트를 수행한다.  
* 코드 단계 : 구현 오류에 중점을 두고 특히 소스 코드에 존재하는 취약성을 발견할 목적으로 수행되는 코드 정적 분석에 중심을 둔다.
+
* 코드 단계 : 구현 오휴에 중점을 두고 특히 소스 코드에 존재하는 취약성을 발견할 목적으로 수행되는 코드 정적 분석에 중심을 둔다.
 
* 테스트ㆍ테스트 결과 단계 : 위험 분석 및 침투 테스팅을 수행한다. 침투 시험을 통해 실제 작동 환경에서의 필드 소프트웨어에 대한 좋은 이해를 제공한다.  
 
* 테스트ㆍ테스트 결과 단계 : 위험 분석 및 침투 테스팅을 수행한다. 침투 시험을 통해 실제 작동 환경에서의 필드 소프트웨어에 대한 좋은 이해를 제공한다.  
 
* 현장과의 피드백 단계 : 보안 운영을 통해 얻은 공격자와 공격 도구에 대한 경험과 지식은 개발자에게 다시 피드백한다. <ref>〈[https://openeg.co.kr/585 '소프트웨어 개발보안 방법론' SECENT TOUCHPOINT]〉, 《openeg》, 2015-05-25</ref>
 
* 현장과의 피드백 단계 : 보안 운영을 통해 얻은 공격자와 공격 도구에 대한 경험과 지식은 개발자에게 다시 피드백한다. <ref>〈[https://openeg.co.kr/585 '소프트웨어 개발보안 방법론' SECENT TOUCHPOINT]〉, 《openeg》, 2015-05-25</ref>
  
 
=== CLASP(Comprehensive, Lightweight Application Security Process) ===
 
=== CLASP(Comprehensive, Lightweight Application Security Process) ===
소프트웨어 개발 생명주기 초기 단계에 보안 강화를 목적으로 하는 정형화된 프로세스로써, 활동 중심ㆍ역할 기반의 프로세스로 구성된 집합체이다.<ref name ="스틸스타크"></ref> CLASP는 보안 관련 활동을 기존 애플리케이션 개발 프로세스에 쉽게 통합할 수 있도록 설계되었다. 각 CLASP 활동은 개별 프로세스 구성 요소로 나누어지고 하나 이상의 특정 프로젝트 역할에 연결된다. CLASP는 이런 방식으로 프로젝트 참여자에게 자신의 업무수행 방식에 쉽게 적용할 수 있는 지침을 제공한다. 이로 인해 쉽게 성취되고 반복 가능하며 측정 가능한 보안이 점차 향상된다. <ref>〈[https://www.owasp.org/index.php/CLASP_Concepts CLASP 개념]〉, 《OWASP》</ref>
+
소프트웨어 개발 생명주기 초기 단계에 보안 강화를 목적으로 하는 정형화된 프로세스로써, 활동중심ㆍ역할 기반의 프로세스로 구성된 집합체이다.<ref name ="스틸스타크"></ref> CLASP는 보안 관련 활동을 기존 애플리케이션 개발 프로세스에 쉽게 통합할 수 있도록 설계되었다. 각 CLASP 활동은 개별 프로세스 구성 요소로 나누어지고 하나 이상의 특정 프로젝트 역할에 연결된다. CLASP는 이런 방식으로 프로젝트 참여자에게 자신의 업무 방식에 쉽게 적용할 수 있는 지침을 제공한다. 이로 인해 쉽게 성취되고 반복 가능하며 측정 가능한 보안이 점차 향상된다. <ref>〈[https://www.owasp.org/index.php/CLASP_Concepts CLASP 개념]〉, 《OWASP》</ref>
  
 
{{각주}}
 
{{각주}}
  
== 참고자료 ==
+
== 참고 자료 ==
 
* Wisedog, 〈[http://story.wisedog.net/%EC%8B%9C%ED%81%90%EC%96%B4-%EC%BD%94%EB%94%A9%EC%9D%B4%EB%9E%80/ 시큐어 코딩이란?]〉, 《wisedog》, 2013-12-09
 
* Wisedog, 〈[http://story.wisedog.net/%EC%8B%9C%ED%81%90%EC%96%B4-%EC%BD%94%EB%94%A9%EC%9D%B4%EB%9E%80/ 시큐어 코딩이란?]〉, 《wisedog》, 2013-12-09
 
* 스틸스타크, 〈[https://needjarvis.tistory.com/174 시큐어 코딩(SECURE CODING)]〉, 《티스토리》, 2017-05-02
 
* 스틸스타크, 〈[https://needjarvis.tistory.com/174 시큐어 코딩(SECURE CODING)]〉, 《티스토리》, 2017-05-02
81번째 줄: 81번째 줄:
  
 
{{보안|검토 필요}}
 
{{보안|검토 필요}}
{{프로그래밍}}
 

위키원에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 위키원:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)