munjji 님의 블로그
[정보처리기사] 5과목. 정보시스템 구축 관리 본문
구조적 방법
- 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리 중심의 방법론이다.
- 복잡한 문제를 다루기 위해 분할과 정복 원리를 적용한다.
정보공학 방법론
- 정보 시스템의 개발을 위해 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료 중심의 방법론이다.
- 데이터베이스 설계를 위한 데이터 모델링으로 개체 관계도(ERD)를 사용한다.
컴포넌트 기반(CBD) 방법론
- 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론이다.
- 분석 단계에서 사용자 요구사항 정의서가 산출된다.
소프트웨어 재사용의 이점
- 개발 시간과 비용 단축
- 소프트웨어 품질 향상
- 소프트웨어 개발의 생산성 향상
- 시스템 명세, 설계, 코드 등 문서 공유
소프트웨어 재사용 방법
- 합성 중심 : 전자 칩과 같은 소프트웨어 부품, 즉 블록(모듈)을 만들어서 끼워 맞추어 소프트웨어를 완성시키는 방법
- 생성 중심 : 추상화 형태로 쓰여진 명세를 구체화하여 프로그램을 만드는 방법
소프트웨어 재공학의 이점
- 위험 부담 감소
- 개발 시간 단축
- 개발 비용 절감
- 시스템 명세의 오류 억제
소프트웨어 재공학의 주요 활동
- 분석(Analysis): 기존 소프트웨어의 명세서를 확인하여 소프트웨어의 동작을 이해하고, 재공학할 대상을 선정하는 활동
- 재구성(Restructuring): 기존 소프트웨어의 구조를 향상시키기 위하여 코드를 재구성하는 활동
- 역공학(Reverse Engineering): 기존 소프트웨어를 분석하여 소프트웨어 개발 과정과 데이터 처리 과정을 설명하는 분석 및 설계 정보를 재발견하거나 다시 만들어 내는 활동
- 이식(Migration): 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할 수 있도록 변환하는 활동
CASE(Computer Aided Software Engineering)
소프트웨어 개발 과정 전체 또는 일부를 컴퓨터와 전용 소프트웨어 도구를 사용하여 자동화하는 것이다.
CASE의 원천 기술
- 구조적 기법
- 프로토파이밍
- 자동 프로그래밍
- 정보 저장소
- 분산처리
CASE의 주요 기능
- 소프트웨어 생명 주기 전 단계의 연결
- 다양한 소프트웨어 개발 모형 지원
- 모델들의 모순 검사 및 오류 검증
- 그래픽 지원
- 자료 흐름도 작성 등
비용 산정 기법 - LOC 기법
소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법이다.
LOC 기법의 산정 공식
- 노력(인월)
- 개발 기간 X 투입 인원
- LOC / 1인당 월평균 생산 코드 라인 수
- 개발 비용: 노력(인월) X 단위 비용(1인당 월평균 인건비)
- 개발 기간: 노력(인월) / 투입 인원
- 생산성: LOC / 노력(인월)
수학적 산정 기법의 종류
- COCOMO(COnstructive COst MOdel) 모형
- Putnam 모형
- 기능 점수(Function Point) 모형
비용 산정 기법 - Putnam 모형
- 소프트웨어 생명 주기의 전 과정 동안에 사용될 노력의 분포를 가정해 주는 모형이다.
- Rayleigh-Norden 곡선의 노력 분포도를 기초로 한다.
비용 산정 기법 - COCOMO
- 보헴이 제안한 것으로, 원시 프로그램의 규모(LOC)에 의한 비용 산정 기법이다.
COCOMO의 소프트웨어 개발 유형 (조직 < 반분리 < 내장)
- 조직형(Organic Mode): 기관 내부에서 개발된 중/소규모의 소프트웨어로 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리용으로 5만(50KDSI) 라인 이하의 소프트웨어를 개발하는 유형
- 반분리형(Semi-Detached Mode): 조직형과 내장형의 중간형으로 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등의 30만(300KDSI) 라인 이하의 소프트웨어를 개발하는 유형
- 내장형(Embedded Mode): 내장형은 초대형 규모의 트랜잭션 처리 시스템이나 운영체제 등의 30만(300KDSI) 라인 이상의 소프트웨어를 개발하는 유형
자동화 추적 도구 - SLIM
Rayleigh-Norden 곡선과 Putnam 예측 모델을 기초로 하여 개발된 자동화 추정 도구이다.
기능 점수(FP) 모형 - 가중치 증대 요인
- 자료 입력(입력 양식)
- 정보 출력(출력 보고서)
- 명령어(사용자 질의수)
- 데이터 파일
- 필요한 외부 루틴과의 인터페이스
PERT(프로그램 평가 및 검토 기술)
- 각 작업별로 낙관적인 경우, 가능성이 있는 경우, 비관적인 경우로 나누어 각 단계별 종료 시기를 결정하는 방법이다.
- 결정 경로, 작업에 대한 경계 시간, 작업 간의 상호 관련성 등을 알 수 있다.
임계 경로 소요 기일
임계 경로는 최장 경로(굵은 선)를 의미한다.

간트 차트(Gantt Chart)
- 프로젝트의 작업 일정을 막대 도표를 이용하여 표시하는 프로젝트 일정표이다.
- 수평 막대의 길이는 각 작업(Task)의 기간을 나타낸다.
소프트웨어 프로젝트 관리
주어진 기간 내에 최소의 비용으로 사용자를 만족시키는 시스템을 개발하기 위한 전반적인 활동을 의미한다.
위험 관리(Risk Analysis)
프로젝트 추진 과정에서 예상되는 각종 돌발 상황(위험)을 미리 예상하고 이에 대한 적절한 대책을 수립하는 일련의 활동을 의미한다.
ISO/IEC 12207
- 기본 생명 주기 프로세스: 획득, 공급, 개발, 운영, 유지 보수 프로세스
- 지원 생명 주기 프로세스: 품질 보증, 검증, 확인, 활동 검토, 감사, 문서화, 형상 관리, 문제 해결 프로세스
- 조직 생명 주기 프로세스: 관리, 기반 구조, 훈련, 개선 프로세스
CMMI의 소프트웨어 프로세스 성숙도 5단계
- 초기
- 관리
- 정의
- 정량적 관리
- 최적화
SPICE(소프트웨어 처리 개선 및 능력 평가 기준)
소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준이다.
SPICE의 프로세스 수행 능력 단계
- Level 0 - 불완전
- Level 1 - 수행
- Level 2 - 관리
- Level 3 - 확립
- Level 4 - 예측
- Level 5 - 최적화
소프트웨어 개발 방법론 테일러링
프로젝트 상황 및 특성에 맞도록 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 및 보완하는 작업이다.
소프트웨어 개발 방법론 테일러링 고려사항
- 내부적 기준
- 목표 환경: 시스템의 개발 환경과 유형
- 요구사항: 개발, 운영, 유지보수 등
- 프로젝트 규모: 비용, 인력, 기간 등
- 보유 기술: 프로세스, 개발 방법론, 산출물, 구성원의 능력 등
- 외부적 기준
- 법적 제약사항: 프로젝트별로 적용된 IT Compliance
- 표준 품질 기준: 금융, 제도 등 분야별 표준 품질 기준
소프트웨어 개발 프레임워크
- 소프트웨어 개발에 공통적으로 사용되는 구성 요소와 아키텍처를 일반화하여 손쉽게 구현할 수 있도록 여러 가지 기능들을 제공해주는 반제품 형태의 소프트웨어 시스템이다.
- 선행 사업자의 기술에 의존하지 않은 표준화된 개발 기반으로 인해 사업자 종속성이 해소된다.
- 개발자가 관리하고 통제해야 하는 객체들의 제어를 프레임워크에 넘김으로써 생산성을 향상시킨다.
SDN(Software Defined Networking)
네트워크를 컴퓨터처럼 모델링하여 여러 사용자가 각각의 소프트웨어들로 네트워킹을 가상화하여 제어하고 관리하는 네트워크이다.
SDS(Software Defined Storage)
물리적인 데이터 스토리지를 가상화하여 여러 스토리지를 하나처럼 관리하는 기술이다.
SDDC(Software Defined Data Center)
데이터 센터의 모든 자원을 가상화하여 인력의 개입없이 소프트웨어 조작만으로 관리 및 제어되는 데이터 센터이다.
메시 네트워크(Mesh Network)
수십에서 수천 개의 디바이스를 그물망(Mesh)과 같이 유기적으로 연결하여 모든 구간을 동일한 무선망처럼 구성하여 사용자가 안정적인 네트워크를 사용할 수 있게 한다.
피코넷(PICONET)
여러 개의 독립된 통신장치가 블루투스 기술이나 UWB(Ultra Wide Band) 통신 기술을 사용하여 통신망을 형성하는 무선 네트워크 기술이다.
클라우드 기반 HSM
- 클라우드를 기반으로 암호화 키의 생성/저장/처리 등의 작업을 수행하는 보안기기를 가리키는 용어이다.
- 암호화 키 생성이 하드웨어적으로 구현되기 때문에 소프트웨어적으로 구현된 암호 기술이 가지는 보안 취약점을 무시할 수 있다.
파스-타(PaaS-TA)
소프트웨어 개발 환경을 제공하기 위해 개발한 개방형 클라우드 컴퓨팅 플랫폼이다.
징(Zing)
10cm 이내 거리에서 3.5Gbps 속도의 데이터 전송이 가능한 초고속 근접무선통신(NFC)이다.
SSO(Single Sign On)
한 번의 로그인으로 개인이 가입한 모든 사이트를 이용할 수 있게 해주는 시스템이다.
스마트 그리드(Smart Grid)
전력선을 기반으로 모든 통신, 정보, 관련 애플리케이션 인프라를 하나의 시스템으로 통합하여 관리함으로써 효율적인 에너지 관리가 가능하다.
WDM(Wavelength Division Multiplexing)
파장이 다른 광선끼리는 서로 간섭을 일으키지 않는 성질을 이용하여 여러 대의 단말기가 동시에 통신 회선을 사용할 수 있도록 하는 기술이다.
버스형(Bus)
한 개의 통신 회선에 여러 대의 단말 장치가 연결된 형태이다.
VLAN(Virtual Local Area Network)
LAN의 물리적인 배치와 상관없이 논리적으로 분리하는 기술로, 접속된 장비들의 성능 및 보안성을 향상시킬 수 있다.
WPA(Wi-Fi Protected Accesss)
Wi-Fi에서 제정한 무선 랜(WLAN) 인증 및 암호화 관련 표준이다.
CSMA/CA
무선 랜에서 데이터 전송 시 매체가 비어있음을 확인한 뒤 충돌을 피하기 위해 일정한 시간을 기다린 후 데이터를 전송하는 방법이다.
LAN의 표준 규격 - 802.11e
802.11의 부가 기능 표준으로, QoS기능이 지원되도록 하기 위해 매체 접근 제어(MAC) 계층에 해당하는 부분을 수정하였다.
RIP(Routing Information Protocol)
- IGP에 속하는 라우팅 프로토콜로, 거리 벡터 라우팅 프로토콜이라고도 불린다.
- 최대 홉(Hop) 수를 15로 제한한다.
OSPF(Open Shortest Path First Protocol)
라우팅 정보에 노드 간의 거리 정보, 링크 상태 정보를 실시간으로 반영하여 최단 경로로 라우팅을 지원하는 프로토콜
흐름 제어 - 정지-대기(Stop-and-Wait)
- 수신 측의 확인 신호(ACK)를 받은 후에 다음 패킷을 전송하는 방식이다.
- 한 번에 하나의 패킷만을 전송할 수 있다.
도커(Docker)
컨테이너 기술을 자동화하여 쉽게 사용할 수 있게 하는 오픈소스 프로젝트이다.
스크래피(Scrapy)
파이썬 기반의 웹 크롤링 프레임워크로, 코드 재사용성을 높이는 데 도움이 되며, 대규모의 크롤링 프로젝트에 적합하다.
텐서플로(TensorFlow)
구글의 구글 브레인 팀이 만든, 다양한 작업에 대해 데이터 흐름 프로그래밍을 위한 오픈소스 소프트웨어 라이브러리이다.
서비스 지향 아키텍처(SOA) 기반 애플리케이션 구성 계층
- 표현 계층
- 업무 프로세스 계층
- 서비스 중간 계층
- 애플리케이션 계층
- 데이터 저장 계층
매시업(Mashup)
웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술이다.
디지털 트윈(Digital Twin)
현실 속의 사물을 소프트웨어로 가상화한 모델이다.
서비스형 블록체인(BaaS)
블록체인 앱의 개발 환경을 클라우드 기반으로 제공하는 서비스이다.
TCP 래퍼(TCP Wrapper)
외부 컴퓨터의 접속 인가 여부를 점검하여 접속을 허용 및 거부하는 보안용 도구이다.
DPI(Deep Packet Inspection)
OSI 7 layer 전 계층의 프로토콜과 패킷 내부의 콘텐츠를 파악하여 침입 시도, 해킹 등을 탐지하고, 트래픽을 조정하기 위한 패킷 분석 기술이다.
허니팟(Honeypot)
비정상적인 접근의 탐지를 위해 의도적으로 설치해 둔 시스템이다.
OWASP(오픈 웹 애플리케이션 보안 프로젝트)
웹 정보 노출이나 악성 코드, 스크립, 보안이 취약한 부분을 연구하는 비영리 단체이다.
고가용성 솔루션(HACMP)
긴 시간 동안 안정적인 서비스 운영을 위해 장애 발생 시 즉시 다른 시스템으로 대체 가능한 환경을 구축하는 메커니즘을 의미한다.
앤 스크린(N-Screen)
N개의 서로 다른 단말기에서 동일한 콘텐츠를 자유롭게 이용할 수 있는 서비스를 말한다.
Secure OS
- 기존의 운영체제(OS)에 보안 기능을 갖춘 커널을 이식하여 시스템 자원을 보호하는 운영체제이다.
- Secure OS의 보안 기능: 식별 및 인증, 임의적/강제적 접근통제, 객체 재사용 보호, 완전한 조정, 신뢰 경로, 감사 및 감사기록 축소 등
하둡(Hadoop)
- 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼이다.
- 하둡과 관계형 데이터베이스 간 대용량 데이터를 전송할 때 스쿱(Sqoop)이라는 도구를 이용한다.
맵리듀스(MapReduce)
대용량 데이터를 분산 처리하기 위한 목적으로 개발된 프로그래밍 모델이다.
데이터 마이닝(Data Mining)
데이터 웨어하우스에 저장된 대량의 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를 발견하기 위한 기법이다.
OLAP(Online Analytical Processing)
- 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용하는 방식을 말한다.
- OLAP 연산: Roll-up, Drill-down, Drill-through, Drill-across, Pivoting, Slicing, Dicing
회복(Recovery)
트랜잭션들을 수행하는 도중 장애가 발생하여 데이터베이스가 손상되었을 때 손상되기 이전의 정상 상태로 복구하는 작업이다.
즉각 갱신 기법(Immediate Update)
- 트랜잭션이 데이터를 갱신하면 트랜잭션이 부분 완료되기 전이라도 즉시 실제 데이터베이스에 반영하는 방법이다.
- 장애가 발생하여 회복 작업이 필요할 경우를 대비하여 갱신된 내용들은 Log에 보관시킨다.
로킹 단위(Locking Granularity)
- 병행제어에서 한꺼번에 로킹할 수 있는 객체의 크기를 의미한다.
- 로킹 단위가 크면 로크 수가 작아 관리하기 쉽지만 병행성 수준이 낮아진다.
- 로킹 단위가 작으면 로크 수가 많아 관리하기 복잡해 오버헤드가 증가하지만 병행성 수준이 높아진다.
타임 스탬프 순서(Time Stamp Ordering)
직렬성 순서를 결정하기 위해 트랜잭션 간의 처리 순서를 미리 선택하는 기법들 중에서 가장 보편적인 방법이다.
교착상태 발생의 필요 충분 조건 4가지
- 상호 배제
- 점유와 대기
- 비선점
- 환형 대기
회피 기법(Avoidance)
- 교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해가는 방법으로, 주로 은행원 알고리즘이 사용된다.
- 은행원 알고리즘(Banker’s Algorithm) : E. J. Dijkstra가 제안한 것으로, 은행에서 모든 고객의 요구가 충족되도록 현금을 할당하는 데서 유래한 기법
Seven Touchpoints
소프트웨어 보안의 모범사례를 SDLC에 통합한 방법론이다.
보안 3대 요소
- 기밀성: 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용되며, 정보가 전송 중에 노출되더라도 데이터를 읽을 수 없음
- 무결성: 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있음
- 가용성: 인가받은 사용자는 언제라도 사용할 수 있음
세션 하이재킹
- 서버에 접속하고 있는 클라이언트들의 세션 정보를 가로채는 공격기법으로, 세션 가로채기라고도 한다.
- 탐지 방법: 비동기화 상태 탐지, ACK Storm 탐지, 패킷의 유실 탐지, 예상치 못한 접속의 리셋 탐지 등
SQL 삽입(SQL Injection)
웹 응용 프로그램에 SQL을 삽입하여 내부 데이터베이스 서버의 데이터를 유출 및 변조하고, 관리자 인증을 우회하는 보안 약점이다.
경로 조작 및 자원 삽입
데이터 입출력 경로를 조작하여 서버 자원을 수정/삭제 할 수 있는 보안 약점이다.
크로스사이트 스크립팅(XSS; Cross Site Scripting)
웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나, 비정상적인 기능 수행을 유발하는 보안 약점이다.
메모리 버퍼 오버플로
할당된 메모리의 범위를 넘어선 위치에서 자료를 읽거나 쓰려고 할 때 발생하는 보안 약점이다.
하드코드된 비밀번호
- 소스코드 유출 시 내부에 하드코드된 패스워드를 이용하여 관리자 권한을 탈취할 수 있다.
- 하드코드: 데이터를 코드 내부에 직접 입력하여 프로그래밍 하는 방식
스택 가드(Stack Guard)
메모리상에서 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장한 후 그 값이 변경되었을 경우 오버플로우 상태로 판단하여 프로그램 실행을 중단함으로써 잘못된 복귀 주소의 호출을 막는 기술이다.
접근 지정자(접근 제어자)
- 프로그래밍 언어에서 특정 개체를 선언할 때 외부로부터의 접근을 제한하기 위해 사용되는 예약어이다.
- 종류: Public, Protected, Default, Private
개인키 암호화 기법(Private Key Encryption)
- 동일한 키로 데이터를 암호화하고 복호화한다.
- 알고리즘이 단순하므로 암호화/복호화 속도가 빠르다.
개인키 암호화 기법의 종류
- 블록 암호화 방식
- 한번에 하나의 데이터 블록을 암호화하는 방식
- 종류: DES, SEED, AED, ARIA, IDEA 등
- 스트림 암호화 방식
- 평문과 동일한 길이의 스트림을 생성하여 비트/바이트/워드 단위로 암호화하는 방식
- 종류: LFSR, RC4 등
해시(Hash)
- 임의의 길이의 입력 데이터나 메시지를 고정된 길이의 값이나 키로 변환하는 것을 의미한다.
- 복호화가 거의 불가능한 일방향 함수에 해당한다.
- 해시 함수의 종류: SHA 시리즈, MD4, MD5, N-NASH, SNEFRU 등
공개키 암호화 기법(Public Key Encryption)
- 데이터를 암호화할 때 사용하는 공개키는 데이터베이스 사용자에게 공개하고, 복호화할 때의 비밀키는 관리자가 비밀리에 관리한다.
- 암호화 대상이 n개일 때 사용되는 키의 개수는 2n이다.
- 대표적으로 RSA(Rivest Shamir Adleman)가 있다.
양방향 알고리즘 종류
- DES(Data ncryption Standard) : 1975년 미국 NBS에서 발표한 64비트의 개인키 암호화 알고리즘
- AES(Advanced Encryption Standard) : DES에 한계를 느낀 미국 표준 기술 연구소(NIST)가 2001년 발표한 개인
키 암호화 알고리즘 - RSA(Rivest Shamir Adleman) : 큰 숫자를 소인수분해 하기 어렵다는 것에 기반하여 만들어진 공개키 암호화 알
고리즘
솔트(Salt)
암호화를 수행하기에 앞서 원문에 무작위의 값을 덧붙이는 과정이다.
죽음의 핑(Ping of Death)
Ping 명령을 전송할 때 ICMP 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 공격 대상의 네트워크를 마비시키는 서비스 거부 공격 방법이다.
SMURFING(스머핑)
IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법이다.
DDoS(Distributed Denial of Service, 분산 서비스 거부) 공격
- 여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행하는 것이다.
- 분산 서비스 공격용 툴의 종류: Trin00, TFN(Tribe Flooding Network), TFN2K, Stacheldraht 등
피싱(Phishing)
이메일이나 메신저 등을 통해 공기관이나 금융 기관을 사칭하여 개인 정보를 빼내는 기법이다.
Ping Flood
매우 많은 ICMP 메시지를 보내 이에 대한 응답(Respond)으로 시스템 자원을 모두 사용하게 해 시스템이 정상적으로 동작하지 못하도록 하는 공격 방법이다.
스위치 재밍(Switch Jamming)
위조된 매체 접근 제어(MAC) 주소를 지속해서 네트워크로 흘려보내, 스위치 MAC 주소 테이블의 저장 기능을 혼란시켜 더미 허브처럼 작동하게 하는 공격이다.
블루투스 관련 공격
- 블루버그(BlueBug) : 블루투스 장비 사이의 취약한 연결 관리를 악용한 공격
- 블루스나프(BlueSnarf) : 블루투스의 취약점을 활용하여 장비의 파일에 접근하는 공격
- 블루프린팅(BluePrinting) : 공격 대상이 될 블루투스 장비를 검색하는 활동
- 블루재킹(BlueJacking) : 블루투스를 이용해 스팸처럼 메시지를 익명으로 퍼뜨리는 공격
웜(Worm)
네트워크를 통해 연속적으로 자신을 복제하여 시스템의 부하를 높임으로써 결국 시스템을 다운시키는 바이러스이 일종이다.
키로거 공격(Key Logger Attack)
컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드, 계좌번호, 카드번호 등과 같은 개인의 중요한 정보를 몰래 빼가는 해킹 공격이다.
랜섬웨어(Ransomware)
인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 파일 등을 암호화해 사용자가 열지 못하게 하는 프로그램으로, 암호 해독용 프로그램의 전달을 조건으로 사용자에게 돈을 요구하기도 한다.
백도어(Back Door, Trap Door)
- 시스템 설계자가 액세스 편의를 위해 시스템 보안을 제거하여 만들어놓은 비밀 통로
- 백도어 탐지 방법: 무결성 검사, 열린 포트 확인, 로그 분석, SetUID 파일 검사 등
인증(Authentication)
- 로그인을 요청한 사용자의 정보를 확인하고 접근 권한을 검증하는 보안 절차이다.
- 인증의 유형
- 지식 기반 인증: 고정된 패스워드, 아이핀 등
- 소유 기반 인증: 신분증, 토큰, 스마트카드 등
- 행위 기반 인증: 서명, 움직임, 음성 등
관리적/물리적/기술적 보안
- 관리적 보안 : 정보보호 정책, 정보보호 조직, 정보자산 분류, 정보보호 교육 및 훈련, 인적 보안, 업무 연속성
관리 등의 정의 - 물리적 보안 : 건물 및 사무실 출입 통제 지침, 전산실 관리 지침, 정보 시스템 보호 설치 및 관리지침, 재해 복
구 센터 운영 등의 정의 - 기술적 보안 : 사용자 인증, 접근 제어, PC, 서버, 네트워크, 응용 프로그램, 데이터 등의 보안지침 정의
커널 로그의 종류
- wtmp: 성공한 로그인/로그아웃과 시스템의 시작/종료 시간에 대한 로그
- utmp: 현재 로그인한 사용자의 상태에 대한 로그
- btmp: 실패한 로그인에 대한 로그
- lastlog: 마지막으로 성공한 로그인에 대한 로그
침입 탐지 시스템(IDS; Intrusion Detection System)
- 컴퓨터 시스템의 비정상적인 사용, 오용, 남용 등을 실시간으로 탐지하는 시스템이다.
- 오용 탐지(Misuse Detection): 미리 입력해 둔 공격 패턴이 감지되면 이를 알려줌
- 이상 탐지(Anomaly Detection): 평균적인 시스템의 상태를 기준으로 비정상적인 행위나 자원의 사용이 감지되면 이를 알려줌
VPN(Virtual Private Network, 가상 사설 통신망)
공중 네트워크와 암호화 기술을 이용하여 사용자가 마치 자신의 전용 회선을 사용하는 것처럼 해주는 보안 솔루션이다.
SSH(Secure SHell, 시큐어 셸)
- 다른 컴퓨터에 로그인, 원격 명령 실행, 파일 복사 등을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜 또는 이를 이용한 응용 프로그램이다.
- 기본적으로는 22번 포트를 사용한다.
'CS' 카테고리의 다른 글
| [정보처리기사] 3과목. 데이터베이스 구축 (0) | 2026.03.13 |
|---|---|
| [정보처리기사] 2과목. 소프트웨어 개발 (0) | 2026.03.12 |
| [정보처리기사] 1과목. 소프트웨어 설계 (0) | 2026.03.11 |
| [CS] 메시지 큐 (0) | 2026.03.06 |
| [CS] 비동기 처리 (0) | 2026.03.05 |