[정처기 실기] 정처기 실기 벼락치기


⚡🤪 정처기 실기 10일 벼락치기 💥⚡




💢 병행 제어 미보장 시 문제점

  • Lost Update 갱신손실 : 먼저 실행된 트랜잭션 결과 나중에 실행된 트랜잭션이 덮어쓸 때

  • Dirty Read 현황 파악오류 : 트랜잭션 중간 수행 결과 다른 트랜잭션이 참조

  • Inconsistency 모순성 : 두 트랜잭션이 동시에 실행 > 데이터베이스 관성 결여

  • Cascading Rollback 연쇄복귀 : 특정 트랜잭션이 처리 취소 시 트랜잭션이 처리한 곳의 부분 취소하지 못함



💢 비즈니스 연속성 계획 관련 용어

  • BCP (Business Continuity Planning) : 재난 및 재해 상황을 대비하여 비즈니스 연속성을 유지하기 위한 업무 복구에 대한 계획

  • BIA (Business Impact Analysis) : BCP를 구축하기 위한 비즈니스 영향 분석

  • RTO (Recovery Time Objective) : 업무중단 시점 ~ 업무 복구되어 다시 가동될 때까지의 시간, 재해 시 복구 목표 시간 선정

  • RPO (Recovery Point Objective) : 업무중단 시점 ~ 데이터 복구되어 정상가동될 때 데이터의 손실 허용 시점, 재해 시 복구 목표 지점 선정

  • DRP (Disaster Recovery Plan) : 재난 복구 계획

  • DRS (Disaster Recovery System) : 재해 복구 시스템



💢 라우팅 알고리즘

  • 목적지까지의 최적 경로를 산출하기 위한 법칙

  • 거리 벡터 알고리즘

    • 인접 라우터와 정보를 공유하여 목적지까지의 거리와 방향을 결정

    • 벨만-포드 알고리즘 사용

  • 링크 상태 알고리즘

    • 링크 상태 정보를 모든 라우터에 전달하여 최단 경로 트리를 구성

    • 다익스트라 알고리즘 사용



💢 절차형 SQL

  • 프로시저 : 일련의 쿼리들을 마치 하나의 함수처럼 실행

  • 사용자 정의 함수 : 수행 겨로가를 단일 값으로 반환

  • 트리거 : 삽입, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업 자동으로 수행



💢 객체지향 설계 원칙(SOLID)

  • 단일 책임의 원칙 (Single Responsibility Principle) : 하나의 클래스는 하나의 목적을 위해서 생성, 클래스가 제공하는 모든 서비스는 하나의 책임을 수행하는 데 집중

  • 개방 폐쇄 원칙 (Open Close Principle) : 확장에는 열려 있고, 변경에는 닫혀 있어야 함

  • 리스코프 치환의 원칙 (Liskov Substitution Principle) : 서브타입은 어디서나 자신의 기반 타입으로 교체할 수 있어야 함

  • 인터페이스 분리의 원칙 (Interface Segregation Principle) : 자신이 사용하지 않는 인터페이스는 구현 X, 사용하지 않는 인터페이스 때문에 영향 받아선 안됨

  • 의존성 역전의 원칙 (Dependency Inversion Principle) : 추상을 매개로 메시지 주고받음으로써 관계 최대한 느슨하게



💢 결합도 (Coupling)

외부의 모듈과의 연관도 또는 모듈 간의 상호의존성 (모듈 내부 X), 결합도 ↓ → 품질 ↑

  • 내용 결합도 : 다른 모듈 내부에 있는 변수나 기능 사용, 결합도 가장 높음

  • 공통 결합도 : 파라미터가 아닌 모듈 밖에 선언되어 있는 전역 변수 참조

  • 외부 결합도 : 외부에서 도입된 데이터 포맷, 통신 프로토콜, 디바이스 인터페이스 공유

  • 제어 결합도 : 단순히 값만 전달되는게 아닌 어떻게 처리를 해야 한다는 제어 요소 전달

  • 스탬프 결합도 : 배열이나 객체, 구조 등 전달

  • 자료 결합도 : 모듈 간 인터페이스로 전달되는 파라미터를 통해서만 상호작용, 결합도 가장 낮음



💢 응집도 (Cohesion)

모듈의 독립성, 모듈 내부 구성요소 간 연관 정도, 응집도 ↓ → 품질 ↓

  • 우연적(Coincidental) 응집도 : 서로 다른 상위 모듈에 의해 호출되어 연관성 없는 서로 다른 기능 수행, 응집도 가장 낮음

  • 논리적(Logical) 응집도 : 유사한 성격을 갖거나 특정 형태로 분류되는 처리요소들이 한 모듈에서 처리되는 경우

  • 시간적(Temporal) 응집도 : 특정 시간에 처리되어야 하는 활동들을 한 모듈에서 처리할 경우

  • 절차적(Procedural) 응집도 : 모듈이 다수의 관련 기능을 가질 때 모듈 안 구성요소들이 그 기능을 순차적으로 수행

  • 통신적(Communication) 응집도 : 동일한 입출력을 사용하여 다른 기능을 수행하는 활동들이 모여 있을 경우

  • 순차적(Sequential) 응집도 : 모듈 내에서 한 활동으로 나온 출력값을 다른 활동이 사용

  • 기능적(Functional) 응집도 : 모듈 내부의 모든 기능이 단일한 목적을 위해 수행, 응집도 가장 높음



💢 데이터 암호화 전송을 위한 기술

  • IPSec : IP계층, 무결성과 인증을 보장하는 인증 헤더 + 기밀성을 보장하는 암호화 이용

  • SSL/TLS : 전송/응용계층, 클라이언트-서버 간 웹 데이터 암호화, 상호 인증 및 전송 시 데이터 무결성 보장

  • S-HTTP : 웹상에서 네트워크 트랳픽 암호화, 클라이언트-서버 간 전송되는 모든 메시지 각각 암호화



💢 데이터베이스 암호화 기법

  • API 방식 : 애플리케이션 레벨에서 암호 모듈(API) 적용, 애플리케이션 서버에 부하 발생

  • Plug-In 방식 : 암복호화 모듈이 DB 서버에 설치됨, DB서버에 부하 발생

  • TDE 방식 : DB 서버의 DBMS 커널이 자체적으로 암복호화 기능 수행, 내장된 암호화 기능(TDE, Transparent Data Encryption) 이용

  • Hybrid 방식 : API방식 + Plug-in방식



💢 보안 관련 용어

  • 이블 트윈(Evil Twin) 공격 : 공격자는 합법적인 Wifi 제공자처럼 행세, 핫스팟에 연결한 무선 사용자들의 정보를 탈취

  • 난독화(Obfuscation) : 코드의 가독성을 낮춰 역공학에 대해 대비하기 위해 프로그램 코드의 일부 또는 전체를 변경

  • 랜섬웨어(Ransomware) : 감염된 시스템의 파일들을 암호화하여 복호화할 수 없도록 하고, 암호화된 파일을 인질처럼 잡고 몸값을 요구

  • 사이버 킬체인(Cyber Kill Chain) : 지능적, 지속적 사이버 공격에 대해 7단계 프로세스별 공격 분석 및 대응을 체계화

  • 제로데이 공격(Zero Day Attack) : 보안 취약점이 발견되어 널리 공표되기 전에 해당 취약점을 악용하여 이루어지는 공격

  • 악성 봇(Malicious Bot) : 스스로 실행되지 못하고 해커의 명령에 의해 원격에서 제어 또는 실행

  • 웜(Worm) : 스스로를 복제하여 네트워크 등의 연결을 통해 전파



💢 접근 통제 모델

  • 벨-라파둘라 모델 (BLP)

    • 미 국방부 지원 보안 모델

    • 기밀성 강조

    • No Read Up / No Write Down

  • 비바(Biba) 모델

    • 벨-라파둘라 모델 단점 보완

    • 무결성 보장하는 최초의 모델

    • No Read Down / No Write Up



💢 네트워크 계층 프로토콜

  • IP (Internet Protocol) : 송수신 간의 패킷 단위로 데이터 교환하는 네트워크에서 정보를 주고받는 데 사용

  • ARP (Address Resolution Protocol) : IP 주소를 MAC 주소(물리 주소)로 변환

  • RARP (Reverse Address Resolution Protocol) : 물리 네트워크 주소(MAC)은 알지만 IP 주소를 모르는 경우, 서버로부터 IP 주소를 요청

  • ICMP (Internet Control Message Protocol) : IP 패킷을 처리할 때 발생되는 문제를 알려주며, 수신지 도달 불가 메시지는 수신지 또는 서비스에 도달할 수 없는 호스트를 통지하는 데 사용

  • IGMP (Internet Group Management Protocol) : 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용

  • 라우팅 프로토콜 : 내부 라우팅 프로토콜 RIP, OSPF / 외부 라우팅 프로토콜 EGP, BGP



💢 대칭 키 알고리즘

  • SEED : 국내 한국인터넷진흥원(KISA) / 128bit 비밀키로부터 생성된 16개의 64bit 라운드 키를 사용 / 총 16회 라운드 / 128bit 암호문 블록으로 암호화

  • AES (Advanced Encryption Standard) : 미국 표준 기술 연구소(NIST) / 블록 크기 128bit / 키 길이에 따라 128bit, 192bit, 256bit로 분류 / 한 라운드 4가지 계층으로 구성



💢 보안 솔루션

  • 방화벽 (Firewall) : 기업 내외부 간 트래픽을 모니터링하여 시스템의 접근을 허용하거나 차단

  • 웹 방화벽 (WAF, Web Application Firewall) : 웹 애플리케이션 보안에 특화된 보안 장비 / SQL 인젝션, XSS 등의 웹 공격을 탐지하고 차단

  • 네트워크 접근 제어 (NAC, Network Access Control) : 단말기가 내부 네트워크에 접속을 시도할 때 이를 제어하고 통제 / 바이러스나 웜 등의 위협으로부터 제어 및 통제

  • 침입 탐지 시스템 (IDS, Intrusion Detection System) : 비인가 사용자에 의한 자원접근과 보안정책 위반 행위를 실시간으로 탐지

  • 침입 방지 시스템 (IPS, Intrusion Prevention System) : 네트워크에 대한 공격이나 침입을 실시간으로 차단, 유해 트래픽에 대한 조치를 능동적으로 처리

  • 무선 침입 방지 시스템 (WIPS, Wireless Intrusion Prevention System) : 인가되지 않은 무선 단말기의 접속을 자동으로 탐지 및 차단, 보안에 취약한 무선 공유기 탐지

  • 통합 보안 시스템 (UTM, Unified Threat Management) : 다양한 보안 장비의 기능을 하나의 장비로 통합하여 제공

  • 가상사설망 (VPN, Virtual Private Network) : 인터넷과 같은 공중망에 인증, 암호화, 터널링 기술을 활용하여 마치 전용망을 사용하는 효과를 가짐



💢 회복 기법

  • 로그 기반 회복 기법

    • 지연 갱신 회복 기법 : 트랜잭션이 완료되기 전까지 데이터베이스에 기록하지 않음

    • 즉각 갱신 회복 기법 : 트랜잭션 수행 중 갱신 결과 바로 반영

  • 체크 포인트 회복 기법 : 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만 이전 상태로 복원

  • 그림자 페이징 회복 기법 : 트랜잭션 수행 시 복제본을 생성하여 장애 시 이를 이용해 복구



💢 비대칭 키 암호화 알고리즘

  • 디피-헬만 : 최초의 공개키 알고리즘, 최초의 비밀키 교환 프로토콜

  • RSA (Rivest-Shamir-Adleman) : 큰 인수의 곱을 소인수분해하는 수학적 알고리즘을 이용

  • ECC (Elliptic Curve Cryptography) : 유한체 위에서 정의된 타원곡선 군에서의 이산대수 문제에 기초, RSA보다 키의 비트 수를 적게 하면서 동일한 성능을 제공

  • ElGamal : RSA와 유사하게 전자서명과 데이터 암복호화에 함꼐 사용 가능



💢 소프트웨어 아키텍처 패턴 유형

  • 브로커 패턴 (Broker Pattern) : 분리된 컴포넌트들로 이루어진 분산 시스템에서 사용 / 컴포넌트들은 원격 서비스 실행을 통해 상호작용 가능

  • 계층화 패턴(Layered Pattern) : 시스템을 계층으로 구분하여 구성 / 각 하위 모듈은 특정화 수준의 추상화를 제공, 각 계층은 다음 상위 계층에 서비스 제공

  • 클라이언트-서버 패턴 (Client-Server Pattern) : 하나의 서버와 다수의 클라이언트

  • 파이프-필터 패턴 (Pipe-Filter Pattern) : 데이터 스트림을 생성, 처리하는 시스템에서 사용

  • MVC 패턴 (Model View Controller Pattern) : 대화형 애플리케이션을 모델, 뷰, 컨트롤러 3개 서브 시스템으로 구조화

Categories:

정보처리기사