반응형
- 디지털 포렌식 서술
- 범죄 행위에 대한 사실을 사법기관에 제출하기위해 디지털 증거자료를 수집, 획득, 분석, 보관, 제출 하는 일련의과정을 뜻한다.
- 루트킷과 크라임웨어( 루트킷과 크라임웨어는 해킹에 사용되는 공격용 도구이다)
- 루트킷 : 시스템 침입후 침입 사실을 숨김, 차후의 침입을 위한 해킹에 사용되는 기능을 제공하는 프로그램의 모음
- 크라임웨어 : 온라인상에서 범죄와 같은 불법적인 행위를 수행하기 위해 제작된 컴퓨터 프로그램, 공격용 툴킷이라 불림
- 개발환경 인프라 구성 방식
- 온프레미스 : 외부 인터넷마잉 차단된 상태에서 인프라넷 망만을 활용하여 개발환경을 구축하는 방식
- 클라우드 방식 : 구글, 아마존, 마이크로 소프트등 클라우드 공급서비스를 하는 회사들의 서비스를 임대하여 개발환경을 구축하는 방식
- 하이브리드 방식 : 온프레미스 방식과 클라우드를 혼용하는 방식
- 분석 자동화 도구
- 하위 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을 위한 시점을 저장하는 명령어
- Transaction Control Language 트랜잭션을 제어하는 언어 - (커밋 , 롤백, 체크포인트 커롤체)
- 외부 메모리 단편화
- 버디 메모리 할당 : 요청한 프로세스 크기에 가장 알맞은 크기를 할당하기 위해 메모리를 분할하여 메모리 할당 기법
- 통합 : 인접한 단편화 영역을 찾아 하나로 통합
- 압축 : 메모리의 모든 단편화 영역을 하나로 압축
- 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)
- 비대칭키 암호화 방식
- RSA,ECC
- DBMS특징
- 데이터 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대해서 서로 다른 데이터가 저장되는것을 허용하지 않는 성질
- 데이터 일관성 : 삽입 삭제 갱신 생성 후에도 저장된 데이터가 변함없이 일정
- 데이터 회복성 : 장애가 발생하였을시 특정상태로 복구 되어야 하는 성질
- 데이터 보안성 : 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질
- 데이터 효율성 : 응답시간, 저장공간 활용 등이 최적화 되어 사용자, 소프트웨어 시스템등의 요구조건을 만족시켜야하는 성질
- UML 다이어그램
- 정적(구조적) 다이어그램 (클 객 컴 배 복 패)
- 클래스 다이어그램 : 클래스의 속성 및 연산과 클래스간 정적인 관계를 표현
- 객체 다이어그램 : 클래스에 속한 사물 즉 인스턴스를 특정시점의 객체와 객체사이의 관계로 표현
- 컴포넌트 다이어그램 : 시스템을 구성하는 물리적인 컴포넌트와 그들사이의 의존관계를 표현
- 배치 다이어그램 : 컴포넌트 사이의 종속성을 표현하고 결과물 프로세스 컴포넌트등 물리저기 요소의 위치를 표현
- 복합체 구조 다이어그램 : 클래스나 컴포넌트가 복합구조를 갖는경우 내부구조를 표현
- 패키지 다이어그램 : 유스케잇드나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현
- 동적(행위) 다이어그램
- 유스케이스 다이어그램 : 사용자의 요구를 분석하는것으로 기능 모델링 작업에 사용
- 시퀀스 다이어그램 : 상호 작용하는 시스템이나 객체들이 주고받는 메세지를 표현
- 커뮤니케이션 다이어그램 : 동작에 참여하는 객체들이 주고받는 메세지와 연관관계를 표현
- 상태 다이어그램 : 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지를 표현함
- 활동 다이어그램 : 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현
- 상호작용 개요 다이어그램 : 상호작용 다이어그램 간의 제어 흐름을 표현
- 타이밍 다이어그램 : 객체 상태 변화와 시간 제약을 명시적으로 표현
- 응집도의 유형(우 논 시 절 통 순 기) 순서대로 응집도가 낮다. 기능적 응집도가 가장 응집도가 높다
- 우연적 응집도 : 서로간에 어떠한 의미있는 연관 관계도 없는 기능요소로 구성될 경우의 응집도
- 논리적 응집도 : 유사한 성격을 갖거나 특정 형대로 분류되는 처리요소들이 한 모듈에서 처리되는 경우의 응집도
- 시간적 응집도 : 연관된 기능이라기 보다는 특정 시간에 처리되어야하는 활동들을 한 모듈에서 처리할 경우의 응집도
- 절차적 응집도 : 모듈이 다수의 기능을 가질때, 모듈 안의 구성요소들이 그 기능을 순차적으로 수행할경우의 응집도
- 통신적 응집도 : 동일한 입력과 출력을 사용하여 다른기능을 수행하는 활동들이 모여있을 경우의 응집도
- 순차적 응집도 : 모듈 내에서 한 활동으로 나온 출력값을 다른 활동이 사용할 경우의 응집도
- 기능적 응집도 : 모듈 내부의 모든 기능이 단일한 목적을 위해 수행되는 경우의 응집도
- 데이터 베이스 모델링중 비정규화란?
- 데이터 베이스 정규화 이후 성능 향상과 개발 편의성을 위해 정규화 기법에 위배되는 수행 기법
- 정규화란?
- 데이터베이스 이상현상을 없애기 위해서 정규화 수행 과정을 거친다. 여기서 이상현상이란 삽입이상, 갱신이상, 삭제이상이 있다.
- 소프트웨어 테스트의 원리
- 테스팅은 결함이 존재함을 밝히는 행위이다.
- 완벽한 테스팅은 불가능하다
- 테스팅은 개발 초기에 해야한다
- 결합 집중(파레토 법칙) - 20%의 핵심 모듈에서 80%의 결함이 발생한다
- 살충제 패러독스(동일한 테스트 케이스로 동일한 절차를 반복수행하면 새로운 결함을 찾을수 없다)
- 테스팅은 정황(Context)에 의존한다.
- 오류 - 부재의 궤변 - 오류가 없는 소프트웨어라도 사용자의 요구사항에 만족하지 않은 소프트웨어는 가치가 없다
- 결합도 유형 ( 내 공 외 제 스 자 ) 순으로 결합도가 높다
- 내부 결합도 - 다른 모듈 내부에 있는 변수나 기능을 다른모듈에서 사용하는 경우
- 공통 결합도 - 파라미터가 아닌 모듈 밖에 선언되어있는 전역변수를 참조하고 전역변수를 갱신하는 식으로 상호작용 하는 경우
- 외부 결합도 - 어떤 모듈에서 선언한 데이터(변수)를 외부의 다른 모듈에서 참조하는 경우
- 제어 결합도 - 단순 처리할 대상인 값만 전달되는게 아닌, 어떻게 처리를 해야한다는 제어 요소가 전달되는 경우
- 스탬프 결합도 - 모듈간의 인터페이스로 배열이나 오브젝트, 스트럭처 등이 전달되는 경우
- 자료 결합도 - 모듈 간의 인터페이스로 값이 전달되는 경우
- 정적(구조적) 다이어그램 (클 객 컴 배 복 패)
- 애플리케이션 성능 측정을 위한 지표
- 처리량 - 일정시간 내에 애플리케이션이 처리하는 일의 양
- 응답시간 - 애플리케이션에 요청을 전달한 시간부터 응답이 도착할때까지의 걸리는 시간
- 반환시간 - 애플리케이션에 요청을 전달한 시간부터 처리가 완료될때까지의 걸리는 시간
- 자원사용율 - 애플리케이션이 작업을 처리하는 동안 cpu 사용량, 메모리 사용량, 네트워크 사용량 등 자원사용율
- 보안의 3요소
- 기밀성 - 안에 있는 데이터를 남들이 볼수 없다 인가된 사람만 볼수 있다
- 무결성 - 인가된 사람이 아니면 데이터를 조작할수 없다
- 가용성 - 인가된 사람만 접근이 가능하다, 인가된 사용자는 언제든지 데이터를 사용 가능하다.
- 서비스 공격의 종류
- DOS
- Smurf Attack - IP주소를 속여 공격
- SYN flooding - TCP 연결과정을 악용하여 서버 자원을 소모 시키는 공격
- UDP 플러딩 - 대량의 UDP 패킷을 보내 대역폭을 소모시킴
- Ping 플러딩 - 대량의 Ping 요청을 보내 시스템 마비 시킴
- Ping of Death - 비정상적으로 큰 Ping을 보냄
- Teardrop Attack - 조립할수 없는 패킷을 보내 공격
- Land Attack - 출발지의 ip와 도착지의 ip를 같게해서 공격
- DDos
- 피싱 - 가짜 웹사이트들을 이용해 개인정보 탈취
- 파밍 - dns를 조작하여 가짜사이트로 유도
- 스니핑 - 네트워크 트래픽을 도청
- 스미싱 - SMS를 이용한 공격
- 큐싱 - QR 코드를 이용한 공격
- 랜섬웨어 - 시스템을 암호화해서 금전을 요구
- 키 로거 - 키보드 입력을 기록하여 정보 탈취
- SQL Injection - SQL문을 삽입해 데이터베이스 공격
- XSS - 웹사이트에 악성 스크립트를 보냄
- 무작위 대입 공격 - 가능한 모든 비밀번호를 대입해봄
- 스피어피싱 - 특정 개인이나 조직을 겨냥한 맞춤 공격
- APT - 지속적이고 은밀한 표적공격
- 제로 데이 공격 - 알려지지 않은 취약점을 공격
- 백도어 - 시스템의 비정상적인 접근경로를 만들어 훔쳐봄
- Rainbow Table Attack - 미리 정의된 해시코드 값들을 대입해서 정보 탈취
- CSRF - 사용자의 권한을 도난해 공격
- DOS
- 코드 커버리지
- 구문 커버리지 : 모든 구문이 한번 이상 수행되도록 설계
- 다중 조건 커버리지 : 결정 포인트 내에 있는 모든 개별 조건식의 모든 가능한 논리적인 조합을 고려하여 100% 커버리지 보장
- 변형 조건/결정 커버리지 : 조건과 결정을 복합적으로 고려한 측정 방법, 결정 포인트 내의 다른 개별적인 조건식 결과에 상관없이 독립적으로 전체조건식의 결과에 영향을 주는 테스트 커버리지
- 결정 커버리지 : 결정 포인트 내의 모든 분기문(조건문)이 적어도 한번이상 수행되도록 설계
- 조건/결정 커버리지 : 모든 조건문과 개별 조건식이 적어도 한번 이상 수행되도록 설계
- 경로 커버리지 : 모든 논리적인 경로가 한번 이상 수행되도록 설계
- 조건 커버리지 : 결정 포인트 내의 모든 개별 조건식이 적어도 한번 이상 수행되도록 설계
반응형
'Study > 정보처리기사(정처기)' 카테고리의 다른 글
트랜잭션이란? 트랜잭션의 병행 제어 기법 (0) | 2023.10.01 |
---|---|
깨알 C언어 특강(Feat.유튜브 흥달쌤) 정리 (0) | 2023.07.26 |
C언어의 출력 서식지정자 (0) | 2023.07.19 |
C언어 기본 (0) | 2023.06.04 |
정처기 필기&실기에 자주 나오는 데이터베이스 구조를 일컫는 용어들 (0) | 2023.06.01 |