연락처 정보

코스 개요

1. IT 보안 및 안전한 코딩

  • 기본 보안 원칙: Java 애플리케이션 컨텍스트에서의 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability, CIA)
  • 안전한 소프트웨어 개발 수명 주기(SSDLC): 요구 사항부터 배포까지 보안을 통합하는 과정
  • 안전한 코딩 패러다임:纵深 방어(Defense in depth), 최소 권한(Least privilege), 안전 실패 기본값(Fail-safe defaults)
  • 표준 취약점 분류: CWE(Common Weakness Enumeration) 및 OWASP 이해

2. 웹 애플리케이션 보안

  • OWASP Top Ten 심층 분석: 인젝션, 인증 실패, 민감 데이터 노출에 대한 상세 분석
  • 크로스 사이트 스크립팅(XSS): Java/JSP에서의 반영형(Reflected), 저장형(Stored), DOM 기반 XSS 시나리오
  • 크로스 사이트 리퀘스트 위조(CSRF): 공격 메커니즘 및 Anti-CSRF 토큰 구현
  • 세션 관리: 쿠키 보안, 세션 고정, 타임아웃 관리
  • API 보안: 남용으로부터 REST 및 SOAP 엔드포인트 보호

3. 웹 서비스 보안

  • 웹 서비스 vs. 전통적 웹 앱: 공격 표면의 차이
  • 전송 계층 보안: Java 클라이언트 및 서버용 SSL/TLS 구성
  • 메시지 보안: 페이로드 수준의 무결성 및 기밀성
  • 인증 표준: OAuth 2.0, OpenID Connect, JWT(JSON Web Tokens) 구현

4. XML 보안

  • XML 파싱 취약점: XML 외부 엔티티(XXE) 공격 방지
  • XML 스키마 검증: 엄격한 스키마 강제 적용의 모범 사례
  • XML 디지털 서명: 부인 방지(Non-repudiation)를 보장하기 위한 서명 구현
  • XML 암호화: XML 콘텐츠 암호화를 위한 표준 접근법

5. Java 보안 기초

  • Java 보안 아키텍처: java.security 패키지 및 프로바이더 아키텍처
  • 보안 프로바이더: Bouncy Castle과 같은 프로바이더 설치 및 구성
  • 액세스 제어: 정책 파일, 권한(Permissions), Security Manager(레거시 vs. 현대)
  • KeyStore 관리: 서명을 위한 키스토어 및 트러스트스토어 생성 및 관리

6. 실무 암호학

  • 암호화 알고리즘: 대칭(AES), 비대칭(RSA, ECC), 해싱(SHA-256/512) 알고리즘 개요
  • 난수 생성: java.util.Random의 위험성 vs. java.security.SecureRandom
  • 키 관리: 키 생성, 저장, 로테이션 전략
  • Java 암호화 아키텍처(JCA): Cipher, MessageDigest, Mac 클래스 사용
  • Java 암호화 확장(JCE): 정책 파일 및 무제한 강도 관할권(unlimited strength jurisdiction) 이해

7. Java 보안 서비스

  • Java에서의 SSL/TLS: SSLSocketFactoryHttpsURLConnection 사용
  • Trust Managers: 프라이빗 PKI 환경을 위한 신뢰 검증 커스터마이징
  • Authenticators: Authenticator.getDefault()를 사용한 프로그래밍 방식 인증
  • 서명 파싱: X.509 서명의 프로그래밍 방식 읽기 및 분석

8. Java EE 보안

  • 선언적 보안: web.xml 및 주석을 사용한 역할 기반 액세스 제어(RBAC)
  • 프로그래밍 방식 보안: HttpServletRequest.isUserInRole()getRemoteUser() 사용
  • JAAS(Java 인증 및 권한 서비스): login.conf 구성 및 LoginModule 구현
  • Servlet 보안: 컨테이너 관리 보안 제약 및 인증 방식(FORM, BASIC, DIGEST)

9. 일반적인 코딩 오류 및 취약점

  • 안전하지 않은 역직렬화: ObjectInputStream의 위험 및 보안 체크 우회
  • 명령 인젝션: OS 수준 실행 취약점 완화
  • 경로 횡단: 디렉터리 횡단을 방지하기 위한 파일 시스템 입력 정제
  • 리플렉션 오용: java.lang.reflect와 관련된 위험 및 액세스 제어 우회
  • 하드코딩된 자격 증명: 소스 코드에서 시크릿 식별 및 제거
  • 암호화 구현 오류: ECB 모드 사용, 약한 키, 정적 IV 사용

10. 지식 소스

  • 정적 분석 도구: 자동화된 스캔을 위한 SonarQube, Checkmarx, Fortify 사용
  • 동적 분석 도구: Burp Suite 및 OWASP ZAP 개요
  • CVE 데이터베이스: 새로운 Java 프레임워크 취약점 추적 및 대응 방법
  • 권장 읽을거리: 책, 문서, 안전한 코딩 체크리스트 목록

요건

없음.

 21 시간

참가자 수


참가자별 가격

회원 평가 (4)

예정된 코스

관련 카테고리