본문 바로가기
728x90
728x90

전체 글153

소프트웨어 테스트 원리와 테스트 유형 소프트웨어 테스트 원리와 테스트 유형 소프트웨어 테스트 원리 완벽 테스팅은 불가능 : 완벽한 테스팅 시도는 불필요한 시간과 자원 낭비 초기 집중 : 초기 테스트 설계시 테스팅결과를 단시간에 알 수 있고 테스팅 기간 단축, 개발 기간 단축 및 결함 예방 결함 집중 : 적은 수의 모듈에서 대다수의 결함이 발견됨 살충제 패러독스 : 동일한 테스트 케이스에 의한 반복적 테스트는 새로운 버그를 찾지 못함 정황 의존성 : 소프트웨어의 성격에 맞게 테스트 실시 오류-부재의 궤변 : 요구사항을 충족시켜주지 못한다면 결함이 없다고 해도 품질이 높다고 볼 수 없음 소프트웨어 테스트 프로세스 테스트 계획 테스트 분석 및 디자인 테스트 케이스 및 시나리오 작성 테스트 수행 테스트 결과 평가 및 리포팅 소프트웨어 테스트 산출물.. 2023. 4. 10.
시큐어 코딩 가이드 시큐어 코딩 가이드 설계 및 구현 단계에서 해킹 등의 공격을 유발할 가능성이 있는 잠재적인 보안 취약점을 사전에 제거하고 외부 공격으로부터 안전한 소포트웨어를 개발하는 기법 입력데이터 검증 및 표현 입력 데이터로 인해 발생하는 문제들을 예방하기 위해 구현 단계에서 검증해아 하는 보안 점검 항목들 입력데이터 검증 및 표현 취약점 XSS(Cross Site Script) 검증되지 않은 외부 입력 데이터가 포함된 웹페이지가 전송되는 경우, 사용자가 해당 웹페이지를 열람함으로써 웹페이지에 포함된 부적절한 스크립트기 실행 되는 공격 Stored XSS : 방문자들이 악성 스크립트가 포함된 페이지를 읽어 봄과 동시에 악성 스크립트가 브라우저에서 실행되면서 감염되는 기법 Reflected XSS : 공격용 악성 UR.. 2023. 4. 9.
암호 알고리즘과 데이터 암호화 전송 암호 알고리즘과 데이터 암호화 전송 암호 알고리즘은 데이터의 무결성 및 기밀성 확보를 위해 정보를 쉽게 해독할 수 없는 형태로 변환하는 기법이다. 양방향 암호 알고리즘 대칭 키 암호 방식 암호화와 복호화에 같은 암호 키를 사용하는 알고리즘 블록 암호 방식 : 긴 평문을 암호화하기 위해 고정 길이의 블록을 암호화하는 블록 암호 알고리즘을 반복 스트림 암호 방식 :매우 긴 주기의 난수열을 발생시켜 평문과 더불어 암호문을 생성하는 방식 비대칭 키 암호 방식(= 공개키 암호 방식) 사전에 개인 키를 나눠 가지지 않은 사용자들이 안전하게 통신하는 방식 일방향 암호(해시 암호) 알고리즘 임의 길이의 정보를 입력받아 고정된 길이의 암호문을 출력하는 암호 방식 해시 암호화 알고리즘이 적용된 정보는 복호화가 불가능 MA.. 2023. 4. 9.
서버 인증 및 접근 통제 서버 인증 및 접근 통제 서버인증은 다중 사용자 시스템과 망 운영 시스템에서 접속자의 로그인 정보를 확인하는 보안 절차이다. 인증 기술의 유형 지식기반 인증 : 사용자가 기억하고 있는 지식 소지기반 인증 : 소지하고 있는 사용자 물품 생체기반 인증 : 고유한 사용자의 생체 정보 특징기반 인증 : 사용자의 특징을 활용 서버 접근 통제 사람 또는 프로세스가 서버 내 파일에 읽기, 쓰기, 실행 등의 접근 여부를 허가하거나 거부하는 기능 접근 통제 기법 식별(Identification) : 자신이 누구라고 시스템에 밝히는 행위 인증(Authentication) : 주체의 신원을 검증하기 위한 활동 인가(Authorization) : 인증된 주체에게 접근을 허용하는 활동 책임추적성(Accountability) :.. 2023. 4. 9.
소프트웨어 개발 보안을 위한 공격기법 개념 소프트웨어 개발 보안을 위한 공격기법 개념 소프트웨어 개발 보안은 소스 코드 등에 존재하는 보안 취약점을 제거하고, 보안을 고려하여 기능을 설계 및 구현하는 등 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동이다. 소프트웨어 개발 보안의 3대 요소 기밀성(Confidentiality) : 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성 무결성(Integrity) : 정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성 가용성(Availability) : 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용할 수 있도록 보장하는 특성 소프트웨어 개발 보안 용어.. 2023. 4. 9.
공통 모듈 구현 공통 모듈 구현 모듈은 그 자체로 하나의 완전한 기능을 수행할 수 있는 독립된 실체이다. 모듈화는 소프트웨어의 성능을 향상시키거나 복잡한 시스템의 수정, 재사용, 유지 관리 등이 용이하도록 기능 단위의 모듈로 분해나는 설계 및 구현 기법 모듈화 기법 루틴(Routine) : 소프트웨어에서 특정 동작을 수행하는 일련의 코드로 기능을 가진 명령들의 모임 메인 루틴(Main Routine) : 전체의 개략적인 동작 절차를 표시하도록 만들어진 루틴 서브 루틴(Subroutine) : 메인 루틴에 의해 필요할 때마다 호출되는 루틴 소프트웨어 모듈 응집도 응집도는 모듈의 독립성을 나타내는 정도로 모듈 내부 구성요소 간 연관 정도이다. 하나의 모듈이 하나의 기능을 수행할수록 응집도가 높다. 응집도의 유형 우연적 응집.. 2023. 4. 8.
728x90
728x90