일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 유니티
- polymorphism
- MLFQ
- protection
- DSP
- information hiding
- 배경 그림
- unity
- 게임 개발
- 운영체제
- stride
- 게임개발
- Security
- OSI 7계층
- MAC
- AINCAA
- 메카님
- SJF
- frequency-domain spectrum analysis
- STCF
- Waterfall
- link layer
- FIFO
- SDLC
- Trap
- 컴퓨터 네트워크
- Unity #Indie Game
- OWASP
- DP
- 유스케이스
- Today
- Total
다양한 기록
CIA / Authenticaion, Authorization, Non-repudiation 본문
IT 컴포넌트와 CIA
하드웨어
- 가용성 : 장비의 도용, 장비의 불능화
ex) 장악하고 락하는 경우
소프트웨어
- 가용성
ex) 프로그램 삭제, 유저 액세스 거부
- 비밀성
ex) 허락을 받지 않은, 불법 복제
- 무결성
ex) 프로그램 변조, 리패키징 어택
데이터
- 가용성
ex) 파일 삭제, 유저 액세스 거부
- 비밀성
ex) 인가되지 않은 읽기, 데이터에 대한 통계 분석 (이 사람이 누구랑, 어디서 통신..)
- 무결성
ex) 기존 파일의 수정.. 특히 랜섬웨어 (데이터를 암호화 시키는 것, + 가용성도 깨트리는 공격이다)
커뮤니케이션 라인(네트워크)
- 가용성
ex) 선 절단, 메시지 삭제 및 망가뜨리기, 좀비 피시를 이용한 플루딩 공격(디도스)
- 비밀성
ex) 패킷 캡쳐, 트래픽 패턴 분석 (메시지가 데이터에 속한다고 볼 수도 있음)
- 무결성
ex) 메시지 변조(파라미터 변조), 맨 인 더 미들 -> TCP 패킷 순서 조작
** 위조 -> Authentication 위반, 변조가 Integrity 위반
Beyond CIA
Authentication
나라는 것을 증명하는 과정: 로그인
서버 입장에서는 누구인지 묻는 것
인증 방법: 공동인증서, SMS 인증, OTP, 생체인증
- Entity Authentication
사람이나 기계 개체를 인증.
기계의 경우
드론 공격에 사용, 이게 내 편인지 적 편인지 인증
산불이 났을 때, 악의적인 사람이 뿌려놓은 센서의 영향을 안받도록 기계 간 인증
- Messege Authentication
보내는 사람이 실제로 그 사람이 보냈는지 아닌지 확인
은행 : 여러 단계에 거쳐서 인증을 함.. 멀티팩트 오센티케이션
오센티케이션은 1차 방어선..
보안이 강화 -> 불편해짐
* 패스워드와 생체인증의 장단점
생체인증: 외우고 다닐 필요 없음 / 오류가 날 수 있음 (지문 인식기 상태, 지문 자체 상태..)
패스워드: 외우고 다녀야 함 / 교체하기 쉬움
** 스태틱, 다이나믹 생체 인증
스태틱한 생체 인증: 지문
다이나믹한 생체 인증: 목소리, 걸음걸이
스탠드얼론 컴퓨터 환경 : 이정도면 충분할 것
문제: 네트워크 시큐리티 고려.. 와이어 태핑, 패킷 스니핑 -> 인증이 가짜면 어쩔 것이냐
도청을 대비하여 암호화 -> 안전한 프로토콜을 쓰느냐는 중요한 문제
물론 암호화해도 패킷 캡쳐는 가능하고 리플레이 어택이 들어올 수 있음 -> 챌린지 리스폰스, 타임 스탬프 사용
** 안전하지 않은 프로토콜
HTTP, tftp, telnet..
** 안전한 프로토콜
HTTPS(TLS 사용), IPSEC, SSH..
** 암호학은 비밀 유지도 되지만 사용자 인증에도 많이 사용됨 (비대칭 키 방식, Messge Authentication Code 같은 방법)
Athorization
권한 부여
사용자에게 어떤 일을 할 수 있도록 허가할수도 있고 거부할수도 있음
리눅스 시스템에서 ls -l 하면 권한을 볼 수 있다
** 사용자, 그룹, 크기, 시간 등도 알 수 있음
r: read w: write x: excute
(d는 디렉토리) 그 다음부터..
첫 세 비트 : 사용자 권한
가운데 세 비트 : 그룹
뒤에 세 비트 : 그 외
권한 상승 공격: 루팅, 혹은 setuid 공격
이걸 막기 위해 많이 쓰는 방법이 권한 부여(인가)
** s 권한
x 기본 역할을 보유한 채로, 실행하는 동안에는 루트의 권한을 가질 수 있음
이 프로그램을 공격하면 권한이 상승됨
이런 위험한 프로그램을 조심해야 함
왜 유저 수준을 나누어 두는가?
서버는 기본적으로 멀티 유저 시스템이기 때문
어드민, 일반 사용자, 게스트..
리드, 라이트, 크레에이트, 뷰 등 다양한 작업이 유저마다 허가되는 것이 달라야 함
멀티 유저 시스템
Access Control : Authentication + Athorization
이메일 같은 경우 로그인을 하고, 해도 볼 수 있는 건 내 이메일 뿐
클라우드도 마찬가지.
대부분의 접근 제어는 관리자(루트)만 바꿀 수 있음
역할 기반 접근 제어, 속성 기반 접근 제어...
* 임의 접근제어: 자기 꺼 자기가 수정
패스워드 저장
/etc/passwd
==> aaa:x:1001:1001::/home/aaa:/bin/sh
사용자id:비밀번호:uid:gid::홈디렉토리:쉘디렉토리
콜론이 구분자, 여기서 x가 비밀번호인데
다른 사용자가 보지 못하도록 /etc/shadow 로 암호화되어 옮겨짐
* su: switch user
로그인 시 방식은 여러가지
X.509 : 공동인증서 표준
ACLs : 액세스 컨트롤 리스트
Authentication : Who Are You
- 올바른 사용자가 접근하고 있는가
- 유저, 데이터가 인증 가능하고 정확하다
Athorization : What You Can Do
- 해당 행동이 허가받았는가
- 시스템 리소스와 관련된 액세스 레벨, 유저 권한을 정하는 보안 메커니즘
Non-repudiation
부인 방지
누군가 비방하고 문제되면 안한적하기, 송금해놓고 안했다 하기..
책임을 물어야 함
방식: 로깅
누가 언제 무엇을 했는지
전자 서명도 부인 방지를 위한 대표적 방식
서명을 했으면 그 사람이 한 것이라 확인이 되는 것. 오센티케이션, 부인방지 양 쪽으로 되는 것
* 암호화
송신자의 개인 키로 암호화, 검증은 공개키로 복호화
전자서명 생성 키: 개인키
전자서명 검증 키: 공개키
키 쌍을 관리하는 곳: 인증기관(트러스트 서드 파티, 공신력이 있는 3자..가 은행에 하청해줌)
** 인증 기관의 예시: 한국정보인증, 금융결제원
공개키는 누구나 얻을 수 있고, 보통 인증서 안에 들어가 있음
+ 인증 기관의 전자 서명이 있음
Acountability, 시스템이 모든 트랜잭션에 대해 audit trail을 제공할 수 있음을 의미
*audit trail : 모든 거래에 대해 기록을 남기는 것
리눅스 기준, last 명령어
마지막 로그인 기록, 얼마나 접속했는지 등에 대한 정보를 알려줌
디폴트 20명
/var/log/wtmp 에 압축되어 있음
압축 안되어 있으면 디스크가 감당을 못하고,
압축이 되어 있기 때문에 cat으로는 보이지 않음
last 명령을 쓰면 누가 휴가가서 접근했어도 알 수 있음
* pts는 원격, tts는 로컬
* 세션 유지 기간 나옴
'보안개론' 카테고리의 다른 글
ptr[-1], ptr[-2]가 가지는 의미 (0) | 2024.05.19 |
---|---|
프로그램 버그 예시 (0) | 2024.05.19 |
암호화: 양방향 - 대칭키, 공개키 / 단방향 - 암호학적 해시 함수 (0) | 2024.04.07 |
보안의 목적, STRIDE / AINCAA (0) | 2024.04.07 |
Security Threat, Attack (0) | 2024.04.07 |