1. 컴퓨터의 기본적인 보안개념을 살펴보자
- 컴퓨터 보안은 정보를 여러가지 위협으로 부터 보호하기 위한 정책 및 기법이다.
- 정보가 저장 전달 될 때 허락되지 않은 접근, 수정, 훼손, 유출 등을 하므로, 정보보호의 목표는 접근에 관한 기밀성, 수정에 관한 무결성, 사용에 관한 가용성 확보이다.
- 해커는 컴퓨터의 세세한 부분까지 적극적으로 탐구하고 활용성을 극대화하기 위해 연구하는 것을 즐기는 사람을 말한다.
- 요즘 보안에 위협되는 수법으로 파밍(PC에 악성코드를 설치해 주소를 올바르게 입력해도 사기 사이트로 접속)과 스미싱(문자메세지로 악성코드 심은 url 보내 스마트폰으로 소액결제 유도) 등이 있다.
2. 보안을 위해 암호가 중요하니 혼돈과 확산원칙의 암호를 알아보자
- 두 사람이 안전하지 않은 채널을 통해 정보를 주고 받더라도 제3자는 이 정보의 내용을 알수 없도록 하는 것이 암호다.
- 고대에는 밀랍에 봉인하는 형태로 정보자체를 숨겼다.(스테가노그라피) 그러나 현시대의 일반적인 암호의 요건은 제3자에게 암호알고리즘을 알려주더라도 제3자가 키를 모르면 암호를 풀 수 없는 것을 가정으로 한다.
- 암호는 전치법(문자들의 순서를 바꿈), 치환법(문자들을 다른문자로 바꿈), 시저암호(각 문자를 알파벳 순서상 세문자 뒤에 위치하는 문자로 치환), 시프트암호(평문의 각 문자를 알파벳 순서상 k번째 뒤문자로 치환), 비즈네르 암호(시프트 암호를 개선한 새로운 치환법으로(k가 여러개의 정수값을 가진다.)
- 암호체계 설계의 두가지 기본원칙이 있다. 혼돈과 확산이다. 평문과 암호문 사이의 상관관계를 숨긴다. 확산은 평문의 통계적 성격을 암호문 전반에 확산시켜 숨긴다.
- 현대 암호학에 표준암호 알고리즘(DES->AES)과 공개키 암호 알고리즘이 등장했다.공개키암호는 암호화와 복호화에 서로 다른 키를 사용한다.(RSA공개키 암호 알고리즘 - 소인수분해 활용)
- 대칭키암호는 암호화와 복호화에 같은키 하나를 사용하는 암호방식이다. 암/복호화 속도가 빠르나 키분배 문제가 있다.
- 블록암호는 평문을 고정된 크기의 블록으로 나누어 각 블록마다 암호화 과정을 수행하여 블록단위로 암호문을 얻는 대칭키 암호방식이다.
- 스트림 암호는 평문과 같은 길이의 키스트림을 생성하여 평문과 키를 비트 단위로 XOR하여 암호문을 얻는 대칭키 암호방식이다.
3. 제3자가 아닌 가용성을 위한 인증개념을 살펴보자
- 메시지 인증 코드(MAC- Message Authentication Code)는 메시지 인증을 위한 부가정보이다. 종류에는 해시함수에 기반한 HMAC(Hash-based MAC)과 블록암호에 기반한 CMAC(Cipher-based MAC)이 있다. HMAC은 비밀키를 메시지에 덧붙인 후 해시함수를 적용한고, CMAC은 CBC모드를 메시지에 적용한다.
- 인증은 비밀번호, 생체인식, 토큰방식, 2단계인증 방식이 있다.
4~5 기밀성을 위협하는 사이버 공격을 알아보자
- 네트워크 상이나 로컬호스트 상에서 시스템의 설정이 잘못된 것을 이용해 관리자 권한을 취득한다.
- 네트워크 상의 패킷을 조작하는 공격
- 상용웹사이트의 취약점을 이용한 공격
- 스마트폰의 보급에 따른 무선환경에서의 공격
- 사이버 공격(악성코드,네트워크,스팸메일, 피싱, 바이러스, 웜, 트로이목마, 백도어, 스파이웨어, 랜섬웨어)에 대응 하는 통합보안프로그램 설치 및 최신 버전유지 그리고 실시간 감시기능 사용 등을 통해 방어한다.
- 웜은 컴퓨터의 취약점을 찾아 네트워크를 통해 스스로 감염되는 악성코드이다.
- 트로이목마는 유틸과 같이 거부감 없이 설치한 것을 통해 개인정보를 유출하고 감염대상을 원격조정한다.(실행시 표면적으로 드러나는 기능과 함께 비인가된 기능을 수행한다.)
- 백도어는 공격자가 시스템에 침입한 후, 이후에도 손쉽게 피해 시스템에 대한 접근권한을 획득하기 위한 용도로 설치한 악성코드이다.
- 스파이웨어는 다른 사람의 컴퓨터에 설치되어 개인정보를 빼가는 악성코드이다.
- 랜섬웨어는 사용자의 중요한 정보를 인질로 삼아 금전을 요구하는 악성코드이다.
- 스캐닝은 실제적인 공격을 위한 사전 정보 수집활동의 용도로 악용된다.(Nmap, Acunetix 등으로 호스트나 네트워크 보안 취약점을 찾는다.)
- 스푸핑은 공격대상의 제어하에 있는 호스트를 피해 호스트가 신뢰하는 호스트를 가장한다.(IP,DNS,web,ARP스푸핑)
- 스니핑은 네트워크 상의 데이터를 도청하는 행위이다.(패킷을 조작없이 도청하는 수동적인 방식과 패킷방향을 조작하거나 변조하는 능동적 방식이 있다.)
- DDoS공격(분산된 여러 호스트를 미리 감염시키 공격데몬 설치, 공격자는 특정 목표에 대한 공격 명령을 원격에서 데몬에 내린다.)
- 스팸메일은 DNS를 통해 도메인의 진위확보나 스팸메일에 자주 포함되는 단어를 분류하고 가중치를 부여하는 통계기법으로 대응한다. 이메일 내부에 존재하는 하이퍼링크를 불허해야 한다.
- APT(Advanced Persistent Threat)는 지능형 지속공격으로 목적대상에 지속적으로 은밀하게 공격한다.
- 서버공격의 유형은 계정(pw), 개인정보(이름,생년월일,전화번호,가족,차량,취미), 네트워크(스푸핑,스니핑) 공격유형이 있다.
- 시스템의 취약점으로 메모리에 할당된 버퍼의 양을 초과하는 데이터를 입력하는 버퍼오버플로 공격이나 기본설정오류를 이용한 공격으로 레이스 컨디션 공격이 있다.(프로세스가 동일한 자원을 사용하기 위해 경쟁하는 것을 이용)
- 서버보안 대책으로 계정,패스워드를 관리하고 시스템 접근제어(DAC-임의적 접근제어,MAC-강제적 접근제어,RBAC-역할 접근 제어)를 잘 해야한다.
6. 기밀성, 무결성,가용성을 위한 네트워크 보안을 살펴보자.
- 수신된 데이터의 실체가 원하는 실체라는 것을 확인(대등개체 인증, 데이터 발신처 인증)
- 비인가된 사용자의 위협으로부터 정보자원을 보호하는 접근제어가 있다. 기밀성을 위해 네트워크를 통해 전달되는 벙보의 내용이 노출 되는 것을 방지한다.
- 발신/수신 부인을 방지한다.
- TCP/IP, UDP, ICMP는 인터넷의 핵심 프로토콜이다.
- IPsec는 IP를 위한 보안 메커니즘이고, SSL/TLS는 웹서버와 브라우저 간의 트래픽을 보호한다. (인증헤더:AH, 캡슐화 보안 페이로드:ESP)
7~8 보안을 유지하기 위한 시스템을 살펴보자
- 보안시스템에는 침입차단하는 방화벽(Firewall), 침입탐지(IDS), 침입방지(IPS), 가상사설망(VPN), 네트워크 접근제어(NAC) 시스템이 있다.
- 방화벽은 패킷필터링(네트워크 3~4계층), 서킷게이트웨이(네트워크5~7계층), 애플리케이션 게이트웨이(응용계층에서 서비스 요청 및 요구된 데이터는 애플리케이션 게이트웨이에 기록 및 제어된다. 프락시게이트웨이: 사용자 인증과 서비스별로 프락시 서버가 트래픽의 보안 검사 실시), 하이브리드 방식(패킷필터링과 애플리케이션 게이트웨이를 혼합한 방식)으로 구성되어 있다.
- 침입탐지시스템(IDS)은 모니터링, 시스템 취약성에 대한 감사, 중요시스템과 데이터에 대한 무결성 평가, 알려진 공격에 대한 행위패턴 인식, 비정상적 행위패턴에 대한 통계분석을 한다.
- IDS 모니터링 방법에는 응용기반(DB, 웹서버, 방화벽 로그 확인), 호스트기반(운영체제, 시스템 로그), 목표기반(특정파일이나 시스템 객체), 네트워크기반(패킷 스니핑)과 통합방식(응용,호스트,네트워크 조합)이 있다.
- IDS는 일괄처리/실시간 방식으로 정보수집과 분석시기를 나눈다.
- IDS는 시그니처(알려진 공격이나 시스템 오염)/통계적(정상적인 행위패턴으로 부터 편차 확인)/무결성 분석(파일이나 객체의 어떤 측면이 변경되었는지에 초점)을 한다.
- IPS는 공격탐지시 자동으로 대응작업을 수행하여 행위를 중지시킨다. 소프트웨어 등을 통한 호스트기반 IPS와 데이터소스 기반의 네트워크 기반 침입방지 시스템(NIPS)이 있는데, NIPS는 세션 기반 탐지를 지원하여 초고속환경에서 적용가능하게 성능개선이 이루어 지고 있다.
9. 요즘 시대 자주 사용하는 이메일 보안 방법
- 이메일은 PGP(Pretty Good Privacy- 밀봉방식으로 인증,기밀성,압축,호환성을 보완한다.)보안서비스로 SHA와 DSA또는 RSA의 결합으로 효과적인 전자서명 기법을 제공한다.
- PGP에 사용되는 키로 세션키(TDEA,AES,IDEA), 공개키/개인키(RSA),암호구문(TDEA,AES,IDEA)가 있다.
- S/MIME은 이메일 표준인 MIME의 보안기능을 강화시킨 것이다.(암호화, 전자서명, 사용용이성, 융통성, 상호운용성) S/MIME은 전자서명(RSA,ECDSA), 세션키분배(RSA,ECDH), 해시함수(SHA256, SHA512) ,메시지 암호화(AES128, AES256)의 기능이 있다.
10. 스마트폰과 컴퓨터를 쓴다면 생각하는 웹보안 및 모바일 보안
- 네트워크는 SSL/TLS를 적용함으로써 해결이 가능하다.
- 웹서비스 위협요소(SQL injection, 크로스 사이트 스크립팅:XSS, 접근제어 실패:관리자, 웹서버 공격:보안패치)
- 모바일 보안에는 기존에 WEP가 있는데 Wired Equivalent Privacy의 약자로 스트림 암호방식과 RC4알고리즘을 사용하며 키분배 메키니즘이 없는데 취약성이 드러나 잘 사용안한다.
- 그 다음 모바일 보안으로 RSN(Robust Security Network)는 인증, 키관리,키교환, 기밀성과 무결성기법:AES 포함한다. 256비트의 임시키를 이용한다. 포트기반 NAC표준으로 AP외에 인증서버가 필요하다. EAP는 확장형 프레임워크다.
- WPA시리즈로 WPA,WPA2,WPA3가 나왔는데 2018년도 이후 미리키를 나누는 PSK를 적용한 WPA2에 강화된 보안을 제공한다. WPA3는 보안설정을 단순화하면서도 보안은 강화하였다.
11. 디지털 범죄 이후 증거 수집을 위한 디지털 포렌식
- 디지털증거는 기록방식에 대한 지식, 저장원리,검색원리, 프로그램의 동작원리 등 상세한 지식이 필요하다.(파일명, 해쉬코드, 타임스탬프)
- 디지털 증거의 특성은 비가시성, 변조가능성, 복제용이성, 대규모성, 휘발성, 초국경성을 염두에 두고, 법적 효력을 갖기위해서는 인증성, 무결성, 신뢰성, 원본성이 있어야 한다.
- 디지털 포렌식은 적법절차의 준수, 원본의 안전한 보존, 증거의 무결성 확보, 증거의 신뢰성 증명, 분석결과의 반복성, 모든 과정의 기록이 보장되야 한다.
- 안티포렌식은 범죄자가 포렌식 기술에 대응하여 자신에게 불리하게 작용할 가능성이 있는 증거물을 차단하려는 활동으로 데이터 완전 삭제, 데이터 변조, 데이터 암호화 등이 있다.
12. 디지털 보안을 위한 해시함수 및 전자서명을 알아보자
- 해시함수는 임의의 길이의 입력 데이터를 고정된 길이의 해시코드로 대응시키는 함수로 일방향 함수다.
- 해시 알고리즘은 블록 암호기반(블록암호보다 느림), 모듈러 연산(속도느림), 전용해시 알고리즘 등이 있다.
- 전용해시 알고리즘에는 MD5(충동저항성문제), SHA-1(취약점 드러남), SHA-2(2002년), SHA-3(2015년)의 종류가 있는데 SHA-3은 스펀지 구조로 입력데이터 크기 제한이 없다.
- 전자서명은 메시지를 보낸 사람의 신원이 진짜임을 증명(인증서와 같이 서명되는 메시지에 의존하는 비트값이고 서명자만의 고유정보를 사용해야 하며 위조는 계산적으로 불가능해야 한다.)
- 전자서명의 서명은 해시함수에 의존해 개인키로 하며 검증은 공개키로 한다.
- 전자서명표준(Digital Signature Standard)에는 DSA, RSA,ECDSA가 있다.
13. 전자서명에 있어 특히 중요한 키관리를 알아보자
- 공개키 암호의 키관리는 자신의 홈페이지에 올려 두거나 요청자에게 직접 보낸다.
- 모든 사람의 공개키를 신뢰받는 센터가 공개키를 관리한다. 센터는 공개키에 관한 모든 질의에 응답한다.
- 인증기관(CA:한국인터넷진흥원이 최상위 인증기관)에서 공개키를 분배할 때 센터의 서명을 붙인다.
- 공개키 기반구조(Public Key Infrastructure:PKI)는 X.509에 기초해서 암호화 및 전자서명을 제공하여 기밀성, 무결성, 접근제어, 인증, 부인방지를 제공한다.
LIST
'4차산업혁명의 일꾼 > Java&Spring웹개발과 서버 컴퓨터' 카테고리의 다른 글
웹개발의 추억을 반추하며 스프링 MVC 기초공사 복습과 스프링 Security (0) | 2024.06.17 |
---|---|
컴퓨터를 운영하는 시스템 소프트웨어 운영체제 (2) | 2024.06.06 |
정보를 공유하고 교류하는 컴퓨팅 정보통신망~! (2) | 2024.05.31 |
컴퓨터 보안 기초 정리 (58) | 2024.02.26 |
운영체제와 커널 (2) | 2024.02.26 |