점수 : 20 ;;;
1. SOA ( Service Oriented Architecture) : 서비스 지향 아키텍쳐
프로세스 수행을 지원하는 정보 시스템의 구현을 위해 가장 선진화 된 소프트웨어 아키텍처, 서비스라고 정의되는 분할 된 애플리케이션 조각들을 loosely-coupled 하게 연결 해 하나의 완성 된 application을 구현 하기 위한 아키텍처.
-> 다양한 비즈니스 환경에서 인터페이스를 통해, 서비스단위를 재사용 / 재조립이 가능하게 한다.
SOA (서비스 지향 아키텍쳐) 의 개념을 실현 하기 위한 기술이 SOAP(Simple Object Access Protocol)
서비스지향 아키텍쳐 구성 요소
1. Service Broker : 서비스 저장 및 관리를 담당하는 중재자
2. Service Provider : 서비스 제공자. 사용자가 호출 시 입력 값을 이용하여 결과를 제공
3. Service Consumer : 서비스 제공자에 의해 제공되는 하나 이상의 서비스를 사용
SOA 의 핵심 기술
데이터 교환 - XML : 인터넷 데이터 교환기술
미들웨어 - EBS: : 메세징을 통한 다수의 시스템에 약결함( Loosely coupled) 방식으로 연결하여 SOA를 구현 한다
서비스호출 - SOAP : xml 언어를 이용한 분산 환경에서의 정보겨환을 위한 프로토콜
서비스기록 - WSDL : web service 의 기능, 사용법 등을 기술한 XML 기반의 언어
서비스 등록 - UDDI : 인터넷 상에서 web service 에 대한 정보 등록과 검색을하는 공용 registry서비스
SOA 의 주요 특징
1. 수직적 분할
2. 표준 인터페이스
3.느슨한 연결
4.서비스 조합
5. 서비스 발견
2. 네트워크 신기술 용어
- 사물 인터넷 (Io T) : 집 가는 차에서 내비에 우리집을 클릭하면 사물들이 알아서 소통해서 집에 난방도 키고 불도 키고 이렇게 상호작용해서 하는것. 실세계와 가상세계의 다양한 사물들을 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 기술
- M2M 사물 통신 (Machine to Machine) : 기계와 기계 사이의 통신기술. 다양한 장치들이 유무선 통신 기술을 이용해 서로 정보를 교환한다.
- BLE 저전력 블루투스 (Bluetooth Low Energy) : 저전력 저용량 데이터 송수신이 가능한 블루투스 기술. 대부분의 시간을 Sleep Mode 로 되어 있어 전력 소모가 매우 적다. 학원에 비콘 찍는것도 이 BLE 기술을 기반으로 한것임
- NCF 근접 무선 통신 (Near Field Communication) : 근거리 자기장 통신 기술
- RFID 전파 식별 (Radio Frequency IDentification) : 전파 신호를 통해 사물에 부착 된 얇은 평명 형태의 태그를 식별하여 정보를 처리하는 시스템
- Zigbee 지그비 : 저속, 저비용, 저젼력의 무선망을 위한 기술. 예를 들면, 버튼 하나로 동작을 잡아 집안 어느 곳에서나 전등 제어 및 홈 보안 시스템을 변경 할 수 있는것. IEEE 802.15 표준 기반 메시 네트워크 방식을 사용하는 통신 기술
- 지능형 초 연결망 : 네트워크 전체에 소프웨어 정의 기술을 적용하는 차세대 국가망
- 지능형 전력망 : 기존의 전력 시스템에 IT 기술을 부가하는 새로운 개념의 IT 융합기술
- Ad-hoc Network 애드 혹 네트워크 : 노드들에 의해 자율적으로 구성 되는 기반 구조가 없는 네트워크
- Mesh Network : 대규모 디바이스의 네트워크 생성에 최적화 되어 특수목적을 위한 새로운 방식의 네트워크 기술
- Moblie Computing 이동 컴퓨팅 : 이동하면서 휴대형 기기로 지유롭게 네트워크에 접속하여 업무를 할 수 있는 환경
- Smart Grid 스마트 그리드 : 전기 및 정보통신 기술을 활용하여 전력망을 지능화, 고도화 함으로써 고품질의 전력 서비스를 제공하고 에너지 이용효율을 극대화 하는 전력망
- Wi-sun 와이썬 : 스마트 그리드 서비스를 제공하기 위한 와이파이 기반의 저전력 장거리 통신기술
- NDN 근접 무선 통신 (Named Data Networking) : Data의 이름을 활용하여 정보의 효율적인 검색 및 배포를 목적으로 하는 인터넷 기술
- Piconet 피코넷 : 여러개의 독립 된 통신 장치가 블루투스 기술이나 초광대역 무선 (UWB) 통신기술을 사용하여 통신망을 형성하는 무선 네트워크 기술
- UWB 초광대역 기술 (Ultra-WideBand Technology) : 넓은 대역에 걸쳐 낮은 전력으로 대용량의 정보를 전송하는 통신기술
- SON 자동 구성 네트워크 (Self-Organizing Network) : 주변 상황에 자동적으로 적응하여 스스로 망을 구성하는 네트워크
- GIS 지리 정보시스템 (Geographical Information System) : 지도에 관한 속성 정보를 컴퓨터를 이용해서 해석하는 시스템
- USN 유비쿼터스 센서 네트워크 (Ubiquitous Sensor Network) : 각종 센서에서 감지한 정보를 무선으로 수집할 수 있도록 구성한 네트워크
- WPAN 무선 사설망 (Wireless Personal Area Network) : 무선을 이용하는 개인 영역 네트워크로 휴대용 컴퓨팅 장비들을 지원하기 위한 네트워크 망
- WDM 파장분할 다중화기 (Wavelength Divisin Multiplexer) : 광섬유 채널을 빛의 파장에 의해 분할 하여 복수의 통신로로 사용 할 수 있게 하는 것
- VPN 가상 사설 통신망 (Virtual Private Network) : 공중망에 사설망을 구축하여 마치 전용망을 사용하는 효과를 가지는 보안 솔루션
- MQTT (Messege Queing Telmetry Transport) : 발행 -구독 기반의 메시징 프로토콜. 대역폭이 제한된 통신 환경에 최적화 되어 개발 된 푸시기술 기반의 경량 메세지 전송 프로토콜
- N-Screen : 동일한 콘텐츠를 N개의 이종 단말기에서 자유롭게 이용할 수 있는 서비스
- Vlan (Virtual Local Area Network) : 논리적으로 LAN을 구성 할 수 있는 기술
- IMS(IP Multimedia Subsystem) : All IP 기반의 멀티미디어 서비스를 위한 유무선 통신 플랫폼 환경
3. 네트워크 공격 기법
- 웜 (worm) : 네트워크를 통해 자신을 스스로 복제하고 전파하는 악성프로그램
- 바이러스 (virus) : 악성 프로그램이 파일 속에 숨어 옮겨 다니는 프로그램
- 트로이목마 (Trojan) : 순수한 얼굴로 위험 인자를 포함하고 있는 프로그램
- 스턱스넷(Stuxnet) : 웜 바이러스의 일종으로 물리적인 피해를 입히는 목적이다. 기간시설을 파괴 할 목적
- 루팅 (Rooting) : 핸드폰 운영체제의 루트 관리자 계정을 획득하는 것
- 루트킷 (Rootkit) : 시스템에 접근 할 수 있는 루트 권한을 쉽게 얻게 해주는 킷 (kit)
- 혹스 (Hoax) : 가짜 바이러스
- 스니핑 공격 (sniffing Attact) : 네트워크로 전송되는 패킷을 훔쳐보는 공격 (소극적인 공격이라고도 한다)
- IP Spoofing : Snoofing 은 속이는 것을 뜻한다. IP 주소를 속여서 접속하는 공격이다.
- ARP Spoofing : 자신의 MAC 주소를 다른 컴퓨터의 MAC 주소인 것 처럼 속이는 공격
- DNS Spoofing : DNS 서버로 보내는 질문을 가로채서 변조 된 결과를 보내주는 중간자 공격
- 파밍 (Parming) : 정상 홈페이지에 접속해도 피싱 사이트로 유도하는 피싱 공격
- 타이포스쿼팅 (Typosquatting) : 빨리 치다가 오타나서 들어오게 하려는 공격
- Smising : 문자 메세지를 이용한 피싱
- Qshing : QR코드를 이용해 접속을 유도함
- 포트 스캐닝 (Port Scanning) : 서버에 열려있는 포트를 확인 후 해당 포트의 취약점을 이용한 공격
- TCP 세션 하이재킹 (TCP Session Hijacking) : 이미 인증 받아 세션을 생성, 유지 하고 있는 연결을 뺴앗는 공격
대책 : ACK Storm 탐지, 데이터 암호화, MAC 주소 고정, 비동기화 상태 탐지, 패킷의 유실 및 재전송 증가 탐지 - Buffer Overflow : 프로그램이 실행 될 떄 입력 받는 값이 버퍼를 가득 채우다 못해 흘러 넘쳐 그 공간을 침범하는 현상
방어 기법 : 스택가드 (값이 변경 되면 오버플로우로 가정) / 스택쉴드 (저장 된 값과 RET 값을 비교하여 다르면 프로그램 중단) / ASLR (주소 공간을 난수화) - Format String Attack : 문자열의 출력 포맷을 애매하게 설정할 때의 취약점을 포착해 메모리의 RET 위치에 악성 코드 주소를 입력하는 공격
- SQL injection : 클라이언트의 입력값을 조작하여 데이터베이스를 공격
- XSS (Cross-Site Scripting) : 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법. 사용자의 세션 탈취 목적
- CSRF(Cross-Site Request Fogery) : 사용자가 자신의 의지와 무관하게 공격자가 의도한 웹사이트를 요청하게 함
- Backdoor
- Password Cracking : 시스템의 비밀번호를 각종 툴을 통해 알아내는 공격 기법
- Rainbow Table : 해시함수를 사용하여 만들어 낼 수 있는 값들을 대량으로 저장한 테이블
- APT (Advanced Persistent Threat) : 지속적이고 지능적인 해킹 공격의 통칭
- Nucking : 특정 아이피에 대량의 패킷을 보내 접속을 끊는 크래킹의 일종
- 부채널 공격 : 암호 알고리즘을 대상으로 한 물리적 공격기법
- Brute Force : 무차별 대입공격.
- Dictionary Attack : 암호의 패턴들을 사전 형태로 만들고 이들을 조합하여 공격하는 방식
- Key Logger Attack : 키보드의 움직임을 탐지해 정보를 빼가는 공격
- 스파이웨어 (SpyWare) : 사용자의 동의 없이 사용자 정보를 수집하는 프로그램
- 애드웨어 (Adware) : 프로그램 실행 중 광고를 보여주고 그걸 보면 돈 납부하라고 하는거
- 트랙웨어 (Trackware) : 정보들을 추적해서 다른 조직에 전달하는 소프트웨어 패키지
- 그레이웨어 (Grayware) : 일반 소프트웨어와 바이러스 소프트웨어의 중간에 속하는 소프트 웨어
- 크라임웨어 (Crimeware) : 불법 활동을 위한 소프트웨어
- 랜섬웨어 (Ransomware) : 컴퓨터 시스템을 감염시켜 몸값을 요구하는 악성 소프트웨어 공격
- 제로데이 공격 : 해결 방법이 없는 새로운 공격 형태
- 사회공학 (Social Engineering) : 사람들 간의 기본적인 신뢰를 속여 정보를 탈취하는 것
- Evil Twin Attack : 와이파이 무선 네트워크에서 가짜 와이파이를 만들어서 그걸로 들어오게하는거
- BuleBug : 블루투스 장비 간의 취약한 연결 관리를 이용한 공격
- BlueSnarf : 블루투스 장비의 파일에 접근하는 공격
- BluePrinting : 블루투스 공격 장치의 검색 활동
- BlueJacking : 블루투스 지원 장치로 익명의 메세지를 보내는 해킹 방법
- Switch Jamming : Switch MAC 주소를 혼란시켜 더미허브처럼 작동하게하는 공격
- Honeypot : 비정상적인 접근의 탐지를 위해 의도적으로 설치해 둔 시스템
- 블루킵 (BlueKeep) : 원격 데스크톱 서비스를 인증 없이 조작 가능
- 인포데믹스 (Infodemics) : SNS 발달로 대중의 두려움이 필요 이상으로 증폭 되는 현상
- 살라미 (Salami) : 적은 금액을 조금 씩 뺴가는 기법
- 다크 데이터 (Dark Data) : 저장만 하고 분석에는 전혀 활용 되고 있지 않은 다량의 데이터
- 킬 스위치 (Kill Switch) : 분실한 정보기기의 데이터를 삭제하는 일종의 자폭 기능
- 트러스트존 (TrustZone) : 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 하드웨어 기반의 보안 기술
4. DoS 와 DDos
[ DoS ]
공격 대상 시스템이 정상적인 서비스를 할 수 없도록 가용성을 떨어뜨리는 공격
공격 유형
- Smuf Attack : 공격 대상에서 다량의 ICMP Echo Request를 보내게 하는 공격 IP와 ICMP의 특성을 이용한다.
- Ping of Death : 규정 크기 이상의 ICMP 패킷으로 시스템을 마비 시켜 버리는 공격
- Land Attact : 출발지 IP와 목적지 IP가 같은 패킷을 만들어 보내는 공격 방법
- TearDrop Attact : Fragment Number를 위조 하여 재조합 되지 않게 만들어 다운되게 하는 공격
- SYN Flooding : TCP 연결 과정의 취약점을 이용한 공격 방법
- UDP Flooding : 다량의 UDP 패킷을 전송하여 네트워크 자원을 고갈 시키는 공격
- Ping Flooding : 특정 사이트에 다량의 ICMP Echo를 보내 시스템 자원을 모두 소모하게 해버리는 공격
[ DDoS ]
분산 된 다수의 좀비 PC를 이용하여 공격 대상 시스템의 서비스를 마비시키는 공격 형태.
Exploit ( 공격자의 의도 된 명령어가 담긴 스크립트 ) 로 공격 시작
공격 툴의 종류
- 트리누 (Trinoo) : 목표 시스템에 대량의 UDP 패킷이 전송 되어 시스템을 다운 시킴
- TFN (Tribal Flood Network) : ICMP Echo-Reply를 이용한다.
- 슈타첼드라트 (Stacheldraht) : 암호화 기능을 포함한 공격 도구
5, 병행제어
여러 트랜잭션들이 동시에 실행 되면서도 데이터베이스의 일관성을 유지할 수 있게 하는 기법
병행제어 미 보장 시의 문제점
- 갱신분실 : 두 개 이상의 트랜잭션이 같은 자료를 공유하여 갱신할 때 갱신 결과의 일부가 없어지는 현상
- 비완료 의존성 : 하나의 트랜잭션이 수행 된 후 회복 되기 전에 다른 트랜잭션이 실패한 갱신 결과를 참조하는 것
- 모순성 : 두개의 트랜잭션이 병행 수행 될 때 원치 않는 자료를 이용하여 발생 하는 문제
데이터베이의 관성이 결여 되는 오류라고도 한다. - 연쇄 복귀 : 병행 수행 된 트랜잭션들 중 어느 하나에 문제가 생겨 Rollback 하는 경우 다른 트랜잭션도 함께 Rollback 되는 현상.
병행제어 기법
- 로킹 : 잠궈버리는 것
- 2단계 로킹 규약 : lock 과 unlock 둘중에 하나만 실행 하는 것
- 타임스탬프 : 정해진 시간 순서대로 하는 것. 교착 상태는 일어나지 않지만 연쇄복귀를 초래 할 수 있음
- 낙관적 병행제어 : 트렌잭션 종료시에 일괄적으로 검사
- 다중버전 병행 제어 : 직렬 가능성이 보장 되는 타임스탬프를 선택해서 병행제어를 한다.
6. JSON
"속성 - 값 쌍" 으로 이루어진 데이터 오브젝트를 전달하기 위해 인간 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷.
XML : 웹에서 구조화한 문서를 표현하고 전송하도록 설계한 마크업 언어
YAML : 데이터 직렬화 언어
CSV (Comma Separated Values) : 몇가지 필드를 쉼표로 구분한 텍스트 데이터 및 텍스트 파일
7. 요구 공학
고객 요구를 체계적으로 수집하고 변경 되는 요구사항을 도출하고 관리하는 기법
요구사항 내용의 종류
- 기능적 요구사항 : 소프트웨어를 구성하는 기능들이 무엇인지 정의 한 것
기능적으로 이거 해주세요 저거 해주세요 하는거 - 비기능적 요구사항 : 소프트웨어의 기능들에 대한 조건과 제약사항
보안은 어떻게 해주시고 성능은 이만큼 까지 버텼으면 좋겟고, 품질이 어쩌고~
요구사항 개발 프로세스
도분명확
- 도출
- 분석 : 요구사항들 간의 상충 되는 문제를 해결
구조적 분석도구 - DFD, DD, Mini-spec, ERD, STD
객체지향 분석 도구 - UML, 모델링 기법 - 명세 : 문서 작성
정형 명세 기법 : 수학, 논리학 표기법으로 서술하는 기법
비정형 명세 기법 : 자연어, 그림 중심으로 서술하거나 다이어그램으로 작성 - 확인 : 걍 확인 하는 것~
8. 데이터 모델링 절차
요개논물
- 요구사항 분석
- 개념 모델링 : 현실 세계에 대한 인식을 추상적으로 표현
- 논리 모델링 : 개념데이터 모델링을 컴퓨터가 이해 할 수 있도록 변환 한 구조로 관계, 속성, 키를 도출한다.
- 물리 모델링 : 데이터가 저장되는 방법을 표현. 특정 DBMS 특성에 맞게 물리적 스키마를 만드는 활동이다.
9. 자료구조
한정적인 공간을 효율적으로 사용하기 위한 것
자료구조의 분류
[ 선형 구조 ]
- 배열
- 선형 리스트 : 일정한 순서에 의해 나열된 자료 구조 (연속리스트 / 연결 리스트)
- 스택 : 한쪽 끝으로만 자료의 삽입 과 삭제가 이루어지는 작업
- 큐 : 한쪽은 삽입 작업이루어지고 다른 쪽은 삭제 작업이 이루어진다.
- 데크 : 큐 + 스택 같은 개념으로 양쪽 끝에서 삽입 삭제 둘다 가능
[ 비선형 구조 ]
- 트리
- 그래프
'IT개념' 카테고리의 다른 글
수제비 오답노트 6회차 (0) | 2023.04.17 |
---|---|
수제비 오답노트 5회차 (0) | 2023.04.15 |
수제비 오답노트 4회차 (0) | 2023.04.15 |
수제비 오답노트 3회차 (0) | 2023.04.14 |
수제비 오답노트 2회차 (0) | 2023.04.11 |