문의를 보내주셔서 감사합니다! 팀원이 곧 연락드리겠습니다.
예약을 보내주셔서 감사합니다! 저희 팀 멤버 중 한 분이 곧 연락드리겠습니다.
코스 개요
IT 보안 및 보안 코딩 기초
- 핵심 보안 원칙으로서의 CIA 3원리(기밀성, 무결성, 가용성) 이해
- 언어/플랫폼 전반에 걸친 일반적인 취약점 및 공격(SQLi, XSS, CSRF, SSRF 등)
- 코드 수준에서의 위협 방지, 탐지 및 완화 전략에서 안전한 SDLC의 역할
자바 관점의 웹 애플리케이션 보안
- OWASP Top Ten: 업계 표준과 일반적인 자바 결함 간 정렬
- Injection 완화: 준비된 문(Prepared Statement) 사용, ORM 레이어 및 매개변수화된 쿼리
- 인증 취약점(무선 세션 관리, 벡터로서의 XSS) 및 수정 패턴
- 디렉토리 순회 및 경로 조작 공격에 대한 강건함을 위한 입력 유효성 검사
자바 보안 및 암호화 심층 분석의 기초
- 핵심 암호화 개념: 대칭 및 비대칭 암호화, 해싱 알고리즘, 디지털 서명
- 보안 통신 프로토콜: 자바 애플리케이션(HTTPS)에서 TLS/SSL 설정의 모범 사례
- 실습: SSL/TLS를 사용하여 웹 서버와 백엔드 서비스 간 보안 연결 구성
자바 보안 서비스 및 엔터프라이즈 보안 기능
- 강력한 인증 구현을 위한 내장 보안 API 사용(JAAS, KeyStore, CertificatePath, SecureRandom)
- 하이재킹 또는 고정(Fixation) 위험을 최소화한 사용자 세션 관리
- 실습: 안전한 세션 관리 패턴 구현 및 세션 쿠키 도난 위험 완화
자바의 일반적인 코딩 오류 및 취약점
- 클래스 로딩 취약점(역직렬화 관련 CVE, JAR 추출 등)으로 이어지는 비보안 코딩 패턴 인식
- 권한 상승 하에서 임의 코드 실행으로 이어질 수 있는 안전한 리플렉션 사용 방지
- 비보안 로깅 프레임워크 사용의 영향 이해 및 안전한 핸들러 또는 로깅 레벨을 통한 위험 완화
- 실습: 비보안 자바 코드 샘플을 보안 패턴으로 리팩토링(FindSecurityBugs 리팩토링 과제)
실무에서의 암호화 및 현대적인 보안 코딩 패턴
- 실무 암호화: 안전한 키 관리 설계, 전송 중 및 저장 중인 민감한 데이터 보호
- 무결성 검증을 위한 해싱: 비밀번호 저장, 파일 내용 검증 및 디지털 서명 워크플로우
- 실습: 비밀번호 저장용 안전한 데이터 해싱(SHA-256) 구현 및 저장된 해시가 입력과 일치하는지 검증
고급 보안 코딩 및 위협 모델링
- Maven/Gradle에서 FindSecurityBugs를 사용하여 CI/CD 파이프라인에 정적 코드 분석 통합
- 위협 모델링 워크숍을 통해 설계 단계 초기에 위험 식별
- 워크숍: 샘플 자바 애플리케이션에 위협 모델링 적용, 위험 우선순위 지정 및 보안 코딩 관행 구현
마무리 프로젝트 및 보안 코딩 로드맵
- 참가자가 실제 자바 프로젝트(웹 애플리케이션, 마이크로서비스 또는 라이브러리) 선택
- OWASP Top Ten 취약점(Injection, 잘못된 인증, SSI 등)에 대한 코드베이스 분석
- 비보안 코드를 모범 사례 패턴으로 리팩토링하고 안전한 서비스 구성 구현
- 프로세스, encountered된 문제점, 새로운 학습 결과를 문서화하고 동료 검토 및 강사 피드백 받기
오픈 Q&A, 자료 배포 및 최종 검토
- 공통적인 보안 코딩 질문에 대한 답변, 고급 개념 명확화 및 실제 경험 공유를 위한 오픈 토론 포럼
- 선별된 자료 라이브러리: OWASP Java Secure Coding Top Ten CheatSheet, FindSecurityBugs 리팩토링 가이드, 권장 보안 코딩 라이브러리
- 강의 마무리 및 지속 중인 프로젝트에서 새로운 기술 적용을 위한 사후 교육 지원
요건
- 현대적인 랩톱/데스크톱 OS 및 표준 오피스 생산성 도구(워드 프로세서, 스프레드시트)를 운영하는 데 필요한 기본 컴퓨터 능력
- 사전 자바 프로그래밍 또는 보안 경험이 필요하지 않음; 객체 지향 개념과 표준 웹 개발 워크플로우에 대한 기초 수준 이해가 권장됨
- 기술 적용 실습을 위한hands-on 실습, 퀴즈 및 실제 사례 연구 분석에 적극적으로 참여하려는 의지
14 시간
회원 평가 (3)
복잡한 개요와 문맥에 대한 설명도 들을 수 있었습니다. 예를 들어, why do we need some annotations과 그것들이 무엇을 의미하는지 등에 대해 알아봤습니다. 실습 부분도 좋았습니다. 명령어를 직접 실행하고 REST API를 호출하는 과정이 포함되어 있었기 때문입니다.
Alina - ACCENTURE SERVICES S.R.L
코스 - Quarkus for Developers
기계 번역됨
연습과 프로젝트 공유를 통한 상호작용
Claudiu - MSG system
코스 - Advanced Spring Boot
기계 번역됨
공유된 추가 정보에 따르면, 훈련은 직관적이지 않은 Groovy였지만 그래도 좋았습니다.
Covenant - Vodacom
코스 - Groovy Programming
기계 번역됨