[정처기 필기] 과목 5. 정보시스템 구축 관리
출처 : 이기적 영진닷컴 https://youtu.be/JhKOsZuMDWs?si=tcKH-nfbH1U7qkjm
노랑색은 중요한 파트 표시한것
<나선형 모형 spiral>
= 위험 분석 단계 존재. 고객의 변경된 요구를 수용하는. 대규모 개발에 유용
계획수립 – 위험 분석 – 개발+검증 – 고객평가 (이 과정을 반복)
<폭포수 모형>
= 고전적 생명주기, 소규모 개발에 유효
<CPM>
= critical path method
임계 경로(가장 오래 걸리는 경로) 방법
최악의 상황 감안해서 기간을 구한다
노드(작업), 간선(의존 관계) 표현
<컴포넌트 개발 방법론 (CBD)>
= 기존의 컴포넌트 조합하여 새로운 애플리케이션 만든다
절차 = 분석, 설계, 구현, 테스트
<소프트웨어 재사용>
= 개발되어 있는 소프트웨어를 재사용
-합성 중심 = 블록(소프트웨어 부품) 만들어서 끼워 맞추어 완성, 블록 구성 방법
-생성 중심 = 추상화 형태로 쓰여진 명세를 구체화하여 만든다, 패턴 구성 방법
<비용 산정 기법>
- 전문가 감정 기법 = 전문가에게 의뢰
- 델파이 기법 = 많은 전문가 견해 받기
- LOC기법 = 원시 코드 라인 수의 비관치, 낙관치, 기대치 측정하여 비용 산정
- COCOMO = Bohem이 제안, Loc에 의한 비용산정, LOC예측 후 비용 산정 방정식에 대입하여 비용 산정.
- Organic = 5만 라인 이하
- Semi detached = 30만 라인 미만
- Embedded = 30만 라인 이상 , 초대형 규모 트랜잭션 처리 시스템, 운영체제 등
- Putnam = 소프트웨어 생명 주기 과정 동안 사용될 노력의 분포 가정.
Rayleigh Norden (곡선의 노력 분포도) 이용.
SLIM(자동화 추정 도구)
- Function-Point(FP) 기능 점수 = 기능마다 점수 가중치 부여하여 계산 후 비용 산정
<ISO/IEC>
= ISO이 만든 표준 소프트웨어 생명 주기 프로세스
- 기본 생명 주기 프로세스 : 획득, 공급, 개발, 운영, 유지보수
- 지원 생명 주기 프로세스 : 품질 보증, 검증, 확인, 활동 검토, 감사…
- 조직 생명 주기 프로세스 : 관리, 훈련, 개선, 기반구조
<SPICE>
= ( ISO/IEC 15504, 소프트웨어 처리 개선, 능력 평가 기준) 소프트웨어 품질 생산성 향상 위한 국제 표준.
1207모델 단점 해결하기 위해 나왔다
- SPICE모델 = 레벨 6개로 나뉜다.
수행 능력 수준 단계
0-불안정
1-수행
2-관리
3-확립
4-예측
5-최적화 - 고객 공급자 프로세스, 공학 프로세스, 지원 프로세스, 관리 프로세스, 조직 프로세스
<소프트웨어 개발 방법론 테일러링>
= 소프트웨어 만들고 마지막에 매듬새 맞추는 것.
- 내부적 요건 = 목표 환경, 요구사항, 프로젝트 규모, 보유 기술
- 외부적 요건 = 품질 기준, 법적 제약 사항
<프레임워크>
= 소프트웨어 개발에 공통적으로 사용되는 것을 일반화하여 쉽게 구현할 수 있도록 여러 가지 기능 제공
- 스프링 프레임워크 = 뼈대. 자바 플랫폼
- 전자정부 표준 프레임워크 = 공공기관 웹 서비스 개발 시 사용 권장,
- 닷넷 프레임워크 = windows 프로그램 개발, 실행 환경 제공
프레임워크 특성 = 모듈화, 재사용성, 확장성, 제어의 역흐름
<네트워크 설치 구조>
- 성형 스타일 star
- 링형
- 버스형
- 트리형(계층형)
- 망형
= 모든 지점의 컴퓨터와 단말 장치를 서로 연결
(노드의 개수n, 노드당 필요한 포트 개수n-1, 회선의 개수 n(n-1)/2)
<네트워크 관련 장비>
허브 hub - 가까운 컴퓨터 연결. (종류 : 더미 허브, 스위칭 허브)
브리지 bridge - LAN과 LAN연결, LAN안에서의 세그먼트 연결. 근거리 통신망
스위치 switch - LAN과 LAN연결해서 더 큰 LAN 만드는 장치. 하드웨어 기반 처리. 전송 속도 빠름
라우터 - 경로 설정. LAN WAN 연결
게이트웨이 - 데이터 보내거나 받는 역할. 프로토콜 계층 구조 다른 네트워크 연결 수행.네트워크 식별 기준점
<VLAN>
= LAN 물리적 배치 상관없이 논리적으로 분리하는 기술, virtual근거리 통신망
<네트워크 기술>
RIP (routing information protocol)=벡터 라우팅 프로토콜, 홉(거리값)만 고려. 15홉 이하로 한정
OSPF (open shortest path first protocol) =자율시스템을 여러 지역으로 나눈다. 홉 수 제한 없음 대신 Cost 사용, Dijkstra 알고리즘 사용
IGRP = hop수 기준으로한 정보 전송
MQTT = 사물 인터넷 모든 장치를 인터넷에 연결하는 것 IOT, 대역폭 제한된 통신 환경에서 푸시기술 기반
IoT = 실세계과 가상세계 사물들을 인터넷으로 연결
Cloud computing = PaaS-TA(국내 IT개방형 클라우드 컴퓨팅) 내가 어디에 있던 컴퓨터사용할 수 있는것 IaaS,PaaS,SaaS
그리드 컴퓨팅 = 하둡과 비슷. 인터넷에 연결돼 있으나 사용안하는
RFID=하이패스
NFC= 고주파. 근거리 무선 통신 기술, ex)교통카드
PIconet = 블루투스 기술로 통신망 형성하는 무선 네트워크 기술
smart grid = 전력망을 잘 관리하는것
비컨(Beacon) = 70m까지 사용가능, 단위별로 구분가능
Foursquare=gps로 정보 수집
ZigBee=낮은 전력 소모 센서 네트워크
Mesh Network = 홈네트워킹
WDM (Wavelength division multiplexing) = 레이저 빛 이용 광신호
<소프트웨어 신기술>
TensorFlow= 구글에서 개발. 인공지능 응용 프로그램 개발용 오픈소스 프레임워크
머신러닝 = 컴퓨터에게 많은 데이터주고 학습시킴
딥 러닝 = 인공지능 망
디지털 트윈 (Digital Twin) = 사물과 컴퓨터에 동일하게 표현되는 가상 모델. 시뮬레이션
매시업(Mashup)=웹에서 제공하는 정보+서비스 이용하여 새로운거 만드는것.
4D프린팅=온도 습도에도 반응
N-Screen=다수 스크린 연동하여 사용
RAID = 하드디스크 여러개 연결, 디스크 속도 향상
웨어러블 컴퓨터 = 장착하는 컴퓨터
<보안>
서비스형 블록 체인(BaaS) = 블록체인 개발환경을 클라우드 기반으로 제공하는 서비스
OWASP = 웹 애플리케이션 취약점 연구
<데이터베이스 관련 기술>
- 하둡 Hadoop = 오픈소스 기반 분산 컴퓨팅 플랫폼, 소형 컴퓨터 여러개로 가상화된 대형 스토리지 형성. 자바소프트웨어 기반,
- Data Mining = 빅데이터 분석. 변수 사이의 관계 규명하여 패턴 찾는다. 데이터 웨어 하우스에 저장된 데이터 집합에서 유용한 정보 발견
- Sqoop=하둡과 관계령 데베 간에 데이터 전송하게 설계된 도구
<DAS,NAS,SAN>
DAS
=(직접 연결 저장 장치)서버와 저장장치 케이블로 연결, 빠른 처리. 고속 전송
NAS
= 서버와 저장장치 네트워크로 연결, 파일 공유 가능.
SAN
=DAS와 NAS장점 합침.
서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성하는 방식.
광 채널(FC) 스위치로 네트워크 구성
장점 = FC는 광케이블로 연결해서 고속 전송 가능, 저장장치 공유해서 단일화
<소프트웨어 정의 기술>
SDN = (Software Defined Storage) 소프트웨어 정의 네트워킹, 네트워크를 컴퓨터 처럼 모델링하여 여러 사용자가 각각의 소프트웨어들로 네트워킹 제어, 관리
<SecureOS>
=보안 기능의 커널을 OS에 이식. 외부 침입으로 부터 시스템 자원 보호
<Stack Guard>
= 주소 저장되는 스택에서의 보안 약점 막는 기술
메모리상에서 프로그램 복귀 주소와 변수 사이에 특정값 저장하고 값 변경되면 오버플로우 상태로 판단하여 프로그램 중단.
잘못된 복귀 주소 호출을 막는다.
<Secure SDLC>
= 보안상 안전한 소프트웨어 개발하기 위해 SDLC(소프트웨어 개발 생명 주기)에 보안 강화 프로세스 포함함.
수행되어야하는 보안 활동 = 요구 사항 분석, 설계, 구현, 테스트, 유지 보수
대표적인 방법론
- SDL = 보안문제때문에 기준만듦
- Seven Touchpoints = 소프트웨어 보안의 보안 모범 사례를 sdlc에 통합.
- CLASP=보안 강화 방법론, 운영중인 시스템에 적용하기에 적합
<정보보안의 요소>
- 기밀성 = 권한 있는 사람만 접근 가능
- 무결성 = 시스템 내 정보는 오직 인가된 사용자만 수정 가능
- 가용성 = 인가받은 사용자는 언제든지 사용가능
+인증 = 시스템 내 정보 자원 사용하려는 사용자가 합법적인 사용자인지 확인하는 행위
+부인 방지 = 데이터를 송.수신 증거 제공
<암호화 알고리즘>
평문 → 암호화 알고리즘 → 암호문 → 복호화 알고리즘 → 평문
<개인키 암호화 기법>
=private key encryption,
동일한 키로 데이터 암호화, 복호화 한다.
암호화 대상이 n개일 때 사용되는 키 개수는 n(n-1)/2
- 블록 방식 = 한번에 하나의 데이터 블록 암호화 DES, AES, ARIA, SEED
- 스트림 암호화 방식 = 평문과 같은 길이의 스트림 생성하여 비트단위로 암호화 LFSR, RC4
<공개키 암호화 방식>
= public key encryption
암호화용 공개키는 데이터베이스 사용자에게 공개. 복호화용 비밀키는 관리자가 비밀리에 관리
암호화 대상이 n개일때 사용되는 키 개수는 2n
대표적인 기법 RSA
<양방향 알고리즘>
개인키 암호화 기법 (대칭)
- SEED = 블록 암호화 알고리즘, 국내 개발
- ARIA = 블록 암호화 알고리즘, 국내 개발
- DES = IBM개발
- AES
공개키 암호화 기법 (비대칭)
- RSA = MIT에서 제안, 소인수분해 기반
<단방향 알고리즘>
해시 Hash = 임의의 길이의 데이터를 고정된 길이의 값이나 키로 변환.
디지털 서명, 데이터 암호화, 정보보호, 무결성 검증 등에 사용
<Salt>
= 암호공격을 막기위해 같은 패스워드들을 암호값으로 바꾸기위해 무작위 값(salt)을 붙인다.
<서비스 공격 유형>
DoS = 시스템 과부하, 대량의 데이터 집중 전송, 서버 자원 고갈
DDOS = 분산 서비스 공격
Smurfing = IP, ICMP 특성 악용, 대량의 데이터 전송, 네트워크 불능 상태로 만든다.
Ping of death = 비정상적인 ICMP패킷 전송
Ping flood = 매우 많은 ICMP message 보냄
SYN Flooding = 받을준비 확인할때 취약점 이용, 서버를 대기 상태로
Tear Drop = 조금씩 패킷 조각 조작해서 전송. 재조립 자주하게
LAND attack = 출발지와 목적지 같게 한다. 루프가 돌아서 부하생김)
Phishing = 소셜네트워크 똑같이 만들어서 훼이크
Evil Twin Attack = Wifi신호 송출하여 로그인한 사람 정보 뺌
파밍 = 도메인 탈취 ex)페이크 네이버 사이트
Ransomware = 내부 문서, 파일 암호화해버림
Key Logger Attack = 키보드 움직임 탐지
무작위 대입 공격 = 비번 무작위로
APT = 지능적 지속 위협. 다양한 보안위협
Zero Day Attack = 보안 취약점 신속하게 공격
Back door = 유지보수를 위해 만든 통로로 공격
<인증>
공공 시스템에서 로그인 요청한 사용자 정보 확인하고 권한 검증하는 보안 절차
-지식 기반 인증 = 사용자가 기억하고 있는 정보 기반으로 인증 수행
-소유 기반 인증 = 사용자가 소유하고 있는 것 기반으로 인증 수행
-생체 기반 인증 = 인증 시도하는 위치 적절성 확인
<접근 통제>
- 강제적 접근 통제 (MAC)
= 주체, 객체 등급 비교하여 접근 권한 부여.
벨 라파듈라 모델, 만리장성 모델 - 임의적 접근 통제 (DAC)
= 데이터에 접근하는 사용자의 신원에 따라 접근 권한 부여.
데이터 소유자가 접근 통제 권한 지정, 제어 - 역할 기반 접근 통제 (RBAC)
= 사용자 직책따라서 역할 나눈다.
중앙관리자가 접근 통제 권한 지정.
MAC | DAC | RBAC | |
권한 부여 | 시스템 | 데이터 소유자 | 중앙 관리 |
접근 결정 | 보안 등급 label | 신분 identity | 역할 role |
정책 변경 | 고정적 (변경 어려움) | 변경 용이 | 변경 용이 |
장점 | 안정적, 중앙 집중적 | 구현 용이, 유연함 | 관리 용이 |
<침입 탐지 시스템 IDS>
= 컴퓨터 시스템의 비정상적인 사용, 오용, 남용을 실시간 탐지
- 호스트기반=내컴퓨터 검사
- 네트워크기반=연결된 네트워크 다 감시
- 오용탐지=공격패턴확인해서 감지
- 이상 탐지 = 통계적으로 침입 탐지
<Tripwire>
= 데이터 무결성 검사 도구
크래커가 침입하여 백도어 만들어 놓거나 설정 파일 변경했을 때 검사하고 관리자에게 알리는 도구
MD5, CRC-32, SHA등의 알고리즘 사용
<방화벽 구성 형태>
- 배스천 호스트 = 내부 외부 네트워크 사이에 게이트웨이 역할. 방어정책이 구현돼 있는 시스템
- NIC=network interface card.
컴퓨터간, 컴퓨터와 네트워크 연결하는 장치, 정보 전송 시 정보가 케이블 통해 전송될 수 있도록 정보 형태 변경 - 스크리닝 라우터
= 외부 인터넷과 내부망 가운데에 패킷필터링 규칙 적용해서 방화벽 역할 - 이중 홈드 호스트(게이트웨이)
= 2개의 NIC 가진 배스천 호스트. - 단일 홈 게이트웨이
= 배스천 호스트. 방화벽 기본기능 수행, 손상되면 무방비 - 스크린 호스트
= 방화벽이 숨겨져있다.
(스크리닝 라우터+배스천 호스트)
스크리닝 호스트 → 패킷 통과 여부 결정, 필터링된 패킷을 배스천 호스트에게 전달
배스천 호스트 → 내외부 네트워크 시스템에 대한 인증 담당 - 스크린 서브넷
= 1개의 배스천 호스트+2개의 스크리닝 라우터
DMZ=외부 인터넷에 서비스 제공하는 서버가 위치하는 네트워크. 강한 외부 공격이나 내부 공격으로 부터 중요한 데이터 보호.
IPsec=IP프로토콜에 보안적용. 양방향 지원
VPN=가상 사설망. 전용망처럼 뚫는것. 공용망에 사설망처럼 설치하는것처럼함