[컴퓨터와 IT기술의 이해] 교양서를 학습 및 암기하기 위해 정리했던 내용이다.
목차별로 간략화하여 정리한 내용이며, 개인 학습 및 정리를 위한 것임을 다시 한 번 밝힌다.
4.4 정보시스템 및 소프트웨어 개발
프로그램 개발 라이프사이클(폭포수 모델) : 요구분석 → 프로그램 설계 → 프로그램 구현 → 테스트 및 수정 → 유지보수
폭포수 모델의 단점 : 이전 단계로 못 돌아감. 앞 업무가 끝나기 전에 다음 단계를 시작하지 못함
프로토타입 개발방법 : 다양하고 복잡한 인터페이스를 포함할 때 사용. 사용자와 개발자 간 오해를 최대한 줄임. 불완전한 요구사항 발견 가능. 프로젝트 초기 요구사항이 확실치 않을 때 유용함
나선형 모델 : 폭포수 장점 + 프로토타입 장점 + 위험 분석. 계획 및 정의 → 위험 분석 → 개발 → 고객 평가를 반복하여 진행, 단계를 거듭할수록 최종 개발에 접근해 가는 방식
컴포넌트 기반 개발 방법론 : 재사용성 활용해 정보 시스템의 신속한 구축이 목적. 개발되어 있는 컴포넌트를 조립해 개발. 환경 및 업무 변화에 맞춰 변경 및 확장이 쉬움. 컴포넌트 재사용으로 시간과 노력 절감 가능, 컴포넌트를 신뢰할 수 있어 품질 향상에 기여함
객체지향 개발방법론 : 재사용성 및 유지보수성 향상. 객체지향 방법론(객체, 클래스, 추상화, 상속 등)의 특성을 사용. 요구사항을 분석한 뒤 객체를 추출하고 연관성을 찾아냄. 객체(object) → 업무 처리, 클래스(Class) → 객체들의 공통점을 묶음
DevOps : 개발 ↔ IT운영팀 간의 협업을 위함. 초기 계획, 코딩, 구축, 테스트, 운영 등에 이르는 모든 라이프사이클 단계에 걸쳐서 적용. 개발자와 운영자가 긴밀하게 소통해 가면서 개발과 운영을 동시에 진행해 나가는 것. 애자일 및 스크럼 활용
애자일(Agile) 개발방법론 : 기존 프로세스는 부수적으로 요구하는 게 많아서(폭포수 모델에서 각 단계별 문서작성 요구) 민첩성과 실용성을 살리고자 중요한 부분만을 문서화함. 일정 주기로 프로토타입을 만들어 내며 필요할 때마다 수정해 최종 시스템 개발
MLOps : 머신러닝 오퍼레이션. data scientist와 ML engineer간 협업 추진, 개발 속도 증강
소프트웨어 개발 도구 - CASE 도구 : 프로그램 개발 라이프사이클을 효율적으로 진행 및 자동화. 요구사항 정리 도구 + 모델링 도구 + 코딩을 위한 컴파일러 및 도구 + 테스트 도구 등. 예시로는 MS Project, Primavera Project Planner
4.5 기타 응용 소프트웨어
컴퓨터 그래픽스 소프트웨어 : 래스터 이미지 기반(사진 편집 및 이미지 제작용. 포토샵), 벡터 방식(도형 표현 드로잉 용도. 일러스트레이터), 애니메이션 프로그램(Flash → 다이나믹 웹 페이지 제작에 사용됨), 3차원 모델링 소프트웨어(모델링, 영화 제작 등. 3D Max, 마야 등)
멀티미디어 소프트웨어 : 오디오 편집 프로그램(Encore, Finale 등. 악보 편집 및 연주까지 가능), 비디오 편집 도구(프리미어), 미디어 플레이어(곰플레이어, 윈도우 미디어 플레이어) 등
CAD : 2차원 설계도면 및 3차원 모델 작성. 도면 및 기술적 그림용. 오토캐드
CAM : 캐드를 바탕으로 한 제조 생산 작업을 말함. 즉, CAD 출력이 CAM 입력이 됨
산업 분야 응용
공장 자동화 : 전체 공정 자동화 → CAD/CAM 시스템. 구조 해석 및 시큘레이션, 생산 관리 시스템 등이 필요. 제조 공정에는 로봇 데어 프로그램 사용
산업용 로봇 : 단순 반복 및 위험 작업을 사람 대신 수행. 제품 생산 제조에 많이 활용하며, 최근에는 비 제조업에 활용하기 위해 연구 진행 중(국방, 우주, 수중, 원자력 등)
디지털 트윈 : 컴퓨터로 실제 사물의 복제판을 만들어 시뮬레이션, 결과 예측. 실제 자산 대신 가상화한 디지털 트윈으로 특성(상태, 생산성 등)에 대한 자세한 정보를 얻을 수 있음. 사업 프로세스와 운용 성능을 개선시킴. 제조, 에너지, 항공, 국방, 자동차 등에 활용
5.1 정보통신
정보 : 자료나 지식을 표현하는 데이터 원본
Gbyte(Giga) → Tbyte(10^12Bytes)(Tera) → Ebyte(Exa) → Zbyte(Zeta) → Ybyte(Yolta) : 각각 10^4 bytes만큼씩 증가
정보 양은 매년 30%씩 증가할 것으로 예측됨(미디어량 증가), 2011년 인터넷 총 정보량은 487Ebytes(Exa)
통신 : 멀리 떨어진 개체간의 정보 전달 → 정보 전달 : 정보(전달할 것) + 통신(수단)
정보통신의 예
- 전화망 → 음성이라는 정보를 전화기와 전화망으로 전달. 이때 음성 정보는 아날로그 데이터.
- 컴퓨터 망 → 컴퓨터 내 정보를 컴퓨터 네트워크로 다른 컴퓨터로 전송함. 컴퓨터망 통신규약이 있어 컴퓨터 주소를 사용해 송/수신.
Pocket-switched Network : 전송한 순서대로 도착하지 않으며 리시버가 나중에 순차적으로 정렬. 넷플릭스나 유튜브 영상
Circuit-switched Network : 하나만 집중해서 전송
네트워크 프로토콜 : 정보 전송을 위한 통신 규약(표준). 우편 시스템에서 주소, 우표, 규격 봉투 등의 통신 규약을 사용하는 것처럼 컴퓨터 망에선 ISO, CCITT의 통신규약, 인터넷 망에서는 IEEE , IETF 표준 통신규약을 사용함. 예를 들면 TCP/IP(IP주소)와 도메인(인터넷 주소)이 있음
정보통신 서비스 : 인터넷 정보, 이메일, 화상회의, 전화음성, 디지털 방송 등 다양한 서비스
5.2 컴퓨터 네트워크
컴퓨터 네트워크 구성요소 : 송수신 정보기기(컴퓨터, 핸드폰 등), 전송매체(동축케이블, 광케이블, 무선 네트워크 등), 데이터(문서정보, 음성 데이터 등), 통신 프로토콜
아날로그는 연속적인 정보, 디지털은 0과 1의 값으로 표현됨
직렬 전송 : 단일 선로로 한 비트씩 순서대로 전송. 설치가 쉽고 비용이 저렴하나 속도가 느림
병렬 전송 : 여러 선로로 여러 비트를 동시에 전송. 비용이 비싸며 짧은 거리 전송에 사용
대역폭 : 데이터 전송 주파수 폭. Hz 단위. 낮을수록 멀리 감. 케이블이 전송 가능한 양.
전송속도 : 초당 데이터 전송량. Bps 단위
컴퓨터 망의 구성 : 네트워크 구조에 의한 분류
- 버스 네트워크 : 직렬 연결. 구현 및 확장 용이. 길이 한정됨 → 이더넷(10Base5/10Base2)
- 링 네트워크 : 한 방향 이동. 먼 거리 가능. 하나의 노드 장애가 발생할 시 전체 마비됨
- 스타 네트워크 : 설치가 쉬우며 중앙 노드에 의존적임. 방사형 → 이더넷(10BaseT)
10Base5 : 1 segment당 100개 노드, 최대길이 500m. Coaxial thick cable
10Base2 : 1 segment당 20개 노드, 최대길이 185m. Coaxial thin cable
10BaseT : 1 segment당 512개 노드, 허브와 노드간 길이 100m. UTP cable(Twisted Pair)
컴퓨터 망의 구성 : 운영형태에 의한 분류
- 클라이언트-서버 모델 : 서버에 서비스 요청, 클라이언트에 전송. 웹 서버, 이메일 서버, FTP 서버
- P2P 모델 : 컴퓨터끼리 동등한 관계로 연결됨. 멀티미디어 콘텐츠 공유 시 유리함
- Ad-Hoc 모델 : P2P 모델의 무선형
컴퓨터 망의 구성 : 데이터 전송 방식에 의한 분류
- 패킷 스위칭 : 다량 서비스의 경우 주로 사용되며 현재 주된 방식임. 메시지를 패킷 단위로, 트래픽이 적은 경로로 전송하는 가변 경로. 빠른 경로 탐색으로 보내서 전송 효율 높음.조각내서 전송하고, 수신 후 순서대로 재정렬함
- 서킷 스위칭 : 미리 시작과 도착 노드 사이의 회선 구성 후 데이터 전송하는 고정 경로. 회선을 계속 유지해야 해서 비효울적이나 안정적임. 유선전화 때 사용
- 패킷 구조 : 주소 정보(control data)를 담은 header와 보내고 싶은 데이터를 담은 body
네트워크 종류
- 서비스 범위 : PAN(10m), LAN(회사, 학교), WAN
- 연결 방식 : 유선망(이더넷), 무선망(블루투스, 와이파이), 모바일망(LTE)
개인 영역 통신망 PAN : 개인 기기간 통신으로 수 미터 내에서 동작 (유선 : USB, Firewire / 무선 : Bluetooth, ZigBee)
근거리 통신망 LAN : 집이나 건물처럼 소규모 지역 지원 (유선 : Ethernet / 무선 : Wi-Fi)
원거리 통신망 WAN : 시/도 범위 및 국가간. 인터넷
백본 통신망(Backbone Network) : 네트워크의 최상위 레벨이자 중심. 기간망 백본 통신망을 통해서 LAN이나 WAN 연결
연결방식을 통한 네트워크 분류
유선망
- 속도 빠름, 보안상 안전, 설치 비용 비쌈
- 유선 LAN 또는 Ethernet. IEEE 802.3
- 트위스트 페어 케이블(간섭 현상 줄이도록 구리선 여러개를 꼬아 만듦, 전화선), 동축 케이블(하나의 굵은 구리선, 케이블 TV), 광섬유 케이블(광섬유. 대역폭 높고 잡음 적고 속도 빠르고 가벼우나 비쌈)
무선망 : AP(Access Point)로부터 형성된 핫스팟 내에서 무선 안테나로 접속, 수십미터까지 가능. 설치 쉽고 비용 저렴하나 유선에 비해 보안 취약
모바일망 : 무선 망은 지역 고정이고 이동 중에 불가, 광범위 지역에 부적합하나 모바일 망은 가능. 수 km 지역을 지원하는 cell 형태 모바일 망
5.3 인터넷 망
인터넷 : inter + network. ARPANET(미 국방성 군사 공유 목적. 4개 대학 컴퓨터간 IP 전송규약 사용해 연결) → LAN 구축(이더넷 랜 기술, TCP/IP 규약 통신기술 발전) → NSFNET(연구 정보 공유를 위해 5곳 슈퍼컴퓨터와 근처 컴퓨터 연결) → WWW(인터넷 대중화. 웹 브라우저 GUI 인터페이스 제공) 탄생
우리나라에서는 국방망 → 연구망 → 상업망으로 진화
네트워크의 계층적 구조
ISP : 고속 인터넷 회선에 직접 연결되어 인터넷 서비스를 제공하는 기관 또는 업체. KT 등 포함
개인은 전화선, 케이블 등을 통해 ISP 연결(인터넷 접속된 모든 컴퓨터는 LAN의 일부)
최상위에서는 백본 망을 통해 지역 간 연결
인터넷은 패킷 단위 전송, 패킷은 주소 + 정보
TCP : 1500 byte 단위로 패킷 만들어 IP에 전달, 수신
IP 프로토콜 : 패킷 받아서 주소 해석, 다음 경로 결정해 전송
고정형 무선 인터넷 : Wifi. AP라는 무선 안테나로 인터넷 접속. 주파수 도달 거리까지 핫스팟 지역 설정, 무선 모뎀이 핫스팟 내에 들어오면 무선 LAN 접속 가능
이동형 무선 인터넷 : LTE. 와이파이는 넓은 지역 지원 못함. 수십 킬로미터 지역에서 접속 가능
케이블 또는 ADSL 모뎀 : 홈 네트워크에서 ISP까지 신호 송수신
공유기 : 인터넷 회선에 한 개 이상의 컴퓨터와 프린터들이 공유하는 장치로, 최근에는 유 무선 함께 지원
중계기 : 디지털 방식 통신선로에서 신호 전송 시 거리가 멀어지면 신호가 감쇠됨. 수신된 전기 신호를 증폭 후 송신함
5.4 네트워크와 정보보안
방화벽 : 네트워크에 접속된 컴퓨터를 보호하는 방어막. 인터넷에서 전송되는 정보를 확인해 위험성이 내포된 정보를 차단, 악성 소프트웨어가 접근하는 것을 방지하고 컴퓨터 내부의 주요 정부를 외부로 보내지 못하게 방지함
방화벽 구성
- 소프트웨어 방화벽 : 개인용 컴퓨터처럼 작은 규모에서 사용, 설치 후에는 네트워크를 통해 사용하는 프로그램 검사
- 하드웨어 방화벽 : 규모가 큰 네트워크 에서 프록시 서버 설치. 회사 내 컴퓨터에 접속하기 위해서는 방화벽에서 보안 검사 후 접속 허용
정보통신 보안
시스템 보안 : 악성 및 유해 프로그램으로부터 시스템을 보호. 사용 허가권이 없는 사용자가 장치를 사용하지 못하게 제한해 보호. 바이러스 백신 프로그램과 시스템 권한을 설정하는 보안 메커니즘
네트워크 보안
- 요구사항 : 네트워크로 전송되는 데이터가 확인되지 않은 상대방에게 노출되지 않도록 함, 송수신되는 정보 내용이 불법적으로 생성, 변경되거나 삭제되지 않도록 함. 확인된 발신처로부터 정확하게 정보가 전송되도록 함
- 보안 메커니즘 : 암호화, 전자서명, 데이터 무결성(정확성 점검) 메커니즘
네트워크 보안을 위협하는 해킹
- 스니핑 : 네트워크에서 전송 중인 패킷을 가로채서 해석한 뒤 내용을 알아내는 행위. 해결책에는 데이터 암호화가 있음
- IP 스푸핑 : 패킷 전송 시 송신 IP주소를 속여서 다른 시스템을 공격하는 것. 공격자가 자기 정보를 숨기고 탐지를 피하기 위한 용도로 역추적 어려움. 해결책으로는 전자 서명이 있음
SSID(Service Set IDentifier) : 무선 네트워크(공유기)의 이름. 사용자가 ISP에 가입하게 되면 가장 먼저 SSID 이름을 만들어 등록시킴. 밀집 지역에서 자기 무선 공유기로 접속할 때 이것으로 접속
다수의 사용자가 공유기를 쓸 경우 사용자 계정과 비밀번호 설치
데이터 암호화
- WEP(Wired Equivalency Privacy) : 기기와 AP 사이에서 전송되는 데이터를 64bit, 128bit로 암호화
- WPA(Wi-Fi Protected Access) : 보안이 강화된 프로토콜 사용, 알고리즘 신뢰성 높인 인증 방식. 학교, 회사 등에서 사용
6.1 인터넷 역사와 사용 환경
클라이언트-서버 모델 기반
- 서버 : 서비스 정보 보관 및 제공. 웹 서버 프로그램, FTP 서버 프로그램
- 클라이언트 : 사용자가 서버에서 제공하는 정보를 받는 컴퓨터. 크롬, 익스플로러 같은 웹 브라우저 프로그램, FTP 클라이언트 프로그램
통신 프로토콜 : 컴퓨터 간 정보 전달에 필요한 규칙. 컴퓨터 종류, 운영체제, 데이터 형식이 다양
TCP : 데이터 흐름 제어, 데이터가 정확한지 확인(패킷으로 나누어 전송하고 원래대로 재복원
IP 전송 프로토콜 → IP 주소 체계 : 데이터 전송 목적지를 지정함
IP주소 : 32bit 구성. 8bit로 나눠서 10진수 표현(0~255). 예를 들어 222.84.122.200
IPv6 : IP version 6. 128bit IP 주소체계로 16비트씩 나눠서 16진수로 표현
IP주소 등록 및 관리는 NIC에서 관장하며 각 대륙, 국가별 관리기관이 있음
도메인 이름 : IP주소는 기억 잘 안나니까 문자로 대체. 도메인 이름 서버로 도메인 이름 변환.
도메인 이름의 계층적 구성
- 국가별 도메인 : 호스트 이름.소속 기관.단체 성격.소속 국가 → www.daum.net
- 일반 도메인 : 호스트 이름.소속 기관. 단체 성격 → www.yahoo.com
6.2 웹(WWW)과 홈페이지
하이퍼텍스트 : 상호 연관된 텍스트 조각들을 비순차적으로 연결해 구성됨. 텍스트 정보 단위를 노드, 노드간 연결하는 포인터를 링크라고 함
하이퍼미디어 : 텍스트뿐 아니라 멀티미디어 정보를 링크로 연결. 즉, 노드가 멀티미디어 정보
탐색 항해 : 정보 단위는 링크에 의해 연결. 연결 링크를 선택하면 원하는 정보를 열람 가능
WWW의 탄생 : CERN 연구소 개발. Mosaic 개발(GUI 방식) 이후 크롬, 익스플로러 등 상업용 브라우저 개발로 웹이 보급됨. 웹 컨소시엄이 결성되어 관련 표준과 기술을 개발해 웹 보급에 중심적인 역할을 함
웹의 특징
- HTTP 규약 사용 : TCP/IP 프로토콜 위 인터넷 어플리케이션이 구동되기 위한 프로토콜. 웹 이전부터 쓰던 Telnet, Gopher 등도 서비스 가능
- HTML 표준으로 문서 작성
- URL 주소 표기 : 프로토콜://컴퓨터주소/파일경로 형태
웹페이지 : html 또는 xml 언어로 표현된 웹 문서
웹사이트 : 웹 문서를 하이퍼링크로 연결한 하나의 집합
홈페이지 : 웹사이트 시작 페이지
HTML : 웹 페이지 제작을 위한 기본 언어. SGML이라는 전자 문서 국제 표준을 기반으로 개발됨. 태그로 문자열 특성을 표현하는 마크엄 언어로 확장자는 htm 또는 html
HTML tag : 시작 태그와 끝 태그 사이 문서 내용 입력
XML : 마크업 언어 정어를 위한 메타 언어로 문서 구조 표현을 위해 필요한 태그를 정의하고 그를 이용해 문서 작성. 즉, 유언성 및 확장성, 정교한 페이지를 만들기 위한 언어. 문서 구조를 표현하는 태그가 검색에 효율적으로 사용됨
XML 활용 분야 : 광범위한 응용 분야사이의 정보 교환 언어로 발전 → 문서 교환(전자도서관), 데이터 교환(전자상거래) 등 대부분의 서비스 구현
활용 분야에 적합한 문서구조 정의
- RSS : 웹 2.0 블로그 데이터
- ebXML, UBL : 전자 상거래 표준 언어
- SVG : 웹 2차원 그래픽 표준
- SMIL : 멀티미디어 구성요소 배치
- X3D : VRML 후속으로 웹에서의 가상공간 표현
6.5 클라우드 컴퓨팅
클라우드 컴퓨팅 : IT 자원을 필요로 할 때 클라우드 서비스 제공 사이트로부터 공유받음. 컴퓨터 서버, 기억장치 같은 하드웨어 자원과 응용 프로그램 같은 소프트웨어 자원 등 다양한 서비스
IT자원의 혜택 : 경제성, 신뢰성, 위치와 장소에 상관없이 이용, 필요에 따라 유연히 제공
기존 IT 서비스 문제점: 개인이 IT자원을 소유하고 운영하는 데 많은 비용이 요구되므로 클라우드 컴퓨팅의 필요성이 드러남
Gartner report : 확장 가능, 탄력적인 인터넷 기술을 활용해 서비스 제공
Forrester Research : 인터넷 기술로 쓴 만큼 내는 셀프 서비스
NIST : 최소한의 관리 노력으로 신속한 출시가 가능한 컴퓨팅 리소스 제공. 어디서나 네트워크 액세스 가능하게 함
클라우드 컴퓨팅 business drivers
- Capacity Planning : 조직의 IT 리소스. 제품 및 서비스에 대한 미래의 요구를 결정하는 프로세스. 리소스의 가용성과 요구사항 간의 불일치가 시스템 비효율성과 요구 불충족을 초래함. 이 불일치를 최소화해 예측 가능한 효율성과 성능 달성을 도움
- Cost Reduction : 투자를 통한 인프라 확장. 기술 인력, 추가 테스트를 위한 업그레이드, 전력 및 냉각을 위한 공과금 및 자본 비용 투자, 인프라 보호를 위한 보안 및 액세스 제어 조치, 라이선스 및 계약을 추적해야 할 수 있는 스태프 등
- Organizational Agility : 변화에 대한 조직 대응력을 측정하는 척도. IT 리소스 예측 및 범위 확장을 통한 비즈니스 대응이 필요
클라우드 컴퓨팅 서비스 모델
- IaaS : 가상머신, 서버, 저장장치, 네트워크 등의 IT자원
- PaaS : 운영체제, 프로그래밍 실행환경, 웹 서버, 데이터베이스 등
- SaaS : 응용 소프트웨어 서비스
클라우드 컴퓨팅 이용 방식
- 사설 클라우드 : 자체 데이터 센터 구축 및 외부업체 위탁. 기업 정보보안 확보. 투자비용 많이 들어감, 추가적인 컴퓨팅 자원 정기적 보완 필요
- 공용 클라우드 : 인터넷 통한 IT자원 제공. 보안 문제 있을 수 있으나 클라우드 서비스 제공자가 보안 문제를 오히려 더 중요시 생각할 수 있음
- 하이브리드 클라우드 : 기업의 민감 데이터는 사설 클라우드에, 응용 소프트웨어는 공공 클라우드에 저장. IT자원 요구가 일시적으로 급증할 경우 공공 클라우드로 해결
9.1 사물인터넷의 발전
유비쿼터스 : 편재적, 어디서나 사용자가 편리한 방식으로 네트워클르 통해 원하는 작업 처리가 가능한 최적의 컴퓨팅 환경
유비쿼터스 컴퓨팅 : 이동성과 내장성이 모두 높음
센서 기술 발전과 가격 하락, 스마트폰 확산 및 무선 인터넷 기술 발전 등으로 유비쿼터스에서 사물인터넷으로 발전이 시작됨
사물인터넷 : 모든 사물이 무선 인터넷을 이용해 사물 간 주체적으로 정보 교환 및 소통하는 인프라와 서비스. 활용분야는 운송수단, 농업, 에너지, 보안, 모바일, 의료 등 다양함
스마트 시티 : 스마트 신호등(빛 강도 자동 조절, 실시간 교통량 기반 방향 전환으로 교통체증 감소), 스마트 주차(주차장 사용 상황 정보 수집으로 효율적 주차 제어), 스마트 응급지원(도로 위 센서로 실시간 사고 감지 및 조치)
스마트 헬스케어 시스템 : 환자 상태 원격 실시간 모니터링, 응급 상황 대처
스마트 그리드 : 전기 공급 및 수요에 관한 데이터 모니터링으로 전력 관리
사물 인터넷의 3대 핵심 요소
- 센서 및 액추에이터
- 센서 : GPS, 비콘, 카메라, 마이크로폰, 속도계, 온도, 습도 등의 데이터
- 액추에이터 : 모터, 스위치 on/off, 장치 open/close
- 연결 네트워크 : 실시간 정보 교환 → 일정 범위 내 기기들과 센서 인식
- 서비스 인터페이스 : 사물인터넷을 구성하는 요소들을 서비스 및 app에 연동
9.2 사물인터넷의 활용과 산업 인터넷
사물인터넷 활용 분야
- 개인 → 스마트홈, 개인 헬스케어, 웨어러블, 무인자동차
- 인프라 → 스마트 시티, 환경 관리, 스마트 그리드
- 제조업 및 비즈니스 → 산업 인터넷, 생산, 유통 및 물류
산업 인터넷과 industry 4.0 : IoT 활용 분야 중 제조업과 헬스케어가 대부분임
스마트 공장 : 제조 공정에서 원료, 기계, 설비, 제품 등이 서로 정보를 주고받으며 최적의 방식으로 제품 생산. 빠른 제품 개발 시간과 원가절감, 고장 점검과 예측 가능, 다양한 고객을 위한 제품 생산 가능. 디지털 사이버 공간으로 시뮬레이션을 통해 착오를 줄일 수 있음
11.1 정보보안의 개념
정보 보안 환경 구축 : 백신 프로그램, 스파이웨어 제거 프로그램 설치 → 악성 프로그램으로부터 시스템 보호, 암호화 기술과 전자서명 사용해 데이터 전송 → 해킹에 의한 데이터 유출 방지, 방화벽 설치 → 외부에서 시스템을 공격하는 행위 차단
정보보안 서비스의 4가지 유형
- 컴퓨터 시스템 보안 : 바이러스, 해킹 공격으로부터 내부정보를 보호하기 위한 방어 정책
- 바이러스로부터의 정보 보호 : 백신 프로그램 사용으로 주기적으로 시스템 내부 체크, 불법 소프트웨어 적발
- 암호화 기술의 활용 : 암호화 → 정보가 외부로 유출된다 하더라도 해독할 수 없도록 문자를 변형시키는 보안 방식
- 해킹 방어 기술 : 해킹을 방지하고자 안전수칙을 세우고 지켜 침투가 어려운 환경 조성
- 네트워크 보안 : 정보가 이동하는 네트워크는 해커에 의해 불법적으로 사용될 수 있음. 암호화를 사용하거나, 외부 패킷을 체크해 잠재적으로 위험한 침입자(해커)의 접속을 막는 기법인 방화벽을 이용
- 사용자 관리적 보안 : 사용자 패스워드 주기적 교체, 시스템 내부 정보의 주기적인 백업 등의 정보 보호 관리 수칙을 지켜 불의의 정보 사고에 대한 예방 및 피해 최소화
- 물리적 보안 : 물리적 접근을 막는 방법으로 중요 정보가 있는 장소에 미허가 사용자의 출입을 통제해 보호하는 방식. 은행 전산실이나 병원 전산실 등에 대한 출입 통제. RFID 출입증, 정맥인식, 홍채인식, 얼굴 인식 등의 신원 확인 방식 활용
11.2 컴퓨터 악성/유해 프로그램 및 해킹
악성 프로그램(코드) : 시스템 파괴 등의 목적으로 작성된 프로그램
유해 프로그램 : 수시로 팝업 창을 띄우거나 개인 자료를 수집하는 등의 목적으로 사용자를 귀찮게 하는 프로그램
컴퓨터 바이러스 : 이메일, 불법 소프트웨어 등을 통해 시스템에 침투하는 악성, 유해 프로그램의 일종. 일단 감염되면 복제, 전파, 데이터 파괴가 발생
- 양성 바이러스 : 복제 후 전파하는 기능의 전파 코드만 있고 데이터 파괴는 하지 않는 코드. 보통 발견되지 않음
- 악성 바이러스 : 시스템에 직접적인 피해를 주는 바이러스로 특정 날짜 또는 상황까지 잠복
바이러스 작동 : 이메일이나 다운로드 파일로 컴퓨터에 잠입해서 바이러스를 감염시키고 복제한 뒤 다른 컴퓨터로 전파시킴. 일정 시간이 지나거나 조건이 충족되면 시스템을 파괴시킴
- 부트 바이러스 : 부트섹터에 기생하면서 부팅을 방해하는 바이러스. 미켈란젤로, 브레인, LBC 돌 바이러스 등
- 파일 바이러스 : 실행 파일에 감염되는 바이러스로 전체 바이러스 중 약 80%를 차지함. 감염되면 특정 프로그램 및 파일이 실행되지 않으며 실행 시간이 오래 걸리고, 파일 용량이 갑자기 늘어나거나 생성날짜 등이 변경됨. 예루살렘, CIH 바이러스 등
- 매크로 바이러스 : 엑셀, 워드처럼 매크로 명령을 쓰는 프로그램 데이터에 감염됨. 감염되면 문서 내 단어가 서로 엇갈리거나 특정 단어가 멋대로 삽입됨. 일반 사용자가 쉽게 제작할 수 있는 특징을 가짐. 라루, 와즈 바이러스 등
인터넷 웜(Worm) : 인터넷에 접속된 컴퓨터를 통해 감염되는 악성, 유해 프로그램. 일반 바이러스는 사용자가 바이러스 프로그램을 실행시켰을 때에만 바이러스에 감염되지만 인터넷 웜은 사용 중인 프로그램을 통해 스스로 전파가 됨. 이메일, 채팅 프로그램을 통해서 인지하지 못하는 도중 전파됨. 감염되면 갑자기 PC가 느려지거나 갑자기 자동 종료가 됨. 보통 백신 프로그램으로 감지
웜 작동 방식 : 채팅이나 메신저를 사용할 때 컴퓨터 내부에 잠입해서 감염시키고, 일단 감염되면 자신을 복제해 시스템 과부하를 발생시키고 네트워크에 인터넷 웜을 전파시킴
트로이 목마 : 시스템에 숨어 들어와 백도어(몰래 설치된 통신 연결 기능. 정상 인증 절차 없이도 암호 시스템에 접근 가능)를 만드는 악성 프로그램. 일반적으로 해킹의 도구로 사용함. 해커가 이 백도어로 시스템에 침투해 불법 접근한 뒤 자료 삭제, 정보 탈취 등을 함. 원래 트로이 목마는 시스템 관리 및 소프트웨어 개발 프로그램임. 전파는 보통 이메일 첨부파일, 이미지 파일 다운로드 시 감염됨. 채팅이나 FTP 사이트, CD 등을 통해서도 감염됨
트로이 목마 작동 방식 : 컴퓨터 시스템에 숨어 들어와서 백도어를 만든 뒤 해커가 이 백도어로 시스템에 침투해서 불법 접근하고 자료를 삭제한 뒤 정보를 탈취함
스파이웨어 : 스파이 + 소프트웨어. 컴퓨터에 숨어 있다가 정보를 빼감. 주로 개인 및 시스템 정보, 인터넷 사용 습관 수집. 원하지 않는 광고를 팝업 노출시키고 특정 사이트 방문을 유도함
애드웨어 : 광고 + 소프트웨어. 프리웨어나 쉐어웨어를 ‘광고를 보는 것’을 전제로 무료로 사용 가능하도록 하는 프로그램. 마케팅 목적으로 데이터를 수집하는 정당한 사용 목적이 있는 프로그램
스파이웨어와 애드웨어의 작동 방식 : 프리웨어 등의 SW 다운로드 시 악성, 유해 프로그램이 쿠키 형태로 컴퓨터 내부에 들어와 쿠키를 이용해 컴퓨터 내부 데이터를 수집해 외부로 보냄
스팸 메일 : 불특정 다수에게 동일한 내용을 대량으로 보내는 이메일. 네트워크 통신 양을 급격히 늘리고 경제적 손실도 증가시킴. 스팸 메일로 악성, 유해 프로그램을 확산시킴. ‘스팸’단어는 핸 제조회사가 광고를 위해 엄청난 양의 광고를 쓴 것에서 유래함. 메일 발신자들은 채팅 사이트, 해킹, 바이러스 등에 의해 불법적으로 수집된 주소록 리스트를 사용하며, 방지하기 위해서는 이메일 필터링 프로그램 사용 및 유해 사이트 방문, 멤버십 가입을 자제함
해킹 : 시스템의 취약 부분을 점검하기 위한 목적으로 사용될 경우
크래킹 : 범죄 행위에 사용될 경우
→ 통상적으로 같은 의미로 사용되며 해킹으로 통합해서 사용됨. 해킹은 네트워크 취약점을 이용해 시스템에 불법적으로 침입함
서비스 거부 공격(DoS, DDoS) : 최근 사회적으로 문제가 됨. 시스템 파괴는 시키지 않으나 인터넷 서비스를 일시적으로 중지시켜 불편을 유발
DoS 작동 방식 : 해커가 네트워크에 연결된 다수의 컴퓨터를 불법으로 사용해 공격 목표가 되는 서비스 서버에 접속을 동시다발적으로 시도, 이 경우 서비스 서버에 부하가 걸려 특정 사이트가 마비되는 사태가 발생함
좀비 : 해커가 DoS 공격에 사용하는 보안에 취약한 컴퓨터들
피싱 : 개인정보+낚시. 재인 정보(계정, 비밀번호, 신용카드 번호 등)를 불법 취득해 범죄에 사용. ID 도용 등이 대표적인 유형임
피싱 작동 방식 : 금융기관을 가장한 이메일을 발송한 뒤 이메일 안의 인터넷 주소를 클릭해 가짜 은행 사이트로 접속을 유도하고, 보안카드 번호를 전부 입력할 것을 요구해 금융정보를 탈취함. 이후 범행 계좌로 돈을 이체시킴
파밍 : 방문하고자 하는 사이트의 URL을 가짜 사이트로 이동시킴. 도메인 자체를 중간에서 바꾸는 방식으로 대규모 피해 발생 가능. 악성 코드에 감염된 사용자 PC를 조작해 금융정보를 빼냄
파밍 작동 방식 : 사용자 PC가 악성코드에 감염되면 정상 홈페이지에 접속해도 가짜 사이트로 유도되어 금융 정보를 탈취하고, 범행 계좌로 이체시킴
스미싱 : SMS + 피싱. 문자메시지 내 주소를 클릭하면 악성 코드가 스마트폰에 설치되어 피해자가 모르는 사이에 소액 결제 피해 및 개인 금융정보 탈취가 진행됨. 최근에는 주소록, 사진(주민등록증, 보안카드 사본), 공인인증서까지도 탈취
해킹으로부터의 정보 보호
- 바이러스 백신, 스파이웨어 제거, OS 패치 프로그램 설치
- 부팅 시 주의, 이메일 첨부파일 확인, 매크로 확인, 불필요한 웹사이트 가입 자제, 신뢰성 있는 프로그램만 다운로드, 비밀번호 10자리 이상 사용, 비밀번호 자주 변경, 피싱 방지, 개인 및 공용 인증 시스템 사용, 피싱 방지, 방화벽 설치, 무선 인터넷 사용시 비밀번호 설정, 중요 정보는 분리 보관
11.3 정보보안을 위한 암호화 및 인증
컴퓨터 암호화 : 글자 배열 순서 변경 및 키 값 설정으로 문자 조합을 혼합시켜 암호화하는 기법
복호화 : 암호화 된 정보를 키 값을 이용해 원래 정보로 바꿈
→ 메시지가 타인에게 유출되더라도 해독하지 못하게 하며 키 값을 가진 사용자만 복호화 가능. 대칭 키 방식, 공개 키 암호 방식이 대표적임
대칭 키 암호화 : 송신 측과 수신 측 컴퓨터에서 같은 암호키를 써서 암호화. 이때 암호 키의 전송 및 생성방법이 중요함
공개 키 암호화 : 공개키와 개인키라는 두 비대칭적 키를 사용해 메시지를 암호화하는 방식. 공개키는 모두에게 알려져 있고, 메시지를 암호화하는 데에 활용되며 이 메시지를 개인 키를 가진 사람만이 복호화해 열어볼 수 있음.
이메일 암호화 : 이메일 보안을 유지하기 위해 이메일 자체를 공개키 암호화 방식으로 암호화함. 송수신자 모두 공개 키를 가지고 있고 도착한 이메일을 사전에 약속한 공개 키로만 송수신. 다만 암호화되어 있을 경우 첨부파일 분리나 바이러스 검사를 할 수 없으니 신뢰하지 못하는 이메일은 복호화 시도하지 않고 바로 제거하는 것이 안전
인증 : 컴퓨터 간 교환되는 정보 위변조 및 사용자 진위 여부를 확인하는 과정
- 사용자 인증 방식 : 비밀번호 설정, RFID, 스마트 카드 인증, 생체 인식 방법 등
- 메시지 인증 방식 : 전자 문서에 서명한 사람이 누구인지, 서명한 전자 문서가 변조되지 않았는지 여부 확인 가능
서명용 키 : 디지털 서명을 하는 사람만이 가지고 있음
검증용 키 : 서명을 검증하는 사람이라면 누구라도 가질 수 있음
'study' 카테고리의 다른 글
간단한 Python 프로그래밍 : 카페 주문 (0) | 2022.07.01 |
---|---|
간단한 Python 프로그래밍 : 영어 단어장, 영한사전 및 테스트 (0) | 2022.06.29 |
[학습정리] 컴퓨터와 IT기술의 이해 1 (0) | 2022.06.26 |
개인 프로필 웹 페이지 제작(HTML/CSS) (0) | 2022.06.24 |
MySQL 웹 및 Python에서 사용하기(ESQL) 3 : Php (0) | 2022.06.22 |