브래의 슬기로운 코딩 생활
정보보안 기말고사 정리 본문
암호(Cryptography)
중요 정보를 다른 사람들이 해석할 수 없게 하는 방법
평문(Plain Text)
암호화되기 전의 메시지
암호문(Cipher Text)
암호화되고 난 후 변경된 메시지
암호화 또는 암호화 과정
평문을 암호문으로 바꾸는 과정
암호화 알고리즘
평문을 어떤 방식으로 암호문으로 변경할지 결정
암호화 키(Encryption Key)
허락받지 않은 외부인이 암호문을 강제적으로 해독(Crypt-analysis)하는 것을 막음
암호화 방식 비교
시저 암호
단일 치환(Mono-Alphabetic Substitution) 알고리즘: 알파벳 한 글자를 다른 한 글자로 대체
DES - 대칭키(Symmetric key) 암호화 방식
- 암호화 키와 복호화 키가 같은 암호화 방식
- 암호화 및 복호화에 걸리는 시간이 짧으며, 비교적 간단한 방식으로 구현 가능
- 현대에 가장 많이 사용되는 암호 방식 중 하나
AES(Advanced Encryption Standard)
1997년 미국 NIST의 암호 공모에서 새로운 대칭 암호의 표준으로 채택된 대칭키 암호 방식
암호 공모 조건
- 안전성(Security)
- 비용(Cost)
- 구현 효율성(Implementation)
비대칭 암호화 방식의 필요성
대칭 암호화 방식의 '키 배포' 문제에 대한 보완책 필요
RSA
- 비대칭 암호화 방식 중에서 실질적인 산업 표준
- 암호화·복호화뿐 아니라 전자서명 등의 다양한 기능을 제공 가능
- DH 키 교환에서 사용된 비대칭 알고리즘에 기반을 둔 암호화 방식
- 공개키(Public Key): 외부에 공개할 수 있는 키
- 개인키(Private Key): 외부에 공개하면 안 되고, 자신만 알고 있어야 하는 키
비대칭 암호화 방식 1
- 공개키로 암호화, 개인키로 복호화
- 암호화된 메시지는 상대방의 개인키로만 복호화 가능 → 기밀성 보장
- 다른 사람이 중간에서 도청할 수 없음
비대칭 암호화 방식 2
- 개인키로 암호화, 공개키로 복호화
- 나의 공개키로만 복호화 가능 → 부인 방지 (Non-repudiation) 보장
- 내가 자신이 보낸 사실을 ‘부인’ → 의 공개키로만 복호화가 가능하다는 사실을 통해 ‘부인’에 대한 증거를 제시
- 전자상거래에서 기업 간 주문이나 계약에서도 중요한 법적 증거 역할
암호화 방식 비교: 대칭 암호화 방식 vs 비대칭 암호화 방식
해시(Hash)
- 메시지를 입력으로 하여 길이가 정해진 짧은 값으로 변환 혹은 압축한 것
- 정보의 무결성(Integrity)을 확인하기 위한 목적으로 사용
- 입력 메시지의 길이에 상관없이 고정된 길이의 출력 값을 계산 → 압축(Compression) 기능 제공
사용 목적
- 무결성 확인: 파일 또는 메시지의 변조가 발생했는지 확인 가능
전자서명(Digital signature)
원본 메시지에 대한 해시 값을 서명자의 개인키로 암호화하는 것
제공 기능: 메시지에 대한 인증, 부인방지 및 메시지 무결성 검증
→ 오직 수신자의 개인키로만 복호화할 수 있기 때문에 가능
접근 제어(Access Control)
- 적절한 권한을 가진 인가자 만이 특정 시스템이나 정보에 접근할 수 있도록 통제하는 것
구성 요소
- 접근을 시도하려는 주체(Subject)
- 접근의 대상이 되는 객체(Object, 조직 내 데이터)
- 주체가 객체에 대해서 접근 (Access)하려는 행위
접근 제어의 과정
인증
인증하려는 주체(Subject)가 자신이 누구인지 밝히는 식별(Identification) 과정 이후에,
정말로 그 사용자가 맞는지 증명하는 활동
인증의 유형
지식 기반 인증
장점
- 인증이 편리
- 검증 자체가 확실
- 관리 비용 또한 상대적으로 저렴
단점
- 사용자가 패스워드를 잊어버릴 가능성 있음
- 공격자에 의해 쉽게 추측될 가능성 있음
- 사용자의 관리 부주의에 따라 유출될 가능성이 있음
소유 기반 인증
장점
- 비교적 저렴한 비용
- 상대적으로 신뢰성 있는 다양한 방법을 제공
단점
- 복제가 가능
- 소유물의 고장, 분실, 파손 등의 경우에는 인증이 불가능
- 부정한 사용자가 부정한 방법으로 소유물을 사용할 수 있음
- 카드 리더기 등의 추가적인 자산 구입이 필요
존재 기반 인증: 생체 인증
정보보안의 3요소
- 기밀성 : 승인되지 않은 사람이 정보를 열람할 수 없도록 한다.
- 무결성 : 승인되지 않은 사람이 정보를 수정할 수 없게 한다.
- 가용성 : 승인된 사람이 정보가 필요할 때 사용할 수 있게 한다.
(승인되지 않은 사람이 정보를 삭제할 수 없게 한다.)
악성코드(Malicious code)
악성 행위를 위해 개발된 컴퓨터 프로그램 또는 소프트웨어
동의어: 악성 소프트웨어 or 멀웨어(Malware)
네트워크의 발전: 이메일이나 웹을 통한 감염이 증가
1990년대까지: 바이러스가 주류
랜섬웨어(Ransomware): 피해자 PC의 중요 파일들을 불법으로 암호화 풀어주는 대가로 돈을 요구
주요 악성코드의 분류
바이러스(Virus)
자기 자신을 다른 프로그램의 내부에 복제하는 프로그램
웜(Worm)
독자적으로 실행되는 프로그램
트로이 목마(Trojan horse)
- 개인 정보를 유출하기 위한 목적으로 다른 프로그램의 내부에 기생하며 동작하는 악성코드
- 겉으로 보기에는 정상적인 프로그램으로 보이지만 프로그램을 실행하면 숨어 있던 악성코드도 실행
- 바이러스와 달리 자기 복제 능력이 없음
- 자기 스스로 다른 PC로 전파하지 않음 → 이메일의 링크를 클릭하거나 인터넷 검색을 통해
내려받는 불법 소프트웨어가 실행 또는 설치될 때 전파
백도어(Back-Door)
원격에서 공격자의 조종을 받도록 하는 프로그램
스파이웨어(Spyware)
컴퓨터의 운영체제 정보, 설치된 프로그램 정보 등 컴퓨터의 정보를 수집하고 이를 외부에 전송하는 트로이 목마의 한 종류
- 공격자가 원격에서 조종하는 기능 없이 단지 정보를 수집하여 전송
- 신용카드 번호, 비밀 번호 및 주민등록번호와 같이 중요한 개인 정보 유출
애드웨어(Adware)
다른 프로그램이 실행될 때 자동으로 광고 표시
- 보안상 상당히 위험한 악성코드일 수 있기 때문에 제거를 권고함
봇(Bot)
트로이 목마와 웜의 조합
- 분산 서비스 거부(DDoS: Distributed Denial of Service)에 사용:
다수의 PC를 탈취하고 일시에 네트워크 공격을 수행
봇넷(Botnet): 봇끼리의 네트워크, 크기 다양: 수천~수십만 개의 시스템으로 구성
봇마스터(Bot-Master): “명령 및 제어” 기능을 수행
하이재커(Hijacker)
사용자를 의도하지 않는 다른 사이트로 이동시키고 팝업창을 띄우는 악성코드
논리 폭탄(Logic bomb)
특정 조건이 만족할 때 파괴 행위를 하도록 작성된 악성코드
- 공격자가 의도한 조건이 만족되어야만 실행
- 일반적인 방법으로는 발견이 어려움
바이러스의 분류: 공격 대상 기준
백신 프로그램
- 바이러스를 치료하기 위해 개발된 프로그램으로 바이러스 프로그램에서만 보이는 특정 코드
패턴을 검사하여 바이러스 여부를 판단
- 백신 프로그램의 업데이트, 엔진 업데이트, 백신 정의 파일 업데이트 또는 백신 DB 업데이트
- 새로 발견한 바이러스의 코드 패턴의 갱신
다형성 바이러스(Polymorphic Virus 또는 Self-garbling Virus)
자신의 코드 자체를 주기적으로 변경하여 탐지를 어렵게 함
웜(Worm)
자기 스스로를 다른 시스템으로 전파시키는 악성 코드
- 막대한 시스템 과부하를 발생
- 확산 속도가 매우 빠름 → 짧은 시간 내에 대규모 피해 발생 가능
모리스 웜(Morris Worm)
- 인터넷을 통해 전파된 최초의 웜, 웜의 가장 기본적인 원형 보유
- 한 컴퓨터에 침투하면, 그 컴퓨터와 인터넷으로 연결된 다른 컴퓨터로 전파
- 당시 인터넷에 접속된 6만 대의 컴퓨터 중 약 10%에 달하는 컴퓨터를 감염
예방 방법
◦ 내부 보안 교육을 통한 예방
◦ 신뢰할 수 없는 발신자가 보낸 메일의 첨부파일은 열지 않음
(첨부된 파일을 열어보지 않으면 실행되지 않음)
◦ 스팸 메일은 바로 삭제
님다(Nimda) 웜
- 2001년에 발생, 발생 22분 만에 인터넷을 장악
전파 방법
① 파일 바이러스처럼 현재 수행되는 컴퓨터의 파일 자체에 자신을 복제
② 이메일의 첨부 파일(‘README.EXE’)로 전파.
③ 당시 MS사의 웹 서버인 IIS(Internet Information Server)의 취약점을 악용
④ 네트워크 공유 폴더를 찾아서 님다 웜이 포함된 파일을 복사. 네트워크 한 영역에서 제거했더라도 다른 네트워크에서 다시 님다가 전파될 수 있음
슬래머(SQL Slammer) 웜
- MS사의 SQL Server를 대상으로 전파, 서비스 거부 공격(DoS)을 실시하는 웜
- 네트워크 인프라를 구성하는 서버를 공격 → 네트워크에 더 위협적인 웜
전파 과정
- SQL Server의 버퍼 오버플로 약점을 이용하여 침입
- 자신을 무제한 복제하여 무작위로 선택된 IP 주소에 슬래머 웜 코드가 포함된 패킷을 전송
- 반응이 있는 IP 주소의 SQL Server를 대상으로 다시 슬래머 웜 전파
- UDP를 사용하여 짧은 시간에 훨씬 많은 수의 패킷을 생성
- 2003년 1월 25일 국내 인터넷 대란의 원인
- 인터넷 서비스 자체의 중단 발생
- DNS 서버의 시스템 다운 발생
- 네트워크 인프라 자체가 마비
트로이 목마(Trojan)
- 정상적인 프로그램처럼 위장하여 동작하면서, 기밀 정보를 공격자의 컴퓨터로 빼돌리는 악성코드
- 좀비 PC처럼 피해자 PC의 원격 제어까지 가능하게하는 트로이 목마가 발견
- 자기복제를 하지 않아 트로이 목마를 제거하면 더 이상의 피해가 발생하지 않지만,
최근 해당 프로그램을 먹통으로 만들거나 컴퓨터를 못쓰게 하기도 함
악성코드 분석 방법
- 코드 정적 분석(Static Code Analysis): 악성 코드를 실행하지 않고 분석
- 코드 동적 분석(Dynamic Code Analysis): 악성 코드를 직접 실행하여 분석
정적분석 - 디스어셈블(Disassemble) or 리버싱(Reversing)
실행 프로그램 파일에서 소스를 역추출
동적 분석(Dynamic Code Analysis)
악성코드가 실제로 실행될 수도 있기 때문에 통제된 환경을 만드는 것이 필요
루트킷(Rootkit)
공격자가 심어놓은 프로그램을 숨기기 위한 목적으로 사용되는 프로그램
악성코드 제거
기본 방법
- 악성코드 프로세스의 종료, 악성코드가 생성한 레지스트리 값과 악성코드 파일 등을 삭제
- 자기 보호 로직이 강력한 악성코드 존재
- 악성코드를 제거하기 이전에 먼저 자료 백업이 필요
안전 모드 부팅 후 삭제
- 안전 모드로 부팅하면 대부분의 루트킷이 동작하지 않음
- 간혹 안전 모드인 경우에도 여전히 동작하는 경우가 있음
악성코드와 사회공학 기법과 결합: 심각한 금전적인 피해 발생
피싱, 파밍, 스미싱 등
피싱(Phishing)
- 개인 정보(Private Data)와 낚시(Fishing)의 합성어
- 이메일 또는 메신저를 통해서 비밀번호 및 신용카드 번호와 같이 중요 정보를 탈취하려는 보안 공격 기법
- 신뢰할 수 있는 사람 또는 기업이 보낸 메시지인 것처럼 가장함
파밍(Pharming)
- 새로운 피싱 기법의 하나로 사용자가 자신의 웹 브라우저에서 정확한 웹사이트 주소를 입력해도
가짜 웹 페이지에 접속하게 하여 개인 정보를 훔치는 기법
- 악성코드 감염을 통해 DNS 스푸핑을 이용하거나 합법적으로 소유하고 있던
사용자의 도메인을 탈취하는 등의 방법을 통해 가능
스미싱(Smishing)
- 문자메시지(SMS)와 피싱(Phishing)의 합성어
- 문자메시지(SMS)를 통해서 개인정보를 요구하거나 휴대전화 소액 결제를 유도하는 보안 공격 기법
랜섬웨어(Ransomware)
공격 대상자의 PC에 설치되어 중요 데이터를 암호화한 후 피해자를 협박해서 금품을 갈취하는 악성코드
대비책
- 컴퓨터에 백신을 설치
- 운영체제(OS)의 최신 보안 패치를 주기적 설치
- 중요 파일에 대해 주기적 백업
소프트웨어 개발 보안
- 안전한 소프트웨어 개발을 위해 소스코드에서 보안 취약점을 제거
- 동의어: 안전한 코딩 또는 시큐어 코딩 (Secure Coding)
메모리 버퍼 오버플로(Memory Buffer Overflow) 공격
- 프로그램이 실행되는 도중에 메모리 오류가 발생하여 의도하지 않는 동작이 일어나는 보안 취약점
- 개발자가 예상한 범위를 벗어난 입력 값이 전달
시큐어 코딩
개발자는 개발 단계에서부터 이러한 메모리 버퍼 오버플로가 발생하지 않도록 안전한 코딩을 하는 것이 필요
경쟁 조건(Race Condition)
여러 개의 프로세스 혹은 스레드가 동시에 공유하는 자원에 대해 동시에 접근하려는 상태
- 공유되는 자원을 동시에 여러 개의 프로세스 또는 스레드가 사용 하려고 할 때 자원의 일관성이 깨지기도 함
대응 방안
- 동기화 구문 사용: 한 번에 하나의 프로세스만 접근하도록
- 성능 감소가 발생하므로 꼭 필요할 때만 최소화하여 사용해야 함
방화벽(Firewall)
- 외부 네트워크에서 내부 네트워크로 유입되는 침입을 막는 솔루션
- 정책(규칙)에 의해 외부 네트워크에서 내부로 전달되는 메시지를 허용/차단
종류
- 소프트웨어 방식: 윈도우 운영체제에서 제공하는 방화벽
- 하드웨어 방식: 네트워크 장비 형태
방화벽의 주요 기능
접근 제어(Access Control)
- 외부에서 내부로 유입되는 메시지의 차단 또는 허용
- ‘허용’ 혹은 ‘차단’을 나누는 기준: 규칙 집합(Rule Set)
방화벽 규칙의 구성
- 3가지: 출발지, 도착지, 정책
- 어디에서부터(출발지) 어디로(도착지) 전달되는 메시지에 대해서 어떠한 정책(허용 혹은 차단)을 적용
- 출발지 및 도착지: IP 주소 + 포트
보안의 기본 원칙
페일 세이프(Fail Safe)
- 오류가 발생하여 시스템이 정상적으로 작동하지 않을 때
사용자나 시스템에 피해를 입히지 않는 상태로 남아 있어야 함.
- 방화벽은 일반적으로 Fail Safe 원칙이 적용되며, ‘명백히 허용하지 않은 서비스에 대한
거부’를 기본 원칙으로 함.
세이프 페일러(Safe Failure)
- 실패가 일어난 경우에도 안전해야 함을 의미
로그
- 2가지로 구성: 감사 로그와 운영 로그
감사 로그
- 방화벽의 규칙 집합이 언제, 누구에 의해 어떻게 추가/변경/삭제되었는지 저장
- 방화벽 서비스가 언제 시작되고 언제 중지되었는지 등
- 유의어: 감사 증적(Audit Trail) 혹은 감사 추적
운영 로그
- 언제 어떤 네트워크 메시지가 차단 혹은 허용되었는지 등
- 보안 공격자의 공격 시도 발견 가능
침입 탐지 시스템(Intrusion Detection System, IDS)
- 내부 시스템에서 악의적인 공격을 발견하고 이를 보고하는 보안 솔루션
- 필요성: 보안 공격이 발생하였을 때 이를 관리자에게 알려, 적절한 대처 가능하게 함
종류: 감시하는 대상에 따른 분류
- 네트워크 기반 침입 탐지 시스템(Network Intrusion Detection System, NIDS)
- 호스트 기반 침입 탐지 시스템(Host Intrusion Detection System, HIDS)
네트워크 기반 침입 탐지 시스템(NIDS)과 방화벽과의 차이점
- 방화벽: 단순히 IP 주소와 포트 번호 등의 속성으로 차단 결정
- 침입 탐지 시스템: 전달되는 메시지 내용을 분석하여 차단 결정
네트워크 기반 침입 탐지 시스템의 동작 원리
(1) 데이터 수집
- 외부 네트워크에서 내부 네트워크로 전달되는 패킷을 수집
- 미러링(Mirroring) 기법을 이용, 스니핑(Sniffing)도 일종의 미러링 기법
(2) 데이터 정제
(3) 분석과 탐지
탐지 방법
오용 탐지(Misuse Detection) 기법
- 미리 정의된 침입에 대한 패턴이 있고, 정제된 데이터에서 침입 패턴을 찾는 방법
장점
- 상대적으로 낮은 오탐률(False Alarm)
- 실제 침해 사고가 발생하였을 때 신속하고 정확한 사고 대응이 가능
단점
- 기존에 패턴이 없는 새로운 침입 유형에 대한 탐지가 불가능
- 지속적인 패턴 업데이트가 필수적
- 알려진 패턴에 대해서는 우회 가능성 있음 (컴퓨터 바이러스와 동일)
이상 탐지(Anomaly Detection) 기법
- 발생할 확률이 매우 낮은 일이 발생했을 때 침입이라고 판단
장점
- 새로운 침입 유형에 대한 탐지가 가능
단점
- 정상 행위를 모델링(예측)하기 어려움
- 방대한 사용자/네트워크 활동에 대한 학습에 많은 데이터와 시간이 요구
◦ 상대적으로 오탐률이 높음 → 실제 현장에서 적용하기 쉽지 않음
최근 이상 탐지 기법의 중요성이 증가되고 있음
네트워크 기반 침입 탐지 시스템의 설치 위치
내부 네트워크의 여러 위치에 설치 가능
① 방화벽 외부
② 방화벽 내부 (DMZ)
③ 내부 네트워크: 백본 네트워크
④ 내부 네트워크: 주요 서브넷
방화벽 내부(DMZ)
- 외부와 내부 모두로부터 보호되어야 하기 때문에 매우 높은 보안 수준을 요구
- 외부 네트워크로부터 출발해서 방화벽을 통과한 침입에 대한 탐지 목적
침입 방지 시스템(Intrusion Prevention System, IPS)
- 시스템이나 네트워크에 대한 다양한 불법 침입 행위를 실시간 탐지,
분석하여 비정상적인 패킷인 경우 자동으로 차단하는 시스템
침입 탐지 시스템과의 차이점
(1) 침입 시도라고 판단되었을 때의 대응 행위
- 침입 탐지 시스템: 직접적인 차단 기능은 실행하지 않음
- 침입 방지 시스템: 침입 시도에 대해서 즉시 차단 기능을 수행
(2) 기술적 차이
- 침입 탐지 시스템: 모니터링/미러링 방식
- 침입 방지 시스템: 게이트웨이/인라인 방식
DLP(Data Loss Prevention, Data Leakage Prevention)
- 정보 유출 방지 솔루션: 조직 내의 중요 자료가 외부로 빠져나가는 것을 탐지하여 이를 차단
네트워크 DLP
- 네트워크를 통하여 정보가 유출되는 것을 감시(Monitor)하고 정책에 따라서 통제하는 솔루션
네트워크 DLP: 모니터
미러링(Mirroring) 방식 사용
네트워크 기반 침입 탐지 시스템과 공통점: 모니터링 포트 연결을 통해 데이터를 수집
네트워크 기반 침입 탐지 시스템과 차이점
- 내부에서 외부로 나가는 데이터가 모니터링 대상
- 나가는 데이터를 ‘기록’으로 남겨둠 (우회 유출 시도에 대한 증적 자료)
네트워크 DLP: 프리벤트(Prevent)
- 외부로 전송되는 데이터를 분석하여 만약 전송 데이터가 조직의 중요 자산이라고 판단되었을 때는
실시간으로 데이터의 전송을 차단
- 게이트웨이(Gateway) 방식 혹은 프록시(Proxy) 방식 사용
장점
높은 보안성 - 유출을 원천적으로 막을 수 있는 사전 통제 기능 제공
단점
- 오탐으로 인해 차단될 수 있음
- 장애 발생 시, 전체 네트워크가 영향을 받는다는 점에서 위험성 존재
엔드포인트(Endpoint) DLP
PC와 같은 단말기에서 USB 등의 이동식 저장 매체와 출력물 등을 통해 유출되는 것을 방지하는 솔루션
단점
- 통제 대상이 되는 단말기에 DLP 에이전트가 설치되어야만 통제 가능함
DRM(Digital Rights Management)
- 디지털 콘텐츠에 대한 보안 솔루션
- 원래 디지털 권리 관리의 약자로 초기에는 MP3 등과 같은 디지털 저작물에 대한 보호와 관리를 위해 제안된 보안 제품
- 정보 보안에서 사용되는 DRM: 문서 보안 솔루션
NAC(Network Access Control)
-엔드포인트(Endpoint) 단말기가 회사의 내부 네트워크에 접속을 시도할 때 이를 제어하고 통제
- 유의어: 네트워크 접근 제어 솔루션
- 네트워크 제어 및 통제 기능을 통해서 사내 네트워크가 바이러스나 웜 등의 보안 위협으로부터
안전한 단말기들로 이루어질 수 있도록 강제함
'3-1 > 정보보안' 카테고리의 다른 글
정보보안 중간고사 정리 (1) | 2024.04.19 |
---|---|
정보보안 6주차 정리 - 네트워크 보안(2) (0) | 2024.04.09 |
정보보안 5주차 정리 - 네트워크 보안 (2) | 2024.04.03 |
정보보안 4주차 정리 - 클라우드 활용 (1) | 2024.03.26 |
정보보안 3주차 정리 - 클라우드 기술 (0) | 2024.03.20 |