전체 글104 Chapter 02. 소프트웨어 개발 보안 구현 1. 시큐어 코딩 가이드 (입보시 엡코캡아) 입력데이터 검증 및 표현 프로그램 입력값에 대한 검증 누락/부적절한 검증, 잘못된 형식 지정 보안기능 보안 기능(인증, 접근 제어, 기밀성, 암호화 권한 관리 등)의 부적절한 구현 취약점 적절한 인증 없이 중요 기능 허용 부적절한 인가 취약한 암호화 알고리즘 사용 중요 정보 평문 저장 및 전송 하드 코드 된 비밀번호 시간 및 상태 거의 동시에 수행 지원하는 병렬 시스템 또는 하나 이상의 프로세스가 동작하는 환경에서 시간 및 상태의 부적절한 관리 에러 처리 에러 미처리, 불충분한 처리 등으로 에러 메시지에 중요정보 포함 취약점 취약한 패스워드 요구 조건 오류 메시지 통한 정보 노출 오류 상황 대응 부재 적절하지 않은 예외처리 코드 오류 개발자가 범할 수 있는 코.. 2021. 9. 27. Chapter 01. 소프트웨어 개발 보안 설계 1. 소프트웨어 개발 보안 생명주기 요구사항 명세 설계 구현 테스트 유지보수 2. SW 개발 보안의 3요소 (기무가) 기밀성 (Confideniality) 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성 무결성 (Integrity) 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/ 악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성 가용성 (Availability) 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장하는 특성 3. SW 개발 보안 용어 (자위취위) 자산 (Assets) 조직의 데이터 또는 조직의 소유자가 가치를 부여한 대상 위협 (Threat) .. 2021. 9. 26. Chapter 04. 배치 프로그램 구현 1. 배치 프로그램 (Batch Program) 배치 프로그램은 사용자와의 상호작용 없이 일련의 작업들을 작업 단위로 묶어 정기적으로 반복 수행하거나 정해진 규칙에 따라 일괄 처리하는 방법 2. 배치 프로그램 유형 (이온정) 이벤트 배치 : 사전에 정의해 둔 조건 충족 시 자동으로 실행 온디맨드 배치 : 사용자의 명시적 요구가 있을 때마다 실행 정기 배치 : 정해진 시점에 정기적으로 실행 3. 배치 스케줄러 배치 스케줄러는 일괄 처리(Batch Program)를 위ㅐ 주기적으로 발생하거나 반복적으로 발생하는 작업을 지원하는 도구 스피링 배치 (Spring Batch) 스프링 프래임 워크의 DI, AOP, 서비스 추상화 등 스프링 프레임워크의 3대 요소를 모두 사용할 수 있는 대용량 처리를 제공하는 스케줄.. 2021. 9. 26. Chapter 03. 서버 프로그램 구현 1. 서버 프로그램 구현 절차 (디스 다써클) DTO/VO 구현 SQL 구현 DAO 구현 Service 구현 Controller 구현 2021. 9. 26. Chapter 02. 공통 모듈 구현 1. 모듈의 특징 각각의 모듈은 상대적으로 독립성을 가짐 모듈 내부에는 그 모듈을 하나로 통합하는 수많은 조합이 존재할 수 있음 모듈은 단독으로 컴파일 할 수 있으며, 재사용 가능 독립성이 높은 모듈 일수록 모듈 수정 시에도 다른 모듈들에는 영향을 거의 미치지 않고, 오류 발생 시에도 쉽게 해결 가능 모듈의 독립성은 결합도와 응집도에 의해 측정되며, 독립성을 높이려면 도율의 결합도는 약학ㅔ, 응집도는 강하게, 모듈의 크기는 작게 만들어야 함 2. 모듈화 기법 루틴 (Routine) : 소프트웨어에서 특정 동작을 수행하는 일련의 코드로 기능을 가진 명령들의 모임 메인 루틴 (Main Routine) : 전체의 개략적인 동작 절차를 표시하도록 만들어진 루틴, 서브루틴 호출 서브 루틴(Subroutine) :.. 2021. 9. 26. Chapter 01. 개발 환경 구축 1. 개발 도구 분류 (빌구테형) 빌드 도구 작성한 코드의 빌드 및 배포를 수행하는 도구 각각의 구성요소와 모듈에 대한 의존성 관리를 지원 구현 도구 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구 프로그램을 개발할 때 가장 많이 사용되는 도구 테스트 도구 코드의 기능 검증과 전체의 품질을 높이기 위해 사용되는 도구 코드의 테스트, 테스트에 대한 게획, 수행 및 분석 등의 작업 가능 형상 관리 도구 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구 프로젝트 진행 시 필수로 포함되는 도구 2. 서버 하드웨어 개발 환경 웹 서버 HTTP를 이용한 요청/응답 처리 웹 상의 정적 콘텐츠(CSS, Javascript, Image) 처리 WEB-WAS-DB 계층 구조를 실.. 2021. 9. 26. 이전 1 ··· 3 4 5 6 7 8 9 ··· 18 다음 728x90 반응형