티스토리 뷰
반응형
1. 보안 3요소
기밀성 (Confidential) : 데이터를 의도하지 않은 수신자로부터 보호
- HTTPS(TLS)를 아용하여 전송채널 암호화 (보안채널)
- 메시지 암호화를 적용할 경우, 안전하지 않은 채널(HTTP)을 이용 가능 (단, 메시지 암호화 과정에서의 노출 확인이 필요함)
- 애플리케이션에서 전송 전 데이터를 암호화 (메시지 암호화)
- 서버와 클라이언트가 미리 암/복호화에 대한 방법을 알아야 하므로 큰 분산시스템에서 적용의 어려움이 있음
- 이를 해결하기 위해 메시지 보안 표준을 사용 (XML 암호화, JSON 웹서명/암호화)
무결성 (Integrity) : 데이터의 정확성과 신뢰성을 보장하며 무단 수정을 탐지
- 예방 : 메시지 암호화 또는 보안 채널 이용
- 탐지 : 감사로그 이용 (감사로그 또한 무결성 요구조건이 만족되어야 함 (ex. Log Injection)
가용성 (Availability) : 합법적인 사용자가 언제나 시스템에 접근할 수 있도록 함
- DDoS의 경우 대부분 네트워크 경계 수준에서 공격을 탐지하므로 애플리케이션에서는 크게 고려하지 않아도 됨
- XML 구조 등을 이용한 DoS 공격 등은 애플리케이션에서 대응해야 함
- 강제 파싱 공격
- XML External Entity
- 해시 충돌
- ETC
- 파일업로드 제약(최대 파일 갯수, 최대 파일 사이즈)
2. 보안 제어
인증
- 사용자가 시스템에 ID(Username), Password 입력을 통한 직접인증
- ID Provider를 통한 중개인증 (이때, 서비스 제공자는 ID Provider 만 신뢰 / OAuth)
- 서비스의 중요도 및 리스크에 따라 지식기반, 소유기반, 생체기반 중 2개 이상의 타입의 요소를 결합하여 다중인증을 사용
인가
- 임의 액세스 제어 (DAC)
- 데이터를 소유한 사용자가 임의의 다른 사용자에게 권한을 양도
- 중앙화된 제어가 없으므로 보안 결함 가능성이 높음
- 필수 액세스 제어 (MAC)
- 지정된 사용자만 권한을 부여
- 접근 제어 규칙은 아래의 3가지 방법이 있음
- 권한 테이블 : '주체'(개인 또는 그룹), '행동', '자원' 으로 구성
- 접근제어 목록 : 각 자원과 주체로 구성
- 수행 가능성 : 각 주체에 각 자원에 대해 사용자가 수행할 수 있는 행동
- 정책 기반으로 접근제어를 사용할 경우
- 세분화 된 권한 부여 정책을 구성할 수 있음
- 기능과 접근제어 목록은 정책에서 동적으로 파생이 가능함
- 관련 표준 : XACML, OPA (Open Policy Agent)
부인방지
- 제 3자가 언제든지 확인할 수 있도록 위조할 수 없는 방식으로 데이터의 출처와 무결성을 증명
(사용자 신원, 날짜 및 시간, 트랜잭션 세부정보 등을 포함) - 디지털 서명
감사
- 합법적인 접근시도를 추적하는 것과 발생가능한 위협을 식별하기 위한 모든 불법접근 시도를 추적
반응형
'Security > Architecture' 카테고리의 다른 글
Application Security Architecture - Design Principles (0) | 2023.08.06 |
---|
댓글
반응형
최근에 올라온 글
- Total
- Today
- Yesterday