Secure (Web) Coding

시큐어코딩

012744 • 2025년 1학기 • 대전대학교

Schedule 강의일정

Date Lecture Content Logistics
3/4 slide thumbnail
Week #1:
01장: 웹 응용 프로그램 취약점이란?
  • p. 1-9

3/11 slide thumbnail
Week #2:
02장: 실습 환경 설정
  • p. 9-36

3/18 slide thumbnail
Week #3:
03장: 웹 보안 기초 - HTTP, 세션 관리, 동일 출처 정책, CORS
  • p. 37-88

3/25 slide thumbnail
Week #4:
04장: 웹 응용 프로그램 기능별 보안 버그, #1-4
  • p. 89-165

4/1 slide thumbnail
Week #5:
04장: 웹 응용 프로그램 기능별 보안 버그, #5-8
  • p. 165-255

4/8 slide thumbnail
Week #6:
04장: 웹 응용 프로그램 기능별 보안 버그, #9-12
  • p. 255-322

4/15 slide thumbnail
Week #7:
04장: 웹 응용 프로그램 기능별 보안 버그, #13-15
  • p. 322-373

4/22 Midterm Test
4/29 slide thumbnail
Week #9:
04장: 웹 응용 프로그램 기능별 보안 버그, #16-17
  • p. 374-441

5/6 No Class 어린이 날 (대체)
5/13 slide thumbnail
Week #11:
05장: 대표적인 보안 기능
  • p. 442-508

5/20 slide thumbnail
Week #12:
06장: 문자 코드와 보안
  • p. 509-528

5/27 slide thumbnail
Week #13:
07장: 취약점 진단 입문
  • p. 529-587

6/3 slide thumbnail
Week #14:
08장: 웹 사이트의 안전성을 높이기 위해
  • p. 588-618

6/10 slide thumbnail
Week #15:
09장: 안전한 웹 응용 프로그램을 위한 개발 관리
  • p. 619-630

6/17 Final Test
퀴즈 | 실기

스터디 가이드: 짧게

Top


Overview 개요

『웹 애플리케이션 보안 완벽 가이드』는 취약점을 최소화하기 위한 다양한 방법을 소개한다. 이 책에서는 PHP를 사용하지만 웹의 기본을 다루고 있어 다른 언어에서도 충분히 적용할 수 있는 내용을 다룬다. 4장까지는 PHP를 바탕으로 취약점을 소개하고, 취약점으로 발생할 수 있는 위협, 취약점을 없애기 위해 어떻게 개발해야 할지 예제 코드와 함께 상세하게 설명한다. 책에서 다루는 소스코드는 책과 함께 제공하는 가상 머신에도 포함돼 있으므로 책을 보면서 곧바로 실습을 진행할 수 있다. 5장 이후로는 개발 전 기획 단계에서 고려해야 할 기본적인 보안 기능과 직접 보안 진단을 하기 위한 방법들을 심도 있게 설명한다.

이 책은 웹 개발자뿐 아니라 보안 업계에 종사하는 웹 취약점 진단자에게도 유용한 내용이 수록돼 있어 진단 실무자에게도 유용할 것이다.

“Web Application Security: A Beginner’s Guide” introduces various methods to minimize vulnerabilities. This book uses PHP, but covers the basics of the web, so the content can be applied to other languages. Up to Chapter 4, vulnerabilities are introduced based on PHP, threats that can arise from vulnerabilities, and how to develop to eliminate vulnerabilities are explained in detail with example code. The source code covered in the book is also included in the virtual machine provided with the book, so you can practice immediately while reading the book. From Chapter 5 onwards, basic security features to consider in the planning stage of development and methods for direct security diagnosis are explained in depth.

This book contains useful content for web developers as well as web vulnerability diagnosticians working in the security industry, so it will be useful for diagnosticians in practice.

Textbook 교재

  1. Text: 웹 애플리케이션 보안 완벽 가이드 체계적으로 배우는 안전한 웹 애플리케이션 제작 기법
  2. Author: 토쿠마루 히로시 저/양현, 김민호, 연구흠 역
  3. Publisher: 위키북스 | 2019년 10월 04일
  1. Supplementary: C & C++ 시큐어 코딩
  2. Author: 로버트 시코드 저 / 이승준 역
  3. Publisher: 에이콘출판사 | 2015년 01월 09일 | 원서 : Secure Coding in C and C++

Top


Policies 규정

Grading 평가방법

Most of my courses are graded based on the following components. Please note that the weights of each component may vary depending on the course. The grading policy will be announced in the first class and will be available on the course website.
대부분의 강의는 다음 구성요소에 따라 평가됩니다. 각 구성요소의 가중치는 강의에 따라 다를 수 있습니다. 평가 방법은 첫 강의에서 발표되며 강의 웹사이트에서 확인할 수 있습니다.


Attendance (& Participation) 출석 (& 참여도)

This may be the most important part of the class. Please pay careful attention to the following.
이것은 수업의 가장 중요한 부분일 수 있습니다. 다음 사항에 주의 깊게 주목해 주세요.

I appreciate everyone being actively involved in the class! Students who will succeed are those who are actively involved.
저는 수업에 적극적으로 참여해 주시는 모든 분들을 감사하게 생각합니다! 성공할 학생들은 적극적으로 참여하는 학생들입니다.

Assignments & Practice Exercises 과제 (연습문제) 및 실습 (수업 활동 결과)

Projects (or Research Paper & Presentation) 프로젝트 (또는 논문과 발표)

The following types of projects may be assigned in my courses:
다음 유형의 프로젝트가 강의에서 할당될 수 있습니다:

Tests

There will be two tests in this class: a midterm and a final. Both tests may include both written and programming questions. The written questions will be similar to the homework questions, and the programming questions will be similar to the programming assignments. Written questions will be closed-book, and programming questions will be open-book (i.e., you can use any resources you want, including the Internet).

Top


Collaboration Policy

Homework assignments must be done individually: each student must hand in their own answers. However, it is acceptable to collaborate when figuring out answers and to help each other solve the problems. We will be assuming that you will be taking the responsibility to make sure you personally understand the solution arising from such collaboration. You also must indicate on each homework with whom you have collaborated.

Late Policy

You will be allowed 6 total homework late days without penalty for the entire semester. You may be late by up to 6 days on any homework assignment. Once those days are used, you will be penalized according to the following policy:

You must turn in 75% of the practices and assignments, even if for zero credit, in order to pass the course.

Regrade Policy

If you feel that we have made a mistake in grading your homework, please submit a regrading request via email and I will consider your request. Please note that regrading of a homework may cause your grade to go either up or down.

Top


Instructor 강사소개

Aaron Snowberger earned his Ph.D. in Information and Communications Engineering from Hanbat National University in South Korea in 2024. He also holds degrees in Computer Science and Media Design. He has taught technology courses for over 8 years, English for over 15 years, and has freelanced as a web developer and magazine designer for over 5 years. His current research interests include computer vision, natural language processing, image processing, signal processing, and machine learning.

Aaron Snowberger는 2024년 한국 한밭대학교에서 정보통신공학 박사 학위를 취득했습니다. 그는 또한 컴퓨터 과학 및 미디어 디자인 학위를 취득했습니다. 그는 8년 이상 기술 과정을 가르쳤고, 15년 이상 영어를 가르쳤으며, 5년 이상 웹 개발자 및 잡지 디자이너로 프리랜서로 일했습니다. 그의 현재 연구 관심사는 컴퓨터 비전, 자연어 처리, 이미지 처리, 신호 처리 및 머신 러닝입니다.

Top