1과목 시스템보안
특수 권한
- setuid는 실행 시에 사용자의 권한으로 실행, 실행 권한이 있을 때 설정하면 사용자의 권한 x가 s로 변경
- setgid는 실행 시에 그룹의 권한으로 실행, 실행 권한이 있을 때 설정하면 그룹의 권한 x가 s로 변경
- sticky bit는 실행 권한이 있는 상태에서 설정하면 x가 s로 변경
- 특수 권한을 부여할 때 setuid는 4000번, setgid는 2000번, sticky bit는 1000번을 부여
악성코드
- 트로이목마: 자기 복제를 하지 않음
- 파일리스: 디스크에 설치되지 않고 메모리에 로드되어 실행, 윈도우 운영체제에 설치되어 있는 파워쉘과 WMI에 로드되어서 실행되기 때문에 백신이 탐지하지 않음
- SQL 슬래머: 컴퓨터 웜의 일종, 1.25 인터넷 대란, 십분 내에 7만 5천 대의 컴퓨터 감염, 마이크로소프트 SQL 서버의 버퍼 오버플로 버그를 이용하여 감염
보안솔루션
- ESM(Enterprise Security Management): 보안 관제
- TMS(Threat Management System): IDS와 비슷
- DLP(Data Loss Prevention): USB차단, 특정 사이트 접근 차단
- CDR(Content Disarm & Reconstruction): 컨텐츠에 악성코드가 있는지 없는지 확인, 주로 매크로 탐지, MS워드나 오피스 문서들
- EDR(Endpoint Detection and Response): 엔드포인트 위협 탐지 및 대응, 악성코드와 랜섬웨어와 바이러스와 정보유출 차단목적으로 사용되고 제로데이 공격 대응에 효과적, 악성행위를 실시간으로 감지
리눅스 로그파일
- sulog: 리눅스 사용자가 su(switch user) 명령어를 실행하는 기록을 남김, 날짜, 시간 성공, 실패, 사용한 터미널 이름과 from 사용자, to 사용자 정보 기록
- wtmp: 사용자의 로그인, 로그아웃, 시스템 Shutdown, Boot가 저장, 바이너리 형태
- lastlog: 파일은 가장 최근 로그인 시간, 접속 정보가 기록된 로그파일로 시스템에 로그인 할 때마다 갱신
- utmp: 현재 로그인한 사용자들에 대한 상태를 기록하는 로그로, 로그인된 정보와 사용자 디바이스 정보, 마지막 로그인 정보 등을 확인
PLC(Program Logic Controller)
- 컨베이어 벨트를 작동, 정지할 수 있게 하는 시스템과 비슷
- 스카다(SCADA): 위 과정을 스카다라고 함
- 모드버스(MODBUS): 위 과정을 수행할 때 쓰는 프로토콜
- 스턱스넷(Stuxnet): 위 시스템을 해킹하는 것
윈도우 사용자 계정 컨트롤(UAC)
- User Account Control
- 관리자 계정과 사용자 계정을 분리, 윈도우 비스타부터 적용
- 사용자 모르게 컴퓨터, 프로그램 변경하면 알림 표시
- 윈도우 디펜더: 간단한 바이러스와 악성코드 차단하는 보안프로그램, 스파이웨어 차단
익스플로잇 공격
- 컴퓨터의 소프트웨어나 하드웨어 및 컴퓨터 관련 전자 제품의 버그, 보안 취약점 등 설계상 결함을 이용해 공격자의 의도된 동작을 수행하도록 만들어진 절차나 일련의 명령, 스크립트, 프로그램 또는 특정한 데이터 조각
OTP
- 고정된 인증번호를 사용하지 않고 일회용 패스워드를 무작위로 사용하며 수학적 유추가 불가능
- 시간 동기화 방법: 시간을 Seed 값으로 사용하여 서버와 OTP 단말기가 통신하지 않고 인증
- 단말번호를 등록하고 시간 정보를 활용하여 난수 생성
autorun.inf
- 저장매체의 가장 상위 디렉터리에 위치시켜야함
- CD/DVD, USB 등이 연결될 때 자동으로 실행
멜트다운, 스펙터
- 멜트다운: CPU에 적용된 "비순차적 명령어 처리" 기술의 버그를 악용한 보안 취약점, 응용 프로그램이 CPU의 캐시 메모리에 접근하지 못했던 기존 하드웨어 보안 구조가 무너진 취약점, 해커는 사용자의 시스템 메모리에 바로 접근할 수 있어서 데이터를 유출할 수 있음, 비순차적 명령어 처리가 적용된 모든 CPU에서 발생
- 스펙터: CPU 내에 있는 수많은 명령어에서 일어나는 버그를 악용하는 보안 취약점, 응용 프로그램에서 처리하는 데이터 일부가 노출될 수 있고 버그가 발생할 수 있으며 추적이 매우 어려움
윈도우 이벤트 뷰 보안 설정
- 계정 로그인 이벤트 감사: 도메인 계정으로의 사용으로 생성
- 계정 관리 감사: 신규 사용자 그룹의 추가, 기존 사용자, 그룹변경, 사용자 활성화 및 비활성화, 계정 패스워드 변경을 감사
- 로그온 이벤트 감사: 로컬 계정 접근 시 생성
- 개체 액세스 감사: 파일, 디렉터리, 레지스트리 키, 프린터 등과 같은 객체에 접근 시도를 하거나 속성 변경을 탐지
- 권한 사용 감사: 권한 사용 내역을 추적, 많은 양의 로그 생성
- 프로세스 추적 감사: 사용자 혹은 응용 프로그램이 시작하거나 종료할 때 이벤트를 기록
- 시스템 이벤트 감사: 시스템 시작과 종료, 이벤트 로그가 가득 찼을 경우 컴퓨터에 영향을 주는 이벤트를 기록
윈도우 레지스트리
- 레지스트 정보를 저장하는 디렉터리는 윈도우 버전별로 약간의 차이가 있음
- 레지스트리에 대한 편집은 regedit.exe를 사용
- HKEY_CLASSES_ROOT는 파일 연결, OLE 객체 클래스 ID 등의 응용 프로그램 정보를 가지고 있음
- 레지스트리의 백업과 복구는 regedit.txt와 regedit32.exe를 사용
PAM 보안 설정
- auth required pam_tally.so -deny = 3 unlock time = -600: 인증을 처리할 때 pam_tally.so 모듈을 사용해 패스워드가 3회 실패하면 600초 동안 계정을 잠그게 함
바이러스
- 특정 컴퓨터를 감염시키고 다른 컴퓨터로 확산시키는 형태로 실행
- 은폐형 바이러스: 사용자 및 백신을 속이기 위해 원래의 실행파일에 기생하는 형태로 파일의 크기를 증가시킴
- 다형성 바이러스: 백신이 탐지하기 어렵게 하기 위해 바이러스를 변형
- 매크로 바이러스: 운영체제와 관계없이 실행, 엑셀이나 워드처럼 매크로 명령어를 사용하는 프로그램의 데이터에 감염, 비전문가도 쉽게 제작
/etc의 파일
- /etc/fsck: 파일의 무결성 검사, 저널링 정보(바꿨는지 안바꿨는지)
- /etc/getty: 터미널에 대한 정보
- /etc/system: 스택에 특정 코드 실행을 방지하기 위해 설정
버퍼 오버플로우 대응 방법
- Stack Guard: 함수의 진입과 종료 코드를 검사, 스택 프레임에 손상이 있었는지 확인, 입력 시에 canary 값을 입력하고 종료 시에 canary 값이 변경되면 프로그램을 종료시킴
- Stack Shield: 함수의 복귀주소를 Global RET라는 특수 스택에 저장하여 함수 반환 시에 스택의 값과 비교
- NOP Sled(No Operation): NOP 명령어는 빈 공간을 채우는 명령어, 해당 명령어가 나오면 다음 명령어로 넘어감, NOP 코드 존재여부 확인
- ASLR(Address Space Layout Randomization): 스택공간을 동적으로 배치시켜 공격자가 주소를 예측할 수 없게 함
Heap Overflow
- Heap 영역은 매크로 함수 사용 시 동적으로 할당되는 메모리 공간으로 낮은 주소에서 높은 주소로 할당
- Heap Overflow 공격은 함수의 포인터(주소)를 조작하는 공격
하드닝(Hardening)
- 보호해야 하는 정보 및 컴퓨터, 네트워크를 굳건하게 한다는 의미
- 사용자에 대해 디스크 할당량을 정의하고 할당량까지만 사용할 수 있도록 함
- 사용하지 않은 서비스와 데몬 프로세스를 제거
- 최신 버전으로 보안 패치 업데이트를 진행
2과목 네트워크보안
VPN 터널링(가상사설망)의 종류
- PPTP(Point-to-Point Tunneling Protocol), L2TP(Layer 2 Tunneling Protocol): Data Link(L2) 계층
- IPSEC(IP Security Protocol): Network(L3) 계층
- SSL(Secure Socket Layer): Application(L4~L7)계층, 네트워크 구간을 암호화, PC에 프로그램 설치할 필요가 없음
⭐️RSVP(Resource Reservation Protocol): 자원 예약 프로토콜로 인터넷 상의 경로를 예약하여 빠르게 데이터를 전송(QoS)
패킷 공격 방법
- Ping of Death: DDoS 공격을 수행할 때 커다란 패킷을 전송하여 패킷이 전송할 수 있는 최대크기(Maximum Transmission Unit)를 초과함으로써 분할을 유발시키는 공격
- Land Attack(Local Area Network Denial Attack): 공격자가 패킷의 출발지 주소나 포트를 임의로 변경하여 출발지와 목적지 주소를 동일하게 함으로써 공격대상 컴퓨터의 실행속도가 느려지거나 동작이 마비되게 하여 서비스 거부 상태에 빠지도록 하는 공격 방법
- SYN Flooding: TCP 3Way-Handshake 연결 과정에 사용되는 SYN 패킷을 지속적으로 전송하여 시스템의 부하를 유발하는 공격
- Boink: 정상적으로 패킷을 전송하다가 중간에 반복되는 Sequence Number를 전송하는 공격(ex. 처음에는 패킷들을 순서적으로 보내게 하다가 중간부터 반복되도록 패킷의 순서 번호를 조작해서 보내는 공격이다. 100번째 패킷을 순서번호가 555번, 101번째 패킷도 순서번호가 555번으로 보내는 공격)
- TearDrop: IP 프로토콜의 Offset 값을 조작하여 재조합할 수 없게 하는 공격
- Smurfing: ICMP Echo Request(요청)를 브로드캐스트하여 피해자에게 ICMP Echo Reply를 전송하는 공격
⭐️Smurfing 공격 진행 순서(아래사진)
보안솔루션의 종류
- SIEM(Security Information & Event Management): 방대한 양의 빅데이터(SIEM의 대표 용어)를 수집하여 상관분석 및 포렌식까지 수행하는 보안 솔루션, 다중 소스 데이터 수집, 분석, 통합로그 관리, 이벤트 처리
- TMS(Threat Management System): 정보수집, 정보분석, 대응, 종합상황 관제, 네트워크 관리, 자산관리, 보안관리
- DLP(Data Loss Prevention): 데이터 손실을 방지, 데이터 이동 경로를 감시하여 기업 내부의 중요 정보와 데이터 유출을 감시하고 기록, 유출 되었을 때는 경고 혹은 차단하여 데이터를 보호(DRM은 잠금, DLP는 흐름 추적->기록->차단!)
- NAC(Network Access Control): 네트워크 접근 제어, 네트워크에 접속하는 장치에 대해 접속 가능 여부를 확인하여 인가된 장치만 접근할 수 있게함
4-Way-Handshaking(TCP 연결 해제)진행 순서
- 1. Client: FIN_WAIT1
- 2. Server: CLOSE_WAIT+ACK
- 3. Server: LAST_ACK
- 4. Client: TIME_WAIT+ACK
스위치 공격 및 스니핑 기법
- Switch Jamming: 스위치의 MAC Address Table에 대해 버퍼 오버플로우 공격을 수행하여 스위치가 허브처럼 동작하게 만드는 공격
- ICMP Redirect: ICMP Redirect 메시지를 발송하는 것으로, 라우팅 경로를 자신의 주소로 위조한 ICMP Redirect 메시지를 피해자에게 전송
- ARP Redirect: 공격자는 라우터의 MAC 주소로 변경하여 ARP Reply 패킷을 해당 네트워크에 브로드 캐스트
- ARP Spoofing(ARP 캐시 포이즈닝): 공격자는 위조한 ARP Reply 패킷을 피해자에게 전송하여 피해자의 ARP Cache Table이 공격자의 MAC 주소로 변경하게 함
VPN
- IPSEC VPN은 패킷 단위로 데이터 암호화
- SSL VPN은 메시지 단위로 데이터 암호화
랜섬웨어 공격 종류
- 이터널블루: 미국 볼티모어시에 대한 랜섬웨어 공격, NSA(미국 국가안보국)이 개발한 사이버 공격도구 악용, SMB 프로토콜의 원격코드 실행 취약점 이용
- 로빈후드: 최근 정상적으로 서명된 드라이버들을 사용해 보안도구를 삭제하고 파일을 암호화
- 워너크라이: 윈도우 운영체제 컴퓨터를 대상, 2017년 5월 12일에 대규모 공격이 시작되어 전세계적으로 심각한 피해, 감염되면 컴퓨터 내의 파일들이 암호화되어 파일 몸값으로 비트코인 300$를 요구하는 메시지 창이 화면에 출력됨
- 페티야: 공격자는 워드 등 오피스 파일에 해당 랜섬웨어 코드를 집어넣고 이메일로 발송하면, 피해자는 알지못하는 이메일의 첨부파일을 클릭하게 되고, 랜섬웨어는 감염 PC를 재부팅하고 하드디스크의 MFT(마스터파일테이블)를 암호화하여 MBR(마스터부트레코드)을 작동불능 상태로 만듬(부팅불가, 일반 랜섬웨어 파일암호화와는 다름). 공격자는 복호화를 빌미로 300$ 상당 비트코인 요구
❗️SMB(서버 메시지 블록) 프로토콜: 컴퓨터의 애플리케이션에서 파일을 읽고 쓸 수 있으며 컴퓨터 네트워크상의 서버 프로그램에서 서비스를 요청할 수 있도록 지원하는 네트워크 파일 공유 프로토콜이다.
공격 대응 방법
- 사이버 킬체인: 사이버 공격을 방어하기 위한 적극적인 방어 전략, 프로세스 상으로 공격을 분해해서 각 공격단계에서 조직에게 가해지는 위협 요소를 파악하고 공격자의 목적과 의도 및 활동을 분쇄, 완화해서 조직의 회복 탄력성을 확보하는 전략
- ISAC(Information Sharing & Analysis Center): 정보공유분석센터, 유사업무 분야별로 해킹이나 컴퓨터 바이러스 등 사이버테러와 정보침해에 대해 효과적으로 공동 대응하기 위한 서비스 체계
- CTI(Cyber Threat Intelligenct): 전 세계에서 일어나는 모든 위협 정보를 수집하고 분석한 지식을 활용하여 사이버 위협에 대응
라우팅 종류
- NULL Routing: 라우터에서 패킷을 차단하는 경우 발신자에게 ICMP Unrechable 발송하는데 이 때 라우터에 부하가 발생하기 때문에 별도의 라우터에서 이를 처리하는 방법. 2대의 라우터를 사용해서 한 대는 ACL을 적용하고 한대는 NULL Routing으로 활용하여 NULL Routing으로 전송되는 패킷을 파기해서 라우터의 부하를 줄임
VLAN(Virtual LAN)
- 네트워크상에 여러 개로 구별되는 브로드캐스트 도메인을 만듬
- 물리적 위치와 관계없이 공통 요구사항을 준수하는 호스트 컴퓨터를 하나로 묶을 수 있음
- OSI 7 계층 중 2계층에서 동작, 유연한 네트워크 구성
- 세그먼트별로 접속을 제한하거나 고립시켜서 보안성 향상
- 하나의 물리적 세그먼트를 여러 개의 논리적 세그먼트로 분할 운용
네트워크 기술
- MDM(Mobile Device Management): 스마트폰 혹은 태블릿, 기타 디바이스를 등록하고 업무에 특화된 프로파일을 적용하여 추적관리, 이메일과 같은 기업용 앱을 설치하고 관리할 수 있고 디바이스에서 발생하는 문제를 해결하거나 디바이스 분실 시에 디바이스에 있는 데이터를 삭제할 수 있음(MAM: 디바이스가 아닌 기업용 애플리케이션과 관련 데이터만을 통제)
- DLP(Data Loss Prevention): 기업의 민감한 데이터를 인가된 사용자에게 계속 제공하면서 동시에 이 데이터가 승인되지 않은 무단 사용자에게 제공되지 않도록 하는 일련의 활동과 제품
- ESM(Enterprise Security Management): 방화벽, 침입 탐지 시스템, 가상 사설망 등의 보안 솔루션을 하나로 모은 통합 보안 관리 시스템. 서버단에서 하나의 콘솔로 관리할 수 있게 함
- TMS(Threat Management System): 각종 위협으로부터 내부 정보자산을 보호하기 위해 글로벌 위협정보를 실시간으로 분석해서 내부 정보 인프라에 능동적으로 적용함으로써 조기에 위협을 제거하고 관리할 수 있는 통합된 정보보호 기술 체계
방화벽
- 전송되는 패킷에서 데이터를 차단하거나 허용
- 세션을 검사하여 세션을 종료
- 공인 IP 주소와 사설 IP 주소를 매핑하는 NAT를 지원
- 기본적인 방화벽은 VPN 기능을 지원하지 않지만, UTM은 방화벽, VPN, IDS, IPS, 안티바이러스 등의 기능 포함
KRACK(WPA2 Key Reinstallation Vulnerabilities)
- WPA2의 암호화 기능을 무력화할 수 있는 공격으로 신용카드 정보, 암호, 채팅 메시지, 전자메일 등의 네트워크에 송수신 되는 정보에 대한 도용이 가능
- 공격 시 AP에 연결하지 않아도 됨
- 타겟 AP 혹은 Station으로 위장하기 위해 MAC Spoofing을 해야함
- 특정 대상에 한정된 공격만 수행 가능
- HTTPS로 보호된 인터넷 통신 프로토콜에 대한 복호화가 가능
- 공격자가 패킷 변조 전에 공격을 탐지하지 못하면 사용자가 공격을 확인할 수 없음
PING 에서의 TTL
- TTL은 통과할 수 있는 라우터의 개수로, 라우터를 하나씩 통과할 때마다 1개씩 줄어듬
- TTL이 많을 수록 거리값이 가깝다
snort Rule
- sid: 등록된 Rule을 식별하기 위해 지정하는 번호
- content: 특정 문자 혹은 숫자를 탐지
- offset: 지정한 바이트부터 탐지
- distance: content 매칭 후에 지정 위치 이후의 다른 content를 탐색
로드밸런싱
- 로드밸런싱(여러 개의 서버들에게 작업을 순차적으로 돌아가면서 실행하게 하는 것)
- L4 스위치가 지원
SSO(Single Sign On)
- 한 번의 인증으로 여러 서비스를 사용할 수 있는 사용자 인증 시스템
- 여러 프로그램의 로그인이 간소화되어 사용자 편의성 증가
- 최초 로그인 대상이 되는 응용 프로그램의 보안 강화가 필요
- 사이트별 각각 인증 시스템을 운영하는 것보다는 보안이 떨어짐
파밍과 피싱
- 파밍: 인터넷 '즐겨찾기' 또는 포털사이트를 통해 금융회사 홈페이지에 접속하여도 피싱(가짜)사이트로 유도되어 금융정보를 탈취하여 유출된 정보로 예금인출을 하는 방식(캐시 포이즈닝)
- 피싱: 전자우편 또는 메신저를 사용해서 신뢰할 수 있는 사람 또는 기업이 보낸 메시지인 것처럼 가장함으로써, 비밀번호 및 신용카드 정보와 같이 기밀을 요구하는 정보를 부정하게 얻는 공격
DNSSEC(Domain Name System Security Extension)의 보안성 범위
- DNSSEC: DNS의 방어 기능에 대한 표현, DNS 데이터 위변조 공격을 차단하는 기술
- 파밍: 방어 가능, DNS 데이터 위변조 방식 이용 공격에 효과적 대응
- 피싱: 방어 불가능, 유사 도메인 네임을 사용하지만, 데이터 위변조에 해당하지는 않음
- DDoS: 방어 불가능, 분산 서비스 거부 공격, 인터넷 트래픽의 폭주로 공격 대상이나 그 주변 인프라를 압도하여 공격 대상 서버나 서비스, 네트워크의 정상적인 트래픽을 방해하는 공격
- 웜바이러스에 의한 hosts 파일 변조: 방어 불가능
⭐️hosts 파일(DNS 파일)의 경로
- 윈도우: C드라이브/Windows/System32/drivers/etc/hosts
- 리눅스: /etc/hosts
Buffer Overflow
- 리눅스의 특정 드라이버에서 발생
- 커널의 rtlwifi 드라이버의 경계값 점검 문제로 발생
- 공격자가 경계값을 초과하는 길이의 NoA 패킷을 전송할 경우, 시스템에 문제가 발생하는 공격
- 공격자의 인증 또는 권한 불필요
공격 종류
- XXE(XML External Entities): 공격자가 XML 문서에 External Entity를 이용하여 공격자가 의도하는 외부 URL을 실행시키고 자신이 원하는 공격들을 수행하는 것. 대표적으로 DoS 공격, 서버의 로컬파일 정보 출력 등
- SSRF(Server-Side Request Forgery): 서버 측에서 위조된 요청을 보내도록 하는 공격
- CSRF(Client-Side Request Forgery): 클라이언트 측에서 위조된 요청을 보내는 공격
FTP 공격 종류
- FTP Bounce Attack: 익명 FTP 서버를 이용하여 포트 스캐닝을 할 수 있는 기법으로 FTP 서버가 데이터 포트로 데이터를 전송할 때 목적지 포트를 점검하지 않아서 발생하는 취약점
- Anonymous FTP: 익명 사용자가 서버에 쓰기 권한이 있으면 악성코드 업로드 가능한 공격
- TFTP: 69번/UDP 포트 이용, 인증절차가 없음, 접근제어가 제대로 안되어있으면 임의 디렉터리 및 파일 접근 가능한 취약점
- Directory Listing: 브라우징 하는 모든 파일을 보여주어 탈취 및 웹 서버 공격이 가능한 취약점
WPKI(Wire-less PKI, 무선 환경에서 사용하는 공개키 기반 구조)의 구성요소
- 인증기관(CA): 인증서 발급
- 등록기관(RA): 신원 확인
- 사용자: 인증서 발급 요청
- 디렉터리: 인증서 정보 저장
TLS 공격 방법
- Logjam: 중간자 공격을 통해 사용자와 웹 서버, 이메일 서버 간의 암호화 통신을 다운그레이드 가능, 디피헬먼 키교환을 지원하는 서버의 서브넷에 악용
- BEAST(Browser Exploit Against SSL/TLS): SSL3.0 취약점을 이용, HTTPS의 쿠키들을 해독하며 타겟 세션을 하이재킹
- FREAK(Factoring Attack on RSA-EXPORT Keys): 중간자 공격으로 최대 512Bit RSA로 다운그레이드 수행하여 정보 유출
- Heartbleed: OpenSSL 소프트웨어 버그를 이용해 개인키 및 세션쿠키, 암호를 훔칠 수 있는 공격
SSL(Secure Socket Layer)의 보안 기능
- 송신자: 받는사람의 공개키로 암호화 -> 수신자: 받는사람의 개인키로 복호화
- 암호화 세션
- 서버 인증
- 클라이언트 인증
- 전자서명 알고리즘
SSL의 프로토콜
- Record: 데이터 암호화, 복호화, 메시지 인증 코드 생성 및 검증
- Change Cipher Spec: 암호화 알고리즘과 보안 정책을 송수신 측간에 조율
- Alert: 2바이트로 구성, 첫번째 바이트에는 warning 또는 fatal / 두번째 바이트에는 handshake, change cipher spec, record 수행 중 발생하는 오류메시지가 들어감
-Handshake: 대부분의 메시지가 해당, 암호 알고리즘 결정, 키 분배, 서버 및 클라이언트 인증을 수행하기 위해 사용
MS-SQL 서버의 윈도우 인증, SQL 서버의 인증 방식
- SQL 서버의 기본 인증모드는 윈도우 인증
- 윈도우 인증이 적용된 경우 SQL 서버 인증을 사용할 수 없음
- 혼합 인증 모드일 경우 윈도우 인증과 SQL 서버 인증을 모두 사용할 수 있음
- 윈도우 인증이 SQL 서버 인증보다 보안성이 더 높음
쿠키
- 웹 사이트 최종 방문시간, 페이지 정보 등 다양한 정보 저장
- 웹 서버가 웹 브라우저에 쿠키 정보를 전송하여 저장하고, 웹 사이트를 다시 방문할 때 웹 브라우저가 웹 서버에게 전달
- SetMaxAge를 통해 쿠키의 유효기간을 설정할 수 있고, 설정하지 않은 경우 웹 브라우저 종료 시 삭제됨
DRM(저작권 관리)의 구성 요소
- 클리어링 하우스: 사용자의 정책에 따라 사용 권한을 결정, 라이선스를 발급 및 관리
- 패키저: 콘텐츠를 메타데이터와 함께 배포 가능한 형태로 묶어 암호화하는 프로그램
- 시큐어 컨테이너: 콘텐츠 원본을 안전하게 유통하기 위한 전자적 보안 장치
- DRM 제어기: 배포된 콘텐츠의 이용 권한을 통제하는 프로그램
버퍼 오버플로우를 방지하기 위한 함수(보안을 위해 s 또는 n이 들어가야 함)
- strncat( )
- fgets( )
- snprintf( )
- strncpy( )
디지털 포렌식
- 디지털 증거: 손상되기 쉽고 분석 중 훼손 및 조작될 수 있음
- 무결성 원칙: 증거가 변조되지 않았다는 것을 보증
- 정당성 원칙: 획득한 증거자료가 적법한 절차를 준수해야 하며, 위법한 방법으로 수집된 증거는 법적 효력을 상실
- 연계보관성 원칙: 증거물을 획득, 이송, 분석, 제출의 과정에서 담당자 및 책임자를 명확히 함
- 디지털 증거 처리 과정: 식별, 수집, 획득, 보존, 분석
메일 보안 기술
- DKIM(Domain Keys Indentified Mail): 메일 헤더에 디지털 서명을 삽입하여 발신자가 위조되지 않았음을 수신자가 검증
- SPF(Sender Policy Framework): 정책에 따라 스팸 메일을 탐지, 점수를 부여하여 스팸인지 아닌지 판단
- SpamAssassin: 스팸 메일 소프트웨어
DB의 보안 유형
- 접근 제어
- 가상 테이블(View)
- 암호화
보안 솔루션
- IDS(Instruction Detection System): 침입 탐지 시스템, 시스템에 대한 원치 않는 조작을 탐지
- FDS(Fraud Detection System): 금융거래 정보 분석하여 이상 금융거래, 부정거래 등을 탐지, 예방
- POS(Point Of Sales System): 판매시점 정보관리 시스템(매장내의 POS기, 보안 솔루션은 아님)
- DRM(Digital Rights Management): 출판자 또는 저작권자가 디지털 자료나 하드웨어의 사용을 제어하고 이를 의도한 용도로만 사용하도록 제한하는 데 사용되는 기술
- DLP(Data Loss Prevention): 데이터 혹은 정보 유출 전송을 감지하고, 민감한 데이터를 모니터링 및 전송을 차단하여 사고를 방지
- NAC(Network Access Control): 네트워크에 대한 액세스 제어를 통해 사용자 및 디바이스를 식별하는 입증된 네트워킹 개념
- MLS(Multi Level Security): 다중등급보안으로, 사용자, 프로세스, 파일 등의 모든 시스템 구성 요소에 대해 보안 수준과 업무 영역에 따라 보안 등급 및 보호 범주를 부여
OTP 생성 및 인증 방식
- 이벤트 동기 방식
- 시간 동기 방식
- 질의-응답 방식
4과목 정보보안일반
니덤-슈로더 키분배 프로토콜
- 키 배분 센터(KDC, Key Distribution Center)를 이용하는 방식
- 질의응답(Challenge-Response) 방식을 이용하여 설계
- 재전송 공격(Replay Attack)에 취약
- 니덤-슈로더에 의해 제안된 프로토콜에 기반을 두고 개선한 모델이 커버로스(Kerberos) 방식
⭐️커버로스(Kerberos): 실체인증 및 세션 키 분배 시스템, IETF에서 국제표준으로 채택, 커버로스 v4와 커버로스 v5가 있음
접근 통제 방식
- 강제적 접근 통제(Mandatory Access Control): 관리자에 의해 통제
- 임의적 접근 통제(Discretionary Access Control): 자율적으로 통제
- 역할기반 접근 통제(Role Based Access Control): 권한(Role)의 묶음으로 권한을 주고 뺏음(직급 등)
키분배 방식
- KDC(Key Distribution Center): 네트워크상 당사자가 아닌 중앙의 신뢰된 제3의 신뢰할 만한 Kerberos 서버와 같은 중앙집중형 방식에 기반을 두는 방식, KDC와 사용자 간에 1:1 둘만의 유일한 키를 공유하며 세션키가 마스터키에 의해 암호화되어 전달됨
- Diffie-Hellman: 두 사용자가 사전에 어떤 비밀 교환 없이도 공통키를 교환하게 해주는 알고리즘, 키교환 알고리즘으로 대칭키를 공유하는 데 사용, 이산대수 이용
- RSA: 1977년 최초로 공개키 암호화 방식인 Rivest-Shamir-Adleman 이름을 딴 최초의 공개키 암호화 알고리즘으로 단순히 암호화 뿐 아니라 디지털 서명에도 사용됨, 암호화 체계는 안정성은 큰 숫자를 소인수 분해하는 것이 어렵다는 것을 기반으로 둠
커버로스 세션키 전송 절차
- 1. 클라이언트는 서버에 접속하기 위해 인증 서버에 계정, 비밀번호 입력
- 2. 인증 서버는 인증된 클라이언트에게 티켓 발급 서버로부터 티켓 발급을 허가
- 3. 티켓 발급 서버는 인증된 클라이언트에게 티켓을 발급
- 4. 클라이언트는 티켓을 이용하여 서버에 전송
- 5. 서버는 티켓을 확인 후 클라이언트를 인증하여 접속을 허가
공격 종류
- 재생 공격: 프로토콜상에서 유효 메시지를 골라 복사한 후 나중에 재전송함으로써 정당한 사용자로 가장
- 삽입 공격: 불법적인 공격자가 정당한 송신자로 가장(Impersonation)하여 특정 수신자에게 메시지를 보내어 역시 불법적인 효과를 발생시킴
- 메시지 변조: 전송되는 메시지들의 순서를 바꾸거나 또는 메시지의 일부분을 다른 메시지로 대체하여 불법적인 효과를 발생시킴
CFB(Cipher FeedBack mode) 블록암호화 운영모드
- 한 단계 앞의 암호문블록을 암호 알고리즘의 입력으로 사용하고, 평문블록을 직접 암호화하지는 않음
- 한 단계 앞의 암호문블록을 암호화하여 키 스트림을 생성해내고 생성된 키 스트림과 평문블록을 XOR하여 암호문 블록을 생성
스트림 암호
- 일회용 패드(OTP) 등을 구현할 목적으로 이용, XOR 암호화
- 블록단위 암호화보다 비트 단위 암호화가 시간상 더 빠름
- 블록암호화 운영모드 중 OFB 모드가 동기 스트림 암호화 방식과 유사하게 동작
전자서명
- 비대칭키 암호시스템에서 전자서명의 과정은 서명자의 개인키로 서명, 검증자는 서명자의 공개키로 서명을 검증, 암호화는 수신자의 공개키로 하며 수신자는 자신의 개인키로 해독
- 전자서명은 합법적 서명자만이 전자서명을 생성할 수 있어야 하는 위조불가의 특성과 서명자는 서명 행위 이후에 서명 사실을 부인할 수 없어야 하는 부인방지 기능이 있음, 위조와 부인방지를 위해 송신자의 유일한 정보 비트인 송신자 개인키를 이용해야 함
- 전자서명의 서명은 서명한 당사자가 소유한 유일한 것으로, 개인키를 이용하여 메시지를 암호화하여 보내는 방법으로 상대는 서명자의 공개키로 수신된 메시지를 검증해 봄으로써 서명자를 유일하게 확인
- 임의의 전자서명을 만들 수 있는 서명자와 서명받을 메시지를 제공하는 제공자로 구성한 서명방식, 제공자의 신원과 쌍(메시지, 서명)을 연결시킬 수 없어 익명성을 유지하는 서명 방식
접근통제모델
- 비바모델: 쓰기 수준은 보안 수준이 낮은 주체는 보안 수준이 높은 객체에 기록해서는 안되는 정책이고, 주체의 등급이 객체의 등급보다 높거나 같은 경우에만 그 객체를 기록할 수 있음
- MAC과 RBAC: 강제적 접근 통제, 사용자들은 자원에 대한 권한을 관리자로부터 부여받으며, 이것은 보안 레이블에 쓰인다. 그리고 오직 관리자만이 객체와 직원들에 대한 권한을 할당할 수 있고, 관리자만이 객체의 보안 레벨 또는 사용자 보안등급을 수정할 수있음, 정보 시스템 내에서 어떤 주체가 어떤 객체에 접근하려 할 때 보안 레이블 정보에 기초하여 높은 보안을 요하는 정보가 낮은 보안 수준의 주체에게 노출되지 않도록 접근을 제한하는 접근 통제 방법
- DAC: 임의적 접근 통제, 자원에 대한 접근을 사용자 계정과 그 계정에 부여된 허가, 거부 정책에 기반함, DAC에서는 사용자 또는 그룹 객체의 소유자일 때 다른 사용자나 그룹에 권한을 부여할 수 있음, DAC 모델은 자원에 대한 소유권에 기반함, 일반적인 운영체제에서 많이 쓰이는 접근 통제 모델
- RBAC: 주체의 역할에 따라 객체의 접근을 제어하는 방법, 관리자는 사용자에게 특정한 권리와 권한이 정의된 역할을 할당, 사용자별로 접근 통제 규칙을 설정할 필요가 없어 직무순환에 유리하면 비임의적 접근 통제(Non-DAC) 방법이라고도 함
PKI의 주요 역할에 따른 구성
- CA(인증기관): 인증서 발급, 관리, 인증정책 수립, 인증서 관리, 효력정지 관리, 폐지목록 관리, 다른 CA와 상호인증 제공, 인증서 취소 목록 보관
- RA(등록기관): 신원확인, 고객데이터 유지, 사용자 인증서 발급 요청
- 사용자: 사용자 및 사용자가 사용하는 시스템
- 저장소: DAP 및 RDAP등을 이용하여 디렉터리 서비스 제공, 인증서, 사용자 관련 정보, 인증서 효력정지, 폐지목록 등을 저장/검색하는 장소
AES 암호화 알고리즘 키길이에 따른 라운드 수(라운드: 암호화 한 것을 계속 암호화 시키는 것)
구분 | 키길이 | 블록길이 | 라운드 수 |
AES-128 | 4 | 4 | 10 |
AES-192 | 6 | 4 | 12 |
AES-256 | 8 | 4 | 14 |
인증서
- 사용자의 인증서에 인증서의 버전, 인증기관 정보, 인증서 유효기간 등 인증서의 기본 정보를 적용하며 신뢰
- 인증서의 폐기 기간이 남아있더라도 인증서를 폐지할 수 있음
- 인증서 폐기 시에 CRL에 추가되고 폐기 대상 인증서 목록에 인증기관이 전자서명을 함
- 서명은 무조건 개인키로 서명함
HMAC(Hash-based Message Authentication Code) 설계 시 고려사항
- 내장된 해시함수와 동일하게 교체가 용이해야 함
- 사용된 해시함수와 손쉽게 변경될 수 있어야 함
- 기존의 해시함수를 변경없이 사용 가능해야 함
- 성능저하없이 해시함수의 원래 성능은 계속 유지되어야 함
- 간단한 방법으로 키 조작이 가능해야 함
- 인증 매커니즘의 암호학적 분석 이해가 가능해야 함
블록암호화 운영 모드 중 메시지인증에 사용된 운영모드
- CBC(Cipher Block Chaining mode)
- CTR(CounTer mode)
WPA3의 Personal Mode에서 지원되는 순방향 비밀성(Forward Secrecy)의 의미
- 현재 사용되는 세션키나 마스터키가 노출되더라도 예전에 선행 암호화 트래픽의 기밀성에 영향을 미치지 않는 것
⭐️WPA3의 암호화의 특징
- 192bit ECC(타원곡선 암호화)
- SAE(Simultaneous Authentication of Equals) 기반 키 유도 함수 사용
- SHA-2 기반 메시지 무결성 및 인증 지원
- ECDH, ECDSA 기반 키 인증
공개키 기반 인증서
- 인증서란 사용자의 공개키와 사용자의 ID 정보를 결합하여 인증기관이 서명한 문서, 공개키의 인증서를 제공해주는 일종의 디지털 문서
- 인증기관이란 공개키와 인증서 소유자 사이의 관계를 확인해주는 인증서 발급기관의 역할
- 신뢰할만한 인증기관의 개인키로 서명된 사용자의 공개키가 포함되어 있음
- X.509 인증서의 확장 영역은 CRL 분배점, 사용자 공개키 사용 목적, 주체와 발급자에 대한 속성 정보 등 인증서에 추가적으로 정의할 수 있는 내용을 X.509 버전 3에서 확장자 개념을 도입
- 등록기관은 신원확인, 고객데이터 유지 등 인증기관의 입증을 대행하는 기관, 사용자의 인증서 발급을 요청
X.509 인증서에서 사용되는 프로토콜
- IPSec(Internet Protocol Security)
- S/MIME(Security Services for Multipurpose Internet Mail Extension)
- SSL/TLS(Secure Sockets Layer/Transport Layer Security)
해시함수의 특성
- 압축성: 다양한 가변길이의 입력에 고정된 크기의 결과값을 출력해야 함
- 일방향성(역상저항성): 해시값으로부터 메시지를 구할 수 없음. 즉, 주어진 임의의 출력값 y에 대해 y=h(x)를 만족하는 입력값 x를 찾는 것이 계산적으로 불가능함
- 강한 충돌저항성(충돌저항성): h(x)=h(x`)를 만족하는 임의의 두 입력값 x, x`를 찾는 것이 계산적으로 불가능함
- 두번째 역상 저항성: 주어진 입력값 x에 대해 h(x) = h(x`)를 만족하는 x != x` 찾는것이 계산적으로 불가능하여야 함
'정보보안산업기사' 카테고리의 다른 글
[정보보안기사 필기] 2020년 5월 30일 기출 (0) | 2022.06.22 |
---|---|
[정보보안기사 필기] 2021년 3월 27일 기출 (0) | 2022.06.17 |
[정보보안기사 필기] 2021년 9월 4일 기출 (0) | 2022.06.15 |
[정보보안산업기사 필기] 1과목 - 시스템 보안 Section2. 운영체제 구조 (0) | 2022.05.28 |
[정보보안산업기사 필기] 1과목 - 시스템 보안 Section1. 운영체제 이해 및 관리 (0) | 2022.05.27 |