IX. 소프트웨어 개발 보안 구축
01. 소프트웨어 개발 보안 설계
02. 소프트웨어 개발 보안 구현
01. 소프트웨어 개발 보안 설계
- SW 개발 보안
▷ 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동
▷ SW 개발 보안 생명주기: 요구사항 명세 → 설계 → 구현 → 테스트 → 유지보수
▷ 3대 요소: 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)
▷ 용어: 자산(Assets), 위협(Treat), 취약점(Vulnerability), 위험(Risk)
*위험: 위협이 취약점을 이용하여 조직의 자산 손실 피해를 가져올 가능성
▷ 공격기법: Dos, DDos, DRDos, 세션 하이재킹, 애플리케이션 공격, 네트워크 공격, 시스템 보안 위협
*Dos(Denial of Service) - 특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 하지 못하게 하거나, 서버의 TCP 연결을 소진시키는 공격 - 종류: SYN 플러딩, UDP 플러딩, 스머프/스머핑, 죽음의 핑, 랜드 어택, 티어 드롭, 봉크, 보잉크 1) SYN 플러딩: ACK를 발송하지 않고 계속 새로운 연결 요청(SYN). 서버는 자원할당을 해지하지 않고 자원만 소비하여 고갈됨 2) UDP 플러딩: 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 응답 메시지(ICMP)를 생성하게 하여 지속해서 자원을 고갈. ICMP 패킷은 변조되어 공격자에게 전달되지 않아 대기 3) 스머프(Smurf) / 스머핑(Smurfing): 출발지 주소를 공격 대상의 IP로 설정. 네트워크 전체에게 ICMP Echo 패킷을 직접 브로드 캐스팅하여 마비시킴. 바운스 사이트 이용. 3) 죽음의 핑(PoD: Ping of Death): ICMP 패킷을(Ping)을 아주 크게 만들어 전송. 다수의 IP 단편화 발생. 처리(재조합)하는 과정에서 많은 부하가 일어남. 재조립 버퍼의 오버플로 발생. 4) 랜드 어택(Land Attack): 출발지(Source) IP와 목적지(Destination) IP를 같은 패킷 주소로 만들어 보냄. 수신자가 자기 자신에게 응답을 보내게 만들어 시스템의 가용성을 침해. 5) 티어 드롭(Tear Drop): IP Fragment Offset 값을 서로 중첩되도록 조작하여 전송. 재조합하는 과정에서 오류가 발생. 시스템 기능 마비. 6) 봉크(Bonk): 똑같은 번호로 전송해서 오류를 일으킴 7) 보잉크(Boink): 중간에 패킷 시뭔스 번호를 비정ㅇ상적인 상태로 보내서 부하를 일으키게 함 |
*DDoS(Distributed DoS) - 여러 대의 공격자를 분산 배치하여 동시에 동작하게 함으로써 특정 사이트를 공격하는 기법 - Dos는 한 사람에 의해 공격(직접 공격), DDoS는 수많은 감염 호스트를 통해 공격(공격하도록 지시) - 구성 요소: HAMAD (핸들러(Handler), 에이전트(Agent), 마스터(Master), 공격자(Attacker), 데몬 프로그램(Demon)) |
*DRDos(Distributed Reflection DoS) - 출발지 IP를 공격대상 IP로 위조하여 다수의 반사 서버로 요청 정보를 전송. 반사 서버로부터 다량의 응답을 받아 서비스 거부(DoS)가 됨. |
*세션 하이재킹(Session Hijacking) - TCP의 세션 관리 취약점을 이용한 공격기법 |
*애플리케이션 공격 - 공격기법: HTTP GET 플러딩, Slowloris, RUDY Attack, Slow Read Attack, Hulk DoS |
*네트워크 공격 - 공격기법: 스니핑, 네트워크 스캐너/스니퍼, 패스워드 크래킹, IP 스푸핑, ARP 스푸핑, ICMP Redirect 공격, 트로이 목마 1) 스니핑(Sniffing): 직접 공격하지 않고 데이터만 몰래 들여다보는 수동적 공격 기법 2) 네트워크 스캐너(Scanner), 스니퍼(Sniffer): 네트워크 하드웨어 및 소프트웨어 구성의 취약점 파악을 위해 탐색하는 공격 도구 3) 패스워드 크래킹(Password Cracking): 사전 크래킹, 무차별 크래킹, 패스워드 하이브리드 공격, 레인보우 테이블 공격 4) IP 스푸핑(IP Spoofing): 패킷 헤더를 인증된 호스트의 IP 어드레스로 위조하여 타킷에 전송하는 공격기법 5) ARP 스푸핑(ARP Spoofing):특정 호스트의 MAC 정보를 공격자의 MAC 정보로 변경. 특정 호스트로 나가는 패킷을 스니핑. 6) ICMP Redirect 공격: 스니핑 시스템을 라우터라고 알림. ICMP Redirect 메시지를 공격자가 원하는 형태로 만들어 스니핑. 7) 트로이 목마: 겉보기에는 정상적인 프로그램으로 보이지만 실행하면 악성 코드를 실행하는 프로그램 |
*시스템 보안 위협 - 버퍼 오버플로(Buffer Overflow) 공격: 할당된 버퍼 크기를 초과하는 양의 데이터를 입력하여 프로세스의 흐름을 변경시켜 악성 코드 실행. ▷ 공격 유형: 스택 버퍼 오버플로 공격, 힙 버퍼 오버플로 공격 ▷ 대응 방안: 스택가드(Stackguard), 스택쉴드(Stack Shield), ASLR(Address Space Layout Randomization), 안전한 함수 - 백도어(Backdoor): 정상적인 인증 절차를 우회하는 기법 ▷ 탐지기법: 프로세스 및 열린 포트 확인, Setuid 파일 검사, 백신 및 백도어 탐지 툴 활용, 무결성 검사, 로그 분석 |
- 서버 인증 및 접근 통계
▷ 서버 인증: 다중 사용자 시스템과 망 운영 시스템에서 접속자의 로그인 정보를 확인하는 보안 절차
▷ 인증 기술 유형: 지소생특 (지식기반 인증, 소지기반 인증, 생체기반 인증, 특징(행위)기반 인증)
▷ 서버 접근 통제: 비인가자로부터 객체의 기밀성, 무결성, 가용성 보장
*서버 접근 통제 - 용어: 주체(Subject), 객체(Object), 접근(Access) - 유형: 임의적 접근 통제(DAC), 강제적 접근 통제(MAC), 역할 기반 접근 통제(RBAC) - 접근 통제 보호 모델: 벨기비무 (벨-라파듈라 모델(BLP)-기밀성, 비바 모델(Biba Model)-무결성) - 3A: 인증(Authentication), 권한 부여(Authorization), 계정 관리(Accounting) + 식별(Identification) - 인증 관련 기술: SSO(Single Sign On), 커버로스(Kerberos), OAuth(간편로그인) |
- SW 개발 보안을 위한 암호화 알고리즘
암호 알고리즘 | 양방향 (암호화, 복호화) |
대칭 키 (암호화 키 = 복호화 키) |
스트림 암호 LFSR, SEAL |
|
블록 암호 - 블록 단위 |
Feistel (암호화 과정 = 복호화 과정) DES, 3DES |
|||
SPN (암호화 과정 ≠ 복호화 과정) AES |
||||
비대칭 키 (암호화 키 ≠ 복호화 키) DH, RSA, ECC, ElGamal |
||||
일방향 (암호화) - 해시함수 |
MDC (변경감지코드, 무결성) |
|||
MAC (메시지인증코드, 무결성+인증) |
▷ 양방향 방식: 대칭 키 암호 방식, 비대칭 키 암호 방식
*대칭 키 암호 방식: 스트림 암호 방식, 블록 암호 방식 ▷ 스트림 암호 방식: RC4, LFSR 1) LFSR(Linear Feedback Shift Register): 선형 되먹임 시프트 레지스터. 시프트 레지스터의 일종 ▷ 블록 암호 방식: DES, AES, SEED, ARIA, IDEA, Skipjack 1) DES(Data Encryption Standard): IBM에서 개발. DES를 3번 적용한 3DES도 활용 2) AES(Advanced Encryption Standard): DES의 개인 키에 대한 전사적 공격 가능. 3DES의 성능문제 극복 3) SEED: 국내 한국인터넷진흥원. 16회 라운드 4) ARIA(Academy, Research Institute, Agency): 학계, 연구기관, 정부 5) IDEA(International Data Encryption Algorithm): 스위스 연방기술 기관 6) Skipjack: Clipper 칩에 내장. 소프트웨어로 구현되는 것을 막고자 Fortezza Card에 칩 형태로 구현됨. 음성 암호화 |
*비대칭 키 암호 방식(공개 키 암호 방식): DH(디피-헬만), RSA, ECC, ElGamal 1) 디피-헬만(Diffie-Hellman): 최초의 공개키 알고리즘. 최초의 비밀키 교환 프로토콜. 이산대수의 계산이 어려운 문제 2) RSA: 3명의 MIT 수학 교수(Rivest, Shamir, Adleman)가 고안. 소인수 분해 3) ElGamal: 이산대수의 계산이 어려운 문제. RSA와 유사하게 전자서명과 데이터 암/복호화에 함께 사용 가능 |
▷ 일방향 방식
*해시 암호 방식: MAC, MDC 1) MAC(Message Authentication Code): 키를 사용하는 메시지 인증 코드. 메시지의 무결성과 송신자의 인증 보장 2) MDC(Modification Detection Code): 키를 사용하지 않는 변경 감지 코드. 메시지의 무결성 보장 *해시 암호화 알고리즘 종류: MD5, SHA-1, SHA-256/384/512, HAS-160, HAVAL 1) MD5(Message-Digest algorithm 5): MD4를 개선. 무결성 검사에 사용 2) SHA-1(Secure Hash Algorithm): NSA 미 정부 표준으로 지정. DSA(Digital Signature Algorithm)에서 사용 3) SHA-256/384/512: SHA 알고리즘의 한 종류. AES의 길 길이에 대응하도록 출력 길이를 늘린 해시 알고리즘 4) HAS-160: 국내 표준 서명 알고리즘(KCDSA)를 위해 개발. MD5와 SHA1의 장점을 취하여 개발 5) HAVAL: 메시지 다이제스트 출력 |
- 데이터베이스 암호화 기법: 애플티하 (API 방식, Plug-In 방식, TDE 방식, Hybrid 방식)
1) API 방식: 애플리케이션 레벨에서 암호 모듈(API)을 적용하는 애플리케이션 수정 방식. 애플리케이션 서버
2) Plug-In 방식: 암/복호화 모듈이 DB 서버에 설치된 방식. DB 서버
3) TDE 방식: 내장되어 있는 암호화 기능(TDE: Transparent Data Encryption)을 이용. DB 서버의 DBMS 커널
4) Hybrid 방식: API 방식과 Plug-In 방식 결합. DB 서버와 애플리케이션 서버로 부하 분산
- 안전한 전송을 위한 데이터 암호화 전송(보안 프로토콜)
1) PPTP(Point to Point Tunnel Protocol): 하나의 터널에 하나의 연결만을 지원. 일대일 통신. 데이터 링크 계층(2계층)
2) L2F(Layer 2 Forwarding): 하나의 터널에 여러 개의 연결을 지원. 다자간 통신. UDP 사용. 전송 계층. 데이터 링크 계층(2계층)
3) L2TP(Layer 2 Tunneling Protocol): L2F와 PPTP의 결합. UDP 포트 사용. 터널링에 대한 인증 수행. IPSec 기술과 함께 사용
4) IPSec(Internet Protocol Security): 무결성과 인증을 보장하는 인증 헤더(AH)와 기밀성을 보장하는 암호화(ESP)를 이용
*IPSec ▷ 기능: 기밀성, 비 연결형 무결성, 인증, 재전송 공격 방지, 접근 제어 ▷ 동작 모드: 전송 모드(Transport Mode), 터널 모드(Tunnel Mode) ▷ IPSec 프로토콜: 인증 프로토콜, 암호화 프로토콜, 키 관리 프로토콜 1) 인증(AH; Authentication Header) 프로토콜: 메시지 인증 코드(MAC) 이용. 무결성, 인증 제공 2) 암호화(ESP; Encapsulation Security Payload) 프로토콜: 메시지 인증 코드(MAC)와 암호화 이용. 기밀성, 무결성, 인증 제공 3) 키 관리(IKE; Internet Key Exchange) 프로토콜: IKE 교환을 위한 메시지를 전달 |
5) SSL(Secure Socket Layer)/TLS(Transport Layer Security)
*SSL/TLS ▷ 특징: Netscape사가 개발, 다양한 암호 통신 방법 활용, 특정 암호기술에 의존하지 않음 ▷ 보안 기능: 기밀성, 상호 인증, 메시지 무결성 |
6) S-HTTP(Secure Hypertext Transfer Protocol): 웹상에서 네트워크 트래픽을 암호화. 모든 메시지를 각각 암호화하여 전송
- SW 개발 보안 적용 사례: BSIMM, Open SAMM, Seven TouchPoint, MS-SDL, OWASP CLASP
02. 소프트웨어 개발 보안 구현
02-1. 소프트웨어 개발 보안 구현
- 시큐어 코딩 가이드: 잠재적인 보안 취약점을 사전에 제거. 안전한 소프트웨어를 개발. 보안 약점 방지
▷ 시큐어 코딩 가이드 적용대상(보안 약점): 입보시 에코캡아 (입력데이터 검증 및 표현, 보안 기능, 시간 및 상태, 에러 처리, 코드 오류, 캡슐화, API 오용)
1) 입력 데이터 검증 및 표현 취약점: XSS, 사이트 간 요청 위조, SQL 삽입
*XSS(Cross Site Scripting) ▷ 사용자가 검증되지 않은 외부 입력 데이터가 포함된 웹페이지를 열람함으로서 부적절한 스크립트가 실행되는 공격 ▷ 공격 유형: Stored XSS, Reflected XSS, DOM(Document Object Model) XSS ▷ 공격 방식: 악성코드가 클라이언트 PC에서 실행돼서 클라이언트 PC의 정보(쿠키 정보 등)가 공격자에게 탈취 (사용자만 피해) |
*사이트 간 요청 위조(CSRF; Cross Site Request Forgery) ▷ 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 되는 공격 ▷ 공격 방식: 공격자의 악의적인 요청이 클라이언트로 하여금 희생자 서버에서 실행되게 되는 공격 (웹서버, 사용자 모두 피해) ▷ 예시: 피해자는 희생자 은행 사이트에 접속해서 공격자의 계좌로 돈을 이체시키는 행위를 나도 모르게 하게 됨 |
*SQL 삽입(Injection) ▷ 악의적인 SQL 구문을 삽입, 실행시켜 데이터베이스(DB)의 접근을 통해 정보를 탈취하거나 조작 등의 행위를 하는 공격기법 |
2) 보안 기능 취약점: 적절한 인증 없이 중요 기능 허용, 부적절한 인가, 취약한 암호화 알고리즘 사용, 중요 정보 평문 저장 및 전송, 하드 코드된 비밀번호, 취약한 패스워드 요구 조건
3) 에러 처리 취약점: 오류 메시지 통한 정보 노출, 오류 상황 대응 부재, 적절하지 않은 예외 처리
4) 세션 통제 취약점: 불충분한 세션 관리
5) 코드 오류 취약점: 널 포인터 역참조, 정수를 문자로 변환, 부적절한 자원 해제, 초기화되지 않은 변수 사용
6) 캡슐화 취약점: 잘못된 세션에 의한 데이터 정보 노출, 제거되지 않고 남은 디버그 코드, 민감한 데이터를 가진 내부 클래스 사용, 시스템 데이터 정보 노출
7) API 오용 취약점: DNS Lookup에 의존한 보안 결정, 위험하다고 알려진 함수 사용, 널(Null) 매개변수 미검사
02-2. 시스템 보안 구현
- 보안 솔루션
1) 네트워크 보안 솔루션: 접근 통제, 침입차단 및 탐지, DDoS 탐지 등을 수행하는 일체형 장비들이 포함
*네트워크 보안 솔루션 ▷ 방화벽(Firewall): 기업 내부, 외부 간 트래픽을 모니터링하여 시스템의 접근을 허용하거나 차단하는 시스템 ▷ 웹방화벽(WAF; Web Application Firewall): 웹 애플리케이션 보안에 특화된 보안 장비. SQL 인젝션, XSS 등의 웹 공격을 탐지하고 차단 ▷ 네트워크 접근 제어(NAC; Network Access Control): 바이러스나 웜 등의 보안 위협으로부터 네트워크 제어 및 통제 기능 수행 ▷ 침입 탐지 시스템(IDS; Intrusion Detectioni System) ▷ 침입 방지 시스템(IPS; Intrusion Prevention System) ▷ 무선 침입 방지 시스템(WIPS; Wireless Intrusion Prevention System) ▷ 통합 보안 시스템(UTM; Unified Threat Management) ▷ 가상사설망(VPN; Virtual Private Network) ▷ SIEM(Security Information and Event Management) ▷ ESM(Enterprise Security Management) |
2) 시스템 보안 솔루션: 스팸 차단 솔루션(Anti-Spam Solution), 보안 운영체제(Secure OS)
3) 콘텐츠 유출 방지 보안 솔루션: 보안 USB, 데이터 유출 방지(DLP; Data Loss Prevention), 디지털 저작권 관리(DRM; Digital Right Management)
- 취약점 분석
▷ 자산이 가지고 있는 보안상의 결점 또는 취약한 속성을 파악하여 위험을 낮추는 활동
▷ 대상: 환경 및 시설, 하드웨어, 소프트웨어
▷ 절차: 자산 조사 및 분석 → 진단 대상 선정 → 제약사항 확인 → 진단 수행 → 결과 분석/보고서 작성
02-3. SW 개발 보안 테스트와 결함 관리
- 소프트웨어 개발 보안 테스트
▷ 유형: 정적 분석, 동적 분석
02-4. 비즈니스 연속성 계획(BCP)
- 비즈니스 연속성 계획(BCP; Business Continuity Plan): 재해복구, 업무복구 및 재개, 비상계획 등을 통해 비즈니스 연속성을 보장
▷ 비즈니스 연속성 계획(BCP)을 위한 비즈니스 영향 평가(BIA)가 선행되어야 한다.
▷ 주요 용어: BIA, RTO, RPO, DRP, DRS
1) BIA(Business Impact Analysis): 시간 흐름에 따른 영향도 및 손실평가를 조사하는 BCP를 구축하기 위한 비즈니스 영향 분석
2) RTO(Recovery Time Objective): 재해 시 복구 목표 시간의 선정
3) RPO(Recovery Point Objective): 재해 시 복구 목표 지점의 선정
4) DRP(Disaster Recovery Plan): 재난 복구 계획
5) DRS(Disaster Recovery System): 재해 복구 센터
*DRS 유형: Mirror Site, Hot Site, Warm Site, Cold Site ▷ Mirror Site: 실시간 동시 서비스. 복구까지 소요 시간(RTO)은 즉시(이론적으로 0) ▷ Hot Site: 동일한 수준의 자원을 대기 상태로 원격지에 보유. 미러링을 통해 최신 상태 유지. RTO 4시간 이내 ▷ Warm Site: 중요성이 높은 자원만 부분적으로 재해복구센터에 보유. 데이터 백업 주기가 수 시간~1일. RTO 수일~수주 ▷ Cold Site: 데이터만 원격지에 보관. 필요 자원을 조달하여 복구. RTO 수주~수개월 |
02-5. 보안 용어
- 보안 공격 관련 용어
▷ 부 채널 공격(Side Channel Attack): 물리적 특성 측정. 내부 비밀 정보를 부 채널에서 획득 ▷ 드라이브 바이 다운로드(Drive By Download): 악성 스크립트 설치. 불특정 사용자 접속 시 사용자 동의 없이 실행 ▷ 워터링홀(Watering Hole): 특정인에 대한 표적 공격. 특정인이 잘 방문하는 웹 사이트에 악성코드를 심거나 유인 ▷ 비즈니스 스캠(SCAM): 기업 이메일 계정을 도용하여 무역 거래 대금을 가로챔 ▷ 하트 블리드(HeartBleed): 하트비트라는 확장 모듈에서 데이터 길이에 대한 검증을 수행하지 않는 취약점 이용 ▷ 크라임웨어(Crimeware): 중요한 금융정보 또는 인증정보를 탈취. 금전적인 이익 등의 범죄행위 목적 ▷ 토르 네트워크(Tor Network): 암호화 기법 사용하여 데이터를 전송. 익명으로 인터넷을 사용할 수 있는 가상 네트워크 ▷ HITM 공격(Man in the Middle): 네트워크 통신을 조작하여 통신 내용을 도청 및 조작. 중간에 침입하여 정보 탈취하는 중간자 공격 ▷ DNS 스푸핑 공격(Spoofing, =DNS 캐시 포이즈닝): DNS 응답(IP 주소) 또는 DNS 서버의 캐시 정보 조작. 의도하지 않은 주소로 접속. ▷ 포트 스캐닝(Port Scanning): 침입 전 포트 활성화 여부 확인. 침입 전 취약점 분석 ▷ 디렉토리 리스팅(Directory Listing) 취약점: 인덱스 기능이 확성화되어 있는 경우 강제 브라우징을 통해 모든 디렉토리 및 파일 목록을 봄 ▷ 리버스 쉘 공격(Reverse Shell): 타깃 서버가 클라이언트(공격자)로 접속해서 클라이언트가 타깃 서버의 쉘을 획득 ▷ 익스플로잇(Exploit): 공격자가 의도한 동작이나 명령을 실행하도록 하는 코드(행위) ▷ 스턱스넷 공격(Stuxnet): 주요 산업 기반 시설의 제어 시스템에 침투 ▷ 크리덴셜 스터핑(Credential Stuffing): 사용자 계정을 탈취해서 공격. 유출된 로그인 정보를 다른 웹 사이트에 무작위 대입 ▷ 스피어피싱(Spear Phising): 특정 대상 선정 후 위장 메일을 지속적으로 보내어 링크나 첨부 파일을 클릭하도록 유도. 사회 공학의 한 기법 ▷ 스미징(Smishing): SMS + Phising. 신뢰할 수 있는 사람 또는 기업이 보낸 것처럼 가장 ▷ 큐싱(Qshing): QR 코드 + Phising. QR 코드를 통해 악성 앱을 내려받도록 유도 ▷ 봇넷(Botnet): 악성 프로그램에 감염된 다수의 컴퓨터들이 네트워크로 연결된 형태 ▷ APT 공격(Advanced Persistent Threat): 하나의 표적에 대해 다양한 IT 기술을 이용하여 지속적으로 정보를 수집하고 취약점을 분석 ▷ 공급망 공격(Supply Chain Attack): 소프트웨어 개발사의 네트워크에 침투. 악의적인 파일로 변경. 설치 또는 업데이트 시에 감염 ▷ 제로데이 공격(Zero Day Attack): 공격의 신속성. 대응책이 공표되기 전에 공격이 이루어지기 때문에 대처 방법이 없음 ▷ 바이러스(Virus): 다른 프로그램에 기생하여 실행. 프로그램이나 실행 가능한 부분을 변형해서 감염 ▷ 웜(Worm): 독자적으로 실행. 네트워크 등의 연결을 통해 전파 ▷ 악성 봇(Maticious Bot): 원격에서 제어 또는 실행. 취약점이나 백도어 등을 이용. 악성 봇에 감영된 PC를 좀비PC라고 함 ▷ 랜섬웨어(Ransomware): 파일들을 암호화하여 복호화할 수 없도록 하고, 인질처럼 잡고 현금이나 비트코인 요구 ▷ 이블 트윈(Evil Twin) 공격: 무선 Wifi 피싱 기법. 핫스팟에 연결한 무선 사용자들의 정보 탈취 ▷ 타이포스쿼팅(Typosquatting, =URL 하이재킹): 사용자들의 주소 오타 이용. 유사한 유명 도메인을 미리 등록 ▷ 사회공학(Social Engineering): 심리와 행동 양식을 교묘하게 이용해서 원하는 정보를 얻음 |
- 주요 시스템 보안 공격기법: 포맷 스트링 공격, 레이스 컨디션 공격, 키로거 공격, 루트킷
1) 포맷 스트링 공격(Format String Attack): 포맷 스트링을 인자로 하는 함수의 취약점 이용. 입력된 값을 검증하지 않고 입출력 함수의 포맷 스트링을 그대로 사용하는 경우 발생
2) 레이스 컨디션 공격(Race Condition Attack): 공유자원에 동시에 접근할 때 접근 순서에 따라 비정상적인(원하지 않는) 결과 발생
3) 키로거 공격(Key Logger Attack, =키로깅 =키스트로크 로깅): 키보드 움직임을 탐지해서 저장
4) 루트킷(Rootkit): 침입 사실을 숨긴 채 차후의 침입 준비. 불법적인 해킹에 사용되는 기능을 제공하는 프로그램의 모음
- 보안 공격 대응 관련 용어
▷ 보안 체계 및 모델: CC, ISMS, PIMS, PIA, 사이버 킬체인
1) CC(Common Criteria): 국제 평가 기준
2) ISMS(Information Security Management System): 정보보호 관리 절차와 과정을 체계적으로 수립, 관리, 운영하기 위한 체계
3) PIMS(Persona Information Management System): 개인정보보호 활동에 필요한 보호조치 체계를 구축했는지 점검 및 평가
4) PIA(Privacy Impact Assessment): 중대한 변경 시 프라이버시에 미치는 영향에 대해 사전 조사, 예측, 검토하여 개선 방안 도출
5) 사이버 킬체인(Cyber Kill Chain): 공격형 방위시스템. 7단계 프로세스별 공격분석 및 대응을 체계화. APT 공격 방어 분석 모델
▷ 취약점 식별: OWASP Top 10, CVE, CWE
1) OWASP Top 10: 웹 애플리케이션 10가지 취약점에 대한 대응 방안 제공. 웹 보안 기술 가이드
2) CVE(Common Vulnerabilities and Exposures): 알려진 소프트웨어 보안 취약점을 표준화한 식별자 목록. CVE-연도-순서
3) CWE(Common Weakness Enumeration): 소프트웨어에서 공통적으로 발생하는 약점을 체계적으로 분류한 목록. 소스 코드 취약점을 정의한 데이터베이스
▷ 기술 및 시스템: 핑거프린팅, 워커마킹, 트러스트존, PAM, 허니팟, FDS, C-TAS, TKIP
1) 핑거프린팅(Finger Printing): 저작권 정보와 구매한 사용자 정보 삽입. 불법 배포자에 대한 위치 추적. 저작권 정보구매자 정보
2) 워터마킹(Water Marking): 저작권자 정보 삽입. 원소유자를 증명할 수 있는 콘텐츠 보호 기술
3) 트러스트존(Trustzone): 프로세서 안에 독립적인 보안 구역을 따로 두어 중요한 정보 보호. 하드웨어 기반 보안 기술
4) 장착형 인증 모듈(PAM; Pluggable Authentication Module): (리눅스) 애플리케이션 인증을 위해 제공되는 인증용 라이브러리
5) 허니팟(Honeypot): 의도적으로 설치, 일부러 허술하게 만들어서 해커에게 노출하는 유인 시스템
6) 이상금융거래 탐지시스템(FDS; Fraud Detection System): 의심 거래를 탐지하고 차단하는 시스템
7) 사이버 위협정보 분석 공유시스템(C-TAS; Cyber Threats Analysis System): 사이버 위협 정보를 체계적 수립해서 관계 기관과 자동화된 정보공유를 할 수 있는 침해 예방 대응 시스템
8) TKIP(Temporal Key Integrity Protocol): 임시 키 무결성 프로토콜. WEP 암호화 표준 대체
FIN.
[정보처리기사] 정처기 필기/실기 합격 후기 (0) | 2025.01.07 |
---|---|
[정보처리기사-실기] VIII. 서버 프로그램 구현 (3) | 2024.10.04 |
[정보처리기사-실기] VII. SQL 응용 (2) | 2024.10.01 |
[정보처리기사-실기] 목차 정리 (0) | 2024.09.09 |
[정보처리기사] 5과목: 정보 시스템 구축 관리 (0) | 2024.07.09 |
댓글 영역