본문 바로가기
Study/정보처리기사(정처기)

실기 문제 개념들

by 얏옹이 2023. 10. 3.
반응형
  • 디지털 포렌식 서술
    • 범죄 행위에 대한 사실을 사법기관에 제출하기위해 디지털 증거자료를 수집, 획득, 분석, 보관, 제출 하는 일련의과정을 뜻한다.
  • 루트킷과 크라임웨어( 루트킷과 크라임웨어는 해킹에 사용되는 공격용 도구이다)
    • 루트킷 : 시스템 침입후 침입 사실을 숨김, 차후의 침입을 위한 해킹에 사용되는 기능을 제공하는 프로그램의 모음
    • 크라임웨어 : 온라인상에서 범죄와 같은 불법적인 행위를 수행하기 위해 제작된 컴퓨터 프로그램, 공격용 툴킷이라 불림
  • 개발환경 인프라 구성 방식
    • 온프레미스 : 외부 인터넷마잉 차단된 상태에서 인프라넷 망만을 활용하여 개발환경을 구축하는 방식
    • 클라우드 방식 : 구글, 아마존, 마이크로 소프트등 클라우드 공급서비스를 하는 회사들의 서비스를 임대하여 개발환경을 구축하는 방식
    • 하이브리드 방식 : 온프레미스 방식과 클라우드를 혼용하는 방식
  • 분석 자동화 도구
    • 하위 CASE : 구문 중심 편집 및 정적. 동적 테스트 지원
    • 상위 CASE : 계획수립, 요구분석, 기본설계 단계를 다이어그램으로 표현. 자료 흐름도 프로토 타이핑 작성 지원및 UI 설계 지원
  • 입력 데이터 검증 및 표현에 대한 취약점
    • XSS : 검증되지 않은 외부입력 데이터가 포함된 웹페이지가 전송되는경우, 사용자가 웹페이지를 열람하면서 웹페이지에 포함된 부적절한 스크립트가 실행되는 공격
    • 사이트간 요청 위조 : 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격
    • SQL 삽입 : SQL Injection 응용프로그램의 보안 취약점을 이용해서 악의적인 SQL 구문을 삽입, 데이터베이스의 접근을 통해 정보를 탈취하거나 정보를 조작하는 행위를 하는 공격 기법
  • IPV6의 개념
    • IPV4가 가지고 있는 문제점을 해결하기 위해 개발된 128bit 주소체계를 갖는 인터넷 프로토콜
  • IPV6의 특징
    • IP주소의 확장 : IPv4는 32비트 주소 공간. IPv6는 128비트 주소 공간
    • 이동성 : 네트워크의 물리적 위치에 제한받지 않고 같은 주소를 유지하면서도 자유롭게 이동 가능
    • 인증 및 보안기능 : 패킷 출처 인증과 데이터 무결성 및 비밀 보장 기능을 IP 프로토콜 체계에 반영, IPsec 기능 적용 및 IPv4보다 보안성 강화
    • 개선된 Qos 지원 : 흐름 레이블 개념을 도입, 특정 트래픽은 별도의 특별한 처리(실시간 통신)를 통해 높은 품질의 서비스를 제공
    • Plug & Play 지원 : 멀티미디어의 실시간 처리가 가능
    • Ad-Hoc 네트워크 지원 : Ad-Hoc 네트워크를 위한 자동 네트워킹 및 인터넷 연결 지원
    • 단순 헤더 적용 
    • 실시간 패킷 추적 가능
  • 컬럼을 수정할때 SQL문
    • ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입 [제약조건];
    • 부서 테이블의 부서번호를 기본키로 지정하는 문제
      • ALTER TABLE 부서 MODIFY 부서번호 INTEGER PRIMARY KEY;
  • 라우팅 프로토콜
    • 데이터 전송을 위해 목적지까지 갈수 있는 여러 경로중 최적의 경로를 설정해주는 라우터간의 상호통신 규약
  • 회복 기법 종류
    • 로그 기반 회복기법 
      • 지연갱신 회복 기법 : 트랜잭션이 완료되기 전까지 데이터 베이스에 기록하지 않는 기법
      • 즉각 갱신 회복 기법 : 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영하는 기법
    • 체크포인트 회복 기법: 장애 발생시 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전의 상태로 복원시키는 회복 기법
    • 그림자 페이징 회복 기법: 트랜잭션 수행시 복제본을 생성, 장애시 이를 이용해 복구하는 기법
반응형
  • 데이터 베이스 객체?
    • DAO : 특정 타입의 데이터베이스에 추상 인터페이스를 제공하는 객체, 세부내용 노출없이 데이터를 조작하는 객체
    • DTO : 프로세스 사이에서 데이터를 전송하는 객체, 데이터 저장, 회수 외에 다른기능 없다.
    • VO : 간단한 엔티티를 의미하는 작은 객체, 가변 클래스인 DTO와 달리 고정클래스를 가지는 객체
  • TCL이란?
    • Transaction Control Language 트랜잭션을 제어하는 언어 - (커밋 , 롤백, 체크포인트 커롤체)
      • COMMIT : 트랜잭션 확정, 트랜잭션을 메모리에 영구 저장하는 명령어
      • ROLLBACK : 트랜잭션 취소, 트랜잭션 내역을 저장 무효화 시키는 명령어
      • CHECKPOINT : 저장 시기 설정, ROLLBACK을 위한 시점을 저장하는 명령어
  • 외부 메모리 단편화
    • 버디 메모리 할당 : 요청한 프로세스 크기에 가장 알맞은 크기를 할당하기 위해 메모리를 분할하여 메모리 할당 기법
    • 통합 : 인접한 단편화 영역을 찾아 하나로 통합
    • 압축 : 메모리의 모든 단편화 영역을 하나로 압축
  • HIPO 차트의 종류
    • 가시적 도표 : 시스템의 전체적인 기능과 흐름을 보여주는 계층 구조
    • 총체적 도표 : 프로그램을 구성하는 기능을 기술한것으로 입력, 처리, 출력에 대한 전반적인 정보를 제공하는 도표
    • 세부적 도표 : 총체적 도표에 표시된 기능을 구성하는 기본요소들을 상세히 기술하는 도표
  • 데이터베이스 무결성 종류
    • 개체 무결성 : 한 엔티티에서 같은 PK를 가질수 없거나 기본기 속성이 NULL일수 없음
    • 참조 무결성 : 외래키가 참조하는 다른 개체의 기본키에 해당하는 값이 기본키 값이나 NULL이여야 함
    • 속성 무결성 : 속성의 값은 기본값, NULL여부 도메인이 지정된 규칙을 준수해야함
    • 사용자 무결성 : 사용자의 의미적 요구사항을 준수해야함
    • 키 무결성 : 한 릴레이션에 같은 키값을 가진 튜플들을 허용할수 없음
  • RAID(복수 배열 독립 디스크)
    • 여러개의 하드디스크에 일부 중복된 데이터를 나눠서 저장(분산저장)하는 기술, 디스크 어레이 라고도 한다
  • ITIL ( 정보기술 인프라 라이브러리 )
    • IT 서비스의 운영 및 관리를 돕기 위한 문서의 집합
    • 영국 정부가 다양한 IT 서비스들의 관리 방법들을 모아 만든 표준적인 참고 문서
  • 커널의 유형
    • 마이크로 커널 : 전통적인 OS의 기능들을 사용자 영역에 놓고 하드웨어 추상화를 최소화한 커널
    • 모놀리식 커널 : 하드웨어 위에 높은 수준의 가상 계층을 제공하는 커널
  • 병행 제어 미보장시 문제점
    • 갱신 손실 : 먼저 실행된 트랜잭션의 결과를 나중에 실행된 트랜잭션이 덮어쓸때 발생하는 오류
    • 현황 파악 오류 : 트랜잭션의 중간 수행 결과를 다른 트랜잭션이 참조하여 발생하는 오류
    • 모순성 : 두 트랜잭션이 동시에 실행되어 데이터베이스 일관성이 결여되는 오류
    • 연쇄복귀 : 복수의 트랜잭션이 데이터 공유 시 특정 트랜잭션이 처리를 취소할경우 트랜잭션이 처리한곳의 부분을 취소하지 못하는 경우
  • 패스워드 크래킹의 유형
    • 사전 대입 공격 : ID와 패스워드가 될 가능성이 있는 단어를 파일로 만든후 대입하여 크랙하는 공격 기법
    • 무차별 대입 공격 : 문자를 무작위로 대입하여 패스워드를 알아내는 공격 기법
    • 패스워드 하이브리드 공격 : 사전 공격 + 무차별 공격을 결합
    • 레인보우 테이블 공격 : 패스워드별로 해시값을 미리 생성, 크래킹 하고자 하는 해시값을 테이블에서 검색해 역으로 패스워드를 찾는 공격 기법
  • 테스트 레벨 종류(단 통 시 인)
    • 단위 테스트 : 사용자 요구사항에 대한 단위 모듈, 서브 루틴 등을 테스트하는 단계
    • 통합 테스트 : 단위 테스트를 통과한 모듈 사이의 인터페이스, 컴포넌트간 상호작용을 검증하는 테스트 단계
    • 시스템 테스트 : 통합된 단위 시스템의 기능이 시스템에서 정상적으로 수행되는지를 검증하는 테스트 단계
    • 인수 테스트 : 계약상의 요구사항을 만족했는지 확인하기 위한 테스트 단계
  • 프로세스 스케줄링
    • 선점형 스케줄링 : 하나의 프로세스가 CPU를 차지하고 있을때 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 스케줄링 방식
    • 비선점형 스케줄링 : 한 프로세스가 CPU를 할당받으면 작업종료후 CPU반환시 까지 다른 프로세스는 CPU 점유가 불가능한 스케줄링 방식
  • 소프트웨어 테스트 2가지
    • 화이트박스 테스트: 소프트웨어의 내부 구조와 동작을 알고 테스트, 코드를 실행하지않고, 소스코드를 보며 테스트
    • 블랙박스 테스트: 소프트웨어의 내부 구조와 동작을 알지 못하고 입/출력에 좀더 비중을 둬 소프트웨어가 정상적으로 작동하는지 테스트
  • 인터페이스 구현시 적용될 데이터 베이스 암호화 기법
    • API 방식 : 애플리케이션 레벨에서 암호 모듈(API)를 적용하는 애플리케이션 수정 방식
    • Plug-in 방식 : 암,복호화 모듈이 DB서버에 설치된 방식
    • TDE 방식 : DB서버의 DBMS 커널이 자체적으로 암,복호화 기능을 수행하는 방식
    • Hybrid 방식 : API방식과 Plug-in 방식을 결합하는 방식
  • 메모리 반입 기법
    • 예상 반입 기법 : 시스템의 요구를 예측하여 미리 메모리에 적재하는 기법
    • 요구 반입 기법 : 프로세스가 참조 요구가 있을 경우에 적재하는 기법
  • 애플리케이션에 대한 DDos 공격
    • Sloworis : HTTP GET 메서드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열을 전송하지않고 \r\n만 전송하여 웹서버와 연결상태를 장시간 지속시키고 연결 자원을 모두 소진시키는 서비스 거부 공격
    • Rudy : 요청헤더의 Content-Length를 비정상적으로 크게 만들어 연결상태를 유지시키는 공격 기법
    • Slow Read Attack : TCP 윈도 크기와 데이터 처리율을 감소시킨 상태에서 다수 HTTP 패킷을 지속적으로 전송, 서비스 거부 공격
  • 오픈스택
    • 아파치 라이선스 형태로 배포되고있는 오픈소스 소프트웨어 기반의 클라우드 플랫폼 프로젝트
  • 소프트웨어 아키텍처 4+1뷰 (유 논 구 프 배 )
    • 유스케이스 뷰 : 유스케이스 또는 아키텍처를 도출 설계, 다른뷰를 검증하는데 사용된다
    • 논리 뷰 : 시스템의 기능적인 요구사항이 어떻게 제공되는지 설명해주는 뷰
    • 구현 부 : 개발 환경 안에서 정적인 소프트웨어 모듈의 구성을 보여주는 뷰
    • 프로세스 뷰 : 시스템의 비 기능적인 속성으로 자원의 효율적인 사용, 병행 실행, 비동기 이벤트 처리 등을 표현한 뷰
    • 배포 뷰 : 컴포넌트가 물리적인 아키텍처에 어떻게 배치되는가를 매핑해서 보여주는 뷰
  • 보안 관련 용어중 해시 함수 와 SET의 개념
    • 해시 함수 : 임의의 길이 를 갖는 값을 입력받으면 고정된 길이의 값을 출력하는 함수
    • SET : 온라인상의 안전한 거래를 위해 Visa와 Master Card에서 개발한 프로토콜
  • 데이터 암호화 전송을 위한 주요 기술
    • IPsec : IP계층에서 무결성과 인증을 보장하는 인증헤더와 기밀성을 보장하는 암호화를 이용하여 양 종단 간 구간에 보안서비스를 제공하는 터널링 프로토콜
    • SSL/TLS : 전송계층과 응용계층 사이에서 클라이언트와 서버간의 웹데이터 암호화 상호 인증 및 전송시 데이터 무결성을 보장하는 보안 프로토콜
    • S-HTTP : 웹상에서 네트워크 트래픽을 암호화하는 주요 방법중 하나
  • 데이터베이스 고립화 수준
    • 데이터베이스의 고립화 수준은 다른 트랜잭션이 현재의 데이터에 대한 무결성을 해치지 않기 위해 잠금을 설정하는 정도이다
    • 고립화 수준의 종류
      • Read Uncommitted
      • Read Committed
      • Repeatable Read
      • Serializable Read
  • 대칭 키 암호 방식
    • 블록 암호 방식 : 긴 평문을 암호화하기 위해 고정길이의 블록을 암호화하는 블록 암호 알고리즘을 반복하는 방법(DES, AES, SEED)
    • 스트림 암호 방식 : 매우 긴 주기의 난수 열을 발생시켜 평문과 더불어 암호문을 생성하는 방식(RC4)
  • DBMS특징
    • 데이터 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대해서 서로 다른 데이터가 저장되는것을 허용하지 않는 성질
    • 데이터 일관성 : 삽입 삭제 갱신 생성 후에도 저장된 데이터가 변함없이 일정
    • 데이터 회복성 : 장애가 발생하였을시 특정상태로 복구 되어야 하는 성질
    • 데이터 보안성 : 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질
    • 데이터 효율성 : 응답시간, 저장공간 활용 등이 최적화 되어 사용자, 소프트웨어 시스템등의 요구조건을 만족시켜야하는 성질
  • UML 다이어그램
    • 정적(구조적) 다이어그램 (클 객 컴 배 복 패)
      • 클래스 다이어그램 : 클래스의 속성 및 연산과 클래스간 정적인 관계를 표현
      • 객체 다이어그램 : 클래스에 속한 사물 즉 인스턴스를 특정시점의 객체와 객체사이의 관계로 표현
      • 컴포넌트 다이어그램 : 시스템을 구성하는 물리적인 컴포넌트와 그들사이의 의존관계를 표현
      • 배치 다이어그램 : 컴포넌트 사이의 종속성을 표현하고 결과물 프로세스 컴포넌트등 물리저기 요소의 위치를 표현
      • 복합체 구조 다이어그램 : 클래스나 컴포넌트가 복합구조를 갖는경우 내부구조를 표현
      • 패키지 다이어그램 : 유스케잇드나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현
    • 동적(행위) 다이어그램
      • 유스케이스 다이어그램 : 사용자의 요구를 분석하는것으로 기능 모델링 작업에 사용
      • 시퀀스 다이어그램 : 상호 작용하는 시스템이나 객체들이 주고받는 메세지를 표현
      • 커뮤니케이션 다이어그램 : 동작에 참여하는 객체들이 주고받는 메세지와 연관관계를 표현
      • 상태 다이어그램 : 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지를 표현함
      • 활동 다이어그램 : 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현
      • 상호작용 개요 다이어그램 : 상호작용 다이어그램 간의 제어 흐름을 표현
      • 타이밍 다이어그램 : 객체 상태 변화와 시간 제약을 명시적으로 표현
    • 응집도의 유형(우 논 시 절 통 순 기) 순서대로 응집도가 낮다. 기능적 응집도가 가장 응집도가 높다
      • 우연적 응집도 : 서로간에 어떠한 의미있는 연관 관계도 없는 기능요소로 구성될 경우의 응집도
      • 논리적 응집도 : 유사한 성격을 갖거나 특정 형대로 분류되는 처리요소들이 한 모듈에서 처리되는 경우의 응집도
      • 시간적 응집도 : 연관된 기능이라기 보다는 특정 시간에 처리되어야하는 활동들을 한 모듈에서 처리할 경우의 응집도
      • 절차적 응집도 : 모듈이 다수의 기능을 가질때, 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할경우의 응집도
      • 통신적 응집도 : 동일한 입력과 출력을 사용하여 다른기능을 수행하는 활동들이 모여있을 경우의 응집도
      • 순차적 응집도 : 모듈 내에서 한 활동으로 나온 출력값을 다른 활동이 사용할 경우의 응집도
      • 기능적 응집도 : 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도
    • 데이터 베이스 모델링중 비정규화란?
      • 데이터 베이스 정규화 이후 성능 향상과 개발 편의성을 위해 정규화 기법에 위배되는 수행 기법
    • 정규화란?
      • 데이터베이스 이상현상을 없애기 위해서 정규화 수행 과정을 거친다. 여기서 이상현상이란 삽입이상, 갱신이상, 삭제이상이 있다.
    • 소프트웨어 테스트의 원리
      • 테스팅은 결함이 존재함을 밝히는 행위이다.
      • 완벽한 테스팅은 불가능하다
      • 테스팅은 개발 초기에 해야한다
      • 결합 집중(파레토 법칙) - 20%의 핵심 모듈에서 80%의 결함이 발생한다
      • 살충제 패러독스(동일한 테스트 케이스로 동일한 절차를 반복수행하면 새로운 결함을 찾을수 없다)
      • 테스팅은 정황(Context)에 의존한다.
      • 오류 - 부재의 궤변 - 오류가 없는 소프트웨어라도 사용자의 요구사항에 만족하지 않은 소프트웨어는 가치가 없다
    • 결합도 유형 ( 내 공 외 제 스 자 ) 순으로 결합도가 높다
      • 내부 결합도 - 다른 모듈 내부에 있는 변수나 기능을 다른모듈에서 사용하는 경우
      • 공통 결합도 - 파라미터가 아닌 모듈 밖에 선언되어있는 전역변수를 참조하고 전역변수를 갱신하는 식으로 상호작용 하는 경우
      • 외부 결합도 - 어떤 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조하는 경우
      • 제어 결합도 - 단순 처리할 대상인 값만 전달되는게 아닌, 어떻게 처리를 해야한다는 제어 요소가 전달되는 경우
      • 스탬프 결합도 - 모듈간의 인터페이스로 배열이나 오브젝트, 스트럭처 등이 전달되는 경우
      • 자료 결합도 - 모듈 간의 인터페이스로 값이 전달되는 경우
  • 애플리케이션 성능 측정을 위한 지표
    • 처리량 - 일정시간 내에 애플리케이션이 처리하는 일의 양
    • 응답시간 - 애플리케이션에 요청을 전달한 시간부터 응답이 도착할때까지의 걸리는 시간
    • 반환시간 - 애플리케이션에 요청을 전달한 시간부터 처리가 완료될때까지의 걸리는 시간
    • 자원사용율 - 애플리케이션이 작업을 처리하는 동안 cpu 사용량, 메모리 사용량, 네트워크 사용량 등 자원사용율
  • 보안의 3요소
    • 기밀성 - 안에 있는 데이터를 남들이 볼수 없다 인가된 사람만 볼수 있다
    • 무결성 - 인가된 사람이 아니면 데이터를 조작할수 없다
    • 가용성 -  인가된 사람만 접근이 가능하다, 인가된 사용자는 언제든지 데이터를 사용 가능하다.
  • 서비스 공격의 종류
    • DOS
      • Smurf Attack - IP주소를 속여 공격
      • SYN flooding - 
      • UDP 플러딩
      • Ping 플러딩
      • Ping of Death - 엄청 큰 패킷을 보내 
      • Teardrop Attack
      • Land Attack
    • DDos
      • 피싱
      • 파밍
      • 스니핑
      • 스미싱
      • 큐싱
      • 랜섬웨어
      • 키 로거
      • SQL Injection
      • XSS
    • 무작위 대입 공격
    • 스피어피싱
    • APT 
    • 제로 데이 공격
    • 백도어
    • Rainbow Table Attack
    • CSRF
    • TOCTOU
    •  

 

반응형