소프트웨어 보안성 관리를 위한 시큐어 코딩 프로세스와 방법에 관한 연구
- Abstract
- 소프트웨어 개발 수명주기(SDLC)의 각 단계에서 보안 취약점을 제거할 수 있는 방안으로 시큐어 코딩을 접목하는 프로세스와 방법을 연구 하였다.
요구사항 수집 단계에서는 정보시스템 담당자와 최고 경영자의 보안 요구사항을 포함하여 개인정보보호법에 준하는 개인정보를 수집하여야 한다.
분석 단계에서는 선택된 프로그래밍언어에 대한 알려진 위험을 분석하여 적용하여야 하고 알려지지 않은 위협은 결함트리분석(FTA)을 통하여 소프트웨어에 대한 위협을 분석하는 것이 중요하다.
소프트웨어를 작은 단위로 분할하여 복잡성을 줄이고 컴포넌트간의 인터페이스를 간략히 하며 안전성 요구사항을 추적할 수 있는 문서를 작성하고 관리하여 지속적으로 소프트웨어의 안전성을 높여야 한다.
애플리케이션 서버에는 적절할 접근 권한 및 통제를 구현하여야 하며 인터페이스에서는 클라이언트와 서버간의 송.수신되는 데이터의 보안성과 안전성을 고려한 인터페이스 설계가 되어야 한다.
모든 비즈니스 로직이 구현되는 애플리케이션 서버(미들웨어)에서는 이미 알려져 있는 통신포트는 사용하지 않으며, 프로시저 메쏘드 호출하여 데이터를 처리할 수 있도록 하고 전송되는 모든 데이터는 암호화를 빈틈없이 설계하고 구현하여야 한다.
프로시저 메쏘드의 첫 부분에서 사용자의 정보와 요청되는 데이터를 분석하여 로그를 기록하는 것이 중요하며 로그인된 사용자인지 세션이 종료되었는지의 정보도 함께 기록한다. 비정상적인 사용 상황에서는 알람을 제공하여 실시간으로 관리자가 확인이 가능하도록 하여 해당 프로시저가 악의적인 사용자로부터 공격을 받았는지 지속적으로 모니터링을 한다.
테스트 단계는 입력, 출력, 기능 및 성능 그리고 스트레스 테스트도 중요하지만 소프트웨어의 보안성과 안전성 테스트에 많은 역량을 투입하여 실시하여야 안전한 소프트웨어가 될 수 있다.
본 논문에서 제시한 프로세스와 방법을 정보시스템 구축 프로젝트에 접목을 하면 소프트웨어의 보안성과 안전성을 확보할 수 있다.
- Author(s)
- 정명규
- Issued Date
- 2015
- Awarded Date
- 2015. 2
- Type
- Dissertation
- Publisher
- 부경대학교
- URI
- https://repository.pknu.ac.kr:8443/handle/2021.oak/12083
http://pknu.dcollection.net/jsp/common/DcLoOrgPer.jsp?sItemId=000001967702
- Affiliation
- 부경대학교
- Department
- 대학원 정보시스템협동과정
- Advisor
- 박만곤
- Table Of Contents
- I. 서론 1
1.1 연구의 배경 1
1.2 연구의 필요성 4
1.3 연구의 목적 및 기대효과 6
II. 관련 연구 8
2.1 소프트웨어 보안 취약점에 대한 국.내외 현황 8
2.1.1 한국의 제도 8
2.1.2 미국의 제도 16
2.2 보안성 중요 정보시스템(Security-Critical Systems) 18
2.2.1 보안성 중요 정보시스템 개념 18
2.2.2 보안성 중요 정보시스템의 유저 케이스 기반 모델링 18
2.3 소프트웨어 보안성 및 안전성 관리 20
2.3.1 소프트웨어 보안성 20
2.3.2 소프트웨어 안전성 23
2.4 시큐어 코딩 30
2.4.1 시큐어 코딩 개념 30
2.4.2 시큐어 코딩 진단도구 35
III. 시큐어 코딩 프로세스 38
3.1 보안성 관리를 고려한 소프트웨어 개발 프로세스 모델 38
3.1.1 폭포수 모델 39
3.1.2 프로토타이핑 모델 40
3.1.3 나선형 모델 42
3.1.4 컴포넌트 기반 개발모형 43
3.2 보안성 요구사항 수집 및 분석 프로세스 45
3.3 프로그래밍 방법 및 테스팅 프로세스 52
3.3.1 프로그래밍 방법 52
3.3.2 테스팅 프로세스 55
3.4 시큐어 코딩 프로세스 58
3.4.1 개발 언어에 따른 시큐어 코딩 58
3.4.2 제안 시큐어 코딩 프로세스 58
3.4.3 시큐어 코딩 프로세스의 고려사항 60
IV. 시큐어 코딩 방법 65
4.1 구축 시스템의 유형 65
4.1.1 3-티어 시스템(3-Tier System) 65
4.1.2 N-티어 시스템(N-Tier System) 66
4.2 시큐어 코딩을 위한 방안 68
4.2.1 보안성 중요 시스템의 정의 단계 68
4.2.2 보안성 중요 시스템의 개발 단계 86
4.2.3 보안성 중요 시스템의 유지보수 단계 93
V. 결론 및 향후 과제 98
참고문헌 102
- Degree
- Doctor
-
Appears in Collections:
- 대학원 > 정보시스템협동과정
- Authorize & License
-
- Files in This Item:
-
Items in Repository are protected by copyright, with all rights reserved, unless otherwise indicated.