정보처리기사

정보처리기사: 자주 나오는

whyHbr 2023. 7. 15. 18:34
728x90
반응형

병행제어 기법 종류:

 

Locking 로킹 :

같은 자원을 액세스 하는 다중 트랜잭션 환경에서 DB 의 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 진행을 보장하는 직렬화 기법

데이터베이스, 파일, 레코드 등은 로킹 단위가 될 수 있다.

로킹 단위가 작아지면 데이터 베이스 공유도 증가.

로킹 단위가 작아지면 로킹 오버헤드 증가

한번에 로킹할 수 있는 크기를 로킹단위라고 한다

 

낙관적 검증 :

트랜잭션이 어떠한 검증도 수행하지 않고 일단 트랜잭션을 수행, 트랜잭션 종료시 검증을 수행해 데이터 베이스에 반영

 

타임 스탬프 순서:

트랜잭션과 트랜잭션이 읽거나 갱신한 데이터에 대해 트랜잭션이 실행을 시작하기 전에 타임스탬프를 부여해 부여된 시간에 따라 트랜잭션을 수행하는 기법

 

다중버전 동시성 제어  MVCC (Multi Version Concurrency control ):

트랜잭션의 타임 스탬프와 접근하는 데이터의 타임 스템프를 비교, 직렬 가능성이 보장되는 적절한 버전을 선택해 접근하도록 하는 기법

----------------------------------

행성 테이블서 거리가 5와 같거나 큼, 무게가 10이상 이거나 큰 레코드 삭제

delete from 행성 where 거리 >=5 and 무게 >=10;

모든 레코드를 삭제할 때는 where 없이 delete 만 사용

----------------------------------------------

alter table :테이블을 수정하는 명령어 , add 는 컬럼 추가

alter table studnet add gender char(1) check (gender ='f' or gender =m');

학생 테이블에 성별이라는 컬럼을 추가. 그런데 성별 칸에는 f or m만 입력 가능

alter table tablename colname datatype [제약조건 : primary key, unique, foriegn key, not null,check, default];

-----------------------------

소켓 socket:

네트워크를 경유하는 프로세스간 통신의 접속점으로 클라이언트와 서버 프로그램 사이에 데이터를 송수신 할 수 있는 기능

---------------------------------

sw개발 보안의 3대 요소:

 

Confidentially 기밀성 :

인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단

 

Intergrity 무결성 :

정당한 방법을 따르지 않고서는 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/ 악의로 변경 혹은 파괴되지 않음을 보장하는 특성

 

Availabilty 가용성 :

권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속해서 사용 할 수 있도록 보장하는 특성

--------------------------------

소프트웨어 아키텍쳐 패턴 유형 

 

Layered pattern 계층화 패턴 :

시스템을 계층으로 구분하여 구성

각 하위 모듈들은 특정한 수준의 추상화를 제공, 각 계층은 다음 상위 계층에서 서비스를 제공

계층화 패턴은 서로 마주보는 두 개의 계층 사이에서만 상호작용이 이루어진다.

 

client-server pattern 클라이언트 서버 패턴 :

하나의 서버와 다수의 클라이언트로 구성된 패턴

사용자가 클라이언트를 통해 서버에 서비스를 요청하면 서버는 클라이언트에게 서비스를 제공

서버는 계속 클라이언트로부터 요청을 대기

 

pipe filter pattern 파이프 필터 패턴 :

데이터 스트림을 생성하고 처리하는 시스템에서 사용가능한 패턴

서브 시스템이 입력 데이터를 받아 처리하고 결과를 다음 서브시스템으로 넘겨주는 과정을 반복

재사용성이 좋고 추가가 쉬워 확장성이 좋음

 

MVC pattern :

대화형 어플리케이션을 모델 ,컨트롤러, 뷰 세개의 서브 시스템으로 구조화한 패턴

모델 : 핵심 기능과 데이터 보관

뷰 : 사용자에게 정보 표시 

컨트롤러: 사용자로부터 요청을 입력받아 처리

 

Broker pattern 브로커 패턴 ;

분산 시스템에서 사용되고 이 컴포넌트들은 원격 서비스 실행을 통해 상호 작용이 가능한 패턴

브로커 컴포넌트는 컴포넌트간의 통신을 조정하는 역할을 수행.

-----------------------------------

 

분석 자동화 도구

 

상위 upper case :

계획 수립, 요구 분석, 기본 설계 단계를 다이어그램으로 표현

모델들 사이의 모순 검사 및 모델의 오류 검증, 일관성 검증 지원

자료 흐름도 프로토타이핑 작성 지원 및 UI 설계 지원

 

하위 lowe case :

구문 중심 및 정적, 동적 테스트 지원

시스템 명세서 생성 및 소스 코드 생성 지원

---------------------------------

NAT network address translation :

사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 ip 주고를 사용해 인터넷에 접속하기 위한 네트워크주소 변환 기술

 

------------------------

 

revoke on from  [CASADE constraints];

revoek 권한 on tablename from usename; 

관리자가 사용자에게 부여했던 테이블에 대한 권한을 회수

CASADE CONSTRAINTS는 연쇄적인 권한을 해제할 떄 입력 (WITH GRANT OPTION 으로 부여된 사용자들의 권한까지 취소)

 

관리자가 usename 이라는 사용자로부터 score 테이블에 대해 delete 할 수 있는 권한을 회수할 수 있는 쿼리 (username 사용자로부터 with  grant option 이 부여된 사용자들의 권한까지 취소 )

revoke delete on score from username cascade constraints;

----------------------------

DBMS 의 특징

 

데이터 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대한 다른 데이터가 저장되는 것을 허용 안함

 

데이터 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함 없이 일정

 

데이터 회복성 : 장애 발생 시, 특정 상태로 복구되어야 하는 성질

 

데이터 보안성 : 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질

 

데이터 효율성 : 응답 시간, 저장 공간 활용등이 최적화되어 사용자, sw , 시스템 등의 요구 조건을 만족 시켜야 하는 성질

-------------------

데이터 베이스 고립화 수준

 

read Uncommitted :

한 트랜잭션에서 연산 중인 데이터를 다른 트랜잭션이 읽는 것을 허용하고, 연산 중인 데이터에 대한 연산은 불허

 

read Committed :

한 트랜잭션에서 연산을 수행할 때, 연산이 완료될 때 까지 데이터에 대한 읽기를 제한하고 연산이 완료되어 커밋된 데이터는 다른 트랜잭션을 읽는 것을 허용

 

Repeatable Read :

선행 트랜잭션이 특정 데이터를 읽을 때, 트랜잭션 종료 시까지 해당 데이터에 대한 갱신/ 삭제를 제한

 

Serializable  Read :

선행 트랜잭션이 특정 데이터 영역을 순차적으로 읽을 때 , 해당 데이터 영역 전체에 대한 접근을 제한

-----------------------------------

join

 

select name, score from student a join student_score on a.no = b.no;

공통 존재 컬럼의 값이 같은 경우를 추출: 내부 조인

-----------------------------------------

버퍼 오버플로우 : 메모리에 할당된 버퍼 크기를 초과하는 양의 데이터를 입력해 프로세스 흐름을 변경시켜 악성 코드를 싱행 시키는 공격

 

스택 버퍼 오버 플로우: 

Local Value /Return Address 가 저장되는 스택 영역서 발생

주소 변경, 공격자가 원하는 임의의 코드를 실행시키는 공격

 

힙 버퍼 오버 플로우 :

프로그램 실행시 동적으로 할당되는 힙 영역에 할당된 버퍼 크기를 초과하는 데이터를 입력, 메모리의 데이터와 함수 주소 등을 변경 공격자가 원하는 임의의 코드를 실행하게 함

 

대응 방안 :

스택가드 : 카나리

스택쉴드 : Global RET 

ASLR: 주소 공간에 난수 배치, 리눅스서 설정 가능

---------------------------------------------------

애플리케이션 공격 기법 유형

 

HTTP GET Flooding :

HTTP 캐시 옵션 조작, 캐싱 서버가 아닌 웹 서버가 직접 처리하도록 유도, 웹 서버 자원을 소진 시키는 서비스 거부 공격

 

Slowloris (slow http header dos):

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

 

  RUDY (slow http header dos):

요청 헤더의 content length 를 비정성적으로 크게 설정해 메세지 바디 부문을 매우 소량으로 보내 계속 연결 상태를 유지시키는 공격

 

Hulk Dos:

공격자가 공격 대상 웹 사이트 웹 페이지 주소를 지속적으로 변경하면서 다량으로GET요청을 발생시키는 서비스 거부 공격

 

Hash Dos :

조작된 많은 수의 파라미터를 POST 방식으로 웹서버에 전달, 다수의 해쉬 충돌을 발생시켜 자원을 소모시키는 서비스 거부 공격

------------------------

alter table add: 컬럼 추가

atler table tablename add user varchar(100) not null;

tablename 에 user(데이터타입 varchar(100)) 컬럼을 추가, null 값 안되게

 

alter table modify : 테이블 수정

alter table student modify class varchar(20) not null;

student  테이블에 class(datatype varchat(20) 추가. null 값 안됨

--------------------------

 

정적 테스트 기법 유형:

 

리뷰 :

산출물에  존재하는 결함을 검출하거나 프로젝트의 진행 상황을 점건하기 위한 활동.전문가가 수행

 

정적 분석:

도구의 지원을 받아 정적 테스트를 수행. 자동화된 도구를 이용해 산출물의 결함을 검출하거나 복잡도 측정

 

-----------------------

 

데이터 웨어하우스 :

사용자의 의사결정에 도움을 주기 위해 기간 시스템의 데이터베이스에 축적된 데이터를 공통 방식으로 전환해 통합적으로 관리하는 데이터베이스

 

데이터마트:

재무, 생산, 운영 등과 같이 특정 조직의 특정 업무 분야에 초점을 맞춰 구축된 저장 공간

------------------------------------

 

프로세스 관련 용어

 

TPS ( Transaction per second):

초당 몇 개의 트랜잭션을 처리 할 수 있는지 나타내는 서비스 성능 지표

 

반환 시간 Turnaround time :

프로세스들이 입력되어 수행하고 결과를 산출하기까지 소요되는 시간

------------------------------

BGP (Border  Gateway Protocol) 은 as 상호간에 경로 정보를 교환하기 위한 라우팅 프로토콜로 변경 발생 시 대상까지의 가장 짧은 경로를 경로벡터(Path Vector) 알고리즘을 통해 선정하고, TCP연결을 통해 자치 시스템(AS) 으로 라우팅 정보를 신뢰성 있게 전달하는 특징이 있다

------------

디피헬만 알고리즘 :

1976년 고안한 알고리즘, 유한 필드 내에서 이산대수의 계산이 어려운 문제를 기본 원리로 하고, 공개키 암호 방식의 개념을 이용해 두 사용자간의 공통의 암호화 키를 안전하게 공유할 방법을 제시. 많은 키 분배 방식에 관한 연구의 기본이 된 최조의 비밀키 교환 프로토콜이 된 최초의 공개키 알고리즘

---------------------

집합연산자

union: 중복 레코드 제외

union all : 중복 레코드 허용

intersect : 중복 레코드만 허용

minus : 첫 쿼리에는 있고 두번째 쿼리에는 없는 결과 반환 

 

select studentnum from student where grade >='3' 

union

select studentnum from student where grade >='4';

--------------------------------------

데이터 베이스 이상 현상 : 삽입 삭제 갱신 

이상 현상 Anomaly:

데이터를 데이터 베이스에 저장할 시 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는 현상

-------------------------------

네트워크 공격 기법 :

 

IP Spoofing : 타킷 시스템의 정보를 빼내기 위해 침입자가 속여 자신의 패킷 헤더를 인증된 호스트의 ip주소로 위조해 타깃에 전송하는 공격기법

 

ARP spoofing : arp 멤시지를 이용해 상대방의 데이터 패킷을 중간에 가로채는 중간자 공격 기법

 

ICMP Redirect : ICMP Redirct 메시지를 공격자가 원하는 형태로 만들어 특정 목적지로 가는 패킷을 공격자가 스니핑 하는 긱법

 

트로이 목마:

겉은 정상 속은 악성코드 

------------------------------

RSA:

1977년 3명의 MIT교수가 고안한 큰 인수의 곱을 소인수분해하는 수학적 알고리즘을 이용하는 공개키 암호화 알고리즘이다. 비밀키의  복호화가 어려운 RSA 안정성은 소인수분해문제의 어려움에 근거를 두고 있다.

비대칭키 암호화 방식이다

--------------------------------------

a-> b이고 b->c이면서 a->c인 관계는 : 이행함수 종속 관계

-----------------------------

 

 

 

 

 

728x90