1. 개발 기술 환경의 정의개발하고자 하는 소프트웨어와 관련된 운영체제, 데이터베이스 관리시스템, 미들웨어 등을 선정할 때 고려해야 할 사항을 기술하고, 오픈 소스 사용 시 주의해야 할 내용을 제시미들웨어 (Middle Ware) : 운영체제와 해당 운영체제에 의해 실행되는 응용 프로그램 사이에서 운영체제가 제공하는 서비스 이외에 추가적인 서비스를 제공하는 소프트웨어2. 운영체제 Operating System (OS)컴퓨터 시스템의 자원들을 효율적으로 관리사용자가 컴퓨터를 편리하고 효율적으로 사용할 수 있도록 환경을 제공하는 소프트웨어컴퓨터 운영체제의 종류에는 Windows, UNIX, Linux, Mac OS 등이, 모바일 운영체제에는 iOS, Android 등이 있음자원 : 시스템에서 사용할 수 있는..
1. 스크럼의 개요팀이 중심이 되어 개발의 효율성을 높인다는 의미가 내포된 용어팀원 스스로가 스크럼 팀을 구성(self-organizing)해야 하며, 개발 작업에 관한 모든 것을 스스로 해결(cross-functional)할 수 있어야 함스크럼 팀의 구성 : 제품 책임자, 스크럼 마스터, 개발팀제품 책임자 Product Owner (PO)개발 의뢰자나 사용자가 담당이해관계자들 중 개발될 제품에 대한 이해도가 높고, 요구사항을 책임지고 의사 결정할 사람으로 선정이해관계자 : 소프트웨어 개발과 관련해서 이해 관계자는 소프트웨어 개발 의뢰자, 소프트웨어 개발자, 소프트웨어 사용자 등이해관계자들의 의견을 종합하여 제품에 대한 요구사항을 작성하는 주체요구사항이 담긴 백로그를 작성하고 백로그에 대한 우선순위를 지..
1. 소프트웨어 생명 주기 Software Life Cycle소프트웨어 수명 주기소프트웨어 개발 방법론의 바탕이 되는 것소프트웨어 개발 방법론 : 소프트웨어 개발과 유지보수 등에 필요한 여러 가지 작업들의 수행 방법과 작업들을 좀 더 효율적으로 수행하기 위해 필요한 각종 기법 및 도구를 체계적으로 정리하여 표준화한 것소프트웨어를 개발하기 위해 정의하고 운용, 유지보수 등의 과정을 각 단계별로 나눈 것소프트웨어 개발 단계, 각 단계별 주요 활동, 활동의 결과에 대한 산출물로 표현소프트웨어 생명 주기 모형 : 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형소프트웨어 공학소프트웨어 공학의 개념소프트웨어의 위기를 극복하기 위한 방안으로 연구된 학문여러 가지 방법론과 도구, 관리 기법들을 통하여 소프트..
1. 보안 기능의 개요소프트웨어 개발의 구현 단계에서 코딩하는 기능인증, 접근제어, 기밀성, 암호화 등을 올바르게 구현하기 위한 보안 점검 항목들각 보안 기능들은 서비스 환경이나 취급 데이터에 맞게 처리될 수 있도록 구현해야 함소프트웨어의 기능 또는 데이터에 접근하려는 사용자별로 중요도를 구분하고, 차별화된 인증 방안을 적용인증된 사용자가 이용할 기능과 데이터에 대해 개별적으로 접근 권한을 부여하여 인가되지 않은 기능과 데이터로의 접근을 차단개인정보나 인증정보와 같은 중요한 정보의 변조, 삭제, 오남용 등을 방지하기 위해 안전한 암호화 기술을 적용2. 보안 기능의 보안 약점적절한 인증 없이 중요기능 허용보안검사를 우회하여 인증과정 없이 중요한 정보 또는 기능에 접근 및 변경이 가능중요정보나 기능을 수행하..
1. 입력 데이터 검증 및 표현의 개요입력 데이터로 인해 발생하는 문제들을 예방하기 위해 구현 단계에서 검증해야 하는 보안 점검 항목들입력 데이터로 인해 발생하는 문제를 예방하기 위해서는 소프트웨어 개발의 구현 단계에서 2. 입력 데이터 검증 및 표현의 보안 약점입력 데이터 검증 및 표현과 관련된 점검을 수행하지 않은 경우 SQL 삽입, 자원 삽입, 크로스사이트 스크립팅, 운영체제 명령어 삽입 등의 공격에 취약해짐보안 약점의 종류SQL 삽입웹 응용 프로그램에서 SQL을 삽입하여 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회하는 보안 약점동적 쿼리에 사용되는 입력 데이터에 예약어 및 특수문자가 입력되지 않게 필터링 되도록 설정하여 방지할 수 있음동적 쿼리 : 질의어 코드를 ..
1. 세션 통제의 개요서버와 클라이언트의 연결을 의미하고, 세션 통제는 세션의 연결과 연결로 인해 발생하는 정보를 관리하는 것을 의미세션 통제는 소프트웨어 개발 과정 중 요구사항 분석 및 설계 단계에서 진단해야하는 보안 점검 내용세션 통제의 보안 약점에는 불충분한 세션 관리, 잘못된 세션에 의한 정보 노출이 있음2. 불충분한 세션 관리일정한 규칙이 존재하는 세션ID가 발급되거나 타임아웃이 너무 길게 설정되어 있는 경우 발생할 수 있는 보안 약점세션 관리가 충분하지 않으면 침입자는 세션 하이재킹과 같은 공격을 통해 획득한 세션ID로 인가되지 않은 시스템의 기능을 이용하거나 중요한 정보에 접근할 수 있음세션ID : 서버가 클라이언트들을 구분하기 위해 부여하는 키(Key), 클라이언트가 서버에 요청을 보낼 때..