연락처 정보

코스 개요

I. 보안 코딩 및 웹 애플리케이션 보안 소개

1. 현대 웹 애플리케이션 위협 환경

  • 일반적인 웹 애플리케이션 공격 벡터
  • 현대 ASP.NET 애플리케이션의 보안 위험
  • 소프트웨어 개발에서 보안 코딩의 역할
  • OWASP 재단 및 해당 자료 소개

2. 안전한 소프트웨어 개발 원칙

  • 설계 단계에서의 보안 (Security by design)
  • 심층 방어 (Defense in depth)
  • 최소 권한 원칙
  • 안전한 실패 처리 (Fail securely)
  • 기본 설정의 보안성
  • 위협 모델링 기본 개념

II. 안전한 개발 수명 주기 (SDL)

1. 안전한 소프트웨어 개발 수명 주기

  • 개발 전 주기에 걸친 보안 활동
  • 보안 요구 사항 정의
  • 안전한 아키텍처 및 설계
  • 안전한 코딩 실천 방법
  • 보안 테스트 및 검증
  • 안전한 배포 및 유지 보수

2. 위험 평가 및 위협 모델링

  • 자산 및 위협 식별
  • 공격 표면 분석
  • STRIDE 개요
  • 보안 우선 순위 결정

III. ASP.NET 애플리케이션을 위한 OWASP Top 10

1. OWASP Top 10 이해하기

  • 접근 제어 위반
  • 암호화 오류
  • 인젝션 (Injection)
  • 불안전한 설계
  • 보안 구성 오류
  • 취약점 및 최신 업데이트되지 않은 컴포넌트
  • 식별 및 인증 위반
  • 소프트웨어 및 데이터 무결성 오류
  • 보안 로깅 및 모니터링 실패
  • 서버 측 요청 위조 (SSRF)

2. OWASP 권장 사항 적용

  • 안전한 코딩 기술
  • 예방적 통제 수단
  • 안전한 구성 실천 방법
  • 현실적인 예제 및 시연

IV. 인증 및 권한 부여 보안

1. 인증의 기본 개념

  • ASP.NET에서의 인증 메커니즘
  • 비밀번호 보안
  • 다중 요소 인증 (MFA)
  • 세션 관리
  • 아이디 관리

2. 권한 부여 및 접근 제어

  • 역할 기반 권한 부여
  • 클레임 기반 권한 부여
  • 정책 기반 권한 부여
  • 권한 상승 방지
  • 민감한 자원 보호

V. 인젝션 공격 방지

1. 인젝션 취약점

  • SQL 인젝션
  • 명령어 인젝션
  • LDAP 인젝션
  • XML 인젝션
  • NoSQL 인젝션 개요

2. 안전한 코딩 기술

  • 파라미터화된 쿼리
  • 입력 검증
  • 출력 인코딩
  • ORM 보안 고려 사항
  • 안전한 데이터베이스 접근 실천 방법

VI. 크로스 사이트 스크립팅 (XSS) 방지

1. XSS 이해하기

  • 저장형 XSS
  • 반사형 XSS
  • DOM 기반 XSS
  • 공격 시나리오

2. XSS 방지 방법

  • 출력 인코딩
  • 입력 검증
  • 콘텐츠 보안 정책 (CSP)
  • HTML 및 JavaScript의 안전한 처리
  • XSS 방지를 위한 ASP.NET 보안 기능

VII. 크로스 사이트 요청 위조 (CSRF) 방지

1. CSRF 이해하기

  • CSRF 공격의 작동 방식
  • 일반적인 공격 시나리오
  • 비즈니스 영향 분석

2. CSRF 보호 전략

  • 방위 토큰 (Anti-forgery tokens)
  • SameSite 쿠키
  • 안전한 세션 관리
  • ASP.NET 방위 메커니즘

VIII. ASP.NET 애플리케이션의 안전한 구성

1. ASP.NET 보안 기능

  • 구성 파일의 보안
  • 안전한 HTTP 헤더 사용
  • HTTPS 및 TLS 설정
  • 비밀 정보 관리
  • 안전한 오류 처리

2. 민감한 데이터 보호

  • 데이터 보호 API 사용
  • 자격 증명의 안전한 저장
  • 암호화의 기본 개념
  • 키 관리

IX. 입력 검증 및 안전한 데이터 처리

1. 사용자 입력 검증

  • 화이트리스트와 블랙리스트 비교
  • 서버 측 검증
  • 클라이언트 측 검증 고려 사항
  • 파일 업로드 보안

2. 안전한 데이터 처리

  • 직렬화 보안
  • 역직렬화의 위험
  • 데이터 무결성 유지
  • 안전한 로깅 실천 방법

X. 침투 테스트 및 보안 검증

1. 침투 테스트 방법론

  • 보안 평가 계획 수립
  • 취약점 식별
  • 공격 개념 이해
  • 결과 보고

2. 보안 테스트 기술

  • 정적 애플리케이션 보안 테스트 (SAST)
  • 동적 애플리케이션 보안 테스트 (DAST)
  • 상호작용형 애플리케이션 보안 테스트 (IAST)
  • 의존성 및 컴포넌트 분석
  • 수동 코드 검토

XI. ASP.NET 애플리케이션 보호

1. 안전한 코딩 실천 방법 적용

  • 안전한 인증 구현
  • 안전한 권한 부여 구현
  • 세션 보안
  • 예외 처리
  • 로깅 및 모니터링
  • 안전한 배포 고려 사항

2. 보안 모범 사례

  • 보안 코딩 표준 준수
  • 의존성 관리
  • 패치 관리
  • 지속적인 보안 개선

XII. 실습 보안 워크숍

1. 일반적 취약점 식별 및 공격 실행

  • 불안전한 ASP.NET 코드 분석
  • OWASP Top 10 취약점 식별
  • 공격 기술 이해
  • 애플리케이션 보안 평가

2. 보안 문제 해결

  • 안전한 코딩 수정 적용
  • 완화 조치 검증
  • 수정된 애플리케이션 테스트
  • 안전한 코드 검토 연습

XIII. 요약 및 과정 리뷰

1. 주요 개념 복습

  • 안전한 설계 원칙
  • OWASP Top 10 완화 전략
  • ASP.NET 보안 기능
  • 안전한 개발 수명 주기

2. 최종 논의

  • 안전한 코딩 모범 사례
  • 개발 팀에 보안 문화 정착시키기
  • 추가적인 OWASP 자료 및 도구
  • 질문 응답 및 향후 계획

요건

ASP.NET 관련 경험
웹 애플리케이션 개발 경험

 21 시간

참가자 수


참가자별 가격

회원 평가 (5)

예정된 코스

관련 카테고리