본문 바로가기
728x90
728x90

CS35

소프트웨어 개발 보안을 위한 공격기법 개념 소프트웨어 개발 보안을 위한 공격기법 개념 소프트웨어 개발 보안은 소스 코드 등에 존재하는 보안 취약점을 제거하고, 보안을 고려하여 기능을 설계 및 구현하는 등 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동이다. 소프트웨어 개발 보안의 3대 요소 기밀성(Confidentiality) : 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성 무결성(Integrity) : 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성 가용성(Availability) : 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장하는 특성 소프트웨어 개발 보안 용어.. 2023. 4. 9.
공통 모듈 구현 공통 모듈 구현 모듈은 그 자체로 하나의 완전한 기능을 수행할 수 있는 독립된 실체이다. 모듈화는 소프트웨어의 성능을 향상시키거나 복잡한 시스템의 수정, 재사용, 유지 관리 등이 용이하도록 기능 단위의 모듈로 분해나는 설계 및 구현 기법 모듈화 기법 루틴(Routine) : 소프트웨어에서 특정 동작을 수행하는 일련의 코드로 기능을 가진 명령들의 모임 메인 루틴(Main Routine) : 전체의 개략적인 동작 절차를 표시하도록 만들어진 루틴 서브 루틴(Subroutine) : 메인 루틴에 의해 필요할 때마다 호출되는 루틴 소프트웨어 모듈 응집도 응집도는 모듈의 독립성을 나타내는 정도로 모듈 내부 구성요소 간 연관 정도이다. 하나의 모듈이 하나의 기능을 수행할수록 응집도가 높다. 응집도의 유형 우연적 응집.. 2023. 4. 8.
개발환경 구축 개발환경 구축 개발 도구의 분류 빌드 도구 : 작성한 코드의 빌드 및 배포를 수행하는 도구 구현 도구 : 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구 테스트 도구 : 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구 형상 관리 도구 : 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구 하드웨어 개발환경 서버 하드웨어 개발환경 웹서버 : 웹 상의 정적 콘텐츠를 처리 웹 애플리케이션 서버 : 동적 콘텐츠를 처리 데이터베이스 서버 : 데이터의 수집, 저장 파일 서버 : 물리 저장장치를 활용한 서버 클라이언트 하드웨어 개발환경 클라이언트 프로그램 : 설치를 통해 사용자와 커뮤니케이션 하는 프로그램 웹 브라우저 : 웹 서비스 형태로 서버에서 웹 애플리케이션.. 2023. 4. 8.
쿼리 성능 개선과 옵티마이저 쿼리 성능 개선과 옵티마이저 쿼리 성능 개선의 개념 데이터베이스에서 프로시저에 있는 SQL 실행 계획을 분석, 수정을 통해 최소의 시간으로 원하는 결과를 얻도록 프로시저를 수정하는 작업 쿼리 성능 개선 절차 문제 있는 SQL 식별 옵티마이저 통계 확인 SQL문 재구성 인덱스 재구성 실행계획 유지관리 옵티마이저의 개념 SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해주는 DBMS 내부의 핵심엔진 옵티마이저가 생성한 SQL 처리경로를 실행계획(Execution Plan)이라고 부른다. 옵티마이저의 유형 규칙기반 옵티마이저(RBO) : 통계 정보가 없는 상태에서 사전 등록된 규칙에 따라 질의 실행 계획을 선택하는 옵티마이저 비용기반 옵티마이저(CBO) : 통계 정보로부터 모든 접근 경로를 고려한.. 2023. 4. 7.
728x90
728x90