자격증 ⁺₊

정보처리기사 필기 5과목 정리 - 정보시스템 구축 관리

by ₊⁺우산이끼⁺₊ 2024. 5. 22.
반응형

정보처리기사 5과목 내용 정리

소프트웨어 재사용, 재공학

소프트웨어 재사용 (Reuse) 소프트웨어 재공학 (Reengineering)
이미 나온 소프트웨어를 다른 소프트웨어 개발이나 유지에 사용
실패 위험↓ 생산성↑ 시간과 비용↓ 지식 공유
합성 중심(Composition-Based): 블록 구성 방법
생성중심(Generation): 패턴 구성 방법
기존 시스템을 이용해 더 나은 구축
새로운 기능 추가, 위기 해결, 수명 연장, 오류 감소 개발기간↓
- 분석(Analysis): 대상 선정
- 재구성(Restructuring): 코드 재구성, 기능과 외적인 동작은 바뀌지 않음.
- 역공학(Reverse Engineering): 설계도 추출
- 이식(Migration): 다른 운영체제나 하드웨어 환경에서 사용할 수 있게 변환

CASE

개발 과정을 자동화하는 것.

소프트웨어 생명 주기 전 단계의 연결
다양한 소프트웨어 개발 모형 지원
그래픽 지원

비용 산정 기법

LOC
: 원시 코드 라인 수로 예측
(낙관치 + 4 x 기대치 + 비관치) / 6

수학적 산정 기법
COCOMO 모형 개발할 소프트웨어의 규모(LOC)를 예측한 후 비용 산정 방정식에 대입.
중소 규모 프로젝트 비용 추정에 적합.
같은 규모더라도 그 성격에 따라 다르게 산정됨.
비용 산정 결과는 프로젝트 완성에 필요한 노력(Man-Month)으로 나타남.
- Organic Mode(조직형): 5만 라인 이하
- Semi-Detached Mode(반분리형): 30만 라인 이하
- Embedded Mode: 30만 라인 이상
Putnam 모형 생명 주기의 전 과정 동안에 사용될 노력의 분포를 가정.
Rayleigh-Norden 곡선의 노력 분포도를 기초.
대형 프로젝트의 노력 분포 산정에 이용.
*SLiM: 자동화 추정 도구
FP(기능 점수) 모형 소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여해 기능 점수 산출.
*ESTIMACS: 자동화 추정 도구

PERT

프로그램 평가 및 검토 기술.

소요 기간 예측이 어려운 소프트웨어에 사용

각 단계별 종료 시기 결정

작업 예측치 = (비관치 + 4x기대치 + 낙관치)/6

CMP

= 임계 경로 기법

소요 시간 예측

전 작업이 완료된 후 다음 작업 진행

임계 경로 = 최장 경로

ISO/IEC 12207

표준 소프트웨어 생명주기 프로세스

기본: 획득, 공급, 개발, 운영, 유지 보수
지원: 품질 보증, 검증, 확인, 활동 검토, 감사, 문서화, 형상 관리, 문제 해결
조직: 관리, 기반 구조, 훈련, 개선

CMMI

조직의 업무 능력, 성숙도 평가 모델

단계 프로세스 특징
초기 (Initial) X 능력에 따른 성공 여부
관리 (Managed) 규칙화 특정 프로젝트 정의 및 수행
정의 (Defined) 표준화 표준으로 업무 수행
정량적 관리 (Quantitatively Managed) 예측 가능 정량적으로 관리 및 통제
최적화 (Optimizing) 지속석 개선 역량 향상을 위해 지속적인 프로세스 개선

프레임워크(Framework)

  • 공통적으로 사용되는 구성 요소와 아키텍처를 일반화한 반제품 형태의 소프트웨어 시스템
  • 특성: 모듈화(Moduliarity), 재사용성(Reusability), 확장성(Extensibility), 제어의 역흐름(Inversion of Control)
  • 스프링 프레임워크, 전자정부 프레임워크, 닷넷 프레임워크(.NET)

네트워크 설치 구조

성형(Star, 중앙 집중형) Point-to-Point 방식으로 회선 연결
링형(Ring, 루프형) 서로 이웃하는 것끼리 연결.
분산 및 집중 제어 모두 가능.
버스형 한 개의 통신 회선에 여러 대의 단말장치 연결
계층형(Tree, 분산형) 중앙 컴퓨터와 일정 지역의 단말장치까지는 하나의 통신 회선으로 연결.
이웃하는 단말장치는 일정 지역 내에 설치된 중간 단말장치로 연결
망형(Mesh) 모든 지점의 컴퓨터와 단말장치를 서로 연결.
모든 노드를 연결하려면 노드가 n개일 때 n(n-1)/2개의 회선 필요.
노드당 n-1개의 포트 필요.

용어

소프트웨어 관련 용어
Mashup 웹에서 제공하는 정보 및 서비스를 이용해 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술
서비스 지향 아키텍처(SOA) 기업의 정보시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축
Digital Twin 현실 속의 사물을 소프트웨어로 가상화
텐서플로 구글의 구글 브레인 팀이 만든 오픈소스 소프트웨어 라이브러리
도커 컨테이너 기술 자동화
Scrapy Python 웹 크롤링 프레임워크
보안 관련 용어
BaaS(서비스형 블록 체인) 블록체인 앱 개발 환경을 클라우드 기반으로 제공
OWASP 웹 정보 노출, 악성 코드 스크립트, 보안이 취약한 부분을 연구하는 비영리 단체
TCP Wrapper 외부 컴퓨터의 접속 인가 여부를 점검
Honeypot 비정상적인 접근을 탐지하기 위해 설치. 침입자를 속여 실제 공격을 당하는 것처럼 보여줌.
DPI (Deep Packet Inspection) OSI 7 Layer 전 계층의 프로토콜과 패킷 내부 콘텐츠를 파악하여 해킹 등을 탐지, 트래픽 조정

신기술

네트워크 신기술
IoT 실세계와 가상 세계의 다양한 사물들을 인터넷을 연결
Mesh Network 차세대 이동통신, 홈네트워킹, 공공 안전 등 특수 목적을 위한 새로운 방식의 네트워크 기술. 대규모 디바이스의 네트워크 생성에 최적화.
PICONET 여러 개의 독립된 통신장치가 블루투스나 UWB를 사용하여 통신망을 형성하는 무선 네트워크 기술
WDM
(Wavelength Division Multiplexing)
광섬유를 이용한 통신 기술. 파장이 서로 다른 복수의 신호를 보내 여러 대의 단말기가 동신에 통신 회선을 사용할 수 있게 함.
클라우드 기반 HSM
(Cloud-based Hardware Security Module)
클라우드를 기반으로 암호화 키의 생성/저장/처리 등의 작업을 수행하는 보안기기.
클라우드에 인증서를 저장함.
암호화 키 생성이 하드웨어적으로 구현.
PaaS-TA 개방형 클라우드 컴퓨팅 플랫폼
Zing 10cm 이내 거리에서 3.5Gbps 속도의 데이터 전송이 가능한 초고속 근접무선통신(NFC)
키오스크
SSO (Single Sign On) 한 번의 로그인으로 개인이 가입한 모든 사이트를 이용할 수 있게 함.
Smart Grid =전력 IT. 전력선을 기반으로 모든 통신, 정보, 관련 인프라를 하나의 시스템으로 통합하여 관리.
하드웨어 신기술
고가용성
(HA; High Availability)
장애 발생 시 즉시 다른 시스템으로 대체 가능한 환경을 구축하는 매커니즘
클러스터, 이중화 등
RAID (Redundant Array of Inexpensive Disk) 여러 개의 하드디스크로 디스크 배열을 구성해 데이터 블록들을 서로 다른 디스크에 분산 저장하여 디스크의 속도 향상
N-Screen N개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스
MEMS (Micro-Electro Mechanical Systems) 초정밀 반도체 제조 기술을 바탕으로 기계 구조를 미세 가공하여 전기기ㅔ적 동작을 할 수 있게 한 초미세 장치
TrustZone Technology 프로세서를 일반 구역과 보호 구역으로 분할
Memristor Memory + Register. 기존의 경험을 기억하는 소자
DB 신기술
Hadoop 오픈소스 기반 분산 컴퓨팅 플랫폼
일반 PC급 컴퓨터로 가상화된 대형 스토리지 형성, 안에 보관된 거대한 데이터 세트를 병렬로 처리. 구글, 야후
MapReduce 대용량 데이터를 분산 처리하기 위한 프로그래밍 모델
연관성 있는 데이터 분류로 묶는 Map 작업 수행 -> 중복 데이터 제거 후 원하는 데이터를 추출하는 Reduce 작업
Tajo 아파치 하둡 기반의 분산 데이터 웨어하우스 프로젝트. 한국이 주도해서 개발
Data Mining 대량의 데이터 분석, 상호관계 규명, 패턴화 -> 효율적인 데이터 추출
OLAP
(Online Analytical Processing)
다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용
*연산: Roll-up, Drill-down, Drill-through, Drill-across, Pivoting, Slicing, Dicing

신기술은 새로운 기술 계속 추가되는 듯. 세상이 계속 발전하니까😄

교착상태 해결 방법

예방(Prevention): 사전에 제어, 자원 낭비 가장 심함
회피(Avoidance): 적절히 피함. 은행가 알고리즘(Banker's Algorithm)
발견(Detection): 점검해서 발견. 교착상태 발견 알고리즘, 자원 할당 그래프
회복(Recovery): 교착상태를 일으킨 프로세스 종료 혹은 할당된 자원을 선점

보안 요소

3대 보안 요소: 기밀성, 무결성, 가용성

기밀성(Confidentiality) 인가된 사용자에게만 접근 허용. 정보가 전송 중에 노출되더라도 데이터를 읽을 수 없음.
무결성(Integrity) 시스템 내 정보는 인가된 사용자만 수정 가능.
가용성(Availability) 인가받은 사용자는 언제라도 사용 가능
인증(Authentication) 합법적인 사용자인지 확인하는 모든 행위
부인 방지(NonRepudiation) 송·수진 증거 제공

세션 하이재킹

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

탐지 방법
- 비동기화 상태 탐지
- ACK Storm 탐지
- 패킷의 유실 탐지
- 예상치 못한 접속의 리셋 탐지

접근 지정자(접근 제어자)

O: 접근 가능

한정자 클래스 내부 패키지 내부 하위 클래스 패키지 외부
Public O O O O
Protected O O O  
Default O O    
Private O      

개인키 암호화 기법

= 단일키 암호화 기법 = 대칭 암호화 기법

키 개수: n(n-1)/2

블록 암호화 방식 스트림 암호화 방식
한 번에 한 블록 암호화
DES, SEED, AES, ARIA
평문 길이 스트림 생성. 비트 단위 암호화.
LFSR, RC4

공개키 암호화 기법

= 비대칭 암호화 기법

공개키는 DB 사용자, 비밀키는 관리자

키 개수: 2n

RSA: 큰 숫자는 소인수분해 하기 어렵다는 걸 이용

침해 공격 관련 용어

DDos(분산 서비스 거부) 공격: 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행하는 것.

네트워크 침해 관련 용어
Ping of Death 패킷 크기를 프로토콜 허용 이상으로
SMURFING 엄청난 양의 데이터를 한 사이트에
Smishing 문자 메시지로 개인신용정보 빼감
Phishing 공기관, 금융기관 사칭 이메일, 문자
Ping Flood 많은 ICMP 메시지를 보내 응답에 시스템 자원을 모두 사용하게
Evil Twin Attack 실제 존재하는 동일 이름의 무선 WiFi 신호를 송출하여 정보 빼냄
Switch Jamming 위조된 MAC 주소를 지속적으로 네트워크로 흘려보내 더미 허브처럼 작동
블루투스 관련 공격
BlueBug 취약한 연결을 이용해 휴대폰 원격 조종
BlueSnarf 장비의 파일에 접근, OPP 사용
BluePrinting 공격 대상이 될 블루투스 장비를 검색하는 활동
BlueJacking 스팸 메시지 보냄
정보 보안 침해 관련 용어
Worm 네트워크로 자신을 복제. 시스템 부하 높임
Zero Day Attack 보안 취약점이 공표되기 전에 공격하는 것. 공격의 신속성을 의미.
Key Logger Attack 키보드 움직임 탐지
Ransomware 인터넷 사용자의 컴퓨터에 잠입해 파일 암호화
Back Door, Trap Door 프로그래머가 편의를 위해 보안을 제거한 비밀 통로.
*탐지 방법: 무결성 검사, 로그 분석, 열린 포트 확인, SetUID 파일 검사 등
IDS(침입 탐지 시스템): 컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템.
HIDS NIDS
시스템 내부 감시 및 분석
OSSEC, md5deep, AIDE, Samhain 등
외부로부터의 침입을 감시 및 분석
Snort, Zeek 등

VPN: 가상 사설 통신망

SSH(시큐어 셸): 다른 컴퓨터에 로그인, 원격 명령 실행, 파일 복사 등을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜 또는 응용 프로그램. 보안성이 낮은 네트워크에서도 안전하게 통신. 키를 통한 인증 방법을 사용하려면 사전에 클라이언트의 공개키를 서버에 등록해야 함. 22번 포트 사용.

반응형

댓글