웹 보안의 기본 요소
가상 머신 프로그램
- 물리적 기기 안에 가상으로 만들어진.
- 가상 기기 내의 소프트웨어는 하나의 물리적 기기를 사용하고 있다고 생각
패스워드
- 가장 널리 사용되는 기본적인 사용자 인증 방식
- ROT 13 고전 암호의 한 종류, 시저 암호
- ROT 18 모든 문자 숫자 치환 가능
- ROT 47 모든 아스키 문자 치환 가능
- 패스워드 관리 프로그램 : 사용자가 보유한 고유의 비밀번호를 안전한 장소에 보관하고 하나의 마스터 비밀번호로 암호화 (keepass 오픈 소스 패스워드 관리 프로그램, db는 가장 안전한 암호화 알고리즘 사용해서 암호화)
공동인증서
- 전자서명의 검증에 필요한 공개키에 소유자 정보를 추가해서 만든 전자 신분증
- 패스워드 인증 메커니즘보다 한 단계 강화
- 공개키와 비밀키 쌍으로 인증하는 공개키 기반 구조 메커니즘
- 전자 서명 - 서명은 비밀키, 검증은 공개키
생체 인증
- 사용자를 인증하는 현존 방식 중 가장 강화된 방식
- 가장 대중적인 것은 지문 인식 - 지문 등록 db 저장, 지문 인증 db와 비교해서 인증
- 간편하고 인증 데이터 크기가 작아서 빠르게 인증 가능한 손 모양 - 손가락 길이 굵기, 인증 수준이 낮고 조작 가능
- 보안 수준이 높지만 장비가 크고 비싼 손 모양 - 적외선 정맥 모양 촬영
- 정확도가 높지만 오래 걸리는 망막 - 눈 뒷부분 모세혈관 형태 확인, 안경 쓴 상태에서 수행 불가
- 홍채 - 망막 인식 기술이 홍채 인식 기술로 대체되는 추세, 더 정확하고 먼 거리에서도 인증 가능
- 서명 - 장비를 이용해서 진위 여부 확인하는 낮은 수준
- 목소리 - 편하지만 낮은 수준
- 얼굴 - 무표정한 얼굴만 , deepface
- 뇌파
생체 인증의 측정 기준
- FRR rejection type 1 error 권한 있는 사람이 실패
- FAR acceptance type 2 error 권한 없는 사람이 성공
- 권한 없는 사람이 성공하는 것이 더 큰 문제 far
- EER 곡선의 교차점 - 좋은 생체 인증 방식은 만나는 EER지점이 낮은 것
접근 통제
- TS 가장 높은 1급 비밀 극도의 치명적인 피해, S 국가 보안에 심각한 피해를 입힐 수 있는 2급 비밀, C 피해입힐 수 있는 3급 비밀, R 의도치 않은 영향 대외비, U 분류되지 않은 정보
접근 통제 모델
- DAC discretionary access control 임의적 접근 통제
정보 소유자가 보안 수준과 통제 결정
엄격한 접근 통제는 거의 불가능
파일에 대한 접근 통제와 같은 것
- MAC Mandatory access control 강제적 접근 통제
Bell-LaPadula 모델 - 기밀성에 따라 상하 관계 구별된 정보 보호 , property 높은 수준 문서 쓰기 가능, 낮은 문서 쓰기 불가
Biba 모델 - 정보의 무결성을 높이는 것이 목적
RABC - authorization creep 불필요한 권한을 많이 가져서 권한 확대, 사람이 아닌 직책에 따라
접근 통제 구현 방법
- 관리적 접근 통제 - 정책 절차를 수립해서 직원 통제 활동 등
- 논리적 접근 통제 - 기술적 통제 보호할 정보에 접근하는 것을 제한 하기 위해 사용하는 hw, sw, 인터페이스
- 물리적 접근 통제 - 네트워크 잠금 장치 설치 및 분리
입력값 검증 방법
- SQL 인젝션 공격 코드 입력값 검증
안전성이 보장된 객체를 이용해서 쿼리문을 전달하여 sql 인젝션 공격 취약점 제거하는 것이 가장 안전 prepareStatement(query) setString()
- 크로스 사이트 스크립팅 공격 코드 입력값 검증
외부에서 스크립트 코드를 입력하지 못하도록 방어하기 위해 문자열을 <, > 등으로 치환하는 것이 보안상 유리 replaceAll
- 악성 파일 업로드 공격 입력값 검증
필요한 파일의 확장자만 업로드 허용하고 저장할 때는 추측할 수 없도록 문자열 변형하여 저장 uploadFilePath if fileName.endsWith
- 서버 측 필터링
보안 수준이 어느 측 언어에 포함하냐에 따라 달라짐
- 클라이언트 측 필터링
웹 인터셉트 프로그램으로 무력화 가능하므로 입력값 검증 코드는 서버측 언어 내에서 구현
- 화이트리스트 방식
특정 입력값만 수용하고 나머지 필터링, 확장자가 아닌 것 차단
- 블랙리스트 방식
악성 패턴만 필터링, 대부분 허용하고 일부 특정 값만 차단할 때 사용
'[ Computer Security ] > Web Security' 카테고리의 다른 글
[웹보안] 모바일 보안 (0) | 2024.08.26 |
---|---|
[웹보안] 웹 보안 정책, 조직, 솔루션 (0) | 2024.08.26 |
[웹보안] 웹 서버 보안 (0) | 2024.08.26 |
[워게임/웹해킹] Dreamhack 409 . session-basic (0) | 2024.05.11 |
[워게임/웹해킹] Dreamhack 267 . devtools-sources (0) | 2024.05.11 |
[웹보안] 인터넷 해킹과 보안 연습문제 8장 (0) | 2024.04.29 |
[웹보안] 인터넷 해킹과 보안 연습문제 7장 (0) | 2024.04.29 |