ToBe끝판왕

[ 5과목 ] 정보시스템 구축 관리 본문

■ 자격증/정보처리기사

[ 5과목 ] 정보시스템 구축 관리

업그레이드중 2022. 5. 18. 23:41
반응형

 

< 참고사항 >

※ 정보처리기사 개정된 후,  기출문제들 다 풀고 3회 정도 반복할 것!
※ 이해 안 되는 문제들은 유튜브를 통해서 이해할 것! ( 전문강사들이 문제풀이 영상 많음 )
※ 게시물은 자주 나오는 필기 기출 내용 위주이지만 스스로 다른 개념들도 확인해볼 것!

 


 

소프트웨어 개발 방법론

 

 

•  소프트웨어 개발 방법론

-  소프트웨어 개발, 유지보수 등에 피룡한 여러가지 일들의 수행방법과 이러한 일들을 효율적으로 수행하려는 과정에서 필요한 각종 

   기법 및 도구를 체계적으로 정리하여 표준화

 

•  구조적 방법론

-  정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리중심의 방법론

-  1960년대까지 가장 많이 적용되었던 소프트웨어 개발 방법론

-  쉬운 이해 및 검증이 가능한 프로그램 코드를 생성하는것이 목적

-  분할과 정복 원리 적용

 

•  정보공학 방법론

-  정보시스템의 개발을 위해 계획, 분석, 설계, 구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료( Data)

    중심의 방법론

-  정보시스템 개발 주기를 이용하여 대규모 정보 시스템 구축하는데 적합

-  데이터 모델링으로 개체 관계도( ERD : Entity-Relationship Diagram ) 사용

 

•  컴포넌트 기반( CBD : Component Based Design ) 방법론

-  기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론이다.

-  컴포넌트의 재사용( Reusability ) 이 가능하여 시간과 노력 절감 가능

-  새로운 기능을 추가하는 것이 간단하여 확장성이 보장

-  유지보수 비용을 최소화하고 생산성 및 품질 향상 가능

 

 

※  소프트웨어 재사용

•  이미 개발되어 인정받은 소프트웨어의 전체 혹은 일부분을 다른 소프트웨어 개발이나 유지에 사용

 

•  장점

-  개발 시간과 비용 단축

-  소프트웨어 품질 향상

-  소프트웨어 개발의 생산성 향상

-  프로젝트 실패의 위험 감소

-  시스템 구축 방법에 대한 지식, 시스템 명세, 설계, 코드등 문서 공유

 

•  재사용 방법

-  합성 중심( Composition-Based ) : 블록( 모듈 )을 만들어서 끼워 맞추어 소프트웨어를 완성시키는 방법( = 블록 구성 방법 )

-  생성 중심( Generation-Based ) : 추상화형태로 쓰여진 명세를 구체화하여 프로그램을 만드는 방법( = 패턴 구성 방법 )

 

※  소프트웨어 재공학 ( Software Reengineering )

•  기존 소프트웨어의 데이터와 기능들의 개조 및 개선을 통해 유지보수성과 품질을 향상시키려는 기술

•  기존 소프트웨어의 기능을 개조하거나 개선하므로, 예방 유지보수 측면에서 소프트웨어의 위기 해결

•   소프트웨어의 수명 연장, 소프트웨어의 개발기간 단축

 

•  역공학( Reverse Engineering )

-  기존 소프트웨어를 분석하여 소프트웨어 개발과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를

    재발견하거나 다시 만들어내는 활동

-  일반적인 개발 단계와는 반대 방향으로 기존 코드를 복구하거나, 기존 소프트웨어의 구성 요소와 그 관계를 파악하여

   설계도를 추출한다.

 

•  이식( Migration )

-  기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할 수 있도록 변환

 

 


 

 

소프트웨어 생명주기 모형( SDLC )

 

 

1) 폭포 수형 모형 ( 선형순 차 모형 )

•  단계별 산출물이 명확하다.

•  각 단계의 결과가 확인된 후, 다음 단계로 진행하는 단계적 / 순차적 접근 방식이다.

•  기존 시스템 보안에 좋다.

•   각 모듈( Module ) 단위로 코딩한다.

•   개발 과정 중 발생하는 새로운 요구나 경험을 설계에 반영하기 힘들다.

 

2) 프로토타입 모형( Prototyping Model )

•  실제 개발될 소프트웨어의 일부분을 직접 개발

•  요구사항을 미리 정확하게 파악 하귀 한 모형

•  사용자가 최종 결과물의 일부 or 모형을 볼 수 있다.

•  시스템 개발 초기에 사용자가 개발에 참여함으로써, 오류를 조기에 발견할 수 있다.

 

3) 나선형 모형( Spiral Model )

•  폭포수 모델과 프로토타이핑 모델의 장점을 수용

•  새로운 요소인 위험분석을 추가한 진화적 개발 모델이다.

•  프로젝트 수행 시, 발생하는 위험을 관리하고 최소화하는 것을 목적으로 한다.

• 계획 수립 / 위험분석 / 개발 / 사용자 평가의 과정을 반복적으로 수행

 


 

상향식 비용 산정 기법

 

 

1) 개요

•  프로젝트의 세부적인 작업 단위별로 비용을 추정하여 전체적 비용을 산정•  각 서브시스템 개발하는데 소요되는

경비는 강조되지만, 전체 시스템 차원의 비용을 고려하지 못할 수도 있다.

ex)

LOC( 원시 코드 라인 수 ) 기법 / 개발 단계별 인원수( Effort Per Task )

수학적 산정 기법( COCOMO 모형 , Putnam 모형 / 기능점수 모형 )

 

 

2) LOC( 원시 코드 라인 수, Source Line Of Code ) 

•  소프트웨어 각 기능의 원시 코드 라인수의 비관치 / 낙관치 / 기대치를 측정하여 예측치를 구하고  이를 이용하여

   비용을 산정하는 기법

•  측정이 용이하고 이해하기 쉬워 가장 많이 사용

•  예측치를 이용하여 생산성, 노력, 개발기간등의 비용을 산정

•  PERT의 예측공식을 이용한다.

•  공식

예측치 = ( a + 4m + b ) / 6      ( a : 낙관치 , b : 비관치 , m : 기대치( 중간치 ) )

 

 

3) 개발 단계별 인월수( Effort per Task ) 기법

•  LOC기법을 보완, 각 기능을 구현하는데 필요한 노력을 생명주기의 각 단계별로 산정( LOC 기법보다 더 정확 )

•  각 단계별 인월수의 산정 시 PERT의 예측공식 적용할 수 있다.

 

 

4) COCOMO( Constructive Cost Model ) 

•  비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적에 널리 통용되고 있다.

•  같은 규모의 프로그램이라도 그 성격에 따라 비용이 다르게 산정

•  비용 산정 결과는 프로젝트를 완성하는데 필요한 노력( Main-Month )으로 나타난다.

•  비교적 작은 규모의 프로젝트 기록을 통계 분석하여 얻은 결과를 반영한 모델이며 중소 규모 소프트웨어

    프로젝트 비용 추정에 적합하다.

•  보헴( Bohem ) 이 제안한 것으로 원시 코드 라인수에 의한 비용 산정 기법이다.

 

 

•  COCOMO 소프트웨어 개발 유형

 

•  COCOMO 모형 종류

 

5) Putnam 모형 

•  소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 가정해주는 모형

•  생명주기 예측 모형이라고도 한다.

•  시간에 따라 함수로 표현되는 Rayleigh_Norden 곡선의 노력 분포도 기초

•  대형 프로젝트의 노력 분포 산정에 이용되는 기법

•  개발 기간이 늘어날수록 프로젝트 적용 인원의 노력이 감소

    => SLIM : Rayleigh-Norden 곡선과 Putnam 예측모형을 기초로 개발된 자동화 추정 도구

 

 

6) 기능 점수 모형( FP : Function Point )

•  소프트웨어의 기능을 증대시키는 요인별로 가중치 부여, 요인별 가중치를 합산하여 총 기능점수를 산출

    총 기능점수와 영향도를 이용하여 기능점수( FP )를 구한 후, 이를 이용해 비용 산정

    => ESTIMACS : 다양한 프로젝트와 개인별 요소를 수용하도록 FP모형을 기초 개발된 자동화 추정 도구

•  자료의 입/출력 , 알고리즘을 이용한 정보의 가공 / 저장을 중시한다.

•  유용성과 간편성 때문에 관심이 집중되고 있다.

•  라인 수에 기반을 두지 않는다는 장점이 있다.

 

•  기능점수 모형에서 비용 산정에 이용되는 요소 

-  자료 입력( 입력 양식 )

-  정보 출력( 출력 보고서 )

-  명령어( 사용자 질의 수 )

-  데이터 파일

-  필요한 외부 루틴과의 인터페이스

 


 

SPICE( Software Process Improvement and Capability Determination )

 

•  소프트웨어 프로세스 평가를 위한 국제 표준을 제정하는 국제적인 표준화 프로젝트

•  CMM과 유사한 프로세스 평가를 위한 모델 제시 및 심사과정을 제안한다.

•  SPICE를 기준으로 한 심사와 평가가 양성된 심사원에 의해 이루어진다.

•  프로세스 개선을 위해 개발기관이 스스로 평가한다.

•  기관에서 요구한 조건의 만족 여부를 개발 조직이 스스로 평가한다.

•  계약 체결을 위해 수탁기관의 프로세스를 평가한다.

 

 

 


 

CMM 성숙도 5단계( Maturity 5 Level )

 

CMM( Capability Maturity Model )

소프트웨어 조직이 높은 품질의 소프트웨어를 일관성 있고 예측 가능하게 생산할 수 있는지의 능력을 정량화하는 시도

 

•  목적

-  소프트웨어 공급자의 장단점을 발견하기 위한 평가 기준으로 사용된다.

-  개발자 스스로 프로세스 능력을 평가하고 개선방향을 설정하도록 돕는다.

 

•  CMM 성숙도 5단계

 

 


 

프로세스 성숙도 5단계

 

개발 조직의 업무 능력 및 조직의 성숙도 평가 

 


 

소프트웨어 테일러링( Tailoring ) 개발 방법론 

 

1) 개요

프로젝트 상황 및 특성에 맞도록 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 및 보완하여 적용하는 작업

 

2) 고려사항

•  내부적 요건 : 목표 환경 / 요구사항 / 프로젝트 규모 / 보유 기술

    ex) 구성원 능력 / 납기 & 비용 / 기술환경

 

•  외부적 요건 : 법적 제약사항 / 국제표준 품질기준

 


 

네트워크 구축

 

1) 버스형( Bus )

•  한 개의 통신 회선에 여러 대의 단말장치가 연결되어 있는 형태 ( LAN에서 사용 )

•  물리적 구조가 간단, 단말장치의 추가와 제거가 용이

•  단말장치 고장 나더라도 통신망 전체에 영향 주지 않기 때문에 신뢰성 향상

•  기밀 보장이 어렵고, 통신회선의 길이에 제한

 

2) 링형( Ring )

•  원형을 이루는 신호 경로를 따라, 두 개의 다른 장치와 연결되어 있는 형태

•  링내의 각 장치는 고유한 주소를 가진다.

•  정보흐름은 단방향으로만 진행된다.

•  근거리통신망의 한 종류인 토큰링 네트워크가 가장 일반적인 형태이다.

 


 

경로 제어 프로토콜( Routing Protocol )

 

•  목표

모든 목적지로의 가장 좋은 경로 탐색

 

•  가장 좋은 경로

경로상 데이터 통신망 링크를 통과하는 비용의 합이 가장 작은 경로

 

•  정의

- 라우팅 테이블의 효율적인 설정과 갱신을 위해 상호 간에 교환하는 메시지의 종류 / 교환 절차 / 메시지

  수신 시의 행위 규정

- 자치 시스템( AS , Autonomous System ) 내에 운영되는 라우팅 프로토콜을 IGP라고 한다.

 

•   종류

1) RIP( Routing Information Protocol )

-  IGP로 최적의 경로를 설정하는 소규모 프로토콜

-  최대 홉 수 , 15홉 이하로 제한

- 거리 벡터 라우팅 프로토콜이라고도 부른다.

 

 

2) OSFP( Open Shortest Protocol )

- IGP로 RIP의 단점을 개선, 최단경로 대규모 프로토콜

 

 

3) BGP( Border Gateway Protocol )

- 자치시스템 간의 라우팅 프로토콜, EGP의 단점을 보완

 

 


 

Secure SDLC

 

 

•  보안상 안전한 소프트웨어를 개발하기 위해 SDLC에 보안 강화를 위한 프로세스를 포함한 것

•  소프트웨어의 유지보수 단계에서 보안 이슈를 해결하기 위해 소모되는 많은 비용을 최소화하기 위해 등장

 

 

•  요구사항 분석 : 보안 항목에 해당하는 요구사항을 식별

•  설계 : 보안 설계서 작성

•  구현 : 표준 코딩 정의서 및 시큐어 코딩( Secure Coding )을 준수, 지속적인 단위 테스트를 통해 소스코드의 안정성 확보

•  테스트 : 동적 분석 도구 or 모의 침투 테스트를 통해 검증

•  유지보수 : 발생할 수 있는 보안사고 식별 및 보안 패치 실시

 

 

2) 보안요소 

 

 

※  Secure SDLC 대표적인 방법론

•  Seven Touchpoints

-  소프트웨어 보안의 모범사례를 SDLC에 통합한 방법론

-  설계 및 개발 과정의 모든 산출물에 대해 위험 분석 및 테스트 수행

-  SDLC 각 단계에 관련된 7개의 보안강화 활동 수행


 

암호 알고리즘

 

 

•  암호 알고리즘

-  패스워드 , 주민번호, 은행계좌와 같은 중요정보 보호하기 위해 평문을 암호화된 문장으로 만드는 절차 또는 방법

 

•  암호화( Encryption ) 과정

-  암호화되지 않은 평문을 정보 보호를 위해 암호문으로 바꾸는 과정

ex) 개인키 암호방식( 대칭키 ) , 공개키 암호 방식( 비대칭키 )

 

•  복호화( Decryption) 과정

-  암호문을 원래의 평문으로 바꾸는 과정

 

 

2) 암호화 방식

※ 개인키 암호방식의 방식에 따른 종류는 필수로 암기한다.

 

 

3) 양방향 알고리즘 종류

 


 

접근 통제 정책

 

1) 임의적 접근통제 ( DAC : Discretionary Access Control )

•  접근하고자 하는 주체의 신분에 따라 접근 권한을 부여한다.

•  구현이 쉽고 권한 변경이 유연한 장점이 있다.

•  하나의 주체마다 객체에 대한 접근권한을 부여해야 하는 불편한 점이 있다.

 

 

2) 강제적 접근통제( MAC : Mandatory Access Control )

•  주체와 객체의 등급을 비교하여 접근권한을 부여한다.

•  모든 객체는 비밀성을 지니고 있다고 보고 객체에 보안 레벨을 부여한다.

•  주로 군사용으로 사용된다.

 

 

3) 역할 기반 접근통제( RBAC : Role Based Access Control )

•  주체와 객체 사이에 역할을 부여하여 임의적 / 강제적 접근통제 약점을 보완한 방식

•  주체의 인사이동이 잦을 때 적합하다.

 

 


 

서비스 공격 유형

 

서비스 거부 공격
DoS( Denial of Service )
표적이 되는 서버의 자원을 고갈시킬 목적으로 다수의 공격자 또는
시스템에서 대량의 데이터를 한곳의 서버에 집중적으로 전송함으로써
표적이 되는 서버의 정상적인 기능을 방해
Ping of death 네트워크에서 수백개의 패킷으로 잘게 쪼개져 보내져
대량의 작은 패킷을 수신하게 되어 네트워크가 마비된다.
TearDrop •  IP패킷 전송이 잘게 나누어졌다가 다시 재조합하는 과정의 약점을 악용한 공격이다.

•  Fragment Offset 값을 변경, 패킷 재조립시 오류로 인한 과부하를 발생시킨다.
Syn Flooding •  대상 시스템에 연속적인 SYN 패킷을 보내서 넘치게 만드는 공격이다.

•  공격자가 가상의 클라이언트로 위장, 3-Way-handshakre 과정을 의도적으로
   중단시킨다.
Land Attack •  송/수신 IP 주소를 모두 공격대상의 IP주소로 하여 공격대상 자신에게
  전송하는 것으로 자신에 대해 무한히 응답하게 하는 공격방법

•  출발지와 목적지 IP 주소값을 똑같게 하는것이다.
Smurfing •  IP / ICPMP 특성을 악용하여 엄청난 양의 데이터를 한사이트에 집중적으로
  보냄으로써 네트워크를 불능상태로 만드는 공격방법

•  수많은 ICMP Reply를 받게되고 Ping of Deth 처럼 수많은 패킷이
  시스템을 과부하 상태로 만든다.
DDoS
(Distributed Denial of
Service )
•  여러 대의 공격자를 분산배치, 동시에 DoS 공격을 한다.

•  엄청난 분량의 패킷이 동시에 범람하여 네트워크의 성능을 저하하거나
   시스템을 마비시키는 공격방법

 

 


 

네트워크 침해 공격 관련 용어

 

스미싱
( Smishing )
문자메시지( SMS )에 링크를 걸어 사용자의 개인정보를 빼내는 수법이다.
스피어 피싱
( Spear Phishing )
메일의 링크나 파일 클릭을 유도한 후, 개인정보를 탈취하는 방법이다.
큐싱
( Qshing )
QR코드와 개인정보 / 금융정보를 낚는다( fishing ) 의 합성어이다.
SQL 삽입공격 SQL 이용하여, 취약한 사이트 데이터베이스등의 데이터를 조작하는 방법이다.

 


 

정보 보안 침해 공격 관련 용어

 

Zombie PC   악성코드에 감염되어 다른 프로그램이나 컴퓨터를 조종하도록 만들어진 컴퓨터
 이고, 주로 DDoS 에 이용된다.
랜섬웨어 컴퓨터에 침임하여 내부문서 파일들을 암화화해 사용자가 열지 못하게 하는 공격

암호해독용 프로그램의 전달을 조건으로 돈을 요구한다.
백도어 프로그래머의 엑세스 편의를 위해 시스템 보안을 제거하여 만들어 높은
비밀통로
키로거 공격
( Key logger Attack )
사용자의 키보드 움직임을 탐지한 후, ID / 패스워드등 개인의 중요한 정보를
ㄹ래 빼가는 해킹 공격이다.

 


 

스토리지( Storage )

 

서버에 데이터를 저장하는 장소이다.

 

•  종류

1) DAS( Direct Attached Storage , 직접 연결 스토리지 )

-  서버와 직접 연결

-  쉽게 확장이 가능하고 속도가 빠르다.

 

 

2) NAS( Network Attached Storage, 네트워크 결합 스토리지 )

-  스토리지가 LAN 연결, 외부와 네트워크 통신 방식

-  데이터 외부 공유가 가능하고 여러 장치와 연결이 가능하다.

-  병목현상이 일어날 수 있다.

 

 

3) SAN( Storage Area Network, 스토리지 영역 네트워크 )

-  여러 개의 스토리지를 하나의 네트워크로 연결한다.

-  LAN 사용 X

 


 

IoT 관련 용어

 

IoT
( 사물 인터넷 )
M2M( Machine to Machine ) 개념을 인터넷으로 확장
사물 / 현실 / 가상세계 모든정보와 상호작용하는 개념
Wi - Sun
( 와이선 )
스마트그리드와 같은 장거리무선 통신을 필요로 하는 사물인터넷
서비스를 위한 저전력장거리( LPWA ) 통신기술
PicoNet
( 피코넷 )
여러개의 독립된 통신장치가 UWB 통신기술 또는 블루투스 기술
사용하여 통신망을 형성하는 무선 네트워크 기술
메시 네트워크
( Mesh network )
차세대 이동통신, 홈네트워킹, 공공 안전 등 특수 목적을 위한 네트워크
수십에서 수천개의 디바이스를 그물망과 같이 유기적으로 연결하여 모든 구간을
동일한 무선망처럼 구성하여 사용자가 안정적인 네트워크 사용 가능
올조인
( AllJoyn )
오픈소스 기반의 사물인터넷 플랫폼
다른 운영체제나 하드웨어를 사용하는 기기들이 표준화된 플랫폼을 이용함으로써 
서로 통신 및 제어가 가능

 


 

소프트웨어 관련 신기술

 

BlockChain
( 블록체인 )
P2P( Pear to Pear ) 네트워크 이용 ,온라인 금융거래 정보를 온라인 네트워크 참여자
( peer ) 의 디지털 장비에 분산 저장한다.
GrayWare
( 그레이웨어 )
애드웨어( 광고 ) , 트랙웨어( 스파이웨어 ) , 악성공유웨어를 말한다.
Mashup
( 매시업 )
웹에서 제공하는 정보 / 서비스 이용, 새로운 소프트웨어나 서비스 데이터베이스 등을
만드는 기술

=> 콘텐츠 조합 / 하나의 서비스로 제공하는 웹사이트 / 어플리케이션
Digital Twin
( 디지털 트윈 )
현실속의 사물을 소프트웨어로 가상화한 모델
현실속 사물 대신해 가상세계에서 다양한 상황을 모의 실험한다.

 


 

하드웨어 관련 신기술

 

N - Screen N개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스

ex) PC , TV , 스마트폰 에서 동일한 콘텐츠를 이용 가능하다.
Memrist
( 멤리스트 )
메모리( Memory ) + 레지스트( Register )

전류의 방향과 양 등 기존의 경험을 모두 기억하는 특별한 소자
전류가 끊어져도 기존의 상태 그대로 복원
M - DISC 한번의 기록만으로 자료를 영구보관 가능케 한다. ( 광 저장장치 )

 


 

데이터베이스 관련 신기술

 

메타 데이터
( Meta Data )
일련의 데이터를 정의하고 설명해주는 데이터
하둡
( Hadoop )
오픈소스 기반 분산 컴퓨팅 플랫폼이다.

가상화된 대형 스트로지 형성
데이터 마이닝
( Data Mining )
대량의 데이터 분석, 변수사이의 상호관계 규명, 일정한 패턴 찾아내는 기법
맵리듀스
( Map Reduce )
연관성 있는 데이터로 묶는 Mapping 작업, 중복데이터 제거, 원하는 데이터를 추출

 


 

보안 솔루션

 

방화벽 외부로 나가는 패킷 = 통과

들어오는 패킷 = 엄밀히 체크
침입 방지 시스템
( Instrusion Prevention System
, IPS )
비정상적인 트래픽 능동적 차단 및 격리
VPN
( Virtual Private Network )
가상시설 네트워크, 공동 네트워크 + 암호화 기술 이용

사용자가 자신의 전용회선 사용하는 것처럼 보이게 한다.

 


 

기출문제 단어 및 개념

 

1) StackGuard

메모리상에서 프로그램의 복귀 주소와 변수 사이에 특정값을 저장해두었다가, 그 값이 변경되었을 때

오버플로우( Overflow ) 상태로 가정하여 프로그램 실행 중단

 

 

2) OSPF

네트워크 변화에 신속하게 대처한다.

멀티캐스팅을 지원한다.

최단경로 탐색 dijkstra 알고리즘을 사용한다.

 

 

3) 정보보안 3대 요소

기밀성( Confidentiality ) / 무결성( Integrity ) / 가용성( Availability )

 

 

4) Mesh Network

•  차세대 이동통신 / 특수목적을 위한 새로운 방식

•  다른 국을 향하는 호출이 중계에 의하지 않고 직접 접속되는 그물 모양의 네트워크

•  다수의 국 사이에는 회선이 세분화되어 비경제적일 수 있다.

•  대용량을 빠르고 안전하게 전달할 수 있어 행사장이나 군 등에서 많이 활용된다.

 

 

5) 서비스 지향 아키텍처( SOA ) 계층

•  표현 계층( Presentation Layer )

•  프로세스 계층( Process Layer )

•  서비스 계층( Service Layer )

•  비즈니스 계층( Business Layer )

•  영속 계층( Persistency Layer )

 

 

6) SADT

블록 다이어그램 채택 자동화 도구

 

 

7) Wavelength division Multiplexing

광섬유 이용 통신기술이며, 파장이 다른 복수의 광신호이다.

 

 

8) 세션 하이재킹

•  서버에 접속하고 있는 클라이언트들의 세션정보를 가로채는 공격 기법

•  공격자는 서버와 상호간의 동기화된 시퀀스 번호를 이용하여 인가되지 않은 시스템의 기능을 이용하거나

    중요한 정보에 접근 가능케 됨

 

•   탐지방법

-  비동기화 상태 탐지

-  ACK STORM 탐지

-  패킷의 유실 & 재전송 증가 탐지

 

 

9) 코드 오류

•  Omission Error( 생략 오류 ) : 한자리 빼놓고 기록

•  Transcription Error( 필사 오류 ) : 한자리 잘못 기록

•  Additional Error( 추가 오류 ) : 한자리 추가 기록

 

 

10) NTFS의 특징

•  대용량 볼륨에 효율적

•  자동압축 및 안정성

•  저용량 볼륨에서의 속도 저하

 

 

11) TCP Wrapper

•  어떤 외부 컴퓨터가 접속되면 접속 인가 여부를 점검해서 인가된 경우에는 접속이 허용되고

•  그 반대의 경우에는 거부할 수 있는 접근제어 유틸리티

 

 

12) Zing

•  기기를 키오스크에 갖다 대면 원하는 데이터를 바로 가져올 수 있는 기술

•  10cm 이내 근접 거리에서 기가급 속도로 데이터 전송이 가능한 초고속 근접 무선통신 기술

 

 

13) 취약점 관리를 위한 응용프로그램 보안설정

•  실행 프로세스 권한 설정

•  운영체제의 접근 제한

•  운영체제의 정보 수집 제한

 

 

14) 클라우드 기반 HSM( Cloud-based hardware Security Module )

•  클라우드( 데이터센터 ) 기반 암호화 키 생성 / 처리 / 저장 등을 하는 보안기기

•  국내에서는 공인인증제의 폐지와 전자서명법 개정을 추진하면서 클라우드 HSM 용어가 자주 등장

•  클라우드에 인증서를 저장하므로 기존 HSM기기나 휴대폰에 인증서를 저장해 다닐 필요가 없다.

 

 

15) Worm

악성코드의 유형 중, 다른 컴퓨터의 취약점을 이용하여 스스로 전파하거나 메일로

전파되며 스스로를 증식하는 것

 

 

16) Authentication

•  자신의 신원( Identity )을 시스템에 증명하는 과정

•  아이디와 패스워드를 입력하는 과정이 가장 일반적인 예시

 

 

17) 소프트웨어 정의 기술( = SDE, Software-Defined Everything )

 

•   소프트웨어 정의 네트워킹( SDN : Software Defined Networking )

-  네트워크를 모델링 하여 여러 사용자가 각각의 소프트웨어들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크

-  하드웨어에 의존하는 네트워크 체계에 비해 보다 효율적으로 네트워크 제어, 관리 가능

-  기존 네트워크에는 영향을 주지 않으면서 특정 서비스의 전송 경로 수정을 통하여 인터넷상에서 발생하는 문제 처리 가능

네트워크를 제어부 / 데이터 전달부로 분리하여 네트워크 관리자가 보다 효율적으로 네트워크를 제어/ 관리할 수 있는 기술

기존의 라우터 / 스위치 드오가 같이 하드웨어에 의존하는 네트워크 체계에서  안전성 / 속도 / 보안 등을 소프트웨어로

     제어 / 관리하기 위해 개발

 

•   소프트웨어 정의 데이터센터( SDDC : Software Defined Data Center )

-  데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터

 

•   소프트웨어 정의 스토리지( SDS : Software-Defined Storage )

-  물리적인 데이터 스토리지( Data Storage ) 를 가상화하여 여러 스토리지를 하나처럼 관리하거나, 하나의 스토리지를

    여러 스토리지로 나눠 사용할 수 있는 기술

 

 

 

 

 

18) PERT 차트

•   각 과정별로 낙관적인 경우, 가능성이 있는 경우, 비관적인 경우로 나누어 각 단게별 종료시기 결정하는 방법

•   과거에 경험이 없어서 소요기간 예측이 어려운 소프트웨어에서 사용

•   결정경로, 작업에 대한 경계시간, 작업간의 상호 관련성 등을 알 수 있다.

 

 

19) CPM( Critical path Method, 임계 경로 기법 )

•   프로젝트 완성에 필요한 작업을 나열하고 작업에 필요한 소요기간 예측하는 기법

•  노드와 간선으로 이루어진 네트워크로, 노드는 작업, 간선은 작업사이의 전후 의존 관계

•  원형 노드는 각 작업을 의미하며 작업이름과 소요기간 표시

•  박스 노드는 이정표를 의미하며 박스 노드위에 예상완료 시간 표시

•  각 작업의 순서와 의존관계, 어느 작업이 동시에 수행될 수 있는지 한눈에 볼 수 있다.

 

 

20) 간트 차트( Gantt Chart )

•  프로젝트의 각 작업들이 언제 시작하고 언제 종료되는지에 대한 작업일정을 막대 도표를 이용하여 표시하는 프로젝트 일정표

•  중간 목표 미달성 이유와 기간을 예측 가능토록 함

•  사용자와의 문제점이나 예산의 초과 지출등도 관리 가능

•  자원 배치와 인원 계획에 유용하게 사용

•  작업경로 표시 불가능, 계획의 변화에 대한 적응성이 약함

 

 

21) 소프트웨어 프레임워크

•  프레임워크( Framework ) 는 소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화하여

    손쉽게 구현할수 있도록 여러가지 기능들을 제공해주는 반제품 형태의 소프트웨어 시스템이다.

•  선행 사업자에 대한 의존도를 감소시키고 사업자 종속성 해소

 

•  프레임워크 특성

-  모듈화( Modularity ) : 캡슐화를 통해 모듈화를 강화하고 설계 및 구현의 변경에 따른 영향을 최소화함으로써 소프트웨어 품질 향상

-  재사용성( Reusability ) : 재사용 가능한 모듈들을 제공함으로써 예산 절감, 생산성향상, 품질 보증이 가능

-  확장성( Extensibility ) : 다형성( Polymorphism ) 을 통한 인터페이스 확장이 가능하여 다양한 형태와 기능을 가진 애플리케이션                                                   개발 가능

-  제어의 역흐름( Inversion of Control ) : 개발자가 관리하고 통제해야 하는 객체들의 제어를 프레임워크가 대신하여 생산성 향상

 

22) 입력 데이터 검증 및 표현의 보안 약점

•  SQL 삽입 ( SQL Injection )

-  웹 프로그램에 SQL을 삽입하여 내부 데이터베이스 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회하는

   보안 약점

-  동적 쿼리에 사용되는 입력 데이터에 예약어 및 특수문자가 입력되지 않게 필터링하여 방지

 

•  경로 조작 및 자원 삽입

-  데이터 입출력 경로를 조작하여 서버 자원을 수정 / 삭제할 수 있는 약점

-  사용자 입력값을 식별자로 사용하는 경우, 경로 순회 공격을 막는 필터를 사용하여 방지 가능

 

•  크로스사이트 스크립팅( XSS : Cross Site Scripting )

-  악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나, 시스템 장애를 유발하는 약점

-  HTML 태그의 사용을 제한하거나  스크립트에 삽입되지 않도록 다른문자로 치환함으로써 방지

 

•  운영체제 명령어 삽입

-  외부 입력값을 통해 시스템 명령어의 실행을 유도함으로써 권한을 탈취하거나 시스템 장애를 유발하는 약점

-  웹 인터페이스를 통해 시스템 명령어가 전달되지 않도록 하고, 외부 입력값을 검증 없이

   내부 명령어로 사용하지 않음으로써 방지 가능

 

 

23) 부적절한 예외처리

•  함수의 반환값 또는 오류들을 세분화하여 처리하지 않고 광범위하게 묶어 한번에 처리하거나, 누라고딘 예외가 

   존재하는 경우 발생하는 보안 약점

•  함수 등이 예상했던 결과와 다른 값을 반환하여 예외로 처리되지 않은 경우 잘못된 값으로 인해 다양한 문제 발생 가능

•  함수의 반환값이 의도대로 출력되는지 확인하고, 세분화된 예외처리 수행함으로 방지

 

 

24) 스택가드( Stack Guard )

•  널 포인터 역참조와 같이 주소가 저장되는 스택에서 발생하는 보안약점을 막는 기술중 하나

•  프로그램의 복귀 주소와 변수 사이에 특정갑승ㄹ 저장한 후 그 값이 변경되었을 경우 오버플로우 상태로 판단하여

   프로그램 실행을 중단함으로써 잘못된 복귀 주소의 호출을 막는 기술


 

 

 

2022년 2회 정보처리기사 필기 공부를 1주일 동안 하면서 다행히도 합격을 하게 되었다.

짧은 시간 동안 공부하면서 중요하다고 생각한 부분은

•   개정 후, 나온 기출문제들을 CBT 프로그램을 통해서 실제 시험을 보듯이 3번 정도
    반복하고 틀린 문제들은 오답노트를 만들어서 달달 암기하는 것이 아주 효과적이다.

•  기출문제를 풀면서 반복적으로 나오는 부분들은 따로 더 집중해서 암기한다.

•  코딩 관련 문제들이나 풀이 방법을 통해서 푸는 문제들은 Youtube에
   정보처리기사 필기 풀이로 검색을 해서 이해하고 넘어가는 것이 좋다.

 

 

 

 

반응형
Comments