본문 바로가기

ETC/자격증

[정보처리기사실기]용어 정리 4

반응형

- 세션 통제(Session Control)
다른 세션 간 데이터 공유 등 세션과 관련되어 발생할 수 있는 취약점을 예방하기 위한 보안 점검 항목들

 

- 널 포인터 역참조

일반적으로 그 객체가 Null이 될 수 없다'라고 하는 가정을 위반했을 때 발생

 

- 정수를 문자로 변환

정수를 문자로 변환하면서 표현할 수 없는 범위의 값이 잘려나가 문자에 대한 저장 값이 올바르지 않은 보안 취약점

 

- 부적절한 자원 해제

힙 메모리, 소켓 등 프로그램 자원 사용 후, 프로그램 오류로 인해 종료된 자원을 반환하지 못했을 때 발생할 수 있는 보안 취약점

 

- 초기화되지 않은 변수 사용

초기화되지 않은 변수 사용은 변수 선언 후 값이 부여되지 않은 변수를 사용할 때 발생할 수 있는 보안 취약점

 

- 웹 방화벽(WAF; Web Application Firewall)
일반적인 네트워크 방화벽과는 달리 웹 애플리케이션 보완에 특화된 보안장비

 

- 네트워크 접근 제어(NAC; Network Access Control)
단말기가 내부 네트워크에접속을 시도할 때 이를 제어하고 통제하는 기능을 제공하는 솔루션

 

- 침입 탐지 시스템(IDS; Intrusion Detection System)
네트워크에서 발생하는 이벤트를 모니터링하고 비인가 사용자에 의한 자원접근과 보안정책 위반 행위를 실시간으로 탐지하는 시스템

 

- 침입 방지 시스템(IPS; Intrusion Prevention System)
네트워크에 대한 공격이나 침입을 실시간적으로 차단하고, 유해트래픽에 대한 조치를 능동적으로 처리하는 시스템

 

무선 침입 방지 시스템(WIPS; Wireless Intrusion Prevention System)
인가되지 않은 무선 단말기의 접속을 자동으로 탐지 및 차단하고 보안에 취약한 무선 공유기를 탐지하는 시스템

 

통합 보안 시스템(UTM; Unified Threat Management)
방화벽, 침입 탐지 시스템(IDS), 침입 방지 시스템(IPS), VPN, 안티 바이러스, 이메일 필터링 등 다양한 보안 장비의 기능을 하나의 장비로 통합하여 제공하는 시스템

 

- 가상사설망(VPN; Virtual Private Network)
인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 활용하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션

 

- 데이터 유출 방지(DLP; Data Loss Prevention)
조직 내부의 중요 자료가 외부로 빠져나가는 것을 탐지하고 차단하는 솔루션

 

- 디지털 저작권 관리(DRM; Digital Right Management)
디지털 저작물에 대한 보호와 관리를 위한 솔루션

 

- 테스트 계획서(Test Plan)
테스트 목적과 범위 정의, 대상 시스템 구조 파악, 테스트 수행 절차, 테스트 일정, 조직의 역할 및 책임 정의, 종료 조건 정의 등 테스트 수행을 계획한 문서

 

- 테스트 베이시스(Test Basis)
분석, 설계 단계의 논리적인 Case로 테스트 설계를 위한 기준이 되는 문서

 

- 테스트 케이스(Test Case)
테스트를 위한 설계 산출물로, 응용 소프트웨어가 사용자의 요구사항을 준수하는지 확인하기 위해 설계된 입력값, 실행 조건, 기대 결과로 구성된 테스트 항목의 명세서

 

- 테스트 슈트(Test Suites)
테스트 케이스를 실행환경에 따라 구분해 놓은 테스트 케이스의 집합

 

- 테스트 시나리오(Test Scenario)
애플리케이션의 테스트되어야 할 기능 및 특징, 테스트가 필요한 상황을 작성한 문서

 

- 테스트 스크립트(Test Script)
테스트 케이스의 실행 순서(절차)를 작성한 문서

 

- 테스트 결과서(Test Results)
테스트 결과를 정리한 문서로 테스트 프로세스를 리뷰하고, 테스트 결과를 평가하고 리포팅하는 문서

 

- 정적 테스트

테스트 대상을 실행하지 않고 구조를 분석하여 논리성을 검증하는 테스트

 

- 구문 커버리지

프로그램 내의 모든 명령문을 적어도 한 번 수행하는 커버리지

 

- 결정 커버리지

각 분기의 결정 포인트 내의 전체 조건식이 적어도 한 번은 참과 거짓의 결과를 수행하는 테스트 커버리지

 

- 조건 커버리지

각 분기의 결정 포인트 내의 각 개별 조건식이 적어도 한 번은 참과 거짓의 결과가 되도록 수행하는 테스트 커버리지

 

- 조건/결정 커버리지

전체 조건식뿐만 아니라 개별 조건식도 참 한 번, 거짓 한 번 결과가 되도록 수행하는 테스트 커버리지

 

- 변경 조건/결정 커버리지

개별 조건식이 다른 개별 조건식에 영향을 받지 않고 전체 조건식에 독립적으로 영향을 주도록 함으로써 조건/결정 커버리지를 향상시킨 커버리지

 

- 다중 조건 커버리지

결정 조건 내 모든 개별 조건식의 모든 가능한 조합을 100% 보장하는 커버리지

- 기본 경로 커버리지

수행 가능한 모든 경로를 테스트하는 기법

 

- 제어 흐름 테스트

프로그램 제어 구조를 그래프 형태로 나타내어 내부 로직을 테스트하는 기법

 

- 데이터 흐름 테스트

제어 흐름 그래프에 데이터 사용현황을 추가한 그래프를 통해 테스트하는 기법

 

- 동등분할 테스트

입력 데이터의 영역을 유사한 도메인별로 유효값/무효값을 그룹핑하여 대푯값 테스트 케이스를 도출하여 테스트하는 기법

 

- 경곗값 분석 테스트

등가 분할 후 경곗값 부분에서 오류 발생 확률이 높기 때문에 경곗값을 포함하여 테스트 케이스를 설계하여 테스트하는 기법

 

- 결정 테이블 테스트

요구사항의 논리와 발생조건을 테이블 형태로 나열하여, 조건과 행위를 모두 조합하여 테스트하는 기법

 

- 상태 전이 테스트

테스트 대상·시스템이나 객체의 상태를 구분하고, 이벤트에 의해 어느 한 상태에서 다른 상태로 전이되는 경우의 수를 수행하는 테스트 기법

 

- 유스케이스 테스트

시스템이 실제 사용되는 유스케이스로 모델링되어 있을 때 프로세스 흐름을 기반으로 테스트 케이스를 명세화하여 수행하는 테스트 기법

 

- 분류 트리 테스트

SW의 일부 또는 전체를 트리 구조로 분석 및 표현하여 테스트 케이스를 설계하여 테스트하는 기법

 

- 페어와이즈 테스트
테스트 데이터값들 간에 최소한 한 번 씩을 조합하는 방식이며, 이는 커버해야 할 기능적 범위를 모든 조합에 비해 상대적으로 적은 양의 테스트 세트를 구성하기 위한 테스트 기법

 

- 원인-결과 그래프 테스트

그래프를 활용하여 입력 데이터 간의 관계 및 출력에 미치는 영향을 분석하여 효용성이 높은 테스트 케이스를 선정하여 테스트하는 기법

 

- 비교 테스트

여러 버전의 프로그램에 같은 입력값을 넣어서 동일한 결과 데이터가 나오는지 비교해 보는 테스트 기법

 

- 회복 테스트

시스템에 고의로 실패를 유도하고, 시스템의 정상적 복귀 여부를 테스트하는 기법

 

- 안전 테스트

불법적인 소프트웨어가 접근하여 시스템을 파괴하지 못하도록 소스 코드 내의 보안적인 결함을 미리 점검하는 테스트 기법

 

- 성능 테스트
사용자의 이벤트에 시스템이 응답하는 시간, 특정 시간 내에 처리하는 업무량, 사용자 요구에 시스템이 반응하는 속도 등을 측정하는 테스트 기법

 

- 구조 테스트

시스템의 내부 논리 경로, 소스 코드의 복잡도를 평가하는 테스트 기법

 

- 회귀 테스트

오류를 제거하거나 수정한 시스템에서 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지 확인하는 일종의 반복 테스트 기법

 

- 병행 테스트

변경된 시스템과 기존 시스템에 동일한 데이터를 입력 후 결과를 비교하는 테스트 기법

 

- 부하 테스트

시스템에 부하를 계속 증가시키면서 시스템의 임계점을 찾는 테스트

 

- 스트레스 테스트

시스템의 처리 능력 이상의 부하, 즉 임계점 이상의 부하를 가하여 비정상적인 상황에서의 처리를 테스트

 

- 스파이크 테스트

짧은 시간에 사용자가 몰릴 때 시스템의 반응 측정 테스트

 

- 내구성 테스트

오랜 시간 동안 시스템에 높은 부하를 가하여 시스템 반응 테스트

 

- 명세 기반 테스트(블랙박스 테스트)
프로그램의 요구사항 명세서를 기반으로 테스트 케이스를 선정하여 테스트하는 기법

 

- 구조 기반 테스트(화이트박스 테스트)
소프트웨어 내부 논리 흐름에 따라 테스트 케이스를 작성하고 확인하는 테스트 기법

 

- 경험 기반 테스트(블랙박스 테스트)
유사 소프트웨어나 유사 기술 평가에서 테스터의 경험을 토대로 한, 직관과 기술 능력을 기반으로 수행하는 테스트 기법

 

- 테스트 레벨

함께 편성되고 관리되는 테스트 활동의 그룹

 

- 사용자 인수 테스트

비즈니스 사용자가 시스템 사용의 적절성 여부 등을 확인하는 테스트

 

- 운영상의 인수 테스트

시스템 관리자가 시스템 인수 시 수행하는 테스트 활동으로 백업/복원 시스템, 재해 복구, 사용자 관리, 정기 점검 등을 확인하는 테스트

 

- 계약 인수 테스트

계약상의 인수/검수 조건을 준수하는지 여부 등을 확인하는 테스트

 

- 규정 인수 테스트

정부 지침, 법규, 규정 등이 규정에 맞게 개발되었는지 확인하는 테스트

 

- 알파 테스트

선택된 사용자(회사 내의 다른 사용자 또는 실제 사용자)가 개발자 환경에서 통제된 상태로 개발자와 함께 수행하는 인수 테스트

 

- 베타 테스트

실제 환경에서 일정 수의 사용자에게 대상 소프트웨어를 사용하게 하고 피드백을 받는 인수 테스트

 

- 테스트 오라클

테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법

 

- 참 오라클

모든 입력값에 대하여 기대하는 결과를 생성함으로써 발생된 오류를 모두 검출할 수 있는 오라클

 

- 샘플링 오라클

특정한 몇 개의 입력값에 대해서만 기대하는 결과를 제공해 주는 오라클

 

- 휴리스틱 오라클

특정 입력값에 대해 올바른 결과를 제공하고, 나머지 값들에 대해서는 추정으로 처리하는 오라클

 

- 일관성 검사 오라클

애플리케이션 변경이 있을 때, 수행 전과 후의 결괏값이 동일한지 확인하는 오라클

 

- 도메인(Domain)
하나의 속성이 가질 수 있는 원자값들의 집합

 

- 외부 스키마

사용자나 개발자의 관점에서 필요로 하는 데이터베이스의 논리적 구조, 서브 스키마로 불림

 

- 개념 스키마

데이터베이스의 전체적인 논리적 구조로, 개체 간의 관계, 제약조건, 접근 권한, 무결성, 보안에 대해 정의

 

- 내부 스키마
물리적 저장장치의 관점에서 보는 데이터베이스 구조로, 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 표현

 

- 순서 인덱스

데이터가 정렬된 순서로 생성되는 인덱스, B-Tree 알고리즘 활용(오름차순/내림차순 지정 가능)

 

- 해시 인덱스

해시 함수에 의해 직접 데이터에 키 값으로 접근하는 인덱스

 

- 비트맵 인덱스

각 컬럼에 적은 개수 값이 저장된 경우 선택하는 인덱스

 

- 함수기반 인덱스

수식이나 함수를 적용하여 만든 인덱스

 

- 단일 인덱스

하나의 컬럼으로만 구성한 인덱스

 

- 결합 인덱스

두 개 이상의 컬럼으로 구성한 인덱스

 

- 클러스터드 인덱스

기본 키(PK) 기준으로 레코드를 묶어서 저장하는 인덱스

 

- DDL 명령어
    - CREATE : 데이터베이스 오브젝트 생성
    - ALTER : 데이터베이스 오브젝트 변경
    - DROP : 데이터베이스 오브젝트 삭제
    - TRUNCATE : 데이터베이스 오브젝트 내용 삭제

 

- DML 명령어
    - SELECT : 테이블 내 컬럼에 저장된 데이터를 조회
    - INSERT : 테이블 내 컬럼에 데이터를 추가
    - UPDATE : 테이블 내 컬럼에 저장된 데이터를 수정
    - DELETE : 테이블 내 컬럼에 저장된 데이터를 삭제

 

- DCL 명령어
    - GRANT : 관리자가 사용자에게 데이터베이스에 대한 권한을 부여하는 명령어
    - REVOKE : 관리자가 사용자에게 부여했던 권한을 회수하기 위한 명령어

 

- TCL 명령어

    - COMMIT : 하나의 트랜잭션인 여러 DML(INSERT, DELETE 등) 명령어를 정상적으로 데이터베이스에 반영하겠다는 의미의 명령어

    - ROLLBACK : 잘못된 명령이나 잘못된 데이터를 입력하는 등 문제가 발생하였을 때 하나의 트랜잭션을 취소하는 명령어

 

- 개발 도구의 분류
    - 빌드 도구 : 작성한 코드의 빌드 및 배포를 수행하는 도구
    - 구현 도구 : 개발자의 코드 작성과 디버깅, 수정 등과 같은 작업을 지원하는 도구
    - 테스트 도구 : 코드의 기능 검증과 전체의 품질을 높이기 위해 사용하는 도구
    - 형상 관리 도구 : 개발자들이 작성한 코드와 리소스 등 산출물에 대한 버전 관리를 위한 도구

 

- 우연적 응집도

모듈 내부의 각 구성요소가 연관이 없을 경우의 응집도

 

- 논리적 응집도

유사한 성격을 갖거나 특정 형태로 분류되는 처리 요소들이 한 모듈에서 처리되는 경우의 응집도

 

- 시간적 응집도

연관된 기능이라기보다는 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우의 응집도

 

- 절차적 응집도

모듈이 다수의 관련 기능을 가질 때 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할 경우의 응집도

 

- 통신적 응집도

동일한 입력과 출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우의 응집도

 

- 순차적 응집도

모듈 내에서 한 활동으로부터 나온 출력값을 다른 활동이 사용할 경우의 응집도

 

- 기능적 응집도

모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도

 

- 내용 결합도

다른 모듈 내부에 있는 변수나 기능을 다른 모듈에서 사용하는 경우의 결합도

 

- 공통 결합도

파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수를 참조하고 전역 변수를 갱신하는 식으로 상호작용하는 경우의 결합도

 

- 외부 결합도

두 개의 모듈이 외부에서 도입된 데이터 포맷, 통신 프로토콜, 또는 디바이스 인터페이스를 공유할 경우의 결합도

 

- 제어 결합도

단순 처리할 대상인 값만 전달되는 게 아니라 어떻게 처리를 해야 한다는 제어 요소가 전달되는 경우의 결합도

 

- 스탬프 결합도

모듈 간의 인터페이스로 배열이나 객체, 구조 등이 전달되는 경우의 결합도

 

- 자료 결합도

모듈 간의 인터페이스로 전달되는 파라미터를 통해서만 모듈 간의 상호 작용이 일어나는 경우의 결합도

 

- Slowloris
HTTP GET 메서드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열인 \r\n\r\n(Hex: 0d 0a 0d 0a)을 전송하지 않고, \r\n(Hex: 0d 0a)만 전송하여 대상 웹 서버와 연결상태를 장시간 지속시키고 연결 자원을 모두소진시키는 서비스 거부 공격

 

- 벨-라파듈라 모델(BLP; Bell-LaPadula Policy)
미 국방부 지원 보안 모델로 보안 요소 중 기밀성을 강조하며 강제적 정책에 의해 접근 통제하는 모델

 

- 전송 모드(Transport Mode)(IPSec 동작 모드)
IP 패킷의 페이로드를 보호하는 모드

 

- 터널 모드(Tunnel Mode)(IPSec 동작 모드)
IP 패킷 전체를 보호하는 모드

 

- 부 채널 공격(Side Channel Attack)
암호화 알고리즘의 실행 시기의 전력 소비, 전자기파 방사 등의 물리적 특성을 측정하여 암호 키 등 내부 비밀 정보를 부 채널에서 획득하는 공격기법

 

- 드라이브 바이 다운로드(Drive By Download)
악의적인 해커가 불특정 웹 서버와 웹 페이지에 악성 스크립트를 설치하고, 불특정 사용자 접속 시 사용자 동의 없이 실행되어 의도된 서버(멀웨어 서버)로 연결하여 감염시키는 공격기법

 

- 워터링 홀(Watering Hole)
특정인에 대한 표적 공격을 목적으로 특정인이 잘 방문하는 웹 사이트에 악성코드를 심거나 악성코드를 배포하는 URL로 자동으로 유인하여 감염시키는 공격기법

 

- 스캠 공격(SCAM)
기업 이메일 계정 도용하여 무역 거래 대금 가로채는 사이버 범죄

 

- 하트 블리드(HearBleed)
OpenS니 암호화 라이브러리의 하트비트(Heartbeat)라는 확장 모듈에서 클라이언트 요청 메시지를 처리할 때 데이터 길이에 대한 검증을 수행하지 않는 취약점을 이용하여 시스템 메모리에 저장된 64KB 크기의 데이터를 외부에서 아무런 제한 없이 탈취할 수 있도록 하는 취약점

 

- 크라임웨어(Crimeware)
중요한 금융정보 또는 인증정보를 탈취하거나 유출을 유도하여 금전적인 이익 등의 범죄행위를 목적으로 하는 악성코드

 

- 프로토콜 취약점(IoT-SSDP; Simple Service Discovery Protocol)
단순 서비스 검색 프로토콜(SSDP)의 특성을 활용하여 IoT Device를 좀비PC로 이용한 분산 서비스 거부 공격

 

- 윈드토커(WindTalker)
와이파이 / 핫스팟 연결 디바이스의 터치스크린, 키보드 타이핑 등의 CSI(Channel State Information) 무선신호패턴을 스니핑하여 해킹하는 기술

 

- 토르 네트워크(Tor Network)
네트워크 경로를 알 수 없도록 암호화 기법을 사용하여 데이터를 전송하며, 익명으로 인터넷을 사용할 수 있는 가상 네트워크

 

- 멜트다운(Meltdown)
인텔 x86 아키텍처에서 CPU 파이프라인의 비순차 명령 실행 시 발생하는 버그를 악용해서 커널 사용자 영역의 우회를 통해 시스템 메모리에 접근하여 내용을 확인할 수 있는 취약점

 

- 스펙터(Spectre)
실패한 분기 예측으로 인해 메모리 데이터가 관찰될 수 있는 취약점을 이용하여 사용자 프로그램이 다른 사용자 프로그램의 메모리 영역을 훔쳐보고 정보를 탈취할 수 있는 취약점

 

- MITM 공격(Man in the Middle)
네트워크 통신을 조작하여 통신 내용을 도청 및 조작하는 공격기법

 

- DNS 스푸핑 공격
공격 대상에게 전달되는 DNS 응답(IP 주소)을 조작하거나 DNS 서버의 캐시(Cache) 정보를 조작하여 희생자가 의도하지 않은 주소로 접속하게 만드는 공격기법

 

- 포트 스캐닝(Port Scanning)
공격자가 침입 전 대상 호스트에 어떤 포트(서비스)가 활성화되어 있는지 확인한느 기법으로 침입 전 취약점을 분석하기 위한 사전 작업

 

- 디렉토리 리스팅(Directory Listing) 취약점
웹 애플리케이션을 사용하고 있는 서버의 미흡한 설정으로 인해 인덱싱 기능이 활성화되어 있을 경우, 공격자가 강제 브라우징을 통해서 서버 내의 모든 디렉토리 및 파일 목록을 볼 수 있는 취약점

 

- 리버스 쉘 공격(Reverse Shell)
타깃 서버가 클라이언트(공격자)로 접속해서 클라이언트가 타깃 서버의 쉘을 획득해서 공격하는 기법

 

- 익스플로잇(Exploit)
소프트웨어나 하드웨어의 버그 또는 취약점을 이용하여 공격자가 의도한 동작이나 명령을 실행하도록 하는 코드 또는 그러한 행위

 

- 스턱스넷 공격(Stuxnet)
독일 지멘스사의 SCADA 시스템을 공격 목표로 제작된 악성코드로 원자력, 전기, 철강, 반도체, 화학 등 주요 산업 기반 시설의 제어 시스템에 침투해서 오작동을 일으키는 악성코드 공격기법

 

- 크리덴셜 스터핑(Credential Stuffing)
사용자 계정을 탈취해서 공격하는 유형 중 하나로, 다른 곳에서 유출된 아이디와 비밀번호 등의 로그인 정보를 다른 웹 사이트나 앱에 무작위로 대입해 로그인이 이루어지면 타인의 정보를 유출시키는 기법

 

- 허니팟(Honeypot)
비정상적인 접근을 탐지하기 위해 의도적으로 설치해 둔 시스템으로 일부러 허술하게 만들어서 해커에게 노출하는 유인시스템

 

- OWASP Top 10

웹 애플리케이션 취약점 중 공격 빈도가 높으며 ,보안상 큰 영향을 줄 수 있는 10가지 취약점에 대한 대응 방안을 제공하는 웹 보안 기술 가이드

 

- 핑거프린팅 (Finger Printing)
멀티미디어 콘텐츠에 저작권 정보와 구매한 사용자 정보를 삽입하여 콘텐츠 불법 배포자에 대한 위치 추적이 가능한 기술(저작권 정보구매자 정보)

 

- 워터마킹(Water Marking)
디지털 콘텐츠에 저작권자 정보를 삽입하여, 불법 복제 시 워터마크를 추출, 원소유자를 증명할 수 있는 콘텐츠 보호 기술

 

- 이상금융거래탐지시스템(FDS; Fraud Detection System)
전자금융거래에 사용되는 단말기 정보, 접속 정보, 거래 정보 등을 종합적으로 분석하여 의심 거래를 탐지하고, 이상 거래를 차단하는 시스템

 

- CPTED(Crime Prevent Though Environment Design)
범죄 예방 환경 설계, 여러 학문 간 연계를 통해 도시 및 건축 공간 설계 시 범죄 기회를 제거하거나 최소화하는 방향으로 계획, 변경함으로써 범죄 및 불안감을 저감시키는 도시 설계 전략

 

- CC(Common Criteria)
정보기술의 보안 기능과 보증에 대한 평가 기준(등급), 정보보호 시스템의 보안 기능 요구사항과 보증 요구사항 평가를 위해 공통으로 제공되는 국제 평가 기준

 

- 사이버 위협정보 분석 공유 시스템(C-TAS; Cyber Threats Analysis System)
사이버 위협정보를 체계적 수립해서 인터넷진흥원(KISA) 주관으로 관계 기관과 자동화된 정보공유를 할 수 있는 침해 예방 대응 시스템

 

- 장착형 인증 모듈(PAM; Pluggable Authentication Module)
리눅스 시스템 내에서 사용되는 각종 애플리케이션 인증을 위해 제공되는 다양한 인증용 라이브러리

 

- CVE(Common Vulnerabilities and Exposures)
미국 비 영리회사인 MITRE 사에서 공개적으로 알려진 소프트웨어의 보안취약점을 표준화한 식별자 목록

 

- CVE(Common Vulnerabilities and Exposures) 규칙

CVE ㅡ (연도) ㅡ (순서)

 

- CWE(Common Weakness Enumeration)
미국 비영리 회사인 MITRE 사가 중심이 되어 소프트웨어에서 공통적으로 발생하는 약점을 체계적으로 분류한 목록으로, 소스 코드 취약점을 정의한 데이터베이스

 

- CVSS(Common Vulnerability Scoring System)
공통 취약점 등급 시스템으로, 취약점 위험도를 계산할 수 있는 개방형 프레임워크

 

- 결함집중
적은 수의 모듈에서 대다수의 결함이 발견되는 것, 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견, 파레토 법칙의 내용인 80 대 20 법칙 적용

 

- 살충제 패러독스

동일한 테스트 케이스에 의한 반복적 테스트는 새로운 버그를 찾지 못함

 

- 오류-부재의 궤변

요구사항을 충족시켜 주지 못한다면, 결함이 없다고 해도 품질이 높다고 볼 수 없음

 

- 애플리케이션 성능 측정 지표
    - 처리량(Throughput) : 애플리케이션이 주어진 시간에 처리할 수 있는 트랜잭션의 수
    - 응답 시간(Response Time) : 사용자 입력이 끝난 후, 애플리케이션의 응답 출력이 개시될 때까지의 시간
    - 경과 시간(Turnaround Time) : 애플리케이션에 사용자가 요구를 입력한 시점부터 트랜잭션을 처리 후 그 결과의 출력이 완료할 때까지 걸리는 시간
    - 자원 사용률(Resource Usage) : 애플리케이션이 트랜잭션을 처리하는 동안 사용하는 CPU 사용량, 메모리 사용량, 네트워크 사용량

 

- 외계인 코드(Alien Code)
아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 아주 어려운 코드

 

- 스파게티 코드(Spaghetti Code)
컴퓨터 프로그램의 소스 코드가 복잡하게 얽힌 모습을 스파게티의 면발에 비유한 표현으로, 작동은 정상적으로 하지만, 사람이 코드를 읽으면서 그 코드의 작동을 파악하기는 어려운 코드임.

 

- 로직 중복

동일한 처리 로직이 중복되게 작성된 코드

 

- 클린 코드(Clean Code)
잘 작성되어 가독성이 높고, 단순하며, 의존성을 줄이고, 중복을 최소화하여 깔끔하게 잘 정리된 코드

 

- 유닉스(Unix)
교육 및 연구 기관에서 사용되는 범용 다중 사용자 방식의 시분할 운영체제

 

- 리눅스(Linux)
유닉스를 기반으로 개발되고, 소스 코드가 공개된 오픈 소스 기반의 운영체제이며, 데비안, 레드햇, Fedora, Ubuntu, CentOS와 같이 다양하게 출시되고 있다.

 

- 맥(Mac)
애플이 유닉스를 기반으로 개발한 그래픽 사용자 인터페이스 기반의 운영체제

 

- 라운드 로빈(Round Robin)
프로세스는 같은 크기의 CPU 시간을 할당(시간 할당량), 프로세스가 할당된 시간 내에 처리 완료를 못하면 준비 큐 리스트의 가장 뒤로 보내지고, CPU는 대기 중인 다음 프로세스로 넘어감

 

- SRT(Shortest Remaining Time First)
가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고, 남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점됨

 

- 다단계 큐(Multi Level Queue)
작업들을 여러 종류 그룹으로 분할, 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점당함

 

- 다단계 피드백 큐(Multi Level Feedback Queue)
입출력 위주와 CPU 위주인 프로세스의 특성에 따라 큐마다 서로 다른 CPU 시간 할당량을 부여

 

- 우선순위(Priority)
프로세스별로 우선순위가 주어지고, 우선순위에 따라 CPU를 할당함

반응형