컴퓨터보안 (Computer Security)
본 강좌에서는 암호학에 대한 기본적인 이해를 바탕으로 컴퓨터 보안에서 필수적인 개념에 대해 공부한다. 운영체제, 데이터베이스, 네트워킹 및 소프트웨어와 관련된 컴퓨터 시스템에서 발생할 수 있는 다양한 보안 이슈에 대해서 공부한다. 특히, 인증, 접근제어, 악성코드, 서비스거부, 침입탐지, 방화벽 등을 비롯하여 소프트웨어 개발 및 구현 과정에서 발생하는 버퍼 오버플로우에 대한 내용을 다룬다.
This course aims at understanding the essential concepts in computer security after studying basic concepts for cryptography. The security issues are covered, which might be occurred in OS, database, networking, and software related computer systems. In particular, general security topics are covered such as authentication, access control, malware, DDoS, intrusion detection, firewall, secure coding, and buffer overflow.
시스템소프트웨어와실습 (System Programming and Practice)
본 강좌는 다양한 시스템 소프트웨어를 작성하고 응용하는데 필요한 능력을 기르는 핵심적인 과목이다. 우선, 가상의 단순 명령어 컴퓨터 (SIC/XE) 머신에 대해 학습하고 어셈블러, 링커, 로더 및 운영체제에 대해 이해한다. 또한, 리눅스 커널 프로그래밍을 통해 운영체제의 원리를 이해한다. 강의/실습/과제를 통하여 어셈블러, 링커를 구현해보고 리눅스 커널 기반의 서버를 작성해 본다.
This course aims at understanding the essential concepts in writing various system softwares. First, basic concepts are introduced for simple instruction computer and its extension (SIC/XE). Second, several algorithms are presented for implementing assembler, linker, and loader are introduced. Finally, the essential APIs in Linux kernel such as process, thread, and IPC are covered with a lot of practices.
컴퓨터알고리즘과실습 (Computer Algorithm and Practice)
컴퓨터 응용에서 자주 발생하는 문제에 대한 자료구조를 효과적으로 분석하고, 이를 토대로 효과적인 컴퓨터알고리즘을 작성하는 기법을 익힌다.
We learn how to analyze data structures for application problems and design efficient computer algorithms based on the data structures.
운영체제 (Operating System)
최신 운영체제의 내부 구성요소 및 그 동작에 대해 소개한다. 특히, 프로세스와 스레드, 스케쥴링, 프로세스간 통신, 메모리 관리, 파일시스템, 입출력 시스템 및 보안 등을 공부한다. 또한, Unix/Linux 운영체제를 사용하여 다양한 프로그램밍 과제를 통해 이해를 돕도록 한다.
This course provides an introduction to internal components and operation of modern operating systems. The cource will cover processes and threads, scheduling, interprocess communication, memory management, file systems, input/output system and security. Students will use the Unix/Linux operating system for several programming projects to understand these concepts.
인터넷프로그래밍 (Internet Programming)
인터넷에서 기본적인 웹 프로그래밍을 할 수 있도록 웹 페이지 작성 언어를 공부하고, 클라이언트 측에서 사용되는 스크립트 언어를 학습하며, 서버 측에서 사용되는 스크립트 언어를 공부한다.
This course introduces web programming on the internet. We study web document languages used to construct web pages. Then, we learn client-side scripting languages and server-side scripting languages.
공개SW프로젝트 (Open Source Software Project)
공개 소프트웨어의 중요성과 사회 발전에 미치는 영향을 이해한다. 또한, 기존의 공개소프트웨어를 기반으로 새로운 공개소프트웨어를 개발하는 전과정을 경험한다. 공개소프트웨어 개발환경에서 공개소스를 기반으로 팀단위 협업프로그래밍 과제를 수행하여 유용한 소프트웨어를 제작하고 이를 공개한다.
This class starts with understanding the importance of open source software and its societal impact. The students experience the complete procedure of developing a new open source software application from existing open source platforms. They develop a useful software product and contribute it to the community by carrying out a team programming assignment under open source development environment.
컴퓨터공학종합설계 1 (Computer Engineering Capstone Design 1)
본 강좌는 전공교육과정을 통해 습득한 지식을 바탕으로, 목표하는 기능과 성능을 포함한 제반 요구조건들을 만족하도록 시스템을 고안하는 과정을 수행하는 종합설계 교과목이다. 현대적인 설계이론과 함께 설계문제 모델링, 선행기술 조사, 아이디어 생성, 비교분석, 계획서 작성, 협업적 설계 등을 교육하며, 학생들은 팀을 구성하여 팀별로 특정한 주제에 관한 프로젝트를 수행한다.
This class deals with the engineering design problem which is defined as the process of devising a system, component, or process to meet the desired needs. Among the fundamental elements of design process, the establishment of design objectives and criteria, researches on the previous works, idea making, analysis, presentation for the design proposal, and collaborative design are focused in this course. Students form a team and work on a project throughout the semester.
컴퓨터공학종합설계 2 (Computer Engineering Capstone Design 2)
본 강좌는 전공교육과정을 통해 습득한 지식을 바탕으로, 목표하는 기능과 성능을 포함한 제반 요구조건들을 만족하도록 시스템을 개발하는 과정을 수행하는 종합설계 교과목이다. 컴퓨터공학종합설계1에 연이어 시스템 구현, 테스트, 상세 시스템 명세, 보고서 작성, 공학윤리 등을 교육하며, 학생들은 팀을 구성하여 팀별로 특정한 주제에 관한 프로젝트를 수행한다.
This class deals with the engineering design problem which is defined as the process of devising a system, component, or process to meet the desired needs. Continued with the Computer Engineering Capstone Design 1 course, the implementation of detailed system components and their integration, testing, presentation of the design report, engineering ethics are done during this course with team members.
시민 정서 분석 (The Analysis of Citizen's Sentiment)
(22-01)사용자 댓글 분류 기반 비정치적 온라인 커뮤니티 정치 성향 분석
최근 소셜 미디어가 발달함에 따라 다양한 온라인 커뮤니티가 만들어지고 있으며 이러한 커뮤니티 중에는 정치적인 성향을 띄는 커뮤니티가 존재한다. 하지만 정치적인 토론이나 의사표현이 항상 정치 주제와 관련이 있는 커뮤니티에서만 발생하는 것은 아니다. 본 논문에서는 미국의 웹사이트 Reddit에 존재하는 정치 주제와 관련이 없는 subreddit이 주어졌을 때 사용자들의 댓글을 분석하여 해당 subreddit의 종합적인 정치 성향을 분석하였다. 실험 결과, 정치와 전혀 관련이 없는 주제의 커뮤니티에서도 정치적인 토론이나 의사표현이 항상 유의미한 수준으로 분포한다는 것이 드러났다.
The recent development of social media has led to the creation of many different online communities, some of which have a political bent. However, political discussions and expressions do not always occur in communities related to political topics. In this paper, we analyze the overall political orientation of subreddits on the American website Reddit by analyzing users' comments on non-political subreddits. The results show that even in communities with non-political topics, there is always a significant distribution of political discussions and expressions.
(22-02)커뮤니티 별 혐오 표현 빈도 시각화 - 이태원 참사 전후 '디시인사이드'와 '에펨코리아'의 혐오 수치 변화 분석
온라인 커뮤니티의 발달로 정보 제공 및 의견 교류의 장으로 적극적으로 사용되고 있는 한편, 온라인에서의 혐오 표현으로 인한 사회 문제가 심화되고 있다. 이에 대한 법적 규제는 현실적인 한계가 있는 상황에서 본 연구는 커뮤니티 사용자들 스스로 심각성을 인지하여 자율적 규제를 실천하는 것이 근본적인 해결법이라고 생각하고 사용자들이 커뮤니티의 혐오 표현 현황을 파악할 수 있는 서비스를 제작하였다. 또한 제작한 서비스를 이용해 디시인사이드와 에펨코리아의 이태원 참사 전후 일별 혐오 수치의 변화를 분석해보며 참사 직후 정치적 의견 대립과 참사의 충격 등의 원인으로 두 커뮤니티 모두에서 정치 성향, 욕설 분야의 혐오 표현이 급증했음을 확인해볼 수 있었다. 또한 추가적으로 게임등급위원회와 관련된 논란이 이슈화된 시기 노년층을 향한 혐오 표현이 급증하였음을 확인해볼 수 있었다. 이러한 결과들을 통해 제작한 커뮤니티별 혐오 수치 시각화의 활용성을 제시하였다.
With the development of online communities, they are actively used as a place to provide information and exchange opinions, but social problems caused by online hate speech are intensifying. As legal regulations have practical limitations, this study believes that the fundamental solution is for community users to recognize the seriousness of the problem and practice self-regulation, and created a service that allows users to check the status of hate speech in the community. Using the service, we analyzed the changes in the daily hate levels of DishInside and FEM Korea before and after the Itaewon tragedy, and found that there was a sharp increase in hate speech in both communities due to political disagreements and the shock of the tragedy. In addition, we found that there was a sharp increase in hate speech against the elderly during the controversy over the Game Ratings Board. These findings demonstrate the utility of visualizing hate by community.
(23-여름)상반기 국내개봉영화 실관람객 리뷰 분류 기반 관객 정서 및 영화 감상 키워드 분석 빅데이터 연구
올해 상반기 포스트 코로나를 맞이하여 코로나19로 인해 큰 타격을 입었던 영화산업이 다시 회복세를 보이고 있다. 하지만 실상을 들여다보면 외국영화의 매출액은 코로나 이전 수준까지 근접한 반면에 한국영화 매출액은 절반에도 미치지 못하고 있으며 영화 점유율은 20%대까지 떨어지면서 한국영화는 코로나19 때보다 더 심각한 위기라는 진단이 나오고 있는 상황이다. 따라서 실제 관객들이 느끼는 한국영화의 특징과 문제점을 외국영화와 비교분석하고 영화감상의 주요 키워드는 무엇인지 파악하기 위해 상반기 국내개봉 영화들의 실관람객 리뷰 빅데이터를 웹크롤링하여 수집하고 카테고리별로 분류해 LDA 토픽 모델링과 빈도분석을 한 후 LSTM 딥러닝 모델로 키워드별 감성분석을 수행한다. 분석 결과 키워드별 영화 리뷰 토픽 모델링과 워드클라우드 시각화를 통해 카테고리별로 관람객 리뷰 관련 주요 토픽과 단어들을 파악할 수 있었고 외국영화에 비교해서 한국영화는 음악과 영상미 부분에서 긍정적인 리뷰가 많았으나 스토리와 연출적인 부분에서는 부족하다고 관람객들이 느끼고 있다는 것을 확인할 수 있었다.
In the first half of this year, the movie industry, which was hit hard by COVID-19, is showing signs of recovery. However, if we look at the reality, the sales of foreign films are close to the pre-COVID-19 level, while the sales of Korean films are less than half, and the market share of Korean films has dropped to the 20s, leading to the diagnosis that Korean films are in a more serious crisis than before COVID-19. Therefore, in order to compare and analyze the features and problems of Korean films with foreign films and identify the main keywords of movie viewing, we collected the big data of movie reviews of the first half of the year by web crawling, classified them by category, performed LDA topic modeling and frequency analysis, and performed sentiment analysis by keyword with LSTM deep learning model. As a result of the analysis, through topic modeling and word cloud visualization of movie reviews by keyword, we were able to identify key topics and words related to audience reviews by category, and found that compared to foreign movies, Korean movies received more positive reviews in music and visual beauty, but audiences felt that they were lacking in story and directing.
게임 엔진 기반 합성 데이터 생성 (The Generation of Synthetic data based on Game Engine)
(23-01)게임엔진을 활용한 딥러닝 분석용 데이터셋 생성 연구
객체 탐지는 컴퓨터 비전과 인공지능 분야에서 중요한 기술로 자리 잡고 있으며, 드론으로 생성된 데이터셋은 여러 고도, 거리, 각도에서 다양한 장면을 포착하여 객체의 위치, 크기, 형태 등을 레이블링하여 학습 데이터로 사용된다. 이를 통해서 객체 탐지 모델을 훈련시켜 주행 자동차, 자연재해 모니터링, 경계 감시 및 보안, 건설 인프라 관리 등 다양한 분야에서 활용될 수 있다. 하지만, 실제 드론을 사용하는 데이터셋 생성 과정에는 높은 비용, 불안정한 데이터셋 생성 환경, 데이터 라벨링 수작업 등의 어려움이 존재한다. 따라서 해당 연구는 데이터셋 생성에 있어서 비용 절감, 안정적인 데이터 생성 환경, 반복 가능한 실험, 데이터 라벨링 편의성, 다양한 환경 시뮬레이션이라는 차별점을 목표로 연구를 진행하였고 연구 결과 언리얼 엔진 5와 오픈 소스 시뮬레이터 플러그인 AirSim 을 이용해서 위의 목표를 달성하였다.
Object detection is becoming an important technology in the field of computer vision and artificial intelligence, and datasets generated by drones are used as training data by capturing various scenes from different altitudes, distances, and angles, labeling the location, size, and shape of objects. This can be used to train object detection models, which can be used in a variety of fields, including automated vehicles, natural disaster monitoring, perimeter surveillance and security, and construction infrastructure management. However, there are difficulties in the process of creating datasets using actual drones, such as high cost, unstable dataset creation environment, and manual data labeling. Therefore, this study aimed to reduce the cost of dataset generation, provide a stable data generation environment, repeatable experiments, ease of data labeling, and simulate various environments, and achieved the above goals using Unreal Engine 5 and the open source simulator plugin AirSim.
게임 내 어뷰징 플레이어 탐지 (Detecting Griefers in the Game)
To Be Continue ...
의료 데이터 합성 연구 (The Study on Synthesis of Medical data)
To Be Continue ...
수액 낙하 탐지 (Detecting on Fall of Hospital Fluid)
To Be Continue ...
지능형 융합 보안 시뮬레이션 (Convergence Security Service Simulator)
(23-여름)계층 구조 디지털 포렌식 기반 메타버스 내 범죄 회피 및 증거 기록 방안 분석
최근 메타버스의 발전으로 다양한 메타버스 플랫폼들은 아바타를 활용한 소통 및 여가를 즐기기 위한 장으로 사용되고 있다. 그러나 아직 메타버스 내에서 범죄가 발생했을 경우 이를 대처할 법적 방안이 따로 마련되어 있지 않아 이를 처벌하는 데에 어려움을 겪는 현실이다. 따라서 본 연구에서는 사용자들이 범죄의 위험에 노출될 가능성을 사전에 줄이고 범죄가 발생했을 때 사용자들에게 유효한 증거를 제공하여 사용자를 보호할 수 있도록 사용자의 아티팩트를 분석 및 수집해 범죄 증거를 기록하는 방법을 연구했다. 연구 결과 각 계층에서 수집한 아티팩트는 실제 범죄가 발생했을 때 증거로 활용할 수 있으며 이를 통해 메타버스 내 범죄에 대한 예방과 단속을 강화할 수 있는 기반을 마련할 수 있을 것으로 기대해볼 수 있다.
With the recent development of the metaverse, various metaverse platforms are being used as a place for communication and leisure using avatars. However, there are still no legal measures in place to deal with crimes committed in the metaverse, making it difficult to punish them. Therefore, in this study, we studied how to record crime evidence by analyzing and collecting user artifacts to reduce the possibility of users being exposed to the risk of crime in advance and protect users by providing valid evidence to users when a crime occurs. As a result of the study, the artifacts collected from each layer can be used as evidence when an actual crime occurs, and it can be expected that this will lay the foundation for strengthening the prevention and enforcement of crimes in the metaverse.
딥러닝 기반 어셈블리 수열 오류 정정 (Correction of Errors in Aassembly Sequence based on Deep Learning)
To Be Continue ...
웹기반 시큐어코딩 교육 컨텐츠 (The Education Contents of Secure-coding based on Web)
(23-여름)웹 기반 시큐어코딩 교육을 위한 보안약점 시나리오 연구 (NULL Pointer 역참조)
웹 어플리케이션에서 발생할 수 있는 보안 약점에 대해 설명하고, 그 중 NULL Pointer 역참조라는 보안 약점에 대해서 소개하고, 위험성과 공격 방법을 설명한다. 그리고, 실제로 발생할 수 있는 NULL Pointer 역참조 보안약점에 대한 시나리오를 4가지 소개하고, 그 중 2가지 시나리오를 선택하여 구현을 통해 보안 약점에 취약하도록 하여 공격이 어떻게 시도 될 수 있는지 보이고, 시큐어 코딩을 적용하여 공격을 방지할 수 있다는 것을 보인다.
Describe the security weaknesses that can occur in web applications, introduce the security weakness called NULL Pointer Dereference, and explain the risk and attack methods. Then, it introduces four scenarios of the NULL Pointer Dereference security weakness that can actually occur, and selects two of them to show how an attack can be attempted by making the implementation vulnerable to the security weakness, and shows that the attack can be prevented by applying secure coding.
로봇을 이용한 프로세스 자동 (Robotic Process Automation)
(23-01)특정 사무 프로세스 자동화를 위한 UI/UX 개선 연구
기존에 구현된 졸업 요건 판정기는 인터페이스를 통해 어떤 행동을 해야 하는지 명확하지 않고, 중요한 기능이 강조되지 못하고 간결성이 떨어진다. 이러한 점들을 개선하기 위해 사용자가 입력해야 하는 정보를 단순화하였고, 입력을 위한 가이드라인을 제공한다. 또한 사용자에게 제공하는 정보를 필터링하여 사용자에게 필요한 정보만 제공하도록 추가적인 기능을 구현하였다. 구현한 인터페이스의 평가 결과, 직관성, 유효성, 유연성, 단순성, 가시성, 일관성과 같은 평가 요소들을 만족하였다. 사용자 중심적인 사용자 인터페이스를 통해 졸업 사정을 판정 받고자 하는 학생들에게 좋은 사용자 경험을 제공할 수 있을 것이다.
As currently implemented, the Graduation Requirements Calculator is unclear about what to do with the interface, de-emphasizes important features, and lacks conciseness. To improve this, we simplified the information the user needs to enter and provided guidelines for input. We also implemented additional features to filter the information presented to the user so that they only see what they need. We evaluated the implemented interface and found that it satisfied the following evaluation factors: intuitiveness, validity, flexibility, simplicity, visibility, and consistency. The user-centered user interface will provide a good user experience for students who want to determine their graduation status.
암호학개론 (Introduction to Cryptography)
대칭키 블록 암호방식, 공개키 암호시스템, 디지털 사인 방식 및 zero-knowledge에 관한 주제를 다룬다
Topics about the essential core areas of cryptography will be covered: Foundations, Symmetric-key block cipher, Public-key cryptosystems, Signature schemes, Zero-knowledge proofs.
차세대보안기법 (Next-generation Security Techniques)
종래의 방어적 보안 개념에서 탈피한 공격적 보안기술, 인체 정보를 기반으로 한 외부 침입탐지 시스템 등 앞으로의 보안 기법이라고 볼 수 있는 새로운 보안 기법을 소개하고 이들의 응용 방안을 고찰한다.
New security methods such as aggressive techonology away from conventional passive one and intrusion detecton system based on human body information are introduced.
분산처리시스템 (Distributed Processing System)
분산 컴퓨팅에 관한 핵심 주제로서 계산모델, 클럭동기화, 선출, 상호배제, 합의 및 복구에 관한 주제를 다룬다.
Core elements of distributed computing systems will be covered: Foundations, Model of computation, Clock synchronization, Election, Mutual exclusion, Consensus and Recovery.
클라우드컴퓨팅 (Cloud Computing)
클라우드 컴퓨팅은 언제 어디서든 사용자가 원할 때 컴퓨팅 자원 및 데이터를 제공하고 사용한 컴퓨팅 자원 만큼만 지불하는 인터넷 기반의 컴퓨팅으로 컴퓨팅 자원을 빠르게 프로비저닝하고 릴리즈할 수 있는 특징과 사용자가 요구가 갑작스럽게 증가하더라도 유연하게 확장가능하다는 특징을 가진다. 이 교과에서는 클라우드 컴퓨팅에서 어떠한 컴퓨터 기술들이 접목되어 어떻게 이러한 일들이 가능한지 알아보고, 클라우드 컴퓨팅의 설계와 구현을 할 수 있는 능력을 함양하는 것을 목표로 한다.
Cloud computing is an Internet-based computing that provides computing resources and data, which can be rapidly provisioned and released with minimal management efforts, to computers and other devices on demand in a pay-per-use way. The objective of this course is to give students basic skills in designing and implementing cloud computing systems.