본문 바로가기

정처기

정보시스템 구축 관리

반응형

★소프트웨어 개발 방법론

1) 구조적 방법론(정형화된 분석 절차)

 - 타당성 검토 -> 게획 -> 요구사항 분석 -> 설계 -> 구현 -> 테스트 -> 유지보수 단계(분설구테유)

2) 정보공학 방법론: 정보 시스템의 개발 위함

3) 객체지향 방법론: 현실 세계의 개체를 기계 부품처럼 하나의 객체로 만들어 소프트웨어 구성(객체, 클래스, 메시지, 메서드)

 -> 기본 원칙: 캡슐화, 상속성, 다형성, 추상화, 정보 은닉 -> 캡상다추정

4) 컴포넌트 기반 방법론: 컴포넌트를 조합하여 새로운 애플리케이션을 만듦. 확장성, 생산성 향상

5) 애자일 방법론★: 유연하게 대응할 수 있도록 일정하 ㄴ주기를 반복(XP, 스크럼, 칸반, 크리스탈 등)

6) 제품 계열 방법론: 영역 공학, 응용공학. 특정 제품에 적용하고 싶은 공통된 기능을 정의하여 개발하는 방법론. 임베디드 소프트웨어를 만드는데 적합

 

★비용 산정 기법

1) 소프트웨어 비용 산정 개요: 하향식 비용 산정 기법, 상향식 비용 산정 기법

2) 소프트웨어 비용 결정 요소

 - 프로젝트 요소: 제품 복잡도, 시스템 크기, 요구되는 신뢰도

 - 자원 요소: 인적 자원, 하드웨어 자원, 소프트웨어 자원

 - 생산성 요소: 개발자 능력, 개발 기간

 

★하향식 비용 산정 기법

1) 개요: 전문 지식이 많은 개발자들이 참여한 회의를 통해 비용을 산정하는 비과학적인 방법(전문가 감정 기법, 델파이 기법)

2) 전문가 감정 기법

 - 두명 이상 전문가에게 비용 산정 의뢰. 개인적이고 주관적일 수 있음

3) 델파이 기법★: 전문가 감정 기법의 주관적인 편견을 보완 -> 한명의 조정자와 전문가 의견 종합

 

★상향식 비용 산정 기법

1) 개요: 작업 단위 별로 비용을 산정한 후 집계하여 전체 비용을 산정하는 기법

2) LOC(원시 코드 라인 수) 기법★: 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법

3) 개발 단계별 인월수: LOC 기법을 보완하기 위한 기법으로 각 단계별로 산정함.

4) COCOMO 모형★: 보헴이 제안한 것으로 원시 프로그램의 규모인 LOC에 의한 비용 산정 기법. 소프트웨어 갭라비 견적에 널리 통용됨. 비용이 다르게 산정

 - COCOMO 소프트웨어 개발 유형

   > 조직형(소규모의 소프트웨어), 반분리형(30만 라인 이하), 내장형(최대형 규모)

 - COCOMO 모형의 종류

   > 기본형(sw크기와 개발 유형만 이용), 중간형(15가지 요인에 의해 비용 산정), 발전형(보다 자세하고 정확하게 노력 산출)

5) Putnam 모형

 - 노력의 분포를 가정해주는 모델

 - 생명 주기 예측 모형이라고도 함

 - 곡선의 노력 분포도를 기초로 함

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

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

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

6) 기능점수(FP) 모형: 알브레히트가 제안한 것으로 가중치를 부여하고 요인별 가중치를 합산하여 총 기능점수 산출하여 기능점수와 영향도를 이용하여 기능점수를 구한 후 이용하여 비용을 산정 -> ESTIMACS: 자동화 추정 도구

7) 기능점수 모형에서 비용산정에 이용되는 요소 - 자료 입출력, 명령어, 데이터파일, 인터페이스

8) 프로젝트 관리: 일정 관리, 비용 관리, 인력 관리, 위험 관리, 품질 관리

 

★소프트웨어 개발 표준

1) ISO/IEC 12207

 - ISO가 만든 표준 소프트웨어 생명주기 프로세스로 소프트웨 생명 주기 표준을 제공함.

  > 기본 생명 주기 프로세스, 조직 생명 주기 프로세스, 지원 생명 주기 프로새스(기조지)

2) CMMI(능력 성숙도 통합 모델)

- 소프트웨어 개발 조직의 업무 능력 및 조직의 성숙도를 평가하는 모델

- 프로세스 성숙도 5단계

 > 초기: 정의된 프로세스 없고 작업자 능력에 따라 성공 여부 결정

 > 관리: 규칙화된 프로세스로 특정한 프로젝트 내의 프로세스 정의 및 수행

 > 정의: 표준화된 프로세스로, 조직의 표준 프로세스를 활용하여 업무 수행

 > 정량적 관리: 예측 가능한 프로세스로, 프로젝트를 정량적으로 관리 및 통제

 > 최적화: 지속적 개선 프로세스로 프로세스 역량 향상을 위해 지속적인 프로세스 개선

(초관정량최)

3) SPICE

- 소프트웨어 프로세스를 평가 및 개선하는 국제 표준으로 ISO/IEC 15504

- 목적: 개선을 위해 개발 기관이 스스로 평가, 요구 조건의 만족 여부를 개발 조직이 스스로 평가, 계약 체결을 위해 프로세스 평가

- 범주: 고객-공급자, 공학, 지원, 관리, 조직 프로세스(고공지관조)

- 수행 능력 단계

  > 불완전(목적 달성 못한 단계), 수행(목적이 달성), 관리(작업 산출물을 인도), 확립(프로세스가 수행), 예측(양적인 측정을 통해 일관되게 수행), 최적화(업무 목적 만족)

 

★테일러링, 프레임워크

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

-> 수행절차: 특징 정의 -> 표준 프로세스 선정 및 검증 -> 상위 수준의 커스터마이징 -> 세부 커스터마이징 -> 테일러링 문서화

(정표상새문)

2) 소프트웨어 개발 방법론 테일러링 고려사항

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

- 외부적 요건: 법적 제약사항, 국제표준 품질기준 #법표★

3) 스프링 프레임워크★

 - 자바 플랫폼을 위한 오픈 소스 경량형 애플리케이션 프레임워크

 - 동적인 웹사이트 개발을 위해 다양한 서비스 제공

 - 전자정부 표준 프레임워크의 기반 기술로 사용

4) 전자정부 프레임워크

 - 대한민국의 공공부문 정보화 사업 시 효율적인 정보 시스템의 구축을 지원하기 위해 필요한 기능 및 아키텍처 제공 프레임워크

 - 응용 소프트웨어의 표준화, 품질 및 재사용성의 향상을 목표로 함

4) 닷넷 프레임워크★

 - 마이크로소프트사에서 개발한 윈도우즈 프로그램 개발 및 실행 환경을 제공하는 프레임워크

 - 공통 언어 런타임(CLR; Common Language Runtime)이라는 가상머신 상에서 작동함

 

★★ 네트워크 구축

1) 버스형

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

 - 물리적 구조가 간단하고 단말장치의 추가와 제거가 용이

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

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

2) 트리형

 - 중앙 컴퓨터와 일정 지역의 단말장치까지는 하나의 통신 회선으로 연결시키고, 이웃하는 단말장치는 일정 지역 내에 설치된 중간 단말장치로부터 다시 연결시키는 형태 -> 분산처리 시스템

3) 링형(루프형)

 - 컴퓨터와 단말장치들을 서로 이웃하는 것끼리 포인트 투 포인트 방식으로 연결시킨 형태 -> LAN에서 사용

 - 분산 및 집중 제어 모두 가능하고 중계기 수가 많아짐

 - 단말장치의 추가/제거 및 기밀 보호가 어려움

 - 각 단말장치에서 전송 지연발생 가능

 - 데이터는 단방향, 양방향으로 전송 가능하며 단방향 링의 경우 어느 하나라도 고장나면 전체 통신망에 영향을 미침

4) 성형(Star, 중앙집중형)

 - 중앙에 중앙컴퓨터, 이를 중심으로 단말장치들이 연결되는 중앙 집중식 네트워크 구성 형태

 - 포인트 투 포인트 방식으로 회선 연결

 - 단말장치의 추가와 제거가 쉽지만, 중앙 컴퓨터가 고장나면 전체 통신망의 기능이 정지됨

 - 중앙 집중식이므로 교환 노드의 수가 가장 적음

5) 망형(Mesh, 네트워크형)

 - 근거리 통신망: 가까운 거리에 있는 자원을 연결하고 구성하며 주로 자원공유의 목적으로 사용. 사이트 간의 거리가 짧아 데이터의 전송 속도가 빠르고, 에러 발생율이 낮음 #주로 버스형, 링형

- 원거리 통신망: 대륙과 대륙 같은 멀리 떨어진 사이트들 열결하여 구성. 사이트 간 거리가 멀어 통신 속도가 느리고 에러 발생률이 높음

 

★★스위치

1) 분류

- L2

 > OSI 2계층(Da)에 속하는 장비.(일반적인 스위치)

 > MAC 주소를 기반으로 프레임 전송

 > 동일 네트워크 간의 연결만 가능

- L3

 > OSI 3계층(Ne)에 속하는 장비

 > L2 스위치에 라우터 기능이 추가

 > IP 주소를 기반으로 패킷 전송

 > 서로다른 네트워크 간 연결 가능

- L4

 > OSI 4계층(T)에 속하는 장비

 > 로드밸런서가 달린 L3 스위치

 > IP 주소 및 TCP/UDP를 기반으로 사용자들의 요구를 서버의 부하가 적은 곳에 배분하는 로드밸런싱 기능을 제공

- L7

 > OSI 7계층(A)에 속하는 장비

 > IP 주소 및 TCP/UDP 포트 정보에 패킷 내용까지 참조하여 세밀하게 로드밸런싱함

2) 스위칭 방식

 - Store and Forwarding: 데이터를 모두 받은 후 스위칭하는 방식

 - Cut-through: 데이터의 목적지 주소만을 확인한 후 바로 스위칭하는 방식

 - Fragment Free: 위의 두가지 방식의 장점을 결합한 방식

3) 백본 스위치★

 - 여러 네트워크들을 연결할 때 중추적 역할을 하는 네트워크 = 백본

 - 백본에서 스위칭 역할을 하는 장비 = 백본 스위치

 - 백본 스위치는 모든 패킷이 지나가는 네트워크의 중심에 배치

 - 주로 L3 스위치가 백본 스위치의 역할을 함

4) Hierarchical 3 Layer 모델★★

 - 코어 계층: 디스트리뷰션 계층에서 오는 통신을 집약해 인터넷에 연결하는 계층으로 백본계층이라고도 함

   > 전자우편, 인터넷 접속, 화상 회의 등의 기능을 수행. 백본 스위치 사용

 - 디스트리뷰션 계층: 액세스 계층의 장치들이 연결되는 지ㅓㅈㅁ으로, 액세스 계층으로 오는 통신을 집약해서 코어 계층으로 전송

   > LAN 간에 라우팅(경로 설정) 기능을 수행

   > 라우터, L3 스위치 사용 -> IP, 패킷

 - 액세스 계층: 사용자가 네트워크에 접속할 때 최초로 연결되는 지점으로, 사용자들로부터 오는 통신을 집약해서 디스트리뷰션 계층으로 전송

   > 액세스 계층에 배치되는 장비는 성능은 낮아도 되지만 포트 수는 사용자 수만큼 있어야 함

   > L2 스위치 사용 -> MAC, 프레임

 

★★ 경로제어, 트래픽 제어

1) 경로 제어(라우팅) 프로토콜

- RIP(Routing Information Protocol)★

  > IGP(Interior Gateway Protocol)로 Bellman-Ford 알고리즘을 이용하여 최적의 경로를 설정하는 소규모 프로토콜

  > 최대 홉 수를 15홉 이하로 제한, 거리 벡터 라우팅 프로토콜이라고도 함

- OSPF(Open Shortest Path First)★

  > IGP로 RIP 단점 개선을 위해 다익스트라 알고리즘 및 정적 링크 기반으로 최단경로를 찾는 대규모 프로토콜

- BGP(Border Gateway Protocol)

  > 자치 시스템 간의 라우팅 프로토콜로 EGP(Exterior Gateway Protocol)의 단점을 보완하기 위해 만들어짐

  > 초기에 BGP 라우터들이 연결될 때는 전체 경로를 나타내는 라우팅 테이블을 교환하고 이후에는 변화된 정보만 교환

2) 트래픽 제어

- 패킷의 흐름 도는 그 양을 조절하는 기능으로 흐름제어, 폭주(혼합)제어, 교착상태 방지 기법이 있음

3) 흐름제어

- 송수신 측 사이에 전송되는 패킷의 양이나 속도를 규제하는 기능

> 정지대기(Stop-and-Wait): ACK을 받은 후 다음 패킷을 전송하는 방식 -> 한번에 하나의 패킷 전송

> 슬라이딩 윈도우★: ACK을 받지 않더라도 미리 정해진 패킷 수만큼 연속적으로 전송(한번에 여러개 패킷 전송)

                             - 수신 측으로부터 송신한 패킷에 대한 ACK이 전달된 경우 윈도우 크기는 증가하고

                                NAK이 전달된 경우 윈도우 크기는 감소

4) 폭주(혼잡) 제어

 - 흐름제어가 송수신 측 사이의 패킷 수를 제어하는 기능이라면, 혼잡 제어는 네트워크 내의 패킷 수를 조절하여 오버플로를 방지

 > 느린 시작: 2배씩 지수적으로 증가시켜 갈수록 빨라짐. 전송데이터 크기가 임계값에 도달하면 혼잡 회피 단계로 넘어감

 > 혼잡 회피: 느린 시작의 지수적 증가가 임계값에 도달하면 혼잡으로 간주하고 회피를 위해 윈도우의 크기를 1씩 선형적으로 증가시켜 혼잡 예방

5) 교착상태 방지

 - 기억 공간에 들어가기 위해 무한정 기다리는 현상

6) 교착상태 발생의 필요충분 조건★

- 상호배제, 점유와 대기, 환형대기, 비선점

## 상점환비

 

★ 소프트웨어 개발 보안

1) 소프트웨어 개발 보안 관련 기관

감리법인 - 감리 계획 수립,협의 및 소프트웨어 보안 약점 제거 여부 및 조치 결과 확인

사업자 - 소프트웨어 개발 보안 관련 기술 수준 및 적용계획 명시. 보안 관련 인력을 대상으로 교육 실시. 보안 가이드 참조해 개발

한국인터넷진흥원 - 보안 정책 및 가이드 개발, 기술 지원, 자격제도 운영

발주기관 - 보안 계획 수립, 사업자 및 감리 법인 선정, 보안 준수 여부 점검

행정안전부 - 정책 총괄, 법규 지침 제도 정비

(감사한 발행)

 

2) 개발 직무별 보안 활동

-> PM(보안 전략 전달), 요구사항 분석가(요구사항 설명 및 정의), 아키텍트(보안기술 문제 이해), 설계자(발생할 수 있는 보안 위험에 대해 이해 및 대응), 구현개발자(시큐어 코딩 표준 준수 개발 및 문서화★), 테스트 분석가(요구사항과 구현 결과 반복적 확인), 보안 감시자(전체단계에서 활동 및 보안 보장)

 

★★ Secure OS

1) Secure OS: 보안 기능을 갖춘 커널을 이식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제

 - 암호적 분리: 내부 정보를 암호화

 - 논리적 분리: 논리적 구역을 지정하여 구역을 벗어나는 행위를 제한

 - 시간적 분리: 동일 시간에 하나의 프로세스만 수행되도록 하여 동시 실행으로 발생하는 보안 취약점을 제거하는 방법

 - 물리적 분리: 사용자 별로 특정 장비만 사용하도록 제한하는 방법

(구현 복잡한 순서: 암논시물)

2) 참조 모니터

 - 보호대상의 객체에 대한 접근 통제를 수행하는 추상머신이며 이를 실제로 구현한 것이 보안 커널

-> 격검완: 격리성(부정 조작 불가능), 검증 가능성(적절히 구현 확인 가능), 완전성(우회 불가능)

3) Secure OS의 보안 기능

 - 식별 및 인증, DAC(임의적 접근 통제), MAC(강제적 접근 통제), 객체 재사용 보호, 완전한 조정, 신뢰 경로, 감사 및 감사기록 축소

 

★★ 회복 및 병행제어, 데이터 표준화

1) 회복: 트랜잭션을 수행하는 도중 장애가 발생하여 DB가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업

 -> 작업의 유형: 트랜잭션 장애, 시스템 장애(트랜잭션 수행에 장애), 미디어 장애(DB 일부 또는 전부가 물리적으로 손상된 상태)

 -> 회복 관리기: 메모리 덤프, 로그를 이용하여 회복 수행. 모든 변화를 취소하고 트랜잭션 수행 이전의 원래 상태로 복구하는 역할

2) 병행제어: 병행수행할 때 일관성을 파괴하지 않도록 트랜잭션 간의 상호작용을 제어하는 것.

-> 목적: 데이터베이스 공유 최대화, 일관성 유지, 시스템 활용도 최대화, 응답 시간 최소화

3) 병행수행의 문제점★

- 갱신분실: 갱신 결과 일부가 없어지는 현상

- 비완료 의존성: 실패한 갱신 결과를 참조하는 현상, 임시 갱신

- 모순성: 원치 않는 자료를 이용함으로써 발생하는 문제. 불일치 분석

- 연쇄 복귀: 다른 트랜잭션도 함께 롤백되는 현상

4) 데이터 표준화의 정의: 원칙을 수립하고 적용하는 것 의미

-> 데이터 표준 종류: 표준 단어(최소 단위 언어), 도메인(컬럼 그룹핑), 코드(이미 정의된 코드값), 용어(다른 거 바탕으로 용어 구성)

#단도코용

5) 데이터 관리 조직: 데이터 관리자(DA), 데이터베이스 관리자(DBA)

 

★★★네트워크 관련 신기술

1) 분류

- IoT: 사람과 사물, 사물과 사물 간에 M2M(Machine to Machine) 개념을 인터넷으로 확장

- M2M: 기계와 기계 사이의 통신

- 모바일 컴퓨팅: 휴대형 기기로 이동하면서 네트워크에 접속하여 업무 처리 가능 환경

- 클라우드 컴퓨팅: 중앙 컴퓨터에 두고 인터넷 기능을 갖는 단말기로 언제 어디서나 인터넷 통해 작업 수행 가능 환경

사공하★(사설, 하이브리드, 공용 클라우드)

- 그리드 컴퓨팅★: 수많은 컴퓨터를 하나의 컴퓨터처럼 묶어 분산처리하는 방식

- 모바일 클라우드 컴퓨팅: 여러가지 정보와 자원을 공유하는 ICT 기술

- 인터클라우드 컴퓨팅: 클라우드 서비스나 자원을 연ㅇ결하는 기술

- 메시 네트워크★: 대규모 디바이스의 네트워크 생성에 최적화되어 특수 목적을 위한 새로운 방식의 네트워크 기술

- 와이선(WI-SUN)★: 스마트 그리드와 같은 장거리 무선 통신을 필요로 하는 사물 인터넷 서비스를 위한 저전력 장거리(LPWA) 통신 기술

- NDN(Named Data Networking): 콘텐츠 자체의 정보와 라우터 기능만으로 데이터 전송을 수행하는 기술, 콘텐츠 중심 네트워킹(CNN)과 같은 개념으로 기존의 IP 망을 대체할 새로운 인터넷 아키텍처

- 지능형 초연결망: 국가망에 소프트웨어 정의 기술을 적용하는 방법

- NGN(Next Generation Network, 차세대 통신망): ITU-T에서 개발. 모든 정보와 서비스를 패킷으로 압축하여 전송

- SDN(Software Defined Networking)★: 네트워크를 컴퓨터처럼 모델링하여 소프트웨어들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크

- NFC(근거리 무선 통신)★: 고주파를 이용한 근거리 통신 기술. RFID 기술의 일종

- UWB(Ultra WideBand): 짧은 거리에서 많은 양의 디지털 데이터를 낮은 전력으로 전송하기 위한 무선 기술

- PICONET★★: UWB 통신 기술 또는 블루투스 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술

- WBAN(Wireless Body Area Network): 웨어러블 혹은 세선나 기기를 무선으로 연결하는 개인 영역 네트워킹 기술

- GIS(Geographic Information System, 지리 정보 시스템): 모든 사물의 위치 정보를 제공해주는 시스템

- USN(유비쿼터스 센서 네트워크)★: 필요한 모든 곳에 RFID태그를 부착하고 주변의 환경정보까지 탐지하여 네트워크에 연결해 정보를 관리하는 것

- SON(자동 구성 네트워크): 주변 상황에 맞추어 스스로 망을 구성하는 네트워크

- 애드 혹 네트워크★: 재난 현장과 같이 별도의 고정된 유선망을 구축할 수 없는 장소에서 구성하는 네트워크

- 네트워크 슬라이싱★: 5G 네트워크를 구현하는 중요한 핵심기술로, 다수의 가상 네트워크로 분리하는 네트워크 기술

- 저전력 블루투스 기술(BLE): 일반 블루투스와 동일한 주파수 대역을 사용하지만 연결되지 않은 대기상태에서는 절전모드를 유지하는 기술

 

★★★ 소프트웨어 관련 신기술

- 인공지능: 인공지능적인 작업 수행하는 시스템, 개발언어-LISP, PROLOG

- 뉴럴링크: 컴퓨터와 뇌를 연결한다는 개념

- 딥러닝: 인공 신경망을 기반으로 하는 기계학습기술

- 전문가 시스템: 의료 진단 등과 같은 특정 분야의 전문가가 수행하는 고도의 업무를 지원하기 위한 컴퓨터 응용 프로그램

- 블록체인: P2P 네트워크를 이용하여 온라인 금융거래 정보를 온라인 네트워크 참여자의 디지털장비에 분산저장하는 기술 -> 비트코인

- 분산 원장 기술(DLT): 거래가 발생할 때마다 지속적으로 갱신되는 디지털 원장

- 해시: 임의의 길이 메시지를 고정된 길이의 값이나 키로 변환하는 것

- 양자 암호키 분배(QKD)★: 비밀키를 분배하여 관리하는 기술

- 프라이버시 강화 기술(PET): 개인정보 위험 관리 기술

- 디지털 저작권 관리(DRM)★: 안전한 배포를 활성화하거나 불법 배포를 방지하기 위한 시스템

- 공통 평가 기준(CC): 정보화 제품의 정보보호 기능과 이에 대한 등급을 정한 기준

- 개인정보 영향평가 제도(PIA): 국민의 사생활에 미칠 영향에 대해 미리 조사, 분석, 평가하는 제도

- 그레이웨어★★: 사용자 입장에서는 유용할 수도 있고 악의적일 수도 있는 애드웨어, 트랙웨어(스파이웨어), 악성 공유웨어

- 매시업★★: 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술 -> 콘텐츠를 조합하여 하나의 서비스를 제공하는 웹사이트 또는 애플리케이션

- 리치 인터넷 애플리케이션(RIA): 신개념의 플래시 웹페이지 제작 기술

- 시맨틱 웹★: 컴퓨터가 사람을 대신하여 정보를 읽고 이해하고 가공하여 새로운 정보를 만들어 낼 수 있도록 한 차세대 지능형 웹

- Vaporware(증발품): 고객에게 판매되거나 배포되지 않고 있는 소프트웨어

- 오픈 그리드 서비스 아키텍처(OGSA): 웹서비스를 그리드 상에서 제공하기 위해 만든 개방형 표준

- 서비스 지향 아키텍처(SOA★ Service Oriented Architecture): 정보를 누구나 이용 가능한 서비스로 간주하고 연동과 통합을 전제로 아키텍처를 구축

- 서비스형 소프트웨어★(SaaS): 사용자가 필요로하는 서비스만 이용할 수 있도록 한 소프트웨어-> 인프라, 플랫폼, 소프트웨어

- 소프트웨어 Escrow(에스크로, 임치)★: 지식재산권을 보호하고 사용자는 저렴한 비용으로 유지보수 받을 수 있도록 소스 프로그램과 기술 정보 등을 제3의 기관에 보관하는 것

- 복잡 이벤트 처리(CEP): 의미가 있는 것만 추출

- 디지털 트윈★★: 소프트웨어를 가상화 한 모델로, 현실 속의 사물을 대신해 컴퓨터 등 가상 세계에서 다양한 상황을 모의 실험하기 위한 용도로 사용하는 기술

- 증강 현실★: 실제 촬영한 화면에 가상의 정보를 부가

- 가상 현실★: 실제와 유사하지만 실제가 아닌 환경이나 그 기술 자체를 의미

 

★★★ 하드웨어 관련 신기술

- 고가용성: 장애 발생 시 즉시 다른 시스템으로 대체 가능한 환경을 구축하는 메커니즘

- 3D Printing: 손으로 만질 수 있는 실제 물체로 만들어내는 것

- 4D Printing: 스스로 형태를 변화시키거나 제조되는 자가 조립기술이 적용된 제품을 3D Printing

- RAID★: 서로 다른 디스크들에 분산저장해 디스크의 속도를 향상시키는 것

- 4K 해상도: 차세대 고화질 모니터의 해상도를 지칭

- N-Screen(앤 스크린)★: 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스

- Companion Screen: N Screen의 한 종류로, 방송 내용을 SNS를 통해 공유

- Thin Client PC★: 기본적인 메모리만 갖추고 서버와 네트워크로 운용되는 개인용 컴퓨터

- Phablet: 폰과 태블릿의 합성어

- C형 USB: 기본 USB에 비해 크기가 작고 24핀으로 위아래의 구분이 없어 어느 방향으로든 연결 가능

- MEMS★★: 초정밀 반도체 제조 기술을 바탕으로 센서, 액추에이터 등 기계 구조를 다양한 기술로 미세가공하여 전기계적 동작을 할 수 있도록 한 초미세장치

- Trust-Zone Technology: 일반구역과 보안구역으로 분할하여 관리하는 하드웨어 기반의 보안 기술

- M-DISC(엠디스크)★★★: 한번의 기록만으로 자료를 영구 보관할 수 있는 광저장 장치

- Memrister★★: 메모리와 레지스터의 합성어, 기존의 경험을 모두 기억하는 특별한 소자

 

★★★ 데이터베이스 관련 신기술

빅데이터★: 기존 분석 체계로는 처리하기 어려운 막대한 양의 정형 또는 비정형 데이터 집합

브로드 데이터: 알지 못했던 새로운 데이터나 기존 데이터에 새로운 가치가 더해진 데이터

메타 데이터★: 데이터를 정의하고 설명해주는 데이터

스마트 데이터: 검증된 고품질의 데이터

디지털 아카이빙: 장기적으로 보존하기 위한 작업

하둡★: 오픈 소스를 기반은로 한 분산 컴퓨팅 플랫폼 -> 가상화된 대형 스토리지 형성

타조: 아파치 하둡 기반의 분산 데이터 웨어하우스 프로젝트

데이터 다이어트: 데이터를 압축하고 중복을 배제하고 나누어 저장하는 작업

데이터 웨어하우스: 주제별로 통합, 축적해 놓은 데이터베이스

맵리듀스: 데이터 분류로 묶는 매핑 작업 수행 후 데이터를 추출하는 reduce 작업을 수행하는 것

데이터 마이닝★: 대량의 데이터를 분석하여 변수 사이의 상호관례를 규명하여 일정한 패턴을 찾아내는 기법

 

★ Secure SDLC

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

> 요구사항 분석: 보안 항목에 해당하는 요구사항 식별하는 작업 수행

> 설계: 보안 설계서 작성

> 구현: 시큐어 코딩 준수하며 단위 테스트를 통해 소스코드의 안전성 확보

> 테스트: 동적 분석 도구 또는 모의 침투테스트를 통해 검증

> 유지보수: 패치 식실시

2) 보안요소★★

- 기밀성: 인가된 사용자에게만 접근 허용

- 무결성: 인가된 사용자만 수정 가능

- 가용성: 인가받은 사용자는 언제라도 사용 가능

- 인증: 사용자가 합법적인 사용자인지를 확인하는 모든 행위

- 부인방지: 송수신한 자가 송수신 사실을 부인할 수 없도록 송수신 증거 제공

 

★★★ 소프트웨어 개발 보안 구축

- 세션통제: 세션의 연결과 연결로 발생하는 정보를 관리

     > 보안약점: 불충분한 세션 관리, 잘못된 세션에 의한 정보 노출

- 입력 데이터 검증 및 표현: 입력 데이터에 대한 유효성 검증 체계를 갖추고 검증 실패 시 이를 처리할 수 있도록 하는 것

    > 보안약점: SQL 삽입, 경로 조작 및 자원 삽입, 크로스사이트 스크립팅, 운영체제 명령어 삽입, 위험한 형식 파일 업로드, 신뢰되지 않는 URL 주소로 자동접속 연결

- 보안 기능: 인증, 접근제어, 기밀성, 암호화 등의 기능★

    > 보안약점: 적절한 인증 없는 중요기능 허용, 부적절한 인가, 중요한 자원에 대한 잘못된 권한 설정, 취약한 암호화 알고리즘 사용, 중요 정보 평문 저장 및 전송, 하드코드된 암호화 키 사용★

- 시간 및 상태: 병렬 처리 시스템이나 시간과 실행상태를 관리하여 원활히 동작되도록 코딩하는 것

    > 보안약점: TOCTOU(Time of Check Time of Use) 경쟁조건, 종료되지 않는 반복문 또는 재귀함수

- 에러처리: 오류들을 사전에 정의해 문제들을 예방하는 것

    > 보안약점: 오류 메시지를 통한 정보 노출, 오류 상황 대응 부재, 부적절한 예외 처리

- 코드오류: 자원의 반환 등을 고려하며 코딩하는 것★

    > 보안약점: 널 포인터 역참조, 부적절한 자원 해제, 해제된 자원 사용, 초기화되지 않은 변수 사용

- 캡슐화: 데이터와 데이터를 처리하는 함수를 하나의 객체로 묶어 코딩하는 것

    > 보안약점: 잘못된 세션에 의한 데이터 정보 노출, 제거되지 않고 남은 디버그 코드, 시스템 데이터 정보 노출 등

- API 오용: API를 잘못 사용하거나 보안에 취약한 API를 사용하지 않도록 고려하여 코딩

    > 보안약점: 취약한 API 사용, DNS lookup에 의존한 보안 결정

1) 세션 설계 시 고려 사항★

- 모든 페이지에서 로그아웃이 가능하도록 UI 구성

- 로그아웃 요청 시 할당된 세션이 완전히 제거되도록 함

- 세션 타임아웃은 중요도가 높으면 2~5분, 낮으면 15~30분으로 설정

- 이전 세션이 종료되지 않으면 새 세션이 생성되지 못하도록 설계

- 패스워드 변경 시 활성화된 세션을 삭제한 후 재할당

2) 세션 ID의 관리 방법★

- 안전한 서버에서 최소 128비트의 길이로 생성

- 예측이 불가능하도록 안전한 난수 알고리즘 적용

- 노출되지 않도록 URL Rewrite 기능을 사용하지 않는 방향으로 설계

- 로그인 시 로그인 전의 세션 ID를 삭제하고 재할당

- 장기간 접속하고 있는 세션 ID는 주기적으로 재할당되도록 설계

3) 크로스 사이트 스크립팅★

- 웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나, 비정상적인 기능 수행 유발하는 보안 약점

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

4) 부적절한 자원 해제★

- 자원을 반환하는 코드를 누락하거나 프로그램 오류로 할당된 자원을 반환하지 못했을 때 발생하는 보안 약점

-> 오류로 인해 함수가 중간에 종료되었을 때, 예외처리에 관계없이 자원이 반환되도록 코딩함으로써 방지

 

★★★ 암호 알고리즘

1) 개요

2) 암호화

> 암호화 과정

> 복호화 과정

3) 암호화 방식★★

- 개인키 암호 방식(대칭키): 동일한 키로 데이터를 암호화하고 복호화함. 비밀키는 DB 사용 권한이 있는 사용자만 나눠가짐.

-> 블록 암호화 - DES, AES, SEED, ARIA

-> 스트림 암호화 - RC4, LFSR

- 공개키 암호방식(비대칭키): 암호화할 때 사용하는 키(공개키), 복호화 할 때의 키(비밀키)는 관리자가 관리

-> RSA, Diffie-Hellman

4) 암호화 방식 장,단점★

대칭키 - 암호화/복호화 속도가 빠름, 알고리즘이 단순함, 파일의 크기가 작음. 관리해야 할 키의 수가 많음

비대칭키 - 키의 분배가 용이, 관리해야 할 키의 수가 적음. 암호화/복호화 속도가 느림, 복잡한 알고리즘, 파일의 크기가 큼

5) 양방향 알고리즘 종류★★

DES - NBS에서 발표한 개인키 암호화 알고리즘. 블록 크기는 64비트, 키 길이는 56비트★

AES - NIST에서 발표한 개인키 암호화 알고리즘. 블록 크기는 128비트, 키 길이 따라 128, 192, 256으로 분류

SEED - KISA에서 개발한 블록 암호화 알고리즘, 블록 크기는 128비트, 키 길이에 따라 128, 256으로 분류

ARIA - 국가정보원과 산학연협회가 개발한 블록 암호화 알고리즘. 블록 크기는 128비트, 키 길이에 따라 128, 192, 256으로 분류

RSA - MIT의 라이베스트, 샤미르, 애들먼에 의해 제안된 공개키 암호화 알고리즘 -> 소인수 분해 문제 이용

6) 해시

- 고정된 길이의 값이나 키로 변환하는 것

- SHA 시리즈, MD5, N-NASH, SNEFRU★

 

★★★ 서비스 공격 유형

- 서비스 거부 공격(DoS): 서버의 자원을 고갈시킬 목적으로 서버의 정상적인 기능을 방해

- Ping of Death★: Ping 명령을 전송할 때 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송

- 스머핑★: IP 또는 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능상태로 만듦

                : 송신 주소를 공격 대상지의 IP 주소로 위장. 브로드캐스트 주소를 수신지로 하여 전송하면 모든 컴퓨터로 전송

- SYN Flooding: 공격자가 가상의 클라이언트로 위장하여 3-way-handshake 과정을 의도적으로 중단시킴. 서버가 대기상태.

- TearDrop★: 데이터의 송수신 과정에서 패킷의 크기가 여러 개로 분할되어 전송될 때 분할 순서를 알 수 있도록

                        Fragment Offset 값을 함께 전송하는데, 이를 변경시켜 수신측에서 패킷을 재조립할 때

                        오류로 인한 과부하를 발생시킴으로써 시스템이 다운되도록 하는 공격 방법

- LAND Attack★: 패킷 전송 시 송신 IP 주소와 수신 IP 주소를 모두 공격 대상의 IP 주소로 하여 공격대상 자신에게 전송하는 것

                              자신에 대해 무한히 응답하게 하는 공격 방법

- 분산 서비스 거부(DDoS): 분산된 분산 서비스 공격을 수행하는 공격 방법

                                        종류: Trinoo, Tribe Flood Network, StacheIdraht★

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

- 스미싱: 문자 메시지에 링크를 거는 등 문자메시지 용해 정보 빼냄

- 스피어 피싱★: 사회공학의 한 기법, 신뢰를 바탕으로 특정 대상을 선정 후 클릭하도록 유도 후 개인 정보 탈취

- 지능형 지속 위협(APT)★: 특정 기업이나 조직 네트워크에 침투해 활동 거점을 마련한 뒤 때를 기다리며 보안을 무력화시키고 외부로 빼돌리는 형태 공격

- 무차별 대입 공격

- 큐싱(Qshing)★: QR코드와 금융정보를 낚는다의 합성 신조어

- SQL 삽입 공격★: 데이터를 조작하는 일련의 공격 방식

- 크로스 사이트 스크립팅★: 특정 게시물이나 이메일 링크를 클릭하면 악성 스크립트가 실행되어 해커에게 전달

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

- 좀비 PC: 다른 프로그램이나 컴퓨터를 조종하도록 말ㄴ들어진 컴퓨터. C&C 서버의 제어를 받아 주로 DDoS 공격등에 이용

- C&C서버: 감염된 좀비 PC에 명령을 내리고 악성코드를 제어하기 위한 용도로 사용하는 서버

- 봇넷★: 악성 프로그램에 감염되어 악의적인 의도로 사용될 수 있는 다수의 컴퓨터들이 네트워크로 연결된 형태

- 웜: 네트워크를 통해 연속적으로 자신을 복헤자여 부하를 높임으로써 결국 시스템을 다운시키는 바이러스의 일종

- 제로데이공격★: 보안 취약점이 발견되었을 때 존재 자체가 널리 공표되기도 전에 해당 취약점을 통해 이루어지는 공격

- 키로거 공격★: 키보드 움직임을 탐지해 ID, PW 등 중요한 정보를 몰래 빼가는 해킹 공격

- 랜섬웨어★★: 암호화해 사용자가 열지 못하게 하는 공격. 사용자에게 돈을 요구하기도 함

- 백도어: 액세스 편의를 위해 시스템 보안을 제거하여 만들어놓은 비밀 통로

- 트로이 목마: 정상적인 기능을 하는 프로그램으로 위장

 

★★★ 보안 솔루션

- 방화벽★: 외부에서 내부 네트워크로 들어오는 패킷은 내용을 엄밀히 체크

- 침입 탐지 시스템(IDS): 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템

- 침입 방지 시스템(IPS)★: 방화벽과 침입 탐지 시스템을 결합한 것으로, 비정상적인 트래픽을 능동적으로 차단하고 격리하는 등의 방어 조치를 취하는 보안 솔루션

- 데이터 유출 방지(DLP): 내부 정보의 외부 유출을 방지하는 보안 솔루션

- 웹 방화벽★: SQL 삽입 공격, XSS 등의 웹 기반 공격을 방어할 목적으로 만들어진 웹 서버에 특화된 방화벽

- VPN★: 가상 사설 네트워크로 공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 하는 솔루션

- NAC: 네트워크에 접속하는 내부 PC의 MAC 주소를 IP 관리 시스템에 등록한 후 보안 관리 기능을 제공하는 보안 솔루션

- ESM★: VPN 등에서 발생한 로그 및 보안 이벤트를 통합하여 관리하는 보안 솔루션. 종합적인 보완 관리 체계를 수립할 수 있음.

- SDP: 블랙 크라우드라고도 불리며 컴퓨터 보안 접근 방식

 

★ 서버 인증

1) 인증★: 로그인을 요청한 사용자의 정보를 확인하고 접근 권한을 검증하는 보안 절차

-> 인증의 주요 유형: 지식, 소유, 생체, 특정 기반 인증

2) 지식 기반 인증: 사용자가 기억하고 있는 정보를 기반으로 인증을 수행

3) 소유 기반 인증: 사용자가 소유하고 있는 것을 기반으로 인증 수행

4) 생체 기반 인증: 사용자의 고유한 생체 정보를 기반으로 인증 수행

5) 특징 기반 인증

 - 행위 기반 인증: 사용자의 행동 정보를 이용해 인증 수행(서명, 동작)

 - 위치 기반 인증: 인증을 시도하는 위치의 적절성 확인

 

★ 로그 분석

1) 로그: 시스템 사용에 대한 모든 내역을 기록해 놓은 것

2) 리눅스의 주요 로그 파일★

 - 커널 로그. /dev/console/. kernel.커널에 관련된 내용을 관리자에게 알리기 위해 파일로 저장하지 않고 지정된 장치에 표시★

 - 부팅 로그. /var/log/boot.log. boot. 부팅 시 나타나는 메시지들을 기록

 - 크론 로그. /var/log/cron. crond. 작업 스케줄러의 작업 내용 기록

 - 시스템 로그. /var/log/messages. syslogd. 커널에서 실시간을 보내오는 메시지들 기록★

 - 보안 로그. /var/log/secure. xinetd. 시스템의 접속에 대한 로그 기록

 - FTP 로그. /var/log/xferlog. ftpd. FTP로 접속하는 사용자에 대한 로그 기록

 - 메일 로그. /var/log/maillog. sendmailpopper. 송수신 메일에 대한 로그 기록

3) 윈도우즈 로그: 이벤트 로그 형식으로 시스템의 로그 관리

4) 윈도우즈 이벤트 뷰어의 로그

 - 응용 프로그램 로그, 보안 로그, 시스템 로그, Setup로그, Forwarded Events 로그

 

★★★ 기출

1) 오픈플로우★

- 네트워크 장치의 컨트롤 플레인과 데이터 플레인 간의 연계 및 제어를 담당하는 개방형 표준 인터페이스

> 오픈플로우 컨트롤러: 중앙 집중형 네트워크 제어 역할

> 오픈플로우 프로토콜: 스위치와 컨트롤러가 통신하기 위한 개방형 표준 인터페이스

> 오픈플로우 스위치: L2 스위치에 오픈 플로우 프로토콜을 펌웨어로 추가해 스위치를 구성하거나 SW 방식의 논리적 스위치 구성

> 흐름 테이블: 정보 저장 테이블

> 파이프라이닝: 흐름 테이블에는 패킷에 대한 액션 처리 또는 다른 액션 추가 기능. 패킷 처리가 계속 되도록 제어.

> 그룹 테이블: 브로드 캐스트나 멀티 캐스트를 구현하는 데 사용하는 테이블

> 보안 채널: 스위치의 보안 채널

2) 기계 학습

- 지도 학습: 목푯값을 제시하여 학습. 인공 신경망과 회귀 분석

- 비지도 학습: 목푯값을 스스로 추론하여 학습. K-Means 알고리즘과 주성분 분석(PCA)

- 강화 학습: 행위의 포상을 기억하고 학습. Q-Learning과 몬테카를로 트리 탐색

3) 네트워크 기능 가상화(NFV): 네트워크 기능을 가상 기능으로 모듈화

 - VNFs: 네트워크 기능 실현을 위한 소프트웨어 패키지

 - NFVI: 범용 하드웨어와 가속 기능 및 하드웨어 가상화에 필요한 소프트웨어 계층으로 구성

 - MANO: NFVI 물리 및 가상 자원 관리와 VNF의 조율 및 라이프 사이클 관리를 담당

4) 오버레이 네트워크

 - 별도의 노드들과 논리적 링크들을 구성하여 이루어진 가상 네트워크

> DHT: 분산 컴퓨팅의 안전한 Lookup 메커니즘을 제공하는 저장 기술, 각 노드의 식별자 분산 저장

> 오버레이 노드: DHT 이용 위치 정보 제공

> 맵핑: 동적 연결 및 동적 재구성 기능 제공

> 베이스 노드: 노드들 간의 연결 역할

> 식별자: 해시 함수를 이용하여 위치 키와 아이템 키 생성

5) 광전송 장비

: 광케이블을 이용하여 비교적 긴 거리의 데이터 전송에 이용

> SONET: 광신호와 인터페이스 표준 제공

> SDH: SONET을 기초로 동기식 디지털 다중화 신호 계취에 관한 ITU 국제 표준 규격

> DWDM: 파장 대역 채널을 조밀하게 나누어 규격화한 광전송 기술

> CET: 광역 통신망에서 고속으로 데이터 전달, 교환하는 차세대 패킷 전송 기술

6) 딥러닝

- 심층 신경망: 은닉 계층을 통해 비선형 관계에 대한 모델링이 가능한 인공신경망

- 합성곱 신경망: 컨볼루션과 서브 샘플링 과정을 반복하는 비지도 학습

- 순환 신경망: 연속된 은닉 노드의 값을 저장한 이후, 연속적인 정보의 흐름을 학습에 이용

7) 엣지 컴퓨팅: 데이터 처리 및 연산을 분산시키는 컴퓨팅 구조

8) SDDC: 가상 자원의 풀을 구성하고 데이터 센터 전체를 운영하는 소프트웨어가 필요한 기능 및 규모에 따라 자원 할당, 관리 역할

9) NoSQL 유형

- Key-Value Store

- Column Family Data Store : Key 앞에 (Column, Value) 조합으로 된 여러 개의 필드를 갖는 DB

- Documnet Store: Value 데이터 타입이 문서라는 타입을 사용하는 DB

- Graph Store: 시맨틱 웹과 온톨로지 분야에서 활용되는 그래프

10) 보안 아키텍처 영역

- 관리적 보안: 원칙 정의

- 물리적 보안: 물리적 위협 수단으로부터 보호하기 위한 수단

- 기술적 보안: 기술 도입

11) 데이터베이스 동시성(병행) 제어 기법

- 로킹 기법: 잠금 설정 트랜잭션이 해제할 때까지 독점적으로 사용할 수 있게 상호배제 기능 제공 기법.

                  > 로킹 작을수록 병행수준은 뛰어나지만 관리 어렵고 - 오버헤드 큼

                  > 로킹 클수록 병행수준은 낮아지지만 관리는 쉬움 - 오버헤드 적음

- 2단계 로킹: 잠금과 해제 연산을 확장 단계와 수축 단계로 구분하여 수행하는 기법

- 낙관적 검증: 어떠한 검증도 수행하지 않고, 일단 트랜잭션 수행하고 종료 시 검증 수행 DB에 반영

- 타임스탬프 오더링: 트랜잭션 간의 순서를 미리 선택하고 동시성 제어의 기준으로 사용하는 기법

- 다중버전 동시성 제어(MVCC): 적절한 버전을 선택하여 접근하도록 하는 기법

 

★★★ 기출 문제

1) 스택가드: 오버플로우 상태로 가정하여 프로그램 실행을 중단하는 기술 = 스택가드

2) tripwire: 크래커가 침입하여 백도어를 만들어 놓거나 설정 파일을 변경했을 때 분석하는 도구

3) 백도어 탐지 방법: 열린 포트 확인, 무결성 검사, 로그 분석, SetUID 파일 검사

4) 소프트웨어 재사용 방법

 - 합성 중심: 블록을 만들어서 끼워 맞추는 방법

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

5) 실무적으로 검증된 개발보안 방법론

 - MS-SDL: 자체 수립한 SDL

 - Seven TouchPoints: SW 보안의 모범 사례를 SDLC에 통합한 개발 보안 생명주기 방법론

 - CLASP: 활동중심, 역할 기반의 프로세스로 구성된 집합체. 이미 운영중인 시스템에 적용하기 적당한 개발 보안 방법론

 - CWE: 취약점에 대한 범주 시스템으로, 결함을 식별, 수정 및 방지하는데 사용될 수 있는 자동화된 도구를 작성함

 

8) 요구사항 분석 자동화 도구

> SREM: TRW 사가 우주 국방 시스템 그룹에 의해 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발한 것, RSL과 REVS를 사용하는 자동화 도구

> PSL/PSA: 미시간 대학에서 개발한 것으로 PSL과 PSA를 사용하는 자동화 도구

> HIPO: 시스템의 분석 및 설계나 문서화할 때 사용되는 기법으로 시스템 실행 과정의 입력, 처리, 출력의 기능을 나타내고, 종류로는 가시적 도표, 총체적 도표, 세부적 도표가 있음

> SADT: SoftTech사에서 개발된 것으로 구조적 요구분석을 하기 위해 블록 다이어그램을 채택한 자동화 도구

> TAGS: 시스템 공학 방법 응용에 대한 자동 접근 방법으로 개발 주기 전 과정에 이용할 수 있는 통합 자동화 도구

9) NS chart

> 논리의 기술에 중점을 둔 도형식 표현 방법

> 전문성이 있어야 그리기 쉬움

> 연속, 선택 및 다중 선택, 반복 등의 제어논리 구조로 표현함

> 임의의 제어 이동이 어려움 -> goto 구조가 어려움

> 그래픽 설계 도구

> 상자 도표라고도 함

> 프로그램으로 구현이 쉬움

> 조건이 복합되어 있는 곳의 처리를 시각적으로 명확히 식별하는데 적합

10) 용어

- Secure OS: OS에 내재된 보안 취약점을 해소하기 위해 보안 기능을 갖춘 커널을 이식하여 외부의 침입으로부터 시스템 자원을 보호하는 운영체제

- Cent OS: 무료 기업용 리눅스 운영체제

- GPIB: 컴퓨터와 주변 기기를 연결하기 위한 외부 버스의 일종으로, 비동기 병렬 전송방식을 갖고 있음

- XSS: 특정 게시물이나 악성 스크립트가 실행되어 페이지가 깨지거나 내부자료 등이 해커에게 전달되는 해킹 기법

 

출처: https://m.blog.naver.com/wook2124/222102990691

 

반응형

'정처기' 카테고리의 다른 글

정보처리기사 실기 정리  (0) 2021.07.07
프로그래밍 언어 활용  (0) 2021.05.09
소프트웨어 개발  (0) 2021.05.08
데이터베이스 구축  (0) 2021.05.07
소프트웨어 설계  (1) 2021.05.06