DevFest 2021 Ewha Womans University : Secure Coding Guideline

Overview

DevFest 2021 : Secure Coding Guideline

GDSC EWHA | 보안과 함께 하는 개발, 시큐어코딩 하루만에 배워 보기


Table of Contents


✔️ SQL Injection : SQL 삽입

가장 빈번하게 일어나는 웹 해킹 공격
웹 어플리케이션 사용자 입력값필터링이스케이프가 제대로 적용돼 있지 않을 때 발생
공격자가 조작된 SQL 질의문을 삽입해 웹 서버 DB 정보 열람/유출/조작함 🚀 Learn More

JAVA C
📖 📖
외부 입력 받아 쿼리 생성 외부 입력 받아 쿼리 생성
ID와 Password 추출해 쿼리 생성 ID와 Password 추출해 쿼리 생성
Blind SQL injection 공격 구문 .

✔️ SQL Injection : JDO

Java Data Objects로, 적절한 검사 과정 없이 의도에 벗어난 질의문 생성을 위한 문자열을 전달해 질의문 의미 왜곡시키거나 구조 변경해 임의의 질의 명령어 수행 🚀 Learn More

JAVA
📖
Parameterize Query 1
Parameterize Query 2

✔️ SQL Injection : Persistence

J2EE Persistence API 사용하는 응용프로그램에서 외부의 입력을 검증 없이 질의문으로 사용하는 경우, 역시 프로그래머가 의도하지 않았던 임의의 query 명령어 수행하는 공격 🚀 Learn More

JAVA
📖
입력값 검증
문자열 검증 함수

✔️ SQL Injection : mybatis Data Map

외부에서 입력된 값쿼리문의 인자값과 쿼리 명령어에 연결되는 문자열로 사용하는 경우 공격자 의도에서 벗어난 문자열 전달해 쿼리문 의미 왜곡 또는 구조 변경해 임의의 데이터베이스 명령어 수행 가능 🚀 Learn More

JAVA
📖
질의문 설정 파일 (XML)
사용자 소유 정보 가져오기

✔️ XSS 공격 (크로스 사이드 스크립트)

웹페이지에서 임의의 스크립트를 실행시켜 사용자 세션을 가로채거나 웹 사이트 변조, 악의적인 컨텐츠 삽입, 피싱 등을 시도하는 공격 🚀 Learn More

JAVA C
📖 📖
안전하지 않은 Java 코드 안전하지 않은 C 코드
Java 시큐어 코드 C 시큐어 코드

✔️ Xquery 삽입

악의적인 쿼리가 실행되어 허가되지 않은 데이터를 조회하거나 인증 절차를 우회할 수 있게 되어 위협이 될 수 있다. 🚀 Learn More

JAVA
📖
외부 입력값을 executeQuery 사용 질의 생성 문자열 인자 생성
특정 아이템 가격 가져오기

✔️ 사용자 중요 정보 평문 저장

데이터를 암호화하지 않은 평문으로 통신 채널을 통해 송수신할 경우, 인증받지 않은 사용자에 의해 발생한 스니핑을 통해 보안과 관련된 중요한 데이터가 노출될 수 있습니다. 🚀 Learn More

JAVA ANDROID Java C C#
📖 📖 📖 📖

✔️ 패스워드 평문 저장

패스워드를 비롯한 중요 데이터암호화되지 않은 평문 텍스트의 형태로 저장되면 암호가 외부에 직접 드러날 수 있어 기밀성이 보장되지 못하고 암호가 저장된 파일에 접근할 수 있는 사람이면 누구나 암호를 알아낼 수 있어 무결성 또한 보장되지 못합니다. 🚀 Learn More

JAVA C
📖 📖
패스워드 정보 평문으로 DB 저장 취약점 패스워드를 파일에서 읽어 직접 DB 연결 취약점
패스워드 입력 미검증 취약점

✔️ 오류 메시지를 통한 정보 도출 방지

과도하게 많은 정보나 민감한 정보를 포함하는 에러 메시지를 출력하면, 공격자가 이를 악용할 수 있기 때문에 보안 취약점이 발생할 수 있습니다. 🚀 Learn More

JAVA C
📖 📖
스택 트레이스 출력 취약점 환경 변수 정보 출력 취약점
예외 내용 출력 취약점 발생 위치 정보 출력 취약점
에러 페이지 redirect 취약점

✔️ 쿠키를 통한 정보 노출

개인 정보나 인증 정보 등이 하드 디스크의 영속 쿠키에 저장된다면 개인 정보 유출 등의 문제로 시스템이 취약해지는 문제가 발생합니다. 🚀 Learn More

JAVA
📖
쿠키 유효 기간 설정 시 사용자 미검증 취약점
쿠키 유효 기간 상숫값 설정 취약점

GDSC EWHA TIMELINE

시간 주제 강연자
19:00~19:10 오프닝 & 개발에 바로 활용할 수 있는 Secure Coding Guideline 소개 GDSC EWHA
19:10~19:45 실 사례를 통해 알아보는 보안 개발의 필요성과 해결책 라도훈
스타트업 SERENDI
19:40~20:20 Secure Coding Guideline 이채영, 전세연
2020 소프트웨어 개발보안 경진대회 대상팀
20:20~21:00 안전하고 빠른 코드를 얻기 위한 우리의 몸부림(TDD, Code Converage Profile) 최원혁
(주)누리랩 대표 이사

Organizer

GDSC EWHA | 구민정 김소미 김윤서 배수현 윤하은 이은빈 장아연 장예서 하수민


Reference

행정안전부, 전자정부 SW 개발·운영자를 위한 소프트웨어 개발보안 가이드, 2019. 11

행정안전부, 전자정부 SW 개발·운영자를 위한 Java 시큐어코딩 가이드, 2012. 09

안전행정부, Android-Java 시큐어 코딩 가이드, 2011. 09

행정자치부, 한국 인터넷진흥원, 전자정부 SW 개발, 운영자를 위한 C 시큐어 코딩 가이드

XSS 공격과 대응방안, 디지털정책연구 = The Journal of digital policy & management v.11 no.12, 2013년, pp.327 – 332, 홍성혁 (백석대학교, 정보통신학부 정보보호 전공)

크로스 사이트 스크립팅(XSS) 취약점에 대한 공격과 방어, 디지털융복합연구 = Journal of digital convergence v.13 no.2 , 2015년, pp.177 – 183, 최은정 (서울여자대학교 정보보호학과 )

Oracle Docs, Java(TM) EE 7 Specification APIs

Microsoft, Microsoft 기술 문서

한국인터넷진흥원(KISA), 암호알고리즘 소스코드

You might also like...
A simple, cheap, and somewhat secure USB Key for SSH authentication, costs $5

44Key A simple, cheap, and somewhat secure ed25519 USB Key for SSH authentication, costs $5 Hardware: https://oshwhub.com/44670/miniusbkey PC Softwa

Doom port for InfOS - the University of Edinburgh Informatics research operating system used in the UG3 OS course
Doom port for InfOS - the University of Edinburgh Informatics research operating system used in the UG3 OS course

Doom on InfOS InfOS is the Informatics research operating system, designed specifically for the UG3 Operating Systems course. This project aims to por

RoboMaster2021 Infantry Vision OpenSource Code of Foshan University
RoboMaster2021 Infantry Vision OpenSource Code of Foshan University

佛山科学技术学院醒狮战队2021赛季步兵视觉开源 致谢 首先感谢各高校开源代码为本套代码提供的参考,以及感谢2018、2019、2020赛季算法组师兄们的努力。秉承着开源精神,促进各战队间技术交流提升,我队决定本赛季开源本套代码,希望对其他战队提供一定的参考价值。 说明 本套代码是佛山科学技术学院醒

Final version of my dissertation project at the University of Birmingham as part of MSc. Computer Science degree.
Final version of my dissertation project at the University of Birmingham as part of MSc. Computer Science degree.

Unfair Edge: A Low-Level Manipulation of Game Memory with Bypassing VAC This repository hosts the code submitted as a dissertation project for MSc. Co

This is the demo project mainly for the BUU ( Beijing Union University ) about the hybrid robot.
This is the demo project mainly for the BUU ( Beijing Union University ) about the hybrid robot.

This is the demo project mainly for the BUU ( Beijing Union University ) about the hybrid robot. It contains the moving platform and robot arm in 7 freedom.

Ancient Northwestern University Dept. of Geological Sciences plotting software

nplot Ancient Northwestern University Dept. of Geological Sciences plotting software Consists of: library routines (libloc) Fortran-callable routine (

Repository for building and operating REVOLVER: An automatic protein purification system for gravity columns. Developed at the University of Toronto.
Repository for building and operating REVOLVER: An automatic protein purification system for gravity columns. Developed at the University of Toronto.

REVOLVER: An automated protein purification system This repository contains all the hardware and firmware files to build and operate REVOLVER: an auto

The official SuiteSparse library: a suite of sparse matrix algorithms authored or co-authored by Tim Davis, Texas A&M University

SuiteSparse: A Suite of Sparse matrix packages at http://suitesparse.com May 17, 2021. SuiteSparse VERSION 5.10.1 Now includes GraphBLAS, SLIP_LU, and

Final Project for OOP Course - University of Science, VNUHCM
Final Project for OOP Course - University of Science, VNUHCM

Bily Flower Shop This is our final project for OOP Course. Content: Try our app Build the source codes Demo About us Try our app You can download the

Owner
GDSC Ewha
Google Developer Student Clubs Ewha 공식 github입니다.
GDSC Ewha
This repo contains solutions to coding questions available online on coding platforms like - Codeforces, Codechef, URI Online Judge, and Hackerrank.

CPP_Soln This repo contains solutions to coding questions available online on coding platforms like - Codeforces, Codechef, URI Online Judge , LeetCod

Rijul Jain 3 Nov 1, 2021
Southwest University Lanqiao Cup Training Repository, April 2021

2021 Southwest University Lanqiao Cup Trainning Course Summary This repository is using for LanqiaoCup Competition on 18th, April, 2021 How to start W

西南大学ACM实验室 9 Apr 15, 2021
Examples for the "Introduction to programming" course given by me and @bzareva @ Faculty of Mathematics and Informatics, Sofia University (2021/22)

Теми от практикумите по "Увод в програмирането", зимен семестър 2021/2022, спец. "Информатика", група 5 Тема 1 (04.10.2021) : Променливи. Типове проме

null 6 May 4, 2022
This is official repository of the course Industrial Informatics LT, Year 2021/22, at University of Modena and Reggio Emilia, held at Fondazione Universitaria di Mantova

Industrial informatics LT - Mantova - 2021/22 This is official repository of the course Industrial Informatics LT, Year 2020/21, at University of Mode

High-Performance Real-Time Lab 4 Jun 27, 2022
The 2021 Programming League Contest (University of Malaya)

The 2021 Programming League Contest (University of Malaya) - Problem Repository Background of Programming League Contest Programming League is an annu

Amos Tan 8 Mar 5, 2022
A secure backup communication system. Doesn't use screens. Doesn't rely on cellular networks.

Secure Backup Communication Network (SEBCOM) A secure backup communication system. Doesn't rely on cellular networks. Doesn't use screens. What is it?

null 2 Sep 26, 2021
A secure authentication system written in modern javascript and C++ 17

A fully fledged authentication system written in modern JavaScript and C++ 17. Written with the MEVN stack (MySQL, Express.js, Vue.js, Node.js) by a pro leet h4x0r.

vmexit 21 Sep 8, 2022
🎨 A secure boot compatible in-memory UxTheme patcher

SecureUxTheme About SecureUxTheme is a software that removes signature verification of styles from Windows. Features No system file modifications No d

null 1.4k Sep 30, 2022
This is the Secure Software Development Project fork of Checked C

Checked C This is the Secure Software Development Project fork of Checked C. The Checked C extension was originally developed at Microsoft from 2016-2

Secure Software Development Project 5 Jun 13, 2022
Cryptographically Secure Pseudo-Random Number Generator via OS.

Cryptographically Secure Pseudo-Random Number Generator This uses the operating system's random number generation. If you're looking for a CSPRNG from

David Reid 8 Aug 23, 2022