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

2024. 5. 17. 04:01·자격증/정보처리기사 인강 - 필기
목차
  1. 1. 소프트웨어개발 방법론 선정
  2. 1-1. 소프트웨어 개발 방법론 선정(암기)
  3.  
  4. 1-2. 소프트웨어 개발 방법론 테일러링(암기)
  5. 2. IT프로젝트 정보시스템 구축관리
  6. 2-1. 네트워크 구축 관리
  7. 2-2. SW 구축 관리
  8. 2-3. HW 구축 관리
  9. 2-4. DB 구축 관리
  10. 3. 소프트웨어 개발 보안 구축
  11. 3-1. SW개발 보안 설계
  12. 3-2. SW개발 보안 구현
  13. 4. 시스템 보안 구축
  14. 4-1. 시스템 보안 설계
  15. 4-2. 시스템 보안 구현
반응형

1. 소프트웨어개발 방법론 선정

1-1. 소프트웨어 개발 방법론 선정(암기)

 

비용 산정 모델

  • 하향식 방법
    • 전문가의 감정에 의한 방법: 2인 이상의 전문가에 비용 산정을 의뢰하여 산출
    • 델파이 방법: 전문가가 독자적으로 감정할 때, 발생할 수 있는 편차를 줄이기 위해 단계별로 전문가들의 견해를 조정자가 조정하여 최종 견적을 결정하는 방법
  •  상향식 방법
    • 원시 코드 라인 수(LOC)기법: 소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 방법
    • 개발 단계별 노력기법(M/M): LOC를 보완한 것.Man/Month
  • 수학적 방법
    • COCOMO 모형: 보헴이 제안. 원시 프로그램의 라인 수에 따라 비용 산정
      • Organic(5만 라인 이하), Semi-Detached(30만 라인 이하), Embedded(그 이상)
      • LOC(Lines of code)기법 사용
      • 예상 비용 = (낙관 정도 + 4*기대 정도 + 비관 정도)/6
    • 생명주기 예측 모형(푸트남 모형): 소프트웨어 개발 주기의 각 단계마다 비중을 다르게 하여 비용을 산출하는 방법
      • 대형 프로젝트의 노력 분포 산정에 이용
      • 개발 기간이 늘어날수록 프로젝트 적용 인원이 노력이 감소한다.
    • 펑션 포인트(FP) 모형: 각 기능에 따라 가중치를 부여하여 소프트웨어의 규모나 복잡도, 난이도 산출
      • FP = 전체 기능 점수 * [0.65 + (0.1*총 영향 정도)
      • 자료입력, 정보출력, 명령어, 데이터 파일, 필요한 외부 루틴과의 인터페이스

 

자동화 추정 도구

  • SLIM: Rayleigh-Norden 곡선과 Putnam예측 모델이 기초
  • ESTIMACS: 다양한 프로젝트와 개인별 요소를 수용하도록 FP모형 기초

 

 

 

품질 관리는 국제 표준으로 정한다.

 

  1. ISO12207 표준
    • 소프트웨어와 관련된 조직과 사람, 소프트웨어 획득자, 공급자, 개발자, 운영자, 유지보수자, 품질보증 관리자, 사용자등의 이해관계자들이 각자의 입장에서 할 일을 정의하고 지속적으로 개선시키기 위한 활동
      • 기본 공정 프로세스
      • 지원 공정 프로세스
      • 조직 공정 프로세스
  2. CMMI(CMM과 동일)
    • 소프트웨어의 개발 공정 및 조직의 성숙도를 초기, 반복, 정의, 관리, 최적화 등의 5개로 나누어 조직의 공정 개선 활동 지원 모델
    • 등급이 올라갈수록 품질이 올라감
      • 성숙단계
        1. 초기단계
        2. 반복단계
        3. 정의단계
        4. 관리단계
        5. 최적단계 
  3. SPICE 모델
    • 소프트웨어 프로세스 평가를 위한 국제 표준을 제정하는 프로젝트
    • 개발 기관이 프로세스 개선을 위하여 스스로 평가
    • 기관에서 정한 요구 조건을 만족하는지 개발 조직 스스로 평가
    • 계약을 맺기 위하여 수탁 기관의 프로세스를 평가
      • CMM의 단점 개선
      • CMM은 조직을 평가하므로 제품의 품질과 연관이 없다.
      • CMM은 조직 전체에 대한 등급 판정이 비효율적, 비현실적이다.
      • CMM은 소규모 업체에서는 적용이 곤란하다.

 

 

 

 

1-2. 소프트웨어 개발 방법론 테일러링(암기)

테일러링: 해당 과제에 딱 맞는 최적화된 결과를 얻기 위해, 맞지 않는 일반적인 방법론이아 산출물 목록은 제거하고, 꼭 필요한 방법론과 산출물만 남기는 작업

 

  • 내부적 기준
    • 목표환경
    • 요구사항
    • 프로젝트 규모
    • 보유기술
    • 비용
    • 구성원 능력
  • 외부적 기준
    • 법적 제약사항
    • 표준 품질기준

 

 

 

 

 

2. IT프로젝트 정보시스템 구축관리

2-1. 네트워크 구축 관리

 

신기술 용어

  • VPN: 가상사설망
  • Mesh Network: 홈 네트워킹, 공공 안전 등 특수한 목적 
  • PICONET: 블루투스
  • 와이선: 사물인터넷 저전력 장거리 통신기술
  • SDN: 소프트웨어들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크 

 

 

  1. 네트워크 설치 구조
    1. 버스(bus)형 구조: 하나의 통신 회선에 여러 대의 컴퓨터가 멀티 포인터로 연결되어 있는 구조 형태
      • 장점
        • 구조가 간단하여 설치가 용이, 저비용
      • 단점
        • 컴퓨터를 무분별하게 추가할 경우 통신 성능 저하됨
        • 일부분에 고장이 나면 전체 네트워크 영향
    2. 트리(tree)형 구조: 각 컴퓨터가 계층적으로 연결되어 있는 구성 형태, 나뭇가지
      • 장점
        • 허브만 준비되어 있다면 많은 단말 노드 쉽게 연결 가능
      • 단점
        • 모든 통신이 허브를 통해 이루어지므로 허브가 고장 나면 연결된 단말 노드는 통신 제한
    3. 링(ring)형 구조: 컴퓨터 등 단말 노드가 양쪽의 컴퓨터와 점 대 점으로 연결되어 고리처럼 순환형으로 구성된 형태
      • 장점
        • 단말 노드 추가, 삭제 등 네트워크 재구성이 용이
      • 단점
        • 링의 한 부분에 문제가 생기면 전체 네트워크에 영향
    4. 성(star)형 구조: 각 단말 노드가 허브라는 네트워크 장비에 점 대 점으로 연결되어 있는 구성 형태
      • 장점
        • 소규모 네트워크 설치 및 재구성이 간편
      • 단점
        • 중앙 허브가 고장 나면 전체 네트워크에 영향
  2. 네트워크 장비 유형
    1. 스위칭/라우팅 장비
      • 스위치: 네트워크에서 전달 경로를 찾는 기능
        • 스위치: OSI 2계층(데이터링크계층), 네트워크 내
      • 라우터: OSI 3계층(네트워크계층), 네트워크 간
    2. 광전송 장비: 네트워크의 스위칭 노드를 묶어주는 시스템(암기)
      1. SONET: 동기식 광통신망
      2. SDH: ITU 국제표준
      3. DWDM: 파장 분할 다중, 하나의 광섬유에 여러 개의 빛 파장을 동시에 전송
      4. CET: 고속 전송
    3. 엑세스 장비
    4. 이동 통신 장비
      • 기지국(BTS): 교환기에 제공
      • 제어국(BSC): 기지국 제어, 교환기와 연동
      • 교환기(MSC): 서비스 제어, 연동 기능

 

 

 

 

2-2. SW 구축 관리

신기술 용어

  • 스택가드: 특정 함수 실행 하면 이전 함수로 돌아가기 위한 주소가 기록된다. 카나리에 저장, 보안 강화 기법
  • 뉴럴링크: 뇌 연구 스타트업
  • 딥러닝: 인공지능 > 머신러닝 > 딥러닝
  • 블록체인: 암호화폐 거래에 사용
  • 증강현실: 가상 현실

 

 

소프트웨어 개발보안 적용 사례

  1. MS-SDL
  2. Seven Touchpoints: 실무적으로 검증됨, 개발 라이프사이클에 통합
  3. CLASP: 이미 운영중인 곳에 적용하기 좋음 

 

 

 

 

2-3. HW 구축 관리

서버 장비 운영 요소

  1. 서버 탑재 SW
  2. 저장 장치(스토리지 시스템)
    • DAS: 서버 장비에 직접 연결, 구성이 용이함
    • NAS: 서버와 저장 장치를 네트워크로 연결, 구성 설정 간편, 서버 한 곳에서 관리해서 스토리지 및 파일 공유 용이
    • SAN: DAS의 빠른처리와 NAS의 공유 장점을 합침. 광케이블(FC)

 

 

신기술 용어

  • KDD: 기계 학습 등을 통해 DB에서 지식을 자동으로 발견하려는 시도
  • Data Mining: 많은 데이터 가운데 숨겨져 있는 유용한 상관관계를 발견하고 아용하는 과정
  • 하둡: 대량의 자료를 처리하는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원
  • MapReduce: 구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작
  • Mashup: 웹으로 제공하는 정보와 서비스를 융합하여 새로운 것을 만드는 것

 

 

 

 

 

2-4. DB 구축 관리

필요하면 찾아보기

 

 

 

 

 

 

3. 소프트웨어 개발 보안 구축

3-1. SW개발 보안 설계

SW개발보안의 3요소

  • 기밀성(confidentiality): 승인된 주체들에게만 접근 허용
  • 무결성(integrity): 승인된 방법에 의해서만 변경 허용
  • 가용성(availability): 승인된 사용자들이 적시에 사용 가능하도록 함.

 

 

SQL 삽입 공격

크로스 사이트 스크립트(XSS) 공격

 

 

3-2. SW개발 보안 구현

 암호 알고리즘

  1. 비밀키(대칭 키) 암호
    1. 치환 암호
    2. 전치 암호: 위치를 바꿈
    3. DES(Data Encryption Standard)
      • 데이터 암호화 표준은 블록 암호의 일종
      • 대칭키
      • 64비트 키 중 56비트의 키는 암호화 복호화에 사용, 나머지 8비트는 키 블록의 parity check용으로 사용
    4. AES(Advanced Encryption Standard)
      • DES의 보안성 때문에 보완한 알고리즘
      • 128비트, 192비트, 256비트 등의 형태
      • 블록 암호 방식
    5. SEED
      • 한국 개발 액티브X, 128비트 및 256비트 대칭 키 블록 암호 알고리즘
  2. 공개키 (비대칭 키) 암호
    1. RSA 암호
      • 암호문과 비밀키는 별개
      • 매우 큰 수의 소인수 분해가 어렵다.
      • 주요 연산 곱셈
    2. Diffie-Hellmon(디피-헬만)
      • 키의 분배 및 교환에 주로 사용되는 알고리즘
    3. 엘가말(ElGamal)
      • 키 길이는 RSA와 비슷
      • 이산대수의 문제에 기반
      • 난수 발생을 필요로 해서 다른 공개키 시스템에 비해 느린편에 속한다.
    4. ECC(타원곡선알고리즘)
      • 이산대수의 문제에 기반
      • 기존 공개키 보다 작은 키 길이를 사용하면서 비슷한 성능
      • 주요 연산 덧셈

 

 

 개발자가 범할 수 있는 코딩오류로 인한 보안약점

  • Null Pointer  역참조
  • 부적절한 자원 해제
  • 해제된 자원 사용
  • 초기화되지 않은 변수 사용

 

 캡슐화

  • 잘못된 세션에 의한 데이터 정보노출
  • 제거되지 않고 남은 디버그 코드
  • 시스템 데이터 정보노출
  • Public 메소드로부터 반환된 Private 배열
  • Private 배열에 Public 데이터 할당

 

 

 

4. 시스템 보안 구축

4-1. 시스템 보안 설계

시스템 보안 설계 대상

  • 계정 관리
  • 패스워드 관리
  • 세션관리
  • 접근통제
  • 권한관리
  • 취약점관리

 

 

서비스 공격 유형

  1. 수동적 공격
    • 스니핑
      • 다른 이의 대화를 엿듣는 것
      • 도청(Evaesdropping)
      • 전기적 신호를 분석해 정보를 찾아내는 것
  2. 능동적 공격
    • 세션 가로채기 공격 
      • IP Spoofing: 다른 컴퓨팅 시스템인 것처럼 가장 하기 위해 거짓 소스 IP주소로 인터넷 프로토콜 패킷을 만드는 일.
      • DNS Spoofing: 실제 도메인 네임 시스템 서버 해킹
    • DoS(Denial of Service)
      • Teardrop: IP 패킷 조각 전송, 컴퓨터의 OS다운
      • Smurf 공격: 브로드캐스트하는 분산 서비스 거부 공격
      • TCP SYN Flooding 공격: 연결설정 취약점을 이용
    • DDoS(Distributed DoS): 여러 대의 공격자를 분산적으로 배치
      • 트리누 공격
      • TFN 공격
      • Stacheldraht 공격
      • TFN2K 공격

 

 

정보 보안 침해 공격 관련 용어(암기)

  • 웜: 네트워크에서 연속적인 복사 기능으로 자가 증식해 기억장치 소모 혹은 저장된 데이터 파괴 
  • 랜섬웨어: 중요 파일에 대한 접근 차단하고 금품을 요구
  • 백도어: 네트워크 관리자가 외부에서도 시스템 점검을 하려고 빈틈을 만들었는데 악용 됨.
    • 백도어 탐지 기법
    • tripwire: 크래커가 침입하여 백도어를 만들어 놓거나, 설정 파일을 변경했을 때 분석하는 도구 
      • 현재 동작중인 프로세스 및 열린 포트 확인
      • SetUID 파일 검사
      • 바이러스 및 백도어 탐지 툴 사용
      • 무결성 검사
      • 로그 분석
  • 트로이 목마: 컴퓨터에 숨어있다가 사용자의 정보를 몰래 유출하는 악성코드

 

 

시스템 인증

  • DAC
    • 임의적 접근 통제
    • 정보 소유자
    • 중앙 집중화된 정보 관리가 어렵다.
  • MAC
    • 강제적 덥근 통제
    • 중앙 집중화된 정보 관리
    • B로 시작하는 모델 2개
  • RBAC(Role-Based)
    • 역할 기반 접근 통제
    • 사람이 아닌 직책에 따라 권한 부여

 

 

 

4-2. 시스템 보안 구현

시스템 보안 구현 도구

  • MBSA: 보안 관련 설정 확인 기능
  • Nmap: 포트 열려있는지 확인
  • NBTScan: 네트워크 점검
  • RIP:
    • 벡터 방식을 사용하는 내부 라우팅 프로토콜
    • 최대 홉 카운트와 흡수가 15
    • 소규모 네트워크 환경에 적합
    • 최단경로탐색에는 Bellman-Ford 알고리즘 사용
반응형

'자격증 > 정보처리기사 인강 - 필기' 카테고리의 다른 글

제4과목 프로그래밍 언어 활용  (0) 2024.05.17
제3과목 데이터베이스 구축  (0) 2024.05.17
제2과목 소프트웨어 개발  (0) 2024.05.17
제1과목 소프트웨어 설계  (0) 2024.04.16
  1. 1. 소프트웨어개발 방법론 선정
  2. 1-1. 소프트웨어 개발 방법론 선정(암기)
  3.  
  4. 1-2. 소프트웨어 개발 방법론 테일러링(암기)
  5. 2. IT프로젝트 정보시스템 구축관리
  6. 2-1. 네트워크 구축 관리
  7. 2-2. SW 구축 관리
  8. 2-3. HW 구축 관리
  9. 2-4. DB 구축 관리
  10. 3. 소프트웨어 개발 보안 구축
  11. 3-1. SW개발 보안 설계
  12. 3-2. SW개발 보안 구현
  13. 4. 시스템 보안 구축
  14. 4-1. 시스템 보안 설계
  15. 4-2. 시스템 보안 구현
'자격증/정보처리기사 인강 - 필기' 카테고리의 다른 글
  • 제4과목 프로그래밍 언어 활용
  • 제3과목 데이터베이스 구축
  • 제2과목 소프트웨어 개발
  • 제1과목 소프트웨어 설계
kms152000
kms152000
  • kms152000
    백엔드 공부
    kms152000
  • 전체
    오늘
    어제
    • 분류 전체보기 (237) N
      • 데브코스 클라우드 백엔드 7기 (28) N
        • TIL (28) N
      • JAVA - 백준 (110)
        • 입출력과 사칙연산 (13)
        • 조건문 (7)
        • 반복문 (12)
        • 1차원 배열 (10)
        • 문자열 (11)
        • 심화 1 (8)
        • 2차원 배열 (4)
        • 일반 수학 1 (7)
        • 약수, 배수와 소수 (6)
        • 기하 (8)
        • 시간 복잡도 (7)
        • 브루트 포스 (6)
        • 정렬 (11)
      • JAVA (32)
        • JAVA 개념 (13)
        • 생활코딩 JAVA 입문 수업 (19)
      • Frontend (0)
        • HTML (0)
        • CSS (0)
        • JS (0)
      • Backend (2)
        • Spring 인강 (2)
      • 코딩 테스트 (44)
        • Python - 백준 단계별로 풀어보기 (44)
      • 자격증 (12)
        • 정보처리기사 인강 - 필기 (5)
        • 정보처리기사 인강 - 실기 (7)
      • Database (0)
        • MySQL (0)
        • Oracle (0)
      • 개발 환경 (6)
        • JAVA (1)
        • Eclipse (2)
        • Apache Tomcat (1)
        • IntelliJ (2)
        • Windows (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • hELLO 티스토리 스킨
  • 인기 글

  • 태그

    Eclipse console 한글 오류
    자바 기본 문법
    논리연산자
    대입 연산
    사칙 연산
    다차원 배열
    이클립스 환경 설정
    관계연산자
    자바
    Eclipse 한글
    로깅 프레임워크
    백준 자바 1008번
    키보드 입력과 로깅
    생활코딩
    백준 자바 10869번
    백준 1000번 자바
    자바 개념
    JAVA 변수
    백준
    제어자
    java 메서드
    비트 연산자
    자바 컴파일 순서
    asList
    copyOf
    Java
    백준 자바 1001번
    Eclipse 환경 설정
    3항 연산
    백준 10998번 자바
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.4
kms152000
제5과목 정보시스템 구축 관리

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.