정보처리기사/실기 (9) 썸네일형 리스트형 서비스 공격 유형 1. 서비스 거부(DoS; Denial of Service) 공격 표적이 되는 서버의 자원을 고갈시킬 목적으로 다수의 공격자 또는 시스템에서 대량의 데이터를 한 곳의 서버에 집중적으로 전송 표적이 되는 서버의 정상적인 기능을 방해하는 것 Ping of Death(죽음의 핑) - 프로토콜 허용 범위 이상 전송 Ping명령을 전송할 때 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 공격 대상의 네트워크를 마비시키는 서비스 거부 공격 방법 공격 대상은 분할된 대량의 패킷을 수신함으로써 분할되더 전송된 패킷을 재조립해야 하는 부담과 분할되더 전송된 각각의 패킷들의 ICMP Ping 메시지에 대한 응답을 처리하느라 시스템이 다운되게 된다. SMURFING(스머핑) - IP나 ICMP 특성 악용, 엄청.. 애플리케이션 테스트 03 [개발 단계에 따른 애플리케이션 테스트] 개발 단계에 따른 애플리케이션 테스트 포스트웨어의 개발 단계에 따라 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트로 분류된다. 애플리케이션 테스트와 소프트웨어 개발 단계를 연결하여 표현한 것을 V-모델이라고 한다. 소프트웨어 개발 단계 : 요구사항 - 분석 - 설계 - 구현 테스트 단계 : 단위 테스트 - 통합 테스트 - 시스템 테스트 - 인수 테스트 1. 단위 테스트(Unit Test) - 코딩 직후 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트하는 것 - 인터페이스, 외부적 I/O, 자료 구조, 독립적 기초 경로, 오류 처리 경로, 경계 조건 등을 검사 - 사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선 - 구조 기반 .. 애플리케이션 테스트 02 [테스트 기법에 따른 애플리케이션 테스트] 1. 화이트박스 테스트(White Box Test) 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 바업 모듈 안의 작동을 직접 관찰한다. 원시 코드의 모든 문장을 한 번 이상 실행함으로써 수행한다. 1) 종류 - 기초 경로 검사 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법 대표적인 화이트 박스 테스트 기법 - 제어 구조 검사 조건 검사(논리적 조건) 프로그램 모듈 내에 있는 논리적 조건을 테스트하는 테스트 케이스 설계 기법 루프검사(반복 구조) 프로그램의 반복 구조에 초점을 맞춰 실시하는 테스트 케이스 설계 기법 데이터 흐름 검사(변수의 정의와 사용 위치) .. 애플리케이션 테스트 01 [애플리케이션 테스트 기본원리와 테스트 분류] 1. 애플리케이션 테스트 애플리케이션에 잠재더외ㅓ 있는 갸ㅕㄹ함을 찬아내는 일련의 해우이 또는 절차 개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인하고 소프트웨어가 기능을 정확히 수행하는지 검증한다. 2. 기본 원리 1) 완벽한 테스트 불가능 소프트웨어의 잠재적인 결함을 줄일 수 있지만 소프트웨어에 결함이 없다고 증명할 수는 없다. 2) 파레토 법칙 애플리케이션의 20%에 해당하는 코드에서 전체 결함의 80%가 발견된다는 법칙 3) 살충제 패러독스 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상 4) 테스팅은 정황의존 소프트웨어의 특징, 테스트 환경, 테스터의 역량 등 정황(Context)에 따라 테스트 결과가 달라.. 디자인 패턴 [디자인 패턴] 모듈 간의 관계 및 인터페이스를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제를 의미 문제 및 배경, 실제 적용된 사례, 재사용이 가능한 샘플코드 등으로 구성 ** 개발 과정 중에 문제가 발생하면 새로 해결책을 구상하는 것보다 문제에 해당하는 디자인 패턴을 참고하여 적용하는 것이 더 효율적 1. 생성 패턴 클래스나 객체의 생성과 참조 과정을 정의하는 패턴 1) 추상 팩토리(Abstract Factory) - 추상, 서브클래스 한 번에 교체 구체적은 클래스에 의존하지 않고, 인터페이스를 통해 서로 연관 및 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현 연관된 서브 클래스를 묶어 한 번에 교체하는 것이 가능 2) 빌더(Builder) - 분리, 인스턴스를 조합 작게 분리된 인.. 관계형 데이터베이스의 관계대수 [관게형 데이터베이스의 관계대수] 관계대수 - 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해 어떻게 유도하는가를 기술하는 절차적인 언어 - 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하며, 피연산자와 연산 결과가 모두 릴레이션이다. 1. 순수 관계 연산자 1) Select 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만드는 연산 행에 해당하는 튜플을 구하는 것이므로 수평 연산이라고도 한다. 기호는 시그마(σ) 2) Project 주어진 릴레이션에서 속성 리스트에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만드는 연산 연산 결과에 중복이 발생하면 중복 제거 릴레이션의 열에 해당하는 속성을 추출하는 것이므로 수직 연산이라고도 한다... 요구사항 정의 ✔️ 현행 시스템 파악 ➰ 1단계 시스템 구성 파악 : 조직의 주요 업무를 담당하는 기간 업무와 이를 지원하는 지원 업무로 구분하여 기술 시스템 기능 파악 : 현재 제공하는 기능들을 주요 기능과 하부 기능, 세부 기능으로 구분하여 계층형으로 표시함 시스템 인터페이스 파악 : 단위 업무 시스템 간에 주고받는 데이터의 종류, 형식, 프로토콜, 연계 유형, 주기 등을 명시함. ➰ 2단계 아키텍처 구성 파악 : 최상위 수준에서 계층별로 표현한 아키텍처 구성도를 작성함. 소프트웨어 구성 파악 : 소프트웨어들의 제품명 용도, 라이선스 적용 방식, 라이선스 수 등을 명시함 ➰ 3단계 하드웨어 구성 파악 : 단위 업무 시스템들이 운용되는 서버의 주요 사양과 수량, 그리고 서버의 이중화 적용 여부를 명시함 네트워크 구성.. 소프트웨어 생명 주기 소프트웨어 생명주기(Software Life Cycle) 소프트웨어 개발을 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나눈 것 소프트웨어 생명 주기는 소프트웨어 개발 단계와 각 단계별 주요 활동, 그리고 활동의 결과에 대한 산출물로 표현 ✔️ 폭포수 모형(선형 모형) 이전 단계로 돌아갈 수 없다는 전제하에 각 단계를 확실히 매듭짓고 그 결과를 철저하게 검토하여 승인 과정을 거친 후에 다음 단계를 진행하는 개발 방법론 가장 오래되고 가장 폭넓게 사용된 전통적인 소프트웨어 생명 주기 모형 고전적 생명 주기 모형 각 단계가 끝난 후에는 다음 단계를 수행하기 위한 결과물이 명확하게 산출되어야 함 사용자의 요구를 정확하게 파악할 필요가 있다. ✔️ 프로토타입 모형(원형 모형) 사용자의 요구사항을 파악하.. 이전 1 2 다음