[정보처리기사] 정보시스템 구축관리
5과목 : 정보시스템 구축관리
정보보안 3요소
- 무결성 : 인가된 사용자에 대해서만 자원 수정이 가능하며 전송중인 정보는 수정되지 않음
- 기밀성 : 인가된 사용자에 대해서만 자원 접근이 가능
- 가용성 : 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능
Rogue Ware(Rogue security software, 가짜 백신 소프트웨어)
사용자가 컴퓨터에 바이러스가 있다고 잘못 믿게 하고 컴퓨터에 실제로 악성 프로그램을 설치토록 하거나, 가짜 악성 프로그램 제거 도구에 대한 비용을 지불하도록 설득함. 공포심을 통해 사용자를 조종
Adware
특정 소프트웨어를 실행할 때 또는 자동으로 활성화되는 광고프로그램으로 이 자체는 악성코드로 보기는 힘들지만, 무분별한 광고 팝업을 뜨게 하는 등의 악용 위험성으로 악성코드로 분류되기도 함
Reflection Attack(반사공격)
송신자가 생성한 메시지를 가로챈 공격자가 그 메시지를 다시 송신자에게 재전송하여 접근 권한을 얻는 형태의 공격 방법
접근 통제 방법
- MAC (Mandatory Access Control)
- 강제 접근 통제
- 미리 정해진 자원의 보안 레벨과 사용자에게 허락된 접근 권한 비교
- 강제 접근 통제
- DAC (Discretionary Access Control)
- 임의적 접근통제
- 자원에 대한 접근을 사용자나 그룹의 신분에 따라 제한
- 자원의 소유권을 가진 사람이 다른 사람의 접근을 허용하거나 제한할 수 있음
- 임의적 접근통제
- RBAC (Role Based Access Control)
- 사용자 역할에 따른 접근 통제
- 개별적인 신분이 아니라 조직 내 그룹 / 역할에 따라 부여
- 사용자 역할에 따른 접근 통제
소프트웨어 생명주기 모델
1.나선형
- 소프트웨어 개발 프로세스를 위험 관리(Risk Management) 측면에서 본 모델
- 점진적으로 개발 과정이 반복되므로 위험분석 또한 계획 수립 이후 추가적인 위험 분석이 가능
- 시스템을 여러 부분으로 나누어 여러 번의 개발 주기를 거치면서 시스템이 완성
- 요구사항이나 아키텍처를 이해하기 어렵다거나 중심이 되는 기술에 문제가 있는 경우 적합한 모델
스토리지 시스템
- DAS(Direct Attached Storage) : 하드디스크와 같은 데이터 저장장치를 호스트 버스 어댑터에 직접 연결하는 방식
- NAS(Network Attached Storage):서버와 저장장치가 네트워크로 연결된 저장장치
- N-SCREEN(앤스크린):PC-TV-휴대폰 등 여러 단말기로 같은 콘텐츠로 끊김없이 이용하는 체계
- NFC(Near Field Communication,근접 무선 통신): 10cm 이내의 가까운 거리에서 다양한 무선 데이터를 주고 받는 통신 기술
SSH
- 기본 네트워크 포트는 22번
- 전송되는 데이터는 암호화된다
- 키를 통한 인증은 클라이언트의 공개키를 서버에 등록해야 함
- 서로 연결되어 있는 컴퓨터 간 원격 명령실행이나 셸 서비스 등을 수행해야 함
소프트웨어 개발 프레임워크
- 반제품 상태의 제품을 토대로 도메인별로 필요한 서비스 컴포넌트를 사용하여 재사용성 확대와 성능을 보장 받을 수 있게 하는 개발 소프트웨어
- 설계 관점에 개발 방식을 패턴화시키기 위한 노력의 결과물인 소프트웨어 디자인 패턴을 반제품 소프트웨어 상태로 집적화시킨 것
- 프레임워크의 동작 원리를 그 제어 흐름의 일반적인 프로그램 흐름과 반대로 동작한다고 해서 IoC(Inversion of Control)이라고 설명하기도 함
라우팅 프로토콜
- 거리 벡터 라우팅 프로토콜
- Bellman-Ford 알고리즘 사용
- RIP 프로토콜(최대 홉 수 15)
- 인접 라우터와 주기적으로 정보 교환
- Bellman-Ford 알고리즘 사용
- 링크 상태 라우팅 프로토콜
- Dijkstra 알고리즘 사용
- OSPF 프로토콜(홉 수 제한 없음)
- 최단 경로, 최소 지연, 최대 처리량
- Dijkstra 알고리즘 사용
SQL Injection
- SQL Injection은 임의로 작성한 SQL 구문을 애플리케이션에 삽입하는 공격방식
- SQL Injection 취약점이 발생하는 곳은 주로웹 애플리케이션과 데이터베이스가 연동되는 부분
- 로그인과 같이 웹에서 사용자의 입력 값을 받아 데이터베이스 SQL문으로 데이터를요청하는 경우 SQL Injection을 수행할 수 있음
간트 차트
- 프로젝트를 이루는 소작업 별로 언제 시작되고 언제 끝나야 하는지를 한 눈에 볼 수 있도록 도와줌
- 자원 배치 계획에 유용하게 사용
- CPM 네트워크로부터 만드는 것이 가능
- 수평 막대의 길이는 각 작업(Task)에 필요한 기간을 나타냄
하드웨어 관련 신기술
- Memristor : memory + register. 전원 공급이 끊어져도 다시 전원이 공급되면 이전 상태 복원
- MEMS : 센서, 엑추에이터 등 기계구조를 다양한 기술로 미세 가공 후 전기기계적 동작 가능케 한 초미세장치
- SNMP : 하드웨어 신기술 아님. 간이 망 관리 프로토콜
- N-Screen : N개의 서로 다른 단말기에서 동일콘텐츠를 자유롭게 이용 가능한 서비스
시스템 인증
- 토큰 기반 인증 : 하드웨어와 소프트웨어의 토큰 장치를 사용하는 인증 기법, 하드웨어 장치는 스마트카드를 사용, 소프트웨어 장치는 개인 식별번호를 사용하는 강력한 인증 방법
- SSO 인증 : 여러 시스템 중 하나의 시스템에 인증을 성공하면 다른 시스템의 접근 권한도 모두 얻는 방식
PLCP(Physical Layer Convergence Procedure : 물리계층 수렴 처리)
- 논리적인 802.11 MAC 부계층과 물리적인 특성을 연결하는 역할
- 802.11 MAC 부계층이 물리적 특성에 관계없이 동작하도록 함
Traffic Distributor
- 네트워크 통신 간에 트래픽을 분배해주는 솔루션
DPI
- 네트워크에서 전송되는 패킷의 헤더와 페이로드 내 정보를 분석하는 컨텐츠 내용 분석 기술
- 네트워크 보안, 관리, 컨텐츠 관리 등이 목적
접근 제어 방법
- 강제접근통제(Mandatory Access Control), 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식
- 임의접근통제(Discretionary Access Control), 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식
- 사용자계정컨트롤(User Access Control), 프로그램에서 관리자 수준의 권한이 필요한 작업을 수행할 때 사용자에게 알려서 제어할 수 있도록 돕는 기능
- 자료별 접근통제(Data-Label Access Control > Label-Based Access Control), 개별 행, 열에 대해 쓰기 권한, 읽기 권한을 가졌는지를 명확하게 결정하는 제어 방식
소프트웨어 정의 스토리지
- SDS
- 스토리지에 가상화를 적용, 소프트웨어로 전체 스토리지 자원을 관리하여 하나의 저장장치럼 사용할 수 있도록 하는 기법
분산 서비스 공격용 툴
- Trin00
- TFN(Tribe Flooding Network)
- TFN2K
- Stacheldraht
MQTT 프로토콜
- IBM 개발
- 발행/구독 프로토콜
- TCP/IP를 통해 실행되어 기본 네트워크 연결을 제공
SPICE(소프트웨어 처리 개선 및 능력 평가 기준)
- 소프트웨어의 품질 및 생산성 향상을 위해 소프트웨어 프로세스를 평가 및 개선하는 국제 표준
- 공식 명칭은 ISO/IEC 15504
익스트림 프로그래밍의 5가지 가치
- 의사소통
- 단순함
- 피드백
- 용기
- 존중
Parsing
- 하나의 프로그램을 런타임 환경(예를 들면, 브라우저 내 자바스크립트 엔진)이 실제로 실행할 수 있는 내부 포맷으로 분석하고 변환하는 것을 의미함
LAN Tapping
- 처음 들어보는 용어이고, 찾아도 제대로된 정의가 나오지 않으나 Lan+Tapping으로 해석한다면 LAN신호를 직접 자신에게 끌어오는 방식의 공격정도로 해석 가능함
Switch Jamming
- 스위치의 기능이 방해 받아 정상 동작을 하지 못해 스위치가 더미 허브처럼 작동 하게 되는 것
- Switch + Jamming(방해)
FTP(SYN) Flooding
- TCP의 3 Way Handshake 취약점을 이용한 DoS 공격으로 다량의 SYN패킷을 보내 백로그큐를 가득 채우는 공격
- 통상적으로 위의 공격법을 TCP SYN Flooding 이라고 칭하는 경우가 많음
- FTP프로토콜을 사용한 서버에 다량의 SYN 패킷을 보내 마비시키는것을 FTP Flooding이라고 볼 수 있음.
BLP 기밀성 모델
- 정보의 불법적인 파괴나 변조보다는 불법적인 비밀 유출 방지에 중점
- 기밀성 강조
Clark-Wilson 무결성 모델
- 비밀 노출 방지보다 자료의 변조 방지가 더 중요함(금융, 회계관련 데이터, 기업 재무재표 등)
Chinese Wall
- 충돌을 야기시키는 어떠한 정보의 흐름도 없어야 함
- 이익의 충돌 금지, 최근 일을 한 적 있는 파트너는 동일 영역에 있는 다른 회사 자료에 접근해서는 안됨
블루투스 공격
- 블루프린팅(BluePrinting) - 블루투스 공격 장치의 검색 활동을 의미
- 블루버그: 블루투스 장비사이의 취약한 연결 관리를 악용한 공격
- 블루스나프(블루스나핑): 블루투스의 취약점을 활용하여 장비의 파일에 접근하는 공격으로 OPP를 사용하여 정보를 열람
- 블루재킹: 블루투스를 이용해 스팸처럼 명함을 익명으로 퍼뜨리는 것
SPICE 모델
0단계 : 불안정 (구현 전 or 목적 달성 전)
1단계 : 수행 (목적이 전반적으로 이뤄짐)
2단계 : 관리 (작업 산출물 인도)
3단계 : 확립(공학 원칙을 지킴)
4단계 : 예측(산출물의 양적 측정이 가능해져, 일관된 수행 가능)
5단계 : 최적화(지속적으로 업무 목적 만족)
테일러링 (Tailoring)
프로젝트 상황 특성에 맞게 정의된 소프트웨어 개발 방법론 절차, 사용기법 등을 수정 및 보완하는 작업
내부적 요건 : 목표환경 / 요구사항 / 프로젝트규모 / 보유기술
외부적 요건 : 법적 제약사항 / 표준 품질 기준
OWASP(The Open Web Application Security Project)
오픈소스 웹 애플리케이션 보안 프로젝트이다. 주로 웹에 관한 정보노출, 악성 파일 및 스크립트, 보안 취약점 등을 연구
wtmp
- 성공한 로그인/로그아웃 정보를 담고 있는 로그파일
- var/log/wtmp에 위치
- last 명령어 사용
utmp
- 현재 로그인 사용자 상태 정보를 담고 있는 로그파일
btmp
- 실패한 로그인 정보를 담고 있는 로그파일
last log
- 마지막으로 성공한 로그인 정보를 담고있는 로그파일
응용프로그램 취약점 관리
- 패치 관리 : 응용프로그램에 대한 패치 또는 서비스 팩 적용
- 응용프로그램 실행권한의 제한 필요
- 운영체제의 접근 제한
- 정보 수집 제한
- 불필요한 서비스 및 악성 프로그램의 확인 및 제거
- 시스템 무결성 검사 : 주요 파일을 검사하여 변경 내역 확인
프로토타이핑 모델
- 사용자의 요구사항을 정확히 파악하기 위해 소프트웨어 시제품(Prototype)을 만들어 최종 결과물을 예측하는 모형
- 폭포수 모델의 단점을 보완한 모델
- 최종 결과물이 만들어지기 전에 고객이 샘플 모델을 볼 수 있어 고객의 불명확한 요구사항을 정확히 파악 가능
- 프로토타입은 요구 분석 단계에서 사용하게 됨
나선형 모형
- 시스템 개발시 위험을 최소화 하기 위해 점진적으로 완벽한 시스템으로 개발해 나가는 모델
- 폭포수 모형과 원형 모형의 장점을 수용하고 위험 분석을 추가한 점증적 개발 모델
- 프로젝트 수행 시 발생하는 위험을 관리하고 최소화 하려는 것이 목적
- 성과를 보면서 점진적으로 개발 진행
- 위험관리 능력에 따라 프로젝트 성공여부에 영향
- 복잡성으로 프로젝트 관리가 어렵고 개발이 장기화 가능성 존재
- 대규모 프로젝트, 국책사업 및 위험 부담이 큰 시스템 개발에 적합
폭포수 모형
- 소프트웨어 개발의 전 과정을 나누어 체계적이고 순차적으로 접근하는 소프트웨어 개발 생명주기 모델
- 순서 : 1.타당성 검토 → 2.계획 → 3.요구사항 분석 → 4.설계 → 5.구현 → 6.테스트 → 7.유지보수
RAD 모형
- 빠르고 쉽게 응용 프로그램을 만들 수 있는 시각적 도구 혹은 개발 모형
- 툴을 사용해서, 디자인을 하고, Code Generator를 활용하여 프로그램을 빠르게 개발하는 기법
(대표적인 툴로는 파워빌더, Visual C#, Miplatform 같은 플랫폼이 있다.) - RAD 모형의 개발절차는 JRP, JAD, 구축/운영, Cutover(이전)이 있다.
GPIB
- EEE-488은 단거리 디지털 통신 버스
- 1960년대 후반 전자 측정 장비에 사용되었으며 지금도 사용되고 있음
- IEEE-488은 HP-IB(Hewlett-Packard Interface Bus)로서 개발되었으며, 보통 GPIB (General Purpose Interface Bus)로 불림
CentOS
- 센트OS 프로젝트에서 레드햇 제휴로 개발한 컴퓨터 운영 체제
XSS
- 웹 클라이언트가 제공하는 HTTP 쿼리 매개 변수 (예 : HTML 양식 제출)에서 적절하지 않고, 구문 분석 및 해당 사용자에 대한 결과의 페이지를 표시하는 공격 기법
악성 공격 기법
- 랜섬웨어 : 임의로 시스템을 잠그거나 혹은 데이터를 암호화하여 사용할 수 없게 한 다음 이를 빌미로 돈을 요구하는 기법.
- 파밍 : 홈페이지 주소를 바꿔 사용자가 진짜 사이트로 오인하게 하여 접속하게 한 다음 개인정보를 탈취하는 기법.
- 피싱 : 메일 등으로 공공기관이나 금융기관에서 보낸 것처럼 위장하여 사용자에게 계좌번호, 카드번호의 비밀번호를 빼내는 기법. 대표적으로 스미싱
- XSS : 웹페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도함으로써, 정보유출 등의 공격을 유발할 수 있는 취약점
자동화 도구
1.SREM(Software Requirements Enginering Methdology):TRW사가 우주 국방 시스템 그룹에 의해 실시간 처리 소프트웨어 시스템에서 요구사항을 명확히 기술하도록 할 목적으로 개발한 것으로,RSL과 REVS를 사용하는 자동화 도구
2.PSL/PSA:미시간 대학에서 개발한 것으로 PSL과 PSA를 사용하는 자동화 도구
3.4.SADT(Structure Analysis and Design Technique): SoftTech사에서 개발된 것으로 구조적 요구 분석을 위해 블록 다이어그램을 채택한 자동화 도구
SOA(Service Oriented Architecture,서비스 지향 아키텍처)계층
-표현 계층(Presentation Layer)
-프로세스 계층(Process Layer)
-서비스 계층(Service Layer)
-비즈니스 계층(Business Layer)
-영속 계층(Persistency Layer)
CMM(Capability Maturity Model) 모델의 레벨
- 초기 단계
- 관리 단계
- 정의 단계
- 정량적 관리 단계
- 최적화 단계