Skip to content

prosyslab-classroom/cs348-information-security

Repository files navigation

CS348: 정보보호개론 Introduction to Information Security

수업정보 Logistics

강의 소개 Course Description

이 강의에서는 정보보호 전반에 걸친 기초 내용을 다룬다. 암호, 시스템 보안, 소프트웨어 보안, 웹 보안, 네트워크 보안의 기본 개념을 소개하고 실생활에서 어떠한 보안 위협이 존재하는지 살펴본다. 그리고 이러한 위협으로부터 우리를 보호하는 여러가지 기술에 관해 이야기한다.

본 강의에서는 쉬운전문용어를 사용하여 소박하게 지식을 전달한다.

This course covers the overall contents of information security. Students will be exposed to fundamental concepts in information security including cryptography, system security, software security, web security, and network security. This course introduces how security attacks occur in modern computing environments. Students will also have opportunities to understand techniques to discover and disable such security attacks.

성적 Grading

  • 숙제 Homework: 40%
  • 시험 Exam: 40%
  • 참여 Participation: 20%

P/NR 관련 공지 Note for P/NR

이 강의는 P/NR 성적을 허용하지 않습니다. 신입생은 반드시 교수에게 이메일을 통해 사전 승인을 받은 후 수강신청하길 바랍니다.

This course DOES NOT allow for P/NR grading. Freshmen can enroll in this course only if they have prior approval from the instructor. Send an email to the instructor for approval.

교재 Textbook

숙제 Homework

이 강의에서 학생들은 다양한 숙제를 통해 정보보호의 기본 개념을 실제로 익힙니다. 특히 여기에 있는 도구를 사용할 예정입니다.

모든 숙제 제출은 Github와 Gradescope 를 통해서 이루어집니다. 매 숙제마다 제출을 위한 GitHub Classroom 초대 URL이 게시판에 공지됩니다. 초대를 수락하면, 여러분의 숙제를 위한 비공개 개인 저장소가 만들어 질 것입니다. 여러분은 제출 기한 이전에 원하는 만큼 해당 저장소에 제출할 수 있고, 이 저장소를 Gradescope에 제출하여 채점결과를 확인할 수 있습니다.

기한을 넘겨서 제출할 시 아래와 같은 규정에 따라 채점합니다:

  • 하루 늦을 시 점수의 80%
  • 이틀 늦을 시 점수의 50%
  • 사흘 이상 늦을 시 0%

모든 프로그래밍 과제는 값 중심 프로그래밍 [1,2]의 철학과 소프트웨어 개발의 기본 원칙을 따릅니다. 이를 통해 프로그래밍의 즐거움과 고급 개발자의 소양을 함께 느끼게 됩니다.

숙제에 관해 자주 묻는 질문란도 참고하세요.

This course includes written and programming assignments. Students will use tools described here. All submissions will be managed using Github. For each assignment, a unique invitation URL for GitHub Classroom will be posted in the discussion board. Once you accept the invitation, a private repository for your assignment will be created. You can push as many commits as you want before the deadline. We will grade the final commit of your main branch.

The late homework policy is as follows:

  • 80% credit for one day late
  • 50% credit for two days late
  • NO credit given after two days late

All programming assignments adhere to the philosophy of value-oriented programming [1,2] and the fundamental principles of software development. Through this approach, learners experience both the joy of programming and the refined skills of an advanced developer.

Please also refer to the Frequently Asked Questions section regarding the assignments.

학문 윤리 Academic Integrity

학문 윤리를 어긴 수강생은 F를 받습니다. 자세한 사항은 KAIST 전산학부 명예규정을 참고하십시오.

세상에 널린 자료 (예: 구글 검색, ChatGPT)를 참고하는 것은 좋지만, 그대로 베끼는 것은 윤리에 어긋납니다. 제출한 과제는 기존 저작물(다른 수강생, 과거 수강생, AI 생성물 등)과 자동으로 비교하여 표절물을 검사합니다. 완전히 본인의 것으로 재창조하지 않고 기존 저작물과 비슷한 경우는 표절로 판단합니다. 이러한 원칙은 AI도구가 등장했다고 해서 달라지지 않습니다.

Students who violate academic integrity will get an F. See the KAIST CS honor code.

It’s fine to refer to readily available resources (e.g., Google searches, ChatGPT), but copying them directly is unethical. Submitted assignments will be automatically compared to existing works (other students’ work, past students’ work, AI-generated content, etc.) to check for plagiarism. If the work closely resembles existing material without being fully recreated as your own, it will be considered plagiarism. This principle remains unchanged even in the AI era.

강의 계획 Schedule

# Topics Reading Homework
0 Functional Programming in OCaml HW0: Hello-world, OCaml programming
1 Introduction
2 Concepts in Security
3 Classical Cryptography IMC Ch1 HW1: Classical Cryptography
4 Symmetic-key Encryption IMC Ch2, Ch3, AES Visualization HW2: Mini-AES
5 Message Integrity IMC Ch4, Birthday Paradox HW3: Mini-SHA
6 Availability
7 Public-key Cryptography IMC Ch11, Ch12, Ch13, Diffie-Hellman HW4: Mini-RSA
8 Access Control Zelkova HW5: Access Control System
9 Web Security CSI Ch9
10 Software Vulnerabilities HW6: Exploitation
11 Safe Programming Systems Undecidability
12 Dynamic Analysis and Fuzzing HW7: Fuzzer
13 Static Analysis CACM'19, Zoncolan HW8: Static Analyzer
- Final Exam

명예의 전당 Hall of Fame

지난 학기 수강생들이 남긴 멋진 작품을 여기서 감상해 보세요 (에세이, 그림 등).

See the outstanding achievement of our friends here.

심화 과목 Advanced Course

감사 Acknowledgment

이 강의 자료의 일부는 KAIST 강민석, 차상길 교수님의 강의록을 참고하여 작성하였습니다.

A large part of the slides is based on the lecture notes of Prof. Min Suk Kang and Prof. Sang Kil Cha at KAIST.

참고 자료 References

기본 Preliminaries

암호 Cryptography

안전한 프로그래밍 언어 Secure Programming Languages

프로그램 분석과 검증 Program Analysis & Verification

AI와 안전한 소프트웨어 AI & Secure Software

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 16

Languages